162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2021 Texas Instruments Incorporated - https://www.ti.com/
462306a36Sopenharmony_ci * Copyright (c) 2022-2023 TQ-Systems GmbH <linux@ew.tq-group.com>, D-82229 Seefeld, Germany.
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#include "k3-am642.dtsi"
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/ {
1062306a36Sopenharmony_ci	aliases {
1162306a36Sopenharmony_ci		i2c0 = &main_i2c0;
1262306a36Sopenharmony_ci		mmc0 = &sdhci0;
1362306a36Sopenharmony_ci		spi0 = &ospi0;
1462306a36Sopenharmony_ci	};
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	memory@80000000 {
1762306a36Sopenharmony_ci		device_type = "memory";
1862306a36Sopenharmony_ci		/* 1G RAM - default variant */
1962306a36Sopenharmony_ci		reg = <0x00000000 0x80000000 0x00000000 0x40000000>;
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci	};
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci	reserved-memory {
2462306a36Sopenharmony_ci		#address-cells = <2>;
2562306a36Sopenharmony_ci		#size-cells = <2>;
2662306a36Sopenharmony_ci		ranges;
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci		secure_ddr: optee@9e800000 {
2962306a36Sopenharmony_ci			reg = <0x00 0x9e800000 0x00 0x01800000>;
3062306a36Sopenharmony_ci			alignment = <0x1000>;
3162306a36Sopenharmony_ci			no-map;
3262306a36Sopenharmony_ci		};
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci		main_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
3562306a36Sopenharmony_ci			compatible = "shared-dma-pool";
3662306a36Sopenharmony_ci			reg = <0x00 0xa0000000 0x00 0x100000>;
3762306a36Sopenharmony_ci			no-map;
3862306a36Sopenharmony_ci		};
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci		main_r5fss0_core0_memory_region: r5f-memory@a0100000 {
4162306a36Sopenharmony_ci			compatible = "shared-dma-pool";
4262306a36Sopenharmony_ci			reg = <0x00 0xa0100000 0x00 0xf00000>;
4362306a36Sopenharmony_ci			no-map;
4462306a36Sopenharmony_ci		};
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
4762306a36Sopenharmony_ci			compatible = "shared-dma-pool";
4862306a36Sopenharmony_ci			reg = <0x00 0xa1000000 0x00 0x100000>;
4962306a36Sopenharmony_ci			no-map;
5062306a36Sopenharmony_ci		};
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci		main_r5fss0_core1_memory_region: r5f-memory@a1100000 {
5362306a36Sopenharmony_ci			compatible = "shared-dma-pool";
5462306a36Sopenharmony_ci			reg = <0x00 0xa1100000 0x00 0xf00000>;
5562306a36Sopenharmony_ci			no-map;
5662306a36Sopenharmony_ci		};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@a2000000 {
5962306a36Sopenharmony_ci			compatible = "shared-dma-pool";
6062306a36Sopenharmony_ci			reg = <0x00 0xa2000000 0x00 0x100000>;
6162306a36Sopenharmony_ci			no-map;
6262306a36Sopenharmony_ci		};
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci		main_r5fss1_core0_memory_region: r5f-memory@a2100000 {
6562306a36Sopenharmony_ci			compatible = "shared-dma-pool";
6662306a36Sopenharmony_ci			reg = <0x00 0xa2100000 0x00 0xf00000>;
6762306a36Sopenharmony_ci			no-map;
6862306a36Sopenharmony_ci		};
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@a3000000 {
7162306a36Sopenharmony_ci			compatible = "shared-dma-pool";
7262306a36Sopenharmony_ci			reg = <0x00 0xa3000000 0x00 0x100000>;
7362306a36Sopenharmony_ci			no-map;
7462306a36Sopenharmony_ci		};
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci		main_r5fss1_core1_memory_region: r5f-memory@a3100000 {
7762306a36Sopenharmony_ci			compatible = "shared-dma-pool";
7862306a36Sopenharmony_ci			reg = <0x00 0xa3100000 0x00 0xf00000>;
7962306a36Sopenharmony_ci			no-map;
8062306a36Sopenharmony_ci		};
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci		rtos_ipc_memory_region: ipc-memories@a5000000 {
8362306a36Sopenharmony_ci			reg = <0x00 0xa5000000 0x00 0x00800000>;
8462306a36Sopenharmony_ci			alignment = <0x1000>;
8562306a36Sopenharmony_ci			no-map;
8662306a36Sopenharmony_ci		};
8762306a36Sopenharmony_ci	};
8862306a36Sopenharmony_ci};
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci&main_i2c0 {
9162306a36Sopenharmony_ci	pinctrl-names = "default";
9262306a36Sopenharmony_ci	pinctrl-0 = <&main_i2c0_pins>;
9362306a36Sopenharmony_ci	clock-frequency = <400000>;
9462306a36Sopenharmony_ci	status = "okay";
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci	tmp1075: temperature-sensor@4a {
9762306a36Sopenharmony_ci		compatible = "ti,tmp1075";
9862306a36Sopenharmony_ci		reg = <0x4a>;
9962306a36Sopenharmony_ci	};
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci	eeprom0: eeprom@50 {
10262306a36Sopenharmony_ci		compatible = "st,24c02", "atmel,24c02";
10362306a36Sopenharmony_ci		reg = <0x50>;
10462306a36Sopenharmony_ci		pagesize = <16>;
10562306a36Sopenharmony_ci		read-only;
10662306a36Sopenharmony_ci	};
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci	pcf85063: rtc@51 {
10962306a36Sopenharmony_ci		compatible = "nxp,pcf85063a";
11062306a36Sopenharmony_ci		reg = <0x51>;
11162306a36Sopenharmony_ci		quartz-load-femtofarads = <12500>;
11262306a36Sopenharmony_ci	};
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ci	eeprom1: eeprom@54 {
11562306a36Sopenharmony_ci		compatible = "st,24c64", "atmel,24c64";
11662306a36Sopenharmony_ci		reg = <0x54>;
11762306a36Sopenharmony_ci		pagesize = <32>;
11862306a36Sopenharmony_ci	};
11962306a36Sopenharmony_ci};
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ci&mailbox0_cluster2 {
12262306a36Sopenharmony_ci	status = "okay";
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
12562306a36Sopenharmony_ci		ti,mbox-rx = <0 0 2>;
12662306a36Sopenharmony_ci		ti,mbox-tx = <1 0 2>;
12762306a36Sopenharmony_ci	};
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
13062306a36Sopenharmony_ci		ti,mbox-rx = <2 0 2>;
13162306a36Sopenharmony_ci		ti,mbox-tx = <3 0 2>;
13262306a36Sopenharmony_ci	};
13362306a36Sopenharmony_ci};
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci&mailbox0_cluster4 {
13662306a36Sopenharmony_ci	status = "okay";
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ci	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
13962306a36Sopenharmony_ci		ti,mbox-rx = <0 0 2>;
14062306a36Sopenharmony_ci		ti,mbox-tx = <1 0 2>;
14162306a36Sopenharmony_ci	};
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ci	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
14462306a36Sopenharmony_ci		ti,mbox-rx = <2 0 2>;
14562306a36Sopenharmony_ci		ti,mbox-tx = <3 0 2>;
14662306a36Sopenharmony_ci	};
14762306a36Sopenharmony_ci};
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci&mailbox0_cluster6 {
15062306a36Sopenharmony_ci	status = "okay";
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci	mbox_m4_0: mbox-m4-0 {
15362306a36Sopenharmony_ci		ti,mbox-rx = <0 0 2>;
15462306a36Sopenharmony_ci		ti,mbox-tx = <1 0 2>;
15562306a36Sopenharmony_ci	};
15662306a36Sopenharmony_ci};
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ci&main_r5fss0_core0 {
15962306a36Sopenharmony_ci	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
16062306a36Sopenharmony_ci	memory-region = <&main_r5fss0_core0_dma_memory_region>,
16162306a36Sopenharmony_ci			<&main_r5fss0_core0_memory_region>;
16262306a36Sopenharmony_ci};
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ci&main_r5fss0_core1 {
16562306a36Sopenharmony_ci	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>;
16662306a36Sopenharmony_ci	memory-region = <&main_r5fss0_core1_dma_memory_region>,
16762306a36Sopenharmony_ci			<&main_r5fss0_core1_memory_region>;
16862306a36Sopenharmony_ci};
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ci&main_r5fss1_core0 {
17162306a36Sopenharmony_ci	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>;
17262306a36Sopenharmony_ci	memory-region = <&main_r5fss1_core0_dma_memory_region>,
17362306a36Sopenharmony_ci			<&main_r5fss1_core0_memory_region>;
17462306a36Sopenharmony_ci};
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ci&main_r5fss1_core1 {
17762306a36Sopenharmony_ci	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>;
17862306a36Sopenharmony_ci	memory-region = <&main_r5fss1_core1_dma_memory_region>,
17962306a36Sopenharmony_ci			<&main_r5fss1_core1_memory_region>;
18062306a36Sopenharmony_ci};
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ci&ospi0 {
18362306a36Sopenharmony_ci	status = "okay";
18462306a36Sopenharmony_ci	pinctrl-names = "default";
18562306a36Sopenharmony_ci	pinctrl-0 = <&ospi0_pins>;
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_ci	flash@0 {
18862306a36Sopenharmony_ci		compatible = "jedec,spi-nor";
18962306a36Sopenharmony_ci		reg = <0>;
19062306a36Sopenharmony_ci		spi-tx-bus-width = <8>;
19162306a36Sopenharmony_ci		spi-rx-bus-width = <8>;
19262306a36Sopenharmony_ci		spi-max-frequency = <84000000>;
19362306a36Sopenharmony_ci		cdns,tshsl-ns = <60>;
19462306a36Sopenharmony_ci		cdns,tsd2d-ns = <60>;
19562306a36Sopenharmony_ci		cdns,tchsh-ns = <60>;
19662306a36Sopenharmony_ci		cdns,tslch-ns = <60>;
19762306a36Sopenharmony_ci		cdns,read-delay = <2>;
19862306a36Sopenharmony_ci
19962306a36Sopenharmony_ci		partitions {
20062306a36Sopenharmony_ci			compatible = "fixed-partitions";
20162306a36Sopenharmony_ci			#address-cells = <1>;
20262306a36Sopenharmony_ci			#size-cells = <1>;
20362306a36Sopenharmony_ci
20462306a36Sopenharmony_ci			/* Filled by bootloader */
20562306a36Sopenharmony_ci		};
20662306a36Sopenharmony_ci	};
20762306a36Sopenharmony_ci};
20862306a36Sopenharmony_ci
20962306a36Sopenharmony_ci&sdhci0 {
21062306a36Sopenharmony_ci	status = "okay";
21162306a36Sopenharmony_ci	non-removable;
21262306a36Sopenharmony_ci	disable-wp;
21362306a36Sopenharmony_ci	no-sdio;
21462306a36Sopenharmony_ci	no-sd;
21562306a36Sopenharmony_ci	ti,driver-strength-ohm = <50>;
21662306a36Sopenharmony_ci};
21762306a36Sopenharmony_ci
21862306a36Sopenharmony_ci&main_pmx0 {
21962306a36Sopenharmony_ci	main_i2c0_pins: main-i2c0-pins {
22062306a36Sopenharmony_ci		pinctrl-single,pins = <
22162306a36Sopenharmony_ci			/* (A18) I2C0_SCL */
22262306a36Sopenharmony_ci			AM64X_IOPAD(0x0260, PIN_INPUT_PULLUP, 0)
22362306a36Sopenharmony_ci			/* (B18) I2C0_SDA */
22462306a36Sopenharmony_ci			AM64X_IOPAD(0x0264, PIN_INPUT_PULLUP, 0)
22562306a36Sopenharmony_ci		>;
22662306a36Sopenharmony_ci	};
22762306a36Sopenharmony_ci
22862306a36Sopenharmony_ci	ospi0_pins: ospi0-pins {
22962306a36Sopenharmony_ci		pinctrl-single,pins = <
23062306a36Sopenharmony_ci			/* (N20) OSPI0_CLK */
23162306a36Sopenharmony_ci			AM64X_IOPAD(0x0000, PIN_OUTPUT, 0)
23262306a36Sopenharmony_ci			/* (L19) OSPI0_CSn0 */
23362306a36Sopenharmony_ci			AM64X_IOPAD(0x002c, PIN_OUTPUT, 0)
23462306a36Sopenharmony_ci			/* (M19) OSPI0_D0 */
23562306a36Sopenharmony_ci			AM64X_IOPAD(0x000c, PIN_INPUT, 0)
23662306a36Sopenharmony_ci			/* (M18) OSPI0_D1 */
23762306a36Sopenharmony_ci			AM64X_IOPAD(0x0010, PIN_INPUT, 0)
23862306a36Sopenharmony_ci			/* (M20) OSPI0_D2 */
23962306a36Sopenharmony_ci			AM64X_IOPAD(0x0014, PIN_INPUT, 0)
24062306a36Sopenharmony_ci			/* (M21) OSPI0_D3 */
24162306a36Sopenharmony_ci			AM64X_IOPAD(0x0018, PIN_INPUT, 0)
24262306a36Sopenharmony_ci			/* (P21) OSPI0_D4 */
24362306a36Sopenharmony_ci			AM64X_IOPAD(0x001c, PIN_INPUT, 0)
24462306a36Sopenharmony_ci			/* (P20) OSPI0_D5 */
24562306a36Sopenharmony_ci			AM64X_IOPAD(0x0020, PIN_INPUT, 0)
24662306a36Sopenharmony_ci			/* (N18) OSPI0_D6 */
24762306a36Sopenharmony_ci			AM64X_IOPAD(0x0024, PIN_INPUT, 0)
24862306a36Sopenharmony_ci			/* (M17) OSPI0_D7 */
24962306a36Sopenharmony_ci			AM64X_IOPAD(0x0028, PIN_INPUT, 0)
25062306a36Sopenharmony_ci			/* (N19) OSPI0_DQS */
25162306a36Sopenharmony_ci			AM64X_IOPAD(0x0008, PIN_INPUT, 0)
25262306a36Sopenharmony_ci		>;
25362306a36Sopenharmony_ci	};
25462306a36Sopenharmony_ci};
255