DESK-MX8M-L/Peripherals/PCI express

From DAVE Developer's Wiki
Jump to: navigation, search
History
Version Issue Date Notes
1.0.0 Jan 2022 First DESK-MX8M release


Peripheral PCI express[edit | edit source]

Device tree configuration[edit | edit source]

Here below an example of device tree configuration used on standard DAVE's kit for the ORCA SOM:

From imx8mp-mito8mplus-cb1001.dts:

&pcie {
	status = "okay";
};

&pcie_phy{
	ext_osc = <1>;
	status = "okay";
};

Accessing the peripheral[edit | edit source]

Linux messages at boot time[edit | edit source]

PCIe driver initialized:

...
...
[    0.556894] PCI: CLS 0 bytes, default 64
[    1.047319] ehci-pci: EHCI PCI platform driver
[    1.063520] ohci-pci: OHCI PCI platform driver
[    2.174414] imx6q-pcie 33800000.pcie: 33800000.pcie supply epdev_on not found, using dummy regulator
[    2.192615] imx6q-pcie 33800000.pcie: EXT REF_CLK is used!.
[    2.205190] imx6q-pcie 33800000.pcie: PCIe PHY PLL clock is locked.
[    2.218503] imx6q-pcie 33800000.pcie: PCIe PLL locked after 0 us.
[    2.232672] imx6q-pcie 33800000.pcie: host bridge /pcie@33800000 ranges:
[    2.246661] imx6q-pcie 33800000.pcie:   No bus range found for /pcie@33800000, using [bus 00-ff]
[    2.246679] imx6q-pcie 33800000.pcie:    IO 0x1ff80000..0x1ff8ffff -> 0x00000000
[    2.266200] imx6q-pcie 33800000.pcie:   MEM 0x18000000..0x1fefffff -> 0x18000000
[    2.377981] imx6q-pcie 33800000.pcie: Link up
...
...

The PCIe usage is strictly related to the peripheral type connected to the PCIe slot. Then, the peripheral type defines the linux commands used for the accessing (hiding the PCIe bus commands)

PCIe to USB3 example[edit | edit source]

Using a PCIe to USB card, like the following one:

...
...
[    2.492367] imx6q-pcie 33800000.pcie: Link up, Gen2
[    2.497366] imx6q-pcie 33800000.pcie: PCI host bridge to bus 0000:00
[    2.503751] pci_bus 0000:00: root bus resource [bus 00-ff]
[    2.509246] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
[    2.515444] pci_bus 0000:00: root bus resource [mem 0x18000000-0x1fefffff]
[    2.522347] pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400
[    2.535438] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
[    2.541751] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
[    2.555604] pci 0000:00:00.0: supports D1
[    2.566199] pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold
[    2.568612] pci 0000:01:00.0: [1912:0015] type 00 class 0x0c0330
[    2.579348] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00001fff 64bit]
[    2.591671] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    2.620851] pci 0000:00:00.0: BAR 0: assigned [mem 0x18000000-0x180fffff]
[    2.634710] pci 0000:00:00.0: BAR 14: assigned [mem 0x18100000-0x181fffff]
[    2.648698] pci 0000:00:00.0: BAR 6: assigned [mem 0x18200000-0x1820ffff pref]
[    2.661946] pci 0000:01:00.0: BAR 0: assigned [mem 0x18100000-0x18101fff 64bit]
[    2.677237] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    2.687111] pci 0000:00:00.0:   bridge window [mem 0x18100000-0x181fffff]
[    2.696130] pcieport 0000:00:00.0: PME: Signaling with IRQ 240
[    2.711468] pcieport 0000:00:00.0: AER: enabled with IRQ 240
[    2.724342] pci 0000:01:00.0: enabling device (0000 -> 0002)
[    2.739005] pci 0000:01:00.0: quirk_usb_early_handoff+0x0/0x990 took 14330 usecs
...
...

the PCIe to USB 3 bridge is detected:

root@desk-mx8mp:~# lspci
00:00.0 PCI bridge: Synopsys, Inc. DWC_usb3 (rev 01)
01:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02)
root@desk-mx8mp:~# 

and the two additional USB3 ports will be available:

root@desk-mx8mp:~# dmesg | grep -i usb | grep xhci
[    2.355209] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
[    2.392901] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
[    2.400575] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
[    2.637156] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 3
[    2.696636] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 4
[    2.710397] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed
root@desk-mx8mp:~#

Inserting an USB key in the second USB3 port:

root@desk-mx8mp:~# [  269.531697] usb 4-2: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
[  269.570446] usb-storage 4-2:1.0: USB Mass Storage device detected
[  269.577329] usb-storage 4-2:1.0: Quirks match for vid 090c pid 1000: 400
[  269.584444] scsi host0: usb-storage 4-2:1.0
[  270.849828] scsi 0:0:0:0: Direct-Access     Samsung  Flash Drive      1100 PQ: 0 ANSI: 6
[  270.859346] sd 0:0:0:0: [sda] 62656641 512-byte logical blocks: (32.1 GB/29.9 GiB)
[  270.867392] sd 0:0:0:0: [sda] Write Protect is off
[  270.872347] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[  270.899423]  sda: sda1
[  270.903519] sd 0:0:0:0: [sda] Attached SCSI removable disk
root@desk-mx8mp:~#

Additional information[edit | edit source]