1f1d17330SVignesh Raghavendra// SPDX-License-Identifier: GPL-2.0
2f1d17330SVignesh Raghavendra/*
3f1d17330SVignesh Raghavendra * Device Tree Source for AM625 SoC Family MCU Domain peripherals
4f1d17330SVignesh Raghavendra *
5f1d17330SVignesh Raghavendra * Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
6f1d17330SVignesh Raghavendra */
7f1d17330SVignesh Raghavendra
8f1d17330SVignesh Raghavendra&cbass_mcu {
9f1d17330SVignesh Raghavendra	mcu_pmx0: pinctrl@4084000 {
10f1d17330SVignesh Raghavendra		compatible = "pinctrl-single";
11f1d17330SVignesh Raghavendra		reg = <0x00 0x04084000 0x00 0x88>;
12f1d17330SVignesh Raghavendra		#pinctrl-cells = <1>;
13f1d17330SVignesh Raghavendra		pinctrl-single,register-width = <32>;
14f1d17330SVignesh Raghavendra		pinctrl-single,function-mask = <0xffffffff>;
15f1d17330SVignesh Raghavendra	};
16f1d17330SVignesh Raghavendra
17a58eedd1SNishanth Menon	mcu_esm: esm@4100000 {
18a58eedd1SNishanth Menon		compatible = "ti,j721e-esm";
19a58eedd1SNishanth Menon		reg = <0x00 0x4100000 0x00 0x1000>;
20a58eedd1SNishanth Menon		ti,esm-pins = <0>, <1>, <2>, <85>;
21a58eedd1SNishanth Menon	};
22a58eedd1SNishanth Menon
233308a31cSTony Lindgren	/*
243308a31cSTony Lindgren	 * The MCU domain timer interrupts are routed only to the ESM module,
253308a31cSTony Lindgren	 * and not currently available for Linux. The MCU domain timers are
263308a31cSTony Lindgren	 * of limited use without interrupts, and likely reserved by the ESM.
273308a31cSTony Lindgren	 */
283308a31cSTony Lindgren	mcu_timer0: timer@4800000 {
293308a31cSTony Lindgren		compatible = "ti,am654-timer";
303308a31cSTony Lindgren		reg = <0x00 0x4800000 0x00 0x400>;
313308a31cSTony Lindgren		clocks = <&k3_clks 35 2>;
323308a31cSTony Lindgren		clock-names = "fck";
333308a31cSTony Lindgren		power-domains = <&k3_pds 35 TI_SCI_PD_EXCLUSIVE>;
343308a31cSTony Lindgren		ti,timer-pwm;
353308a31cSTony Lindgren		status = "reserved";
363308a31cSTony Lindgren	};
373308a31cSTony Lindgren
383308a31cSTony Lindgren	mcu_timer1: timer@4810000 {
393308a31cSTony Lindgren		compatible = "ti,am654-timer";
403308a31cSTony Lindgren		reg = <0x00 0x4810000 0x00 0x400>;
413308a31cSTony Lindgren		clocks = <&k3_clks 48 2>;
423308a31cSTony Lindgren		clock-names = "fck";
433308a31cSTony Lindgren		power-domains = <&k3_pds 48 TI_SCI_PD_EXCLUSIVE>;
443308a31cSTony Lindgren		ti,timer-pwm;
453308a31cSTony Lindgren		status = "reserved";
463308a31cSTony Lindgren	};
473308a31cSTony Lindgren
483308a31cSTony Lindgren	mcu_timer2: timer@4820000 {
493308a31cSTony Lindgren		compatible = "ti,am654-timer";
503308a31cSTony Lindgren		reg = <0x00 0x4820000 0x00 0x400>;
513308a31cSTony Lindgren		clocks = <&k3_clks 49 2>;
523308a31cSTony Lindgren		clock-names = "fck";
533308a31cSTony Lindgren		power-domains = <&k3_pds 49 TI_SCI_PD_EXCLUSIVE>;
543308a31cSTony Lindgren		ti,timer-pwm;
553308a31cSTony Lindgren		status = "reserved";
563308a31cSTony Lindgren	};
573308a31cSTony Lindgren
583308a31cSTony Lindgren	mcu_timer3: timer@4830000 {
593308a31cSTony Lindgren		compatible = "ti,am654-timer";
603308a31cSTony Lindgren		reg = <0x00 0x4830000 0x00 0x400>;
613308a31cSTony Lindgren		clocks = <&k3_clks 50 2>;
623308a31cSTony Lindgren		clock-names = "fck";
633308a31cSTony Lindgren		power-domains = <&k3_pds 50 TI_SCI_PD_EXCLUSIVE>;
643308a31cSTony Lindgren		ti,timer-pwm;
653308a31cSTony Lindgren		status = "reserved";
663308a31cSTony Lindgren	};
673308a31cSTony Lindgren
68f1d17330SVignesh Raghavendra	mcu_uart0: serial@4a00000 {
69f1d17330SVignesh Raghavendra		compatible = "ti,am64-uart", "ti,am654-uart";
70f1d17330SVignesh Raghavendra		reg = <0x00 0x04a00000 0x00 0x100>;
71f1d17330SVignesh Raghavendra		interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
72f1d17330SVignesh Raghavendra		power-domains = <&k3_pds 149 TI_SCI_PD_EXCLUSIVE>;
73f1d17330SVignesh Raghavendra		clocks = <&k3_clks 149 0>;
74f1d17330SVignesh Raghavendra		clock-names = "fclk";
75b5877d9bSAndrew Davis		status = "disabled";
76f1d17330SVignesh Raghavendra	};
77f1d17330SVignesh Raghavendra
78f1d17330SVignesh Raghavendra	mcu_i2c0: i2c@4900000 {
79f1d17330SVignesh Raghavendra		compatible = "ti,am64-i2c", "ti,omap4-i2c";
80f1d17330SVignesh Raghavendra		reg = <0x00 0x04900000 0x00 0x100>;
81f1d17330SVignesh Raghavendra		interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
82f1d17330SVignesh Raghavendra		#address-cells = <1>;
83f1d17330SVignesh Raghavendra		#size-cells = <0>;
84f1d17330SVignesh Raghavendra		power-domains = <&k3_pds 106 TI_SCI_PD_EXCLUSIVE>;
85f1d17330SVignesh Raghavendra		clocks = <&k3_clks 106 2>;
86f1d17330SVignesh Raghavendra		clock-names = "fck";
87a1541a08SAndrew Davis		status = "disabled";
88f1d17330SVignesh Raghavendra	};
89c37c58fdSVignesh Raghavendra
90c37c58fdSVignesh Raghavendra	mcu_spi0: spi@4b00000 {
91c37c58fdSVignesh Raghavendra		compatible = "ti,am654-mcspi", "ti,omap4-mcspi";
92c37c58fdSVignesh Raghavendra		reg = <0x00 0x04b00000 0x00 0x400>;
93c37c58fdSVignesh Raghavendra		interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
94c37c58fdSVignesh Raghavendra		#address-cells = <1>;
95c37c58fdSVignesh Raghavendra		#size-cells = <0>;
96c37c58fdSVignesh Raghavendra		power-domains = <&k3_pds 147 TI_SCI_PD_EXCLUSIVE>;
97c37c58fdSVignesh Raghavendra		clocks = <&k3_clks 147 0>;
98361e8b71SAndrew Davis		status = "disabled";
99c37c58fdSVignesh Raghavendra	};
100c37c58fdSVignesh Raghavendra
101c37c58fdSVignesh Raghavendra	mcu_spi1: spi@4b10000 {
102c37c58fdSVignesh Raghavendra		compatible = "ti,am654-mcspi","ti,omap4-mcspi";
103c37c58fdSVignesh Raghavendra		reg = <0x00 0x04b10000 0x00 0x400>;
104c37c58fdSVignesh Raghavendra		interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
105c37c58fdSVignesh Raghavendra		#address-cells = <1>;
106c37c58fdSVignesh Raghavendra		#size-cells = <0>;
107c37c58fdSVignesh Raghavendra		power-domains = <&k3_pds 148 TI_SCI_PD_EXCLUSIVE>;
108c37c58fdSVignesh Raghavendra		clocks = <&k3_clks 148 0>;
109361e8b71SAndrew Davis		status = "disabled";
110c37c58fdSVignesh Raghavendra	};
111d196d2a9SVignesh Raghavendra
112d196d2a9SVignesh Raghavendra	mcu_gpio_intr: interrupt-controller@4210000 {
113d196d2a9SVignesh Raghavendra		compatible = "ti,sci-intr";
114d196d2a9SVignesh Raghavendra		reg = <0x00 0x04210000 0x00 0x200>;
115d196d2a9SVignesh Raghavendra		ti,intr-trigger-type = <1>;
116d196d2a9SVignesh Raghavendra		interrupt-controller;
117d196d2a9SVignesh Raghavendra		interrupt-parent = <&gic500>;
118d196d2a9SVignesh Raghavendra		#interrupt-cells = <1>;
119d196d2a9SVignesh Raghavendra		ti,sci = <&dmsc>;
120d196d2a9SVignesh Raghavendra		ti,sci-dev-id = <5>;
121d196d2a9SVignesh Raghavendra		ti,interrupt-ranges = <0 104 4>;
122d196d2a9SVignesh Raghavendra	};
123d196d2a9SVignesh Raghavendra
124d196d2a9SVignesh Raghavendra	mcu_gpio0: gpio@4201000 {
125d196d2a9SVignesh Raghavendra		compatible = "ti,am64-gpio", "ti,keystone-gpio";
126d196d2a9SVignesh Raghavendra		reg = <0x00 0x4201000 0x00 0x100>;
127d196d2a9SVignesh Raghavendra		gpio-controller;
128d196d2a9SVignesh Raghavendra		#gpio-cells = <2>;
129d196d2a9SVignesh Raghavendra		interrupt-parent = <&mcu_gpio_intr>;
130d196d2a9SVignesh Raghavendra		interrupts = <30>, <31>;
131d196d2a9SVignesh Raghavendra		interrupt-controller;
132d196d2a9SVignesh Raghavendra		#interrupt-cells = <2>;
133d196d2a9SVignesh Raghavendra		ti,ngpio = <24>;
134d196d2a9SVignesh Raghavendra		ti,davinci-gpio-unbanked = <0>;
135d196d2a9SVignesh Raghavendra		power-domains = <&k3_pds 79 TI_SCI_PD_EXCLUSIVE>;
136d196d2a9SVignesh Raghavendra		clocks = <&k3_clks 79 0>;
137d196d2a9SVignesh Raghavendra		clock-names = "gpio";
138d196d2a9SVignesh Raghavendra	};
1394eec5d77SJulien Panis
1404eec5d77SJulien Panis	mcu_rti0: watchdog@4880000 {
1414eec5d77SJulien Panis		compatible = "ti,j7-rti-wdt";
1424eec5d77SJulien Panis		reg = <0x00 0x04880000 0x00 0x100>;
1434eec5d77SJulien Panis		clocks = <&k3_clks 131 0>;
1444eec5d77SJulien Panis		power-domains = <&k3_pds 131 TI_SCI_PD_EXCLUSIVE>;
1454eec5d77SJulien Panis		assigned-clocks = <&k3_clks 131 0>;
1464eec5d77SJulien Panis		assigned-clock-parents = <&k3_clks 131 2>;
1474eec5d77SJulien Panis		/* Tightly coupled to M4F */
1484eec5d77SJulien Panis		status = "reserved";
1494eec5d77SJulien Panis	};
150*108f61e0SJudith Mendez
151*108f61e0SJudith Mendez	mcu_mcan0: can@4e08000 {
152*108f61e0SJudith Mendez		compatible = "bosch,m_can";
153*108f61e0SJudith Mendez		reg = <0x00 0x4e08000 0x00 0x200>,
154*108f61e0SJudith Mendez		      <0x00 0x4e00000 0x00 0x8000>;
155*108f61e0SJudith Mendez		reg-names = "m_can", "message_ram";
156*108f61e0SJudith Mendez		power-domains = <&k3_pds 188 TI_SCI_PD_EXCLUSIVE>;
157*108f61e0SJudith Mendez		clocks = <&k3_clks 188 6>, <&k3_clks 188 1>;
158*108f61e0SJudith Mendez		clock-names = "hclk", "cclk";
159*108f61e0SJudith Mendez		bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
160*108f61e0SJudith Mendez		status = "disabled";
161*108f61e0SJudith Mendez	};
162*108f61e0SJudith Mendez
163*108f61e0SJudith Mendez	mcu_mcan1: can@4e18000 {
164*108f61e0SJudith Mendez		compatible = "bosch,m_can";
165*108f61e0SJudith Mendez		reg = <0x00 0x4e18000 0x00 0x200>,
166*108f61e0SJudith Mendez		      <0x00 0x4e10000 0x00 0x8000>;
167*108f61e0SJudith Mendez		reg-names = "m_can", "message_ram";
168*108f61e0SJudith Mendez		power-domains = <&k3_pds 189 TI_SCI_PD_EXCLUSIVE>;
169*108f61e0SJudith Mendez		clocks = <&k3_clks 189 6>, <&k3_clks 189 1>;
170*108f61e0SJudith Mendez		clock-names = "hclk", "cclk";
171*108f61e0SJudith Mendez		bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
172*108f61e0SJudith Mendez		status = "disabled";
173*108f61e0SJudith Mendez	};
174f1d17330SVignesh Raghavendra};
175