@yipingwang ,
I applied the above patches in my flexbuild_lsdk2012 SDK as shown below and created new itb(kernel image) and loaded in EP board:
In packages/linux/linux/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi +898 file added below things:
pcie_ep1: pcie-ep@3400000 {
compatible = "fsl,ls1028a-pcie-ep","fsl,ls-pcie-ep";
reg = <0x00 0x03400000 0x0 0x00100000>,
<0x40 0x00000000 0x8 0x00000000>;
reg-names = "regs", "addr_space";
num-ib-windows = <2>;
num-ob-windows = <2>;
status = "disabled";
};
In packages/linux/linux/arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts +650 file added below things:
&pcie_ep1 {
status = "okay";
};
In packages/linux/linux/drivers/misc/pci_endpoint_test.c file added as shown below:
line number :69
#define PCI_DEVICE_ID_LS1028A 0x82c0
static const struct pci_endpoint_test_data default_data = {
.test_reg_bar = BAR_2,
.alignment = SZ_64K,
.irq_type = IRQ_TYPE_MSI,
};
line number +809
{ PCI_DEVICE(PCI_VENDOR_ID_FREESCALE, PCI_DEVICE_ID_LS1028A),
.driver_data = (kernel_ulong_t)&default_data,},
When i run below command in RC board i got operation not permitted error while creating soft link as shown below in log :
root@TinyLinux:~# cd /sys/kernel/config/pci_ep/
root@TinyLinux:/sys/kernel/config/pci_ep# mkdir functions/pci_epf_test/func1
root@TinyLinux:/sys/kernel/config/pci_ep# sudo echo 0x1957 > functions/pci_epf_test/func1/vendorid
sudo echo 2 > functions/pci_epf_test/func1/msi_interrupts
sudo echo 8 > functions/pci_epf_test/func1/msix_interrupts
root@TinyLinux:/sys/kernel/config/pci_ep# sudo echo 0x82c0 > functions/pci_epf_test/func1/deviceid
root@TinyLinux:/sys/kernel/config/pci_ep# sudo echo 2 > functions/pci_epf_test/func1/msi_interrupts
root@TinyLinux:/sys/kernel/config/pci_ep# sudo echo 8 > functions/pci_epf_test/func1/msix_interrupts
root@TinyLinux:/sys/kernel/config/pci_ep# sudo ln -s functions/pci_epf_test/func1 controllers/3400000.pcie_ep
ln: failed to create symbolic link 'controllers/3400000.pcie_ep': Operation not permitted
Regards,
Amit Keshri