====== RTL8231 GPIO expander ====== The RTL8231 IC is a companion chip often used with RTL83xx SoCs to extend the number of available GPIOs or LED outputs. It can be controlled via SMI (I2C-like), MIIM, or as a shift register. It comes in an LQFP-48 package: |36 25| - +----------+ - 37 | | 24 | RTL8231 | 48 | o | 13 - +----------+ - |1 12| ===== Strapping pins ===== ^ Number ^ Name ^ Description ^ | 15 | SMI_DIS | Disable SMI/MIIM mode and run in shift-register mode if pulled high. | | 42 | MOD[0] | SMI/MIIM mode: pull high to run in MIIM mode, pull low for SMI (I2C) mode. | | 37 | ADDR[0] | **MIIM mode**: ADDR[4:0] indicates the device address \\ **SMI mode**: ADDR[2:0] indicates the three lowest bits of the device address. If ADDR[3] is pulled low, 8-bit register addresses are used, if it is pulled high 16-bit wide registers addresses are used. | | 38 | ADDR[1] | ::: | | 39 | ADDR[2] | ::: | | 40 | ADDR[3] | ::: | | 41 | ADDR[4] | ::: | ===== References ===== * [[https://github.com/libc0607/Realtek_switch_hacking/blob/files/RTL8231_Datasheet_1.2.pdf | Datasheet]]