diff options
Diffstat (limited to 'bsp/meta-ti/recipes-kernel/linux/files')
20 files changed, 2049 insertions, 0 deletions
diff --git a/bsp/meta-ti/recipes-kernel/linux/files/cmem.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/cmem.dtsi new file mode 100644 index 00000000..23119861 --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/cmem.dtsi @@ -0,0 +1,38 @@ +/* + * This is a placeholder for CMEM reserved memory declarations. This + * is simply an example and does not actually reserve any memory for + * CMEM. + * + * The commented sections below provide an example for how to provide + * a reserved memory region for CMEM to use as a buffer pool. + */ +/ { +/* + reserved-memory { + cmem_block_mem_0: cmem_block_mem@a0000000 { + reg = <0x0 0xa0000000 0x0 0x0a000000>; + no-map; + status = "okay"; + }; + }; +*/ + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "disabled"; +/* + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x0 0x0a000000>; + }; +*/ + }; +}; diff --git a/bsp/meta-ti/recipes-kernel/linux/files/configs/empty b/bsp/meta-ti/recipes-kernel/linux/files/configs/empty new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/configs/empty diff --git a/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/am571x-pru-uio.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/am571x-pru-uio.dtsi new file mode 100644 index 00000000..4228827e --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/am571x-pru-uio.dtsi @@ -0,0 +1,284 @@ +&pruss_soc_bus1 { + uio_pruss1_mdio { + status = "okay"; + + compatible = "ti,davinci_mdio"; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&dpll_gmac_h13x2_ck>; + clock-names = "fck"; + bus_freq = <1000000>; + reg = <0x32400 0x90>; + + reset-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>; + reset-delay-us = <2>; /* PHY datasheet states 1uS min */ + uio_pruss1_eth0_phy: uio_ethernet-phy@0 { + reg = <0>; + }; + + uio_pruss1_eth1_phy: uio_ethernet-phy@1 { + reg = <1>; + }; + }; + + uio_pruss1_mem: uio_pruss1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b200000 0x2000>, + <0x4b202000 0x2000>, + <0x4b210000 0x8000>, + <0x4b220000 0x5404>, + <0x4b226000 0x474>, + <0x4b22e000 0xc04>, + <0x4b232000 0x154>; + mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", + "iep", "mii_rt"; + status = "okay"; + }; + uio_pruss1_mem2: uio_pruss1_mem2 { + compatible = "ti,uio-module-drv"; + mem = <0x4b228000 0xd4>, + <0x4b230000 0x174>, + <0x4b232400 0x234>, + <0x40300000 0x40000>; + mem-names = "uart", "ecap", "mdio", "ocmc"; + status = "okay"; + }; + uio_pruss1_evt0: uio_pruss1_evt0 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt1: uio_pruss1_evt1 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt2: uio_pruss1_evt2 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt3: uio_pruss1_evt3 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt4: uio_pruss1_evt4 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt5: uio_pruss1_evt5 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt6: uio_pruss1_evt6 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt7: uio_pruss1_evt7 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + + uio_pruss1_0_mem: uio_pruss1_0_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b234000 0x3000>, + <0x4b222000 0xb4>, + <0x4b222400 0x3f4>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + + uio_pruss1_1_mem: uio_pruss1_1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b238000 0x3000>, + <0x4b224000 0xb4>, + <0x4b224400 0x3f4>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; +}; + +&pruss_soc_bus2 { + uio_pruss2_mdio { + compatible = "ti,davinci_mdio"; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&dpll_gmac_h13x2_ck>; + clock-names = "fck"; + bus_freq = <1000000>; + reg = <0x32400 0x90>; + status = "okay"; + + reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; + reset-delay-us = <2>; /* PHY datasheet states 1uS min */ + + uio_pruss2_eth0_phy: ethernet-phy@0 { + reg = <0>; + }; + + uio_pruss2_eth1_phy: ethernet-phy@1 { + reg = <1>; + }; + }; + + uio_pruss2_mem: uio_pruss2_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b280000 0x2000>, + <0x4b282000 0x2000>, + <0x4b290000 0x8000>, + <0x4b2a0000 0x5404>, + <0x4b2a6000 0x474>, + <0x4b2ae000 0xc04>, + <0x4b2b2000 0x154>; + mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", + "iep", "mii_rt"; + status = "okay"; + }; + uio_pruss2_mem2: uio_pruss2_mem2 { + compatible = "ti,uio-module-drv"; + mem = <0x4b2a8000 0xd4>, + <0x4b2b0000 0x174>, + <0x4b2b2400 0x234>, + <0x40340000 0x40000>; + mem-names = "uart", "ecap", "mdio", "ocmc"; + status = "okay"; + }; + uio_pruss2_evt0: uio_pruss2_evt0 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt1: uio_pruss2_evt1 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt2: uio_pruss2_evt2 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt3: uio_pruss2_evt3 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt4: uio_pruss2_evt4 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt5: uio_pruss2_evt5 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt6: uio_pruss2_evt6 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt7: uio_pruss2_evt7 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + + uio_pruss2_0_mem: uio_pruss2_0_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b2b4000 0x3000>, + <0x4b2a2000 0xb4>, + <0x4b2a2400 0x3f4>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + uio_pruss2_1_mem: uio_pruss2_1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b2b8000 0x3000>, + <0x4b2a4000 0xb4>, + <0x4b2a4400 0x3f4>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + }; + +&pruss1_eth { + status = "disabled"; +}; + +&pruss1_emac0 { + status = "disabled"; +}; + +&pruss1_emac1 { + status = "disabled"; +}; + +&pruss2_emac0 { + status = "disabled"; +}; + +&pruss2_emac1 { + status = "disabled"; +}; + +&pruss1 { + status = "disabled"; +}; + +&pru1_0 { + status = "disabled"; +}; + +&pru1_1 { + status = "disabled"; +}; + +&pruss1_intc { + status = "disabled"; +}; + +&pruss1_mdio { + status = "disabled"; +}; + +&pruss2 { + status = "disabled"; +}; + +&pru2_0 { + status = "disabled"; +}; + +&pru2_1 { + status = "disabled"; +}; + +&pruss2_intc { + status = "disabled"; +}; + +&pruss2_mdio { + status = "disabled"; +}; diff --git a/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/am57xx-pru-uio.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/am57xx-pru-uio.dtsi new file mode 100644 index 00000000..17b3f963 --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/am57xx-pru-uio.dtsi @@ -0,0 +1,252 @@ +&pruss_soc_bus1 { + uio_pruss1_mem: uio_pruss1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b200000 0x2000>, + <0x4b202000 0x2000>, + <0x4b210000 0x8000>, + <0x4b220000 0x2000>, + <0x4b226000 0x2000>, + <0x4b22e000 0x31c>, + <0x4b232000 0x58>; + mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", + "iep", "mii_rt"; + status = "okay"; + }; + uio_pruss1_mem2: uio_pruss1_mem2 { + compatible = "ti,uio-module-drv"; + mem = <0x4b228000 0x38>, + <0x4b230000 0x60>, + <0x4b232400 0x90>, + <0x40340000 0x40000>; + mem-names = "uart", "ecap", "mdio", "ocmc"; + status = "okay"; + }; + uio_pruss1_evt0: uio_pruss1_evt0 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt1: uio_pruss1_evt1 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt2: uio_pruss1_evt2 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt3: uio_pruss1_evt3 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt4: uio_pruss1_evt4 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt5: uio_pruss1_evt5 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt6: uio_pruss1_evt6 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt7: uio_pruss1_evt7 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + + uio_pruss1_0_mem: uio_pruss1_0_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b234000 0x3000>, + <0x4b222000 0x400>, + <0x4b222400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + + uio_pruss1_1_mem: uio_pruss1_1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b238000 0x3000>, + <0x4b224000 0x400>, + <0x4b224400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; +}; + +&pruss1 { + status = "disabled"; +}; + +&pru1_0 { + status = "disabled"; +}; + +&pru1_1 { + status = "disabled"; +}; + +&pruss1_intc { + status = "disabled"; +}; + +&pruss_soc_bus2 { + uio_pruss2_mdio: uio_pruss2_mdio { + compatible = "ti,davinci_mdio"; + #address-cells = <1>; + #size-cells = <0>; + clocks = <&dpll_gmac_h13x2_ck>; + clock-names = "fck"; + bus_freq = <1000000>; + reg = <0x32400 0x90>; + status = "disabled"; + }; + + uio_pruss2_mem: uio_pruss2_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b280000 0x2000>, + <0x4b282000 0x2000>, + <0x4b290000 0x8000>, + <0x4b2a0000 0x2000>, + <0x4b2a6000 0x2000>, + <0x4b2ae000 0x31c>, + <0x4b2b2000 0x58>; + mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", + "iep", "mii_rt"; + status = "okay"; + }; + uio_pruss2_mem2: uio_pruss2_mem2 { + compatible = "ti,uio-module-drv"; + mem = <0x4b2a8000 0x38>, + <0x4b2b0000 0x60>, + <0x4b2b2400 0x90>, + <0x40300000 0x40000>; + mem-names = "uart", "ecap", "mdio", "ocmc"; + status = "okay"; + }; + uio_pruss2_evt0: uio_pruss2_evt0 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt1: uio_pruss2_evt1 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt2: uio_pruss2_evt2 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt3: uio_pruss2_evt3 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt4: uio_pruss2_evt4 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt5: uio_pruss2_evt5 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt6: uio_pruss2_evt6 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt7: uio_pruss2_evt7 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + + uio_pruss2_0_mem: uio_pruss2_0_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b2b4000 0x3000>, + <0x4b2a2000 0x400>, + <0x4b2a2400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + uio_pruss2_1_mem: uio_pruss2_1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4b2b8000 0x3000>, + <0x4b2a4000 0x400>, + <0x4b2a4400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; +}; + +&uio_pruss2_mdio { + reset-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>, + <&gpio5 9 GPIO_ACTIVE_LOW>; + reset-delay-us = <2>; /* PHY datasheet states 1uS min */ +}; + +&uio_pruss2_mdio { + status = "okay"; + uio_pruss2_eth0_phy: uio_pruss2_eth0_phy@0 { + reg = <0>; + }; + + uio_pruss2_eth1_phy: uio_pruss2_eth1_phy@1 { + reg = <1>; + }; +}; + +&pruss2_emac0 { + status = "disabled"; +}; + +&pruss2_emac1 { + status = "disabled"; +}; + +&pruss2 { + status = "disabled"; +}; + +&pru2_0 { + status = "disabled"; +}; + +&pru2_1 { + status = "disabled"; +}; + +&pruss2_intc { + status = "disabled"; +}; + +&pruss2_mdio { + status = "disabled"; +}; diff --git a/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/cmem-am571x.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/cmem-am571x.dtsi new file mode 100644 index 00000000..ebd61296 --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/cmem-am571x.dtsi @@ -0,0 +1,29 @@ +/ { + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + cmem_block_mem_0: cmem_block_mem@a0000000 { + reg = <0x0 0xa0000000 0x0 0x0c000000>; + no-map; + status = "okay"; + }; + }; + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x0 0x0c000000>; + }; + }; +}; diff --git a/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/cmem-am574x.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/cmem-am574x.dtsi new file mode 100644 index 00000000..8fb3e871 --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/cmem-am574x.dtsi @@ -0,0 +1,40 @@ +/ { + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + cmem_block_mem_0: cmem_block_mem@a0000000 { + reg = <0x0 0xa0000000 0x0 0x18000000>; + no-map; + status = "okay"; + }; + + cmem_block_mem_1_ocmc3: cmem_block_mem@40500000 { + reg = <0x0 0x40500000 0x0 0x100000>; + no-map; + status = "okay"; + }; + }; + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x0 0x18000000>; + }; + + cmem_block_1: cmem_block@1 { + reg = <1>; + memory-region = <&cmem_block_mem_1_ocmc3>; + }; + }; +}; diff --git a/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/cmem-dra71x.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/cmem-dra71x.dtsi new file mode 100644 index 00000000..ebd61296 --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/cmem-dra71x.dtsi @@ -0,0 +1,29 @@ +/ { + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + cmem_block_mem_0: cmem_block_mem@a0000000 { + reg = <0x0 0xa0000000 0x0 0x0c000000>; + no-map; + status = "okay"; + }; + }; + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x0 0x0c000000>; + }; + }; +}; diff --git a/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/cmem-dra72x.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/cmem-dra72x.dtsi new file mode 100644 index 00000000..ebd61296 --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/cmem-dra72x.dtsi @@ -0,0 +1,29 @@ +/ { + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + cmem_block_mem_0: cmem_block_mem@a0000000 { + reg = <0x0 0xa0000000 0x0 0x0c000000>; + no-map; + status = "okay"; + }; + }; + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x0 0x0c000000>; + }; + }; +}; diff --git a/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/cmem.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/cmem.dtsi new file mode 100644 index 00000000..c7781c48 --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/dra7xx/cmem.dtsi @@ -0,0 +1,40 @@ +/ { + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + cmem_block_mem_0: cmem_block_mem@a0000000 { + reg = <0x0 0xa0000000 0x0 0x0c000000>; + no-map; + status = "okay"; + }; + + cmem_block_mem_1_ocmc3: cmem_block_mem@40500000 { + reg = <0x0 0x40500000 0x0 0x100000>; + no-map; + status = "okay"; + }; + }; + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x0 0x0c000000>; + }; + + cmem_block_1: cmem_block@1 { + reg = <1>; + memory-region = <&cmem_block_mem_1_ocmc3>; + }; + }; +}; diff --git a/bsp/meta-ti/recipes-kernel/linux/files/k2e/cmem.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/k2e/cmem.dtsi new file mode 100644 index 00000000..c233768d --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/k2e/cmem.dtsi @@ -0,0 +1,36 @@ +/ { + reserved-memory { + cmem_block_mem_0: cmem_block_mem@830000000 { + reg = <0x00000008 0x30000000 0x00000000 0x18000000>; + no-map; + status = "okay"; + }; + }; + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x00000000 0x18000000>; + }; + + cmem_block_1: cmem_block@1 { + reg = <1>; + sram = <&sram_cmem>; + }; + }; +}; + +&msm_ram { + sram_cmem: sram-cmem@80000 { + reg = <0x80000 0xc0000>; + }; +}; diff --git a/bsp/meta-ti/recipes-kernel/linux/files/k2e/k2e-uio.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/k2e/k2e-uio.dtsi new file mode 100644 index 00000000..052ae97c --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/k2e/k2e-uio.dtsi @@ -0,0 +1,32 @@ +/ { + soc { + uio_hyperlink0: hyperlink0 { + compatible = "ti,uio-module-drv"; + mem = <0x21400000 0x00001000 + 0x40000000 0x10000000 + 0x0231a000 0x00002000>; + clocks = <&clkhyperlink0>; + interrupts = <0 387 0x101>; + cfg-params + { + ti,serdes_refclk_khz = <312500>; + ti,serdes_maxserrate_khz = <6250000>; + ti,serdes_lanerate = "half"; + ti,serdes_numlanes = <4>; + ti,serdes_c1 = <4 4 4 4>; + ti,serdes_c2 = <0 0 0 0>; + ti,serdes_cm = <0 0 0 0>; + ti,serdes_tx_att = <12 12 12 12>; + ti,serdes_tx_vreg = <4 4 4 4>; + ti,serdes_rx_att = <11 11 11 11>; + ti,serdes_rx_boost = <3 3 3 3>; + }; + }; + uio_srss: srss { + compatible = "ti,uio-module-drv"; + mem = <0x02330000 0x0000400>; + clocks=<&clksr>; + interrupts = <0 0x173 0xf01>; + }; + }; +}; diff --git a/bsp/meta-ti/recipes-kernel/linux/files/k2g/cmem.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/k2g/cmem.dtsi new file mode 100644 index 00000000..4c68d82d --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/k2g/cmem.dtsi @@ -0,0 +1,37 @@ +/ { + reserved-memory { + + cmem_block_mem_0: cmem_block_mem@818000000 { + reg = <0x00000008 0x18000000 0x00000000 0x5000000>; + no-map; + status = "okay"; + }; + }; + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x00000000 0x5000000>; + }; + + cmem_block_1: cmem_block@1 { + reg = <1>; + sram = <&sram_cmem>; + }; + }; +}; + +&msm_ram { + sram_cmem: sram-cmem@a0000 { + reg = <0xa0000 0x57000>; + }; +}; diff --git a/bsp/meta-ti/recipes-kernel/linux/files/k2g/keystone-k2g-pru-uio.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/k2g/keystone-k2g-pru-uio.dtsi new file mode 100644 index 00000000..e4baca50 --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/k2g/keystone-k2g-pru-uio.dtsi @@ -0,0 +1,391 @@ +&pruss_soc_bus0 { + uio_pruss1_mdio: uio_mdio@32400 { + compatible = "ti,davinci_mdio"; + reg = <0x32400 0x90>; + clocks = <&k2g_clks 0x0014 1>; + clock-names = "fck"; + #address-cells = <1>; + #size-cells = <0>; + bus_freq = <2500000>; + status = "disabled"; + }; + + uio_pruss1_mem: uio_pruss1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x20a80000 0x2000>, + <0x20a82000 0x2000>, + <0x20a90000 0x10000>, + <0x20aa0000 0x2000>, + <0x20aa6000 0x2000>, + <0x20aae000 0x31c>, + <0x20ab2000 0x70>; + mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", + "iep", "mii_rt"; + status = "okay"; + }; + uio_pruss1_mem2: uio_pruss1_mem2 { + compatible = "ti,uio-module-drv"; + mem = <0x20aa8000 0x38>, + <0x20ab0000 0x60>, + <0x20ab2400 0x90>, + <0x0c080000 0xe000>; + mem-names = "uart", "ecap", "mdio", "ocmc"; + status = "okay"; + }; + uio_pruss1_evt0: uio_pruss1_evt0 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 224 0xf01>; + interrupt-mode = <0>; + status = "okay"; + }; + uio_pruss1_evt1: uio_pruss1_evt1 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 225 0xf01>; + interrupt-mode = <0>; + status = "okay"; + }; + uio_pruss1_evt2: uio_pruss1_evt2 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 226 0xf01>; + interrupt-mode = <0>; + status = "okay"; + }; + uio_pruss1_evt3: uio_pruss1_evt3 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 227 0xf01>; + interrupt-mode = <0>; + status = "okay"; + }; + uio_pruss1_evt4: uio_pruss1_evt4 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 228 0xf01>; + interrupt-mode = <0>; + status = "okay"; + }; + uio_pruss1_evt6: uio_pruss1_evt6 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 230 0xf01>; + interrupt-mode = <0>; + status = "okay"; + }; + uio_pruss1_evt7: uio_pruss1_evt7 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 231 0xf01>; + interrupt-mode = <0>; + status = "okay"; + }; + + uio_pruss1_0_mem: uio_pruss1_0_mem { + compatible = "ti,uio-module-drv"; + mem = <0x20ab4000 0x3000>, + <0x20aa2000 0x400>, + <0x20aa2400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + + uio_pruss1_1_mem: uio_pruss1_1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x20ab8000 0x3000>, + <0x20aa4000 0x400>, + <0x20aa4400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; +}; + +&pruss_soc_bus1 { + uio_pruss2_mdio: uio_mdio@32400 { + compatible = "ti,davinci_mdio"; + reg = <0x32400 0x90>; + clocks = <&k2g_clks 0x0015 1>; + clock-names = "fck"; + #address-cells = <1>; + #size-cells = <0>; + bus_freq = <2500000>; + status = "disabled"; + }; + + uio_pruss2_mem: uio_pruss2_mem { + compatible = "ti,uio-module-drv"; + mem = <0x20ac0000 0x2000>, + <0x20ac2000 0x2000>, + <0x20ad0000 0x10000>, + <0x20ae0000 0x2000>, + <0x20ae6000 0x2000>, + <0x20aee000 0x31c>, + <0x20af2000 0x70>; + mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", + "iep", "mii_rt"; + status = "okay"; + }; + uio_pruss2_mem2: uio_pruss2_mem2 { + compatible = "ti,uio-module-drv"; + mem = <0x20ae8000 0x38>, + <0x20af0000 0x60>, + <0x20af2400 0x90>, + <0x0c08e000 0xe000>; + mem-names = "uart", "ecap", "mdio", "ocmc"; + status = "okay"; + }; + uio_pruss2_evt0: uio_pruss2_evt0 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 232 0xf01>; + interrupt-mode = <0>; + status = "okay"; + }; + uio_pruss2_evt1: uio_pruss2_evt1 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 233 0xf01>; + interrupt-mode = <0>; + status = "okay"; + }; + uio_pruss2_evt2: uio_pruss2_evt2 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 234 0xf01>; + interrupt-mode = <0>; + status = "okay"; + }; + uio_pruss2_evt3: uio_pruss2_evt3 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 235 0xf01>; + interrupt-mode = <0>; + status = "okay"; + }; + uio_pruss2_evt4: uio_pruss2_evt4 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 236 0xf01>; + interrupt-mode = <0>; + status = "okay"; + }; + uio_pruss2_evt6: uio_pruss2_evt6 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 238 0xf01>; + interrupt-mode = <0>; + status = "okay"; + }; + uio_pruss2_evt7: uio_pruss2_evt7 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 239 0xf01>; + interrupt-mode = <0>; + status = "okay"; + }; + + uio_pruss2_0_mem: uio_pruss2_0_mem { + compatible = "ti,uio-module-drv"; + mem = <0x20af4000 0x3000>, + <0x20ae2000 0x400>, + <0x20ae2400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + uio_pruss2_1_mem: uio_pruss2_1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x20af8000 0x3000>, + <0x20ae4000 0x400>, + <0x20ae4400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; +}; + +&k2g_pinctrl { + uio_pruss1_mdio_eth_default: uio_pruss1_mdio_eth_default { + pinctrl-single,pins = < + K2G_CORE_IOPAD(0x12cc) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* pr0_mdio_data.pr0_mdio_data */ + K2G_CORE_IOPAD(0x12d0) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE0) /* pr0_mdio_mdclk.pr0_mdio_mdclk */ + K2G_CORE_IOPAD(0x105c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE3) /* gpmc_wait1.gpio0_23 (pr0_mii0_resetn) */ + K2G_CORE_IOPAD(0x1070) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE3) /* gpmc_csn2.gpio0_28 (pr0_mii0_intn) */ + K2G_CORE_IOPAD(0x1054) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE3) /* gpmc_be1n.gpio0_21 (pr0_mii1_resetn) */ + K2G_CORE_IOPAD(0x1074) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE3) /* gpmc_csn3.gpio0_29 (pr0_mii1_intn) */ + + /* PRUSS0 External Mux routing */ + K2G_CORE_IOPAD(0x11d4) (BUFFER_CLASS_B | MUX_MODE3) /* uart0_ctsn.gpio0_106 */ + K2G_CORE_IOPAD(0x11d8) (BUFFER_CLASS_B | MUX_MODE3) /* uart0_rtsn.gpio0_107 */ + K2G_CORE_IOPAD(0x11fc) (BUFFER_CLASS_B | MUX_MODE3) /* dcan0_rx.gpio1_57 */ + K2G_CORE_IOPAD(0x1200) (BUFFER_CLASS_B | MUX_MODE3) /* dcan0_tx.gpio1_56 */ + K2G_CORE_IOPAD(0x1224) (BUFFER_CLASS_B | MUX_MODE3) /* qspi_csn2.gpio1_66 */ + K2G_CORE_IOPAD(0x1228) (BUFFER_CLASS_B | MUX_MODE3) /* qspi_csn3.gpio1_67 */ + + /* PRUSS0 PRU0 Ethernet */ + K2G_CORE_IOPAD(0x122c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru0_gpo0.pr0_pru0_gpi0 (pr0_mii0_rxd0) */ + K2G_CORE_IOPAD(0x1230) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru0_gpo1.pr0_pru0_gpi1 (pr0_mii0_rxd1) */ + K2G_CORE_IOPAD(0x1234) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru0_gpo2.pr0_pru0_gpi2 (pr0_mii0_rxd2) */ + K2G_CORE_IOPAD(0x1238) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru0_gpo3.pr0_pru0_gpi3 (pr0_mii0_rxd3) */ + K2G_CORE_IOPAD(0x123c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru0_gpo4.pr0_pru0_gpi4 (pr0_mii0_rxdv) */ + K2G_CORE_IOPAD(0x1240) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru0_gpo5.pr0_pru0_gpi5 (pr0_mii0_rxer) */ + K2G_CORE_IOPAD(0x1244) (BUFFER_CLASS_B | MUX_MODE1) /* pr0_pru0_gpo6.pr0_pru0_gpi6 (pr0_mii_mr0_clk) */ + + K2G_CORE_IOPAD(0x124c) (BUFFER_CLASS_B | MUX_MODE1) /* pr0_pru0_gpo8.pr0_pru0_gpi8 (pr0_mii0_rxlink) */ + K2G_CORE_IOPAD(0x1250) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru0_gpo9.pr0_pru0_gpi9 (pr0_mii0_col) */ + K2G_CORE_IOPAD(0x1254) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru0_gpo10.pr0_pru0_gpi10 (pr0_mii0_crs) */ + + K2G_CORE_IOPAD(0x12a8) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru1_gpo11.pr0_pru1_gpo11 (pr0_mii0_txd0) */ + K2G_CORE_IOPAD(0x12ac) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru1_gpo12.pr0_pru1_gpo12 (pr0_mii0_txd1) */ + K2G_CORE_IOPAD(0x12b0) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru1_gpo13.pr0_pru1_gpo13 (pr0_mii0_txd2) */ + K2G_CORE_IOPAD(0x12b4) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru1_gpo14.pr0_pru1_gpo14 (pr0_mii0_txd3) */ + K2G_CORE_IOPAD(0x12b8) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru1_gpo15.pr0_pru1_gpo15 (pr0_mii0_txen) */ + K2G_CORE_IOPAD(0x12bc) (BUFFER_CLASS_B | MUX_MODE1) /* pr0_pru1_gpo16.pr0_pru1_gpo16 (pr0_mii_mt0_clk) */ + + /* PRUSS0 PRU1 Ethernet */ + K2G_CORE_IOPAD(0x127c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru1_gpo0.pr0_pru1_gpi0 (pr0_mii1_rxd0) */ + K2G_CORE_IOPAD(0x1280) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru1_gpo1.pr0_pru1_gpi1 (pr0_mii1_rxd1) */ + K2G_CORE_IOPAD(0x1284) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru1_gpo2.pr0_pru1_gpi2 (pr0_mii1_rxd2) */ + K2G_CORE_IOPAD(0x1288) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru1_gpo3.pr0_pru1_gpi3 (pr0_mii1_rxd3) */ + K2G_CORE_IOPAD(0x128c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru1_gpo4.pr0_pru1_gpi4 (pr0_mii1_rxdv) */ + K2G_CORE_IOPAD(0x1290) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru1_gpo5.pr0_pru1_gpi5 (pr0_mii1_rxer) */ + K2G_CORE_IOPAD(0x1294) (BUFFER_CLASS_B | MUX_MODE1) /* pr0_pru1_gpo6.pr0_pru1_gpi6 (pr0_mii_mr1_clk) */ + + K2G_CORE_IOPAD(0x129c) (BUFFER_CLASS_B | MUX_MODE1) /* pr0_pru1_gpo8.pr0_pru1_gpi8 (pr0_mii1_rxlink) */ + K2G_CORE_IOPAD(0x12a0) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru1_gpo9.pr0_pru1_gpi9 (pr0_mii1_col) */ + K2G_CORE_IOPAD(0x12a4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr0_pru1_gpo10.pr0_pru1_gpi10 (pr0_mii1_crs) */ + + K2G_CORE_IOPAD(0x1258) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru0_gpo11.pr0_pru0_gpo11 (pr0_mii1_txd0) */ + K2G_CORE_IOPAD(0x125c) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru0_gpo12.pr0_pru0_gpo12 (pr0_mii1_txd1) */ + K2G_CORE_IOPAD(0x1260) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru0_gpo13.pr0_pru0_gpo13 (pr0_mii1_txd2) */ + K2G_CORE_IOPAD(0x1264) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru0_gpo14.pr0_pru0_gpo14 (pr0_mii1_txd3) */ + K2G_CORE_IOPAD(0x1268) (BUFFER_CLASS_B | MUX_MODE0) /* pr0_pru0_gpo15.pr0_pru0_gpo15 (pr0_mii1_txen) */ + K2G_CORE_IOPAD(0x126c) (BUFFER_CLASS_B | MUX_MODE1) /* pr0_pru0_gpo16.pr0_pru0_gpo16 (pr0_mii_mt1_clk) */ + >; + }; + + uio_pruss2_mdio_eth_default: uio_pruss2_mdio_eth_default { + pinctrl-single,pins = < + K2G_CORE_IOPAD(0x1374) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* pr1_mdio_data.pr1_mdio_data */ + K2G_CORE_IOPAD(0x1378) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE0) /* pr1_mdio_mdclk.pr1_mdio_mdclk */ + K2G_CORE_IOPAD(0x1050) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE3) /* gpmc_be0ncle.gpio0_20 (pr1_mii0_resetn) */ + K2G_CORE_IOPAD(0x1044) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE3) /* gpmc_advnale.gpio0_17 (pr1_mii0_intn) */ + K2G_CORE_IOPAD(0x1060) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE3) /* gpmc_wpn.gpio0_24 (pr1_mii1_resetn) */ + K2G_CORE_IOPAD(0x1088) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE3) /* gpmc_wait0.gpio0_22 (pr1_mii1_intn) */ + + /* PRUSS1 PRU0 Ethernet */ + K2G_CORE_IOPAD(0x12d4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru0_gpo0.pr1_pru0_gpi0 (pr1_mii0_rxd0) */ + K2G_CORE_IOPAD(0x12d8) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru0_gpo1.pr1_pru0_gpi1 (pr1_mii0_rxd1) */ + K2G_CORE_IOPAD(0x12dc) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru0_gpo2.pr1_pru0_gpi2 (pr1_mii0_rxd2) */ + K2G_CORE_IOPAD(0x12e0) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru0_gpo3.pr1_pru0_gpi3 (pr1_mii0_rxd3) */ + K2G_CORE_IOPAD(0x12e4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru0_gpo4.pr1_pru0_gpi4 (pr1_mii0_rxdv) */ + K2G_CORE_IOPAD(0x12e8) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru0_gpo5.pr1_pru0_gpi5 (pr1_mii0_rxer) */ + K2G_CORE_IOPAD(0x12ec) (BUFFER_CLASS_B | MUX_MODE1) /* pr1_pru0_gpo6.pr1_pru0_gpi6 (pr1_mii_mr0_clk) */ + + K2G_CORE_IOPAD(0x12f4) (BUFFER_CLASS_B | MUX_MODE1) /* pr1_pru0_gpo8.pr1_pru0_gpi8 (pr1_mii0_rxlink) */ + K2G_CORE_IOPAD(0x12f8) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru0_gpo9.pr1_pru0_gpi9 (pr1_mii0_col) */ + K2G_CORE_IOPAD(0x12fc) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru0_gpo10.pr1_pru0_gpi10 (pr1_mii0_crs) */ + + K2G_CORE_IOPAD(0x1350) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru1_gpo11.pr1_pru1_gpo11 (pr1_mii0_txd0) */ + K2G_CORE_IOPAD(0x1354) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru1_gpo12.pr1_pru1_gpo12 (pr1_mii0_txd1) */ + K2G_CORE_IOPAD(0x1358) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru1_gpo13.pr1_pru1_gpo13 (pr1_mii0_txd2) */ + K2G_CORE_IOPAD(0x135c) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru1_gpo14.pr1_pru1_gpo14 (pr1_mii0_txd3) */ + K2G_CORE_IOPAD(0x1360) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru1_gpo15.pr1_pru1_gpo15 (pr1_mii0_txen) */ + K2G_CORE_IOPAD(0x1364) (BUFFER_CLASS_B | MUX_MODE1) /* pr1_pru1_gpo16.pr1_pru1_gpo16 (pr1_mii_mt0_clk) */ + + /* PRUSS1 PRU1 Ethernet */ + K2G_CORE_IOPAD(0x1324) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru1_gpo0.pr1_pru1_gpi0 (pr1_mii1_rxd0) */ + K2G_CORE_IOPAD(0x132c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru1_gpo2.pr1_pru1_gpi2 (pr1_mii1_rxd2) */ + K2G_CORE_IOPAD(0x1330) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru1_gpo3.pr1_pru1_gpi3 (pr1_mii1_rxd3) */ + K2G_CORE_IOPAD(0x1334) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru1_gpo4.pr1_pru1_gpi4 (pr1_mii1_rxdv) */ + K2G_CORE_IOPAD(0x1338) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru1_gpo5.pr1_pru1_gpi5 (pr1_mii1_rxer) */ + K2G_CORE_IOPAD(0x133c) (BUFFER_CLASS_B | MUX_MODE1) /* pr1_pru1_gpo6.pr1_pru1_gpi6 (pr1_mii_mr1_clk) */ + + K2G_CORE_IOPAD(0x1344) (BUFFER_CLASS_B | MUX_MODE1) /* pr1_pru1_gpo8.pr1_pru1_gpi8 (pr1_mii1_rxlink) */ + K2G_CORE_IOPAD(0x1348) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru1_gpo9.pr1_pru1_gpi9 (pr1_mii1_col) */ + K2G_CORE_IOPAD(0x134c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* pr1_pru1_gpo10.pr1_pru1_gpi10 (pr1_mii1_crs) */ + + K2G_CORE_IOPAD(0x1300) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru0_gpo11.pr1_pru0_gpo11 (pr1_mii1_txd0) */ + K2G_CORE_IOPAD(0x1304) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru0_gpo12.pr1_pru0_gpo12 (pr1_mii1_txd1) */ + K2G_CORE_IOPAD(0x1308) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru0_gpo13.pr1_pru0_gpo13 (pr1_mii1_txd2) */ + K2G_CORE_IOPAD(0x130c) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru0_gpo14.pr1_pru0_gpo14 (pr1_mii1_txd3) */ + K2G_CORE_IOPAD(0x1310) (BUFFER_CLASS_B | MUX_MODE0) /* pr1_pru0_gpo15.pr1_pru0_gpo15 (pr1_mii1_txen) */ + K2G_CORE_IOPAD(0x1314) (BUFFER_CLASS_B | MUX_MODE1) /* pr1_pru0_gpo16.pr1_pru0_gpo16 (pr1_mii_mt1_clk) */ + >; + }; +}; + +&uio_pruss1_mdio { + status = "okay"; + pinctrl-0 = <&uio_pruss1_mdio_eth_default>; + pinctrl-names = "default"; + reset-gpios = <&gpio0 23 GPIO_ACTIVE_LOW>, + <&gpio0 21 GPIO_ACTIVE_LOW>; + reset-delay-us = <20>; + + uio_pruss1_eth0_phy: uio-ethernet-phy@0 { + reg = <0>; + }; + + uio_pruss1_eth1_phy: uio-ethernet-phy@1 { + reg = <1>; + }; +}; + +&uio_pruss2_mdio { + status = "okay"; + pinctrl-0 = <&uio_pruss2_mdio_eth_default>; + pinctrl-names = "default"; + reset-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>, + <&gpio0 24 GPIO_ACTIVE_LOW>; + reset-delay-us = <20>; + + uio_pruss2_eth0_phy: uio-ethernet-phy@2 { + reg = <2>; + }; + + uio_pruss2_eth1_phy: uio-ethernet-phy@3 { + reg = <3>; + }; +}; + +&pruss0 { + status = "disabled"; +}; + +&pru0_0 { + status = "disabled"; +}; + +&pru0_1 { + status = "disabled"; +}; + +&pruss0_intc { + status = "disabled"; +}; + +&pruss0_mdio { + status = "disabled"; +}; + +&pruss1 { + status = "disabled"; +}; + +&pru1_0 { + status = "disabled"; +}; + +&pru1_1 { + status = "disabled"; +}; + +&pruss1_intc { + status = "disabled"; +}; + +&pruss1_mdio { + status = "disabled"; +}; + +&pruss0_emac0 { + status = "disabled"; +}; + +&pruss0_emac1 { + status = "disabled"; +}; + +&pruss1_emac0 { + status = "disabled"; +}; + +&pruss1_emac1 { + status = "disabled"; +}; diff --git a/bsp/meta-ti/recipes-kernel/linux/files/k2hk/cmem.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/k2hk/cmem.dtsi new file mode 100644 index 00000000..400aa9dd --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/k2hk/cmem.dtsi @@ -0,0 +1,37 @@ +/ { + reserved-memory { + + cmem_block_mem_0: cmem_block_mem@830000000 { + reg = <0x00000008 0x30000000 0x00000000 0x18000000>; + no-map; + status = "okay"; + }; + }; + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x00000000 0x18000000>; + }; + + cmem_block_1: cmem_block@1 { + reg = <1>; + sram = <&sram_cmem>; + }; + }; +}; + +&msm_ram { + sram_cmem: sram-cmem@100000 { + reg = <0x100000 0x480000>; + }; +}; diff --git a/bsp/meta-ti/recipes-kernel/linux/files/k2hk/k2hk-uio.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/k2hk/k2hk-uio.dtsi new file mode 100644 index 00000000..cabe0b8d --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/k2hk/k2hk-uio.dtsi @@ -0,0 +1,58 @@ +/ { + soc { + uio_hyperlink0: hyperlink0 { + compatible = "ti,uio-module-drv"; + mem = <0x21400000 0x00001000 + 0x40000000 0x10000000 + 0x0231a000 0x00002000>; + clocks = <&clkhyperlink0>; + interrupts = <0 387 0x101>; + cfg-params + { + ti,serdes_refclk_khz = <312500>; + ti,serdes_maxserrate_khz = <6250000>; + ti,serdes_lanerate = "half"; + ti,serdes_numlanes = <4>; + ti,serdes_c1 = <4 4 4 4>; + ti,serdes_c2 = <0 0 0 0>; + ti,serdes_cm = <0 0 0 0>; + ti,serdes_tx_att = <12 12 12 12>; + ti,serdes_tx_vreg = <4 4 4 4>; + ti,serdes_rx_att = <11 11 11 11>; + ti,serdes_rx_boost = <3 3 3 3>; + }; + }; + + uio_hyperlink1: hyperlink1 { + compatible = "ti,uio-module-drv"; + mem = <0x21400000 0x00001000 + 0x28000000 0x08000000 + 0x0231c000 0x00002000>; + clocks = <&clkhyperlink1>; + interrupts = <0 388 0x101>; + cfg-params + { + ti,serdes_refclk_khz = <312500>; + ti,serdes_maxserrate_khz = <6250000>; + ti,serdes_lanerate = "half"; + ti,serdes_numlanes = <4>; + ti,serdes_c1 = <4 4 4 4>; + ti,serdes_c2 = <0 0 0 0>; + ti,serdes_cm = <0 0 0 0>; + ti,serdes_tx_att = <12 12 12 12>; + ti,serdes_tx_vreg = <4 4 4 4>; + ti,serdes_rx_att = <11 11 11 11>; + ti,serdes_rx_boost = <3 3 3 3>; + }; + }; + + uio_srio: srio { + compatible = "ti,uio-module-drv"; + mem = <0x0232C000 0x00002000 + 0x02900000 0x00040000 + 0x0232C000 0x00002000>; + clocks=<&clksrio>; + interrupts = <0 154 0xf01>; + }; + }; +}; diff --git a/bsp/meta-ti/recipes-kernel/linux/files/k2l/cmem.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/k2l/cmem.dtsi new file mode 100644 index 00000000..da389e5d --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/k2l/cmem.dtsi @@ -0,0 +1,37 @@ +/ { + reserved-memory { + + cmem_block_mem_0: cmem_block_mem@830000000 { + reg = <0x00000008 0x30000000 0x00000000 0x18000000>; + no-map; + status = "okay"; + }; + }; + + cmem { + compatible = "ti,cmem"; + #address-cells = <1>; + #size-cells = <0>; + + #pool-size-cells = <2>; + + status = "okay"; + + cmem_block_0: cmem_block@0 { + reg = <0>; + memory-region = <&cmem_block_mem_0>; + cmem-buf-pools = <1 0x00000000 0x18000000>; + }; + + cmem_block_1: cmem_block@1 { + reg = <1>; + sram = <&sram_cmem>; + }; + }; +}; + +&msm_ram { + sram_cmem: sram-cmem@80000 { + reg = <0x80000 0xc0000>; + }; +}; diff --git a/bsp/meta-ti/recipes-kernel/linux/files/k2l/k2l-uio.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/k2l/k2l-uio.dtsi new file mode 100644 index 00000000..a1b2e07e --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/k2l/k2l-uio.dtsi @@ -0,0 +1,10 @@ +/ { + soc { + uio_srss: srss { + compatible = "ti,uio-module-drv"; + mem = <0x02330000 0x0000400>; + clocks=<&clksr>; + interrupts = <0 0x173 0xf01>; + }; + }; +}; diff --git a/bsp/meta-ti/recipes-kernel/linux/files/keystone/keystone-uio.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/keystone/keystone-uio.dtsi new file mode 100644 index 00000000..43b183db --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/keystone/keystone-uio.dtsi @@ -0,0 +1,186 @@ +/ { + soc { + uio_mpax: mpax { + compatible = "ti,uio-module-drv"; + mem = <0x00bc00000 0x00000a00>; + }; + + uio_edma3: edma3 { + compatible = "ti,uio-module-drv"; + mem = <0x02700000 0x000C0000>; + }; + uio_secmgr: secmgr { + compatible = "ti,uio-module-drv"; + mem = <0x002500100 0x00000004>; + }; + uio_qmss: qmss { + compatible = "ti,uio-module-drv"; + mem = <0x02a00000 0x00100000 + 0x23a00000 0x00200000>; + }; + + uio_qpend0: qpend0 { + compatible = "ti,uio-module-drv"; + interrupts = <0 44 0xf04>; + interrupt-mode = <1>; /* Interrupt mode oneshot */ + cfg-params + { + ti,qm-queue = <662>; + }; + }; + + uio_qpend1: qpend1 { + compatible = "ti,uio-module-drv"; + interrupts = <0 45 0xf04>; + interrupt-mode = <1>; /* Interrupt mode oneshot */ + cfg-params + { + ti,qm-queue = <663>; + }; + }; + + uio_qpend2: qpend2 { + compatible = "ti,uio-module-drv"; + interrupts = <0 46 0xf04>; + interrupt-mode = <1>; /* Interrupt mode oneshot */ + cfg-params + { + ti,qm-queue = <664>; + }; + }; + + uio_qpend3: qpend3 { + compatible = "ti,uio-module-drv"; + interrupts = <0 47 0xf04>; + interrupt-mode = <1>; /* Interrupt mode oneshot */ + cfg-params + { + ti,qm-queue = <665>; + }; + }; + + /* The following uio cic2 entries allow access to interupt output + * by the cic2 controller: The actual input event triggering the + * interrupt is assumed to be programmed other drivers + */ + uio_cic2_out32: cic2_out32 { + compatible = "ti,uio-module-drv"; + interrupts = <0 451 0xf01>; + }; + + uio_cic2_out33: cic2_out33 { + compatible = "ti,uio-module-drv"; + interrupts = <0 452 0xf01>; + }; + + uio_cic2_out34: cic2_out34 { + compatible = "ti,uio-module-drv"; + interrupts = <0 453 0xf01>; + }; + + uio_cic2_out35: cic2_out35 { + compatible = "ti,uio-module-drv"; + interrupts = <0 454 0xf01>; + }; + + uio_cic2_out36: cic2_out36 { + compatible = "ti,uio-module-drv"; + interrupts = <0 455 0xf01>; + }; + + uio_cic2_out37: cic2_out37 { + compatible = "ti,uio-module-drv"; + interrupts = <0 456 0xf01>; + }; + + uio_cic2_out38: cic2_out38 { + compatible = "ti,uio-module-drv"; + interrupts = <0 457 0xf01>; + }; + + uio_cic2_out39: cic2_out39 { + compatible = "ti,uio-module-drv"; + interrupts = <0 458 0xf01>; + }; + + uio_cic2_out40: cic2_out40 { + compatible = "ti,uio-module-drv"; + interrupts = <0 459 0xf01>; + }; + + uio_cic2_out41: cic2_out41 { + compatible = "ti,uio-module-drv"; + interrupts = <0 460 0xf01>; + }; + + uio_cic2_out42: cic2_out42 { + compatible = "ti,uio-module-drv"; + interrupts = <0 461 0xf01>; + }; + + uio_cic2_out43: cic2_out43 { + compatible = "ti,uio-module-drv"; + interrupts = <0 462 0xf01>; + }; + + uio_cic2_out44: cic2_out44 { + compatible = "ti,uio-module-drv"; + interrupts = <0 463 0xf01>; + }; + + uio_cic2_out45: cic2_out45 { + compatible = "ti,uio-module-drv"; + interrupts = <0 464 0xf01>; + }; + + uio_cic2_out46: cic2_out46 { + compatible = "ti,uio-module-drv"; + interrupts = <0 465 0xf01>; + }; + + uio_cic2_out47: cic2_out47 { + compatible = "ti,uio-module-drv"; + interrupts = <0 466 0xf01>; + }; + + uio_cic2_out18: cic2_out18 { + compatible = "ti,uio-module-drv"; + interrupts = <0 467 0xf01>; + }; + + uio_cic2_out19: cic2_out19 { + compatible = "ti,uio-module-drv"; + interrupts = <0 468 0xf01>; + }; + + uio_cic2_out22: cic2_out22 { + compatible = "ti,uio-module-drv"; + interrupts = <0 469 0xf01>; + }; + + uio_cic2_out23: cic2_out23 { + compatible = "ti,uio-module-drv"; + interrupts = <0 470 0xf01>; + }; + + uio_cic2_out50: cic2_out50 { + compatible = "ti,uio-module-drv"; + interrupts = <0 471 0xf01>; + }; + + uio_cic2_out51: cic2_out51 { + compatible = "ti,uio-module-drv"; + interrupts = <0 472 0xf01>; + }; + + uio_cic2_out66: cic2_out66 { + compatible = "ti,uio-module-drv"; + interrupts = <0 473 0xf01>; + }; + + uio_cic2_out67: cic2_out67 { + compatible = "ti,uio-module-drv"; + interrupts = <0 474 0xf01>; + }; + }; +}; diff --git a/bsp/meta-ti/recipes-kernel/linux/files/ti33x/am335x-pru-uio.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/ti33x/am335x-pru-uio.dtsi new file mode 100644 index 00000000..714b1d78 --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/ti33x/am335x-pru-uio.dtsi @@ -0,0 +1,192 @@ +&pruss_soc_bus { + uio_pruss_mdio: uio_pruss_mdio@32400 { + compatible = "ti,davinci_mdio"; + reg = <0x32400 0x90>; + clocks = <&dpll_core_m4_ck>; + clock-names = "fck"; + bus_freq = <1000000>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + uio_pruss_mem: uio_pruss_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4a300000 0x2000>, + <0x4a302000 0x2000>, + <0x4a310000 0x3000>, + <0x4a320000 0x2000>, + <0x4a326000 0x2000>, + <0x4a32e000 0x31c>, + <0x4a332000 0x58>; + mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", + "iep", "mii_rt"; + + status = "okay"; + }; + uio_pruss_mem2: uio_pruss_mem2 { + compatible = "ti,uio-module-drv"; + mem = <0x4a328000 0xd4>, + <0x4a330000 0x174>, + <0x4a332400 0x90>, + <0x40302000 0x0e000>; + mem-names = "uart", "ecap", "mdio", "ocmc"; + status = "okay"; + }; + + uio_pruss_evt0: uio_pruss_evt0 { + compatible = "ti,uio-module-drv"; + interrupts = <20>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss_evt1: uio_pruss_evt1 { + compatible = "ti,uio-module-drv"; + interrupts = <21>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss_evt2: uio_pruss_evt2 { + compatible = "ti,uio-module-drv"; + interrupts = <22>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss_evt3: uio_pruss_evt3 { + compatible = "ti,uio-module-drv"; + interrupts = <23>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss_evt4: uio_pruss_evt4 { + compatible = "ti,uio-module-drv"; + interrupts = <24>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss_evt5: uio_pruss_evt5 { + compatible = "ti,uio-module-drv"; + interrupts = <25>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss_evt6: uio_pruss_evt6 { + compatible = "ti,uio-module-drv"; + interrupts = <26>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss_evt7: uio_pruss_evt7 { + compatible = "ti,uio-module-drv"; + interrupts = <27>; + interrupt-mode = <1>; + status = "okay"; + }; + + uio_pruss_0_mem: uio_pruss_0_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4a334000 0x2000>, + <0x4a322000 0x400>, + <0x4a322400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + + uio_pruss_1_mem: uio_pruss_1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x4a338000 0x2000>, + <0x4a324000 0x400>, + <0x4a324400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; +}; + +&am33xx_pinmux { + uio_pruss_mdio_eth_default: uio_pruss_mdio_eht_default { + pinctrl-single,pins = < + AM33XX_IOPAD(0x88c, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_clk.pr1_mdio_mdclk */ + AM33XX_IOPAD(0x888, (PIN_INPUT | MUX_MODE5)) /* gpmc_csn3.pr1_mdio_data */ + AM33XX_IOPAD(0x89c, (PIN_INPUT_PULLUP | MUX_MODE7)) /* gpmc_ben0_cle.gpio2_5 */ + /* disable CPSW MDIO */ + AM33XX_IOPAD(0x948, (PIN_INPUT_PULLUP | MUX_MODE7)) /* mdio_data.gpio0_0 */ + AM33XX_IOPAD(0x94c, (PIN_INPUT_PULLUP | MUX_MODE7)) /* mdio_clk.gpio0_1 */ + AM33XX_IOPAD(0x8a0, (PIN_INPUT | MUX_MODE2)) /* dss_data0.pr1_mii_mt0_clk */ + AM33XX_IOPAD(0x8b4, (PIN_OUTPUT | MUX_MODE2)) /* dss_data5.pr1_mii0_txd0 */ + AM33XX_IOPAD(0x8b0, (PIN_OUTPUT | MUX_MODE2)) /* dss_data4.pr1_mii0_txd1 */ + AM33XX_IOPAD(0x8ac, (PIN_OUTPUT | MUX_MODE2)) /* dss_data3.pr1_mii0_txd2 */ + AM33XX_IOPAD(0x8a8, (PIN_OUTPUT | MUX_MODE2)) /* dss_data2.pr1_mii0_txd3 */ + AM33XX_IOPAD(0x8cc, (PIN_INPUT | MUX_MODE5)) /* dss_data11.pr1_mii0_rxd0 */ + AM33XX_IOPAD(0x8c8, (PIN_INPUT | MUX_MODE5)) /* dss_data10.pr1_mii0_rxd1 */ + AM33XX_IOPAD(0x8c4, (PIN_INPUT | MUX_MODE5)) /* dss_data9.pr1_mii0_rxd2 */ + AM33XX_IOPAD(0x8c0, (PIN_INPUT | MUX_MODE5)) /* dss_data8.pr1_mii0_rxd3 */ + AM33XX_IOPAD(0x8a4, (PIN_OUTPUT | MUX_MODE2)) /* dss_data1.pr1_mii0_txen */ + AM33XX_IOPAD(0x8d8, (PIN_INPUT | MUX_MODE5)) /* dss_data14.pr1_mii_mr0_clk */ + AM33XX_IOPAD(0x8dc, (PIN_INPUT | MUX_MODE5)) /* dss_data15.pr1_mii0_rxdv */ + AM33XX_IOPAD(0x8d4, (PIN_INPUT | MUX_MODE5)) /* dss_data13.pr1_mii0_rxer */ + AM33XX_IOPAD(0x8d0, (PIN_INPUT | MUX_MODE5)) /* dss_data12.pr1_mii0_rxlink */ + AM33XX_IOPAD(0x8e8, (PIN_INPUT | MUX_MODE2)) /* dss_pclk.pr1_mii0_crs */ + + AM33XX_IOPAD(0x840, (PIN_INPUT | MUX_MODE5)) /* gpmc_a0.pr1_mii_mt1_clk */ + AM33XX_IOPAD(0x850, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a4.pr1_mii1_txd0 */ + AM33XX_IOPAD(0x84c, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a3.pr1_mii1_txd1 */ + AM33XX_IOPAD(0x848, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a2.pr1_mii1_txd2 */ + AM33XX_IOPAD(0x844, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a1.pr1_mii1_txd3 */ + AM33XX_IOPAD(0x860, (PIN_INPUT | MUX_MODE5)) /* gpmc_a8.pr1_mii1_rxd0 */ + AM33XX_IOPAD(0x85c, (PIN_INPUT | MUX_MODE5)) /* gpmc_a7.pr1_mii1_rxd1 */ + AM33XX_IOPAD(0x858, (PIN_INPUT | MUX_MODE5)) /* gpmc_a6.pr1_mii1_rxd2 */ + AM33XX_IOPAD(0x854, (PIN_INPUT | MUX_MODE5)) /* gpmc_a5.pr1_mii1_rxd3 */ + AM33XX_IOPAD(0x874, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_wpn.pr1_mii1_txen */ + AM33XX_IOPAD(0x864, (PIN_INPUT | MUX_MODE5)) /* gpmc_a9.pr1_mii_mr1_clk */ + AM33XX_IOPAD(0x868, (PIN_INPUT | MUX_MODE5)) /* gpmc_a10.pr1_mii1_rxdv */ + AM33XX_IOPAD(0x86c, (PIN_INPUT | MUX_MODE5)) /* gpmc_a11.pr1_mii1_rxer */ + AM33XX_IOPAD(0x878, (PIN_INPUT | MUX_MODE5)) /* gpmc_ben1.pr1_mii1_rxlink */ + AM33XX_IOPAD(0x8ec, (PIN_INPUT | MUX_MODE2)) /* lcd_ac_bias_en.pr1_mii1_crs */ + AM33XX_IOPAD(0x870, (PIN_INPUT | MUX_MODE5)) /* gpmc_wait0.pr1_mii1_col */ + >; + }; +}; + +&uio_pruss_mdio { + pinctrl-0 = <&uio_pruss_mdio_eth_default>; + pinctrl-names = "default"; + reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; + reset-delay-us = <2>; /* PHY datasheet states 1uS min */ + status = "okay"; + + uio_pruss_eth0_phy: ethernet-phy@1 { + reg = <1>; + }; + + uio_pruss_eth1_phy: ethernet-phy@3 { + reg = <3>; + }; +}; + +&pruss { + status = "disabled"; +}; + +&pru0 { + status = "disabled"; +}; + +&pru1 { + status = "disabled"; +}; + +&pruss_intc { + status = "disabled"; +}; + +&pruss_mdio { + status = "disabled"; +}; + +&pruss_emac0 { + status = "disabled"; +}; + +&pruss_emac1 { + status = "disabled"; +}; diff --git a/bsp/meta-ti/recipes-kernel/linux/files/ti43x/am437x-pru-uio.dtsi b/bsp/meta-ti/recipes-kernel/linux/files/ti43x/am437x-pru-uio.dtsi new file mode 100644 index 00000000..81c16e34 --- /dev/null +++ b/bsp/meta-ti/recipes-kernel/linux/files/ti43x/am437x-pru-uio.dtsi @@ -0,0 +1,292 @@ +&pruss_soc_bus { + uio_pruss2_mdio: uio_mdio@32400 { + compatible = "ti,davinci_mdio"; + reg = <0x32400 0x90>; + clocks = <&dpll_core_m4_ck>; + clock-names = "fck"; + bus_freq = <1000000>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + uio_pruss2_mem: uio_pruss2_mem { + compatible = "ti,uio-module-drv"; + mem = <0x54400000 0x2000>, + <0x54402000 0x2000>, + <0x54410000 0x8000>, + <0x54420000 0x2000>, + <0x54426000 0x2000>, + <0x5442e000 0x31c>, + <0x54432000 0x58>; + mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", + "iep", "mii_rt"; + status = "okay"; + }; + uio_pruss2_mem2: uio_pruss2_mem2 { + compatible = "ti,uio-module-drv"; + mem = <0x54428000 0x38>, + <0x54430000 0x60>, + <0x54432400 0x90>, + <0x40320000 0x20000>; + mem-names = "uart", "ecap", "mdio", "ocmc"; + status = "okay"; + }; + uio_pruss2_evt0: uio_pruss2_evt0 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt1: uio_pruss2_evt1 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt2: uio_pruss2_evt2 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt3: uio_pruss2_evt3 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt4: uio_pruss2_evt4 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt5: uio_pruss2_evt5 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt6: uio_pruss2_evt6 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss2_evt7: uio_pruss2_evt7 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + + uio_pruss2_0_mem: uio_pruss2_0_mem { + compatible = "ti,uio-module-drv"; + mem = <0x54434000 0x3000>, + <0x54422000 0x400>, + <0x54422400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + + uio_pruss2_1_mem: uio_pruss2_1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x54438000 0x3000>, + <0x54424000 0x400>, + <0x54424400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + + uio_pruss1_mem: uio_pruss1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x54440000 0x1000>, + <0x54442000 0x1000>, + <0x54450000 0x8000>, + <0x54460000 0x2000>, + <0x54466000 0x2000>, + <0x5446e000 0x31c>, + <0x54472000 0x58>; + mem-names = "dram0", "dram1", "shrdram2", "intc", "cfg", + "iep", "mii_rt"; + status = "okay"; + }; + uio_pruss1_mem2: uio_pruss1_mem2 { + compatible = "ti,uio-module-drv"; + mem = <0x54468000 0x38>, + <0x54470000 0x60>, + <0x54472400 0x90>, + <0x40302000 0x1e000>; + mem-names = "uart", "ecap", "mdio", "ocmc"; + status = "okay"; + }; + uio_pruss1_evt0: uio_pruss1_evt0 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt1: uio_pruss1_evt1 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt2: uio_pruss1_evt2 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt3: uio_pruss1_evt3 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt4: uio_pruss1_evt4 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt5: uio_pruss1_evt5 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt6: uio_pruss1_evt6 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + uio_pruss1_evt7: uio_pruss1_evt7 { + compatible = "ti,uio-module-drv"; + interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>; + interrupt-mode = <1>; + status = "okay"; + }; + + uio_pruss1_0_mem: uio_pruss1_0_mem { + compatible = "ti,uio-module-drv"; + mem = <0x54474000 0x1000>, + <0x54462000 0x400>, + <0x54462400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; + uio_pruss1_1_mem: uio_pruss1_1_mem { + compatible = "ti,uio-module-drv"; + mem = <0x54478000 0x1000>, + <0x54464000 0x400>, + <0x54464400 0x100>; + mem-names = "iram", "control", "debug"; + status = "okay"; + }; +}; + +&am43xx_pinmux { + uio_pruss2_mdio_eth_default: uio_pruss2_mdio_eth_default { + pinctrl-single,pins = < + AM4372_IOPAD(0x88c, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_clk.pr1_mdio_mdclk */ + AM4372_IOPAD(0xa70, (PIN_INPUT | MUX_MODE8)) /* xdma_event_intr0.pr1_mdio_data */ + AM4372_IOPAD(0xa00, (PIN_INPUT_PULLUP | MUX_MODE7)) /* cam1_data6.gpio4_20 */ + AM4372_IOPAD(0x8a0, (PIN_INPUT | MUX_MODE2)) /* dss_data0.pr1_mii_mt0_clk */ + AM4372_IOPAD(0x8b4, (PIN_OUTPUT | MUX_MODE2)) /* dss_data5.pr1_mii0_txd0 */ + AM4372_IOPAD(0x8b0, (PIN_OUTPUT | MUX_MODE2)) /* dss_data4.pr1_mii0_txd1 */ + AM4372_IOPAD(0x8ac, (PIN_OUTPUT | MUX_MODE2)) /* dss_data3.pr1_mii0_txd2 */ + AM4372_IOPAD(0x8a8, (PIN_OUTPUT | MUX_MODE2)) /* dss_data2.pr1_mii0_txd3 */ + AM4372_IOPAD(0x8cc, (PIN_INPUT | MUX_MODE5)) /* dss_data11.pr1_mii0_rxd0 */ + AM4372_IOPAD(0x8c8, (PIN_INPUT | MUX_MODE5)) /* dss_data10.pr1_mii0_rxd1 */ + AM4372_IOPAD(0x8c4, (PIN_INPUT | MUX_MODE5)) /* dss_data9.pr1_mii0_rxd2 */ + AM4372_IOPAD(0x8c0, (PIN_INPUT | MUX_MODE5)) /* dss_data8.pr1_mii0_rxd3 */ + AM4372_IOPAD(0x8a4, (PIN_OUTPUT | MUX_MODE2)) /* dss_data1.pr1_mii0_txen */ + AM4372_IOPAD(0x8d8, (PIN_INPUT | MUX_MODE5)) /* dss_data14.pr1_mii_mr0_clk */ + AM4372_IOPAD(0x8dc, (PIN_INPUT | MUX_MODE5)) /* dss_data15.pr1_mii0_rxdv */ + AM4372_IOPAD(0x8d4, (PIN_INPUT | MUX_MODE5)) /* dss_data13.pr1_mii0_rxer */ + AM4372_IOPAD(0x8d0, (PIN_INPUT | MUX_MODE5)) /* dss_data12.pr1_mii0_rxlink */ + AM4372_IOPAD(0xa40, (PIN_INPUT | MUX_MODE5)) /* gpio5_10.pr1_mii0_crs */ + AM4372_IOPAD(0xa38, (PIN_INPUT | MUX_MODE5)) /* gpio5_8.pr1_mii0_col */ + AM4372_IOPAD(0x858, (PIN_INPUT | MUX_MODE5)) /* gpmc_a6.pr1_mii_mt1_clk */ + AM4372_IOPAD(0x854, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a5.pr1_mii1_txd0 */ + AM4372_IOPAD(0x850, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a4.pr1_mii1_txd1 */ + AM4372_IOPAD(0x84c, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a3.pr1_mii1_txd2 */ + AM4372_IOPAD(0x848, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a2.pr1_mii1_txd3 */ + AM4372_IOPAD(0x86c, (PIN_INPUT | MUX_MODE5)) /* gpmc_a11.pr1_mii1_rxd0 */ + AM4372_IOPAD(0x868, (PIN_INPUT | MUX_MODE5)) /* gpmc_a10.pr1_mii1_rxd1 */ + AM4372_IOPAD(0x864, (PIN_INPUT | MUX_MODE5)) /* gpmc_a9.pr1_mii1_rxd2 */ + AM4372_IOPAD(0x860, (PIN_INPUT | MUX_MODE5)) /* gpmc_a8.pr1_mii1_rxd3 */ + AM4372_IOPAD(0x840, (PIN_OUTPUT | MUX_MODE5)) /* gpmc_a0.pr1_mii1_txen */ + AM4372_IOPAD(0x85c, (PIN_INPUT | MUX_MODE5)) /* gpmc_a7.pr1_mii_mr1_clk */ + AM4372_IOPAD(0x844, (PIN_INPUT | MUX_MODE5)) /* gpmc_a1.pr1_mii1_rxdv */ + AM4372_IOPAD(0x874, (PIN_INPUT | MUX_MODE5)) /* gpmc_wpn.pr1_mii1_rxer */ + AM4372_IOPAD(0xa4c, (PIN_INPUT | MUX_MODE5)) /* gpio5_13.pr1_mii1_rxlink */ + AM4372_IOPAD(0xa44, (PIN_INPUT | MUX_MODE5)) /* gpio5_11.pr1_mii1_crs */ + AM4372_IOPAD(0x878, (PIN_INPUT | MUX_MODE5)) /* gpmc_be1n.pr1_mii1_col */ + >; + }; +}; + +&uio_pruss2_mdio { + pinctrl-0 = <&uio_pruss2_mdio_eth_default>; + pinctrl-names = "default"; + status = "okay"; + + reset-gpios = <&gpio4 20 GPIO_ACTIVE_LOW>; + reset-delay-us = <2>; /* PHY datasheet states 1uS min */ + + uio_pruss2_eth0_phy: uio_ethernet-phy@0 { + reg = <0>; + }; + + uio_pruss2_eth1_phy: uio_ethernet-phy@1 { + reg = <1>; + }; +}; + +&pruss1 { + status = "disabled"; +}; + +&pru1_0 { + status = "disabled"; +}; + +&pru1_1 { + status = "disabled"; +}; + +&pruss1_intc { + status = "disabled"; +}; + +&pruss1_mdio { + status = "disabled"; +}; + +&pruss0 { + status = "disabled"; +}; + +&pru0_0 { + status = "disabled"; +}; + +&pru0_1 { + status = "disabled"; +}; + +&pruss0_intc { + status = "disabled"; +}; + +&pruss1_emac0 { + status = "disabled"; +}; + +&pruss1_emac1 { + status = "disabled"; +}; |