* [PATCH 0/2] support for RTL9607C GPIO Controller
@ 2026-03-05 16:11 Rustam Adilov
2026-03-05 16:11 ` [PATCH 1/2] dt-bindings: gpio: realtek-otto: add rtl9607 compatible Rustam Adilov
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Rustam Adilov @ 2026-03-05 16:11 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Sander Vanheule,
Bert Vermeulen, linux-gpio, devicetree, linux-kernel
Cc: Rustam Adilov
This patch series adds support for the GPIO controller found in
RTL9607C SoC family of MIPS CPUs.
The GPIO controller on this SoC has a reversed port order, the same as in
RTL930x but without CPU affinity settings.
Rustam Adilov (2):
dt-bindings: gpio: realtek-otto: add rtl9607 compatible
gpio: realtek-otto: add rtl9607 support
Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml | 1 +
drivers/gpio/gpio-realtek-otto.c | 4 ++++
2 files changed, 5 insertions(+)
--
2.53.0
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/2] dt-bindings: gpio: realtek-otto: add rtl9607 compatible
2026-03-05 16:11 [PATCH 0/2] support for RTL9607C GPIO Controller Rustam Adilov
@ 2026-03-05 16:11 ` Rustam Adilov
2026-03-05 18:59 ` Sander Vanheule
2026-03-08 23:50 ` Linus Walleij
2026-03-05 16:11 ` [PATCH 2/2] gpio: realtek-otto: add rtl9607 support Rustam Adilov
2026-03-10 9:10 ` [PATCH 0/2] support for RTL9607C GPIO Controller Bartosz Golaszewski
2 siblings, 2 replies; 10+ messages in thread
From: Rustam Adilov @ 2026-03-05 16:11 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Sander Vanheule,
Bert Vermeulen, linux-gpio, devicetree, linux-kernel
Cc: Rustam Adilov
Add the "realtek,rtl9607-gpio" compatible for GPIO nodes
on the RTL9607C SoC series.
Signed-off-by: Rustam Adilov <adilov@disroot.org>
---
Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml b/Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml
index 728099c65824..b18f8f0ca0ae 100644
--- a/Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml
+++ b/Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml
@@ -30,6 +30,7 @@ properties:
- realtek,rtl8390-gpio
- realtek,rtl9300-gpio
- realtek,rtl9310-gpio
+ - realtek,rtl9607-gpio
- const: realtek,otto-gpio
reg: true
--
2.53.0
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/2] gpio: realtek-otto: add rtl9607 support
2026-03-05 16:11 [PATCH 0/2] support for RTL9607C GPIO Controller Rustam Adilov
2026-03-05 16:11 ` [PATCH 1/2] dt-bindings: gpio: realtek-otto: add rtl9607 compatible Rustam Adilov
@ 2026-03-05 16:11 ` Rustam Adilov
2026-03-05 19:04 ` Sander Vanheule
2026-03-10 9:10 ` [PATCH 0/2] support for RTL9607C GPIO Controller Bartosz Golaszewski
2 siblings, 1 reply; 10+ messages in thread
From: Rustam Adilov @ 2026-03-05 16:11 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Sander Vanheule,
Bert Vermeulen, linux-gpio, devicetree, linux-kernel
Cc: Rustam Adilov
The RTL9607C SoC has support for 3 GPIO banks with 32 GPIOs each and
the port order is reversed just like in RTL930x.
Signed-off-by: Rustam Adilov <adilov@disroot.org>
---
drivers/gpio/gpio-realtek-otto.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/gpio/gpio-realtek-otto.c b/drivers/gpio/gpio-realtek-otto.c
index 4cf91528f547..5e3152c2e51a 100644
--- a/drivers/gpio/gpio-realtek-otto.c
+++ b/drivers/gpio/gpio-realtek-otto.c
@@ -351,6 +351,10 @@ static const struct of_device_id realtek_gpio_of_match[] = {
{
.compatible = "realtek,rtl9310-gpio",
},
+ {
+ .compatible = "realtek,rtl9607-gpio",
+ .data = (void *)GPIO_PORTS_REVERSED,
+ },
{}
};
MODULE_DEVICE_TABLE(of, realtek_gpio_of_match);
--
2.53.0
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/2] dt-bindings: gpio: realtek-otto: add rtl9607 compatible
2026-03-05 16:11 ` [PATCH 1/2] dt-bindings: gpio: realtek-otto: add rtl9607 compatible Rustam Adilov
@ 2026-03-05 18:59 ` Sander Vanheule
2026-03-08 23:50 ` Linus Walleij
1 sibling, 0 replies; 10+ messages in thread
From: Sander Vanheule @ 2026-03-05 18:59 UTC (permalink / raw)
To: Rustam Adilov, Linus Walleij, Bartosz Golaszewski, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bert Vermeulen, linux-gpio,
devicetree, linux-kernel
On Thu, 2026-03-05 at 21:11 +0500, Rustam Adilov wrote:
> Add the "realtek,rtl9607-gpio" compatible for GPIO nodes
> on the RTL9607C SoC series.
>
> Signed-off-by: Rustam Adilov <adilov@disroot.org>
> ---
> Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml
> b/Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml
> index 728099c65824..b18f8f0ca0ae 100644
> --- a/Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml
> +++ b/Documentation/devicetree/bindings/gpio/realtek,otto-gpio.yaml
> @@ -30,6 +30,7 @@ properties:
> - realtek,rtl8390-gpio
> - realtek,rtl9300-gpio
> - realtek,rtl9310-gpio
> + - realtek,rtl9607-gpio
> - const: realtek,otto-gpio
>
> reg: true
Reviewed-by: Sander Vanheule <sander@svanheule.net>
Best,
Sander
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] gpio: realtek-otto: add rtl9607 support
2026-03-05 16:11 ` [PATCH 2/2] gpio: realtek-otto: add rtl9607 support Rustam Adilov
@ 2026-03-05 19:04 ` Sander Vanheule
2026-03-05 19:54 ` adilov
0 siblings, 1 reply; 10+ messages in thread
From: Sander Vanheule @ 2026-03-05 19:04 UTC (permalink / raw)
To: Rustam Adilov, Linus Walleij, Bartosz Golaszewski, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bert Vermeulen, linux-gpio,
devicetree, linux-kernel
Hi,
On Thu, 2026-03-05 at 21:11 +0500, Rustam Adilov wrote:
> The RTL9607C SoC has support for 3 GPIO banks with 32 GPIOs each and
> the port order is reversed just like in RTL930x.
>
> Signed-off-by: Rustam Adilov <adilov@disroot.org>
> ---
> drivers/gpio/gpio-realtek-otto.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/gpio/gpio-realtek-otto.c b/drivers/gpio/gpio-realtek-
> otto.c
> index 4cf91528f547..5e3152c2e51a 100644
> --- a/drivers/gpio/gpio-realtek-otto.c
> +++ b/drivers/gpio/gpio-realtek-otto.c
> @@ -351,6 +351,10 @@ static const struct of_device_id realtek_gpio_of_match[]
> = {
> {
> .compatible = "realtek,rtl9310-gpio",
> },
> + {
> + .compatible = "realtek,rtl9607-gpio",
> + .data = (void *)GPIO_PORTS_REVERSED,
> + },
> {}
> };
> MODULE_DEVICE_TABLE(of, realtek_gpio_of_match);
If I'm not mistaken, this SoC has a MIPS InterAptiv CPU like the RTL931x SoC
series. Were you able to validate that the interrupts are functioning as
expected?
Best,
Sander
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] gpio: realtek-otto: add rtl9607 support
2026-03-05 19:04 ` Sander Vanheule
@ 2026-03-05 19:54 ` adilov
2026-03-05 21:49 ` Sander Vanheule
0 siblings, 1 reply; 10+ messages in thread
From: adilov @ 2026-03-05 19:54 UTC (permalink / raw)
To: Sander Vanheule
Cc: Linus Walleij, Bartosz Golaszewski, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bert Vermeulen, linux-gpio,
devicetree, linux-kernel
On 2026-03-05 19:04, Sander Vanheule wrote:
> Hi,
>
> On Thu, 2026-03-05 at 21:11 +0500, Rustam Adilov wrote:
>> The RTL9607C SoC has support for 3 GPIO banks with 32 GPIOs each and
>> the port order is reversed just like in RTL930x.
>>
>> Signed-off-by: Rustam Adilov <adilov@disroot.org>
>> ---
>> drivers/gpio/gpio-realtek-otto.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/gpio/gpio-realtek-otto.c
>> b/drivers/gpio/gpio-realtek-
>> otto.c
>> index 4cf91528f547..5e3152c2e51a 100644
>> --- a/drivers/gpio/gpio-realtek-otto.c
>> +++ b/drivers/gpio/gpio-realtek-otto.c
>> @@ -351,6 +351,10 @@ static const struct of_device_id
>> realtek_gpio_of_match[]
>> = {
>> {
>> .compatible = "realtek,rtl9310-gpio",
>> },
>> + {
>> + .compatible = "realtek,rtl9607-gpio",
>> + .data = (void *)GPIO_PORTS_REVERSED,
>> + },
>> {}
>> };
>> MODULE_DEVICE_TABLE(of, realtek_gpio_of_match);
>
> If I'm not mistaken, this SoC has a MIPS InterAptiv CPU like the
> RTL931x SoC
> series. Were you able to validate that the interrupts are functioning
> as
> expected?
>
> Best,
> Sander
Hi Sander,
Yes, this is correct. I played around with gpio-keys in OpenWrt (though
it
has its own gpio-button-hotplug but it should not change things) and can
verify that button presses and releases are working. I think this should
confirm that interrupts are functional.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] gpio: realtek-otto: add rtl9607 support
2026-03-05 19:54 ` adilov
@ 2026-03-05 21:49 ` Sander Vanheule
2026-03-06 17:39 ` Rustam Adilov
0 siblings, 1 reply; 10+ messages in thread
From: Sander Vanheule @ 2026-03-05 21:49 UTC (permalink / raw)
To: adilov
Cc: Linus Walleij, Bartosz Golaszewski, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bert Vermeulen, linux-gpio,
devicetree, linux-kernel
Hi,
On Thu, 2026-03-05 at 19:54 +0000, adilov wrote:
> On 2026-03-05 19:04, Sander Vanheule wrote:
> > On Thu, 2026-03-05 at 21:11 +0500, Rustam Adilov wrote:,
> > > + {
> > > + .compatible = "realtek,rtl9607-gpio",
> > > + .data = (void *)GPIO_PORTS_REVERSED,
> > > + },
> > If I'm not mistaken, this SoC has a MIPS InterAptiv CPU like the
> > RTL931x SoC
> > series. Were you able to validate that the interrupts are functioning
> > as
> > expected?
> >
> > Best,
> > Sander
>
> Hi Sander,
>
> Yes, this is correct. I played around with gpio-keys in OpenWrt (though
> it
> has its own gpio-button-hotplug but it should not change things) and can
> verify that button presses and releases are working. I think this should
> confirm that interrupts are functional.
Thanks for the info. I was mainly wondering because there seemed to be some
initial confusion [1] about the port order. If you get the order wrong, you
would be getting spurious interrupts.
[1] https://forum.openwrt.org/t/240741/25
If the order is correct, you should see the key GPIO interrupt increase in
/proc/interrupts. So, assuming that's the case:
Reviewed-by: Sander Vanheule <sander@svanheule.net>
Best,
Sander
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] gpio: realtek-otto: add rtl9607 support
2026-03-05 21:49 ` Sander Vanheule
@ 2026-03-06 17:39 ` Rustam Adilov
0 siblings, 0 replies; 10+ messages in thread
From: Rustam Adilov @ 2026-03-06 17:39 UTC (permalink / raw)
To: Sander Vanheule
Cc: Linus Walleij, Bartosz Golaszewski, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Bert Vermeulen, linux-gpio,
devicetree, linux-kernel
On 2026-03-05 21:49, Sander Vanheule wrote:
> Hi,
>
> On Thu, 2026-03-05 at 19:54 +0000, adilov wrote:
>> On 2026-03-05 19:04, Sander Vanheule wrote:
>> > On Thu, 2026-03-05 at 21:11 +0500, Rustam Adilov wrote:,
>> > > + {
>> > > + .compatible = "realtek,rtl9607-gpio",
>> > > + .data = (void *)GPIO_PORTS_REVERSED,
>> > > + },
>> > If I'm not mistaken, this SoC has a MIPS InterAptiv CPU like the
>> > RTL931x SoC
>> > series. Were you able to validate that the interrupts are functioning
>> > as
>> > expected?
>> >
>> > Best,
>> > Sander
>>
>> Hi Sander,
>>
>> Yes, this is correct. I played around with gpio-keys in OpenWrt (though
>> it
>> has its own gpio-button-hotplug but it should not change things) and can
>> verify that button presses and releases are working. I think this should
>> confirm that interrupts are functional.
>
> Thanks for the info. I was mainly wondering because there seemed to be some
> initial confusion [1] about the port order. If you get the order wrong, you
> would be getting spurious interrupts.
>
> [1] https://forum.openwrt.org/t/240741/25
>
> If the order is correct, you should see the key GPIO interrupt increase in
> /proc/interrupts. So, assuming that's the case:
>
> Reviewed-by: Sander Vanheule <sander@svanheule.net>
>
> Best,
> Sander
Thankfully i had saved the testing image so i quickly booted up my board and
yes, i can see that interrupts increase in /proc/interrupts.
Before button press:
CPU0 CPU1 CPU2 CPU3
....
27: 0 0 0 0 realtek-otto-gpio 5 keys
28: 0 0 0 0 realtek-otto-gpio 2 keys
29: 0 0 0 0 realtek-otto-gpio 4 keys
After the button press:
27: 0 0 0 0 realtek-otto-gpio 5 keys
28: 2 0 0 0 realtek-otto-gpio 2 keys
29: 0 0 0 0 realtek-otto-gpio 4 keys
It did increase by 2 which i pressume is from press and release actions.
Thank you for the review.
Best,
Rustam
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/2] dt-bindings: gpio: realtek-otto: add rtl9607 compatible
2026-03-05 16:11 ` [PATCH 1/2] dt-bindings: gpio: realtek-otto: add rtl9607 compatible Rustam Adilov
2026-03-05 18:59 ` Sander Vanheule
@ 2026-03-08 23:50 ` Linus Walleij
1 sibling, 0 replies; 10+ messages in thread
From: Linus Walleij @ 2026-03-08 23:50 UTC (permalink / raw)
To: Rustam Adilov
Cc: Bartosz Golaszewski, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Sander Vanheule, Bert Vermeulen, linux-gpio,
devicetree, linux-kernel
On Thu, Mar 5, 2026 at 5:11 PM Rustam Adilov <adilov@disroot.org> wrote:
> Add the "realtek,rtl9607-gpio" compatible for GPIO nodes
> on the RTL9607C SoC series.
>
> Signed-off-by: Rustam Adilov <adilov@disroot.org>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/2] support for RTL9607C GPIO Controller
2026-03-05 16:11 [PATCH 0/2] support for RTL9607C GPIO Controller Rustam Adilov
2026-03-05 16:11 ` [PATCH 1/2] dt-bindings: gpio: realtek-otto: add rtl9607 compatible Rustam Adilov
2026-03-05 16:11 ` [PATCH 2/2] gpio: realtek-otto: add rtl9607 support Rustam Adilov
@ 2026-03-10 9:10 ` Bartosz Golaszewski
2 siblings, 0 replies; 10+ messages in thread
From: Bartosz Golaszewski @ 2026-03-10 9:10 UTC (permalink / raw)
To: Linus Walleij, Bartosz Golaszewski, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Sander Vanheule,
Bert Vermeulen, linux-gpio, devicetree, linux-kernel,
Rustam Adilov
Cc: Bartosz Golaszewski
On Thu, 05 Mar 2026 21:11:04 +0500, Rustam Adilov wrote:
> This patch series adds support for the GPIO controller found in
> RTL9607C SoC family of MIPS CPUs.
>
> The GPIO controller on this SoC has a reversed port order, the same as in
> RTL930x but without CPU affinity settings.
>
> Rustam Adilov (2):
> dt-bindings: gpio: realtek-otto: add rtl9607 compatible
> gpio: realtek-otto: add rtl9607 support
>
> [...]
Applied, thanks!
[1/2] dt-bindings: gpio: realtek-otto: add rtl9607 compatible
https://git.kernel.org/brgl/c/49944d6ab7eb951f2aefee69341c623e13434863
[2/2] gpio: realtek-otto: add rtl9607 support
https://git.kernel.org/brgl/c/8f0aecf2957e7dba78603544368846133bf6d22e
Best regards,
--
Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-03-10 9:10 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-03-05 16:11 [PATCH 0/2] support for RTL9607C GPIO Controller Rustam Adilov
2026-03-05 16:11 ` [PATCH 1/2] dt-bindings: gpio: realtek-otto: add rtl9607 compatible Rustam Adilov
2026-03-05 18:59 ` Sander Vanheule
2026-03-08 23:50 ` Linus Walleij
2026-03-05 16:11 ` [PATCH 2/2] gpio: realtek-otto: add rtl9607 support Rustam Adilov
2026-03-05 19:04 ` Sander Vanheule
2026-03-05 19:54 ` adilov
2026-03-05 21:49 ` Sander Vanheule
2026-03-06 17:39 ` Rustam Adilov
2026-03-10 9:10 ` [PATCH 0/2] support for RTL9607C GPIO Controller Bartosz Golaszewski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®