blob: 73461f8f6c3eb888a11e8eebd2268d1b9d0aa11b [file] [log] [blame]
Dave Gerlach278e7ac2021-04-23 11:27:46 -05001// SPDX-License-Identifier: GPL-2.0
2/*
Roger Quadrosaf6e2a72023-08-05 11:14:40 +03003 * Copyright (C) 2020-2023 Texas Instruments Incorporated - https://www.ti.com/
Dave Gerlach278e7ac2021-04-23 11:27:46 -05004 */
5
Roger Quadrosaf6e2a72023-08-05 11:14:40 +03006#include "k3-am642-evm.dts"
Dave Gerlach3daecde2021-05-04 18:00:52 -05007#include "k3-am64-evm-ddr4-1600MTs.dtsi"
8#include "k3-am64-ddr.dtsi"
Dave Gerlach278e7ac2021-04-23 11:27:46 -05009
Roger Quadrosaf6e2a72023-08-05 11:14:40 +030010#include "k3-am642-evm-u-boot.dtsi"
Dave Gerlach278e7ac2021-04-23 11:27:46 -050011
Roger Quadrosaf6e2a72023-08-05 11:14:40 +030012/ {
Dave Gerlach278e7ac2021-04-23 11:27:46 -050013 aliases {
14 remoteproc0 = &sysctrler;
15 remoteproc1 = &a53_0;
16 };
17
Dave Gerlach278e7ac2021-04-23 11:27:46 -050018 a53_0: a53@0 {
19 compatible = "ti,am654-rproc";
20 reg = <0x00 0x00a90000 0x00 0x10>;
21 power-domains = <&k3_pds 61 TI_SCI_PD_EXCLUSIVE>,
Manorit Chawdhry99aceb82023-04-14 09:47:57 +053022 <&k3_pds 135 TI_SCI_PD_EXCLUSIVE>,
23 <&k3_pds 137 TI_SCI_PD_EXCLUSIVE>;
Dave Gerlach278e7ac2021-04-23 11:27:46 -050024 resets = <&k3_reset 135 0>;
25 clocks = <&k3_clks 61 0>;
26 assigned-clocks = <&k3_clks 61 0>, <&k3_clks 135 0>;
27 assigned-clock-parents = <&k3_clks 61 2>;
28 assigned-clock-rates = <200000000>, <1000000000>;
29 ti,sci = <&dmsc>;
30 ti,sci-proc-id = <32>;
31 ti,sci-host-id = <10>;
Simon Glassd3a98cb2023-02-13 08:56:33 -070032 bootph-pre-ram;
Dave Gerlach278e7ac2021-04-23 11:27:46 -050033 };
34
Dave Gerlach278e7ac2021-04-23 11:27:46 -050035 clk_200mhz: dummy-clock-200mhz {
36 compatible = "fixed-clock";
37 #clock-cells = <0>;
38 clock-frequency = <200000000>;
Simon Glassd3a98cb2023-02-13 08:56:33 -070039 bootph-pre-ram;
Dave Gerlach278e7ac2021-04-23 11:27:46 -050040 };
41};
42
43&cbass_main {
44 sysctrler: sysctrler {
45 compatible = "ti,am654-system-controller";
46 mboxes= <&secure_proxy_main 1>, <&secure_proxy_main 0>;
47 mbox-names = "tx", "rx";
Simon Glassd3a98cb2023-02-13 08:56:33 -070048 bootph-pre-ram;
Dave Gerlach278e7ac2021-04-23 11:27:46 -050049 };
50};
51
Roger Quadrosaf6e2a72023-08-05 11:14:40 +030052&main_esm {
Simon Glassd3a98cb2023-02-13 08:56:33 -070053 bootph-pre-ram;
Hari Nagalla789225e2022-03-09 14:42:29 -060054};
55
Roger Quadrosaf6e2a72023-08-05 11:14:40 +030056&mcu_esm {
Simon Glassd3a98cb2023-02-13 08:56:33 -070057 bootph-pre-ram;
Dave Gerlach278e7ac2021-04-23 11:27:46 -050058};
59
60&dmsc {
61 mboxes= <&secure_proxy_main 0>,
62 <&secure_proxy_main 1>,
63 <&secure_proxy_main 0>;
64 mbox-names = "rx", "tx", "notify";
65 ti,host-id = <35>;
66 ti,secure-host;
67};
68
Dave Gerlach278e7ac2021-04-23 11:27:46 -050069&sdhci0 {
Dave Gerlach278e7ac2021-04-23 11:27:46 -050070 clocks = <&clk_200mhz>;
71 clock-names = "clk_xin";
Dave Gerlach278e7ac2021-04-23 11:27:46 -050072};
73
74&sdhci1 {
Dave Gerlach278e7ac2021-04-23 11:27:46 -050075 clocks = <&clk_200mhz>;
76 clock-names = "clk_xin";
Dave Gerlach278e7ac2021-04-23 11:27:46 -050077};
78
Nishanth Menond6a453c2021-05-04 18:00:55 -050079&main_gpio0 {
Simon Glassd3a98cb2023-02-13 08:56:33 -070080 bootph-pre-ram;
Nishanth Menond6a453c2021-05-04 18:00:55 -050081};
82
Roger Quadrosaf6e2a72023-08-05 11:14:40 +030083/* UART is initialized before SYSFW is started
84 * so we can't do any power-domain/clock operations.
85 * Delete clock/power-domain properties to avoid
86 * UART init failure
87 */
88&main_uart0 {
Lokesh Vutlae1c5a5d2021-05-06 16:44:57 +053089 /delete-property/ power-domains;
Roger Quadrosaf6e2a72023-08-05 11:14:40 +030090 /delete-property/ clocks;
91 /delete-property/ clock-names;
Aswath Govindraju0b2481e2021-06-04 22:00:36 +053092};
93
Roger Quadrosaf6e2a72023-08-05 11:14:40 +030094/* timer init is called as part of rproc_start() while
95 * starting System Firmware, so any clock/power-domain
96 * operations will fail as SYSFW is not yet up and running.
97 * Delete all clock/power-domain properties to avoid
98 * timer init failure.
99 * This is an always on timer at 20MHz.
100 */
101&main_timer0 {
102 /delete-property/ clocks;
103 /delete-property/ assigned-clocks;
104 /delete-property/ assigned-clock-parents;
105 /delete-property/ power-domains;
Aswath Govindraju0b2481e2021-06-04 22:00:36 +0530106};