162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Device Tree Source for AM625 SoC Family MCU Domain peripherals
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci&cbass_mcu {
962306a36Sopenharmony_ci	mcu_pmx0: pinctrl@4084000 {
1062306a36Sopenharmony_ci		compatible = "pinctrl-single";
1162306a36Sopenharmony_ci		reg = <0x00 0x04084000 0x00 0x88>;
1262306a36Sopenharmony_ci		#pinctrl-cells = <1>;
1362306a36Sopenharmony_ci		pinctrl-single,register-width = <32>;
1462306a36Sopenharmony_ci		pinctrl-single,function-mask = <0xffffffff>;
1562306a36Sopenharmony_ci	};
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci	mcu_esm: esm@4100000 {
1862306a36Sopenharmony_ci		compatible = "ti,j721e-esm";
1962306a36Sopenharmony_ci		reg = <0x00 0x4100000 0x00 0x1000>;
2062306a36Sopenharmony_ci		ti,esm-pins = <0>, <1>, <2>, <85>;
2162306a36Sopenharmony_ci	};
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci	/*
2462306a36Sopenharmony_ci	 * The MCU domain timer interrupts are routed only to the ESM module,
2562306a36Sopenharmony_ci	 * and not currently available for Linux. The MCU domain timers are
2662306a36Sopenharmony_ci	 * of limited use without interrupts, and likely reserved by the ESM.
2762306a36Sopenharmony_ci	 */
2862306a36Sopenharmony_ci	mcu_timer0: timer@4800000 {
2962306a36Sopenharmony_ci		compatible = "ti,am654-timer";
3062306a36Sopenharmony_ci		reg = <0x00 0x4800000 0x00 0x400>;
3162306a36Sopenharmony_ci		clocks = <&k3_clks 35 2>;
3262306a36Sopenharmony_ci		clock-names = "fck";
3362306a36Sopenharmony_ci		power-domains = <&k3_pds 35 TI_SCI_PD_EXCLUSIVE>;
3462306a36Sopenharmony_ci		ti,timer-pwm;
3562306a36Sopenharmony_ci		status = "reserved";
3662306a36Sopenharmony_ci	};
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci	mcu_timer1: timer@4810000 {
3962306a36Sopenharmony_ci		compatible = "ti,am654-timer";
4062306a36Sopenharmony_ci		reg = <0x00 0x4810000 0x00 0x400>;
4162306a36Sopenharmony_ci		clocks = <&k3_clks 48 2>;
4262306a36Sopenharmony_ci		clock-names = "fck";
4362306a36Sopenharmony_ci		power-domains = <&k3_pds 48 TI_SCI_PD_EXCLUSIVE>;
4462306a36Sopenharmony_ci		ti,timer-pwm;
4562306a36Sopenharmony_ci		status = "reserved";
4662306a36Sopenharmony_ci	};
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci	mcu_timer2: timer@4820000 {
4962306a36Sopenharmony_ci		compatible = "ti,am654-timer";
5062306a36Sopenharmony_ci		reg = <0x00 0x4820000 0x00 0x400>;
5162306a36Sopenharmony_ci		clocks = <&k3_clks 49 2>;
5262306a36Sopenharmony_ci		clock-names = "fck";
5362306a36Sopenharmony_ci		power-domains = <&k3_pds 49 TI_SCI_PD_EXCLUSIVE>;
5462306a36Sopenharmony_ci		ti,timer-pwm;
5562306a36Sopenharmony_ci		status = "reserved";
5662306a36Sopenharmony_ci	};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci	mcu_timer3: timer@4830000 {
5962306a36Sopenharmony_ci		compatible = "ti,am654-timer";
6062306a36Sopenharmony_ci		reg = <0x00 0x4830000 0x00 0x400>;
6162306a36Sopenharmony_ci		clocks = <&k3_clks 50 2>;
6262306a36Sopenharmony_ci		clock-names = "fck";
6362306a36Sopenharmony_ci		power-domains = <&k3_pds 50 TI_SCI_PD_EXCLUSIVE>;
6462306a36Sopenharmony_ci		ti,timer-pwm;
6562306a36Sopenharmony_ci		status = "reserved";
6662306a36Sopenharmony_ci	};
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci	mcu_uart0: serial@4a00000 {
6962306a36Sopenharmony_ci		compatible = "ti,am64-uart", "ti,am654-uart";
7062306a36Sopenharmony_ci		reg = <0x00 0x04a00000 0x00 0x100>;
7162306a36Sopenharmony_ci		interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
7262306a36Sopenharmony_ci		power-domains = <&k3_pds 149 TI_SCI_PD_EXCLUSIVE>;
7362306a36Sopenharmony_ci		clocks = <&k3_clks 149 0>;
7462306a36Sopenharmony_ci		clock-names = "fclk";
7562306a36Sopenharmony_ci		status = "disabled";
7662306a36Sopenharmony_ci	};
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci	mcu_i2c0: i2c@4900000 {
7962306a36Sopenharmony_ci		compatible = "ti,am64-i2c", "ti,omap4-i2c";
8062306a36Sopenharmony_ci		reg = <0x00 0x04900000 0x00 0x100>;
8162306a36Sopenharmony_ci		interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
8262306a36Sopenharmony_ci		#address-cells = <1>;
8362306a36Sopenharmony_ci		#size-cells = <0>;
8462306a36Sopenharmony_ci		power-domains = <&k3_pds 106 TI_SCI_PD_EXCLUSIVE>;
8562306a36Sopenharmony_ci		clocks = <&k3_clks 106 2>;
8662306a36Sopenharmony_ci		clock-names = "fck";
8762306a36Sopenharmony_ci		status = "disabled";
8862306a36Sopenharmony_ci	};
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci	mcu_spi0: spi@4b00000 {
9162306a36Sopenharmony_ci		compatible = "ti,am654-mcspi", "ti,omap4-mcspi";
9262306a36Sopenharmony_ci		reg = <0x00 0x04b00000 0x00 0x400>;
9362306a36Sopenharmony_ci		interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
9462306a36Sopenharmony_ci		#address-cells = <1>;
9562306a36Sopenharmony_ci		#size-cells = <0>;
9662306a36Sopenharmony_ci		power-domains = <&k3_pds 147 TI_SCI_PD_EXCLUSIVE>;
9762306a36Sopenharmony_ci		clocks = <&k3_clks 147 0>;
9862306a36Sopenharmony_ci		status = "disabled";
9962306a36Sopenharmony_ci	};
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci	mcu_spi1: spi@4b10000 {
10262306a36Sopenharmony_ci		compatible = "ti,am654-mcspi","ti,omap4-mcspi";
10362306a36Sopenharmony_ci		reg = <0x00 0x04b10000 0x00 0x400>;
10462306a36Sopenharmony_ci		interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
10562306a36Sopenharmony_ci		#address-cells = <1>;
10662306a36Sopenharmony_ci		#size-cells = <0>;
10762306a36Sopenharmony_ci		power-domains = <&k3_pds 148 TI_SCI_PD_EXCLUSIVE>;
10862306a36Sopenharmony_ci		clocks = <&k3_clks 148 0>;
10962306a36Sopenharmony_ci		status = "disabled";
11062306a36Sopenharmony_ci	};
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci	mcu_gpio_intr: interrupt-controller@4210000 {
11362306a36Sopenharmony_ci		compatible = "ti,sci-intr";
11462306a36Sopenharmony_ci		reg = <0x00 0x04210000 0x00 0x200>;
11562306a36Sopenharmony_ci		ti,intr-trigger-type = <1>;
11662306a36Sopenharmony_ci		interrupt-controller;
11762306a36Sopenharmony_ci		interrupt-parent = <&gic500>;
11862306a36Sopenharmony_ci		#interrupt-cells = <1>;
11962306a36Sopenharmony_ci		ti,sci = <&dmsc>;
12062306a36Sopenharmony_ci		ti,sci-dev-id = <5>;
12162306a36Sopenharmony_ci		ti,interrupt-ranges = <0 104 4>;
12262306a36Sopenharmony_ci	};
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci	mcu_gpio0: gpio@4201000 {
12562306a36Sopenharmony_ci		compatible = "ti,am64-gpio", "ti,keystone-gpio";
12662306a36Sopenharmony_ci		reg = <0x00 0x4201000 0x00 0x100>;
12762306a36Sopenharmony_ci		gpio-controller;
12862306a36Sopenharmony_ci		#gpio-cells = <2>;
12962306a36Sopenharmony_ci		interrupt-parent = <&mcu_gpio_intr>;
13062306a36Sopenharmony_ci		interrupts = <30>, <31>;
13162306a36Sopenharmony_ci		interrupt-controller;
13262306a36Sopenharmony_ci		#interrupt-cells = <2>;
13362306a36Sopenharmony_ci		ti,ngpio = <24>;
13462306a36Sopenharmony_ci		ti,davinci-gpio-unbanked = <0>;
13562306a36Sopenharmony_ci		power-domains = <&k3_pds 79 TI_SCI_PD_EXCLUSIVE>;
13662306a36Sopenharmony_ci		clocks = <&k3_clks 79 0>;
13762306a36Sopenharmony_ci		clock-names = "gpio";
13862306a36Sopenharmony_ci	};
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ci	mcu_rti0: watchdog@4880000 {
14162306a36Sopenharmony_ci		compatible = "ti,j7-rti-wdt";
14262306a36Sopenharmony_ci		reg = <0x00 0x04880000 0x00 0x100>;
14362306a36Sopenharmony_ci		clocks = <&k3_clks 131 0>;
14462306a36Sopenharmony_ci		power-domains = <&k3_pds 131 TI_SCI_PD_EXCLUSIVE>;
14562306a36Sopenharmony_ci		assigned-clocks = <&k3_clks 131 0>;
14662306a36Sopenharmony_ci		assigned-clock-parents = <&k3_clks 131 2>;
14762306a36Sopenharmony_ci		/* Tightly coupled to M4F */
14862306a36Sopenharmony_ci		status = "reserved";
14962306a36Sopenharmony_ci	};
15062306a36Sopenharmony_ci
15162306a36Sopenharmony_ci	mcu_mcan0: can@4e08000 {
15262306a36Sopenharmony_ci		compatible = "bosch,m_can";
15362306a36Sopenharmony_ci		reg = <0x00 0x4e08000 0x00 0x200>,
15462306a36Sopenharmony_ci		      <0x00 0x4e00000 0x00 0x8000>;
15562306a36Sopenharmony_ci		reg-names = "m_can", "message_ram";
15662306a36Sopenharmony_ci		power-domains = <&k3_pds 188 TI_SCI_PD_EXCLUSIVE>;
15762306a36Sopenharmony_ci		clocks = <&k3_clks 188 6>, <&k3_clks 188 1>;
15862306a36Sopenharmony_ci		clock-names = "hclk", "cclk";
15962306a36Sopenharmony_ci		bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
16062306a36Sopenharmony_ci		status = "disabled";
16162306a36Sopenharmony_ci	};
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ci	mcu_mcan1: can@4e18000 {
16462306a36Sopenharmony_ci		compatible = "bosch,m_can";
16562306a36Sopenharmony_ci		reg = <0x00 0x4e18000 0x00 0x200>,
16662306a36Sopenharmony_ci		      <0x00 0x4e10000 0x00 0x8000>;
16762306a36Sopenharmony_ci		reg-names = "m_can", "message_ram";
16862306a36Sopenharmony_ci		power-domains = <&k3_pds 189 TI_SCI_PD_EXCLUSIVE>;
16962306a36Sopenharmony_ci		clocks = <&k3_clks 189 6>, <&k3_clks 189 1>;
17062306a36Sopenharmony_ci		clock-names = "hclk", "cclk";
17162306a36Sopenharmony_ci		bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
17262306a36Sopenharmony_ci		status = "disabled";
17362306a36Sopenharmony_ci	};
17462306a36Sopenharmony_ci};
175