This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: Regarding Error in PCIe

Part Number: TDA4VM

Dear TI,

After updating the Device trees for Root- Complex and Endpoint side SDK I tried to run the following commands with a Script -

#!/bin/bash

###################################################################################
############## Script to run the TI demo application for PCIe SOC to SOC ##########
###################################################################################
######################################
Configure_PCI_EndPoint(){
cd /sys/kernel/config/pci_ep/
}

######################################
Function1_Bind_to_Controller(){
mkdir functions/pci_epf_test/func1
echo 0x104c > functions/pci_epf_test/func1/vendorid
echo 0xb00d > functions/pci_epf_test/func1/deviceid
echo 2 > functions/pci_epf_test/func1/msi_interrupts
echo 2 > functions/pci_epf_test/func1/msix_interrupts
ln -s functions/pci_epf_test/func1 controllers/2910000.pcie-ep/
}

##########################################

Function2_Bind_to_Controller(){
mkdir functions/pci_epf_test/func2
echo 0x104c > functions/pci_epf_test/func2/vendorid
echo 0xb00d > functions/pci_epf_test/func2/deviceid
echo 2 > functions/pci_epf_test/func2/msi_interrupts
echo 2 > functions/pci_epf_test/func2/msix_interrupts
ln -s functions/pci_epf_test/func2 controllers/2910000.pcie-ep/
}

##########################################

Function3_Bind_to_Controller(){
mkdir functions/pci_epf_test/func3
echo 0x104c > functions/pci_epf_test/func3/vendorid
echo 0xb00d > functions/pci_epf_test/func3/deviceid
echo 2 > functions/pci_epf_test/func3/msi_interrupts
echo 2 > functions/pci_epf_test/func3/msix_interrupts
ln -s functions/pci_epf_test/func3 controllers/2910000.pcie-ep/
}

##########################################

Function4_Bind_to_Controller(){
mkdir functions/pci_epf_test/func4
echo 0x104c > functions/pci_epf_test/func4/vendorid
echo 0xb00d > functions/pci_epf_test/func4/deviceid
echo 2 > functions/pci_epf_test/func4/msi_interrupts
echo 2 > functions/pci_epf_test/func4/msix_interrupts
ln -s functions/pci_epf_test/func4 controllers/2910000.pcie-ep/
}

##########################################
Function5_Bind_to_Controller(){
mkdir functions/pci_epf_test/func5
echo 0x104c > functions/pci_epf_test/func5/vendorid
echo 0xb00d > functions/pci_epf_test/func5/deviceid
echo 2 > functions/pci_epf_test/func5/msi_interrupts
echo 2 > functions/pci_epf_test/func5/msix_interrupts
ln -s functions/pci_epf_test/func5 controllers/2910000.pcie-ep/
}

###############################################
Function6_Bind_to_Controller(){
mkdir functions/pci_epf_test/func6
echo 0x104c > functions/pci_epf_test/func6/vendorid
echo 0xb00d > functions/pci_epf_test/func6/deviceid
echo 2 > functions/pci_epf_test/func6/msi_interrupts
echo 2 > functions/pci_epf_test/func6/msix_interrupts
ln -s functions/pci_epf_test/func6 controllers/2910000.pcie-ep/
}


Configure_PCI_EndPoint
Function1_Bind_to_Controller
Function2_Bind_to_Controller
Function3_Bind_to_Controller
Function4_Bind_to_Controller
Function5_Bind_to_Controller
Function6_Bind_to_Controller

