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.

Linux/AM5728: PCIe EP configuration

Dear TI experts,

Referring to http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components_Kernel_Drivers.html#pcie-end-point

I  modified below DTS files. But I unable to enable pcie EP mode.

vim arch/arm/boot/dts/dra7-evm-common.dtsi
vim arch/arm/boot/dts/dra72-evm-common.dtsi
vim arch/arm/boot/dts/am572x-idk-common.dtsi
vim arch/arm64/boot/dts/ti/k3-am654-pcie-usb3.dtso
vim arch/arm64/boot/dts/ti/k3-am654-pcie-usb2.dtso
vim arch/arm/boot/dts/dra7.dtsi
vim arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi:

Boot log:

[ 0.701033] pinctrl-single 4a003400.pinmux: 282 pins at pa fc003400 size 1128
[ 0.704478] dra7-pcie 51000000.pcie: Linked as a consumer to phy-4a094000.pciephy.3
[ 0.704844] OF: PCI: host bridge /ocp/axi@0/pcie@51000000 ranges:
[ 0.704882] OF: PCI: IO 0x20003000..0x20012fff -> 0x00000000
[ 0.704905] OF: PCI: MEM 0x20013000..0x2fffffff -> 0x20013000
[ 1.705203] dra7-pcie 51000000.pcie: phy link never came up
[ 1.705342] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00
[ 1.705356] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 1.705368] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
[ 1.705380] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
[ 1.705696] PCI: bus0: Fast back to back transfers disabled
[ 1.705786] PCI: bus1: Fast back to back transfers enabled
[ 1.705825] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff 64bit]
[ 1.705844] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[ 1.706167] pcieport 0000:00:00.0: Signaling PME with IRQ 174
[ 1.706291] pcieport 0000:00:00.0: AER enabled with IRQ 174

There is no pcie_epc
am57xevm:/ # ls /sys/class/pci_epc/
am57xevm:/ #

Thanks in advance!

B.R.

  • DTS changes

    change log;
    ti-processor-sdk-android-am57xx-evm-05.03.00.07/board-support/linux-4.14.80+gitAUTOINC+384658809d-g384658809d/

    arch/arm/boot/dts/dra7.dtsi
    pcie1_ep: pcie_ep@51000000 {
    compatible = "ti,dra7-pcie-ep";
    reg = <0x51000000 0x28>, <0x51002000 0x14c>, <0x51001000 0x28>, <0x1000 0x10000000>;
    reg-names = "ep_dbics", "ti_conf", "ep_dbics2", "addr_space";
    interrupts = <0 232 0x4>;
    num-lanes = <1>;
    num-ib-windows = <4>;
    num-ob-windows = <16>;
    ti,hwmods = "pcie1";
    phys = <&pcie1_phy>;
    phy-names = "pcie-phy0";
    ti,syscon-unaligned-access = <&scm_conf1 0x14 1>;
    ti,syscon-conf = <&scm_conf>;
    ti,syscon-pcie = <&scm_conf_pcie>;
    + status = "okay";
    - status = "disabled";
    };


    arch/arm/boot/dts/dra7-evm-common.dtsi
    < &pcie1_ep {
    ---
    > &pcie1_rc {

    &pcie1_ep {
    status = "okay";
    };

    arch/arm/boot/dts/dra72-evm-common.dtsi
    < &pcie1_ep {
    ---
    > &pcie1_rc {

    &pcie1_ep {
    status = "okay";
    };

    arch/arm/boot/dts/am572x-idk-common.dtsi
    107a108
    > status = "okay";
    112d112
    < status = "okay";

    &pcie1_rc {
    gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
    };

    &pcie1_ep {
    status = "okay";
    gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
    };


    arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi

    &pcie1_ep {
    status = "ok";
    gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
    };

    &pcie1_rc {
    gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
    };


    arch/arm64/boot/dts/ti/k3-am654-pcie-usb3.dtso
    &pcie1_ep {
    phys = <&serdes1 PHY_TYPE_PCIE 0>;
    phy-names = "pcie-phy0";
    status = "okay";
    };
    arch/arm64/boot/dts/ti/k3-am654-pcie-usb2.dtso
    &pcie0_ep {
    num-lanes = <2>;
    phys = <&serdes0 PHY_TYPE_PCIE 1>, <&serdes1 PHY_TYPE_PCIE 1>;
    phy-names = "pcie-phy0", "pcie-phy1";
    status = "okay";
    };

  • Hi,

    Is this on TI AM572x IDK evm?

    The DTS changes you provided is not readable, but here is the patch I use to enable EP mode on  the IDK evm.

    diff --git a/arch/arm/boot/dts/am572x-idk-common.dtsi b/arch/arm/boot/dts/am572x-idk-common.dtsi
    index f3aaab94b061..51eb1cf71fd7 100644
    --- a/arch/arm/boot/dts/am572x-idk-common.dtsi
    +++ b/arch/arm/boot/dts/am572x-idk-common.dtsi
    @@ -105,11 +105,11 @@
     };
     
     &pcie1_rc {
    -       status = "okay";
            gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
     };
     
     &pcie1_ep {
    +       status = "okay";
            gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
     };