* [PATCH v4 1/1] arm64: dts: ti: k3-am62-wakeup: Configure ti-sysc for wkup_uart0
@ 2023-12-19 7:25 Tony Lindgren
2024-01-24 13:54 ` Markus Schneider-Pargmann
0 siblings, 1 reply; 4+ messages in thread
From: Tony Lindgren @ 2023-12-19 7:25 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: Dhruva Gole, Kevin Hilman, linux-arm-kernel, devicetree
The devices in the wkup domain are capable of waking up the system from
suspend. We can configure the wkup domain devices in a generic way using
the ti-sysc interconnect target module driver like we have done with the
earlier TI SoCs.
As ti-sysc manages the SYSCONFIG related registers independent of the
child hardware device, the wake-up configuration is also set even if
wkup_uart0 is reserved by sysfw.
The wkup_uart0 device has interconnect target module register mapping like
dra7 wkup uart. There is a 1 MB interconnect target range with one uart IP
block in the target module. The power domain and clock affects the whole
interconnect target module.
Note we change the functional clock name to follow the ti-sysc binding
and use "fck" instead of "fclk".
Tested-by: Dhruva Gole <d-gole@ti.com>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
Changes since v3:
- Use the first reg for the target module node name to avoid a
make W=1 dtbs warning as noted by Nishanth
Changes since v2:
- Fix node name for 8250 IP, it's at offset 0 from the target module
- Added Kevin's Reviewed-by from v2 as the node name change is mostly
cosmetic
Changes since v1:
- Added Tested-by from Dhruva
---
arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi | 33 ++++++++++++++++++----
1 file changed, 27 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
--- a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
@@ -5,6 +5,8 @@
* Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
*/
+#include <dt-bindings/bus/ti-sysc.h>
+
&cbass_wakeup {
wkup_conf: syscon@43000000 {
bootph-all;
@@ -21,14 +23,33 @@ chipid: chipid@14 {
};
};
- wkup_uart0: serial@2b300000 {
- compatible = "ti,am64-uart", "ti,am654-uart";
- reg = <0x00 0x2b300000 0x00 0x100>;
- interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
+ target-module@2b300050 {
+ compatible = "ti,sysc-omap2", "ti,sysc";
+ reg = <0 0x2b300050 0 0x4>,
+ <0 0x2b300054 0 0x4>,
+ <0 0x2b300058 0 0x4>;
+ reg-names = "rev", "sysc", "syss";
+ ti,sysc-mask = <(SYSC_OMAP2_ENAWAKEUP |
+ SYSC_OMAP2_SOFTRESET |
+ SYSC_OMAP2_AUTOIDLE)>;
+ ti,sysc-sidle = <SYSC_IDLE_FORCE>,
+ <SYSC_IDLE_NO>,
+ <SYSC_IDLE_SMART>,
+ <SYSC_IDLE_SMART_WKUP>;
+ ti,syss-mask = <1>;
power-domains = <&k3_pds 114 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 114 0>;
- clock-names = "fclk";
- status = "disabled";
+ clock-names = "fck";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0 0 0x2b300000 0x100000>;
+
+ wkup_uart0: serial@0 {
+ compatible = "ti,am64-uart", "ti,am654-uart";
+ reg = <0 0x100>;
+ interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
+ status = "disabled";
+ };
};
wkup_i2c0: i2c@2b200000 {
--
2.43.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH v4 1/1] arm64: dts: ti: k3-am62-wakeup: Configure ti-sysc for wkup_uart0
2023-12-19 7:25 [PATCH v4 1/1] arm64: dts: ti: k3-am62-wakeup: Configure ti-sysc for wkup_uart0 Tony Lindgren
@ 2024-01-24 13:54 ` Markus Schneider-Pargmann
2024-01-26 8:20 ` Tony Lindgren
0 siblings, 1 reply; 4+ messages in thread
From: Markus Schneider-Pargmann @ 2024-01-24 13:54 UTC (permalink / raw)
To: Tony Lindgren
Cc: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dhruva Gole, Kevin Hilman,
linux-arm-kernel, devicetree
Hi Tony,
On Tue, Dec 19, 2023 at 09:25:01AM +0200, Tony Lindgren wrote:
> The devices in the wkup domain are capable of waking up the system from
> suspend. We can configure the wkup domain devices in a generic way using
> the ti-sysc interconnect target module driver like we have done with the
> earlier TI SoCs.
>
> As ti-sysc manages the SYSCONFIG related registers independent of the
> child hardware device, the wake-up configuration is also set even if
> wkup_uart0 is reserved by sysfw.
>
> The wkup_uart0 device has interconnect target module register mapping like
> dra7 wkup uart. There is a 1 MB interconnect target range with one uart IP
> block in the target module. The power domain and clock affects the whole
> interconnect target module.
>
> Note we change the functional clock name to follow the ti-sysc binding
> and use "fck" instead of "fclk".
>
> Tested-by: Dhruva Gole <d-gole@ti.com>
> Reviewed-by: Kevin Hilman <khilman@baylibre.com>
> Signed-off-by: Tony Lindgren <tony@atomide.com>
I tested this patch on am62-lp-sk and required this additional property:
ti,no-reset-on-init;
I am not sure at the moment why a reset doesn't work. But with the given
property (so without reset) the wakeup on wkup_uart0 works as expected.
So if you include the above property:
Tested-by: Markus Schneider-Pargmann <msp@baylibre.com>
Best,
Markus
> ---
>
> Changes since v3:
>
> - Use the first reg for the target module node name to avoid a
> make W=1 dtbs warning as noted by Nishanth
>
> Changes since v2:
>
> - Fix node name for 8250 IP, it's at offset 0 from the target module
>
> - Added Kevin's Reviewed-by from v2 as the node name change is mostly
> cosmetic
>
> Changes since v1:
>
> - Added Tested-by from Dhruva
>
> ---
> arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi | 33 ++++++++++++++++++----
> 1 file changed, 27 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
> --- a/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62-wakeup.dtsi
> @@ -5,6 +5,8 @@
> * Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
> */
>
> +#include <dt-bindings/bus/ti-sysc.h>
> +
> &cbass_wakeup {
> wkup_conf: syscon@43000000 {
> bootph-all;
> @@ -21,14 +23,33 @@ chipid: chipid@14 {
> };
> };
>
> - wkup_uart0: serial@2b300000 {
> - compatible = "ti,am64-uart", "ti,am654-uart";
> - reg = <0x00 0x2b300000 0x00 0x100>;
> - interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
> + target-module@2b300050 {
> + compatible = "ti,sysc-omap2", "ti,sysc";
> + reg = <0 0x2b300050 0 0x4>,
> + <0 0x2b300054 0 0x4>,
> + <0 0x2b300058 0 0x4>;
> + reg-names = "rev", "sysc", "syss";
> + ti,sysc-mask = <(SYSC_OMAP2_ENAWAKEUP |
> + SYSC_OMAP2_SOFTRESET |
> + SYSC_OMAP2_AUTOIDLE)>;
> + ti,sysc-sidle = <SYSC_IDLE_FORCE>,
> + <SYSC_IDLE_NO>,
> + <SYSC_IDLE_SMART>,
> + <SYSC_IDLE_SMART_WKUP>;
> + ti,syss-mask = <1>;
> power-domains = <&k3_pds 114 TI_SCI_PD_EXCLUSIVE>;
> clocks = <&k3_clks 114 0>;
> - clock-names = "fclk";
> - status = "disabled";
> + clock-names = "fck";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0 0 0x2b300000 0x100000>;
> +
> + wkup_uart0: serial@0 {
> + compatible = "ti,am64-uart", "ti,am654-uart";
> + reg = <0 0x100>;
> + interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
> + status = "disabled";
> + };
> };
>
> wkup_i2c0: i2c@2b200000 {
> --
> 2.43.0
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH v4 1/1] arm64: dts: ti: k3-am62-wakeup: Configure ti-sysc for wkup_uart0
2024-01-24 13:54 ` Markus Schneider-Pargmann
@ 2024-01-26 8:20 ` Tony Lindgren
2024-02-06 9:12 ` Markus Schneider-Pargmann
0 siblings, 1 reply; 4+ messages in thread
From: Tony Lindgren @ 2024-01-26 8:20 UTC (permalink / raw)
To: Markus Schneider-Pargmann
Cc: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dhruva Gole, Kevin Hilman,
linux-arm-kernel, devicetree
* Markus Schneider-Pargmann <msp@baylibre.com> [240124 13:55]:
> I tested this patch on am62-lp-sk and required this additional property:
>
> ti,no-reset-on-init;
>
> I am not sure at the moment why a reset doesn't work. But with the given
> property (so without reset) the wakeup on wkup_uart0 works as expected.
OK. This might be some firmware related difference. Care to describe what
goes wrong so that can be added to the patch description?
Regards,
Tony
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v4 1/1] arm64: dts: ti: k3-am62-wakeup: Configure ti-sysc for wkup_uart0
2024-01-26 8:20 ` Tony Lindgren
@ 2024-02-06 9:12 ` Markus Schneider-Pargmann
0 siblings, 0 replies; 4+ messages in thread
From: Markus Schneider-Pargmann @ 2024-02-06 9:12 UTC (permalink / raw)
To: Tony Lindgren
Cc: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dhruva Gole, Kevin Hilman,
linux-arm-kernel, devicetree
Hi Tony,
On Fri, Jan 26, 2024 at 10:20:06AM +0200, Tony Lindgren wrote:
> * Markus Schneider-Pargmann <msp@baylibre.com> [240124 13:55]:
> > I tested this patch on am62-lp-sk and required this additional property:
> >
> > ti,no-reset-on-init;
> >
> > I am not sure at the moment why a reset doesn't work. But with the given
> > property (so without reset) the wakeup on wkup_uart0 works as expected.
>
> OK. This might be some firmware related difference. Care to describe what
> goes wrong so that can be added to the patch description?
I tested this patch on sk-am62-lp on the upstream kernel and on the
latest ti-sdk 6.1 kernel. With the ti-sdk 6.1 kernel I get mbox timeouts
if the driver resets the ti-sysc. If it doesn't reset it, everything
works on ti-sdk 6.1 as expected as well including wakeup from the
wkup_uart0.
Best,
Markus
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-02-06 10:15 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-19 7:25 [PATCH v4 1/1] arm64: dts: ti: k3-am62-wakeup: Configure ti-sysc for wkup_uart0 Tony Lindgren
2024-01-24 13:54 ` Markus Schneider-Pargmann
2024-01-26 8:20 ` Tony Lindgren
2024-02-06 9:12 ` Markus Schneider-Pargmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).