Hi Paul, Thanks for the patch. One comment below.
On Fri, 2021-09-17 at 16:11 +0300, Paul Fertser wrote: > GPIOs > 31 require special handling. This patch fixes both the > initialisation (defaulting to input) and direction get/set operations. > > Runtime-tested on D-Link DGS-1210-10P-R1 which has "reset" button on > GPIO[33]. > > Signed-off-by: Paul Fertser <fercer...@gmail.com> > --- > .../realtek/files-5.4/drivers/gpio/gpio-rtl8231.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/target/linux/realtek/files-5.4/drivers/gpio/gpio-rtl8231.c > b/target/linux/realtek/files-5.4/drivers/gpio/gpio-rtl8231.c > index 031f60f5307c..ddb8894663ec 100644 > --- a/target/linux/realtek/files-5.4/drivers/gpio/gpio-rtl8231.c > +++ b/target/linux/realtek/files-5.4/drivers/gpio/gpio-rtl8231.c > @@ -253,9 +252,10 @@ int rtl8231_init(struct rtl8231_gpios *gpios) > sw_w32_mask(3, 1, RTL838X_DMY_REG5); > } > > - /*Select GPIO functionality for pins 0-15, 16-31 and 32-37 */ > + /*Select GPIO functionality for pins 0-15, 16-31 and 32-34 */ > rtl8231_write(gpios, RTL8231_GPIO_PIN_SEL(0), 0xffff); > rtl8231_write(gpios, RTL8231_GPIO_PIN_SEL(16), 0xffff); > + rtl8231_write(gpios, RTL8231_GPIO_PIN_SEL(32), 7 | (7 << 5)); > Pins 35-36 cannot serve as LED output, but their GPIO direction can still be changed. Since the select bit for pins 35-36 should always read '1' (the GPIO pin function), this should probably be: rtl8231_write(gpios, RTL8231_GPIO_PIN_SEL(32), 0x1f | (0x1f << 5)); Best, Sander _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel