realtek: add RTL8231 chip detection
authorSander Vanheule <sander@svanheule.net>
Sat, 20 Nov 2021 19:11:34 +0000 (20:11 +0100)
committerStijn Tintel <stijn@linux-ipv6.be>
Thu, 17 Feb 2022 17:11:42 +0000 (19:11 +0200)
commita93dfff10e067c152d4872719ec7837fcd8c94a3
treed2796674d75a6c91906534995ff5d45f241b421b
parent44f7cfd760cc85355611a694a9b4cf04c5736845
realtek: add RTL8231 chip detection

When initialising the driver, check if the RTL8231 chip is actually
present at the specified address. If the READY_CODE value does not match
the expected value, return -ENXIO to fail probing.

This should help users to figure out which address an RTL8231 is
configured to use, if measuring pull-up/-down resistors is not an
option.

On an unsuccesful probe, the driver will log:
    [    0.795364] Probing RTL8231 GPIOs
    [    0.798978] rtl8231_init called, MDIO bus ID: 30
    [    0.804194] rtl8231-gpio rtl8231-gpio: no device found at bus address 30

When a device is found, only the first two lines will be logged:
    [    0.453698] Probing RTL8231 GPIOs
    [    0.457312] rtl8231_init called, MDIO bus ID: 31

Signed-off-by: Sander Vanheule <sander@svanheule.net>
Tested-by: Stijn Tintel <stijn@linux-ipv6.be>
target/linux/realtek/files-5.10/drivers/gpio/gpio-rtl8231.c