I connected CS4270 to my ST32F446 nucleo board. Currently only I2C pins are connected, GND, AGND, all 3 power lines and address select pins. AD0,AD1 and AD2 are connected to GND. (the thing I don't understand is that datasheet says that 5 from 7 bits are foxed, so 3 address select pins don't make much sense to me.) Taking that to consideration I expect the device to be available under address 0x24, but I get NACT. I also tried I2C scanner without any success neither. I can't get any any communication to work with this IC.

  • \$\begingroup\$ Be careful reading instructions on I2C addresses. They are either expressed as 7 bits with a separate W (Write) bit, or as 8 bits inc. the W bit. That can often lead to addresses either double or half what you expect... is it available under 0x12? Or 0x48? \$\endgroup\$ Oct 18, 2020 at 20:35
  • \$\begingroup\$ The datasheet is very unclear about this. It has AD2 but it is not said to affect I2C address like AD1 and AD0 are. However, why do you think it is under address 0x24, as it definitely is not. At least the address in 8-bit notation starts with 9Xh, so write address might be 0x90 and read address 0x91, making up a 7-bit address 0x48. STM32 HAL uses 8-bit addresses so don't use 0x48. What I2C scanner you used, as many chips don't respond to unsolicited read requests. \$\endgroup\$
    – Justme
    Oct 18, 2020 at 20:44
  • \$\begingroup\$ I multiplied address by 2 using HAL functions. I use I2C scanner based on HAL_I2C_IsDeviceReady \$\endgroup\$
    – atomd
    Oct 18, 2020 at 20:53

1 Answer 1


Cirrus logic answered that it's silicon bug and that SPI works which is indeed a case. I hope it helps someone one day


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.