Other Parts Discussed in Thread: BEAGLEBOARD-X15, PMP, DRA752
Tool/software: Linux
HI,
We are designing a custom board based on AM5728 EVM. In our design we want to utilize the eathernet ports (eth2, eth3) from two mii interfaces available in PRUSS2 . We modified the device tree by taking reference from AM5721 IDK .
changes are
changes in dra7.dtsi ======>
pruss2: pruss@4b280000 {
compatible = "ti,am5728-pruss";
ti,hwmods = "pruss2";
reg = <0x4b280000 0x2000>,
<0x4b282000 0x2000>,
<0x4b290000 0x8000>,
<0x4b2a6000 0x2000>,
<0x4b2ae000 0x31c>,
<0x4b2b2000 0x58>;
reg-names = "dram0", "dram1", "shrdram2", "cfg",
"iep", "mii_rt";
#address-cells = <1>;
#size-cells = <1>;
ranges;
status = "okay";
pruss2_intc: intc@4b2a0000 {
compatible = "ti,am5728-pruss-intc";
reg = <0x4b2a0000 0x2000>;
reg-names = "intc";
interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "host2", "host3", "host4",
"host5", "host6", "host7",
"host8", "host9";
interrupt-controller;
#interrupt-cells = <1>;
};
pru2_0: pru0@4b2b4000 {
compatible = "ti,am5728-pru";
reg = <0x4b2b4000 0x3000>,
<0x4b2a2000 0x400>,
<0x4b2a2400 0x100>;
reg-names = "iram", "control", "debug";
status = "okay";
};
pru2_1: pru1@4b2b8000 {
compatible = "ti,am5728-pru";
reg = <0x4b2b8000 0x3000>,
<0x4b2a4000 0x400>,
<0x4b2a4400 0x100>;
reg-names = "iram", "control", "debug";
status = "okay";
};
pruss2_mdio: mdio@4b2b2400 {
compatible = "ti,davinci_mdio";
#address-cells = <1>;
#size-cells = <0>;
clocks = <&dpll_gmac_h13x2_ck>;
clock-names = "fck";
bus_freq = <1000000>;
reg = <0x4b2b2400 0x90>;
status = "okay";
};
};
additions in am57xx-beagle-x15-common.dtsi ==================>
/* Dual-MAC Ethernet application node on PRU-ICSS2 */
pruss2_eth {
compatible = "ti,am57-prueth";
pruss = <&pruss2>;
sram = <&ocmcram1>;
/*interrupt-parent = <&pruss2_intc>;*/
status = "okay";
pruss2_emac0: ethernet-mii0 {
phy-handle = <&pruss2_eth0_phy>;
phy-mode = "mii";
/*interrupts = <20>, <22>;
interrupt-names = "rx", "tx";*/
/* Filled in by bootloader */
local-mac-address = [00 00 00 00 00 00];
};
pruss2_emac1: ethernet-mii1 {
phy-handle = <&pruss2_eth1_phy>;
phy-mode = "mii";
/*interrupts = <21>, <23>;
interrupt-names = "rx", "tx";*/
/* Filled in by bootloader */
local-mac-address = [00 00 00 00 00 00];
};
};
&pruss2_mdio {
status = "okay";
pruss2_eth0_phy: ethernet-phy@5 {
reg = <5>;
/*interrupt-parent = <&gpio3>;
interrupts = <30 IRQ_TYPE_EDGE_FALLING>;*/
};
pruss2_eth1_phy: ethernet-phy@6 {
reg = <6>;
/*interrupt-parent = <&gpio3>;
interrupts = <31 IRQ_TYPE_EDGE_FALLING>;*/
};
};
we not getting any interface by giving ifup eth2 or ifup eth3. Upon examining with dmesg | pru " unabe to get pruss handle" observed.
Please help in this.