Re: [PATCH 3/3] arm64: dts: ti: Add support for the AM62P5-SK
From: Vignesh Raghavendra
Date: Fri Aug 11 2023 - 11:26:15 EST
On 11/08/23 02:49, Andrew Davis wrote:
> On 8/9/23 11:53 PM, Vignesh Raghavendra wrote:
>> From: Bryan Brattlof <bb@xxxxxx>
>>
>> Add basic support for the AM62P5-SK platform with UART and ramdisk as
>
> We usually call the boards "SK-AM6xx", with the SK- first, assuming this
SK-AM62P-LP is the orderable part number but the silk screen reads AM62P
SK and so does the EEPROM Board_name field. So I am going just use that
in the bindings as well as file name similar have we have been naming so
far.
> board is named the same way you should fix that here and in the files.
> >> rootfs.
>>
>> Schematics is at https://www.ti.com/lit/zip/sprr487
>>
>> Signed-off-by: Bryan Brattlof <bb@xxxxxx>
>> Signed-off-by: Vignesh Raghavendra <vigneshr@xxxxxx>
>> ---
>> arch/arm64/boot/dts/ti/Makefile | 3 +
>> arch/arm64/boot/dts/ti/k3-am62p5-sk.dts | 169 ++++++++++++++++++++++++
>> 2 files changed, 172 insertions(+)
>> create mode 100644 arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
>>
>> diff --git a/arch/arm64/boot/dts/ti/Makefile
>> b/arch/arm64/boot/dts/ti/Makefile
>> index 437a3d7e8e3a..5a09cad74c44 100644
>> --- a/arch/arm64/boot/dts/ti/Makefile
>> +++ b/arch/arm64/boot/dts/ti/Makefile
>> @@ -23,6 +23,9 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62-lp-sk.dtb
>> # Boards with AM62Ax SoC
>> dtb-$(CONFIG_ARCH_K3) += k3-am62a7-sk.dtb
>> +# Boards with AM62Px SoC
>> +dtb-$(CONFIG_ARCH_K3) += k3-am62p5-sk.dtb
>> +
>> # Boards with AM64x SoC
>> dtb-$(CONFIG_ARCH_K3) += k3-am642-evm.dtb
>> dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb
>> diff --git a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
>> b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
>> new file mode 100644
>> index 000000000000..b0882211448e
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
>> @@ -0,0 +1,169 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +/*
>> + * Device Tree file for the AM62P5-SK
>> + * Copyright (C) 2023 Texas Instruments Incorporated -
>> https://www.ti.com/
>> + *
>> + * Schematics: https://www.ti.com/lit/zip/sprr487
>> + */
>> +
>> +/dts-v1/;
>> +
>> +#include "k3-am62p5.dtsi"
>> +
>> +/ {
>> + compatible = "ti,am62p5-sk", "ti,am62p5";
>> + model = "Texas Instruments AM62P5 SK";
>> +
>> + aliases {
>> + serial0 = &wkup_uart0;
>> + serial2 = &main_uart0;
>> + serial3 = &main_uart1;
>> + };
>> +
>> + chosen {
>> + stdout-path = "serial2:115200n8";
>
> You can set the path here directly to the node:
>
> stdout-path = &main_uart0;
>
> Then the default baud rate can be defined/selected in
> the node with:
>
> current-speed = <115200>;
>
Make sense...
>> + };
>> +
>> + memory@80000000 {
>> + /* 8G RAM */
>> + reg = <0x00000000 0x80000000 0x00000000 0x80000000>,
>> + <0x00000008 0x80000000 0x00000001 0x80000000>;
>> + device_type = "memory";
>> + bootph-pre-ram;
>> + };
>> +
>> + reserved-memory {
>> + #address-cells = <2>;
>> + #size-cells = <2>;
>> + ranges;
>> +
>> + secure_tfa_ddr: tfa@9e780000 {
>> + reg = <0x00 0x9e780000 0x00 0x80000>;
>> + alignment = <0x1000>;
>
> You cannot allocate from this memory, no need for alignment.
>
>> + no-map;
>> + };
>> +
>> + secure_ddr: optee@9e800000 {
>> + reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
>> + alignment = <0x1000>;
>
> Same.
>
>> + no-map;
>> + };
>> +
>> + wkup_r5fss0_core0_memory_region: r5f-dma-memory@9c900000 {
>> + compatible = "shared-dma-pool";
>> + reg = <0x00 0x9c900000 0x00 0x01e00000>;
>> + no-map;
>> + };
>> + };
>> +};
>> +
>> +&cbass_main {
>> + bootph-pre-ram;
>
> I'm thinking we will need this for any AM62P based board, should
> we bubble this up into the common .dtsi files? Same for most of the
> other instances at the end of this file.
will fill all the above. Thanks!
>
> Andrew
>
>> +};
>> +
>> +&main_pmx0 {
>> + status = "okay";
>> + bootph-pre-ram;
>> +
>> + main_uart0_pins_default: main-uart0-default-pins {
>> + bootph-pre-ram;
>> + pinctrl-single,pins = <
>> + AM62PX_IOPAD(0x1c8, PIN_INPUT, 0) /* (A22) UART0_RXD */
>> + AM62PX_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (B22) UART0_TXD */
>> + AM62PX_IOPAD(0x1d0, PIN_INPUT, 0) /* (A23) UART0_CTSn */
>> + AM62PX_IOPAD(0x1d4, PIN_OUTPUT, 0) /* (C22) UART0_RTSn */
>> + >;
>> + };
>> +
>> + main_uart1_pins_default: main-uart1-default-pins {
>> + bootph-pre-ram;
>> + pinctrl-single,pins = <
>> + AM62PX_IOPAD(0x194, PIN_INPUT, 2) /* (D25) MCASP0_AXR3 */
>> + AM62PX_IOPAD(0x198, PIN_OUTPUT, 2) /* (E25)
>> MCASP0_AXR2 */
>> + AM62PX_IOPAD(0x1ac, PIN_INPUT, 2) /* (G23) MCASP0_AFSR */
>> + AM62PX_IOPAD(0x1b0, PIN_OUTPUT, 2) /* (G20)
>> MCASP0_ACLKR */
>> + >;
>> + };
>> +};
>> +
>> +&main_timer0 {
>> + bootph-pre-ram;
>> +};
>> +
>> +&main_uart0 {
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&main_uart0_pins_default>;
>> + status = "okay";
>> + bootph-pre-ram;
>> +};
>> +
>> +&main_uart1 {
>> + /* Main UART1 is used by TIFS firmware */
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&main_uart1_pins_default>;
>> + status = "reserved";
>> + bootph-pre-ram;
>> +};
>> +
>> +&cbass_mcu {
>> + bootph-pre-ram;
>> +};
>> +
>> +&mcu_pmx0 {
>> + status = "okay";
>> + bootph-pre-ram;
>> +
>> + wkup_uart0_pins_default: wkup-uart0-default-pins {
>> + bootph-pre-ram;
>> + pinctrl-single,pins = <
>> + AM62PX_MCU_IOPAD(0x02c, PIN_INPUT, 0) /* (C7)
>> WKUP_UART0_CTSn */
>> + AM62PX_MCU_IOPAD(0x030, PIN_OUTPUT, 0) /* (C6)
>> WKUP_UART0_RTSn */
>> + AM62PX_MCU_IOPAD(0x024, PIN_INPUT, 0) /* (D8)
>> WKUP_UART0_RXD */
>> + AM62PX_MCU_IOPAD(0x028, PIN_OUTPUT, 0) /* (D7)
>> WKUP_UART0_TXD */
>> + >;
>> + };
>> +};
>> +
>> +&cbass_wakeup {
>> + bootph-pre-ram;
>> +};
>> +
>> +&wkup_uart0 {
>> + /* WKUP UART0 is used by DM firmware */
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&wkup_uart0_pins_default>;
>> + status = "reserved";
>> + bootph-pre-ram;
>> +};
>> +
>> +&wkup_conf {
>> + bootph-pre-ram;
>> +};
>> +
>> +&chipid {
>> + bootph-pre-ram;
>> +};
>> +
>> +&dmss {
>> + bootph-pre-ram;
>> +};
>> +
>> +&dmsc {
>> + bootph-pre-ram;
>> +};
>> +
>> +&k3_pds {
>> + bootph-pre-ram;
>> +};
>> +
>> +&k3_clks {
>> + bootph-pre-ram;
>> +};
>> +
>> +&k3_reset {
>> + bootph-pre-ram;
>> +};
>> +
>> +&secure_proxy_main {
>> + bootph-pre-ram;
>> +};
--
Regards
Vignesh