I have following Error when i Grep dmesg  . Can you please have a look what is missing at the moment ?

  • Hi Manish,

    What changes did you make to dts for bringing up pcie1 EP?


    Regards,
    Vishal

  • Ideally only change needed is changing pcie1_rc status to "disabled" and pcie1_ep status to "okay".

  • Hi Vishal ,

    Please find the DT changes attached here :

    RC -->

    // SPDX-License-Identifier: GPL-2.0
    /*
     * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/
     */
    
    /dts-v1/;
    
    #include "k3-j721e-som-p0.dtsi"
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/input/input.h>
    #include <dt-bindings/sound/ti-mcasp.h>
    #include <dt-bindings/net/ti-dp83867.h>
    
    / {
    	chosen {
    		stdout-path = "serial2:115200n8";
    		bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000";
    	};
    
    	gpio_keys: gpio-keys {
    		compatible = "gpio-keys";
    		autorepeat;
    		pinctrl-names = "default";
    		pinctrl-0 = <&sw10_button_pins_default &sw11_button_pins_default>;
    
    		sw10: sw10 {
    			label = "GPIO Key USER1";
    			linux,code = <BTN_0>;
    			gpios = <&main_gpio0 0 GPIO_ACTIVE_LOW>;
    		};
    
    		sw11: sw11 {
    			label = "GPIO Key USER2";
    			linux,code = <BTN_1>;
    			gpios = <&wkup_gpio0 7 GPIO_ACTIVE_LOW>;
    		};
    	};
    
    	evm_12v0: fixedregulator-evm12v0 {
    		/* main supply */
    		compatible = "regulator-fixed";
    		regulator-name = "evm_12v0";
    		regulator-min-microvolt = <12000000>;
    		regulator-max-microvolt = <12000000>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vsys_3v3: fixedregulator-vsys3v3 {
    		/* Output of LMS140 */
    		compatible = "regulator-fixed";
    		regulator-name = "vsys_3v3";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		vin-supply = <&evm_12v0>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vsys_5v0: fixedregulator-vsys5v0 {
    		/* Output of LM5140 */
    		compatible = "regulator-fixed";
    		regulator-name = "vsys_5v0";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		vin-supply = <&evm_12v0>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	/* Used for 48KHz family */
    	pll4: pll4_fixed {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <1179648000>;
    	};
    
    	/* Used for 44.1KHz family */
    	pll15: pll15_fixed {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <1083801600>;
    	};
    
    	vdd_mmc1: fixedregulator-sd {
    		compatible = "regulator-fixed";
    		regulator-name = "vdd_mmc1";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-boot-on;
    		enable-active-high;
    		vin-supply = <&vsys_3v3>;
    		gpio = <&exp2 2 GPIO_ACTIVE_HIGH>;
    	};
    
    	vdd_sd_dv_alt: gpio-regulator-TLV71033 {
    		compatible = "regulator-gpio";
    		pinctrl-names = "default";
    		pinctrl-0 = <&vdd_sd_dv_alt_pins_default>;
    		regulator-name = "tlv71033";
    		regulator-min-microvolt = <1800000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-boot-on;
    		vin-supply = <&vsys_5v0>;
    		gpios = <&main_gpio0 117 GPIO_ACTIVE_HIGH>;
    		states = <1800000 0x0
    			  3300000 0x1>;
    			  status ="disabled";
    	};
    
    	cpsw9g_virt_mac: main_r5fss_cpsw9g_virt_mac0 {
    		compatible = "ti,j721e-cpsw-virt-mac";
    		dma-coherent;
    		ti,psil-base = <0x4a00>;
    		ti,remote-name = "mpu_1_0_ethswitch-device-0";
    
    		dmas = <&main_udmap 0xca00>,
    		       <&main_udmap 0xca01>,
    		       <&main_udmap 0xca02>,
    		       <&main_udmap 0xca03>,
    		       <&main_udmap 0xca04>,
    		       <&main_udmap 0xca05>,
    		       <&main_udmap 0xca06>,
    		       <&main_udmap 0xca07>,
    		       <&main_udmap 0x4a00>;
    		dma-names = "tx0", "tx1", "tx2", "tx3",
    			    "tx4", "tx5", "tx6", "tx7",
    			    "rx";
    
    		virt_emac_port {
    			ti,label = "virt-port";
    			/* local-mac-address = [0 0 0 0 0 0]; */
    		};
    	};
    
    //	dp0: connector {
    //		compatible = "dp-connector";
    //		label = "DP0";
    
    //		port {
    //			dp_connector_in: endpoint {
    //				remote-endpoint = <&dp_bridge_output>;
    //			};
    //		};
    //	};
    };
    
    &main_pmx0 {
    	sw10_button_pins_default: sw10_button_pins_default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x0, PIN_INPUT, 7) /* (AC18) EXTINTn.GPIO0_0 */
    		>;
    	};
    	
    myspi1_pins_default: myspi1_pins_default {
                       pinctrl-single,pins = <
                                J721E_IOPAD(0x1c8, PIN_OUTPUT, 0) /* (AA1) SPI0_CLK */
                                J721E_IOPAD(0x1c4, PIN_OUTPUT, 0) /* (Y4) SPI0_CS1 */
                                J721E_IOPAD(0x1cc, PIN_INPUT, 0) /* (AB5) SPI0_D0 */
                                J721E_IOPAD(0x1d0, PIN_OUTPUT, 0) /* (AA3) SPI0_D1 */
                       >;
             };
    
    //	dp0_pins_default: dp0_pins_default {
    //		pinctrl-single,pins = <
    //			J721E_IOPAD(0x1c4, PIN_INPUT, 5) 
    //		>;
    //	};
    
    	main_i2c1_exp4_pins_default: main-i2c1-exp4-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x230, PIN_INPUT, 7) /* (U2) ECAP0_IN_APWM_OUT.GPIO1_11 */
    		>;
    	};
    
    	main_i2c0_pins_default: main-i2c0-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x220, PIN_INPUT_PULLUP, 0) /* (AC5) I2C0_SCL */
    			J721E_IOPAD(0x224, PIN_INPUT_PULLUP, 0) /* (AA5) I2C0_SDA */
    		>;
    	};
    
    	main_i2c1_pins_default: main-i2c1-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x228, PIN_INPUT_PULLUP, 0) /* (Y6) I2C1_SCL */
    			J721E_IOPAD(0x22c, PIN_INPUT_PULLUP, 0) /* (AA6) I2C1_SDA */
    		>;
    	};
    
    	main_i2c3_pins_default: main-i2c3-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x270, PIN_INPUT_PULLUP, 4) /* (T26) MMC2_CLK.I2C3_SCL */
    			J721E_IOPAD(0x274, PIN_INPUT_PULLUP, 4) /* (T25) MMC2_CMD.I2C3_SDA */
    		>;
    	};
    
    //	main_i2c6_pins_default: main-i2c6-pins-default {
    //		pinctrl-single,pins = <
    //			J721E_IOPAD(0x1d0, PIN_INPUT_PULLUP, 2) /* (AA3) SPI0_D1.I2C6_SCL */
    //			J721E_IOPAD(0x1e4, PIN_INPUT_PULLUP, 2) /* (Y2) SPI1_D1.I2C6_SDA */
    //		>;
    //	};
    
    	mcasp10_pins_default: mcasp10_pins_default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x158, PIN_OUTPUT_PULLDOWN, 12) /* (U23) RGMII5_TX_CTL.MCASP10_ACLKX */
    			J721E_IOPAD(0x15c, PIN_OUTPUT_PULLDOWN, 12) /* (U26) RGMII5_RX_CTL.MCASP10_AFSX */
    			J721E_IOPAD(0x160, PIN_OUTPUT_PULLDOWN, 12) /* (V28) RGMII5_TD3.MCASP10_AXR0 */
    			J721E_IOPAD(0x164, PIN_OUTPUT_PULLDOWN, 12) /* (V29) RGMII5_TD2.MCASP10_AXR1 */
    			J721E_IOPAD(0x170, PIN_OUTPUT_PULLDOWN, 12) /* (U29) RGMII5_TXC.MCASP10_AXR2 */
    			J721E_IOPAD(0x174, PIN_OUTPUT_PULLDOWN, 12) /* (U25) RGMII5_RXC.MCASP10_AXR3 */
    			J721E_IOPAD(0x198, PIN_INPUT_PULLDOWN, 12) /* (V25) RGMII6_TD1.MCASP10_AXR4 */
    			J721E_IOPAD(0x19c, PIN_INPUT_PULLDOWN, 12) /* (W27) RGMII6_TD0.MCASP10_AXR5 */
    			J721E_IOPAD(0x1a0, PIN_INPUT_PULLDOWN, 12) /* (W29) RGMII6_TXC.MCASP10_AXR6 */
    			J721E_IOPAD(0xc8, PIN_OUTPUT, 7) /* (AE26) PRG0_PRU0_GPO6.GPIO0_49 */
    		>;
    	};
    
    	audi_ext_refclk2_pins_default: audi_ext_refclk2_pins_default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x1a4, PIN_OUTPUT, 3) /* (W26) RGMII6_RXC.AUDIO_EXT_REFCLK2 */
    		>;
    	};
    
    	main_mmc1_pins_default: main_mmc1_pins_default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x254, PIN_INPUT, 0) /* (R29) MMC1_CMD */
    			J721E_IOPAD(0x250, PIN_INPUT, 0) /* (P25) MMC1_CLK */
    			J721E_IOPAD(0x2ac, PIN_INPUT, 0) /* (P25) MMC1_CLKLB */
    			J721E_IOPAD(0x24c, PIN_INPUT, 0) /* (R24) MMC1_DAT0 */
    			J721E_IOPAD(0x248, PIN_INPUT, 0) /* (P24) MMC1_DAT1 */
    			J721E_IOPAD(0x244, PIN_INPUT, 0) /* (R25) MMC1_DAT2 */
    			J721E_IOPAD(0x240, PIN_INPUT, 0) /* (R26) MMC1_DAT3 */
    			J721E_IOPAD(0x258, PIN_INPUT, 0) /* (P23) MMC1_SDCD */
    			J721E_IOPAD(0x25c, PIN_INPUT, 0) /* (R28) MMC1_SDWP */
    		>;
    	};
    
    	vdd_sd_dv_alt_pins_default: vdd_sd_dv_alt_pins_default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x1d8, PIN_INPUT, 7) /* (W4) SPI1_CS1.GPIO0_117 */
    		>;
    	};
    
    	main_usbss0_pins_default: main_usbss0_pins_default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x290, PIN_OUTPUT, 0) /* (U6) USB0_DRVVBUS */
    			J721E_IOPAD(0x210, PIN_INPUT, 7) /* (W3) MCAN1_RX.GPIO1_3 */
    		>;
    	};
    
    	main_usbss1_pins_default: main_usbss1_pins_default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x214, PIN_OUTPUT, 4) /* (V4) MCAN1_TX.USB1_DRVVBUS */
    		>;
    	};
    };
    
    &wkup_pmx0 {
    	sw11_button_pins_default: sw11_button_pins_default {
    		pinctrl-single,pins = <
    			J721E_WKUP_IOPAD(0xcc, PIN_INPUT, 7) /* (G28) WKUP_GPIO0_7 */
    			J721E_WKUP_IOPAD(0xc0, PIN_OUTPUT, 7) /* (G25) WKUP_GPIO0_4 */
    		>;
    	};
    
    	mcu_fss0_ospi1_pins_default: mcu-fss0-ospi1-pins-default {
    		pinctrl-single,pins = <
    	  J721E_WKUP_IOPAD(0x0, PIN_OUTPUT, 0) /* (E20) MCU_OSPI0_CLK */
          J721E_WKUP_IOPAD(0x2c, PIN_OUTPUT, 0) /* (F19) MCU_OSPI0_CSn0 */
          J721E_WKUP_IOPAD(0xc, PIN_INPUT, 0) /* (D20) MCU_OSPI0_D0 */
          J721E_WKUP_IOPAD(0x10, PIN_INPUT, 0) /* (G19) MCU_OSPI0_D1 */
          J721E_WKUP_IOPAD(0x14, PIN_INPUT, 0) /* (G20) MCU_OSPI0_D2 */
          J721E_WKUP_IOPAD(0x18, PIN_INPUT, 0) /* (F20) MCU_OSPI0_D3 */
          J721E_WKUP_IOPAD(0x1c, PIN_INPUT, 0) /* (F21) MCU_OSPI0_D4 */
          J721E_WKUP_IOPAD(0x20, PIN_INPUT, 0) /* (E21) MCU_OSPI0_D5 */
          J721E_WKUP_IOPAD(0x24, PIN_INPUT, 0) /* (B22) MCU_OSPI0_D6 */
          J721E_WKUP_IOPAD(0x28, PIN_INPUT, 0) /* (G21) MCU_OSPI0_D7 */
          J721E_WKUP_IOPAD(0x8, PIN_INPUT, 0) /* (D21) MCU_OSPI0_DQS */
    		>;
    	};
    };
    
    &wkup_pmx0 {
    	mcu_cpsw_pins_default: mcu_cpsw_pins_default {
    		pinctrl-single,pins = <
    			J721E_WKUP_IOPAD(0x0058, PIN_OUTPUT, 0) /* MCU_RGMII1_TX_CTL */
    			J721E_WKUP_IOPAD(0x005c, PIN_INPUT, 0) /* MCU_RGMII1_RX_CTL */
    			J721E_WKUP_IOPAD(0x0060, PIN_OUTPUT, 0) /* MCU_RGMII1_TD3 */
    			J721E_WKUP_IOPAD(0x0064, PIN_OUTPUT, 0) /* MCU_RGMII1_TD2 */
    			J721E_WKUP_IOPAD(0x0068, PIN_OUTPUT, 0) /* MCU_RGMII1_TD1 */
    			J721E_WKUP_IOPAD(0x006c, PIN_OUTPUT, 0) /* MCU_RGMII1_TD0 */
    			J721E_WKUP_IOPAD(0x0078, PIN_INPUT, 0) /* MCU_RGMII1_RD3 */
    			J721E_WKUP_IOPAD(0x007c, PIN_INPUT, 0) /* MCU_RGMII1_RD2 */
    			J721E_WKUP_IOPAD(0x0080, PIN_INPUT, 0) /* MCU_RGMII1_RD1 */
    			J721E_WKUP_IOPAD(0x0084, PIN_INPUT, 0) /* MCU_RGMII1_RD0 */
    			J721E_WKUP_IOPAD(0x0070, PIN_OUTPUT, 0) /* MCU_RGMII1_TXC */
    			J721E_WKUP_IOPAD(0x0074, PIN_INPUT, 0) /* MCU_RGMII1_RXC */
    		>;
    	};
    
    	mcu_mdio_pins_default: mcu_mdio1_pins_default {
    		pinctrl-single,pins = <
    			J721E_WKUP_IOPAD(0x008c, PIN_OUTPUT, 0) /* MCU_MDIO0_MDC */
    			J721E_WKUP_IOPAD(0x0088, PIN_INPUT, 0) /* MCU_MDIO0_MDIO */
    		>;
    	};
    };
    
    &wkup_uart0 {
    	/* Wakeup UART is used by System firmware */
    	status = "disabled";
    };
    
    &main_uart0 {
    	power-domains = <&k3_pds 146 TI_SCI_PD_SHARED>;
    };
    
    &main_uart3 {
    	/* UART not brought out */
    	status = "disabled";
    };
    
    &main_uart5 {
    	/* UART not brought out */
    	status = "disabled";
    };
    
    &main_uart6 {
    	/* UART not brought out */
    	status = "disabled";
    };
    
    &main_uart7 {
    	/* UART not brought out */
    	status = "disabled";
    };
    
    &main_uart8 {
    	/* UART not brought out */
    	status = "disabled";
    };
    
    &main_uart9 {
    	/* UART not brought out */
    	status = "disabled";
    };
    
    &main_gpio2 {
    	status = "disabled";
    };
    
    &main_gpio3 {
    	status = "disabled";
    };
    
    &main_gpio4 {
    	status = "disabled";
    };
    
    &main_gpio5 {
    	status = "disabled";
    };
    
    &main_gpio6 {
    	status = "disabled";
    };
    
    &main_gpio7 {
    	status = "disabled";
    };
    
    &wkup_gpio1 {
    	status = "disabled";
    };
    
    &mailbox0_cluster0 {
    	interrupts = <436>;
    
    	mbox_mcu_r5fss0_core0: mbox-mcu-r5fss0-core0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_mcu_r5fss0_core1: mbox-mcu-r5fss0-core1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster1 {
    	interrupts = <432>;
    
    	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster2 {
    	interrupts = <428>;
    
    	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster3 {
    	interrupts = <424>;
    
    	mbox_c66_0: mbox-c66-0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_c66_1: mbox-c66-1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster4 {
    	interrupts = <420>;
    
    	mbox_c71_0: mbox-c71-0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    };
    
    &mailbox0_cluster5 {
    	status = "disabled";
    };
    
    &mailbox0_cluster6 {
    	status = "disabled";
    };
    
    &mailbox0_cluster7 {
    	status = "disabled";
    };
    
    &mailbox0_cluster8 {
    	status = "disabled";
    };
    
    &mailbox0_cluster9 {
    	status = "disabled";
    };
    
    &mailbox0_cluster10 {
    	status = "disabled";
    };
    
    &mailbox0_cluster11 {
    	status = "disabled";
    };
    
    &mcu_r5fss0_core0 {
    	mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core0>;
    };
    
    &mcu_r5fss0_core1 {
    	mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core1>;
    };
    
    &main_r5fss0_core0 {
    	mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core0>;
    };
    
    &main_r5fss0_core1 {
    	mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core1>;
    };
    
    &main_r5fss1_core0 {
    	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core0>;
    };
    
    &main_r5fss1_core1 {
    	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core1>;
    };
    
    &c66_0 {
    	mboxes = <&mailbox0_cluster3 &mbox_c66_0>;
    };
    
    &c66_1 {
    	mboxes = <&mailbox0_cluster3 &mbox_c66_1>;
    };
    
    &c71_0 {
    	mboxes = <&mailbox0_cluster4 &mbox_c71_0>;
    };
    
    &ospi1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcu_fss0_ospi1_pins_default>;
    
    	flash@0{
    		compatible = "jedec,spi-nor";
    		reg = <0x0>;
    		spi-tx-bus-width = <1>;
    		spi-rx-bus-width = <4>;
    		spi-max-frequency = <40000000>;
    		cdns,tshsl-ns = <60>;
    		cdns,tsd2d-ns = <60>;
    		cdns,tchsh-ns = <60>;
    		cdns,tslch-ns = <60>;
    		cdns,read-delay = <2>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    	};
    };
    
    &tscadc0 {
    	adc {
    		ti,adc-channels = <0 1 2 3 4 5 6 7>;
    	};
    };
    
    &tscadc1 {
    	adc {
    		ti,adc-channels = <0 1 2 3 4 5 6 7>;
    	};
    };
    
    &dss {
    	status = "ok";
    };
    
    &dss_ports {
    	#address-cells = <1>;
    	#size-cells = <0>;
    
    	port@0 {
    		reg = <0>;
    
    //		dpi_out_real0: endpoint {
    //			remote-endpoint = <&dp_bridge_input>;
    //		};
    //	};
    //};
    
    //&mhdp {
    //	status = "ok";
    //	pinctrl-names = "default";
    //	pinctrl-0 = <&dp0_pins_default>;
    };
    };
    
    //&dp0_ports {
    //	#address-cells = <1>;
    //	#size-cells = <0>;
    
    //	port@0 {
    //		reg = <0>;
    //		dp_bridge_input: endpoint {
    //			remote-endpoint = <&dpi_out_real0>;
    //		};
    //	};
    
    //	port@1 {
    //		reg = <1>;
    //		dp_bridge_output: endpoint {
    //			remote-endpoint = <&dp_connector_in>;
    //		};
    //	};
    //};
    
    &main_i2c0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c0_pins_default>;
    	clock-frequency = <400000>;
    
    	exp1: gpio@20 {
    		compatible = "ti,tca6416";
    		reg = <0x20>;
    		gpio-controller;
    		#gpio-cells = <2>;
    	};
    
    	exp2: gpio@22 {
    		compatible = "ti,tca6424";
    		reg = <0x22>;
    		gpio-controller;
    		#gpio-cells = <2>;
    
    		p09 {
    			/* P11 - MCASP/TRACE_MUX_S0 */
    			gpio-hog;
    			gpios = <9 GPIO_ACTIVE_HIGH>;
    			output-low;
    			line-name = "MCASP/TRACE_MUX_S0";
    		};
    
    		p10 {
    			/* P12 - MCASP/TRACE_MUX_S1 */
    			gpio-hog;
    			gpios = <10 GPIO_ACTIVE_HIGH>;
    			output-high;
    			line-name = "MCASP/TRACE_MUX_S1";
    		};
    	};
    };
    
    &main_i2c1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c1_pins_default>;
    	clock-frequency = <400000>;
    
    	exp4: gpio@20 {
    		compatible = "ti,tca6408";
    		reg = <0x20>;
    		gpio-controller;
    		#gpio-cells = <2>;
    		pinctrl-names = "default";
    		pinctrl-0 = <&main_i2c1_exp4_pins_default>;
    		interrupt-parent = <&main_gpio1>;
    		interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
    		interrupt-controller;
    		#interrupt-cells = <2>;
    
    		p0 {
    			/* P0 - DP0_PWR_SW_EN */
    			gpio-hog;
    			gpios = <0 GPIO_ACTIVE_HIGH>;
    			output-high;
    			line-name = "DP0_PWR_SW_EN";
    		};
    	};
    };
    
    &k3_clks {
    	/* Confiure AUDIO_EXT_REFCLK2 pin as output */
    	pinctrl-names = "default";
    	pinctrl-0 = <&audi_ext_refclk2_pins_default>;
    };
    
    &main_i2c3 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c3_pins_default>;
    	clock-frequency = <400000>;
    
    	exp3: gpio@20 {
    		compatible = "ti,tca6408";
    		reg = <0x20>;
    		gpio-controller;
    		#gpio-cells = <2>;
    	};
    
    //	pcm3168a_1: audio-codec@44 {
    //		compatible = "ti,pcm3168a";
    //		reg = <0x44>;
    
    //		#sound-dai-cells = <1>;
    
    //		reset-gpios = <&exp3 0 GPIO_ACTIVE_LOW>;
    
    //		/* C_AUDIO_REFCLK2 -> RGMII6_RXC (W26) */
    //		clocks = <&k3_clks 157 371>;
    //		clock-names = "scki";
    
    //		/* HSDIV3_16FFT_MAIN_4_HSDIVOUT2_CLK -> REFCLK2 */
    //		assigned-clocks = <&k3_clks 157 371>;
    //		assigned-clock-parents = <&k3_clks 157 400>;
    //		assigned-clock-rates = <24576000>; /* for 48KHz */
    
    //		VDD1-supply = <&vsys_3v3>;
    //		VDD2-supply = <&vsys_3v3>;
    //		VCCAD1-supply = <&vsys_5v0>;
    //		VCCAD2-supply = <&vsys_5v0>;
    //		VCCDA1-supply = <&vsys_5v0>;
    //		VCCDA2-supply = <&vsys_5v0>;
    //	};
    };
    
    //&main_i2c6 {
    //	pinctrl-names = "default";
    //	pinctrl-0 = <&main_i2c6_pins_default>;
    //	clock-frequency = <400000>;
    
    //	exp5: gpio@20 {
    //		compatible = "ti,tca6408";
    //		reg = <0x20>;
    //		gpio-controller;
    //		#gpio-cells = <2>;
    //	};
    //};
    
    &mcasp10 {
    	#sound-dai-cells = <0>;
    
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcasp10_pins_default>;
    
    	op-mode = <0>;          /* MCASP_IIS_MODE */
    	tdm-slots = <2>;
    	auxclk-fs-ratio = <256>;
    
    	serial-dir = <	/* 0: INACTIVE, 1: TX, 2: RX */
    		1 1 1 1
    		2 2 2 0
    	>;
    	tx-num-evt = <0>;
    	rx-num-evt = <0>;
    
    	status = "okay";
    };
    
    &mcu_cpsw {
    	pinctrl-names = "default";
    //	pinctrl-0 = <&mcu_cpsw_pins_default &mcu_mdio_pins_default>;
       pinctrl-0 = <&mcu_cpsw_pins_default>;
    	cpts {
    		ti,pps = <3 1>;
    	};
    };
    
    //&davinci_mdio {
    //	phy0: ethernet-phy@0 {
    //		reg = <0>;
    //		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    //		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    //	};
    //};
    
    &cpsw_port1 {
    	phy-mode = "rgmii-rxid";
    //	phy-handle = <&phy0>;
    	fixed-link{
    		speed = <1000>;
    		full-duplex;
    	};
    };
    
    #define TS_OFFSET(pa, val)     (0x4 + (pa) * 4) (0x10000 | val)
    
    &timesync_router {
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcu_cpts>;
    
    	mcu_cpts: mcu_cpts {
    		pinctrl-single,pins = <
    			/* pps [cpts genf1] in17 -> out25 [cpts hw4_push] */
    			TS_OFFSET(25, 17)
    		>;
    	};
    };
    
    &main_sdhci0 {
    	/* eMMC */
    	non-removable;
    	ti,driver-strength-ohm = <50>;
    	disable-wp;
    };
    
    &main_sdhci1 {
    	/* SD/MMC */
    //	vmmc-supply = <&vdd_mmc1>;
    //	vqmmc-supply = <&vdd_sd_dv_alt>;
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc1_pins_default>;
    	ti,driver-strength-ohm = <50>;
    	disable-wp;
    		no-1-8-v;
    };
    
    &main_sdhci2 {
    	/* Unused */
    	status = "disabled";
    };
    
    &serdes0 {
    	serdes0_pcie_link: link@0 {
    		reg = <0>;
    		cdns,num-lanes = <1>;
    		#phy-cells = <0>;
    		cdns,phy-type = <PHY_TYPE_PCIE>;
    		resets = <&serdes_wiz0 1>;
    	};
    };
    
    &serdes1 {
    	serdes1_pcie_link: link@0 {
    		reg = <0>;
    		cdns,num-lanes = <2>;
    		#phy-cells = <0>;
    		cdns,phy-type = <PHY_TYPE_PCIE>;
    		resets = <&serdes_wiz1 1>, <&serdes_wiz1 2>;
    	};
    };
    
    &serdes2 {
    	serdes2_pcie_link: link@0 {
    		reg = <0>;
    		cdns,num-lanes = <2>;
    		#phy-cells = <0>;
    		cdns,phy-type = <PHY_TYPE_PCIE>;
    		resets = <&serdes_wiz2 1>, <&serdes_wiz2 2>;
    	};
    };
    
    &main_spi0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&myspi1_pins_default>;
    	ti,spi-num-cs = <2>;
    	spidev@0 {
    		spi-max-frequency = <24000000>;
    		reg = <1>;
    		compatible = "linux,spidev";
    	};
    };
    
    &main_spi0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&myspi1_pins_default>;
    	ti,spi-num-cs = <2>;
    	spidev@0 {
    		spi-max-frequency = <24000000>;
    		reg = <1>;
    		compatible = "linux,spidev";
    	};
    };
    
    &pcie0_rc {
    	reset-gpios = <&exp1 6 GPIO_ACTIVE_HIGH>;
    	phys = <&serdes0_pcie_link>;
    	phy-names = "pcie_phy";
    	num-lanes = <1>;
    };
    
    &pcie1_rc {
    //	reset-gpios = <&exp1 2 GPIO_ACTIVE_HIGH>;
    	phys = <&serdes1_pcie_link>;
    	phy-names = "pcie_phy";
    	num-lanes = <2>;
    	status = "okay";
    };
    
    &pcie2_rc {
    	reset-gpios = <&exp2 20 GPIO_ACTIVE_HIGH>;
    	phys = <&serdes2_pcie_link>;
    	phy-names = "pcie_phy";
    	num-lanes = <2>;
    };
    
    &pcie0_ep {
    	phys = <&serdes0_pcie_link>;
    	phy-names = "pcie_phy";
    	num-lanes = <1>;
    	status = "disabled";
    };
    
    &pcie1_ep {
    	phys = <&serdes1_pcie_link>;
    	phy-names = "pcie_phy";
    	num-lanes = <2>;
    	status = "disabled";
    };
    
    &pcie2_ep {
    	phys = <&serdes2_pcie_link>;
    	phy-names = "pcie_phy";
    	num-lanes = <2>;
    	status = "disabled";
    };
    
    &pcie3_rc {
    	status = "disabled";
    };
    
    &pcie3_ep {
    	status = "disabled";
    };
    
    &usb_serdes_mux {
    	idle-states = <1>, <0>; /* USB0 to SERDES3, USB1 to SERDES1 */
    };
    
    &serdes_ln_ctrl {
    	idle-states = <SERDES0_LANE0_PCIE0_LANE0>, <SERDES0_LANE1_PCIE0_LANE1>,
    		      <SERDES1_LANE0_PCIE1_LANE0>, <SERDES1_LANE1_PCIE1_LANE1>,
    		      <SERDES2_LANE0_PCIE2_LANE0>, <SERDES2_LANE1_PCIE2_LANE1>,
    		      <SERDES3_LANE0_USB3_0_SWAP>, <SERDES3_LANE1_USB3_0>,
    		      <SERDES4_LANE0_EDP_LANE0>, <SERDES4_LANE1_EDP_LANE1>, <SERDES4_LANE2_EDP_LANE2>, <SERDES4_LANE3_EDP_LANE3>;
    };
    
    &serdes_wiz3 {
    	typec-dir-gpios = <&main_gpio1 3 GPIO_ACTIVE_HIGH>;
    	typec-dir-debounce-ms = <700>;	/* TUSB321, tCCB_DEFAULT 133 ms */
    };
    
    &serdes3 {
    	serdes3_usb_link: link@0 {
    		reg = <0>;
    		cdns,num-lanes = <2>;
    		#phy-cells = <0>;
    		cdns,phy-type = <PHY_TYPE_USB3>;
    		resets = <&serdes_wiz3 1>, <&serdes_wiz3 2>;
    	};
    };
    
    &usbss0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_usbss0_pins_default>;
    	ti,vbus-divider;
    };
    
    &usb0 {
    	dr_mode = "otg";
    	maximum-speed = "super-speed";
    	phys = <&serdes3_usb_link>;
    	phy-names = "cdns3,usb3-phy";
    };
    
    &usbss1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_usbss1_pins_default>;
    	ti,usb2-only;
    };
    
    &usb1 {
    	dr_mode = "host";
    	maximum-speed = "high-speed";
    };
    
    /* uart2 assigned to cpsw9g eth-switch fw running on remote CPU core */
    &main_uart2 {
    	status = "disabled";
    };
    

    // SPDX-License-Identifier: GPL-2.0
    /*
     * Device Tree Source for J721E SoC Family
     *
     * Copyright (C) 2016-2019 Texas Instruments Incorporated - http://www.ti.com/
     */
    
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/pinctrl/k3.h>
    #include <dt-bindings/soc/ti,sci_pm_domain.h>
    
    / {
    	model = "Texas Instruments K3 J721E SoC";
    	compatible = "ti,j721e";
    	interrupt-parent = <&gic500>;
    	#address-cells = <2>;
    	#size-cells = <2>;
    
    	aliases {
    		serial0 = &wkup_uart0;
    		serial1 = &mcu_uart0;
    		serial2 = &main_uart0;
    		serial3 = &main_uart1;
    		serial4 = &main_uart2;
    		serial5 = &main_uart3;
    		serial6 = &main_uart4;
    		serial7 = &main_uart5;
    		serial8 = &main_uart6;
    		serial9 = &main_uart7;
    		serial10 = &main_uart8;
    		serial11 = &main_uart9;
    		ethernet0 = &cpsw_port1;
    		rproc0 = &mcu_r5fss0_core0;
    		rproc1 = &mcu_r5fss0_core1;
    		rproc2 = &main_r5fss0_core0;
    		rproc3 = &main_r5fss0_core1;
    		rproc4 = &main_r5fss1_core0;
    		rproc5 = &main_r5fss1_core1;
    		rproc6 = &c66_0;
    		rproc7 = &c66_1;
    		rproc8 = &c71_0;
    	};
    
    	chosen { };
    
    	cpus {
    		#address-cells = <1>;
    		#size-cells = <0>;
    		cpu-map {
    			cluster0: cluster0 {
    				core0 {
    					cpu = <&cpu0>;
    				};
    
    				core1 {
    					cpu = <&cpu1>;
    				};
    			};
    
    		};
    
    		cpu0: cpu@0 {
    			compatible = "arm,cortex-a72";
    			reg = <0x000>;
    			device_type = "cpu";
    			enable-method = "psci";
    			i-cache-size = <0xC000>;
    			i-cache-line-size = <64>;
    			i-cache-sets = <256>;
    			d-cache-size = <0x8000>;
    			d-cache-line-size = <64>;
    			d-cache-sets = <128>;
    			next-level-cache = <&L2_0>;
    		};
    
    		cpu1: cpu@1 {
    			compatible = "arm,cortex-a72";
    			reg = <0x001>;
    			device_type = "cpu";
    			enable-method = "psci";
    			i-cache-size = <0xC000>;
    			i-cache-line-size = <64>;
    			i-cache-sets = <256>;
    			d-cache-size = <0x8000>;
    			d-cache-line-size = <64>;
    			d-cache-sets = <128>;
    			next-level-cache = <&L2_0>;
    		};
    	};
    
    	L2_0: l2-cache0 {
    		compatible = "cache";
    		cache-level = <2>;
    		cache-size = <0x100000>;
    		cache-line-size = <64>;
    		cache-sets = <2048>;
    		next-level-cache = <&msmc_l3>;
    	};
    
    	msmc_l3: l3-cache0 {
    		compatible = "cache";
    		cache-level = <3>;
    	};
    
    	firmware {
    		optee {
    			compatible = "linaro,optee-tz";
    			method = "smc";
    		};
    
    		psci: psci {
    			compatible = "arm,psci-1.0";
    			method = "smc";
    		};
    	};
    
    	a72_timer0: timer-cl0-cpu0 {
    		compatible = "arm,armv8-timer";
    		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* cntpsirq */
    			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* cntpnsirq */
    			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* cntvirq */
    			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* cnthpirq */
    	};
    
    	pmu: pmu {
    		compatible = "arm,armv8-pmuv3";
    		/* Recommendation from GIC500 TRM Table A.3 */
    		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
    	};
    
    	cbass_main: interconnect@100000 {
    		compatible = "simple-bus";
    		#address-cells = <2>;
    		#size-cells = <2>;
    		ranges = <0x00 0x00100000 0x00 0x00100000 0x00 0x00020000>, /* ctrl mmr */
    			 <0x00 0x00600000 0x00 0x00600000 0x00 0x00031100>, /* GPIO */
    			 <0x00 0x00900000 0x00 0x00900000 0x00 0x00012000>, /* serdes */
    			 <0x00 0x00A40000 0x00 0x00A40000 0x00 0x00000800>, /* timesync router */
    			 <0x00 0x06000000 0x00 0x06000000 0x00 0x00400000>, /* USBSS0 */
    			 <0x00 0x06400000 0x00 0x06400000 0x00 0x00400000>, /* USBSS1 */
    			 <0x00 0x01000000 0x00 0x01000000 0x00 0x0af02400>, /* Most peripherals */
    			 <0x00 0x30000000 0x00 0x30000000 0x00 0x0c400000>, /* MAIN NAVSS */
    			 <0x00 0x0d000000 0x00 0x0d000000 0x00 0x01800000>, /* PCIe Core*/
    			 <0x00 0x0e000000 0x00 0x0e000000 0x00 0x01800000>, /* PCIe Core*/
    			 <0x00 0x10000000 0x00 0x10000000 0x00 0x10000000>, /* PCIe DAT */
    			 <0x00 0x64800000 0x00 0x64800000 0x00 0x00800000>, /* C71 */
    			 <0x44 0x00000000 0x44 0x00000000 0x00 0x08000000>, /* PCIe2 DAT */
    			 <0x44 0x10000000 0x44 0x10000000 0x00 0x08000000>, /* PCIe3 DAT */
    			 <0x4d 0x80800000 0x4d 0x80800000 0x00 0x00800000>, /* C66_0 */
    			 <0x4d 0x81800000 0x4d 0x81800000 0x00 0x00800000>, /* C66_1 */
    //			 <0x4e 0x20000000 0x4e 0x20000000 0x00 0x00080000>, /* GPU */
    //			 <0x00 0x70000000 0x00 0x70000000 0x00 0x00800000>, /* MSMC RAM */
    
    			 /* MCUSS_WKUP Range */
    			 <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>,
    			 <0x00 0x40200000 0x00 0x40200000 0x00 0x00998400>,
    			 <0x00 0x40f00000 0x00 0x40f00000 0x00 0x00020000>,
    			 <0x00 0x41000000 0x00 0x41000000 0x00 0x00020000>,
    			 <0x00 0x41400000 0x00 0x41400000 0x00 0x00020000>,
    			 <0x00 0x41c00000 0x00 0x41c00000 0x00 0x00100000>,
    			 <0x00 0x42040000 0x00 0x42040000 0x00 0x03ac2400>,
    			 <0x00 0x45100000 0x00 0x45100000 0x00 0x00c24000>,
    			 <0x00 0x46000000 0x00 0x46000000 0x00 0x00200000>,
    			 <0x00 0x47000000 0x00 0x47000000 0x00 0x00068400>,
    			 <0x00 0x50000000 0x00 0x50000000 0x00 0x10000000>,
    			 <0x05 0x00000000 0x05 0x00000000 0x01 0x00000000>,
    			 <0x07 0x00000000 0x07 0x00000000 0x01 0x00000000>;
    
    		cbass_mcu_wakeup: interconnect@28380000 {
    			compatible = "simple-bus";
    			#address-cells = <2>;
    			#size-cells = <2>;
    			ranges = <0x00 0x28380000 0x00 0x28380000 0x00 0x03880000>, /* MCU NAVSS*/
    				 <0x00 0x40200000 0x00 0x40200000 0x00 0x00998400>, /* First peripheral window */
    				 <0x00 0x40f00000 0x00 0x40f00000 0x00 0x00020000>, /* CTRL_MMR0 */
    				 <0x00 0x41000000 0x00 0x41000000 0x00 0x00020000>, /* MCU R5F Core0 */
    				 <0x00 0x41400000 0x00 0x41400000 0x00 0x00020000>, /* MCU R5F Core1 */
    				 <0x00 0x41c00000 0x00 0x41c00000 0x00 0x00100000>, /* MCU SRAM */
    				 <0x00 0x42040000 0x00 0x42040000 0x00 0x03ac2400>, /* WKUP peripheral window */
    				 <0x00 0x45100000 0x00 0x45100000 0x00 0x00c24000>, /* MMRs, remaining NAVSS */
    				 <0x00 0x46000000 0x00 0x46000000 0x00 0x00200000>, /* CPSW */
    				 <0x00 0x47000000 0x00 0x47000000 0x00 0x00068400>, /* OSPI register space */
    				 <0x00 0x50000000 0x00 0x50000000 0x00 0x10000000>, /* FSS OSPI0/1 data region 0 */
    				 <0x05 0x00000000 0x05 0x00000000 0x01 0x00000000>, /* FSS OSPI0 data region 3 */
    				 <0x07 0x00000000 0x07 0x00000000 0x01 0x00000000>; /* FSS OSPI1 data region 3*/
    		};
    	};
    };
    
    /* Now include the peripherals for each bus segments */
    #include "k3-j721e-main.dtsi"
    #include "k3-j721e-mcu-wakeup.dtsi"
    

    EP file -->

    // SPDX-License-Identifier: GPL-2.0
    /*
     * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/
     */
    
    /dts-v1/;
    
    #include "k3-j721e-som-p0.dtsi"
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/input/input.h>
    #include <dt-bindings/sound/ti-mcasp.h>
    #include <dt-bindings/net/ti-dp83867.h>
    
    / {
    	chosen {
    		stdout-path = "serial2:115200n8";
    		bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000";
    	};
    
    	gpio_keys: gpio-keys {
    		compatible = "gpio-keys";
    		autorepeat;
    		pinctrl-names = "default";
    		pinctrl-0 = <&sw10_button_pins_default &sw11_button_pins_default>;
    
    		sw10: sw10 {
    			label = "GPIO Key USER1";
    			linux,code = <BTN_0>;
    			gpios = <&main_gpio0 0 GPIO_ACTIVE_LOW>;
    		};
    
    		sw11: sw11 {
    			label = "GPIO Key USER2";
    			linux,code = <BTN_1>;
    			gpios = <&wkup_gpio0 7 GPIO_ACTIVE_LOW>;
    		};
    	};
    
    	evm_12v0: fixedregulator-evm12v0 {
    		/* main supply */
    		compatible = "regulator-fixed";
    		regulator-name = "evm_12v0";
    		regulator-min-microvolt = <12000000>;
    		regulator-max-microvolt = <12000000>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vsys_3v3: fixedregulator-vsys3v3 {
    		/* Output of LMS140 */
    		compatible = "regulator-fixed";
    		regulator-name = "vsys_3v3";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		vin-supply = <&evm_12v0>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vsys_5v0: fixedregulator-vsys5v0 {
    		/* Output of LM5140 */
    		compatible = "regulator-fixed";
    		regulator-name = "vsys_5v0";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		vin-supply = <&evm_12v0>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	/* Used for 48KHz family */
    	pll4: pll4_fixed {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <1179648000>;
    	};
    
    	/* Used for 44.1KHz family */
    	pll15: pll15_fixed {
    		#clock-cells = <0>;
    		compatible = "fixed-clock";
    		clock-frequency = <1083801600>;
    	};
    
    	vdd_mmc1: fixedregulator-sd {
    		compatible = "regulator-fixed";
    		regulator-name = "vdd_mmc1";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-boot-on;
    		enable-active-high;
    		vin-supply = <&vsys_3v3>;
    		gpio = <&exp2 2 GPIO_ACTIVE_HIGH>;
    	};
    
    	vdd_sd_dv_alt: gpio-regulator-TLV71033 {
    		compatible = "regulator-gpio";
    		pinctrl-names = "default";
    		pinctrl-0 = <&vdd_sd_dv_alt_pins_default>;
    		regulator-name = "tlv71033";
    		regulator-min-microvolt = <1800000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-boot-on;
    		vin-supply = <&vsys_5v0>;
    		gpios = <&main_gpio0 117 GPIO_ACTIVE_HIGH>;
    		states = <1800000 0x0
    			  3300000 0x1>;
    			  status ="disabled";
    	};
    
    	cpsw9g_virt_mac: main_r5fss_cpsw9g_virt_mac0 {
    		compatible = "ti,j721e-cpsw-virt-mac";
    		dma-coherent;
    		ti,psil-base = <0x4a00>;
    		ti,remote-name = "mpu_1_0_ethswitch-device-0";
    
    		dmas = <&main_udmap 0xca00>,
    		       <&main_udmap 0xca01>,
    		       <&main_udmap 0xca02>,
    		       <&main_udmap 0xca03>,
    		       <&main_udmap 0xca04>,
    		       <&main_udmap 0xca05>,
    		       <&main_udmap 0xca06>,
    		       <&main_udmap 0xca07>,
    		       <&main_udmap 0x4a00>;
    		dma-names = "tx0", "tx1", "tx2", "tx3",
    			    "tx4", "tx5", "tx6", "tx7",
    			    "rx";
    
    		virt_emac_port {
    			ti,label = "virt-port";
    			/* local-mac-address = [0 0 0 0 0 0]; */
    		};
    	};
    
    //	dp0: connector {
    //		compatible = "dp-connector";
    //		label = "DP0";
    
    //		port {
    //			dp_connector_in: endpoint {
    //				remote-endpoint = <&dp_bridge_output>;
    //			};
    //		};
    //	};
    };
    
    &main_pmx0 {
    	sw10_button_pins_default: sw10_button_pins_default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x0, PIN_INPUT, 7) /* (AC18) EXTINTn.GPIO0_0 */
    		>;
    	};
    	
    myspi1_pins_default: myspi1_pins_default {
                       pinctrl-single,pins = <
                                J721E_IOPAD(0x1c8, PIN_OUTPUT, 0) /* (AA1) SPI0_CLK */
                                J721E_IOPAD(0x1c4, PIN_OUTPUT, 0) /* (Y4) SPI0_CS1 */
                                J721E_IOPAD(0x1cc, PIN_INPUT, 0) /* (AB5) SPI0_D0 */
                                J721E_IOPAD(0x1d0, PIN_OUTPUT, 0) /* (AA3) SPI0_D1 */
                       >;
             };
    
    //	dp0_pins_default: dp0_pins_default {
    //		pinctrl-single,pins = <
    //			J721E_IOPAD(0x1c4, PIN_INPUT, 5) 
    //		>;
    //	};
    
    	main_i2c1_exp4_pins_default: main-i2c1-exp4-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x230, PIN_INPUT, 7) /* (U2) ECAP0_IN_APWM_OUT.GPIO1_11 */
    		>;
    	};
    
    	main_i2c0_pins_default: main-i2c0-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x220, PIN_INPUT_PULLUP, 0) /* (AC5) I2C0_SCL */
    			J721E_IOPAD(0x224, PIN_INPUT_PULLUP, 0) /* (AA5) I2C0_SDA */
    		>;
    	};
    
    	main_i2c1_pins_default: main-i2c1-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x228, PIN_INPUT_PULLUP, 0) /* (Y6) I2C1_SCL */
    			J721E_IOPAD(0x22c, PIN_INPUT_PULLUP, 0) /* (AA6) I2C1_SDA */
    		>;
    	};
    
    	main_i2c3_pins_default: main-i2c3-pins-default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x270, PIN_INPUT_PULLUP, 4) /* (T26) MMC2_CLK.I2C3_SCL */
    			J721E_IOPAD(0x274, PIN_INPUT_PULLUP, 4) /* (T25) MMC2_CMD.I2C3_SDA */
    		>;
    	};
    
    //	main_i2c6_pins_default: main-i2c6-pins-default {
    //		pinctrl-single,pins = <
    //			J721E_IOPAD(0x1d0, PIN_INPUT_PULLUP, 2) /* (AA3) SPI0_D1.I2C6_SCL */
    //			J721E_IOPAD(0x1e4, PIN_INPUT_PULLUP, 2) /* (Y2) SPI1_D1.I2C6_SDA */
    //		>;
    //	};
    
    	mcasp10_pins_default: mcasp10_pins_default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x158, PIN_OUTPUT_PULLDOWN, 12) /* (U23) RGMII5_TX_CTL.MCASP10_ACLKX */
    			J721E_IOPAD(0x15c, PIN_OUTPUT_PULLDOWN, 12) /* (U26) RGMII5_RX_CTL.MCASP10_AFSX */
    			J721E_IOPAD(0x160, PIN_OUTPUT_PULLDOWN, 12) /* (V28) RGMII5_TD3.MCASP10_AXR0 */
    			J721E_IOPAD(0x164, PIN_OUTPUT_PULLDOWN, 12) /* (V29) RGMII5_TD2.MCASP10_AXR1 */
    			J721E_IOPAD(0x170, PIN_OUTPUT_PULLDOWN, 12) /* (U29) RGMII5_TXC.MCASP10_AXR2 */
    			J721E_IOPAD(0x174, PIN_OUTPUT_PULLDOWN, 12) /* (U25) RGMII5_RXC.MCASP10_AXR3 */
    			J721E_IOPAD(0x198, PIN_INPUT_PULLDOWN, 12) /* (V25) RGMII6_TD1.MCASP10_AXR4 */
    			J721E_IOPAD(0x19c, PIN_INPUT_PULLDOWN, 12) /* (W27) RGMII6_TD0.MCASP10_AXR5 */
    			J721E_IOPAD(0x1a0, PIN_INPUT_PULLDOWN, 12) /* (W29) RGMII6_TXC.MCASP10_AXR6 */
    			J721E_IOPAD(0xc8, PIN_OUTPUT, 7) /* (AE26) PRG0_PRU0_GPO6.GPIO0_49 */
    		>;
    	};
    
    	audi_ext_refclk2_pins_default: audi_ext_refclk2_pins_default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x1a4, PIN_OUTPUT, 3) /* (W26) RGMII6_RXC.AUDIO_EXT_REFCLK2 */
    		>;
    	};
    
    	main_mmc1_pins_default: main_mmc1_pins_default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x254, PIN_INPUT, 0) /* (R29) MMC1_CMD */
    			J721E_IOPAD(0x250, PIN_INPUT, 0) /* (P25) MMC1_CLK */
    			J721E_IOPAD(0x2ac, PIN_INPUT, 0) /* (P25) MMC1_CLKLB */
    			J721E_IOPAD(0x24c, PIN_INPUT, 0) /* (R24) MMC1_DAT0 */
    			J721E_IOPAD(0x248, PIN_INPUT, 0) /* (P24) MMC1_DAT1 */
    			J721E_IOPAD(0x244, PIN_INPUT, 0) /* (R25) MMC1_DAT2 */
    			J721E_IOPAD(0x240, PIN_INPUT, 0) /* (R26) MMC1_DAT3 */
    			J721E_IOPAD(0x258, PIN_INPUT, 0) /* (P23) MMC1_SDCD */
    			J721E_IOPAD(0x25c, PIN_INPUT, 0) /* (R28) MMC1_SDWP */
    		>;
    	};
    
    	vdd_sd_dv_alt_pins_default: vdd_sd_dv_alt_pins_default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x1d8, PIN_INPUT, 7) /* (W4) SPI1_CS1.GPIO0_117 */
    		>;
    	};
    
    	main_usbss0_pins_default: main_usbss0_pins_default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x290, PIN_OUTPUT, 0) /* (U6) USB0_DRVVBUS */
    			J721E_IOPAD(0x210, PIN_INPUT, 7) /* (W3) MCAN1_RX.GPIO1_3 */
    		>;
    	};
    
    	main_usbss1_pins_default: main_usbss1_pins_default {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x214, PIN_OUTPUT, 4) /* (V4) MCAN1_TX.USB1_DRVVBUS */
    		>;
    	};
    };
    
    &wkup_pmx0 {
    	sw11_button_pins_default: sw11_button_pins_default {
    		pinctrl-single,pins = <
    			J721E_WKUP_IOPAD(0xcc, PIN_INPUT, 7) /* (G28) WKUP_GPIO0_7 */
    			J721E_WKUP_IOPAD(0xc0, PIN_OUTPUT, 7) /* (G25) WKUP_GPIO0_4 */
    		>;
    	};
    
    	mcu_fss0_ospi1_pins_default: mcu-fss0-ospi1-pins-default {
    		pinctrl-single,pins = <
    	  J721E_WKUP_IOPAD(0x0, PIN_OUTPUT, 0) /* (E20) MCU_OSPI0_CLK */
          J721E_WKUP_IOPAD(0x2c, PIN_OUTPUT, 0) /* (F19) MCU_OSPI0_CSn0 */
          J721E_WKUP_IOPAD(0xc, PIN_INPUT, 0) /* (D20) MCU_OSPI0_D0 */
          J721E_WKUP_IOPAD(0x10, PIN_INPUT, 0) /* (G19) MCU_OSPI0_D1 */
          J721E_WKUP_IOPAD(0x14, PIN_INPUT, 0) /* (G20) MCU_OSPI0_D2 */
          J721E_WKUP_IOPAD(0x18, PIN_INPUT, 0) /* (F20) MCU_OSPI0_D3 */
          J721E_WKUP_IOPAD(0x1c, PIN_INPUT, 0) /* (F21) MCU_OSPI0_D4 */
          J721E_WKUP_IOPAD(0x20, PIN_INPUT, 0) /* (E21) MCU_OSPI0_D5 */
          J721E_WKUP_IOPAD(0x24, PIN_INPUT, 0) /* (B22) MCU_OSPI0_D6 */
          J721E_WKUP_IOPAD(0x28, PIN_INPUT, 0) /* (G21) MCU_OSPI0_D7 */
          J721E_WKUP_IOPAD(0x8, PIN_INPUT, 0) /* (D21) MCU_OSPI0_DQS */
    		>;
    	};
    };
    
    &wkup_pmx0 {
    	mcu_cpsw_pins_default: mcu_cpsw_pins_default {
    		pinctrl-single,pins = <
    			J721E_WKUP_IOPAD(0x0058, PIN_OUTPUT, 0) /* MCU_RGMII1_TX_CTL */
    			J721E_WKUP_IOPAD(0x005c, PIN_INPUT, 0) /* MCU_RGMII1_RX_CTL */
    			J721E_WKUP_IOPAD(0x0060, PIN_OUTPUT, 0) /* MCU_RGMII1_TD3 */
    			J721E_WKUP_IOPAD(0x0064, PIN_OUTPUT, 0) /* MCU_RGMII1_TD2 */
    			J721E_WKUP_IOPAD(0x0068, PIN_OUTPUT, 0) /* MCU_RGMII1_TD1 */
    			J721E_WKUP_IOPAD(0x006c, PIN_OUTPUT, 0) /* MCU_RGMII1_TD0 */
    			J721E_WKUP_IOPAD(0x0078, PIN_INPUT, 0) /* MCU_RGMII1_RD3 */
    			J721E_WKUP_IOPAD(0x007c, PIN_INPUT, 0) /* MCU_RGMII1_RD2 */
    			J721E_WKUP_IOPAD(0x0080, PIN_INPUT, 0) /* MCU_RGMII1_RD1 */
    			J721E_WKUP_IOPAD(0x0084, PIN_INPUT, 0) /* MCU_RGMII1_RD0 */
    			J721E_WKUP_IOPAD(0x0070, PIN_OUTPUT, 0) /* MCU_RGMII1_TXC */
    			J721E_WKUP_IOPAD(0x0074, PIN_INPUT, 0) /* MCU_RGMII1_RXC */
    		>;
    	};
    
    	mcu_mdio_pins_default: mcu_mdio1_pins_default {
    		pinctrl-single,pins = <
    			J721E_WKUP_IOPAD(0x008c, PIN_OUTPUT, 0) /* MCU_MDIO0_MDC */
    			J721E_WKUP_IOPAD(0x0088, PIN_INPUT, 0) /* MCU_MDIO0_MDIO */
    		>;
    	};
    };
    
    &wkup_uart0 {
    	/* Wakeup UART is used by System firmware */
    	status = "disabled";
    };
    
    &main_uart0 {
    	power-domains = <&k3_pds 146 TI_SCI_PD_SHARED>;
    };
    
    &main_uart3 {
    	/* UART not brought out */
    	status = "disabled";
    };
    
    &main_uart5 {
    	/* UART not brought out */
    	status = "disabled";
    };
    
    &main_uart6 {
    	/* UART not brought out */
    	status = "disabled";
    };
    
    &main_uart7 {
    	/* UART not brought out */
    	status = "disabled";
    };
    
    &main_uart8 {
    	/* UART not brought out */
    	status = "disabled";
    };
    
    &main_uart9 {
    	/* UART not brought out */
    	status = "disabled";
    };
    
    &main_gpio2 {
    	status = "disabled";
    };
    
    &main_gpio3 {
    	status = "disabled";
    };
    
    &main_gpio4 {
    	status = "disabled";
    };
    
    &main_gpio5 {
    	status = "disabled";
    };
    
    &main_gpio6 {
    	status = "disabled";
    };
    
    &main_gpio7 {
    	status = "disabled";
    };
    
    &wkup_gpio1 {
    	status = "disabled";
    };
    
    &mailbox0_cluster0 {
    	interrupts = <436>;
    
    	mbox_mcu_r5fss0_core0: mbox-mcu-r5fss0-core0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_mcu_r5fss0_core1: mbox-mcu-r5fss0-core1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster1 {
    	interrupts = <432>;
    
    	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster2 {
    	interrupts = <428>;
    
    	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster3 {
    	interrupts = <424>;
    
    	mbox_c66_0: mbox-c66-0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    
    	mbox_c66_1: mbox-c66-1 {
    		ti,mbox-rx = <2 0 0>;
    		ti,mbox-tx = <3 0 0>;
    	};
    };
    
    &mailbox0_cluster4 {
    	interrupts = <420>;
    
    	mbox_c71_0: mbox-c71-0 {
    		ti,mbox-rx = <0 0 0>;
    		ti,mbox-tx = <1 0 0>;
    	};
    };
    
    &mailbox0_cluster5 {
    	status = "disabled";
    };
    
    &mailbox0_cluster6 {
    	status = "disabled";
    };
    
    &mailbox0_cluster7 {
    	status = "disabled";
    };
    
    &mailbox0_cluster8 {
    	status = "disabled";
    };
    
    &mailbox0_cluster9 {
    	status = "disabled";
    };
    
    &mailbox0_cluster10 {
    	status = "disabled";
    };
    
    &mailbox0_cluster11 {
    	status = "disabled";
    };
    
    &mcu_r5fss0_core0 {
    	mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core0>;
    };
    
    &mcu_r5fss0_core1 {
    	mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core1>;
    };
    
    &main_r5fss0_core0 {
    	mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core0>;
    };
    
    &main_r5fss0_core1 {
    	mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core1>;
    };
    
    &main_r5fss1_core0 {
    	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core0>;
    };
    
    &main_r5fss1_core1 {
    	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core1>;
    };
    
    &c66_0 {
    	mboxes = <&mailbox0_cluster3 &mbox_c66_0>;
    };
    
    &c66_1 {
    	mboxes = <&mailbox0_cluster3 &mbox_c66_1>;
    };
    
    &c71_0 {
    	mboxes = <&mailbox0_cluster4 &mbox_c71_0>;
    };
    
    &ospi1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcu_fss0_ospi1_pins_default>;
    
    	flash@0{
    		compatible = "jedec,spi-nor";
    		reg = <0x0>;
    		spi-tx-bus-width = <1>;
    		spi-rx-bus-width = <4>;
    		spi-max-frequency = <40000000>;
    		cdns,tshsl-ns = <60>;
    		cdns,tsd2d-ns = <60>;
    		cdns,tchsh-ns = <60>;
    		cdns,tslch-ns = <60>;
    		cdns,read-delay = <2>;
    		#address-cells = <1>;
    		#size-cells = <1>;
    	};
    };
    
    &tscadc0 {
    	adc {
    		ti,adc-channels = <0 1 2 3 4 5 6 7>;
    	};
    };
    
    &tscadc1 {
    	adc {
    		ti,adc-channels = <0 1 2 3 4 5 6 7>;
    	};
    };
    
    &dss {
    	status = "ok";
    };
    
    &dss_ports {
    	#address-cells = <1>;
    	#size-cells = <0>;
    
    	port@0 {
    		reg = <0>;
    
    //		dpi_out_real0: endpoint {
    //			remote-endpoint = <&dp_bridge_input>;
    //		};
    //	};
    //};
    
    //&mhdp {
    //	status = "ok";
    //	pinctrl-names = "default";
    //	pinctrl-0 = <&dp0_pins_default>;
    };
    };
    
    //&dp0_ports {
    //	#address-cells = <1>;
    //	#size-cells = <0>;
    
    //	port@0 {
    //		reg = <0>;
    //		dp_bridge_input: endpoint {
    //			remote-endpoint = <&dpi_out_real0>;
    //		};
    //	};
    
    //	port@1 {
    //		reg = <1>;
    //		dp_bridge_output: endpoint {
    //			remote-endpoint = <&dp_connector_in>;
    //		};
    //	};
    //};
    
    &main_i2c0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c0_pins_default>;
    	clock-frequency = <400000>;
    
    	exp1: gpio@20 {
    		compatible = "ti,tca6416";
    		reg = <0x20>;
    		gpio-controller;
    		#gpio-cells = <2>;
    	};
    
    	exp2: gpio@22 {
    		compatible = "ti,tca6424";
    		reg = <0x22>;
    		gpio-controller;
    		#gpio-cells = <2>;
    
    		p09 {
    			/* P11 - MCASP/TRACE_MUX_S0 */
    			gpio-hog;
    			gpios = <9 GPIO_ACTIVE_HIGH>;
    			output-low;
    			line-name = "MCASP/TRACE_MUX_S0";
    		};
    
    		p10 {
    			/* P12 - MCASP/TRACE_MUX_S1 */
    			gpio-hog;
    			gpios = <10 GPIO_ACTIVE_HIGH>;
    			output-high;
    			line-name = "MCASP/TRACE_MUX_S1";
    		};
    	};
    };
    
    &main_i2c1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c1_pins_default>;
    	clock-frequency = <400000>;
    
    	exp4: gpio@20 {
    		compatible = "ti,tca6408";
    		reg = <0x20>;
    		gpio-controller;
    		#gpio-cells = <2>;
    		pinctrl-names = "default";
    		pinctrl-0 = <&main_i2c1_exp4_pins_default>;
    		interrupt-parent = <&main_gpio1>;
    		interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
    		interrupt-controller;
    		#interrupt-cells = <2>;
    
    		p0 {
    			/* P0 - DP0_PWR_SW_EN */
    			gpio-hog;
    			gpios = <0 GPIO_ACTIVE_HIGH>;
    			output-high;
    			line-name = "DP0_PWR_SW_EN";
    		};
    	};
    };
    
    &k3_clks {
    	/* Confiure AUDIO_EXT_REFCLK2 pin as output */
    	pinctrl-names = "default";
    	pinctrl-0 = <&audi_ext_refclk2_pins_default>;
    };
    
    &main_i2c3 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c3_pins_default>;
    	clock-frequency = <400000>;
    
    	exp3: gpio@20 {
    		compatible = "ti,tca6408";
    		reg = <0x20>;
    		gpio-controller;
    		#gpio-cells = <2>;
    	};
    
    //	pcm3168a_1: audio-codec@44 {
    //		compatible = "ti,pcm3168a";
    //		reg = <0x44>;
    
    //		#sound-dai-cells = <1>;
    
    //		reset-gpios = <&exp3 0 GPIO_ACTIVE_LOW>;
    
    //		/* C_AUDIO_REFCLK2 -> RGMII6_RXC (W26) */
    //		clocks = <&k3_clks 157 371>;
    //		clock-names = "scki";
    
    //		/* HSDIV3_16FFT_MAIN_4_HSDIVOUT2_CLK -> REFCLK2 */
    //		assigned-clocks = <&k3_clks 157 371>;
    //		assigned-clock-parents = <&k3_clks 157 400>;
    //		assigned-clock-rates = <24576000>; /* for 48KHz */
    
    //		VDD1-supply = <&vsys_3v3>;
    //		VDD2-supply = <&vsys_3v3>;
    //		VCCAD1-supply = <&vsys_5v0>;
    //		VCCAD2-supply = <&vsys_5v0>;
    //		VCCDA1-supply = <&vsys_5v0>;
    //		VCCDA2-supply = <&vsys_5v0>;
    //	};
    };
    
    //&main_i2c6 {
    //	pinctrl-names = "default";
    //	pinctrl-0 = <&main_i2c6_pins_default>;
    //	clock-frequency = <400000>;
    
    //	exp5: gpio@20 {
    //		compatible = "ti,tca6408";
    //		reg = <0x20>;
    //		gpio-controller;
    //		#gpio-cells = <2>;
    //	};
    //};
    
    &mcasp10 {
    	#sound-dai-cells = <0>;
    
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcasp10_pins_default>;
    
    	op-mode = <0>;          /* MCASP_IIS_MODE */
    	tdm-slots = <2>;
    	auxclk-fs-ratio = <256>;
    
    	serial-dir = <	/* 0: INACTIVE, 1: TX, 2: RX */
    		1 1 1 1
    		2 2 2 0
    	>;
    	tx-num-evt = <0>;
    	rx-num-evt = <0>;
    
    	status = "okay";
    };
    
    &mcu_cpsw {
    	pinctrl-names = "default";
    //	pinctrl-0 = <&mcu_cpsw_pins_default &mcu_mdio_pins_default>;
       pinctrl-0 = <&mcu_cpsw_pins_default>;
    	cpts {
    		ti,pps = <3 1>;
    	};
    };
    
    //&davinci_mdio {
    //	phy0: ethernet-phy@0 {
    //		reg = <0>;
    //		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    //		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    //	};
    //};
    
    &cpsw_port1 {
    	phy-mode = "rgmii-rxid";
    //	phy-handle = <&phy0>;
    	fixed-link{
    		speed = <1000>;
    		full-duplex;
    	};
    };
    
    #define TS_OFFSET(pa, val)     (0x4 + (pa) * 4) (0x10000 | val)
    
    &timesync_router {
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcu_cpts>;
    
    	mcu_cpts: mcu_cpts {
    		pinctrl-single,pins = <
    			/* pps [cpts genf1] in17 -> out25 [cpts hw4_push] */
    			TS_OFFSET(25, 17)
    		>;
    	};
    };
    
    &main_sdhci0 {
    	/* eMMC */
    	non-removable;
    	ti,driver-strength-ohm = <50>;
    	disable-wp;
    };
    
    &main_sdhci1 {
    	/* SD/MMC */
    //	vmmc-supply = <&vdd_mmc1>;
    //	vqmmc-supply = <&vdd_sd_dv_alt>;
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc1_pins_default>;
    	ti,driver-strength-ohm = <50>;
    	disable-wp;
    		no-1-8-v;
    };
    
    &main_sdhci2 {
    	/* Unused */
    	status = "disabled";
    };
    
    &serdes0 {
    	serdes0_pcie_link: link@0 {
    		reg = <0>;
    		cdns,num-lanes = <1>;
    		#phy-cells = <0>;
    		cdns,phy-type = <PHY_TYPE_PCIE>;
    		resets = <&serdes_wiz0 1>;
    	};
    };
    
    &serdes1 {
    	serdes1_pcie_link: link@0 {
    		reg = <0>;
    		cdns,num-lanes = <2>;
    		#phy-cells = <0>;
    		cdns,phy-type = <PHY_TYPE_PCIE>;
    		resets = <&serdes_wiz1 1>, <&serdes_wiz1 2>;
    	};
    };
    
    &serdes2 {
    	serdes2_pcie_link: link@0 {
    		reg = <0>;
    		cdns,num-lanes = <2>;
    		#phy-cells = <0>;
    		cdns,phy-type = <PHY_TYPE_PCIE>;
    		resets = <&serdes_wiz2 1>, <&serdes_wiz2 2>;
    	};
    };
    
    &main_spi0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&myspi1_pins_default>;
    	ti,spi-num-cs = <2>;
    	spidev@0 {
    		spi-max-frequency = <24000000>;
    		reg = <1>;
    		compatible = "linux,spidev";
    	};
    };
    
    &main_spi0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&myspi1_pins_default>;
    	ti,spi-num-cs = <2>;
    	spidev@0 {
    		spi-max-frequency = <24000000>;
    		reg = <1>;
    		compatible = "linux,spidev";
    	};
    };
    
    &pcie0_rc {
    	reset-gpios = <&exp1 6 GPIO_ACTIVE_HIGH>;
    	phys = <&serdes0_pcie_link>;
    	phy-names = "pcie_phy";
    	num-lanes = <1>;
    };
    
    &pcie1_rc {
    //	reset-gpios = <&exp1 2 GPIO_ACTIVE_HIGH>;
    	phys = <&serdes1_pcie_link>;
    	phy-names = "pcie_phy";
    	num-lanes = <2>;
    	status = "okay";
    };
    
    &pcie2_rc {
    	reset-gpios = <&exp2 20 GPIO_ACTIVE_HIGH>;
    	phys = <&serdes2_pcie_link>;
    	phy-names = "pcie_phy";
    	num-lanes = <2>;
    };
    
    &pcie0_ep {
    	phys = <&serdes0_pcie_link>;
    	phy-names = "pcie_phy";
    	num-lanes = <1>;
    	status = "disabled";
    };
    
    &pcie1_ep {
    	phys = <&serdes1_pcie_link>;
    	phy-names = "pcie_phy";
    	num-lanes = <2>;
    	status = "disabled";
    };
    
    &pcie2_ep {
    	phys = <&serdes2_pcie_link>;
    	phy-names = "pcie_phy";
    	num-lanes = <2>;
    	status = "disabled";
    };
    
    &pcie3_rc {
    	status = "disabled";
    };
    
    &pcie3_ep {
    	status = "disabled";
    };
    
    &usb_serdes_mux {
    	idle-states = <1>, <0>; /* USB0 to SERDES3, USB1 to SERDES1 */
    };
    
    &serdes_ln_ctrl {
    	idle-states = <SERDES0_LANE0_PCIE0_LANE0>, <SERDES0_LANE1_PCIE0_LANE1>,
    		      <SERDES1_LANE0_PCIE1_LANE0>, <SERDES1_LANE1_PCIE1_LANE1>,
    		      <SERDES2_LANE0_PCIE2_LANE0>, <SERDES2_LANE1_PCIE2_LANE1>,
    		      <SERDES3_LANE0_USB3_0_SWAP>, <SERDES3_LANE1_USB3_0>,
    		      <SERDES4_LANE0_EDP_LANE0>, <SERDES4_LANE1_EDP_LANE1>, <SERDES4_LANE2_EDP_LANE2>, <SERDES4_LANE3_EDP_LANE3>;
    };
    
    &serdes_wiz3 {
    	typec-dir-gpios = <&main_gpio1 3 GPIO_ACTIVE_HIGH>;
    	typec-dir-debounce-ms = <700>;	/* TUSB321, tCCB_DEFAULT 133 ms */
    };
    
    &serdes3 {
    	serdes3_usb_link: link@0 {
    		reg = <0>;
    		cdns,num-lanes = <2>;
    		#phy-cells = <0>;
    		cdns,phy-type = <PHY_TYPE_USB3>;
    		resets = <&serdes_wiz3 1>, <&serdes_wiz3 2>;
    	};
    };
    
    &usbss0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_usbss0_pins_default>;
    	ti,vbus-divider;
    };
    
    &usb0 {
    	dr_mode = "otg";
    	maximum-speed = "super-speed";
    	phys = <&serdes3_usb_link>;
    	phy-names = "cdns3,usb3-phy";
    };
    
    &usbss1 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_usbss1_pins_default>;
    	ti,usb2-only;
    };
    
    &usb1 {
    	dr_mode = "host";
    	maximum-speed = "high-speed";
    };
    
    /* uart2 assigned to cpsw9g eth-switch fw running on remote CPU core */
    &main_uart2 {
    	status = "disabled";
    };
    

  • Hi Manish,

    Both the files you attached look same.
    Did you try the changes I mentioned in the previous response? Ideally those should be the only changes needed for enabling ep.

    Regards,
    Vishal

  • Hi Vishal , 

    By mistake i added the same file. I have added the changes and here below is the diff of the EP and RC. Anyways for now i used the bianries from other colleagues where it was working. To my Surprise we have same dts but when i use his also and make DT, it still doesn't work. But with his binaries it works fine. Also can you please reply to the other ticket for the writing of data over PCIe.