14717a36fSMatthias Schiffer// SPDX-License-Identifier: GPL-2.0-only
24717a36fSMatthias Schiffer/*
34717a36fSMatthias Schiffer * Copyright (C) 2021 Texas Instruments Incorporated - https://www.ti.com/
44717a36fSMatthias Schiffer * Copyright (c) 2022-2023 TQ-Systems GmbH <linux@ew.tq-group.com>, D-82229 Seefeld, Germany.
54717a36fSMatthias Schiffer */
64717a36fSMatthias Schiffer
74717a36fSMatthias Schiffer#include "k3-am642.dtsi"
84717a36fSMatthias Schiffer
94717a36fSMatthias Schiffer/ {
104717a36fSMatthias Schiffer	aliases {
114717a36fSMatthias Schiffer		i2c0 = &main_i2c0;
124717a36fSMatthias Schiffer		mmc0 = &sdhci0;
134717a36fSMatthias Schiffer		spi0 = &ospi0;
144717a36fSMatthias Schiffer	};
154717a36fSMatthias Schiffer
164717a36fSMatthias Schiffer	memory@80000000 {
174717a36fSMatthias Schiffer		device_type = "memory";
184717a36fSMatthias Schiffer		/* 1G RAM - default variant */
194717a36fSMatthias Schiffer		reg = <0x00000000 0x80000000 0x00000000 0x40000000>;
204717a36fSMatthias Schiffer
214717a36fSMatthias Schiffer	};
224717a36fSMatthias Schiffer
234717a36fSMatthias Schiffer	reserved-memory {
244717a36fSMatthias Schiffer		#address-cells = <2>;
254717a36fSMatthias Schiffer		#size-cells = <2>;
264717a36fSMatthias Schiffer		ranges;
274717a36fSMatthias Schiffer
284717a36fSMatthias Schiffer		secure_ddr: optee@9e800000 {
294717a36fSMatthias Schiffer			reg = <0x00 0x9e800000 0x00 0x01800000>;
304717a36fSMatthias Schiffer			alignment = <0x1000>;
314717a36fSMatthias Schiffer			no-map;
324717a36fSMatthias Schiffer		};
334717a36fSMatthias Schiffer
344717a36fSMatthias Schiffer		main_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
354717a36fSMatthias Schiffer			compatible = "shared-dma-pool";
364717a36fSMatthias Schiffer			reg = <0x00 0xa0000000 0x00 0x100000>;
374717a36fSMatthias Schiffer			no-map;
384717a36fSMatthias Schiffer		};
394717a36fSMatthias Schiffer
404717a36fSMatthias Schiffer		main_r5fss0_core0_memory_region: r5f-memory@a0100000 {
414717a36fSMatthias Schiffer			compatible = "shared-dma-pool";
424717a36fSMatthias Schiffer			reg = <0x00 0xa0100000 0x00 0xf00000>;
434717a36fSMatthias Schiffer			no-map;
444717a36fSMatthias Schiffer		};
454717a36fSMatthias Schiffer
464717a36fSMatthias Schiffer		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
474717a36fSMatthias Schiffer			compatible = "shared-dma-pool";
484717a36fSMatthias Schiffer			reg = <0x00 0xa1000000 0x00 0x100000>;
494717a36fSMatthias Schiffer			no-map;
504717a36fSMatthias Schiffer		};
514717a36fSMatthias Schiffer
524717a36fSMatthias Schiffer		main_r5fss0_core1_memory_region: r5f-memory@a1100000 {
534717a36fSMatthias Schiffer			compatible = "shared-dma-pool";
544717a36fSMatthias Schiffer			reg = <0x00 0xa1100000 0x00 0xf00000>;
554717a36fSMatthias Schiffer			no-map;
564717a36fSMatthias Schiffer		};
574717a36fSMatthias Schiffer
584717a36fSMatthias Schiffer		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@a2000000 {
594717a36fSMatthias Schiffer			compatible = "shared-dma-pool";
604717a36fSMatthias Schiffer			reg = <0x00 0xa2000000 0x00 0x100000>;
614717a36fSMatthias Schiffer			no-map;
624717a36fSMatthias Schiffer		};
634717a36fSMatthias Schiffer
644717a36fSMatthias Schiffer		main_r5fss1_core0_memory_region: r5f-memory@a2100000 {
654717a36fSMatthias Schiffer			compatible = "shared-dma-pool";
664717a36fSMatthias Schiffer			reg = <0x00 0xa2100000 0x00 0xf00000>;
674717a36fSMatthias Schiffer			no-map;
684717a36fSMatthias Schiffer		};
694717a36fSMatthias Schiffer
704717a36fSMatthias Schiffer		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@a3000000 {
714717a36fSMatthias Schiffer			compatible = "shared-dma-pool";
724717a36fSMatthias Schiffer			reg = <0x00 0xa3000000 0x00 0x100000>;
734717a36fSMatthias Schiffer			no-map;
744717a36fSMatthias Schiffer		};
754717a36fSMatthias Schiffer
764717a36fSMatthias Schiffer		main_r5fss1_core1_memory_region: r5f-memory@a3100000 {
774717a36fSMatthias Schiffer			compatible = "shared-dma-pool";
784717a36fSMatthias Schiffer			reg = <0x00 0xa3100000 0x00 0xf00000>;
794717a36fSMatthias Schiffer			no-map;
804717a36fSMatthias Schiffer		};
814717a36fSMatthias Schiffer
824717a36fSMatthias Schiffer		rtos_ipc_memory_region: ipc-memories@a5000000 {
834717a36fSMatthias Schiffer			reg = <0x00 0xa5000000 0x00 0x00800000>;
844717a36fSMatthias Schiffer			alignment = <0x1000>;
854717a36fSMatthias Schiffer			no-map;
864717a36fSMatthias Schiffer		};
874717a36fSMatthias Schiffer	};
884717a36fSMatthias Schiffer};
894717a36fSMatthias Schiffer
904717a36fSMatthias Schiffer&main_i2c0 {
914717a36fSMatthias Schiffer	pinctrl-names = "default";
924717a36fSMatthias Schiffer	pinctrl-0 = <&main_i2c0_pins>;
934717a36fSMatthias Schiffer	clock-frequency = <400000>;
944717a36fSMatthias Schiffer	status = "okay";
954717a36fSMatthias Schiffer
964717a36fSMatthias Schiffer	tmp1075: temperature-sensor@4a {
974717a36fSMatthias Schiffer		compatible = "ti,tmp1075";
984717a36fSMatthias Schiffer		reg = <0x4a>;
994717a36fSMatthias Schiffer	};
1004717a36fSMatthias Schiffer
1014717a36fSMatthias Schiffer	eeprom0: eeprom@50 {
1024717a36fSMatthias Schiffer		compatible = "st,24c02", "atmel,24c02";
1034717a36fSMatthias Schiffer		reg = <0x50>;
1044717a36fSMatthias Schiffer		pagesize = <16>;
1054717a36fSMatthias Schiffer		read-only;
1064717a36fSMatthias Schiffer	};
1074717a36fSMatthias Schiffer
1084717a36fSMatthias Schiffer	pcf85063: rtc@51 {
1094717a36fSMatthias Schiffer		compatible = "nxp,pcf85063a";
1104717a36fSMatthias Schiffer		reg = <0x51>;
1114717a36fSMatthias Schiffer		quartz-load-femtofarads = <12500>;
1124717a36fSMatthias Schiffer	};
1134717a36fSMatthias Schiffer
1144717a36fSMatthias Schiffer	eeprom1: eeprom@54 {
1154717a36fSMatthias Schiffer		compatible = "st,24c64", "atmel,24c64";
1164717a36fSMatthias Schiffer		reg = <0x54>;
1174717a36fSMatthias Schiffer		pagesize = <32>;
1184717a36fSMatthias Schiffer	};
1194717a36fSMatthias Schiffer};
1204717a36fSMatthias Schiffer
1214717a36fSMatthias Schiffer&mailbox0_cluster2 {
1224717a36fSMatthias Schiffer	status = "okay";
1234717a36fSMatthias Schiffer
1244717a36fSMatthias Schiffer	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
1254717a36fSMatthias Schiffer		ti,mbox-rx = <0 0 2>;
1264717a36fSMatthias Schiffer		ti,mbox-tx = <1 0 2>;
1274717a36fSMatthias Schiffer	};
1284717a36fSMatthias Schiffer
1294717a36fSMatthias Schiffer	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
1304717a36fSMatthias Schiffer		ti,mbox-rx = <2 0 2>;
1314717a36fSMatthias Schiffer		ti,mbox-tx = <3 0 2>;
1324717a36fSMatthias Schiffer	};
1334717a36fSMatthias Schiffer};
1344717a36fSMatthias Schiffer
1354717a36fSMatthias Schiffer&mailbox0_cluster4 {
1364717a36fSMatthias Schiffer	status = "okay";
1374717a36fSMatthias Schiffer
1384717a36fSMatthias Schiffer	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
1394717a36fSMatthias Schiffer		ti,mbox-rx = <0 0 2>;
1404717a36fSMatthias Schiffer		ti,mbox-tx = <1 0 2>;
1414717a36fSMatthias Schiffer	};
1424717a36fSMatthias Schiffer
1434717a36fSMatthias Schiffer	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
1444717a36fSMatthias Schiffer		ti,mbox-rx = <2 0 2>;
1454717a36fSMatthias Schiffer		ti,mbox-tx = <3 0 2>;
1464717a36fSMatthias Schiffer	};
1474717a36fSMatthias Schiffer};
1484717a36fSMatthias Schiffer
1494717a36fSMatthias Schiffer&mailbox0_cluster6 {
1504717a36fSMatthias Schiffer	status = "okay";
1514717a36fSMatthias Schiffer
1524717a36fSMatthias Schiffer	mbox_m4_0: mbox-m4-0 {
1534717a36fSMatthias Schiffer		ti,mbox-rx = <0 0 2>;
1544717a36fSMatthias Schiffer		ti,mbox-tx = <1 0 2>;
1554717a36fSMatthias Schiffer	};
1564717a36fSMatthias Schiffer};
1574717a36fSMatthias Schiffer
1584717a36fSMatthias Schiffer&main_r5fss0_core0 {
1594717a36fSMatthias Schiffer	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
1604717a36fSMatthias Schiffer	memory-region = <&main_r5fss0_core0_dma_memory_region>,
1614717a36fSMatthias Schiffer			<&main_r5fss0_core0_memory_region>;
1624717a36fSMatthias Schiffer};
1634717a36fSMatthias Schiffer
1644717a36fSMatthias Schiffer&main_r5fss0_core1 {
1654717a36fSMatthias Schiffer	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>;
1664717a36fSMatthias Schiffer	memory-region = <&main_r5fss0_core1_dma_memory_region>,
1674717a36fSMatthias Schiffer			<&main_r5fss0_core1_memory_region>;
1684717a36fSMatthias Schiffer};
1694717a36fSMatthias Schiffer
1704717a36fSMatthias Schiffer&main_r5fss1_core0 {
1714717a36fSMatthias Schiffer	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>;
1724717a36fSMatthias Schiffer	memory-region = <&main_r5fss1_core0_dma_memory_region>,
1734717a36fSMatthias Schiffer			<&main_r5fss1_core0_memory_region>;
1744717a36fSMatthias Schiffer};
1754717a36fSMatthias Schiffer
1764717a36fSMatthias Schiffer&main_r5fss1_core1 {
1774717a36fSMatthias Schiffer	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>;
1784717a36fSMatthias Schiffer	memory-region = <&main_r5fss1_core1_dma_memory_region>,
1794717a36fSMatthias Schiffer			<&main_r5fss1_core1_memory_region>;
1804717a36fSMatthias Schiffer};
1814717a36fSMatthias Schiffer
1824717a36fSMatthias Schiffer&ospi0 {
183cd9f6b32SAndrew Davis	status = "okay";
1844717a36fSMatthias Schiffer	pinctrl-names = "default";
1854717a36fSMatthias Schiffer	pinctrl-0 = <&ospi0_pins>;
1864717a36fSMatthias Schiffer
1874717a36fSMatthias Schiffer	flash@0 {
1884717a36fSMatthias Schiffer		compatible = "jedec,spi-nor";
1894717a36fSMatthias Schiffer		reg = <0>;
1904717a36fSMatthias Schiffer		spi-tx-bus-width = <8>;
1914717a36fSMatthias Schiffer		spi-rx-bus-width = <8>;
1924717a36fSMatthias Schiffer		spi-max-frequency = <84000000>;
1934717a36fSMatthias Schiffer		cdns,tshsl-ns = <60>;
1944717a36fSMatthias Schiffer		cdns,tsd2d-ns = <60>;
1954717a36fSMatthias Schiffer		cdns,tchsh-ns = <60>;
1964717a36fSMatthias Schiffer		cdns,tslch-ns = <60>;
1974717a36fSMatthias Schiffer		cdns,read-delay = <2>;
1984717a36fSMatthias Schiffer
1994717a36fSMatthias Schiffer		partitions {
2004717a36fSMatthias Schiffer			compatible = "fixed-partitions";
2014717a36fSMatthias Schiffer			#address-cells = <1>;
2024717a36fSMatthias Schiffer			#size-cells = <1>;
2034717a36fSMatthias Schiffer
2044717a36fSMatthias Schiffer			/* Filled by bootloader */
2054717a36fSMatthias Schiffer		};
2064717a36fSMatthias Schiffer	};
2074717a36fSMatthias Schiffer};
2084717a36fSMatthias Schiffer
2094717a36fSMatthias Schiffer&sdhci0 {
210*b0e4672fSAndrew Davis	status = "okay";
2114717a36fSMatthias Schiffer	non-removable;
2124717a36fSMatthias Schiffer	disable-wp;
2134717a36fSMatthias Schiffer	no-sdio;
2144717a36fSMatthias Schiffer	no-sd;
2154717a36fSMatthias Schiffer	ti,driver-strength-ohm = <50>;
2164717a36fSMatthias Schiffer};
2174717a36fSMatthias Schiffer
2184717a36fSMatthias Schiffer&main_pmx0 {
2194717a36fSMatthias Schiffer	main_i2c0_pins: main-i2c0-pins {
2204717a36fSMatthias Schiffer		pinctrl-single,pins = <
2214717a36fSMatthias Schiffer			/* (A18) I2C0_SCL */
2224717a36fSMatthias Schiffer			AM64X_IOPAD(0x0260, PIN_INPUT_PULLUP, 0)
2234717a36fSMatthias Schiffer			/* (B18) I2C0_SDA */
2244717a36fSMatthias Schiffer			AM64X_IOPAD(0x0264, PIN_INPUT_PULLUP, 0)
2254717a36fSMatthias Schiffer		>;
2264717a36fSMatthias Schiffer	};
2274717a36fSMatthias Schiffer
2284717a36fSMatthias Schiffer	ospi0_pins: ospi0-pins {
2294717a36fSMatthias Schiffer		pinctrl-single,pins = <
2304717a36fSMatthias Schiffer			/* (N20) OSPI0_CLK */
2314717a36fSMatthias Schiffer			AM64X_IOPAD(0x0000, PIN_OUTPUT, 0)
2324717a36fSMatthias Schiffer			/* (L19) OSPI0_CSn0 */
2334717a36fSMatthias Schiffer			AM64X_IOPAD(0x002c, PIN_OUTPUT, 0)
2344717a36fSMatthias Schiffer			/* (M19) OSPI0_D0 */
2354717a36fSMatthias Schiffer			AM64X_IOPAD(0x000c, PIN_INPUT, 0)
2364717a36fSMatthias Schiffer			/* (M18) OSPI0_D1 */
2374717a36fSMatthias Schiffer			AM64X_IOPAD(0x0010, PIN_INPUT, 0)
2384717a36fSMatthias Schiffer			/* (M20) OSPI0_D2 */
2394717a36fSMatthias Schiffer			AM64X_IOPAD(0x0014, PIN_INPUT, 0)
2404717a36fSMatthias Schiffer			/* (M21) OSPI0_D3 */
2414717a36fSMatthias Schiffer			AM64X_IOPAD(0x0018, PIN_INPUT, 0)
2424717a36fSMatthias Schiffer			/* (P21) OSPI0_D4 */
2434717a36fSMatthias Schiffer			AM64X_IOPAD(0x001c, PIN_INPUT, 0)
2444717a36fSMatthias Schiffer			/* (P20) OSPI0_D5 */
2454717a36fSMatthias Schiffer			AM64X_IOPAD(0x0020, PIN_INPUT, 0)
2464717a36fSMatthias Schiffer			/* (N18) OSPI0_D6 */
2474717a36fSMatthias Schiffer			AM64X_IOPAD(0x0024, PIN_INPUT, 0)
2484717a36fSMatthias Schiffer			/* (M17) OSPI0_D7 */
2494717a36fSMatthias Schiffer			AM64X_IOPAD(0x0028, PIN_INPUT, 0)
2504717a36fSMatthias Schiffer			/* (N19) OSPI0_DQS */
2514717a36fSMatthias Schiffer			AM64X_IOPAD(0x0008, PIN_INPUT, 0)
2524717a36fSMatthias Schiffer		>;
2534717a36fSMatthias Schiffer	};
2544717a36fSMatthias Schiffer};
255