xref: /linux/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-mcu.dtsi (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
120f8173aSNishanth Menon// SPDX-License-Identifier: GPL-2.0-only OR MIT
229075cc0SBryan Brattlof/*
33ad6579fSSiddharth Vadapalli * Device Tree file for the MCU domain peripherals shared by AM62P and J722S
43ad6579fSSiddharth Vadapalli *
520f8173aSNishanth Menon * Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
629075cc0SBryan Brattlof */
729075cc0SBryan Brattlof
829075cc0SBryan Brattlof&cbass_mcu {
929075cc0SBryan Brattlof	mcu_pmx0: pinctrl@4084000 {
1029075cc0SBryan Brattlof		compatible = "pinctrl-single";
1129075cc0SBryan Brattlof		reg = <0x00 0x04084000 0x00 0x88>;
1229075cc0SBryan Brattlof		#pinctrl-cells = <1>;
1329075cc0SBryan Brattlof		pinctrl-single,register-width = <32>;
1429075cc0SBryan Brattlof		pinctrl-single,function-mask = <0xffffffff>;
15b5080c7cSVignesh Raghavendra		bootph-all;
16b5080c7cSVignesh Raghavendra	};
17b5080c7cSVignesh Raghavendra
18b5080c7cSVignesh Raghavendra	mcu_esm: esm@4100000 {
19b5080c7cSVignesh Raghavendra		compatible = "ti,j721e-esm";
20b5080c7cSVignesh Raghavendra		reg = <0x00 0x4100000 0x00 0x1000>;
21b5080c7cSVignesh Raghavendra		bootph-pre-ram;
22*c94da215SJudith Mendez		/* Interrupt sources: esm0_cfg, esm0_hi, esm0_low, mrti0, wrti0 */
23*c94da215SJudith Mendez		ti,esm-pins = <0>, <1>, <2>, <85>, <86>;
24b5080c7cSVignesh Raghavendra	};
25b5080c7cSVignesh Raghavendra
26b5080c7cSVignesh Raghavendra	/*
27b5080c7cSVignesh Raghavendra	 * The MCU domain timer interrupts are routed only to the ESM module,
28b5080c7cSVignesh Raghavendra	 * and not currently available for Linux. The MCU domain timers are
29b5080c7cSVignesh Raghavendra	 * of limited use without interrupts, and likely reserved by the ESM.
30b5080c7cSVignesh Raghavendra	 */
31b5080c7cSVignesh Raghavendra	mcu_timer0: timer@4800000 {
32b5080c7cSVignesh Raghavendra		compatible = "ti,am654-timer";
33b5080c7cSVignesh Raghavendra		reg = <0x00 0x4800000 0x00 0x400>;
34b5080c7cSVignesh Raghavendra		clocks = <&k3_clks 35 2>;
35b5080c7cSVignesh Raghavendra		clock-names = "fck";
36b5080c7cSVignesh Raghavendra		power-domains = <&k3_pds 35 TI_SCI_PD_EXCLUSIVE>;
37b5080c7cSVignesh Raghavendra		ti,timer-pwm;
38b5080c7cSVignesh Raghavendra		status = "reserved";
39b5080c7cSVignesh Raghavendra	};
40b5080c7cSVignesh Raghavendra
41b5080c7cSVignesh Raghavendra	mcu_timer1: timer@4810000 {
42b5080c7cSVignesh Raghavendra		compatible = "ti,am654-timer";
43b5080c7cSVignesh Raghavendra		reg = <0x00 0x4810000 0x00 0x400>;
44b5080c7cSVignesh Raghavendra		clocks = <&k3_clks 48 2>;
45b5080c7cSVignesh Raghavendra		clock-names = "fck";
46b5080c7cSVignesh Raghavendra		power-domains = <&k3_pds 48 TI_SCI_PD_EXCLUSIVE>;
47b5080c7cSVignesh Raghavendra		ti,timer-pwm;
48b5080c7cSVignesh Raghavendra		status = "reserved";
49b5080c7cSVignesh Raghavendra	};
50b5080c7cSVignesh Raghavendra
51b5080c7cSVignesh Raghavendra	mcu_timer2: timer@4820000 {
52b5080c7cSVignesh Raghavendra		compatible = "ti,am654-timer";
53b5080c7cSVignesh Raghavendra		reg = <0x00 0x4820000 0x00 0x400>;
54b5080c7cSVignesh Raghavendra		clocks = <&k3_clks 49 2>;
55b5080c7cSVignesh Raghavendra		clock-names = "fck";
56b5080c7cSVignesh Raghavendra		power-domains = <&k3_pds 49 TI_SCI_PD_EXCLUSIVE>;
57b5080c7cSVignesh Raghavendra		ti,timer-pwm;
58b5080c7cSVignesh Raghavendra		status = "reserved";
59b5080c7cSVignesh Raghavendra	};
60b5080c7cSVignesh Raghavendra
61b5080c7cSVignesh Raghavendra	mcu_timer3: timer@4830000 {
62b5080c7cSVignesh Raghavendra		compatible = "ti,am654-timer";
63b5080c7cSVignesh Raghavendra		reg = <0x00 0x4830000 0x00 0x400>;
64b5080c7cSVignesh Raghavendra		clocks = <&k3_clks 50 2>;
65b5080c7cSVignesh Raghavendra		clock-names = "fck";
66b5080c7cSVignesh Raghavendra		power-domains = <&k3_pds 50 TI_SCI_PD_EXCLUSIVE>;
67b5080c7cSVignesh Raghavendra		ti,timer-pwm;
68b5080c7cSVignesh Raghavendra		status = "reserved";
69b5080c7cSVignesh Raghavendra	};
70b5080c7cSVignesh Raghavendra
71b5080c7cSVignesh Raghavendra	mcu_uart0: serial@4a00000 {
72b5080c7cSVignesh Raghavendra		compatible = "ti,am64-uart", "ti,am654-uart";
73b5080c7cSVignesh Raghavendra		reg = <0x00 0x04a00000 0x00 0x100>;
74b5080c7cSVignesh Raghavendra		interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
75b5080c7cSVignesh Raghavendra		power-domains = <&k3_pds 149 TI_SCI_PD_EXCLUSIVE>;
76b5080c7cSVignesh Raghavendra		clocks = <&k3_clks 149 0>;
77b5080c7cSVignesh Raghavendra		clock-names = "fclk";
78b5080c7cSVignesh Raghavendra		status = "disabled";
79b5080c7cSVignesh Raghavendra	};
80b5080c7cSVignesh Raghavendra
81b5080c7cSVignesh Raghavendra	mcu_i2c0: i2c@4900000 {
82b5080c7cSVignesh Raghavendra		compatible = "ti,am64-i2c", "ti,omap4-i2c";
83b5080c7cSVignesh Raghavendra		reg = <0x00 0x04900000 0x00 0x100>;
84b5080c7cSVignesh Raghavendra		interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
85b5080c7cSVignesh Raghavendra		#address-cells = <1>;
86b5080c7cSVignesh Raghavendra		#size-cells = <0>;
87b5080c7cSVignesh Raghavendra		power-domains = <&k3_pds 106 TI_SCI_PD_EXCLUSIVE>;
88b5080c7cSVignesh Raghavendra		clocks = <&k3_clks 106 2>;
89b5080c7cSVignesh Raghavendra		clock-names = "fck";
90b5080c7cSVignesh Raghavendra		status = "disabled";
91b5080c7cSVignesh Raghavendra	};
92b5080c7cSVignesh Raghavendra
93b5080c7cSVignesh Raghavendra	mcu_spi0: spi@4b00000 {
94b5080c7cSVignesh Raghavendra		compatible = "ti,am654-mcspi", "ti,omap4-mcspi";
95b5080c7cSVignesh Raghavendra		reg = <0x00 0x04b00000 0x00 0x400>;
96b5080c7cSVignesh Raghavendra		interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
97b5080c7cSVignesh Raghavendra		#address-cells = <1>;
98b5080c7cSVignesh Raghavendra		#size-cells = <0>;
99b5080c7cSVignesh Raghavendra		power-domains = <&k3_pds 147 TI_SCI_PD_EXCLUSIVE>;
100b5080c7cSVignesh Raghavendra		clocks = <&k3_clks 147 0>;
101b5080c7cSVignesh Raghavendra		status = "disabled";
102b5080c7cSVignesh Raghavendra	};
103b5080c7cSVignesh Raghavendra
104b5080c7cSVignesh Raghavendra	mcu_spi1: spi@4b10000 {
105b5080c7cSVignesh Raghavendra		compatible = "ti,am654-mcspi","ti,omap4-mcspi";
106b5080c7cSVignesh Raghavendra		reg = <0x00 0x04b10000 0x00 0x400>;
107b5080c7cSVignesh Raghavendra		interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
108b5080c7cSVignesh Raghavendra		#address-cells = <1>;
109b5080c7cSVignesh Raghavendra		#size-cells = <0>;
110b5080c7cSVignesh Raghavendra		power-domains = <&k3_pds 148 TI_SCI_PD_EXCLUSIVE>;
111b5080c7cSVignesh Raghavendra		clocks = <&k3_clks 148 0>;
112b5080c7cSVignesh Raghavendra		status = "disabled";
113b5080c7cSVignesh Raghavendra	};
114b5080c7cSVignesh Raghavendra
115b5080c7cSVignesh Raghavendra	mcu_gpio_intr: interrupt-controller@4210000 {
116b5080c7cSVignesh Raghavendra		compatible = "ti,sci-intr";
117b5080c7cSVignesh Raghavendra		reg = <0x00 0x04210000 0x00 0x200>;
118b5080c7cSVignesh Raghavendra		ti,intr-trigger-type = <1>;
119b5080c7cSVignesh Raghavendra		interrupt-controller;
120b5080c7cSVignesh Raghavendra		interrupt-parent = <&gic500>;
121b5080c7cSVignesh Raghavendra		#interrupt-cells = <1>;
122b5080c7cSVignesh Raghavendra		ti,sci = <&dmsc>;
123b5080c7cSVignesh Raghavendra		ti,sci-dev-id = <5>;
124b5080c7cSVignesh Raghavendra		ti,interrupt-ranges = <0 104 4>;
125b5080c7cSVignesh Raghavendra	};
126b5080c7cSVignesh Raghavendra
127b5080c7cSVignesh Raghavendra	mcu_gpio0: gpio@4201000 {
128b5080c7cSVignesh Raghavendra		compatible = "ti,am64-gpio", "ti,keystone-gpio";
129b5080c7cSVignesh Raghavendra		reg = <0x00 0x4201000 0x00 0x100>;
130b5080c7cSVignesh Raghavendra		gpio-controller;
131b5080c7cSVignesh Raghavendra		#gpio-cells = <2>;
132b5080c7cSVignesh Raghavendra		interrupt-parent = <&mcu_gpio_intr>;
133b5080c7cSVignesh Raghavendra		interrupts = <30>, <31>;
134b5080c7cSVignesh Raghavendra		interrupt-controller;
135b5080c7cSVignesh Raghavendra		#interrupt-cells = <2>;
136b5080c7cSVignesh Raghavendra		ti,ngpio = <24>;
137b5080c7cSVignesh Raghavendra		ti,davinci-gpio-unbanked = <0>;
138b5080c7cSVignesh Raghavendra		power-domains = <&k3_pds 79 TI_SCI_PD_EXCLUSIVE>;
139b5080c7cSVignesh Raghavendra		clocks = <&k3_clks 79 0>;
140b5080c7cSVignesh Raghavendra		clock-names = "gpio";
1414e436f6fSJared McArthur		gpio-ranges = <&mcu_pmx0 0 0 21>, <&mcu_pmx0 21 23 1>,
1424e436f6fSJared McArthur			      <&mcu_pmx0 22 32 2>;
143b5080c7cSVignesh Raghavendra	};
144b5080c7cSVignesh Raghavendra
145b5080c7cSVignesh Raghavendra	mcu_rti0: watchdog@4880000 {
146b5080c7cSVignesh Raghavendra		compatible = "ti,j7-rti-wdt";
147b5080c7cSVignesh Raghavendra		reg = <0x00 0x04880000 0x00 0x100>;
148b5080c7cSVignesh Raghavendra		clocks = <&k3_clks 131 0>;
149b5080c7cSVignesh Raghavendra		power-domains = <&k3_pds 131 TI_SCI_PD_EXCLUSIVE>;
150b5080c7cSVignesh Raghavendra		assigned-clocks = <&k3_clks 131 0>;
151b5080c7cSVignesh Raghavendra		assigned-clock-parents = <&k3_clks 131 2>;
152b5080c7cSVignesh Raghavendra		/* Tightly coupled to M4F */
153b5080c7cSVignesh Raghavendra		status = "reserved";
154b5080c7cSVignesh Raghavendra	};
155b5080c7cSVignesh Raghavendra
156b5080c7cSVignesh Raghavendra	mcu_mcan0: can@4e08000 {
157b5080c7cSVignesh Raghavendra		compatible = "bosch,m_can";
158b5080c7cSVignesh Raghavendra		reg = <0x00 0x4e08000 0x00 0x200>,
159b5080c7cSVignesh Raghavendra		      <0x00 0x4e00000 0x00 0x8000>;
160b5080c7cSVignesh Raghavendra		reg-names = "m_can", "message_ram";
161b5080c7cSVignesh Raghavendra		power-domains = <&k3_pds 188 TI_SCI_PD_EXCLUSIVE>;
162b5080c7cSVignesh Raghavendra		clocks = <&k3_clks 188 6>, <&k3_clks 188 1>;
163b5080c7cSVignesh Raghavendra		clock-names = "hclk", "cclk";
164b5080c7cSVignesh Raghavendra		bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
165b5080c7cSVignesh Raghavendra		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
166b5080c7cSVignesh Raghavendra			     <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
167b5080c7cSVignesh Raghavendra		interrupt-names = "int0", "int1";
168b5080c7cSVignesh Raghavendra		status = "disabled";
169b5080c7cSVignesh Raghavendra	};
170b5080c7cSVignesh Raghavendra
171b5080c7cSVignesh Raghavendra	mcu_mcan1: can@4e18000 {
172b5080c7cSVignesh Raghavendra		compatible = "bosch,m_can";
173b5080c7cSVignesh Raghavendra		reg = <0x00 0x4e18000 0x00 0x200>,
174b5080c7cSVignesh Raghavendra		      <0x00 0x4e10000 0x00 0x8000>;
175b5080c7cSVignesh Raghavendra		reg-names = "m_can", "message_ram";
176b5080c7cSVignesh Raghavendra		power-domains = <&k3_pds 189 TI_SCI_PD_EXCLUSIVE>;
177b5080c7cSVignesh Raghavendra		clocks = <&k3_clks 189 6>, <&k3_clks 189 1>;
178b5080c7cSVignesh Raghavendra		clock-names = "hclk", "cclk";
179b5080c7cSVignesh Raghavendra		bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
180b5080c7cSVignesh Raghavendra		interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
181b5080c7cSVignesh Raghavendra			     <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
182b5080c7cSVignesh Raghavendra		interrupt-names = "int0", "int1";
183b5080c7cSVignesh Raghavendra		status = "disabled";
184b5080c7cSVignesh Raghavendra	};
185b5080c7cSVignesh Raghavendra
186b5080c7cSVignesh Raghavendra	mcu_r5fss0: r5fss@79000000 {
187b5080c7cSVignesh Raghavendra		compatible = "ti,am62-r5fss";
188b5080c7cSVignesh Raghavendra		#address-cells = <1>;
189b5080c7cSVignesh Raghavendra		#size-cells = <1>;
190b5080c7cSVignesh Raghavendra		ranges = <0x79000000 0x00 0x79000000 0x8000>,
191b5080c7cSVignesh Raghavendra			 <0x79020000 0x00 0x79020000 0x8000>;
192b5080c7cSVignesh Raghavendra		power-domains = <&k3_pds 7 TI_SCI_PD_EXCLUSIVE>;
193dfc90e5fSVaishnav Achath		status = "disabled";
194dfc90e5fSVaishnav Achath
195b5080c7cSVignesh Raghavendra		mcu_r5fss0_core0: r5f@79000000 {
196b5080c7cSVignesh Raghavendra			compatible = "ti,am62-r5f";
197b5080c7cSVignesh Raghavendra			reg = <0x79000000 0x00008000>,
198b5080c7cSVignesh Raghavendra			      <0x79020000 0x00008000>;
199b5080c7cSVignesh Raghavendra			reg-names = "atcm", "btcm";
200b5080c7cSVignesh Raghavendra			ti,sci = <&dmsc>;
201b5080c7cSVignesh Raghavendra			ti,sci-dev-id = <9>;
202b5080c7cSVignesh Raghavendra			ti,sci-proc-ids = <0x03 0xff>;
203b5080c7cSVignesh Raghavendra			resets = <&k3_reset 9 1>;
204b5080c7cSVignesh Raghavendra			firmware-name = "am62p-mcu-r5f0_0-fw";
205b5080c7cSVignesh Raghavendra			ti,atcm-enable = <0>;
206b5080c7cSVignesh Raghavendra			ti,btcm-enable = <1>;
207b5080c7cSVignesh Raghavendra			ti,loczrama = <0>;
208b5080c7cSVignesh Raghavendra		};
20929075cc0SBryan Brattlof	};
21029075cc0SBryan Brattlof};
211