[PATCH v4 1/1] arm64: dts: ti: k3-am62-wakeup: Configure ti-sysc for wkup_uart0
Markus Schneider-Pargmann
msp at baylibre.com
Wed Jan 24 05:54:57 PST 2024
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 at ti.com>
> Reviewed-by: Kevin Hilman <khilman at baylibre.com>
> Signed-off-by: Tony Lindgren <tony at 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 at 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 at 43000000 {
> bootph-all;
> @@ -21,14 +23,33 @@ chipid: chipid at 14 {
> };
> };
>
> - wkup_uart0: serial at 2b300000 {
> - compatible = "ti,am64-uart", "ti,am654-uart";
> - reg = <0x00 0x2b300000 0x00 0x100>;
> - interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
> + target-module at 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 at 0 {
> + compatible = "ti,am64-uart", "ti,am654-uart";
> + reg = <0 0x100>;
> + interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
> + status = "disabled";
> + };
> };
>
> wkup_i2c0: i2c at 2b200000 {
> --
> 2.43.0
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
More information about the linux-arm-kernel
mailing list