Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
AM335X-PRU-RPROC-4-19-TI-PRUCAPE-00A0.dts 8.62 KiB
Newer Older
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2015 Texas Instruments Incorporated - https://www.ti.com/
 */

/dts-v1/;
/plugin/;

/*
 * Helper to show loaded overlays under: /proc/device-tree/chosen/overlays/
 */
&{/chosen} {
	overlays {
		AM335X-PRU-RPROC-4-19-TI-PRUCAPE-00A0.bb.org-overlays = __TIMESTAMP__;
	};
};

/ {
	/*
	 * Free up the pins used by the cape from the pinmux helpers.
	 */
	fragment@1 {
		target = <&ocp>;
		__overlay__ {
			P9_27_pinmux { status = "disabled"; };	/* P9_27: mcasp0_fsr, OMAP_MUX_MODE6 | AM33XX_PIN_INPUT, PRU CAPE SW1 */
			P9_25_pinmux { status = "disabled"; };	/* P9_25: mcasp0_ahclkx, OMAP_MUX_MODE6 | AM33XX_PIN_INPUT, PRU CAPE SW2 */
			P9_28_pinmux { status = "disabled"; };	/* P9_28: mcasp0_ahclkr, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE Red LED */
			P9_30_pinmux { status = "disabled"; };	/* P9_30: mcasp0_axr0, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE Orange LED */
			P9_31_pinmux { status = "disabled"; };	/* P9_31: mcasp0_aclkx, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE Blue LED */
			P9_29_pinmux { status = "disabled"; };	/* P9_29: mcasp0_fsx, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE Green LED */
			P8_44_pinmux { status = "disabled"; };	/* P8_44: lcd_data3, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE RGB_0 LED, HDMI Conf. */
			P8_41_pinmux { status = "disabled"; };	/* P8_41: lcd_data4, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE RGB_1 LED, HDMI Conf. */
			P8_42_pinmux { status = "disabled"; };	/* P8_42: lcd_data5, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE RGB_2 LED, HDMI Conf. */
			P8_45_pinmux { status = "disabled"; };	/* P8_45: lcd_data0, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE Audio Data, HDMI Conf. */
			P8_46_pinmux { status = "disabled"; };	/* P8_46: lcd_data1, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE Audio Clk, HDMI Conf. */
			P8_43_pinmux { status = "disabled"; };	/* P8_43: lcd_data2, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE Audio Sync, HDMI Conf. */
			P9_24_pinmux { status = "disabled"; };	/* P9_24: uart1_txd, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE PRU UART txd */
			P9_26_pinmux { status = "disabled"; };	/* P9_26: uart1_rxd, OMAP_MUX_MODE5 | AM33XX_PIN_INPUT, PRU CAPE PRU UART rxd */
			P9_21_pinmux { status = "disabled"; };	/* P9_21: spi0_d0, OMAP_MUX_MODE4 | AM33XX_PIN_OUTPUT, PRU CAPE PRU UART rts */
			P9_22_pinmux { status = "disabled"; };	/* P9_22: spi0_sclk, OMAP_MUX_MODE4 | AM33XX_PIN_INPUT, PRU CAPE PRU UART cts */
			P8_39_pinmux { status = "disabled"; };	/* P8_39: lcd_data6, OMAP_MUX_MODE4 | AM33XX_PIN_OUTPUT, PRU CAPE LCD rs t3 */
			P8_28_pinmux { status = "disabled"; };	/* P8_28: lcd_pclk, OMAP_MUX_MODE4 | AM33XX_PIN_OUTPUT, PRU CAPE LCD e v5 */
			P9_18_pinmux { status = "disabled"; };	/* P9_18: spi0_d1, OMAP_MUX_MODE6 | AM33XX_PIN_OUTPUT, PRU CAPE LCD data4 b16 */
			P9_17_pinmux { status = "disabled"; };	/* P9_17: spi0_cs0, OMAP_MUX_MODE6 | AM33XX_PIN_OUTPUT, PRU CAPE LCD data5 a16 */
			P8_27_pinmux { status = "disabled"; };	/* P8_27: lcd_vsync, OMAP_MUX_MODE4 | AM33XX_PIN_OUTPUT, PRU CAPE LCD data6 u5 */
			P8_29_pinmux { status = "disabled"; };	/* P8_29: lcd_hsync, OMAP_MUX_MODE4 | AM33XX_PIN_OUTPUT, PRU CAPE LCD data7 r5 */
			P8_16_pinmux { status = "disabled"; };	/* P8_16: gpmc_ad14, OMAP_MUX_MODE6 | AM33XX_PIN_INPUT, PRU CAPE Temp Input */
			//P8_40_pinmux { status = "disabled"; };	/* P8_40: lcd_data7, OMAP_MUX_MODE4 | AM33XX_PIN_OUTPUT, PRU CAPE Temp Output, Alpha Boards *
			P8_30_pinmux { status = "disabled"; };	/* P8_30: lcd_ac_bias_en, OMAP_MUX_MODE4 | AM33XX_PIN_OUTPUT, PRU Cape Temp Output */
		};
	};

	fragment@2 {
		target = <&am33xx_pinmux>;
		__overlay__ {
			pru_cape_bone_pins: pru_cape_bone_pins {
				pinctrl-single,pins = <
					0x1a4 0x2e	/* P9_27: mcasp0_fsr, OMAP_MUX_MODE6 | AM33XX_PIN_INPUT, PRU CAPE SW1 */
					0x1ac 0x2e	/* P9_25: mcasp0_ahclkx, OMAP_MUX_MODE6 | AM33XX_PIN_INPUT, PRU CAPE SW2 */
					0x19c 0x05	/* P9_28: mcasp0_ahclkr, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE Red LED */
					0x198 0x05	/* P9_30: mcasp0_axr0, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE Orange LED */
					0x190 0x05	/* P9_31: mcasp0_aclkx, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE Blue LED */
					0x194 0x05	/* P9_29: mcasp0_fsx, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE Green LED */
					0x0ac 0x05	/* P8_44: lcd_data3, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE RGB_0 LED, HDMI Conf. */
					0x0b0 0x05	/* P8_41: lcd_data4, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE RGB_1 LED, HDMI Conf. */
					0x0b4 0x05	/* P8_42: lcd_data5, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE RGB_2 LED, HDMI Conf. */
					0x0a0 0x05	/* P8_45: lcd_data0, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE Audio Data, HDMI Conf. */
					0x0a4 0x05	/* P8_46: lcd_data1, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE Audio Clk, HDMI Conf. */
					0x0a8 0x05	/* P8_43: lcd_data2, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE Audio Sync, HDMI Conf. */
					0x184 0x05	/* P9_24: uart1_txd, OMAP_MUX_MODE5 | AM33XX_PIN_OUTPUT, PRU CAPE PRU UART txd */
					0x180 0x2d	/* P9_26: uart1_rxd, OMAP_MUX_MODE5 | AM33XX_PIN_INPUT, PRU CAPE PRU UART rxd */
					0x154 0x04	/* P9_21: spi0_d0, OMAP_MUX_MODE4 | AM33XX_PIN_OUTPUT, PRU CAPE PRU UART rts */
					0x150 0x2c	/* P9_22: spi0_sclk, OMAP_MUX_MODE4 | AM33XX_PIN_INPUT, PRU CAPE PRU UART cts */
					0x0b8 0x04	/* P8_39: lcd_data6, OMAP_MUX_MODE4 | AM33XX_PIN_OUTPUT, PRU CAPE LCD rs t3 */
					0x0e8 0x04	/* P8_28: lcd_pclk, OMAP_MUX_MODE4 | AM33XX_PIN_OUTPUT, PRU CAPE LCD e v5 */
					0x158 0x06	/* P9_18: spi0_d1, OMAP_MUX_MODE6 | AM33XX_PIN_OUTPUT, PRU CAPE LCD data4 b16 */
					0x15c 0x06	/* P9_17: spi0_cs0, OMAP_MUX_MODE6 | AM33XX_PIN_OUTPUT, PRU CAPE LCD data5 a16 */
					0x0e0 0x04	/* P8_27: lcd_vsync, OMAP_MUX_MODE4 | AM33XX_PIN_OUTPUT, PRU CAPE LCD data6 u5 */
					0x0e4 0x04	/* P8_29: lcd_hsync, OMAP_MUX_MODE4 | AM33XX_PIN_OUTPUT, PRU CAPE LCD data7 r5 */
					0x038 0x2e	/* P8_16: gpmc_ad14, OMAP_MUX_MODE6 | AM33XX_PIN_INPUT, PRU CAPE Temp Input */
					/*0x0bc 0x04*/	/* P8_40: lcd_data7, OMAP_MUX_MODE4 | AM33XX_PIN_OUTPUT, PRU CAPE Temp Output, Alpha Boards */
					0x0ec 0x04	/* P8_30: lcd_ac_bias_en, OMAP_MUX_MODE4 | AM33XX_PIN_OUTPUT, PRU Cape Temp Output */
				>;
			};
		};
	};

	fragment@3 {
		target-path="/";
		__overlay__ {

			ocp {
				#address-cells = <1>;
				#size-cells = <1>;

				pruss_soc_bus: pruss-soc-bus@4a326004 {
					compatible = "ti,am3356-pruss-soc-bus";
					reg = <0x4a326004 0x4>;
					ti,hwmods = "pruss";
					#address-cells = <1>;
					#size-cells = <1>;
					ranges;
					status = "okay";

					pruss: pruss@4a300000 {
						compatible = "ti,am3356-pruss";
						reg = <0x4a300000 0x80000>;
						interrupts = <20 21 22 23 24 25 26 27>;
						interrupt-names = "host2", "host3", "host4",
								  "host5", "host6", "host7",
								  "host8", "host9";
						#address-cells = <1>;
						#size-cells = <1>;
						ranges;
						status = "okay";
						pinctrl-names = "default";
						pinctrl-0 = <&pru_cape_bone_pins>;

						pruss_mem: memories@4a300000 {
							reg = <0x4a300000 0x2000>,
							      <0x4a302000 0x2000>,
							      <0x4a310000 0x3000>;
							reg-names = "dram0", "dram1",
								    "shrdram2";
						};

						pruss_cfg: cfg@4a326000 {
							compatible = "syscon";
							reg = <0x4a326000 0x2000>;
						};

						pruss_iep: iep@4a32e000 {
							compatible = "syscon";
							reg = <0x4a32e000 0x31c>;
						};

						pruss_mii_rt: mii-rt@4a332000 {
							compatible = "syscon";
							reg = <0x4a332000 0x58>;
						};

						pruss_intc: interrupt-controller@4a320000 {
							compatible = "ti,am3356-pruss-intc";
							reg = <0x4a320000 0x2000>;
							interrupt-controller;
							#interrupt-cells = <1>;
						};

						pru0: pru@4a334000 {
							compatible = "ti,am3356-pru";
							reg = <0x4a334000 0x2000>,
							      <0x4a322000 0x400>,
							      <0x4a322400 0x100>;
							reg-names = "iram", "control", "debug";
							firmware-name = "am335x-pru0-fw";
							interrupt-parent = <&pruss_intc>;
							interrupts = <16>, <17>;
							interrupt-names = "vring", "kick";
						};

						pru1: pru@4a338000 {
							compatible = "ti,am3356-pru";
							reg = <0x4a338000 0x2000>,
							      <0x4a324000 0x400>,
							      <0x4a324400 0x100>;
							reg-names = "iram", "control", "debug";
							firmware-name = "am335x-pru1-fw";
							interrupt-parent = <&pruss_intc>;
							interrupts = <18>, <19>;
							interrupt-names = "vring", "kick";
						};

						pruss_mdio: mdio@4a332400 {
							compatible = "ti,davinci_mdio";
							reg = <0x4a332400 0x90>;
							clocks = <&dpll_core_m4_ck>;
							clock-names = "fck";
							bus_freq = <1000000>;
							#address-cells = <1>;
							#size-cells = <0>;
							status = "disabled";
						};
					};
				};
			};
		};
	};
};