Open main menu

DAVE Developer's Wiki β

Changes

DESK-MX8M-L/Peripherals/PCI express

5,598 bytes added, 15 April
no edit summary
!colspan="4" style="width:100%; text-align:left"; border-bottom:solid 2px #ededed"|History
|-
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Version
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Issue Date
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Notes
|-
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|1.0.0{{oldid|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"15734|Jan 20222021/01/13}}|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|First DESK-MX8M -L release
|-
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |{{oldid|17609|2023/02/24}}
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |DESK-MX8M-L-2.0.0 release
|-
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |{{oldid|19175|2023/08/22}}
| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |DESK-MX8M-L-4.0.0 release
|-
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000" |2024/04/11
! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000" |DESK-MX8M-L-4.1.0 release
|-
|}
=== Device tree configuration ===
==== ORCA SOM ====
Here below an example of device tree configuration used on standard DAVE's kit for the ORCA SOM:
</pre>
==== MITO 8M Mini ==== Here below an example of device tree configuration used on standard DAVE's kit for the MITO 8M Mini: From <code>imx8mm-mito8mmini.dtsi</code>: <pre>...... pcie0_refclk: pcie0-refclk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <100000000>; };......&pcie0 { clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>, <&clk IMX8MM_CLK_PCIE1_PHY>, <&pcie0_refclk>; clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus"; assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>, <&clk IMX8MM_CLK_PCIE1_PHY>, <&clk IMX8MM_CLK_PCIE1_CTRL>; assigned-clock-rates = <10000000>, <100000000>, <250000000>; assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_50M>, <&clk IMX8MM_SYS_PLL2_100M>, <&clk IMX8MM_SYS_PLL2_250M>; ext_osc = <0>; status = "disabled";};......</pre> From <code>imx8mm-mito8mmini-sbcx.dts</code>: <pre>...... regulators {... reg_pcie_pwr: pcie_pwr { compatible = "regulator-fixed"; regulator-name = "PCIe_PWREN"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; gpio = <&gpio2 20 GPIO_ACTIVE_HIGH>; enable-active-high; };......&pcie0 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pcie0>; disable-gpio = <&gpio5 20 GPIO_ACTIVE_LOW>; reset-gpio = <&gpio5 21 GPIO_ACTIVE_LOW>; wake-gpio = <&gpio3 20 GPIO_ACTIVE_HIGH>; status = "okay";};......&iomuxc {...... pinctrl_pcie0: pcie0grp { fsl,pins = < MX8MM_IOMUXC_I2C4_SCL_GPIO5_IO20 0x19 MX8MM_IOMUXC_I2C4_SDA_GPIO5_IO21 0x19 MX8MM_IOMUXC_SD2_WP_GPIO2_IO20 0x19 MX8MM_IOMUXC_SAI5_RXC_GPIO3_IO20 0x19 >; };......</pre> ===Accessing the peripheralin ORCA SOM===
====Linux messages at boot time====
...
...
[ 0.556894] PCI: CLS 0 bytes, default 64[ 1.047319036587] ehci-pci: EHCI PCI platform driver [ 1.063520052769] ohci-pci: OHCI PCI platform driver [ 21.174414998472] imx6q-pcie 33800000.pcie: 33800000.pcie supply epdev_on not found, using dummy regulator[ 2.192615006801] imx6q-pcie 33800000.pcie: EXT REF_CLK is used!. [ 2.205190012998] imx6q-pcie 33800000.pcie: PCIe PHY PLL clock is locked. [ 2.218503054543] imx6q-pcie 33800000.pcie: PCIe PLL is locked after 0 us. [ 2.061522] imx6q-pcie 33800000.pcie: iATU unroll: enabled [ 2.232672074094] imx6q-pcie 33800000.pcie: Detected iATU regions: 4 outbound, 4 inbound[ 2.088808] imx6q-pcie 33800000.pcie: host bridge /soc@0/pcie@33800000 ranges:[ 2.246661102731] imx6q-pcie 33800000.pcie: No bus range found for /soc@0/pcie@33800000, using [bus 00-ff][ 2.246679118147] imx6q-pcie 33800000.pcie: IO 0x1ff800000x001ff80000..0x1ff8ffff 0x001ff8ffff -> 0x000000000x0000000000[ 2.266200133976] imx6q-pcie 33800000.pcie: MEM 0x180000000x0018000000..0x1fefffff 0x001fefffff -> 0x180000000x0018000000[ 2.149011] imx6q-pcie 33800000.pcie: iATU unroll: enabled [ 2.161122] imx6q-pcie 33800000.pcie: Detected iATU regions: 4 outbound, 4 inbound [ 2.377981261489] imx6q-pcie 33800000.pcie: Link up
...
...
...
...
[ 2.492367370224] imx6q-pcie 33800000.pcie: Link up, Gen2[ 2.497366490193] imx6q-pcie 33800000.pcie: Link up[ 2.496941] imx6q-pcie 33800000.pcie: PCI host bridge to bus 0000:00[ 2.503751503342] pci_bus 0000:00: root bus resource [bus 00-ff][ 2.509246508847] pci_bus 0000:00: root bus resource [io 0x0000-0xffff][ 2.515444515037] pci_bus 0000:00: root bus resource [mem 0x18000000-0x1fefffff][ 2.522347528514] pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400[ 2.535438534560] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff][ 2.541751540846] pci 0000:00:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref][ 2.555604547588] pci 0000:00:00.0: supports D1[ 2.566199551605] pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold[ 2.568612560332] pci 0000:01:00.0: [1912:0015] type 00 class 0x0c0330[ 2.579348566431] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00001fff 64bit][ 2.591671573586] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold[ 2.620851592170] pci 0000:00:00.0: BAR 0: assigned [mem 0x18000000-0x180fffff][ 2.634710598991] pci 0000:00:00.0: BAR 14: assigned [mem 0x18100000-0x181fffff][ 2.648698605889] pci 0000:00:00.0: BAR 6: assigned [mem 0x18200000-0x1820ffff pref][ 2.661946613153] pci 0000:01:00.0: BAR 0: assigned [mem 0x18100000-0x18101fff 64bit][ 2.677237620514] pci 0000:00:00.0: PCI bridge to [bus 01-ff][ 2.687111625771] pci 0000:00:00.0: bridge window [mem 0x18100000-0x181fffff][ 2.696130632899] pcieport 0000:00:00.0: PME: Signaling with IRQ 240242[ 2.711468638881] pcieport pci 0000:0001:00.0: AER: enabled with IRQ 240enabling device (0000 -> 0002)[ 28.724342404360] pci input: wch.cn USB2IIC_CTP_CONTROL as /devices/platform/soc@0/33800000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb5/5-1/5-1:1.0/0003:222A: enabling device (0000 -> 0002)0001.0001/input/input0[ 28.739005560392] pci input: wch.cn USB2IIC_CTP_CONTROL as /devices/platform/soc@0/33800000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb5/5-1/5-1: quirk_usb_early_handoff+0x01.0/0003:222A:0001.0001/input/0x990 took 14330 usecsinput1
...
...
<pre class="workstation-terminal">
root@desk-mx8mp:~# lspci
00:00.0 PCI bridge: Synopsys, Inc. DWC_usb3 / PCIe bridge (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:
<pre class="workstation-terminal">
root@desk-mx8mp:~# dmesg | grep -i usb | grep xhci [ 2.355209192089] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1[ 2.392901221094] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2[ 2.400575228770] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed[ 2.637156510185] xhci_hcd 0000usb 1-1:01new high-speed USB device number 2 using xhci-hcd [ 2.862133] usb 2-1:00new SuperSpeed USB device number 2 using xhci-hcd[ 2.0996133] xhci-hcd xhci-hcd.2.auto: new USB bus registered, assigned bus number 3[ 23.696636025229] xhci_hcd 0000:01:00xhci-hcd xhci-hcd.2.0auto: new USB bus registered, assigned bus number 4[ 23.710397032900] xhci_hcd 0000:01:00xhci-hcd xhci-hcd.2.0auto: Host supports USB 3.0 SuperSpeed 
root@desk-mx8mp:~#
</pre>
<pre class="workstation-terminal">
root@desk-mx8mp:~# [ 2697565.531697281085] usb 46-2: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd[ 2697565.570446321526] usb-storage 46-2:1.0: USB Mass Storage device detected[ 269.577329] usb-storage 4-2:1.0: Quirks match for vid 090c pid 1000: 400[ 2697565.584444329534] scsi host0host1: usb-storage 46-2:1.0[ 2707566.849828342855] scsi 01:0:0:0: Direct-Access Samsung Flash Drive 1100 Wilk USB DISK 3.0 PMAP PQ: 0 ANSI: 6[ 2707566.859346352069] sd 01:0:0:0: [sdasdb] 62656641 60628992 512-byte logical blocks: (3231.1 0 GB/2928.9 GiB)[ 2707566.867392360342] sd 01:0:0:0: [sdasdb] Write Protect is off[ 2707566.872347365788] sd 01:0:0:0: [sdasdb] Write cache: enableddisabled, read cache: enabled, doesn't support DPO or FUA[ 2707566.899423555051] sdasdb: sda1[ 2707566.903519559628] sd 01:0:0:0: [sdasdb] Attached SCSI removable disk
root@desk-mx8mp:~#
</pre>
 
===Accessing the peripheral in MITO 8M Mini===
 
====Linux messages at boot time====
 
PCIe driver initialized:
 
<pre class="workstation-terminal">
...
...
[ 1.131579] ehci-pci: EHCI PCI platform driver
[ 1.147680] ohci-pci: OHCI PCI platform driver
[ 3.234024] imx6q-pcie 33800000.pcie: supply epdev_on not found, using dummy regulator
[ 3.242348] imx6q-pcie 33800000.pcie: PLL REF_CLK is used!.
[ 3.276463] imx6q-pcie 33800000.pcie: PCIe PLL is locked.
[ 3.284714] imx6q-pcie 33800000.pcie: iATU unroll: enabled
[ 3.295015] imx6q-pcie 33800000.pcie: Detected iATU regions: 4 outbound, 4 inbound
[ 3.309648] imx6q-pcie 33800000.pcie: host bridge /soc@0/pcie@33800000 ranges:
[ 3.316925] imx6q-pcie 33800000.pcie: IO 0x001ff80000..0x001ff8ffff -> 0x0000000000
[ 3.330476] imx6q-pcie 33800000.pcie: MEM 0x0018000000..0x001fefffff -> 0x0018000000
[ 3.342505] imx6q-pcie 33800000.pcie: iATU unroll: enabled
[ 3.351821] imx6q-pcie 33800000.pcie: Detected iATU regions: 4 outbound, 4 inbound
[ 3.444200] imx6q-pcie 33800000.pcie: Link up
...
...
</pre>
 
Check which are the devices connected to the PCIe.
 
<pre class="workstation-terminal">
root@desk-mx8mm:~# lspci
00:00.0 PCI bridge: Synopsys, Inc. DWC_usb3 / PCIe bridge (rev 01)
01:00.0 Network controller: Intel Corporation Wireless 7260 (rev bb)
root@desk-mx8mm:~#
</pre>
----
[[Category:ORCA]] [[Category:MITO 8M Mini]]
dave_user
427
edits