Re: [PATCHv4 1/6] arm64: dts: ti: Add bootph property to nodes at source for am62a
From: Bryan Brattlof
Date: Mon Jun 23 2025 - 10:47:06 EST
On June 23, 2025 thus sayeth Paresh Bhagat:
> Add bootph property directly into the original definitions of relevant
> nodes (e.g., power domains, USB controllers, and other peripherals)
> within their respective DTSI files (ex. main, mcu, and wakeup)i for
> am62a.
>
> By defining bootph in the nodes source definitions instead of appending
> it later in final DTS files, this change ensures that the property is
> inherently present wherever the nodes are reused across derived device
> trees.
>
> Signed-off-by: Paresh Bhagat <p-bhagat@xxxxxx>
> ---
> arch/arm64/boot/dts/ti/k3-am62a-main.dtsi | 15 +++++++++++++++
> arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi | 1 +
> arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi | 3 +++
> arch/arm64/boot/dts/ti/k3-am62a.dtsi | 3 +++
> 4 files changed, 22 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
> index 63e097ddf988..1b7fe4487475 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
> @@ -51,6 +51,7 @@ phy_gmii_sel: phy@4044 {
> compatible = "ti,am654-phy-gmii-sel";
> reg = <0x4044 0x8>;
> #phy-cells = <1>;
> + bootph-all;
> };
>
> epwm_tbclk: clock-controller@4130 {
> @@ -84,6 +85,7 @@ dmss: bus@48000000 {
> #size-cells = <2>;
> dma-ranges;
> ranges = <0x00 0x48000000 0x00 0x48000000 0x00 0x06000000>;
> + bootph-all;
>
> ti,sci-dev-id = <25>;
>
> @@ -96,6 +98,7 @@ secure_proxy_main: mailbox@4d000000 {
> #mbox-cells = <1>;
> interrupt-names = "rx_012";
> interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
> + bootph-all;
> };
>
> inta_main_dmss: interrupt-controller@48000000 {
> @@ -131,6 +134,7 @@ main_bcdma: dma-controller@485c0100 {
> ti,sci-rm-range-bchan = <0x20>; /* BLOCK_COPY_CHAN */
> ti,sci-rm-range-rchan = <0x21>; /* SPLIT_TR_RX_CHAN */
> ti,sci-rm-range-tchan = <0x22>; /* SPLIT_TR_TX_CHAN */
> + bootph-all;
> };
>
> main_pktdma: dma-controller@485c0000 {
> @@ -167,6 +171,7 @@ main_pktdma: dma-controller@485c0000 {
> <0x2c>, /* FLOW_CPSW_RX_CHAN */
> <0x2e>, /* FLOW_SAUL_RX_0/1_CHAN */
> <0x32>; /* FLOW_SAUL_RX_2/3_CHAN */
> + bootph-all;
> };
> };
>
> @@ -216,20 +221,24 @@ dmsc: system-controller@44043000 {
> mbox-names = "rx", "tx";
> mboxes = <&secure_proxy_main 12>,
> <&secure_proxy_main 13>;
> + bootph-all;
>
> k3_pds: power-controller {
> compatible = "ti,sci-pm-domain";
> #power-domain-cells = <2>;
> + bootph-all;
> };
>
> k3_clks: clock-controller {
> compatible = "ti,k2g-sci-clk";
> #clock-cells = <2>;
> + bootph-all;
> };
>
> k3_reset: reset-controller {
> compatible = "ti,sci-reset";
> #reset-cells = <2>;
> + bootph-all;
> };
> };
>
> @@ -254,6 +263,7 @@ secure_proxy_sa3: mailbox@43600000 {
> * firmware on non-MPU processors
> */
> status = "disabled";
> + bootph-all;
> };
>
> main_pmx0: pinctrl@f4000 {
> @@ -262,6 +272,7 @@ main_pmx0: pinctrl@f4000 {
> #pinctrl-cells = <1>;
> pinctrl-single,register-width = <32>;
> pinctrl-single,function-mask = <0xffffffff>;
> + bootph-all;
> };
>
> main_esm: esm@420000 {
> @@ -282,6 +293,7 @@ main_timer0: timer@2400000 {
> assigned-clock-parents = <&k3_clks 36 3>;
> power-domains = <&k3_pds 36 TI_SCI_PD_EXCLUSIVE>;
> ti,timer-pwm;
> + bootph-all;
> };
>
> main_timer1: timer@2410000 {
> @@ -653,6 +665,7 @@ usb0: usb@31000000 {
> dr_mode = "otg";
> snps,usb2-gadget-lpm-disable;
> snps,usb2-lpm-disable;
> + bootph-all;
> };
> };
>
> @@ -745,6 +758,7 @@ cpsw_port1: port@1 {
> phys = <&phy_gmii_sel 1>;
> mac-address = [00 00 00 00 00 00];
> ti,syscon-efuse = <&cpsw_mac_syscon 0x0>;
> + bootph-all;
> };
>
> cpsw_port2: port@2 {
> @@ -764,6 +778,7 @@ cpsw3g_mdio: mdio@f00 {
> clocks = <&k3_clks 13 0>;
> clock-names = "fck";
> bus_freq = <1000000>;
> + bootph-all;
> };
>
> cpts@3d000 {
> diff --git a/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi
> index ee961ced7208..df4aa131097f 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62a-mcu.dtsi
> @@ -12,6 +12,7 @@ mcu_pmx0: pinctrl@4084000 {
> #pinctrl-cells = <1>;
> pinctrl-single,register-width = <32>;
> pinctrl-single,function-mask = <0xffffffff>;
> + bootph-all;
> };
>
> mcu_esm: esm@4100000 {
> diff --git a/arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi
> index 259ae6ebbfb5..86aae252385c 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62a-wakeup.dtsi
> @@ -13,10 +13,12 @@ wkup_conf: bus@43000000 {
> #address-cells = <1>;
> #size-cells = <1>;
> ranges = <0x00 0x00 0x43000000 0x20000>;
> + bootph-all;
>
> chipid: chipid@14 {
> compatible = "ti,am654-chipid";
> reg = <0x14 0x4>;
> + bootph-all;
> };
>
> opp_efuse_table: syscon@18 {
> @@ -67,6 +69,7 @@ wkup_uart0: serial@0 {
> reg = <0 0x100>;
> interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
> status = "disabled";
> + bootph-pre-ram;
> };
> };
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62a.dtsi b/arch/arm64/boot/dts/ti/k3-am62a.dtsi
> index 4d79b3e9486a..54eab2c93eff 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62a.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62a.dtsi
> @@ -50,6 +50,7 @@ cbass_main: bus@f0000 {
> compatible = "simple-bus";
> #address-cells = <2>;
> #size-cells = <2>;
> + bootph-all;
We only need to add the bootph-* properties to the leaf nodes. U-Boot is
smart enough to propagate these properties all the way to the root when
it's pruning the device tree for the bootloaders.
~Bryan