[PATCH] arm64: dts: ti: k3-am62-wakeup: Configure ti-sysc for wkup_uart0
Dhruva Gole
d-gole at ti.com
Tue Sep 12 08:38:19 PDT 2023
On Sep 12, 2023 at 14:12:15 +0300, 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".
>
> Cc: Dhruva Gole <d-gole at ti.com>
> Signed-off-by: Tony Lindgren <tony at atomide.com>
> ---
Have tested wakeup using wake_uart as I have pointed out in a previous patch for
ti-sysc, please find required patches here:
https://github.com/DhruvaG2000/v-linux/commits/v6.5-rc7_wkuart
Hence,
Tested-by: Dhruva Gole <d-gole at ti.com>
> 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 {
> compatible = "syscon", "simple-mfd";
> @@ -19,14 +21,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 2b300000 {
> + 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 2b300000 {
> + compatible = "ti,am64-uart", "ti,am654-uart";
> + reg = <0 0x100>;
> + interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
> + status = "disabled";
wondering if "reserved" makes more sense as it's currently being used by
SYSFW? I am okay with this disabled as well.
> + };
> };
>
> wkup_i2c0: i2c at 2b200000 {
> --
> 2.42.0
--
Best regards,
Dhruva Gole <d-gole at ti.com>
More information about the linux-arm-kernel
mailing list