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