mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-06 06:10:45 -04:00
Merge tag 'imx-dt64-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt
i.MX arm64 device tree change for 6.1: - New board support: i.MX8DXL EVK, Kontron SL/BL i.MX8MM OSM-S, i.MX8MM Gateworks GW7904, MSC SM2S-IMX8PLUS SoM and carrier board, NXP LS2081ARDB. - Update i.MX8MQ device tree to use generic name 'dma-controller' for SDMA. - A number of i.MX8ULP device tree improvements and updates: correct parent clock of LPI2C & LPSPI, increase the clock speed of LPSPI, add PMU and mailbox device, drop undocumented CGC property, enable FEC, etc. - Add interconnect property for various i.MX8MP blk-ctrl devices. - Enable VPU PGC, blk-ctrl and PCIe support for i.MX8MP SoC. - A set of changes from Peng Fan to add various devices for i.MX93 SoC, including MU, blk-ctrl, PMU, LPI2C, LPSPI, SRC, etc. - Two set of changes to update LS1043A and LS1046A device trees on various aspects, including USB3, PCIe, DMA, mdio-mux, QSPI Flash, etc. - Board imx8mq-librem5 update: add USB role switching, add RGB PWM notification LEDs, add voice coil motor for focus control, fix MIPI_CSI description. - A series from Frieder Schrempf to improve imx8mm-kontron device trees for VSELECT switch, DDRC operating point, SPI NOR partition layout etc. - A set of display and PMIC related additions and improvements on imx8mm-verdin board. - A number of i.MX8M Plus DHCOM PDK2 device tree improvments from Marek Vasut. - A few imx8mp-venice device tree updates on USB, cpufreq and WiFi/BT. - A series from Vladimir Oltean to enable multiple switch CPU ports support. - Other small and random board specific updates. * tag 'imx-dt64-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (90 commits) arm64: dts: ls1046a-qds: Modify the qspi flash frequency arm64: dts: ls1046a-qds: add mmio based mdio-mux nodes for FPGA arm64: dts: ls1046a: add gpios based i2c recovery information arm64: dts: ls1046a: use a pseudo-bus to constrain usb and sata dma size arm64: dts: ls1046a: make dma-coherent global to the SoC arm64: dts: ls1046a: add missing dma ranges property arm64: dts: ls1046a: Add big-endian property for PCIe nodes arm64: dts: ls1046a: Add the PME interrupt and big-endian to PCIe EP nodes arm64: dts: ls1046a: Enable usb3-lpm-capable for usb3 node arm64: dts: ls1043a-rdb: add pcf85263 rtc node arm64: dts: ls1043a-qds: add mmio based mdio-mux support arm64: dts: ls1043a: use a pseudo-bus to constrain usb and sata dma size arm64: dts: ls1043a: add gpio based i2c recovery information arm64: dts: ls1043a: make dma-coherent global to the SoC arm64: dts: ls1043a: add missing dma ranges property arm64: dts: ls1043a: Add big-endian property for PCIe nodes arm64: dts: ls1043a: Add SCFG phandle for PCIe nodes arm64: dts: ls1043a: use pcie aer/pme interrupts arm64: dts: ls1043a: Enable usb3-lpm-capable for usb3 node arm64: dts: ls1043a: fix the wrong size of dcfg space ... Link: https://lore.kernel.org/r/20220918092806.2152700-4-shawnguo@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
@@ -23,6 +23,7 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1088a-rdb.dtb
|
||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1088a-ten64.dtb
|
||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-qds.dtb
|
||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-rdb.dtb
|
||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2081a-rdb.dtb
|
||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-simu.dtb
|
||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-qds.dtb
|
||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-rdb.dtb
|
||||
@@ -48,6 +49,7 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-85bb.dtb
|
||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-899b.dtb
|
||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-9999.dtb
|
||||
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8dxl-evk.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-beacon-kit.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-data-modul-edm-sbc.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-ddr4-evk.dtb
|
||||
@@ -55,7 +57,8 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-emcon-avari.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-icore-mx8mm-ctouch2.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-icore-mx8mm-edimm2.2.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-kontron-n801x-s.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-kontron-bl.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-kontron-bl-osm-s.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-mx8menlo.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-nitrogen-r2.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-phyboard-polis-rdk.dtb
|
||||
@@ -67,6 +70,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw7901.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw7902.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw7903.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw7904.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-verdin-nonwifi-dahlia.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-verdin-nonwifi-dev.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-verdin-wifi-dahlia.dtb
|
||||
@@ -83,6 +87,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mn-venice-gw7902.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-dhcom-pdk2.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-icore-mx8mp-edimm2.2.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-msc-sm2s-ep1.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-rdk.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mpxl.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-venice-gw74xx.dtb
|
||||
|
||||
@@ -59,6 +59,10 @@ &enetc_port2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&enetc_port3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
eeprom@57 {
|
||||
compatible = "atmel,24c32";
|
||||
@@ -104,7 +108,10 @@ &mscc_felix_port3 {
|
||||
};
|
||||
|
||||
&mscc_felix_port4 {
|
||||
ethernet = <&enetc_port2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mscc_felix_port5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
@@ -39,6 +39,10 @@ &enetc_port2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&enetc_port3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mscc_felix {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -60,6 +64,9 @@ &mscc_felix_port1 {
|
||||
};
|
||||
|
||||
&mscc_felix_port4 {
|
||||
ethernet = <&enetc_port2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mscc_felix_port5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -29,6 +29,9 @@ aliases {
|
||||
ethernet3 = &mscc_felix_port1;
|
||||
ethernet4 = &mscc_felix_port2;
|
||||
ethernet5 = &mscc_felix_port3;
|
||||
ethernet6 = &mscc_felix_port4;
|
||||
ethernet7 = &mscc_felix_port5;
|
||||
ethernet8 = &enetc_port3;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -151,6 +154,10 @@ &enetc_port2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&enetc_port3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&esdhc {
|
||||
sd-uhs-sdr104;
|
||||
sd-uhs-sdr50;
|
||||
@@ -278,7 +285,10 @@ &mscc_felix_port3 {
|
||||
};
|
||||
|
||||
&mscc_felix_port4 {
|
||||
ethernet = <&enetc_port2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mscc_felix_port5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
@@ -1156,6 +1156,7 @@ mscc_felix_port3: port@3 {
|
||||
mscc_felix_port4: port@4 {
|
||||
reg = <4>;
|
||||
phy-mode = "internal";
|
||||
ethernet = <&enetc_port2>;
|
||||
status = "disabled";
|
||||
|
||||
fixed-link {
|
||||
@@ -1168,6 +1169,7 @@ fixed-link {
|
||||
mscc_felix_port5: port@5 {
|
||||
reg = <5>;
|
||||
phy-mode = "internal";
|
||||
ethernet = <&enetc_port3>;
|
||||
status = "disabled";
|
||||
|
||||
fixed-link {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* Device Tree Include file for Freescale Layerscape-1043A family SoC.
|
||||
*
|
||||
* Copyright 2014-2015 Freescale Semiconductor, Inc.
|
||||
* Copyright 2018 NXP
|
||||
* Copyright 2018-2021 NXP
|
||||
*
|
||||
* Mingkai Hu <Mingkai.hu@freescale.com>
|
||||
*/
|
||||
@@ -24,6 +24,22 @@ aliases {
|
||||
serial1 = &duart1;
|
||||
serial2 = &duart2;
|
||||
serial3 = &duart3;
|
||||
sgmii-riser-s1-p1 = &sgmii_phy_s1_p1;
|
||||
sgmii-riser-s2-p1 = &sgmii_phy_s2_p1;
|
||||
sgmii-riser-s3-p1 = &sgmii_phy_s3_p1;
|
||||
sgmii-riser-s4-p1 = &sgmii_phy_s4_p1;
|
||||
qsgmii-s1-p1 = &qsgmii_phy_s1_p1;
|
||||
qsgmii-s1-p2 = &qsgmii_phy_s1_p2;
|
||||
qsgmii-s1-p3 = &qsgmii_phy_s1_p3;
|
||||
qsgmii-s1-p4 = &qsgmii_phy_s1_p4;
|
||||
qsgmii-s2-p1 = &qsgmii_phy_s2_p1;
|
||||
qsgmii-s2-p2 = &qsgmii_phy_s2_p2;
|
||||
qsgmii-s2-p3 = &qsgmii_phy_s2_p3;
|
||||
qsgmii-s2-p4 = &qsgmii_phy_s2_p4;
|
||||
emi1-slot1 = &ls1043mdio_s1;
|
||||
emi1-slot2 = &ls1043mdio_s2;
|
||||
emi1-slot3 = &ls1043mdio_s3;
|
||||
emi1-slot4 = &ls1043mdio_s4;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -62,8 +78,11 @@ nand@1,0 {
|
||||
};
|
||||
|
||||
fpga: board-control@2,0 {
|
||||
compatible = "fsl,ls1043aqds-fpga", "fsl,fpga-qixis";
|
||||
compatible = "fsl,ls1043aqds-fpga", "fsl,fpga-qixis", "simple-mfd";
|
||||
reg = <0x2 0x0 0x0000100>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 2 0 0x100>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -153,3 +172,153 @@ &usb0 {
|
||||
};
|
||||
|
||||
#include "fsl-ls1043-post.dtsi"
|
||||
|
||||
&fman0 {
|
||||
ethernet@e0000 {
|
||||
phy-handle = <&qsgmii_phy_s2_p1>;
|
||||
phy-connection-type = "sgmii";
|
||||
};
|
||||
|
||||
ethernet@e2000 {
|
||||
phy-handle = <&qsgmii_phy_s2_p2>;
|
||||
phy-connection-type = "sgmii";
|
||||
};
|
||||
|
||||
ethernet@e4000 {
|
||||
phy-handle = <&rgmii_phy1>;
|
||||
phy-connection-type = "rgmii";
|
||||
};
|
||||
|
||||
ethernet@e6000 {
|
||||
phy-handle = <&rgmii_phy2>;
|
||||
phy-connection-type = "rgmii";
|
||||
};
|
||||
|
||||
ethernet@e8000 {
|
||||
phy-handle = <&qsgmii_phy_s2_p3>;
|
||||
phy-connection-type = "sgmii";
|
||||
};
|
||||
|
||||
ethernet@ea000 {
|
||||
phy-handle = <&qsgmii_phy_s2_p4>;
|
||||
phy-connection-type = "sgmii";
|
||||
};
|
||||
|
||||
ethernet@f0000 { /* DTSEC9/10GEC1 */
|
||||
fixed-link = <1 1 10000 0 0>;
|
||||
phy-connection-type = "xgmii";
|
||||
};
|
||||
};
|
||||
|
||||
&fpga {
|
||||
mdio-mux-emi1@54 {
|
||||
compatible = "mdio-mux-mmioreg", "mdio-mux";
|
||||
mdio-parent-bus = <&mdio0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x54 1>; /* BRDCFG4 */
|
||||
mux-mask = <0xe0>; /* EMI1 */
|
||||
|
||||
/* On-board RGMII1 PHY */
|
||||
ls1043mdio0: mdio@0 {
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
rgmii_phy1: ethernet-phy@1 { /* MAC3 */
|
||||
reg = <0x1>;
|
||||
};
|
||||
};
|
||||
|
||||
/* On-board RGMII2 PHY */
|
||||
ls1043mdio1: mdio@20 {
|
||||
reg = <0x20>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
rgmii_phy2: ethernet-phy@2 { /* MAC4 */
|
||||
reg = <0x2>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Slot 1 */
|
||||
ls1043mdio_s1: mdio@40 {
|
||||
reg = <0x40>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
|
||||
qsgmii_phy_s1_p1: ethernet-phy@4 {
|
||||
reg = <0x4>;
|
||||
};
|
||||
|
||||
qsgmii_phy_s1_p2: ethernet-phy@5 {
|
||||
reg = <0x5>;
|
||||
};
|
||||
|
||||
qsgmii_phy_s1_p3: ethernet-phy@6 {
|
||||
reg = <0x6>;
|
||||
};
|
||||
|
||||
qsgmii_phy_s1_p4: ethernet-phy@7 {
|
||||
reg = <0x7>;
|
||||
};
|
||||
|
||||
sgmii_phy_s1_p1: ethernet-phy@1c {
|
||||
reg = <0x1c>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Slot 2 */
|
||||
ls1043mdio_s2: mdio@60 {
|
||||
reg = <0x60>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
|
||||
qsgmii_phy_s2_p1: ethernet-phy@8 {
|
||||
reg = <0x8>;
|
||||
};
|
||||
|
||||
qsgmii_phy_s2_p2: ethernet-phy@9 {
|
||||
reg = <0x9>;
|
||||
};
|
||||
|
||||
qsgmii_phy_s2_p3: ethernet-phy@a {
|
||||
reg = <0xa>;
|
||||
};
|
||||
|
||||
qsgmii_phy_s2_p4: ethernet-phy@b {
|
||||
reg = <0xb>;
|
||||
};
|
||||
|
||||
sgmii_phy_s2_p1: ethernet-phy@1c {
|
||||
reg = <0x1c>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Slot 3 */
|
||||
ls1043mdio_s3: mdio@80 {
|
||||
reg = <0x80>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
|
||||
sgmii_phy_s3_p1: ethernet-phy@1c {
|
||||
reg = <0x1c>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Slot 4 */
|
||||
ls1043mdio_s4: mdio@a0 {
|
||||
reg = <0xa0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
|
||||
sgmii_phy_s4_p1: ethernet-phy@1c {
|
||||
reg = <0x1c>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -29,23 +29,33 @@ chosen {
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
ina220@40 {
|
||||
compatible = "ti,ina220";
|
||||
reg = <0x40>;
|
||||
shunt-resistor = <1000>;
|
||||
};
|
||||
|
||||
adt7461a@4c {
|
||||
compatible = "adi,adt7461";
|
||||
reg = <0x4c>;
|
||||
};
|
||||
|
||||
rtc@51 {
|
||||
compatible = "nxp,pcf85263";
|
||||
reg = <0x51>;
|
||||
};
|
||||
|
||||
eeprom@52 {
|
||||
compatible = "atmel,24c512";
|
||||
reg = <0x52>;
|
||||
};
|
||||
|
||||
eeprom@53 {
|
||||
compatible = "atmel,24c512";
|
||||
reg = <0x53>;
|
||||
};
|
||||
|
||||
rtc@68 {
|
||||
compatible = "pericom,pt7c4338";
|
||||
reg = <0x68>;
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
compatible = "fsl,ls1043a";
|
||||
@@ -300,6 +301,8 @@ soc: soc {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
dma-ranges = <0x0 0x0 0x0 0x0 0x10000 0x00000000>;
|
||||
dma-coherent;
|
||||
|
||||
clockgen: clocking@1ee1000 {
|
||||
compatible = "fsl,ls1043a-clockgen";
|
||||
@@ -393,7 +396,7 @@ sfp: efuse@1e80000 {
|
||||
|
||||
dcfg: dcfg@1ee0000 {
|
||||
compatible = "fsl,ls1043a-dcfg", "syscon";
|
||||
reg = <0x0 0x1ee0000 0x0 0x10000>;
|
||||
reg = <0x0 0x1ee0000 0x0 0x1000>;
|
||||
big-endian;
|
||||
};
|
||||
|
||||
@@ -536,7 +539,7 @@ dspi1: spi@2110000 {
|
||||
};
|
||||
|
||||
i2c0: i2c@2180000 {
|
||||
compatible = "fsl,vf610-i2c";
|
||||
compatible = "fsl,ls1043a-i2c", "fsl,vf610-i2c";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x0 0x2180000 0x0 0x10000>;
|
||||
@@ -551,7 +554,7 @@ i2c0: i2c@2180000 {
|
||||
};
|
||||
|
||||
i2c1: i2c@2190000 {
|
||||
compatible = "fsl,vf610-i2c";
|
||||
compatible = "fsl,ls1043a-i2c", "fsl,vf610-i2c";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x0 0x2190000 0x0 0x10000>;
|
||||
@@ -559,11 +562,12 @@ i2c1: i2c@2190000 {
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
scl-gpios = <&gpio4 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c2: i2c@21a0000 {
|
||||
compatible = "fsl,vf610-i2c";
|
||||
compatible = "fsl,ls1043a-i2c", "fsl,vf610-i2c";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x0 0x21a0000 0x0 0x10000>;
|
||||
@@ -571,11 +575,12 @@ i2c2: i2c@21a0000 {
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
scl-gpios = <&gpio4 10 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c3: i2c@21b0000 {
|
||||
compatible = "fsl,vf610-i2c";
|
||||
compatible = "fsl,ls1043a-i2c", "fsl,vf610-i2c";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x0 0x21b0000 0x0 0x10000>;
|
||||
@@ -583,6 +588,7 @@ i2c3: i2c@21b0000 {
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
scl-gpios = <&gpio4 12 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -810,48 +816,59 @@ QORIQ_CLK_PLL_DIV(1)>,
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
};
|
||||
|
||||
usb0: usb@2f00000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0x2f00000 0x0 0x10000>;
|
||||
interrupts = <0 60 0x4>;
|
||||
dr_mode = "host";
|
||||
snps,quirk-frame-length-adjustment = <0x20>;
|
||||
snps,dis_rxdet_inp3_quirk;
|
||||
snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
|
||||
status = "disabled";
|
||||
};
|
||||
aux_bus: aux_bus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
compatible = "simple-bus";
|
||||
ranges;
|
||||
dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x00000000>;
|
||||
|
||||
usb1: usb@3000000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0x3000000 0x0 0x10000>;
|
||||
interrupts = <0 61 0x4>;
|
||||
dr_mode = "host";
|
||||
snps,quirk-frame-length-adjustment = <0x20>;
|
||||
snps,dis_rxdet_inp3_quirk;
|
||||
snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
|
||||
status = "disabled";
|
||||
};
|
||||
usb0: usb@2f00000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0x2f00000 0x0 0x10000>;
|
||||
interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dr_mode = "host";
|
||||
snps,quirk-frame-length-adjustment = <0x20>;
|
||||
snps,dis_rxdet_inp3_quirk;
|
||||
usb3-lpm-capable;
|
||||
snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb2: usb@3100000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0x3100000 0x0 0x10000>;
|
||||
interrupts = <0 63 0x4>;
|
||||
dr_mode = "host";
|
||||
snps,quirk-frame-length-adjustment = <0x20>;
|
||||
snps,dis_rxdet_inp3_quirk;
|
||||
snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
|
||||
status = "disabled";
|
||||
};
|
||||
usb1: usb@3000000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0x3000000 0x0 0x10000>;
|
||||
interrupts = <0 61 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dr_mode = "host";
|
||||
snps,quirk-frame-length-adjustment = <0x20>;
|
||||
snps,dis_rxdet_inp3_quirk;
|
||||
usb3-lpm-capable;
|
||||
snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sata: sata@3200000 {
|
||||
compatible = "fsl,ls1043a-ahci";
|
||||
reg = <0x0 0x3200000 0x0 0x10000>,
|
||||
<0x0 0x20140520 0x0 0x4>;
|
||||
reg-names = "ahci", "sata-ecc";
|
||||
interrupts = <0 69 0x4>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
dma-coherent;
|
||||
usb2: usb@3100000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0x3100000 0x0 0x10000>;
|
||||
interrupts = <0 63 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dr_mode = "host";
|
||||
snps,quirk-frame-length-adjustment = <0x20>;
|
||||
snps,dis_rxdet_inp3_quirk;
|
||||
usb3-lpm-capable;
|
||||
snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sata: sata@3200000 {
|
||||
compatible = "fsl,ls1043a-ahci";
|
||||
reg = <0x0 0x3200000 0x0 0x10000>,
|
||||
<0x0 0x20140520 0x0 0x4>;
|
||||
reg-names = "ahci", "sata-ecc";
|
||||
interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
dma-coherent;
|
||||
};
|
||||
};
|
||||
|
||||
msi1: msi-controller1@1571000 {
|
||||
@@ -880,13 +897,12 @@ pcie1: pcie@3400000 {
|
||||
reg = <0x00 0x03400000 0x0 0x00100000>, /* controller registers */
|
||||
<0x40 0x00000000 0x0 0x00002000>; /* configuration space */
|
||||
reg-names = "regs", "config";
|
||||
interrupts = <0 118 0x4>, /* controller interrupt */
|
||||
<0 117 0x4>; /* PME interrupt */
|
||||
interrupt-names = "intr", "pme";
|
||||
interrupts = <0 117 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 118 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "pme", "aer";
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
device_type = "pci";
|
||||
dma-coherent;
|
||||
num-viewport = <6>;
|
||||
bus-range = <0x0 0xff>;
|
||||
ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */
|
||||
@@ -898,6 +914,8 @@ pcie1: pcie@3400000 {
|
||||
<0000 0 0 2 &gic 0 111 0x4>,
|
||||
<0000 0 0 3 &gic 0 112 0x4>,
|
||||
<0000 0 0 4 &gic 0 113 0x4>;
|
||||
fsl,pcie-scfg = <&scfg 0>;
|
||||
big-endian;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -906,13 +924,12 @@ pcie2: pcie@3500000 {
|
||||
reg = <0x00 0x03500000 0x0 0x00100000>, /* controller registers */
|
||||
<0x48 0x00000000 0x0 0x00002000>; /* configuration space */
|
||||
reg-names = "regs", "config";
|
||||
interrupts = <0 128 0x4>,
|
||||
<0 127 0x4>;
|
||||
interrupt-names = "intr", "pme";
|
||||
interrupts = <0 127 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 128 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "pme", "aer";
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
device_type = "pci";
|
||||
dma-coherent;
|
||||
num-viewport = <6>;
|
||||
bus-range = <0x0 0xff>;
|
||||
ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000 /* downstream I/O */
|
||||
@@ -924,6 +941,8 @@ pcie2: pcie@3500000 {
|
||||
<0000 0 0 2 &gic 0 121 0x4>,
|
||||
<0000 0 0 3 &gic 0 122 0x4>,
|
||||
<0000 0 0 4 &gic 0 123 0x4>;
|
||||
fsl,pcie-scfg = <&scfg 1>;
|
||||
big-endian;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -932,13 +951,12 @@ pcie3: pcie@3600000 {
|
||||
reg = <0x00 0x03600000 0x0 0x00100000>, /* controller registers */
|
||||
<0x50 0x00000000 0x0 0x00002000>; /* configuration space */
|
||||
reg-names = "regs", "config";
|
||||
interrupts = <0 162 0x4>,
|
||||
<0 161 0x4>;
|
||||
interrupt-names = "intr", "pme";
|
||||
interrupts = <0 161 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 162 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "pme", "aer";
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
device_type = "pci";
|
||||
dma-coherent;
|
||||
num-viewport = <6>;
|
||||
bus-range = <0x0 0xff>;
|
||||
ranges = <0x81000000 0x0 0x00000000 0x50 0x00010000 0x0 0x00010000 /* downstream I/O */
|
||||
@@ -950,6 +968,8 @@ pcie3: pcie@3600000 {
|
||||
<0000 0 0 2 &gic 0 155 0x4>,
|
||||
<0000 0 0 3 &gic 0 156 0x4>,
|
||||
<0000 0 0 4 &gic 0 157 0x4>;
|
||||
fsl,pcie-scfg = <&scfg 2>;
|
||||
big-endian;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* Device Tree Include file for Freescale Layerscape-1046A family SoC.
|
||||
*
|
||||
* Copyright 2016 Freescale Semiconductor, Inc.
|
||||
* Copyright 2018 NXP
|
||||
* Copyright 2018-2019 NXP
|
||||
*
|
||||
* Shaohui Xie <Shaohui.Xie@nxp.com>
|
||||
*/
|
||||
@@ -17,14 +17,26 @@ / {
|
||||
compatible = "fsl,ls1046a-qds", "fsl,ls1046a";
|
||||
|
||||
aliases {
|
||||
emi1-slot1 = &ls1046mdio_s1;
|
||||
emi1-slot2 = &ls1046mdio_s2;
|
||||
emi1-slot4 = &ls1046mdio_s4;
|
||||
gpio0 = &gpio0;
|
||||
gpio1 = &gpio1;
|
||||
gpio2 = &gpio2;
|
||||
gpio3 = &gpio3;
|
||||
qsgmii-s2-p1 = &qsgmii_phy_s2_p1;
|
||||
qsgmii-s2-p2 = &qsgmii_phy_s2_p2;
|
||||
qsgmii-s2-p3 = &qsgmii_phy_s2_p3;
|
||||
qsgmii-s2-p4 = &qsgmii_phy_s2_p4;
|
||||
serial0 = &duart0;
|
||||
serial1 = &duart1;
|
||||
serial2 = &duart2;
|
||||
serial3 = &duart3;
|
||||
sgmii-s1-p1 = &sgmii_phy_s1_p1;
|
||||
sgmii-s1-p2 = &sgmii_phy_s1_p2;
|
||||
sgmii-s1-p3 = &sgmii_phy_s1_p3;
|
||||
sgmii-s1-p4 = &sgmii_phy_s1_p4;
|
||||
sgmii-s4-p1 = &sgmii_phy_s4_p1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -153,8 +165,9 @@ nand@1,0 {
|
||||
};
|
||||
|
||||
fpga: board-control@2,0 {
|
||||
compatible = "fsl,ls1046aqds-fpga", "fsl,fpga-qixis";
|
||||
compatible = "fsl,ls1046aqds-fpga", "fsl,fpga-qixis", "simple-mfd";
|
||||
reg = <0x2 0x0 0x0000100>;
|
||||
ranges = <0 2 0 0x100>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -169,7 +182,7 @@ qflash0: flash@0 {
|
||||
compatible = "spansion,m25p80";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
spi-max-frequency = <20000000>;
|
||||
spi-max-frequency = <50000000>;
|
||||
spi-rx-bus-width = <4>;
|
||||
spi-tx-bus-width = <4>;
|
||||
reg = <0>;
|
||||
@@ -177,3 +190,141 @@ qflash0: flash@0 {
|
||||
};
|
||||
|
||||
#include "fsl-ls1046-post.dtsi"
|
||||
|
||||
&fman0 {
|
||||
ethernet@e0000 {
|
||||
phy-handle = <&qsgmii_phy_s2_p1>;
|
||||
phy-connection-type = "sgmii";
|
||||
};
|
||||
|
||||
ethernet@e2000 {
|
||||
phy-handle = <&sgmii_phy_s4_p1>;
|
||||
phy-connection-type = "sgmii";
|
||||
};
|
||||
|
||||
ethernet@e4000 {
|
||||
phy-handle = <&rgmii_phy1>;
|
||||
phy-connection-type = "rgmii";
|
||||
};
|
||||
|
||||
ethernet@e6000 {
|
||||
phy-handle = <&rgmii_phy2>;
|
||||
phy-connection-type = "rgmii";
|
||||
};
|
||||
|
||||
ethernet@e8000 {
|
||||
phy-handle = <&sgmii_phy_s1_p3>;
|
||||
phy-connection-type = "sgmii";
|
||||
};
|
||||
|
||||
ethernet@ea000 {
|
||||
phy-handle = <&sgmii_phy_s1_p4>;
|
||||
phy-connection-type = "sgmii";
|
||||
};
|
||||
|
||||
ethernet@f0000 { /* DTSEC9/10GEC1 */
|
||||
phy-handle = <&sgmii_phy_s1_p1>;
|
||||
phy-connection-type = "xgmii";
|
||||
};
|
||||
|
||||
ethernet@f2000 { /* DTSEC10/10GEC2 */
|
||||
phy-handle = <&sgmii_phy_s1_p2>;
|
||||
phy-connection-type = "xgmii";
|
||||
};
|
||||
};
|
||||
|
||||
&fpga {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
mdio-mux-emi1 {
|
||||
compatible = "mdio-mux-mmioreg", "mdio-mux";
|
||||
mdio-parent-bus = <&mdio0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x54 1>; /* BRDCFG4 */
|
||||
mux-mask = <0xe0>; /* EMI1 */
|
||||
|
||||
/* On-board RGMII1 PHY */
|
||||
ls1046mdio0: mdio@0 {
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
rgmii_phy1: ethernet-phy@1 { /* MAC3 */
|
||||
reg = <0x1>;
|
||||
};
|
||||
};
|
||||
|
||||
/* On-board RGMII2 PHY */
|
||||
ls1046mdio1: mdio@1 {
|
||||
reg = <0x20>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
rgmii_phy2: ethernet-phy@2 { /* MAC4 */
|
||||
reg = <0x2>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Slot 1 */
|
||||
ls1046mdio_s1: mdio@2 {
|
||||
reg = <0x40>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
|
||||
sgmii_phy_s1_p1: ethernet-phy@1c {
|
||||
reg = <0x1c>;
|
||||
};
|
||||
|
||||
sgmii_phy_s1_p2: ethernet-phy@1d {
|
||||
reg = <0x1d>;
|
||||
};
|
||||
|
||||
sgmii_phy_s1_p3: ethernet-phy@1e {
|
||||
reg = <0x1e>;
|
||||
};
|
||||
|
||||
sgmii_phy_s1_p4: ethernet-phy@1f {
|
||||
reg = <0x1f>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Slot 2 */
|
||||
ls1046mdio_s2: mdio@3 {
|
||||
reg = <0x60>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
|
||||
qsgmii_phy_s2_p1: ethernet-phy@8 {
|
||||
reg = <0x8>;
|
||||
};
|
||||
|
||||
qsgmii_phy_s2_p2: ethernet-phy@9 {
|
||||
reg = <0x9>;
|
||||
};
|
||||
|
||||
qsgmii_phy_s2_p3: ethernet-phy@a {
|
||||
reg = <0xa>;
|
||||
};
|
||||
|
||||
qsgmii_phy_s2_p4: ethernet-phy@b {
|
||||
reg = <0xb>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Slot 4 */
|
||||
ls1046mdio_s4: mdio@5 {
|
||||
reg = <0x80>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
|
||||
sgmii_phy_s4_p1: ethernet-phy@1c {
|
||||
reg = <0x1c>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
compatible = "fsl,ls1046a";
|
||||
@@ -272,6 +273,8 @@ soc: soc {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
dma-ranges = <0x0 0x0 0x0 0x0 0x10000 0x00000000>;
|
||||
dma-coherent;
|
||||
|
||||
ddr: memory-controller@1080000 {
|
||||
compatible = "fsl,qoriq-memory-controller";
|
||||
@@ -354,7 +357,6 @@ crypto: crypto@1700000 {
|
||||
ranges = <0x0 0x00 0x1700000 0x100000>;
|
||||
reg = <0x00 0x1700000 0x0 0x100000>;
|
||||
interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dma-coherent;
|
||||
|
||||
sec_jr0: jr@10000 {
|
||||
compatible = "fsl,sec-v5.4-job-ring",
|
||||
@@ -500,7 +502,7 @@ dspi: spi@2100000 {
|
||||
};
|
||||
|
||||
i2c0: i2c@2180000 {
|
||||
compatible = "fsl,vf610-i2c";
|
||||
compatible = "fsl,ls1046a-i2c", "fsl,vf610-i2c";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x0 0x2180000 0x0 0x10000>;
|
||||
@@ -514,35 +516,38 @@ i2c0: i2c@2180000 {
|
||||
};
|
||||
|
||||
i2c1: i2c@2190000 {
|
||||
compatible = "fsl,vf610-i2c";
|
||||
compatible = "fsl,ls1046a-i2c", "fsl,vf610-i2c";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x0 0x2190000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
scl-gpios = <&gpio3 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c2: i2c@21a0000 {
|
||||
compatible = "fsl,vf610-i2c";
|
||||
compatible = "fsl,ls1046a-i2c", "fsl,vf610-i2c";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x0 0x21a0000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
scl-gpios = <&gpio3 10 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c3: i2c@21b0000 {
|
||||
compatible = "fsl,vf610-i2c";
|
||||
compatible = "fsl,ls1046a-i2c", "fsl,vf610-i2c";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x0 0x21b0000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
scl-gpios = <&gpio3 12 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -709,44 +714,55 @@ QORIQ_CLK_PLL_DIV(2)>,
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
};
|
||||
|
||||
usb0: usb@2f00000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0x2f00000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dr_mode = "host";
|
||||
snps,quirk-frame-length-adjustment = <0x20>;
|
||||
snps,dis_rxdet_inp3_quirk;
|
||||
snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
|
||||
};
|
||||
aux_bus: aux_bus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
compatible = "simple-bus";
|
||||
ranges;
|
||||
dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x00000000>;
|
||||
|
||||
usb1: usb@3000000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0x3000000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dr_mode = "host";
|
||||
snps,quirk-frame-length-adjustment = <0x20>;
|
||||
snps,dis_rxdet_inp3_quirk;
|
||||
snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
|
||||
};
|
||||
usb0: usb@2f00000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0x2f00000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dr_mode = "host";
|
||||
snps,quirk-frame-length-adjustment = <0x20>;
|
||||
snps,dis_rxdet_inp3_quirk;
|
||||
snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
|
||||
usb3-lpm-capable;
|
||||
};
|
||||
|
||||
usb2: usb@3100000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0x3100000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dr_mode = "host";
|
||||
snps,quirk-frame-length-adjustment = <0x20>;
|
||||
snps,dis_rxdet_inp3_quirk;
|
||||
snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
|
||||
};
|
||||
usb1: usb@3000000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0x3000000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dr_mode = "host";
|
||||
snps,quirk-frame-length-adjustment = <0x20>;
|
||||
snps,dis_rxdet_inp3_quirk;
|
||||
snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
|
||||
usb3-lpm-capable;
|
||||
};
|
||||
|
||||
sata: sata@3200000 {
|
||||
compatible = "fsl,ls1046a-ahci";
|
||||
reg = <0x0 0x3200000 0x0 0x10000>,
|
||||
<0x0 0x20140520 0x0 0x4>;
|
||||
reg-names = "ahci", "sata-ecc";
|
||||
interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
usb2: usb@3100000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0x3100000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dr_mode = "host";
|
||||
snps,quirk-frame-length-adjustment = <0x20>;
|
||||
snps,dis_rxdet_inp3_quirk;
|
||||
snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
|
||||
usb3-lpm-capable;
|
||||
};
|
||||
|
||||
sata: sata@3200000 {
|
||||
compatible = "fsl,ls1046a-ahci";
|
||||
reg = <0x0 0x3200000 0x0 0x10000>,
|
||||
<0x0 0x20140520 0x0 0x4>;
|
||||
reg-names = "ahci", "sata-ecc";
|
||||
interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
};
|
||||
};
|
||||
|
||||
msi1: msi-controller@1580000 {
|
||||
@@ -790,7 +806,6 @@ pcie1: pcie@3400000 {
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
device_type = "pci";
|
||||
dma-coherent;
|
||||
num-viewport = <8>;
|
||||
bus-range = <0x0 0xff>;
|
||||
ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */
|
||||
@@ -802,6 +817,7 @@ pcie1: pcie@3400000 {
|
||||
<0000 0 0 2 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0000 0 0 3 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0000 0 0 4 &gic GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
|
||||
big-endian;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -810,8 +826,11 @@ pcie_ep1: pcie_ep@3400000 {
|
||||
reg = <0x00 0x03400000 0x0 0x00100000>,
|
||||
<0x40 0x00000000 0x8 0x00000000>;
|
||||
reg-names = "regs", "addr_space";
|
||||
interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "pme";
|
||||
num-ib-windows = <6>;
|
||||
num-ob-windows = <8>;
|
||||
big-endian;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -826,7 +845,6 @@ pcie2: pcie@3500000 {
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
device_type = "pci";
|
||||
dma-coherent;
|
||||
num-viewport = <8>;
|
||||
bus-range = <0x0 0xff>;
|
||||
ranges = <0x81000000 0x0 0x00000000 0x48 0x00010000 0x0 0x00010000 /* downstream I/O */
|
||||
@@ -838,6 +856,7 @@ pcie2: pcie@3500000 {
|
||||
<0000 0 0 2 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0000 0 0 3 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0000 0 0 4 &gic GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
|
||||
big-endian;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -846,8 +865,11 @@ pcie_ep2: pcie_ep@3500000 {
|
||||
reg = <0x00 0x03500000 0x0 0x00100000>,
|
||||
<0x48 0x00000000 0x8 0x00000000>;
|
||||
reg-names = "regs", "addr_space";
|
||||
interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "pme";
|
||||
num-ib-windows = <6>;
|
||||
num-ob-windows = <8>;
|
||||
big-endian;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -862,7 +884,6 @@ pcie3: pcie@3600000 {
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
device_type = "pci";
|
||||
dma-coherent;
|
||||
num-viewport = <8>;
|
||||
bus-range = <0x0 0xff>;
|
||||
ranges = <0x81000000 0x0 0x00000000 0x50 0x00010000 0x0 0x00010000 /* downstream I/O */
|
||||
@@ -874,6 +895,7 @@ pcie3: pcie@3600000 {
|
||||
<0000 0 0 2 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0000 0 0 3 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0000 0 0 4 &gic GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
|
||||
big-endian;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -882,8 +904,11 @@ pcie_ep3: pcie_ep@3600000 {
|
||||
reg = <0x00 0x03600000 0x0 0x00100000>,
|
||||
<0x50 0x00000000 0x8 0x00000000>;
|
||||
reg-names = "regs", "addr_space";
|
||||
interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "pme";
|
||||
num-ib-windows = <6>;
|
||||
num-ob-windows = <8>;
|
||||
big-endian;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
#include "fsl-ls2080a.dtsi"
|
||||
#include "fsl-ls208xa-rdb.dtsi"
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
/ {
|
||||
model = "Freescale Layerscape 2080a RDB Board";
|
||||
@@ -23,3 +24,71 @@ chosen {
|
||||
stdout-path = "serial1:115200n8";
|
||||
};
|
||||
};
|
||||
|
||||
&dpmac5 {
|
||||
phy-handle = <&mdio2_phy1>;
|
||||
phy-connection-type = "10gbase-r";
|
||||
};
|
||||
|
||||
&dpmac6 {
|
||||
phy-handle = <&mdio2_phy2>;
|
||||
phy-connection-type = "10gbase-r";
|
||||
};
|
||||
|
||||
&dpmac7 {
|
||||
phy-handle = <&mdio2_phy3>;
|
||||
phy-connection-type = "10gbase-r";
|
||||
};
|
||||
|
||||
&dpmac8 {
|
||||
phy-handle = <&mdio2_phy4>;
|
||||
phy-connection-type = "10gbase-r";
|
||||
};
|
||||
|
||||
&emdio1 {
|
||||
status = "disabled";
|
||||
|
||||
/* CS4340 PHYs */
|
||||
mdio1_phy1: emdio1-phy@10 {
|
||||
reg = <0x10>;
|
||||
};
|
||||
|
||||
mdio1_phy2: emdio1-phy@11 {
|
||||
reg = <0x11>;
|
||||
};
|
||||
|
||||
mdio1_phy3: emdio1-phy@12 {
|
||||
reg = <0x12>;
|
||||
};
|
||||
|
||||
mdio1_phy4: emdio1-phy@13 {
|
||||
reg = <0x13>;
|
||||
};
|
||||
};
|
||||
|
||||
&emdio2 {
|
||||
/* AQR405 PHYs */
|
||||
mdio2_phy1: emdio2-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c45";
|
||||
interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg = <0x0>;
|
||||
};
|
||||
|
||||
mdio2_phy2: emdio2-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c45";
|
||||
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg = <0x1>;
|
||||
};
|
||||
|
||||
mdio2_phy3: emdio2-phy@2 {
|
||||
compatible = "ethernet-phy-ieee802.3-c45";
|
||||
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg = <0x2>;
|
||||
};
|
||||
|
||||
mdio2_phy4: emdio2-phy@3 {
|
||||
compatible = "ethernet-phy-ieee802.3-c45";
|
||||
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
|
||||
reg = <0x3>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -150,3 +150,7 @@ &pcie4 {
|
||||
ranges = <0x81000000 0x0 0x00000000 0x16 0x00010000 0x0 0x00010000 /* downstream I/O */
|
||||
0x82000000 0x0 0x40000000 0x16 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
|
||||
};
|
||||
|
||||
&timer {
|
||||
fsl,erratum-a008585;
|
||||
};
|
||||
|
||||
132
arch/arm64/boot/dts/freescale/fsl-ls2081a-rdb.dts
Normal file
132
arch/arm64/boot/dts/freescale/fsl-ls2081a-rdb.dts
Normal file
@@ -0,0 +1,132 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Device Tree file for NXP LS2081A RDB Board.
|
||||
*
|
||||
* Copyright 2017 NXP
|
||||
*
|
||||
* Priyanka Jain <priyanka.jain@nxp.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "fsl-ls2088a.dtsi"
|
||||
|
||||
/ {
|
||||
model = "NXP Layerscape 2081A RDB Board";
|
||||
compatible = "fsl,ls2081a-rdb", "fsl,ls2081a";
|
||||
|
||||
aliases {
|
||||
serial0 = &serial0;
|
||||
serial1 = &serial1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial1:115200n8";
|
||||
};
|
||||
};
|
||||
|
||||
&dspi {
|
||||
status = "okay";
|
||||
|
||||
n25q512a: flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
spi-max-frequency = <3000000>;
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&esdhc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
pca9547: mux@75 {
|
||||
compatible = "nxp,pca9547";
|
||||
reg = <0x75>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
i2c@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x1>;
|
||||
|
||||
rtc@51 {
|
||||
compatible = "nxp,pcf2129";
|
||||
reg = <0x51>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c@2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x2>;
|
||||
|
||||
ina220@40 {
|
||||
compatible = "ti,ina220";
|
||||
reg = <0x40>;
|
||||
shunt-resistor = <500>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c@3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x3>;
|
||||
|
||||
adt7481@4c {
|
||||
compatible = "adi,adt7461";
|
||||
reg = <0x4c>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ifc {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&qspi {
|
||||
status = "okay";
|
||||
|
||||
s25fs512s0: flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
spi-rx-bus-width = <4>;
|
||||
spi-tx-bus-width = <4>;
|
||||
spi-max-frequency = <20000000>;
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
s25fs512s1: flash@1 {
|
||||
compatible = "jedec,spi-nor";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
spi-rx-bus-width = <4>;
|
||||
spi-tx-bus-width = <4>;
|
||||
spi-max-frequency = <20000000>;
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&sata0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sata1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -9,6 +9,27 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/* Update DPMAC connections to external PHYs, under SerDes 0x2a_0x49. */
|
||||
&dpmac9 {
|
||||
phy-handle = <&mdio0_phy12>;
|
||||
phy-connection-type = "sgmii";
|
||||
};
|
||||
|
||||
&dpmac10 {
|
||||
phy-handle = <&mdio0_phy13>;
|
||||
phy-connection-type = "sgmii";
|
||||
};
|
||||
|
||||
&dpmac11 {
|
||||
phy-handle = <&mdio0_phy14>;
|
||||
phy-connection-type = "sgmii";
|
||||
};
|
||||
|
||||
&dpmac12 {
|
||||
phy-handle = <&mdio0_phy15>;
|
||||
phy-connection-type = "sgmii";
|
||||
};
|
||||
|
||||
&esdhc {
|
||||
mmc-hs200-1_8v;
|
||||
status = "okay";
|
||||
@@ -36,9 +57,47 @@ nand@2,0 {
|
||||
reg = <0x2 0x0 0x10000>;
|
||||
};
|
||||
|
||||
cpld@3,0 {
|
||||
reg = <0x3 0x0 0x10000>;
|
||||
compatible = "fsl,ls2080aqds-fpga", "fsl,fpga-qixis";
|
||||
boardctrl: board-control@3,0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,ls208xaqds-fpga", "fsl,fpga-qixis", "simple-mfd";
|
||||
reg = <3 0 0x1000>;
|
||||
ranges = <0 3 0 0x1000>;
|
||||
|
||||
mdio-mux-emi1@54 {
|
||||
compatible = "mdio-mux-mmioreg", "mdio-mux";
|
||||
mdio-parent-bus = <&emdio1>;
|
||||
reg = <0x54 1>; /* BRDCFG4 */
|
||||
mux-mask = <0xe0>; /* EMI1_MDIO */
|
||||
#address-cells=<1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/* Child MDIO buses, one for each riser card:
|
||||
* reg = 0x0, 0x20, 0x40, 0x60, 0x80, 0xa0.
|
||||
* VSC8234 PHYs on the riser cards.
|
||||
*/
|
||||
mdio_mux3: mdio@60 {
|
||||
reg = <0x60>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
mdio0_phy12: mdio-phy0@1c {
|
||||
reg = <0x1c>;
|
||||
};
|
||||
|
||||
mdio0_phy13: mdio-phy1@1d {
|
||||
reg = <0x1d>;
|
||||
};
|
||||
|
||||
mdio0_phy14: mdio-phy2@1e {
|
||||
reg = <0x1e>;
|
||||
};
|
||||
|
||||
mdio0_phy15: mdio-phy3@1f {
|
||||
reg = <0x1f>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -49,6 +49,8 @@ pca9547@75 {
|
||||
reg = <0x75>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
idle-state = <0>;
|
||||
|
||||
i2c@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
@@ -239,13 +239,12 @@ map0 {
|
||||
};
|
||||
};
|
||||
|
||||
timer {
|
||||
timer: timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <1 13 4>, /* Physical Secure PPI, active-low */
|
||||
<1 14 4>, /* Physical Non-Secure PPI, active-low */
|
||||
<1 11 4>, /* Virtual PPI, active-low */
|
||||
<1 10 4>; /* Hypervisor PPI, active-low */
|
||||
fsl,erratum-a008585;
|
||||
};
|
||||
|
||||
pmu {
|
||||
|
||||
@@ -10,7 +10,7 @@ ddr_subsys: bus@5c000000 {
|
||||
#size-cells = <1>;
|
||||
ranges = <0x5c000000 0x0 0x5c000000 0x1000000>;
|
||||
|
||||
ddr-pmu@5c020000 {
|
||||
ddr_pmu0: ddr-pmu@5c020000 {
|
||||
compatible = "fsl,imx8-ddr-pmu";
|
||||
reg = <0x5c020000 0x10000>;
|
||||
interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
@@ -111,8 +111,9 @@ uart3_lpcg: clock-controller@5a490000 {
|
||||
i2c0: i2c@5a800000 {
|
||||
reg = <0x5a800000 0x4000>;
|
||||
interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&i2c0_lpcg IMX_LPCG_CLK_0>;
|
||||
clock-names = "per";
|
||||
clocks = <&i2c0_lpcg IMX_LPCG_CLK_0>,
|
||||
<&i2c0_lpcg IMX_LPCG_CLK_4>;
|
||||
clock-names = "per", "ipg";
|
||||
assigned-clocks = <&clk IMX_SC_R_I2C_0 IMX_SC_PM_CLK_PER>;
|
||||
assigned-clock-rates = <24000000>;
|
||||
power-domains = <&pd IMX_SC_R_I2C_0>;
|
||||
@@ -122,8 +123,9 @@ i2c0: i2c@5a800000 {
|
||||
i2c1: i2c@5a810000 {
|
||||
reg = <0x5a810000 0x4000>;
|
||||
interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&i2c1_lpcg IMX_LPCG_CLK_0>;
|
||||
clock-names = "per";
|
||||
clocks = <&i2c1_lpcg IMX_LPCG_CLK_0>,
|
||||
<&i2c1_lpcg IMX_LPCG_CLK_4>;
|
||||
clock-names = "per", "ipg";
|
||||
assigned-clocks = <&clk IMX_SC_R_I2C_1 IMX_SC_PM_CLK_PER>;
|
||||
assigned-clock-rates = <24000000>;
|
||||
power-domains = <&pd IMX_SC_R_I2C_1>;
|
||||
@@ -133,8 +135,9 @@ i2c1: i2c@5a810000 {
|
||||
i2c2: i2c@5a820000 {
|
||||
reg = <0x5a820000 0x4000>;
|
||||
interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&i2c2_lpcg IMX_LPCG_CLK_0>;
|
||||
clock-names = "per";
|
||||
clocks = <&i2c2_lpcg IMX_LPCG_CLK_0>,
|
||||
<&i2c2_lpcg IMX_LPCG_CLK_4>;
|
||||
clock-names = "per", "ipg";
|
||||
assigned-clocks = <&clk IMX_SC_R_I2C_2 IMX_SC_PM_CLK_PER>;
|
||||
assigned-clock-rates = <24000000>;
|
||||
power-domains = <&pd IMX_SC_R_I2C_2>;
|
||||
@@ -144,8 +147,9 @@ i2c2: i2c@5a820000 {
|
||||
i2c3: i2c@5a830000 {
|
||||
reg = <0x5a830000 0x4000>;
|
||||
interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&i2c3_lpcg IMX_LPCG_CLK_0>;
|
||||
clock-names = "per";
|
||||
clocks = <&i2c3_lpcg IMX_LPCG_CLK_0>,
|
||||
<&i2c3_lpcg IMX_LPCG_CLK_4>;
|
||||
clock-names = "per", "ipg";
|
||||
assigned-clocks = <&clk IMX_SC_R_I2C_3 IMX_SC_PM_CLK_PER>;
|
||||
assigned-clock-rates = <24000000>;
|
||||
power-domains = <&pd IMX_SC_R_I2C_3>;
|
||||
|
||||
426
arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
Normal file
426
arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
Normal file
@@ -0,0 +1,426 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Copyright 2019~2020, 2022 NXP
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx8dxl.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Freescale i.MX8DXL EVK";
|
||||
compatible = "fsl,imx8dxl-evk", "fsl,imx8dxl";
|
||||
|
||||
aliases {
|
||||
i2c2 = &i2c2;
|
||||
mmc0 = &usdhc1;
|
||||
mmc1 = &usdhc2;
|
||||
serial0 = &lpuart0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = &lpuart0;
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x80000000 0 0x40000000>;
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
/*
|
||||
* Memory reserved for optee usage. Please do not use.
|
||||
* This will be automatically added to dtb if OP-TEE is installed.
|
||||
* optee@96000000 {
|
||||
* reg = <0 0x96000000 0 0x2000000>;
|
||||
* no-map;
|
||||
* };
|
||||
*/
|
||||
|
||||
/* global autoconfigured region for contiguous allocations */
|
||||
linux,cma {
|
||||
compatible = "shared-dma-pool";
|
||||
reusable;
|
||||
size = <0 0x14000000>;
|
||||
alloc-ranges = <0 0x98000000 0 0x14000000>;
|
||||
linux,cma-default;
|
||||
};
|
||||
};
|
||||
|
||||
mux3_en: regulator-0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "mux3_en";
|
||||
gpio = <&pca6416_2 8 GPIO_ACTIVE_LOW>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_fec1_sel: regulator-1 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fec1_supply";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpio = <&pca6416_1 11 GPIO_ACTIVE_LOW>;
|
||||
regulator-always-on;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
reg_fec1_io: regulator-2 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fec1_io_supply";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
gpio = <&max7322 0 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-always-on;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
reg_usdhc2_vmmc: regulator-3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "SD1_SPWR";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
gpio = <&lsio_gpio4 30 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
off-on-delay-us = <3480>;
|
||||
};
|
||||
};
|
||||
|
||||
&eqos {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_eqos>;
|
||||
phy-mode = "rgmii-id";
|
||||
phy-handle = <ðphy0>;
|
||||
nvmem-cells = <&fec_mac1>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
snps,reset-gpios = <&pca6416_1 2 GPIO_ACTIVE_LOW>;
|
||||
snps,reset-delays-us = <10 20 200000>;
|
||||
status = "okay";
|
||||
|
||||
mdio {
|
||||
compatible = "snps,dwmac-mdio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ethphy0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
eee-broken-1000t;
|
||||
qca,disable-smarteee;
|
||||
vddio-supply = <&vddio0>;
|
||||
|
||||
vddio0: vddio-regulator {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* fec1 shares the some PINs with usdhc2.
|
||||
* by default usdhc2 is enabled in this dts.
|
||||
* Please disable usdhc2 to enable fec1
|
||||
*/
|
||||
&fec1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_fec1>;
|
||||
phy-mode = "rgmii-txid";
|
||||
phy-handle = <ðphy1>;
|
||||
fsl,magic-packet;
|
||||
rx-internal-delay-ps = <2000>;
|
||||
nvmem-cells = <&fec_mac0>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
status = "disabled";
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ethphy1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
reset-gpios = <&pca6416_1 0 GPIO_ACTIVE_LOW>;
|
||||
reset-assert-us = <10000>;
|
||||
qca,disable-smarteee;
|
||||
vddio-supply = <&vddio1>;
|
||||
|
||||
vddio1: vddio-regulator {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clock-frequency = <100000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c2>;
|
||||
status = "okay";
|
||||
|
||||
pca6416_1: gpio@20 {
|
||||
compatible = "ti,tca6416";
|
||||
reg = <0x20>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
|
||||
pca6416_2: gpio@21 {
|
||||
compatible = "ti,tca6416";
|
||||
reg = <0x21>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
|
||||
pca9548_1: i2c-mux@70 {
|
||||
compatible = "nxp,pca9548";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x70>;
|
||||
|
||||
i2c@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x0>;
|
||||
|
||||
max7322: gpio@68 {
|
||||
compatible = "maxim,max7322";
|
||||
reg = <0x68>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
i2c@4 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x4>;
|
||||
};
|
||||
|
||||
i2c@5 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x5>;
|
||||
};
|
||||
|
||||
i2c@6 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x6>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&lpuart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_lpuart0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&lsio_gpio4 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&lsio_gpio5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&thermal_zones {
|
||||
pmic-thermal0 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <2000>;
|
||||
thermal-sensors = <&tsens IMX_SC_R_PMIC_0>;
|
||||
|
||||
trips {
|
||||
pmic_alert0: trip0 {
|
||||
temperature = <110000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
pmic_crit0: trip1 {
|
||||
temperature = <125000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&pmic_alert0>;
|
||||
cooling-device =
|
||||
<&A35_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&A35_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&usdhc1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usdhc1>;
|
||||
bus-width = <8>;
|
||||
no-sd;
|
||||
no-sdio;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usdhc2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
|
||||
bus-width = <4>;
|
||||
vmmc-supply = <®_usdhc2_vmmc>;
|
||||
cd-gpios = <&lsio_gpio5 1 GPIO_ACTIVE_LOW>;
|
||||
wp-gpios = <&lsio_gpio5 0 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_hog>;
|
||||
|
||||
pinctrl_hog: hoggrp {
|
||||
fsl,pins = <
|
||||
IMX8DXL_COMP_CTL_GPIO_1V8_3V3_GPIORHB_PAD 0x000514a0
|
||||
IMX8DXL_COMP_CTL_GPIO_1V8_3V3_GPIORHK_PAD 0x000014a0
|
||||
IMX8DXL_SPI3_CS0_ADMA_ACM_MCLK_OUT1 0x0600004c
|
||||
IMX8DXL_SNVS_TAMPER_OUT1_LSIO_GPIO2_IO05_IN 0x0600004c
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usbotg1: usbotg1grp {
|
||||
fsl,pins = <
|
||||
IMX8DXL_USB_SS3_TC0_CONN_USB_OTG1_PWR 0x00000021
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usbotg2: usbotg2grp {
|
||||
fsl,pins = <
|
||||
IMX8DXL_USB_SS3_TC1_CONN_USB_OTG2_PWR 0x00000021
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_eqos: eqosgrp {
|
||||
fsl,pins = <
|
||||
IMX8DXL_ENET0_MDC_CONN_EQOS_MDC 0x06000020
|
||||
IMX8DXL_ENET0_MDIO_CONN_EQOS_MDIO 0x06000020
|
||||
IMX8DXL_ENET1_RGMII_RXC_CONN_EQOS_RGMII_RXC 0x06000020
|
||||
IMX8DXL_ENET1_RGMII_RXD0_CONN_EQOS_RGMII_RXD0 0x06000020
|
||||
IMX8DXL_ENET1_RGMII_RXD1_CONN_EQOS_RGMII_RXD1 0x06000020
|
||||
IMX8DXL_ENET1_RGMII_RXD2_CONN_EQOS_RGMII_RXD2 0x06000020
|
||||
IMX8DXL_ENET1_RGMII_RXD3_CONN_EQOS_RGMII_RXD3 0x06000020
|
||||
IMX8DXL_ENET1_RGMII_RX_CTL_CONN_EQOS_RGMII_RX_CTL 0x06000020
|
||||
IMX8DXL_ENET1_RGMII_TXC_CONN_EQOS_RGMII_TXC 0x06000020
|
||||
IMX8DXL_ENET1_RGMII_TXD0_CONN_EQOS_RGMII_TXD0 0x06000020
|
||||
IMX8DXL_ENET1_RGMII_TXD1_CONN_EQOS_RGMII_TXD1 0x06000020
|
||||
IMX8DXL_ENET1_RGMII_TXD2_CONN_EQOS_RGMII_TXD2 0x06000020
|
||||
IMX8DXL_ENET1_RGMII_TXD3_CONN_EQOS_RGMII_TXD3 0x06000020
|
||||
IMX8DXL_ENET1_RGMII_TX_CTL_CONN_EQOS_RGMII_TX_CTL 0x06000020
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_fec1: fec1grp {
|
||||
fsl,pins = <
|
||||
IMX8DXL_COMP_CTL_GPIO_1V8_3V3_ENET_ENETB0_PAD 0x000014a0
|
||||
IMX8DXL_COMP_CTL_GPIO_1V8_3V3_ENET_ENETB1_PAD 0x000014a0
|
||||
IMX8DXL_ENET0_MDC_CONN_ENET0_MDC 0x06000020
|
||||
IMX8DXL_ENET0_MDIO_CONN_ENET0_MDIO 0x06000020
|
||||
IMX8DXL_ENET0_RGMII_RXC_CONN_ENET0_RGMII_RXC 0x00000060
|
||||
IMX8DXL_ENET0_RGMII_RXD0_CONN_ENET0_RGMII_RXD0 0x00000060
|
||||
IMX8DXL_ENET0_RGMII_RXD1_CONN_ENET0_RGMII_RXD1 0x00000060
|
||||
IMX8DXL_ENET0_RGMII_RXD2_CONN_ENET0_RGMII_RXD2 0x00000060
|
||||
IMX8DXL_ENET0_RGMII_RXD3_CONN_ENET0_RGMII_RXD3 0x00000060
|
||||
IMX8DXL_ENET0_RGMII_RX_CTL_CONN_ENET0_RGMII_RX_CTL 0x00000060
|
||||
IMX8DXL_ENET0_RGMII_TXC_CONN_ENET0_RGMII_TXC 0x00000060
|
||||
IMX8DXL_ENET0_RGMII_TXD0_CONN_ENET0_RGMII_TXD0 0x00000060
|
||||
IMX8DXL_ENET0_RGMII_TXD1_CONN_ENET0_RGMII_TXD1 0x00000060
|
||||
IMX8DXL_ENET0_RGMII_TXD2_CONN_ENET0_RGMII_TXD2 0x00000060
|
||||
IMX8DXL_ENET0_RGMII_TXD3_CONN_ENET0_RGMII_TXD3 0x00000060
|
||||
IMX8DXL_ENET0_RGMII_TX_CTL_CONN_ENET0_RGMII_TX_CTL 0x00000060
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_lpspi3: lpspi3grp {
|
||||
fsl,pins = <
|
||||
IMX8DXL_SPI3_SCK_ADMA_SPI3_SCK 0x6000040
|
||||
IMX8DXL_SPI3_SDO_ADMA_SPI3_SDO 0x6000040
|
||||
IMX8DXL_SPI3_SDI_ADMA_SPI3_SDI 0x6000040
|
||||
IMX8DXL_SPI3_CS1_ADMA_SPI3_CS1 0x6000040
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c2: i2c2grp {
|
||||
fsl,pins = <
|
||||
IMX8DXL_SPI1_SCK_ADMA_I2C2_SDA 0x06000021
|
||||
IMX8DXL_SPI1_SDO_ADMA_I2C2_SCL 0x06000021
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_cm40_lpuart: cm40lpuartgrp {
|
||||
fsl,pins = <
|
||||
IMX8DXL_ADC_IN2_M40_UART0_RX 0x06000020
|
||||
IMX8DXL_ADC_IN3_M40_UART0_TX 0x06000020
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c3: i2c3grp {
|
||||
fsl,pins = <
|
||||
IMX8DXL_SPI1_CS0_ADMA_I2C3_SDA 0x06000021
|
||||
IMX8DXL_SPI1_SDI_ADMA_I2C3_SCL 0x06000021
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_lpuart0: lpuart0grp {
|
||||
fsl,pins = <
|
||||
IMX8DXL_UART0_RX_ADMA_UART0_RX 0x06000020
|
||||
IMX8DXL_UART0_TX_ADMA_UART0_TX 0x06000020
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc1: usdhc1grp {
|
||||
fsl,pins = <
|
||||
IMX8DXL_EMMC0_CLK_CONN_EMMC0_CLK 0x06000041
|
||||
IMX8DXL_EMMC0_CMD_CONN_EMMC0_CMD 0x00000021
|
||||
IMX8DXL_EMMC0_DATA0_CONN_EMMC0_DATA0 0x00000021
|
||||
IMX8DXL_EMMC0_DATA1_CONN_EMMC0_DATA1 0x00000021
|
||||
IMX8DXL_EMMC0_DATA2_CONN_EMMC0_DATA2 0x00000021
|
||||
IMX8DXL_EMMC0_DATA3_CONN_EMMC0_DATA3 0x00000021
|
||||
IMX8DXL_EMMC0_DATA4_CONN_EMMC0_DATA4 0x00000021
|
||||
IMX8DXL_EMMC0_DATA5_CONN_EMMC0_DATA5 0x00000021
|
||||
IMX8DXL_EMMC0_DATA6_CONN_EMMC0_DATA6 0x00000021
|
||||
IMX8DXL_EMMC0_DATA7_CONN_EMMC0_DATA7 0x00000021
|
||||
IMX8DXL_EMMC0_STROBE_CONN_EMMC0_STROBE 0x00000041
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2_gpio: usdhc2gpiogrp {
|
||||
fsl,pins = <
|
||||
IMX8DXL_ENET0_RGMII_TX_CTL_LSIO_GPIO4_IO30 0x00000040 /* RESET_B */
|
||||
IMX8DXL_ENET0_RGMII_TXD1_LSIO_GPIO5_IO00 0x00000021 /* WP */
|
||||
IMX8DXL_ENET0_RGMII_TXD2_LSIO_GPIO5_IO01 0x00000021 /* CD */
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2: usdhc2grp {
|
||||
fsl,pins = <
|
||||
IMX8DXL_ENET0_RGMII_RXC_CONN_USDHC1_CLK 0x06000041
|
||||
IMX8DXL_ENET0_RGMII_RX_CTL_CONN_USDHC1_CMD 0x00000021
|
||||
IMX8DXL_ENET0_RGMII_RXD0_CONN_USDHC1_DATA0 0x00000021
|
||||
IMX8DXL_ENET0_RGMII_RXD1_CONN_USDHC1_DATA1 0x00000021
|
||||
IMX8DXL_ENET0_RGMII_RXD2_CONN_USDHC1_DATA2 0x00000021
|
||||
IMX8DXL_ENET0_RGMII_RXD3_CONN_USDHC1_DATA3 0x00000021
|
||||
IMX8DXL_ENET0_RGMII_TXD0_CONN_USDHC1_VSELECT 0x00000021
|
||||
>;
|
||||
};
|
||||
};
|
||||
52
arch/arm64/boot/dts/freescale/imx8dxl-ss-adma.dtsi
Normal file
52
arch/arm64/boot/dts/freescale/imx8dxl-ss-adma.dtsi
Normal file
@@ -0,0 +1,52 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Copyright 2019~2020, 2022 NXP
|
||||
*/
|
||||
|
||||
&audio_ipg_clk {
|
||||
clock-frequency = <160000000>;
|
||||
};
|
||||
|
||||
&dma_ipg_clk {
|
||||
clock-frequency = <160000000>;
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
compatible = "fsl,imx8dxl-lpi2c", "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
compatible = "fsl,imx8dxl-lpi2c", "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
compatible = "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
compatible = "fsl,imx8qxp-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&lpuart0 {
|
||||
compatible = "fsl,imx8qxp-lpuart", "fsl,imx7ulp-lpuart";
|
||||
interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&lpuart1 {
|
||||
compatible = "fsl,imx8qxp-lpuart", "fsl,imx7ulp-lpuart";
|
||||
interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&lpuart2 {
|
||||
compatible = "fsl,imx8qxp-lpuart", "fsl,imx7ulp-lpuart";
|
||||
interrupts = <GIC_SPI 230 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&lpuart3 {
|
||||
compatible = "fsl,imx8qxp-lpuart", "fsl,imx7ulp-lpuart";
|
||||
interrupts = <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
142
arch/arm64/boot/dts/freescale/imx8dxl-ss-conn.dtsi
Normal file
142
arch/arm64/boot/dts/freescale/imx8dxl-ss-conn.dtsi
Normal file
@@ -0,0 +1,142 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Copyright 2019~2020, 2022 NXP
|
||||
*/
|
||||
|
||||
/delete-node/ &enet1_lpcg;
|
||||
/delete-node/ &fec2;
|
||||
|
||||
&conn_subsys {
|
||||
conn_enet0_root_clk: clock-conn-enet0-root {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <250000000>;
|
||||
clock-output-names = "conn_enet0_root_clk";
|
||||
};
|
||||
|
||||
eqos: ethernet@5b050000 {
|
||||
compatible = "nxp,imx8dxl-dwmac-eqos", "snps,dwmac-5.10a";
|
||||
reg = <0x5b050000 0x10000>;
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "eth_wake_irq", "macirq";
|
||||
clocks = <&eqos_lpcg IMX_LPCG_CLK_4>,
|
||||
<&eqos_lpcg IMX_LPCG_CLK_6>,
|
||||
<&eqos_lpcg IMX_LPCG_CLK_0>,
|
||||
<&eqos_lpcg IMX_LPCG_CLK_5>,
|
||||
<&eqos_lpcg IMX_LPCG_CLK_2>;
|
||||
clock-names = "stmmaceth", "pclk", "ptp_ref", "tx", "mem";
|
||||
assigned-clocks = <&clk IMX_SC_R_ENET_1 IMX_SC_PM_CLK_PER>;
|
||||
assigned-clock-rates = <125000000>;
|
||||
power-domains = <&pd IMX_SC_R_ENET_1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbotg2: usb@5b0e0000 {
|
||||
compatible = "fsl,imx8dxl-usb", "fsl,imx7ulp-usb";
|
||||
reg = <0x5b0e0000 0x200>;
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
|
||||
fsl,usbphy = <&usbphy2>;
|
||||
fsl,usbmisc = <&usbmisc2 0>;
|
||||
/*
|
||||
* usbotg1 and usbotg2 share one clcok.
|
||||
* scu firmware disables the access to the clock and keeps
|
||||
* it always on in case other core (M4) uses one of these.
|
||||
*/
|
||||
clocks = <&clk_dummy>;
|
||||
ahb-burst-config = <0x0>;
|
||||
tx-burst-size-dword = <0x10>;
|
||||
rx-burst-size-dword = <0x10>;
|
||||
#stream-id-cells = <1>;
|
||||
power-domains = <&pd IMX_SC_R_USB_1>;
|
||||
status = "disabled";
|
||||
|
||||
clk_dummy: clock-dummy {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
clock-output-names = "clk_dummy";
|
||||
};
|
||||
};
|
||||
|
||||
usbmisc2: usbmisc@5b0e0200 {
|
||||
#index-cells = <1>;
|
||||
compatible = "fsl,imx7ulp-usbmisc";
|
||||
reg = <0x5b0e0200 0x200>;
|
||||
};
|
||||
|
||||
usbphy2: usbphy@0x5b110000 {
|
||||
compatible = "fsl,imx8dxl-usbphy", "fsl,imx7ulp-usbphy";
|
||||
reg = <0x5b110000 0x1000>;
|
||||
clocks = <&usb2_2_lpcg IMX_LPCG_CLK_7>;
|
||||
power-domains = <&pd IMX_SC_R_USB_1_PHY>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
eqos_lpcg: clock-controller@5b240000 {
|
||||
compatible = "fsl,imx8qxp-lpcg";
|
||||
reg = <0x5b240000 0x10000>;
|
||||
#clock-cells = <1>;
|
||||
clocks = <&conn_enet0_root_clk>,
|
||||
<&conn_axi_clk>,
|
||||
<&conn_axi_clk>,
|
||||
<&clk IMX_SC_R_ENET_1 IMX_SC_PM_CLK_PER>,
|
||||
<&conn_ipg_clk>;
|
||||
clock-indices = <IMX_LPCG_CLK_0>, <IMX_LPCG_CLK_2>,
|
||||
<IMX_LPCG_CLK_4>, <IMX_LPCG_CLK_5>,
|
||||
<IMX_LPCG_CLK_6>;
|
||||
clock-output-names = "eqos_ptp",
|
||||
"eqos_mem_clk",
|
||||
"eqos_aclk",
|
||||
"eqos_clk",
|
||||
"eqos_csr_clk";
|
||||
power-domains = <&pd IMX_SC_R_ENET_1>;
|
||||
};
|
||||
|
||||
usb2_2_lpcg: clock-controller@5b280000 {
|
||||
compatible = "fsl,imx8qxp-lpcg";
|
||||
reg = <0x5b280000 0x10000>;
|
||||
#clock-cells = <1>;
|
||||
clock-indices = <IMX_LPCG_CLK_7>;
|
||||
clocks = <&conn_ipg_clk>;
|
||||
clock-output-names = "usboh3_2_phy_ipg_clk";
|
||||
power-domains = <&pd IMX_SC_R_USB_1_PHY>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&enet0_lpcg {
|
||||
clocks = <&conn_enet0_root_clk>,
|
||||
<&conn_enet0_root_clk>,
|
||||
<&conn_axi_clk>,
|
||||
<&clk IMX_SC_R_ENET_0 IMX_SC_C_TXCLK>,
|
||||
<&conn_ipg_clk>,
|
||||
<&conn_ipg_clk>;
|
||||
};
|
||||
|
||||
&fec1 {
|
||||
compatible = "fsl,imx8qm-fec";
|
||||
interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
|
||||
assigned-clocks = <&clk IMX_SC_R_ENET_0 IMX_SC_C_CLKDIV>;
|
||||
assigned-clock-rates = <125000000>;
|
||||
};
|
||||
|
||||
&usdhc1 {
|
||||
compatible = "fsl,imx8dxl-usdhc", "fsl,imx8qxp-usdhc";
|
||||
interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&usdhc2 {
|
||||
compatible = "fsl,imx8dxl-usdhc", "fsl,imx8qxp-usdhc";
|
||||
interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&usdhc3 {
|
||||
compatible = "fsl,imx8dxl-usdhc", "fsl,imx8qxp-usdhc";
|
||||
interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
9
arch/arm64/boot/dts/freescale/imx8dxl-ss-ddr.dtsi
Normal file
9
arch/arm64/boot/dts/freescale/imx8dxl-ss-ddr.dtsi
Normal file
@@ -0,0 +1,9 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Copyright 2020 NXP
|
||||
*/
|
||||
|
||||
&ddr_pmu0 {
|
||||
compatible = "fsl,imx8-ddr-pmu";
|
||||
interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
74
arch/arm64/boot/dts/freescale/imx8dxl-ss-lsio.dtsi
Normal file
74
arch/arm64/boot/dts/freescale/imx8dxl-ss-lsio.dtsi
Normal file
@@ -0,0 +1,74 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Copyright 2019~2020, 2022 NXP
|
||||
*/
|
||||
|
||||
&lsio_gpio0 {
|
||||
compatible = "fsl,imx8dxl-gpio", "fsl,imx35-gpio";
|
||||
interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&lsio_gpio1 {
|
||||
compatible = "fsl,imx8dxl-gpio", "fsl,imx35-gpio";
|
||||
interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&lsio_gpio2 {
|
||||
compatible = "fsl,imx8dxl-gpio", "fsl,imx35-gpio";
|
||||
interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&lsio_gpio3 {
|
||||
compatible = "fsl,imx8dxl-gpio", "fsl,imx35-gpio";
|
||||
interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&lsio_gpio4 {
|
||||
compatible = "fsl,imx8dxl-gpio", "fsl,imx35-gpio";
|
||||
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&lsio_gpio5 {
|
||||
compatible = "fsl,imx8dxl-gpio", "fsl,imx35-gpio";
|
||||
interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&lsio_gpio6 {
|
||||
compatible = "fsl,imx8dxl-gpio", "fsl,imx35-gpio";
|
||||
interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&lsio_gpio7 {
|
||||
compatible = "fsl,imx8dxl-gpio", "fsl,imx35-gpio";
|
||||
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&lsio_mu0 {
|
||||
compatible = "fsl,imx8qxp-mu", "fsl,imx6sx-mu";
|
||||
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&lsio_mu1 {
|
||||
compatible = "fsl,imx8-mu-scu", "fsl,imx8qxp-mu", "fsl,imx6sx-mu";
|
||||
interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&lsio_mu2 {
|
||||
compatible = "fsl,imx8-mu-scu", "fsl,imx8qxp-mu", "fsl,imx6sx-mu";
|
||||
interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&lsio_mu3 {
|
||||
compatible = "fsl,imx8-mu-scu", "fsl,imx8qxp-mu", "fsl,imx6sx-mu";
|
||||
interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&lsio_mu4 {
|
||||
compatible = "fsl,imx8-mu-scu", "fsl,imx8qxp-mu", "fsl,imx6sx-mu";
|
||||
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
&lsio_mu5 {
|
||||
compatible = "fsl,imx8qxp-mu", "fsl,imx6sx-mu";
|
||||
interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
238
arch/arm64/boot/dts/freescale/imx8dxl.dtsi
Normal file
238
arch/arm64/boot/dts/freescale/imx8dxl.dtsi
Normal file
@@ -0,0 +1,238 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Copyright 2019~2020, 2022 NXP
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/imx8-clock.h>
|
||||
#include <dt-bindings/firmware/imx/rsrc.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/pinctrl/pads-imx8dxl.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
|
||||
/ {
|
||||
interrupt-parent = <&gic>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
aliases {
|
||||
ethernet0 = &fec1;
|
||||
ethernet1 = &eqos;
|
||||
gpio0 = &lsio_gpio0;
|
||||
gpio1 = &lsio_gpio1;
|
||||
gpio2 = &lsio_gpio2;
|
||||
gpio3 = &lsio_gpio3;
|
||||
gpio4 = &lsio_gpio4;
|
||||
gpio5 = &lsio_gpio5;
|
||||
gpio6 = &lsio_gpio6;
|
||||
gpio7 = &lsio_gpio7;
|
||||
mu1 = &lsio_mu1;
|
||||
};
|
||||
|
||||
cpus: cpus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/* We have 1 clusters with 2 Cortex-A35 cores */
|
||||
A35_0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a35";
|
||||
reg = <0x0 0x0>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&A35_L2>;
|
||||
clocks = <&clk IMX_SC_R_A35 IMX_SC_PM_CLK_CPU>;
|
||||
#cooling-cells = <2>;
|
||||
operating-points-v2 = <&a35_opp_table>;
|
||||
};
|
||||
|
||||
A35_1: cpu@1 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a35";
|
||||
reg = <0x0 0x1>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&A35_L2>;
|
||||
clocks = <&clk IMX_SC_R_A35 IMX_SC_PM_CLK_CPU>;
|
||||
#cooling-cells = <2>;
|
||||
operating-points-v2 = <&a35_opp_table>;
|
||||
};
|
||||
|
||||
A35_L2: l2-cache0 {
|
||||
compatible = "cache";
|
||||
};
|
||||
};
|
||||
|
||||
a35_opp_table: opp-table {
|
||||
compatible = "operating-points-v2";
|
||||
opp-shared;
|
||||
|
||||
opp-900000000 {
|
||||
opp-hz = /bits/ 64 <900000000>;
|
||||
opp-microvolt = <1000000>;
|
||||
clock-latency-ns = <150000>;
|
||||
};
|
||||
|
||||
opp-1200000000 {
|
||||
opp-hz = /bits/ 64 <1200000000>;
|
||||
opp-microvolt = <1100000>;
|
||||
clock-latency-ns = <150000>;
|
||||
opp-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
gic: interrupt-controller@51a00000 {
|
||||
compatible = "arm,gic-v3";
|
||||
reg = <0x0 0x51a00000 0 0x10000>, /* GIC Dist */
|
||||
<0x0 0x51b00000 0 0xc0000>; /* GICR (RD_base + SGI_base) */
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
dsp_reserved: dsp@92400000 {
|
||||
reg = <0 0x92400000 0 0x2000000>;
|
||||
no-map;
|
||||
};
|
||||
};
|
||||
|
||||
pmu {
|
||||
compatible = "arm,armv8-pmuv3";
|
||||
interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0";
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
system-controller {
|
||||
compatible = "fsl,imx-scu";
|
||||
mbox-names = "tx0",
|
||||
"rx0",
|
||||
"gip3";
|
||||
mboxes = <&lsio_mu1 0 0
|
||||
&lsio_mu1 1 0
|
||||
&lsio_mu1 3 3>;
|
||||
|
||||
pd: power-controller {
|
||||
compatible = "fsl,scu-pd";
|
||||
#power-domain-cells = <1>;
|
||||
wakeup-irq = <160 163 235 236 237 228 229 230 231 238
|
||||
239 240 166 169>;
|
||||
};
|
||||
|
||||
clk: clock-controller {
|
||||
compatible = "fsl,imx8dxl-clk", "fsl,scu-clk";
|
||||
#clock-cells = <2>;
|
||||
clocks = <&xtal32k &xtal24m>;
|
||||
clock-names = "xtal_32KHz", "xtal_24Mhz";
|
||||
};
|
||||
|
||||
iomuxc: pinctrl {
|
||||
compatible = "fsl,imx8dxl-iomuxc";
|
||||
};
|
||||
|
||||
ocotp: ocotp {
|
||||
compatible = "fsl,imx8qxp-scu-ocotp";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
fec_mac0: mac@2c4 {
|
||||
reg = <0x2c4 6>;
|
||||
};
|
||||
|
||||
fec_mac1: mac@2c6 {
|
||||
reg = <0x2c6 6>;
|
||||
};
|
||||
};
|
||||
|
||||
rtc: rtc {
|
||||
compatible = "fsl,imx8qxp-sc-rtc";
|
||||
};
|
||||
|
||||
sc_pwrkey: keys {
|
||||
compatible = "fsl,imx8qxp-sc-key", "fsl,imx-sc-key";
|
||||
linux,keycode = <KEY_POWER>;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
watchdog {
|
||||
compatible = "fsl,imx-sc-wdt";
|
||||
timeout-sec = <60>;
|
||||
};
|
||||
|
||||
tsens: thermal-sensor {
|
||||
compatible = "fsl,imx-sc-thermal";
|
||||
#thermal-sensor-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* Physical Secure */
|
||||
<GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* Physical Non-Secure */
|
||||
<GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* Virtual */
|
||||
<GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* Hypervisor */
|
||||
};
|
||||
|
||||
thermal_zones: thermal-zones {
|
||||
cpu-thermal0 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <2000>;
|
||||
thermal-sensors = <&tsens IMX_SC_R_SYSTEM>;
|
||||
|
||||
trips {
|
||||
cpu_alert0: trip0 {
|
||||
temperature = <107000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
cpu_crit0: trip1 {
|
||||
temperature = <127000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu_alert0>;
|
||||
cooling-device =
|
||||
<&A35_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
<&A35_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* The two values below cannot be changed by the board */
|
||||
xtal32k: clock-xtal32k {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "xtal_32KHz";
|
||||
};
|
||||
|
||||
xtal24m: clock-xtal24m {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <24000000>;
|
||||
clock-output-names = "xtal_24MHz";
|
||||
};
|
||||
|
||||
/* sorted in register address */
|
||||
#include "imx8-ss-adma.dtsi"
|
||||
#include "imx8-ss-conn.dtsi"
|
||||
#include "imx8-ss-ddr.dtsi"
|
||||
#include "imx8-ss-lsio.dtsi"
|
||||
};
|
||||
|
||||
#include "imx8dxl-ss-adma.dtsi"
|
||||
#include "imx8dxl-ss-conn.dtsi"
|
||||
#include "imx8dxl-ss-lsio.dtsi"
|
||||
#include "imx8dxl-ss-ddr.dtsi"
|
||||
@@ -2,7 +2,7 @@
|
||||
/*
|
||||
* Copyright (c) 2018 NXP
|
||||
* Copyright (c) 2019 Engicam srl
|
||||
* Copyright (c) 2020 Amarula Solutons(India)
|
||||
* Copyright (c) 2020 Amarula Solutions(India)
|
||||
*/
|
||||
|
||||
/ {
|
||||
|
||||
376
arch/arm64/boot/dts/freescale/imx8mm-kontron-bl-osm-s.dts
Normal file
376
arch/arm64/boot/dts/freescale/imx8mm-kontron-bl-osm-s.dts
Normal file
@@ -0,0 +1,376 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+ OR MIT
|
||||
/*
|
||||
* Copyright (C) 2022 Kontron Electronics GmbH
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx8mm-kontron-osm-s.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Kontron BL i.MX8MM OSM-S (N802X S)";
|
||||
compatible = "kontron,imx8mm-bl-osm-s", "kontron,imx8mm-osm-s", "fsl,imx8mm";
|
||||
|
||||
aliases {
|
||||
ethernet1 = &usbnet;
|
||||
};
|
||||
|
||||
/* fixed crystal dedicated to mcp2542fd */
|
||||
osc_can: clock-osc-can {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <40000000>;
|
||||
clock-output-names = "osc-can";
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio_led>;
|
||||
|
||||
led1 {
|
||||
label = "led1";
|
||||
gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "heartbeat";
|
||||
};
|
||||
|
||||
led2 {
|
||||
label = "led2";
|
||||
gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led3 {
|
||||
label = "led3";
|
||||
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
pwm-beeper {
|
||||
compatible = "pwm-beeper";
|
||||
pwms = <&pwm2 0 5000 0>;
|
||||
};
|
||||
|
||||
reg_rst_eth2: regulator-rst-eth2 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usb_eth2>;
|
||||
gpio = <&gpio3 2 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-always-on;
|
||||
regulator-name = "rst-usb-eth2";
|
||||
};
|
||||
|
||||
reg_usb1_vbus: regulator-usb1-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_reg_usb1_vbus>;
|
||||
gpio = <&gpio3 25 GPIO_ACTIVE_LOW>;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-name = "usb1-vbus";
|
||||
};
|
||||
|
||||
reg_vdd_5v: regulator-5v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-name = "vdd-5v";
|
||||
};
|
||||
};
|
||||
|
||||
&ecspi2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ecspi2>;
|
||||
cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
|
||||
can@0 {
|
||||
compatible = "microchip,mcp251xfd";
|
||||
reg = <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_can>;
|
||||
clocks = <&osc_can>;
|
||||
interrupts-extended = <&gpio4 28 IRQ_TYPE_LEVEL_LOW>;
|
||||
/*
|
||||
* Limit the SPI clock to 15 MHz to prevent issues
|
||||
* with corrupted data due to chip errata.
|
||||
*/
|
||||
spi-max-frequency = <15000000>;
|
||||
vdd-supply = <®_vdd_3v3>;
|
||||
xceiver-supply = <®_vdd_5v>;
|
||||
};
|
||||
};
|
||||
|
||||
&ecspi3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ecspi3>;
|
||||
cs-gpios = <&gpio5 25 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
|
||||
eeram@0 {
|
||||
compatible = "microchip,48l640";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <20000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&fec1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_enet>;
|
||||
phy-connection-type = "rgmii-rxid";
|
||||
phy-handle = <ðphy>;
|
||||
status = "okay";
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ethphy: ethernet-phy@0 {
|
||||
reg = <0>;
|
||||
reset-assert-us = <1>;
|
||||
reset-deassert-us = <15000>;
|
||||
reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&gpio1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio1>;
|
||||
gpio-line-names = "", "", "", "dio1-out", "", "", "dio1-in", "dio2-out",
|
||||
"dio2-in", "dio3-out", "dio3-in", "dio4-out", "", "", "", "",
|
||||
"", "", "", "", "", "", "", "",
|
||||
"", "", "", "", "", "", "", "";
|
||||
};
|
||||
|
||||
&gpio5 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio5>;
|
||||
gpio-line-names = "", "", "dio4-in", "", "", "", "", "",
|
||||
"", "", "", "", "", "", "", "",
|
||||
"", "", "", "", "", "", "", "",
|
||||
"", "", "", "", "", "", "", "";
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
clock-frequency = <100000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pwm2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pwm2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart1>;
|
||||
uart-has-rtscts;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart2>;
|
||||
linux,rs485-enabled-at-boot-time;
|
||||
uart-has-rtscts;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbotg1 {
|
||||
dr_mode = "otg";
|
||||
disable-over-current;
|
||||
vbus-supply = <®_usb1_vbus>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbotg2 {
|
||||
dr_mode = "host";
|
||||
disable-over-current;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "okay";
|
||||
|
||||
usb1@1 {
|
||||
compatible = "usb424,9514";
|
||||
reg = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
usbnet: ethernet@1 {
|
||||
compatible = "usb424,ec00";
|
||||
reg = <1>;
|
||||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&usdhc2 {
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc2>;
|
||||
pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
|
||||
pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
|
||||
vmmc-supply = <®_vdd_3v3>;
|
||||
vqmmc-supply = <®_nvcc_sd>;
|
||||
cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl_can: cangrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI3_RXFS_GPIO4_IO28 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_ecspi2: ecspi2grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x82
|
||||
MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x82
|
||||
MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x82
|
||||
MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_ecspi3: ecspi3grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_UART2_RXD_ECSPI3_MISO 0x82
|
||||
MX8MM_IOMUXC_UART1_TXD_ECSPI3_MOSI 0x82
|
||||
MX8MM_IOMUXC_UART1_RXD_ECSPI3_SCLK 0x82
|
||||
MX8MM_IOMUXC_UART2_TXD_GPIO5_IO25 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_enet: enetgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x3
|
||||
MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO 0x3
|
||||
MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f
|
||||
MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f
|
||||
MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f
|
||||
MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f
|
||||
MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91
|
||||
MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91
|
||||
MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91
|
||||
MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91
|
||||
MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f
|
||||
MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91
|
||||
MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91
|
||||
MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f
|
||||
MX8MM_IOMUXC_GPIO1_IO01_GPIO1_IO1 0x19 /* PHY RST */
|
||||
MX8MM_IOMUXC_GPIO1_IO05_GPIO1_IO5 0x19 /* ETH IRQ */
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_gpio_led: gpioledgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO12_GPIO1_IO12 0x19
|
||||
MX8MM_IOMUXC_GPIO1_IO13_GPIO1_IO13 0x19
|
||||
MX8MM_IOMUXC_GPIO1_IO14_GPIO1_IO14 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_gpio1: gpio1grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x19
|
||||
MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x19
|
||||
MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19
|
||||
MX8MM_IOMUXC_GPIO1_IO11_GPIO1_IO11 0x19
|
||||
MX8MM_IOMUXC_GPIO1_IO06_GPIO1_IO6 0x19
|
||||
MX8MM_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x19
|
||||
MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_gpio5: gpio5grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI3_MCLK_GPIO5_IO2 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c4: i2c4grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_I2C4_SCL_I2C4_SCL 0x400001c3
|
||||
MX8MM_IOMUXC_I2C4_SDA_I2C4_SDA 0x400001c3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pwm2: pwm2grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SPDIF_RX_PWM2_OUT 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_reg_usb1_vbus: regusb1vbusgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI5_MCLK_GPIO3_IO25 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart1: uart1grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI2_RXC_UART1_DCE_RX 0x140
|
||||
MX8MM_IOMUXC_SAI2_RXFS_UART1_DCE_TX 0x140
|
||||
MX8MM_IOMUXC_SAI2_RXD0_UART1_DCE_RTS_B 0x140
|
||||
MX8MM_IOMUXC_SAI2_TXFS_UART1_DCE_CTS_B 0x140
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart2: uart2grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI3_TXFS_UART2_DCE_RX 0x140
|
||||
MX8MM_IOMUXC_SAI3_TXC_UART2_DCE_TX 0x140
|
||||
MX8MM_IOMUXC_SAI3_RXD_UART2_DCE_RTS_B 0x140
|
||||
MX8MM_IOMUXC_SAI3_RXC_UART2_DCE_CTS_B 0x140
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usb_eth2: usbeth2grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_NAND_CE1_B_GPIO3_IO2 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2: usdhc2grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x190
|
||||
MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0
|
||||
MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0
|
||||
MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0
|
||||
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0
|
||||
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0
|
||||
MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x019
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x194
|
||||
MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4
|
||||
MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4
|
||||
MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4
|
||||
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4
|
||||
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4
|
||||
MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x019
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x196
|
||||
MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6
|
||||
MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6
|
||||
MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6
|
||||
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6
|
||||
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6
|
||||
MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x019
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0
|
||||
>;
|
||||
};
|
||||
};
|
||||
@@ -5,11 +5,11 @@
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx8mm-kontron-n801x-som.dtsi"
|
||||
#include "imx8mm-kontron-sl.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Kontron i.MX8MM N801X S";
|
||||
compatible = "kontron,imx8mm-n801x-s", "kontron,imx8mm-n801x-som", "fsl,imx8mm";
|
||||
model = "Kontron BL i.MX8MM (N801X S)";
|
||||
compatible = "kontron,imx8mm-bl", "kontron,imx8mm-sl", "fsl,imx8mm";
|
||||
|
||||
aliases {
|
||||
ethernet1 = &usbnet;
|
||||
@@ -321,6 +321,7 @@ MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0
|
||||
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0
|
||||
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0
|
||||
MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x019
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -333,6 +334,7 @@ MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4
|
||||
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4
|
||||
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4
|
||||
MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x019
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -345,6 +347,7 @@ MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6
|
||||
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6
|
||||
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6
|
||||
MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x019
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0
|
||||
>;
|
||||
};
|
||||
};
|
||||
330
arch/arm64/boot/dts/freescale/imx8mm-kontron-osm-s.dtsi
Normal file
330
arch/arm64/boot/dts/freescale/imx8mm-kontron-osm-s.dtsi
Normal file
@@ -0,0 +1,330 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+ OR MIT
|
||||
/*
|
||||
* Copyright (C) 2022 Kontron Electronics GmbH
|
||||
*/
|
||||
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include "imx8mm.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Kontron OSM-S i.MX8MM (N802X SOM)";
|
||||
compatible = "kontron,imx8mm-osm-s", "fsl,imx8mm";
|
||||
|
||||
memory@40000000 {
|
||||
device_type = "memory";
|
||||
/*
|
||||
* There are multiple SoM flavors with different DDR sizes.
|
||||
* The smallest is 1GB. For larger sizes the bootloader will
|
||||
* update the reg property.
|
||||
*/
|
||||
reg = <0x0 0x40000000 0 0x80000000>;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart3;
|
||||
};
|
||||
};
|
||||
|
||||
&A53_0 {
|
||||
cpu-supply = <®_vdd_arm>;
|
||||
};
|
||||
|
||||
&A53_1 {
|
||||
cpu-supply = <®_vdd_arm>;
|
||||
};
|
||||
|
||||
&A53_2 {
|
||||
cpu-supply = <®_vdd_arm>;
|
||||
};
|
||||
|
||||
&A53_3 {
|
||||
cpu-supply = <®_vdd_arm>;
|
||||
};
|
||||
|
||||
&ddrc {
|
||||
operating-points-v2 = <&ddrc_opp_table>;
|
||||
|
||||
ddrc_opp_table: opp-table {
|
||||
compatible = "operating-points-v2";
|
||||
|
||||
opp-100M {
|
||||
opp-hz = /bits/ 64 <100000000>;
|
||||
};
|
||||
|
||||
opp-750M {
|
||||
opp-hz = /bits/ 64 <750000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ecspi1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ecspi1>;
|
||||
cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
compatible = "mxicy,mx25r1635f", "jedec,spi-nor";
|
||||
spi-max-frequency = <80000000>;
|
||||
reg = <0>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "u-boot";
|
||||
reg = <0x0 0x1e0000>;
|
||||
};
|
||||
|
||||
partition@1e0000 {
|
||||
label = "env";
|
||||
reg = <0x1e0000 0x10000>;
|
||||
};
|
||||
|
||||
partition@1f0000 {
|
||||
label = "env_redundant";
|
||||
reg = <0x1f0000 0x10000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c1>;
|
||||
status = "okay";
|
||||
|
||||
pca9450: pmic@25 {
|
||||
compatible = "nxp,pca9450a";
|
||||
reg = <0x25>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pmic>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
regulators {
|
||||
reg_vdd_soc: BUCK1 {
|
||||
regulator-name = "+0V8_VDD_SOC (BUCK1)";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <850000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-ramp-delay = <3125>;
|
||||
nxp,dvs-run-voltage = <850000>;
|
||||
nxp,dvs-standby-voltage = <800000>;
|
||||
};
|
||||
|
||||
reg_vdd_arm: BUCK2 {
|
||||
regulator-name = "+0V9_VDD_ARM (BUCK2)";
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <950000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-ramp-delay = <3125>;
|
||||
nxp,dvs-run-voltage = <950000>;
|
||||
nxp,dvs-standby-voltage = <850000>;
|
||||
};
|
||||
|
||||
reg_vdd_dram: BUCK3 {
|
||||
regulator-name = "+0V9_VDD_DRAM&PU (BUCK3)";
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <950000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vdd_3v3: BUCK4 {
|
||||
regulator-name = "+3V3 (BUCK4)";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vdd_1v8: BUCK5 {
|
||||
regulator-name = "+1V8 (BUCK5)";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_nvcc_dram: BUCK6 {
|
||||
regulator-name = "+1V1_NVCC_DRAM (BUCK6)";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_nvcc_snvs: LDO1 {
|
||||
regulator-name = "+1V8_NVCC_SNVS (LDO1)";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vdd_snvs: LDO2 {
|
||||
regulator-name = "+0V8_VDD_SNVS (LDO2)";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <900000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vdda: LDO3 {
|
||||
regulator-name = "+1V8_VDDA (LDO3)";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vdd_phy: LDO4 {
|
||||
regulator-name = "+0V9_VDD_PHY (LDO4)";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <900000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_nvcc_sd: LDO5 {
|
||||
regulator-name = "NVCC_SD (LDO5)";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
rtc@52 {
|
||||
compatible = "microcrystal,rv3028";
|
||||
reg = <0x52>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_rtc>;
|
||||
interrupts-extended = <&gpio4 1 IRQ_TYPE_LEVEL_HIGH>;
|
||||
trickle-diode-disable;
|
||||
};
|
||||
};
|
||||
|
||||
&uart3 { /* console */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usdhc1 {
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc1>;
|
||||
pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
|
||||
pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
|
||||
vmmc-supply = <®_vdd_3v3>;
|
||||
vqmmc-supply = <®_vdd_1v8>;
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&wdog1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_wdog>;
|
||||
fsl,ext-reset-output;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl_ecspi1: ecspi1grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_ECSPI1_MISO_ECSPI1_MISO 0x82
|
||||
MX8MM_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI 0x82
|
||||
MX8MM_IOMUXC_ECSPI1_SCLK_ECSPI1_SCLK 0x82
|
||||
MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c1: i2c1grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL 0x400001c3
|
||||
MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA 0x400001c3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pmic: pmicgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO00_GPIO1_IO0 0x141
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_rtc: rtcgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI1_RXC_GPIO4_IO1 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart3: uart3grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_UART3_RXD_UART3_DCE_RX 0x140
|
||||
MX8MM_IOMUXC_UART3_TXD_UART3_DCE_TX 0x140
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc1: usdhc1grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x190
|
||||
MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d0
|
||||
MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d0
|
||||
MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d0
|
||||
MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d0
|
||||
MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d0
|
||||
MX8MM_IOMUXC_SD1_DATA4_USDHC1_DATA4 0x1d0
|
||||
MX8MM_IOMUXC_SD1_DATA5_USDHC1_DATA5 0x1d0
|
||||
MX8MM_IOMUXC_SD1_DATA6_USDHC1_DATA6 0x1d0
|
||||
MX8MM_IOMUXC_SD1_DATA7_USDHC1_DATA7 0x1d0
|
||||
MX8MM_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0x019
|
||||
MX8MM_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x190
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x194
|
||||
MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d4
|
||||
MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d4
|
||||
MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d4
|
||||
MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d4
|
||||
MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d4
|
||||
MX8MM_IOMUXC_SD1_DATA4_USDHC1_DATA4 0x1d4
|
||||
MX8MM_IOMUXC_SD1_DATA5_USDHC1_DATA5 0x1d4
|
||||
MX8MM_IOMUXC_SD1_DATA6_USDHC1_DATA6 0x1d4
|
||||
MX8MM_IOMUXC_SD1_DATA7_USDHC1_DATA7 0x1d4
|
||||
MX8MM_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0x019
|
||||
MX8MM_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x194
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x196
|
||||
MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d6
|
||||
MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d6
|
||||
MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d6
|
||||
MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d6
|
||||
MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d6
|
||||
MX8MM_IOMUXC_SD1_DATA4_USDHC1_DATA4 0x1d6
|
||||
MX8MM_IOMUXC_SD1_DATA5_USDHC1_DATA5 0x1d6
|
||||
MX8MM_IOMUXC_SD1_DATA6_USDHC1_DATA6 0x1d6
|
||||
MX8MM_IOMUXC_SD1_DATA7_USDHC1_DATA7 0x1d6
|
||||
MX8MM_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0x019
|
||||
MX8MM_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x196
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_wdog: wdoggrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6
|
||||
>;
|
||||
};
|
||||
};
|
||||
@@ -6,8 +6,8 @@
|
||||
#include "imx8mm.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Kontron i.MX8MM N801X SoM";
|
||||
compatible = "kontron,imx8mm-n801x-som", "fsl,imx8mm";
|
||||
model = "Kontron SL i.MX8MM (N801X SOM)";
|
||||
compatible = "kontron,imx8mm-sl", "fsl,imx8mm";
|
||||
|
||||
memory@40000000 {
|
||||
device_type = "memory";
|
||||
@@ -46,10 +46,6 @@ &ddrc {
|
||||
ddrc_opp_table: opp-table {
|
||||
compatible = "operating-points-v2";
|
||||
|
||||
opp-25M {
|
||||
opp-hz = /bits/ 64 <25000000>;
|
||||
};
|
||||
|
||||
opp-100M {
|
||||
opp-hz = /bits/ 64 <100000000>;
|
||||
};
|
||||
@@ -70,6 +66,27 @@ flash@0 {
|
||||
compatible = "mxicy,mx25r1635f", "jedec,spi-nor";
|
||||
spi-max-frequency = <80000000>;
|
||||
reg = <0>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "u-boot";
|
||||
reg = <0x0 0x1e0000>;
|
||||
};
|
||||
|
||||
partition@1e0000 {
|
||||
label = "env";
|
||||
reg = <0x1e0000 0x10000>;
|
||||
};
|
||||
|
||||
partition@1f0000 {
|
||||
label = "env_redundant";
|
||||
reg = <0x1f0000 0x10000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -86,11 +103,10 @@ pca9450: pmic@25 {
|
||||
pinctrl-0 = <&pinctrl_pmic>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
sd-vsel-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
regulators {
|
||||
reg_vdd_soc: BUCK1 {
|
||||
regulator-name = "buck1";
|
||||
regulator-name = "+0V8_VDD_SOC (BUCK1)";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <850000>;
|
||||
regulator-boot-on;
|
||||
@@ -101,7 +117,7 @@ reg_vdd_soc: BUCK1 {
|
||||
};
|
||||
|
||||
reg_vdd_arm: BUCK2 {
|
||||
regulator-name = "buck2";
|
||||
regulator-name = "+0V9_VDD_ARM (BUCK2)";
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <950000>;
|
||||
regulator-boot-on;
|
||||
@@ -112,7 +128,7 @@ reg_vdd_arm: BUCK2 {
|
||||
};
|
||||
|
||||
reg_vdd_dram: BUCK3 {
|
||||
regulator-name = "buck3";
|
||||
regulator-name = "+0V9_VDD_DRAM&PU (BUCK3)";
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <950000>;
|
||||
regulator-boot-on;
|
||||
@@ -120,7 +136,7 @@ reg_vdd_dram: BUCK3 {
|
||||
};
|
||||
|
||||
reg_vdd_3v3: BUCK4 {
|
||||
regulator-name = "buck4";
|
||||
regulator-name = "+3V3 (BUCK4)";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
@@ -128,7 +144,7 @@ reg_vdd_3v3: BUCK4 {
|
||||
};
|
||||
|
||||
reg_vdd_1v8: BUCK5 {
|
||||
regulator-name = "buck5";
|
||||
regulator-name = "+1V8 (BUCK5)";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
@@ -136,7 +152,7 @@ reg_vdd_1v8: BUCK5 {
|
||||
};
|
||||
|
||||
reg_nvcc_dram: BUCK6 {
|
||||
regulator-name = "buck6";
|
||||
regulator-name = "+1V1_NVCC_DRAM (BUCK6)";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-boot-on;
|
||||
@@ -144,7 +160,7 @@ reg_nvcc_dram: BUCK6 {
|
||||
};
|
||||
|
||||
reg_nvcc_snvs: LDO1 {
|
||||
regulator-name = "ldo1";
|
||||
regulator-name = "+1V8_NVCC_SNVS (LDO1)";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
@@ -152,7 +168,7 @@ reg_nvcc_snvs: LDO1 {
|
||||
};
|
||||
|
||||
reg_vdd_snvs: LDO2 {
|
||||
regulator-name = "ldo2";
|
||||
regulator-name = "+0V8_VDD_SNVS (LDO2)";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <900000>;
|
||||
regulator-boot-on;
|
||||
@@ -160,7 +176,7 @@ reg_vdd_snvs: LDO2 {
|
||||
};
|
||||
|
||||
reg_vdda: LDO3 {
|
||||
regulator-name = "ldo3";
|
||||
regulator-name = "+1V8_VDDA (LDO3)";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
@@ -168,7 +184,7 @@ reg_vdda: LDO3 {
|
||||
};
|
||||
|
||||
reg_vdd_phy: LDO4 {
|
||||
regulator-name = "ldo4";
|
||||
regulator-name = "+0V9_VDD_PHY (LDO4)";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <900000>;
|
||||
regulator-boot-on;
|
||||
@@ -176,7 +192,7 @@ reg_vdd_phy: LDO4 {
|
||||
};
|
||||
|
||||
reg_nvcc_sd: LDO5 {
|
||||
regulator-name = "ldo5";
|
||||
regulator-name = "NVCC_SD (LDO5)";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
@@ -229,7 +245,6 @@ MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA 0x400001c3
|
||||
pinctrl_pmic: pmicgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO00_GPIO1_IO0 0x141
|
||||
MX8MM_IOMUXC_GPIO1_IO04_GPIO1_IO4 0x141
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -17,4 +17,3 @@ chosen {
|
||||
stdout-path = &uart2;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -222,7 +222,6 @@ can@0 {
|
||||
compatible = "microchip,mcp2515";
|
||||
reg = <0>;
|
||||
clocks = <&can20m>;
|
||||
oscillator-frequency = <20000000>;
|
||||
interrupt-parent = <&gpio2>;
|
||||
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
|
||||
spi-max-frequency = <10000000>;
|
||||
|
||||
@@ -250,7 +250,7 @@ &gpio1 {
|
||||
};
|
||||
|
||||
&gpio2 {
|
||||
gpio-line-names = "dig2_in", "dig2_out#", "", "", "", "", "", "",
|
||||
gpio-line-names = "dig2_in", "dig2_out#", "dig2_ctl", "", "", "", "dig1_ctl", "",
|
||||
"dig1_out#", "dig1_in", "", "", "", "", "", "",
|
||||
"", "", "", "", "", "", "", "",
|
||||
"", "", "", "", "", "", "", "";
|
||||
@@ -630,6 +630,8 @@ MX8MM_IOMUXC_GPIO1_IO11_GPIO1_IO11 0x40000041 /* RS485# */
|
||||
MX8MM_IOMUXC_GPIO1_IO12_GPIO1_IO12 0x40000041 /* RS232# */
|
||||
MX8MM_IOMUXC_SD1_DATA7_GPIO2_IO9 0x40000041 /* DIG1_IN */
|
||||
MX8MM_IOMUXC_SD1_DATA6_GPIO2_IO8 0x40000041 /* DIG1_OUT */
|
||||
MX8MM_IOMUXC_SD1_DATA4_GPIO2_IO6 0x40000041 /* DIG1_CTL */
|
||||
MX8MM_IOMUXC_SD1_DATA0_GPIO2_IO2 0x40000041 /* DIG2_CTL */
|
||||
MX8MM_IOMUXC_SD1_CLK_GPIO2_IO0 0x40000041 /* DIG2_IN */
|
||||
MX8MM_IOMUXC_SD1_CMD_GPIO2_IO1 0x40000041 /* DIG2_OUT */
|
||||
MX8MM_IOMUXC_ECSPI1_MOSI_GPIO5_IO7 0x40000041 /* SIM1DET# */
|
||||
|
||||
888
arch/arm64/boot/dts/freescale/imx8mm-venice-gw7904.dts
Normal file
888
arch/arm64/boot/dts/freescale/imx8mm-venice-gw7904.dts
Normal file
@@ -0,0 +1,888 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright 2022 Gateworks Corporation
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/linux-event-codes.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include <dt-bindings/phy/phy-imx8-pcie.h>
|
||||
|
||||
#include "imx8mm.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Gateworks Venice GW7904 i.MX8MM board";
|
||||
compatible = "gateworks,imx8mm-gw7904", "fsl,imx8mm";
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart2;
|
||||
};
|
||||
|
||||
memory@40000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x40000000 0 0x80000000>;
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
key-0 {
|
||||
label = "user_pb";
|
||||
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <BTN_0>;
|
||||
};
|
||||
|
||||
key-1 {
|
||||
label = "user_pb1x";
|
||||
linux,code = <BTN_1>;
|
||||
interrupt-parent = <&gsc>;
|
||||
interrupts = <0>;
|
||||
};
|
||||
|
||||
key-2 {
|
||||
label = "key_erased";
|
||||
linux,code = <BTN_2>;
|
||||
interrupt-parent = <&gsc>;
|
||||
interrupts = <1>;
|
||||
};
|
||||
|
||||
key-3 {
|
||||
label = "eeprom_wp";
|
||||
linux,code = <BTN_3>;
|
||||
interrupt-parent = <&gsc>;
|
||||
interrupts = <2>;
|
||||
};
|
||||
|
||||
key-4 {
|
||||
label = "switch_hold";
|
||||
linux,code = <BTN_5>;
|
||||
interrupt-parent = <&gsc>;
|
||||
interrupts = <7>;
|
||||
};
|
||||
};
|
||||
|
||||
led-controller {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio_leds>;
|
||||
|
||||
led-0 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
label = "led01_grn";
|
||||
gpios = <&gpioled 0 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-1 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_YELLOW>;
|
||||
label = "led01_yel";
|
||||
gpios = <&gpioled 1 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-2 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
label = "led02_grn";
|
||||
gpios = <&gpioled 2 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-3 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_YELLOW>;
|
||||
label = "led02_yel";
|
||||
gpios = <&gpioled 3 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-4 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
label = "led03_grn";
|
||||
gpios = <&gpioled 4 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-5 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_YELLOW>;
|
||||
label = "led03_yel";
|
||||
gpios = <&gpioled 5 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-6 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
label = "led04_grn";
|
||||
gpios = <&gpioled 6 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-7 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_YELLOW>;
|
||||
label = "led04_yel";
|
||||
gpios = <&gpioled 7 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-8 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
label = "led05_grn";
|
||||
gpios = <&gpioled 8 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-9 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_YELLOW>;
|
||||
label = "led05_yel";
|
||||
gpios = <&gpioled 9 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-10 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
label = "led06_grn";
|
||||
gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-11 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
label = "led06_red";
|
||||
gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-12 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
label = "led07_grn";
|
||||
gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-13 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
label = "led07_red";
|
||||
gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-14 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
label = "led08_grn";
|
||||
gpios = <&gpioled 10 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-15 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_YELLOW>;
|
||||
label = "led08_yel";
|
||||
gpios = <&gpioled 11 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-16 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
label = "led09_grn";
|
||||
gpios = <&gpioled 12 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-17 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_YELLOW>;
|
||||
label = "led09_yel";
|
||||
gpios = <&gpioled 13 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-18 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
label = "led10_grn";
|
||||
gpios = <&gpioled 14 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-19 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_YELLOW>;
|
||||
label = "led10_yel";
|
||||
gpios = <&gpioled 15 GPIO_ACTIVE_LOW>;
|
||||
default-state = "off";
|
||||
};
|
||||
};
|
||||
|
||||
pcie0_refclk: pcie0-refclk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <100000000>;
|
||||
};
|
||||
|
||||
reg_3p3v: regulator-3p3v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "3P3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
||||
&A53_0 {
|
||||
cpu-supply = <&buck2>;
|
||||
};
|
||||
|
||||
&A53_1 {
|
||||
cpu-supply = <&buck2>;
|
||||
};
|
||||
|
||||
&A53_2 {
|
||||
cpu-supply = <&buck2>;
|
||||
};
|
||||
|
||||
&A53_3 {
|
||||
cpu-supply = <&buck2>;
|
||||
};
|
||||
|
||||
&ddrc {
|
||||
operating-points-v2 = <&ddrc_opp_table>;
|
||||
|
||||
ddrc_opp_table: opp-table {
|
||||
compatible = "operating-points-v2";
|
||||
|
||||
opp-25M {
|
||||
opp-hz = /bits/ 64 <25000000>;
|
||||
};
|
||||
|
||||
opp-100M {
|
||||
opp-hz = /bits/ 64 <100000000>;
|
||||
};
|
||||
|
||||
opp-750M {
|
||||
opp-hz = /bits/ 64 <750000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&fec1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_fec1>;
|
||||
phy-mode = "rgmii-id";
|
||||
phy-handle = <ðphy0>;
|
||||
local-mac-address = [00 00 00 00 00 00];
|
||||
status = "okay";
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ethphy0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&gpio1 {
|
||||
gpio-line-names = "", "", "", "", "", "", "", "",
|
||||
"", "", "", "", "rs232_en#", "", "", "",
|
||||
"", "", "", "", "", "", "", "",
|
||||
"", "", "", "", "", "", "", "";
|
||||
};
|
||||
|
||||
&gpio5 {
|
||||
gpio-line-names = "", "", "", "", "", "", "", "",
|
||||
"", "", "", "", "pci_wdis#", "", "", "",
|
||||
"", "", "", "", "", "", "", "",
|
||||
"", "", "", "", "", "", "", "";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
clock-frequency = <100000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c1>;
|
||||
status = "okay";
|
||||
|
||||
gsc: gsc@20 {
|
||||
compatible = "gw,gsc";
|
||||
reg = <0x20>;
|
||||
pinctrl-0 = <&pinctrl_gsc>;
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
|
||||
adc {
|
||||
compatible = "gw,gsc-adc";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
channel@6 {
|
||||
gw,mode = <0>;
|
||||
reg = <0x06>;
|
||||
label = "temp";
|
||||
};
|
||||
|
||||
channel@82 {
|
||||
gw,mode = <2>;
|
||||
reg = <0x82>;
|
||||
label = "vin";
|
||||
gw,voltage-divider-ohms = <22100 1000>;
|
||||
gw,voltage-offset-microvolt = <700000>;
|
||||
};
|
||||
|
||||
channel@84 {
|
||||
gw,mode = <2>;
|
||||
reg = <0x84>;
|
||||
label = "vdd_5p0";
|
||||
gw,voltage-divider-ohms = <10000 10000>;
|
||||
};
|
||||
|
||||
channel@86 {
|
||||
gw,mode = <2>;
|
||||
reg = <0x86>;
|
||||
label = "vdd_3p3";
|
||||
gw,voltage-divider-ohms = <10000 10000>;
|
||||
};
|
||||
|
||||
channel@88 {
|
||||
gw,mode = <2>;
|
||||
reg = <0x88>;
|
||||
label = "vdd_0p9";
|
||||
};
|
||||
|
||||
channel@8c {
|
||||
gw,mode = <2>;
|
||||
reg = <0x8c>;
|
||||
label = "vdd_soc";
|
||||
};
|
||||
|
||||
channel@8e {
|
||||
gw,mode = <2>;
|
||||
reg = <0x8e>;
|
||||
label = "vdd_arm";
|
||||
};
|
||||
|
||||
channel@90 {
|
||||
gw,mode = <2>;
|
||||
reg = <0x90>;
|
||||
label = "vdd_1p8";
|
||||
};
|
||||
|
||||
channel@92 {
|
||||
gw,mode = <2>;
|
||||
reg = <0x92>;
|
||||
label = "vdd_dram";
|
||||
};
|
||||
|
||||
channel@a2 {
|
||||
gw,mode = <2>;
|
||||
reg = <0xa2>;
|
||||
label = "vdd_gsc";
|
||||
gw,voltage-divider-ohms = <10000 10000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
gpio: gpio@23 {
|
||||
compatible = "nxp,pca9555";
|
||||
reg = <0x23>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-parent = <&gsc>;
|
||||
interrupts = <4>;
|
||||
};
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x50>;
|
||||
pagesize = <16>;
|
||||
};
|
||||
|
||||
eeprom@51 {
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x51>;
|
||||
pagesize = <16>;
|
||||
};
|
||||
|
||||
eeprom@52 {
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x52>;
|
||||
pagesize = <16>;
|
||||
};
|
||||
|
||||
eeprom@53 {
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x53>;
|
||||
pagesize = <16>;
|
||||
};
|
||||
|
||||
rtc@68 {
|
||||
compatible = "dallas,ds1672";
|
||||
reg = <0x68>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c2>;
|
||||
status = "okay";
|
||||
|
||||
pmic@4b {
|
||||
compatible = "rohm,bd71847";
|
||||
reg = <0x4b>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pmic>;
|
||||
interrupt-parent = <&gpio3>;
|
||||
interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
|
||||
rohm,reset-snvs-powered;
|
||||
#clock-cells = <0>;
|
||||
clocks = <&osc_32k 0>;
|
||||
clock-output-names = "clk-32k-out";
|
||||
|
||||
regulators {
|
||||
/* vdd_soc: 0.805-0.900V (typ=0.8V) */
|
||||
BUCK1 {
|
||||
regulator-name = "buck1";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-ramp-delay = <1250>;
|
||||
};
|
||||
|
||||
/* vdd_arm: 0.805-1.0V (typ=0.9V) */
|
||||
buck2: BUCK2 {
|
||||
regulator-name = "buck2";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-ramp-delay = <1250>;
|
||||
rohm,dvs-run-voltage = <1000000>;
|
||||
rohm,dvs-idle-voltage = <900000>;
|
||||
};
|
||||
|
||||
/* vdd_0p9: 0.805-1.0V (typ=0.9V) */
|
||||
BUCK3 {
|
||||
regulator-name = "buck3";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
/* vdd_3p3 */
|
||||
BUCK4 {
|
||||
regulator-name = "buck4";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
/* vdd_1p8 */
|
||||
BUCK5 {
|
||||
regulator-name = "buck5";
|
||||
regulator-min-microvolt = <1605000>;
|
||||
regulator-max-microvolt = <1995000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
/* vdd_dram */
|
||||
BUCK6 {
|
||||
regulator-name = "buck6";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
/* nvcc_snvs_1p8 */
|
||||
LDO1 {
|
||||
regulator-name = "ldo1";
|
||||
regulator-min-microvolt = <1600000>;
|
||||
regulator-max-microvolt = <1900000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
/* vdd_snvs_0p8 */
|
||||
LDO2 {
|
||||
regulator-name = "ldo2";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <900000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
/* vdda_1p8 */
|
||||
LDO3 {
|
||||
regulator-name = "ldo3";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
LDO4 {
|
||||
regulator-name = "ldo4";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
LDO6 {
|
||||
regulator-name = "ldo6";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c3>;
|
||||
status = "okay";
|
||||
|
||||
accelerometer@19 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_accel>;
|
||||
compatible = "st,lis2de12";
|
||||
reg = <0x19>;
|
||||
st,drdy-int-pin = <1>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-names = "INT1";
|
||||
};
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c4>;
|
||||
status = "okay";
|
||||
|
||||
gpioled: gpio@27 {
|
||||
compatible = "nxp,pca9555";
|
||||
reg = <0x27>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
&pcie_phy {
|
||||
fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
|
||||
fsl,clkreq-unsupported;
|
||||
clocks = <&pcie0_refclk>;
|
||||
clock-names = "ref";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pcie0>;
|
||||
reset-gpio = <&gpio5 11 GPIO_ACTIVE_LOW>;
|
||||
clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>,
|
||||
<&pcie0_refclk>;
|
||||
clock-names = "pcie", "pcie_aux", "pcie_bus";
|
||||
assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>,
|
||||
<&clk IMX8MM_CLK_PCIE1_CTRL>;
|
||||
assigned-clock-rates = <10000000>, <250000000>;
|
||||
assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_50M>,
|
||||
<&clk IMX8MM_SYS_PLL2_250M>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pgc_mipi {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* off-board RS232 */
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* console */
|
||||
&uart2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* off-board RS232 */
|
||||
&uart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbotg1 {
|
||||
dr_mode = "host";
|
||||
disable-over-current;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* microSD */
|
||||
&usdhc2 {
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
|
||||
pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
|
||||
pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
|
||||
cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
|
||||
bus-width = <4>;
|
||||
vmmc-supply = <®_3p3v>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* eMMC */
|
||||
&usdhc3 {
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc3>;
|
||||
pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
|
||||
pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&wdog1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_wdog>;
|
||||
fsl,ext-reset-output;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_hog>;
|
||||
|
||||
pinctrl_hog: hoggrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO12_GPIO1_IO12 0x40000041 /* RS232# */
|
||||
MX8MM_IOMUXC_ECSPI2_MISO_GPIO5_IO12 0x40000041 /* PCI_WDIS# */
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_accel: accelgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO15_GPIO1_IO15 0x159
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_fec1: fec1grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x3
|
||||
MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO 0x3
|
||||
MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f
|
||||
MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f
|
||||
MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f
|
||||
MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f
|
||||
MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91
|
||||
MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91
|
||||
MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91
|
||||
MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91
|
||||
MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f
|
||||
MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91
|
||||
MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91
|
||||
MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f
|
||||
MX8MM_IOMUXC_SAI2_TXFS_GPIO4_IO24 0x19 /* IRQ# */
|
||||
MX8MM_IOMUXC_SAI2_TXC_GPIO4_IO25 0x19 /* RST# */
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_gpio_leds: gpioledsgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x40000019
|
||||
MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x40000019
|
||||
MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x40000019
|
||||
MX8MM_IOMUXC_GPIO1_IO11_GPIO1_IO11 0x40000019
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_gsc: gscgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI2_TXD0_GPIO4_IO26 0x159
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c1: i2c1grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL 0x400001c3
|
||||
MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA 0x400001c3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c2: i2c2grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL 0x400001c3
|
||||
MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA 0x400001c3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c3: i2c3grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3
|
||||
MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c4: i2c4grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_I2C4_SCL_I2C4_SCL 0x400001c3
|
||||
MX8MM_IOMUXC_I2C4_SDA_I2C4_SDA 0x400001c3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pcie0: pciegrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_ECSPI2_MOSI_GPIO5_IO11 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pmic: pmicgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_NAND_DATA02_GPIO3_IO8 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart1: uart1grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_UART1_RXD_UART1_DCE_RX 0x140
|
||||
MX8MM_IOMUXC_UART1_TXD_UART1_DCE_TX 0x140
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart2: uart2grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX 0x140
|
||||
MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX 0x140
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart3: uart3grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_UART3_RXD_UART3_DCE_RX 0x140
|
||||
MX8MM_IOMUXC_UART3_TXD_UART3_DCE_TX 0x140
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2: usdhc2grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x190
|
||||
MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0
|
||||
MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0
|
||||
MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0
|
||||
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0
|
||||
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x194
|
||||
MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4
|
||||
MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4
|
||||
MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4
|
||||
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4
|
||||
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x196
|
||||
MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6
|
||||
MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6
|
||||
MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6
|
||||
MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6
|
||||
MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2_gpio: usdhc2-gpiogrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x1c4
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc3: usdhc3grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x190
|
||||
MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d0
|
||||
MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d0
|
||||
MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d0
|
||||
MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d0
|
||||
MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d0
|
||||
MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d0
|
||||
MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d0
|
||||
MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d0
|
||||
MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d0
|
||||
MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x190
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x194
|
||||
MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d4
|
||||
MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d4
|
||||
MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d4
|
||||
MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d4
|
||||
MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d4
|
||||
MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d4
|
||||
MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d4
|
||||
MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d4
|
||||
MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d4
|
||||
MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x194
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x196
|
||||
MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d6
|
||||
MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d6
|
||||
MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d6
|
||||
MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d6
|
||||
MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d6
|
||||
MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d6
|
||||
MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d6
|
||||
MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d6
|
||||
MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d6
|
||||
MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x196
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_wdog: wdoggrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6
|
||||
>;
|
||||
};
|
||||
};
|
||||
@@ -53,6 +53,21 @@ key-wakeup {
|
||||
};
|
||||
};
|
||||
|
||||
hdmi_connector: hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
ddc-i2c-bus = <&i2c2>;
|
||||
label = "hdmi";
|
||||
type = "a";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
panel_lvds: panel-lvds {
|
||||
compatible = "panel-lvds";
|
||||
backlight = <&backlight>;
|
||||
data-mapping = "vesa-24";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* Carrier Board Supplies */
|
||||
reg_1p8v: regulator-1p8v {
|
||||
compatible = "regulator-fixed";
|
||||
@@ -561,8 +576,8 @@ gpio_expander_21: gpio-expander@21 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
lvds_ti_sn65dsi83: bridge@2c {
|
||||
compatible = "ti,sn65dsi83";
|
||||
lvds_ti_sn65dsi84: bridge@2c {
|
||||
compatible = "ti,sn65dsi84";
|
||||
/* Verdin GPIO_9_DSI (SN65DSI84 IRQ, SODIMM 17, unused) */
|
||||
/* Verdin GPIO_10_DSI (SODIMM 21) */
|
||||
enable-gpios = <&gpio3 3 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
@@ -213,7 +213,6 @@ can@0 {
|
||||
compatible = "microchip,mcp2515";
|
||||
reg = <0>;
|
||||
clocks = <&can20m>;
|
||||
oscillator-frequency = <20000000>;
|
||||
interrupt-parent = <&gpio2>;
|
||||
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
|
||||
spi-max-frequency = <10000000>;
|
||||
|
||||
@@ -1,18 +1,23 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (C) 2022 Marek Vasut <marex@denx.de>
|
||||
*
|
||||
* DHCOM iMX8MP variant:
|
||||
* DHCM-iMX8ML8-C160-R409-F1638-SPI16-GE-CAN2-SD-RTC-WBTA-ADC-T-RGB-CSI2-HS-I-01D2
|
||||
* DHCOM PCB number: 660-100 or newer
|
||||
* PDK2 PCB number: 516-400 or newer
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include <dt-bindings/net/qca-ar803x.h>
|
||||
#include <dt-bindings/phy/phy-imx8-pcie.h>
|
||||
#include "imx8mp-dhcom-som.dtsi"
|
||||
|
||||
/ {
|
||||
model = "DH electronics i.MX8M Plus DHCOM Premium Developer Kit (2)";
|
||||
compatible = "dh,imx8mp-dhcom-pdk2", "fsl,imx8mp";
|
||||
compatible = "dh,imx8mp-dhcom-pdk2", "dh,imx8mp-dhcom-som",
|
||||
"fsl,imx8mp";
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart1;
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/phy/phy-imx8-pcie.h>
|
||||
#include "imx8mp.dtsi"
|
||||
|
||||
/ {
|
||||
@@ -33,6 +34,12 @@ memory@40000000 {
|
||||
<0x1 0x00000000 0 0xc0000000>;
|
||||
};
|
||||
|
||||
pcie0_refclk: pcie0-refclk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <100000000>;
|
||||
};
|
||||
|
||||
reg_can1_stby: regulator-can1-stby {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "can1-stby";
|
||||
@@ -55,6 +62,17 @@ reg_can2_stby: regulator-can2-stby {
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
reg_pcie0: regulator-pcie {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pcie0_reg>;
|
||||
regulator-name = "MPCIE_3V3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpio = <&gpio2 6 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
reg_usdhc2_vmmc: regulator-usdhc2 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
@@ -350,6 +368,28 @@ &i2c5 {
|
||||
*/
|
||||
};
|
||||
|
||||
&pcie_phy {
|
||||
fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
|
||||
clocks = <&pcie0_refclk>;
|
||||
clock-names = "ref";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pcie0>;
|
||||
reset-gpio = <&gpio2 7 GPIO_ACTIVE_LOW>;
|
||||
clocks = <&clk IMX8MP_CLK_HSIO_ROOT>,
|
||||
<&clk IMX8MP_CLK_PCIE_ROOT>,
|
||||
<&clk IMX8MP_CLK_HSIO_AXI>;
|
||||
clock-names = "pcie", "pcie_aux", "pcie_bus";
|
||||
assigned-clocks = <&clk IMX8MP_CLK_PCIE_AUX>;
|
||||
assigned-clock-rates = <10000000>;
|
||||
assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_50M>;
|
||||
vpcie-supply = <®_pcie0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&snvs_pwrkey {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -502,6 +542,19 @@ MX8MP_IOMUXC_SPDIF_TX__I2C5_SCL 0x400001c2
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pcie0: pcie0grp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_I2C4_SCL__PCIE_CLKREQ_B 0x61 /* open drain, pull up */
|
||||
MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pcie0_reg: pcie0reggrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pmic: pmicgrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03 0x000001c0
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/*
|
||||
* Copyright (c) 2018 NXP
|
||||
* Copyright (c) 2019 Engicam srl
|
||||
* Copyright (c) 2020 Amarula Solutons(India)
|
||||
* Copyright (c) 2020 Amarula Solutions(India)
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/*
|
||||
* Copyright (c) 2018 NXP
|
||||
* Copyright (c) 2019 Engicam srl
|
||||
* Copyright (c) 2020 Amarula Solutons(India)
|
||||
* Copyright (c) 2020 Amarula Solutions(India)
|
||||
*/
|
||||
|
||||
/ {
|
||||
|
||||
68
arch/arm64/boot/dts/freescale/imx8mp-msc-sm2s-14N0600E.dtsi
Normal file
68
arch/arm64/boot/dts/freescale/imx8mp-msc-sm2s-14N0600E.dtsi
Normal file
@@ -0,0 +1,68 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Copyright (C) 2022 Avnet Embedded GmbH
|
||||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx8mp-msc-sm2s.dtsi"
|
||||
|
||||
/ {
|
||||
memory@40000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x40000000 0 0x80000000>; /* bank0, 2GiB */
|
||||
};
|
||||
};
|
||||
|
||||
&cpu_alert0 {
|
||||
temperature = <95000>;
|
||||
};
|
||||
|
||||
&cpu_crit0 {
|
||||
temperature = <105000>;
|
||||
};
|
||||
|
||||
&soc_alert0 {
|
||||
temperature = <95000>;
|
||||
};
|
||||
|
||||
&soc_crit0 {
|
||||
temperature = <105000>;
|
||||
};
|
||||
|
||||
&tca6424 {
|
||||
gbe0-int-hog {
|
||||
gpio-hog;
|
||||
input;
|
||||
gpios = <3 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
gbe1-int-hog {
|
||||
gpio-hog;
|
||||
input;
|
||||
gpios = <4 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
cam2-rst-hog {
|
||||
gpio-hog;
|
||||
output-high;
|
||||
gpios = <9 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
cam2-pwr-hog {
|
||||
gpio-hog;
|
||||
output-high;
|
||||
gpios = <10 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
tpm-int-hog {
|
||||
gpio-hog;
|
||||
input;
|
||||
gpios = <13 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
wifi-int-hog {
|
||||
gpio-hog;
|
||||
input;
|
||||
gpios = <14 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
52
arch/arm64/boot/dts/freescale/imx8mp-msc-sm2s-ep1.dts
Normal file
52
arch/arm64/boot/dts/freescale/imx8mp-msc-sm2s-ep1.dts
Normal file
@@ -0,0 +1,52 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Copyright (C) 2022 Avnet Embedded GmbH
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx8mp-msc-sm2s-14N0600E.dtsi"
|
||||
#include <dt-bindings/clock/imx8mp-clock.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
model = "MSC SM2-MB-EP1 Carrier Board with SM2S-IMX8PLUS-QC6-14N0600E SoM";
|
||||
compatible = "avnet,sm2s-imx8mp-14N0600E-ep1",
|
||||
"avnet,sm2s-imx8mp-14N0600E", "avnet,sm2s-imx8mp",
|
||||
"fsl,imx8mp";
|
||||
};
|
||||
|
||||
&flexcan1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&flexcan2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usdhc2 {
|
||||
no-1-8-v;
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_smarc_gpio>;
|
||||
|
||||
pinctrl_smarc_gpio: smarcgpiosgrp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11 0x19>, /* GPIO0 */
|
||||
<MX8MP_IOMUXC_SAI1_RXC__GPIO4_IO01 0x19>, /* GPIO1 */
|
||||
<MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02 0x19>, /* GPIO2 */
|
||||
<MX8MP_IOMUXC_SAI1_RXD1__GPIO4_IO03 0x19>, /* GPIO3 */
|
||||
<MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0x19>, /* GPIO4 */
|
||||
<MX8MP_IOMUXC_SAI3_MCLK__GPIO5_IO02 0x19>, /* GPIO5 */
|
||||
<MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x19>, /* GPIO6 */
|
||||
<MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10 0x19>, /* GPIO7 */
|
||||
<MX8MP_IOMUXC_SAI1_MCLK__GPIO4_IO20 0x19>, /* GPIO8 */
|
||||
<MX8MP_IOMUXC_SAI2_RXFS__GPIO4_IO21 0x19>, /* GPIO9 */
|
||||
<MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22 0x19>, /* GPIO10 */
|
||||
<MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28 0x19>, /* GPIO11 */
|
||||
<MX8MP_IOMUXC_SAI1_TXD7__GPIO4_IO19 0x19>, /* GPIO12 */
|
||||
<MX8MP_IOMUXC_SAI1_RXFS__GPIO4_IO00 0x19>; /* GPIO13 */
|
||||
};
|
||||
};
|
||||
820
arch/arm64/boot/dts/freescale/imx8mp-msc-sm2s.dtsi
Normal file
820
arch/arm64/boot/dts/freescale/imx8mp-msc-sm2s.dtsi
Normal file
@@ -0,0 +1,820 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Copyright (C) 2022 Avnet Embedded GmbH
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx8mp.dtsi"
|
||||
#include <dt-bindings/net/ti-dp83867.h>
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
rtc0 = &sys_rtc;
|
||||
rtc1 = &snvs_rtc;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart2;
|
||||
};
|
||||
|
||||
reg_usb0_host_vbus: regulator-usb0-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb0_host_vbus";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usb0_vbus>;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
reg_usb1_host_vbus: regulator-usb1-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb1_host_vbus";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usb1_vbus>;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio1 14 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
reg_usdhc2_vmmc: regulator-usdhc2 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usdhc2_vmmc>;
|
||||
regulator-name = "VSD_3V3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
startup-delay-us = <100>;
|
||||
off-on-delay-us = <12000>;
|
||||
};
|
||||
|
||||
reg_flexcan1_xceiver: regulator-flexcan1 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "flexcan1-xceiver";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
reg_flexcan2_xceiver: regulator-flexcan2 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "flexcan2-xceiver";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
lcd0_backlight: backlight-0 {
|
||||
compatible = "pwm-backlight";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_lcd0_backlight>;
|
||||
pwms = <&pwm1 0 100000 0>;
|
||||
brightness-levels = <0 255>;
|
||||
num-interpolated-steps = <255>;
|
||||
default-brightness-level = <255>;
|
||||
enable-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
lcd1_backlight: backlight-1 {
|
||||
compatible = "pwm-backlight";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_lcd1_backlight>;
|
||||
pwms = <&pwm2 0 100000 0>;
|
||||
brightness-levels = <0 255>;
|
||||
num-interpolated-steps = <255>;
|
||||
default-brightness-level = <255>;
|
||||
enable-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_leds>;
|
||||
status = "okay";
|
||||
|
||||
led-sw {
|
||||
label = "sw-led";
|
||||
gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
linux,default-trigger = "heartbeat";
|
||||
};
|
||||
};
|
||||
|
||||
extcon_usb0: extcon-usb0 {
|
||||
compatible = "linux,extcon-usb-gpio";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usb0_extcon>;
|
||||
id-gpio = <&gpio1 3 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
&A53_0 {
|
||||
cpu-supply = <&vcc_arm>;
|
||||
};
|
||||
|
||||
&A53_1 {
|
||||
cpu-supply = <&vcc_arm>;
|
||||
};
|
||||
|
||||
&A53_2 {
|
||||
cpu-supply = <&vcc_arm>;
|
||||
};
|
||||
|
||||
&A53_3 {
|
||||
cpu-supply = <&vcc_arm>;
|
||||
};
|
||||
|
||||
&ecspi1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ecspi1>;
|
||||
cs-gpios = <0>, <&gpio2 8 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
&ecspi2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ecspi2>;
|
||||
cs-gpios = <0>, <&gpio2 9 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
&eqos {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_eqos>;
|
||||
phy-mode = "rgmii-id";
|
||||
phy-handle = <ðphy0>;
|
||||
status = "okay";
|
||||
|
||||
mdio {
|
||||
compatible = "snps,dwmac-mdio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ethphy0: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
eee-broken-1000t;
|
||||
reset-gpios = <&tca6424 16 GPIO_ACTIVE_LOW>;
|
||||
reset-assert-us = <1000>;
|
||||
reset-deassert-us = <1000>;
|
||||
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
|
||||
ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
|
||||
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
|
||||
ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&fec {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_fec>;
|
||||
phy-mode = "rgmii-id";
|
||||
phy-handle = <ðphy1>;
|
||||
fsl,magic-packet;
|
||||
status = "okay";
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ethphy1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
eee-broken-1000t;
|
||||
reset-gpios = <&tca6424 17 GPIO_ACTIVE_LOW>;
|
||||
reset-assert-us = <1000>;
|
||||
reset-deassert-us = <1000>;
|
||||
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
|
||||
ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
|
||||
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
|
||||
ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c1>;
|
||||
clock-frequency = <400000>;
|
||||
status = "okay";
|
||||
|
||||
id_eeprom: eeprom@50 {
|
||||
compatible = "atmel,24c64";
|
||||
reg = <0x50>;
|
||||
pagesize = <32>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c2>;
|
||||
clock-frequency = <400000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c3>;
|
||||
clock-frequency = <400000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c4>;
|
||||
clock-frequency = <400000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&i2c5 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c5>;
|
||||
clock-frequency = <400000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&i2c6 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c6>;
|
||||
clock-frequency = <400000>;
|
||||
status = "okay";
|
||||
|
||||
tca6424: gpio@22 {
|
||||
compatible = "ti,tca6424";
|
||||
reg = <0x22>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_tca6424>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-line-names = "BOOT_SEL0#", "BOOT_SEL1#", "BOOT_SEL2#",
|
||||
"gbe0_int", "gbe1_int", "pmic_int", "rtc_int", "lvds_int",
|
||||
"PCIE_WAKE#", "cam2_rst", "cam2_pwr", "SLEEP#",
|
||||
"wifi_pd", "tpm_int", "wifi_int", "PCIE_A_RST#",
|
||||
"gbe0_rst", "gbe1_rst", "LID#", "BATLOW#", "CHARGING#",
|
||||
"CHARGER_PRSNT#";
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <9 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
dsi_lvds_bridge: bridge@2d {
|
||||
compatible = "ti,sn65dsi83";
|
||||
reg = <0x2d>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_lvds_bridge>;
|
||||
enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pmic: pmic@30 {
|
||||
compatible = "ricoh,rn5t567";
|
||||
reg = <0x30>;
|
||||
interrupt-parent = <&tca6424>;
|
||||
interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
||||
regulators {
|
||||
DCDC1 {
|
||||
regulator-name = "VCC_SOC";
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <950000>;
|
||||
};
|
||||
|
||||
DCDC2 {
|
||||
regulator-name = "VCC_DRAM";
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
};
|
||||
|
||||
vcc_arm: DCDC3 {
|
||||
regulator-name = "VCC_ARM";
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <950000>;
|
||||
};
|
||||
|
||||
DCDC4 {
|
||||
regulator-name = "VCC_1V8";
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
LDO1 {
|
||||
regulator-name = "VCC_LDO1_2V5";
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <2500000>;
|
||||
regulator-max-microvolt = <2500000>;
|
||||
};
|
||||
|
||||
LDO2 {
|
||||
regulator-name = "VCC_LDO2_1V8";
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
LDO3 {
|
||||
regulator-name = "VCC_ETH_2V5";
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <2500000>;
|
||||
regulator-max-microvolt = <2500000>;
|
||||
};
|
||||
|
||||
LDO4 {
|
||||
regulator-name = "VCC_DDR4_2V5";
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <2500000>;
|
||||
regulator-max-microvolt = <2500000>;
|
||||
};
|
||||
|
||||
LDO5 {
|
||||
regulator-name = "VCC_LDO5_1V8";
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
LDORTC1 {
|
||||
regulator-name = "VCC_SNVS_1V8";
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
LDORTC2 {
|
||||
regulator-name = "VCC_SNVS_3V3";
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sys_rtc: rtc@32 {
|
||||
compatible = "ricoh,r2221tl";
|
||||
reg = <0x32>;
|
||||
interrupt-parent = <&tca6424>;
|
||||
interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
|
||||
};
|
||||
|
||||
tmp_sensor: temperature-sensor@71 {
|
||||
compatible = "ti,tmp103";
|
||||
reg = <0x71>;
|
||||
};
|
||||
};
|
||||
|
||||
&flexcan1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_flexcan1>;
|
||||
xceiver-supply = <®_flexcan1_xceiver>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&flexcan2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_flexcan2>;
|
||||
xceiver-supply = <®_flexcan2_xceiver>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&flexspi {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_flexspi0>;
|
||||
status = "okay";
|
||||
|
||||
qspi_flash: flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
spi-max-frequency = <80000000>;
|
||||
spi-tx-bus-width = <4>;
|
||||
spi-rx-bus-width = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
&pwm1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pwm1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&pwm2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pwm2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&pwm3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pwm3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&pwm4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pwm4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&snvs_pwrkey {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart2>;
|
||||
uart-has-rtscts;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart3>;
|
||||
uart-has-rtscts;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&usb3_phy0 {
|
||||
vbus-supply = <®_usb0_host_vbus>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3_phy1 {
|
||||
vbus-supply = <®_usb1_host_vbus>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_dwc3_0 {
|
||||
dr_mode = "otg";
|
||||
hnp-disable;
|
||||
srp-disable;
|
||||
adp-disable;
|
||||
extcon = <&extcon_usb0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_dwc3_1 {
|
||||
dr_mode = "host";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usdhc2 {
|
||||
assigned-clocks = <&clk IMX8MP_CLK_USDHC2>;
|
||||
assigned-clock-rates = <400000000>;
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
|
||||
pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
|
||||
pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
|
||||
cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
|
||||
wp-gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>;
|
||||
bus-width = <4>;
|
||||
vmmc-supply = <®_usdhc2_vmmc>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usdhc3 {
|
||||
assigned-clocks = <&clk IMX8MP_CLK_USDHC3>;
|
||||
assigned-clock-rates = <400000000>;
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc3>;
|
||||
pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
|
||||
pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&wdog1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_wdog>;
|
||||
fsl,ext-reset-output;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl_ecspi1: ecspi1grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_ECSPI1_MISO__ECSPI1_MISO 0x82>,
|
||||
<MX8MP_IOMUXC_ECSPI1_MOSI__ECSPI1_MOSI 0x82>,
|
||||
<MX8MP_IOMUXC_ECSPI1_SCLK__ECSPI1_SCLK 0x82>,
|
||||
<MX8MP_IOMUXC_ECSPI1_SS0__ECSPI1_SS0 0x40000>,
|
||||
<MX8MP_IOMUXC_SD1_DATA6__GPIO2_IO08 0x40000>;
|
||||
};
|
||||
|
||||
pinctrl_ecspi2: ecspi2grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO 0x82>,
|
||||
<MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI 0x82>,
|
||||
<MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK 0x82>,
|
||||
<MX8MP_IOMUXC_ECSPI2_SS0__ECSPI2_SS0 0x40000>,
|
||||
<MX8MP_IOMUXC_SD1_DATA7__GPIO2_IO09 0x40000>;
|
||||
};
|
||||
|
||||
pinctrl_eqos: eqosgrp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC 0x3>,
|
||||
<MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO 0x3>,
|
||||
<MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0 0x91>,
|
||||
<MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1 0x91>,
|
||||
<MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2 0x91>,
|
||||
<MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3 0x91>,
|
||||
<MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK 0x91>,
|
||||
<MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x91>,
|
||||
<MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0 0x1f>,
|
||||
<MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1 0x1f>,
|
||||
<MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2 0x1f>,
|
||||
<MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3 0x1f>,
|
||||
<MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x1f>,
|
||||
<MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x1f>;
|
||||
};
|
||||
|
||||
pinctrl_fec: fecgrp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC 0x3>,
|
||||
<MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO 0x3>,
|
||||
<MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0 0x91>,
|
||||
<MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1 0x91>,
|
||||
<MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2 0x91>,
|
||||
<MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3 0x91>,
|
||||
<MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC 0x91>,
|
||||
<MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL 0x91>,
|
||||
<MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0 0x1f>,
|
||||
<MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1 0x1f>,
|
||||
<MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2 0x1f>,
|
||||
<MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3 0x1f>,
|
||||
<MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL 0x1f>,
|
||||
<MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC 0x1f>;
|
||||
};
|
||||
|
||||
pinctrl_flexcan1: flexcan1grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_SAI5_RXD1__CAN1_TX 0x154>,
|
||||
<MX8MP_IOMUXC_SAI5_RXD2__CAN1_RX 0x154>;
|
||||
};
|
||||
|
||||
pinctrl_flexcan2: flexcan2grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX 0x154>,
|
||||
<MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX 0x154>;
|
||||
};
|
||||
|
||||
pinctrl_flexspi0: flexspi0grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_NAND_ALE__FLEXSPI_A_SCLK 0x1c2>,
|
||||
<MX8MP_IOMUXC_NAND_CE0_B__FLEXSPI_A_SS0_B 0x82>,
|
||||
<MX8MP_IOMUXC_NAND_DATA00__FLEXSPI_A_DATA00 0x82>,
|
||||
<MX8MP_IOMUXC_NAND_DATA01__FLEXSPI_A_DATA01 0x82>,
|
||||
<MX8MP_IOMUXC_NAND_DATA02__FLEXSPI_A_DATA02 0x82>,
|
||||
<MX8MP_IOMUXC_NAND_DATA03__FLEXSPI_A_DATA03 0x82>,
|
||||
<MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14 0x19>;
|
||||
};
|
||||
|
||||
pinctrl_i2c1: i2c1grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL 0x400001c3>,
|
||||
<MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA 0x400001c3>;
|
||||
};
|
||||
|
||||
pinctrl_i2c2: i2c2grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x400001c3>,
|
||||
<MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA 0x400001c3>;
|
||||
};
|
||||
|
||||
pinctrl_i2c3: i2c3grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL 0x400001c3>,
|
||||
<MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA 0x400001c3>;
|
||||
};
|
||||
|
||||
pinctrl_i2c4: i2c4grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x400001c3>,
|
||||
<MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA 0x400001c3>;
|
||||
};
|
||||
|
||||
pinctrl_i2c5: i2c5grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_SPDIF_TX__I2C5_SCL 0x400001c3>,
|
||||
<MX8MP_IOMUXC_SPDIF_RX__I2C5_SDA 0x400001c3>;
|
||||
};
|
||||
|
||||
pinctrl_i2c6: i2c6grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_SAI5_RXFS__I2C6_SCL 0x400001c3>,
|
||||
<MX8MP_IOMUXC_SAI5_RXC__I2C6_SDA 0x400001c3>;
|
||||
};
|
||||
|
||||
pinctrl_lcd0_backlight: lcd0-backlightgrp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_GPIO1_IO05__GPIO1_IO05 0x41>;
|
||||
};
|
||||
|
||||
pinctrl_lcd1_backlight: lcd1-backlightgrp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06 0x41>;
|
||||
};
|
||||
|
||||
pinctrl_leds: ledsgrp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_GPIO1_IO08__GPIO1_IO08 0x19>;
|
||||
};
|
||||
|
||||
pinctrl_lvds_bridge: lvds-bridgegrp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07 0x41>;
|
||||
};
|
||||
|
||||
pinctrl_pwm1: pwm1grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_SPDIF_EXT_CLK__PWM1_OUT 0x116>;
|
||||
};
|
||||
|
||||
pinctrl_pwm2: pwm2grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_SAI5_RXD0__PWM2_OUT 0x116>;
|
||||
};
|
||||
|
||||
pinctrl_pwm3: pwm3grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_GPIO1_IO10__PWM3_OUT 0x116>;
|
||||
};
|
||||
|
||||
pinctrl_pwm4: pwm4grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_SAI3_MCLK__PWM4_OUT 0x116>;
|
||||
};
|
||||
|
||||
pinctrl_tca6424: tca6424grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09 0x41>;
|
||||
};
|
||||
|
||||
pinctrl_uart1: uart1grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX 0x49>,
|
||||
<MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX 0x49>;
|
||||
};
|
||||
|
||||
pinctrl_uart2: uart2grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06 0x1c4>,
|
||||
<MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07 0x1c4>,
|
||||
<MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x49>,
|
||||
<MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x49>;
|
||||
};
|
||||
|
||||
pinctrl_uart3: uart3grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_SD1_RESET_B__GPIO2_IO10 0x1c4>,
|
||||
<MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11 0x1c4>,
|
||||
<MX8MP_IOMUXC_UART3_RXD__UART3_DCE_RX 0x49>,
|
||||
<MX8MP_IOMUXC_UART3_TXD__UART3_DCE_TX 0x49>;
|
||||
};
|
||||
|
||||
pinctrl_uart4: uart4grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX 0x49>,
|
||||
<MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX 0x49>;
|
||||
};
|
||||
|
||||
pinctrl_usb0_extcon: usb0-extcongrp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03 0x19>;
|
||||
};
|
||||
|
||||
pinctrl_usb0_vbus: usb0-vbusgrp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12 0x19>;
|
||||
};
|
||||
|
||||
pinctrl_usb1_vbus: usb1-vbusgrp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14 0x19>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2_gpio: usdhc2-gpiogrp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 0x1c4>,
|
||||
<MX8MP_IOMUXC_SD2_WP__GPIO2_IO20 0x1c4>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2: usdhc2grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190>,
|
||||
<MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d0>,
|
||||
<MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d0>,
|
||||
<MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0>,
|
||||
<MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d0>,
|
||||
<MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d0>,
|
||||
<MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2_vmmc: usdhc2-vmmcgrp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x41>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194>,
|
||||
<MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4>,
|
||||
<MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4>,
|
||||
<MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4>,
|
||||
<MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4>,
|
||||
<MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4>,
|
||||
<MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196>,
|
||||
<MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d6>,
|
||||
<MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d6>,
|
||||
<MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6>,
|
||||
<MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d6>,
|
||||
<MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d6>,
|
||||
<MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc3: usdhc3grp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x190>,
|
||||
<MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d0>,
|
||||
<MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d0>,
|
||||
<MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d0>,
|
||||
<MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d0>,
|
||||
<MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d0>,
|
||||
<MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d0>,
|
||||
<MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d0>,
|
||||
<MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d0>,
|
||||
<MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d0>,
|
||||
<MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x190>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194>,
|
||||
<MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4>,
|
||||
<MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4>,
|
||||
<MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4>,
|
||||
<MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4>,
|
||||
<MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4>,
|
||||
<MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4>,
|
||||
<MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4>,
|
||||
<MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4>,
|
||||
<MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4>,
|
||||
<MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x194>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x196>,
|
||||
<MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d6>,
|
||||
<MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d6>,
|
||||
<MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d6>,
|
||||
<MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d6>,
|
||||
<MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d6>,
|
||||
<MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d6>,
|
||||
<MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d6>,
|
||||
<MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d6>,
|
||||
<MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d6>,
|
||||
<MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x196>;
|
||||
};
|
||||
|
||||
pinctrl_wdog: wdoggrp {
|
||||
fsl,pins =
|
||||
<MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B 0xc6>;
|
||||
};
|
||||
};
|
||||
@@ -139,6 +139,13 @@ reg_vcc_3v3: regulator-3v3 {
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
reg_vcc_5v0: regulator-5v0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_5V0";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
@@ -445,6 +452,38 @@ &uart4 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3_0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usb0>;
|
||||
fsl,over-current-active-low;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3_phy0 {
|
||||
vbus-supply = <®_vcc_5v0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_dwc3_0 {
|
||||
/* dual role is implemented, but not a full featured OTG */
|
||||
hnp-disable;
|
||||
srp-disable;
|
||||
adp-disable;
|
||||
dr_mode = "otg";
|
||||
usb-role-switch;
|
||||
role-switch-default-mode = "peripheral";
|
||||
status = "okay";
|
||||
|
||||
connector {
|
||||
compatible = "gpio-usb-b-connector", "usb-b-connector";
|
||||
type = "micro";
|
||||
label = "X29";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usbcon0>;
|
||||
id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
&usdhc2 {
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
|
||||
@@ -666,6 +705,15 @@ pinctrl_uart4: uart4grp {
|
||||
<MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX 0x140>;
|
||||
};
|
||||
|
||||
pinctrl_usb0: usb0grp {
|
||||
fsl,pins = <MX8MP_IOMUXC_GPIO1_IO13__USB1_OTG_OC 0x1c0>,
|
||||
<MX8MP_IOMUXC_GPIO1_IO12__USB1_OTG_PWR 0x1c0>;
|
||||
};
|
||||
|
||||
pinctrl_usbcon0: usb0congrp {
|
||||
fsl,pins = <MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10 0x1c0>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2: usdhc2grp {
|
||||
fsl,pins = <MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x192>,
|
||||
<MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d2>,
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/linux-event-codes.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include <dt-bindings/phy/phy-imx8-pcie.h>
|
||||
|
||||
#include "imx8mp.dtsi"
|
||||
|
||||
@@ -100,6 +101,12 @@ led-1 {
|
||||
};
|
||||
};
|
||||
|
||||
pcie0_refclk: pcie0-refclk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <100000000>;
|
||||
};
|
||||
|
||||
pps {
|
||||
compatible = "pps-gpio";
|
||||
pinctrl-names = "default";
|
||||
@@ -135,13 +142,29 @@ reg_wifi_en: regulator-wifi-en {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "wl";
|
||||
gpio = <&gpio3 9 GPIO_ACTIVE_HIGH>;
|
||||
startup-delay-us = <100>;
|
||||
startup-delay-us = <70000>;
|
||||
enable-active-high;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
&A53_0 {
|
||||
cpu-supply = <®_arm>;
|
||||
};
|
||||
|
||||
&A53_1 {
|
||||
cpu-supply = <®_arm>;
|
||||
};
|
||||
|
||||
&A53_2 {
|
||||
cpu-supply = <®_arm>;
|
||||
};
|
||||
|
||||
&A53_3 {
|
||||
cpu-supply = <®_arm>;
|
||||
};
|
||||
|
||||
/* off-board header */
|
||||
&ecspi2 {
|
||||
pinctrl-names = "default";
|
||||
@@ -200,8 +223,8 @@ &gpio1 {
|
||||
&gpio2 {
|
||||
gpio-line-names =
|
||||
"", "", "", "", "", "", "", "",
|
||||
"", "", "", "", "", "", "", "",
|
||||
"pcie3_wdis#", "", "", "pcie1_wdis@", "pcie2_wdis#", "", "", "",
|
||||
"", "", "", "", "", "", "pcie3_wdis#", "",
|
||||
"", "", "pcie2_wdis#", "", "", "", "", "",
|
||||
"", "", "", "", "", "", "", "";
|
||||
};
|
||||
|
||||
@@ -362,7 +385,7 @@ BUCK1 {
|
||||
regulator-ramp-delay = <3125>;
|
||||
};
|
||||
|
||||
BUCK2 {
|
||||
reg_arm: BUCK2 {
|
||||
regulator-name = "BUCK2";
|
||||
regulator-min-microvolt = <720000>;
|
||||
regulator-max-microvolt = <1025000>;
|
||||
@@ -542,6 +565,28 @@ &i2c4 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie_phy {
|
||||
fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>;
|
||||
fsl,clkreq-unsupported;
|
||||
clocks = <&pcie0_refclk>;
|
||||
clock-names = "ref";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pcie0>;
|
||||
reset-gpio = <&gpio2 17 GPIO_ACTIVE_LOW>;
|
||||
clocks = <&clk IMX8MP_CLK_HSIO_ROOT>,
|
||||
<&clk IMX8MP_CLK_PCIE_ROOT>,
|
||||
<&clk IMX8MP_CLK_HSIO_AXI>;
|
||||
clock-names = "pcie", "pcie_aux", "pcie_bus";
|
||||
assigned-clocks = <&clk IMX8MP_CLK_PCIE_AUX>;
|
||||
assigned-clock-rates = <10000000>;
|
||||
assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_50M>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* GPS / off-board header */
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
@@ -556,6 +601,21 @@ &uart2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* bluetooth HCI */
|
||||
&uart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart3>, <&pinctrl_uart3_gpio>;
|
||||
cts-gpios = <&gpio3 21 GPIO_ACTIVE_LOW>;
|
||||
rts-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
|
||||
uart-has-rtscts;
|
||||
status = "okay";
|
||||
|
||||
bluetooth {
|
||||
compatible = "brcm,bcm4330-bt";
|
||||
shutdown-gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart4>;
|
||||
@@ -563,22 +623,37 @@ &uart4 {
|
||||
};
|
||||
|
||||
/* USB1 - Type C front panel */
|
||||
&usb3_phy0 {
|
||||
&usb3_0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usb1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3_0 {
|
||||
fsl,over-current-active-low;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_dwc3_0 {
|
||||
dr_mode = "host";
|
||||
&usb3_phy0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_dwc3_0 {
|
||||
/* dual role is implemented but not a full featured OTG */
|
||||
adp-disable;
|
||||
hnp-disable;
|
||||
srp-disable;
|
||||
dr_mode = "otg";
|
||||
usb-role-switch;
|
||||
role-switch-default-mode = "peripheral";
|
||||
status = "okay";
|
||||
|
||||
connector {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usbcon1>;
|
||||
compatible = "gpio-usb-b-connector", "usb-b-connector";
|
||||
type = "micro";
|
||||
label = "Type-C";
|
||||
id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
/* USB2 - USB3.0 Hub */
|
||||
&usb3_phy1 {
|
||||
vbus-supply = <®_usb2_vbus>;
|
||||
@@ -596,6 +671,25 @@ &usb_dwc3_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SDIO WiFi */
|
||||
&usdhc1 {
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc1>;
|
||||
pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
|
||||
pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
vmmc-supply = <®_wifi_en>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "okay";
|
||||
|
||||
wifi@0 {
|
||||
compatible = "cypress,cyw4373-fmac";
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
/* eMMC */
|
||||
&usdhc3 {
|
||||
assigned-clocks = <&clk IMX8MP_CLK_USDHC3>;
|
||||
@@ -625,7 +719,6 @@ pinctrl_hog: hoggrp {
|
||||
MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09 0x40000040 /* DIO0 */
|
||||
MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11 0x40000040 /* DIO1 */
|
||||
MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14 0x40000040 /* M2SKT_OFF# */
|
||||
MX8MP_IOMUXC_SD2_DATA2__GPIO2_IO17 0x40000150 /* PCIE1_WDIS# */
|
||||
MX8MP_IOMUXC_SD2_DATA3__GPIO2_IO18 0x40000150 /* PCIE2_WDIS# */
|
||||
MX8MP_IOMUXC_SD2_CMD__GPIO2_IO14 0x40000150 /* PCIE3_WDIS# */
|
||||
MX8MP_IOMUXC_NAND_DATA00__GPIO3_IO06 0x40000040 /* M2SKT_RST# */
|
||||
@@ -738,6 +831,12 @@ MX8MP_IOMUXC_SD2_DATA1__GPIO2_IO16 0x10
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pcie0: pciegrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_SD2_DATA2__GPIO2_IO17 0x110
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pmic: pmicgrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_NAND_DATA01__GPIO3_IO07 0x140
|
||||
@@ -825,7 +924,12 @@ MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX 0x140
|
||||
pinctrl_usb1: usb1grp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_GPIO1_IO13__USB1_OTG_OC 0x140
|
||||
MX8MP_IOMUXC_GPIO1_IO10__USB1_OTG_ID 0x140
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usbcon1: usb1congrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10 0x140
|
||||
>;
|
||||
};
|
||||
|
||||
@@ -840,6 +944,28 @@ MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d0
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x194
|
||||
MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d4
|
||||
MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d4
|
||||
MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d4
|
||||
MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d4
|
||||
MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d4
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x196
|
||||
MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d6
|
||||
MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d6
|
||||
MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d6
|
||||
MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d6
|
||||
MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d6
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc3: usdhc3grp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x190
|
||||
|
||||
@@ -146,6 +146,22 @@ reserved-memory {
|
||||
};
|
||||
};
|
||||
|
||||
&A53_0 {
|
||||
cpu-supply = <®_vdd_arm>;
|
||||
};
|
||||
|
||||
&A53_1 {
|
||||
cpu-supply = <®_vdd_arm>;
|
||||
};
|
||||
|
||||
&A53_2 {
|
||||
cpu-supply = <®_vdd_arm>;
|
||||
};
|
||||
|
||||
&A53_3 {
|
||||
cpu-supply = <®_vdd_arm>;
|
||||
};
|
||||
|
||||
&cpu_alert0 {
|
||||
temperature = <95000>;
|
||||
};
|
||||
@@ -286,7 +302,6 @@ &flexcan1 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
/* Verdin CAN_2 */
|
||||
&flexcan2 {
|
||||
pinctrl-names = "default";
|
||||
@@ -454,7 +469,7 @@ BUCK1 {
|
||||
regulator-ramp-delay = <3125>;
|
||||
};
|
||||
|
||||
BUCK2 {
|
||||
reg_vdd_arm: BUCK2 {
|
||||
nxp,dvs-run-voltage = <950000>;
|
||||
nxp,dvs-standby-voltage = <850000>;
|
||||
regulator-always-on;
|
||||
|
||||
@@ -5,8 +5,10 @@
|
||||
|
||||
#include <dt-bindings/clock/imx8mp-clock.h>
|
||||
#include <dt-bindings/power/imx8mp-power.h>
|
||||
#include <dt-bindings/reset/imx8mp-reset.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/interconnect/fsl,imx8mp.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
|
||||
@@ -469,6 +471,11 @@ snvs_pwrkey: snvs-powerkey {
|
||||
wakeup-source;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
snvs_lpgpr: snvs-lpgpr {
|
||||
compatible = "fsl,imx8mp-snvs-lpgpr",
|
||||
"fsl,imx7d-snvs-lpgpr";
|
||||
};
|
||||
};
|
||||
|
||||
clk: clock-controller@30380000 {
|
||||
@@ -597,6 +604,33 @@ pgc_ispdwp: power-domain@18 {
|
||||
reg = <IMX8MP_POWER_DOMAIN_MEDIAMIX_ISPDWP>;
|
||||
clocks = <&clk IMX8MP_CLK_MEDIA_ISP_ROOT>;
|
||||
};
|
||||
|
||||
pgc_vpumix: power-domain@19 {
|
||||
#power-domain-cells = <0>;
|
||||
reg = <IMX8MP_POWER_DOMAIN_VPUMIX>;
|
||||
clocks =<&clk IMX8MP_CLK_VPU_ROOT>;
|
||||
};
|
||||
|
||||
pgc_vpu_g1: power-domain@20 {
|
||||
#power-domain-cells = <0>;
|
||||
power-domains = <&pgc_vpumix>;
|
||||
reg = <IMX8MP_POWER_DOMAIN_VPU_G1>;
|
||||
clocks = <&clk IMX8MP_CLK_VPU_G1_ROOT>;
|
||||
};
|
||||
|
||||
pgc_vpu_g2: power-domain@21 {
|
||||
#power-domain-cells = <0>;
|
||||
power-domains = <&pgc_vpumix>;
|
||||
reg = <IMX8MP_POWER_DOMAIN_VPU_G2>;
|
||||
clocks = <&clk IMX8MP_CLK_VPU_G2_ROOT>;
|
||||
};
|
||||
|
||||
pgc_vpu_vc8000e: power-domain@22 {
|
||||
#power-domain-cells = <0>;
|
||||
power-domains = <&pgc_vpumix>;
|
||||
reg = <IMX8MP_POWER_DOMAIN_VPU_VC8000E>;
|
||||
clocks = <&clk IMX8MP_CLK_VPU_VC8KE_ROOT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1064,6 +1098,18 @@ media_blk_ctrl: blk-ctrl@32ec0000 {
|
||||
"lcdif1", "isi", "mipi-csi2",
|
||||
"lcdif2", "isp", "dwe",
|
||||
"mipi-dsi2";
|
||||
interconnects =
|
||||
<&noc IMX8MP_ICM_LCDIF_RD &noc IMX8MP_ICN_MEDIA>,
|
||||
<&noc IMX8MP_ICM_LCDIF_WR &noc IMX8MP_ICN_MEDIA>,
|
||||
<&noc IMX8MP_ICM_ISI0 &noc IMX8MP_ICN_MEDIA>,
|
||||
<&noc IMX8MP_ICM_ISI1 &noc IMX8MP_ICN_MEDIA>,
|
||||
<&noc IMX8MP_ICM_ISI2 &noc IMX8MP_ICN_MEDIA>,
|
||||
<&noc IMX8MP_ICM_ISP0 &noc IMX8MP_ICN_MEDIA>,
|
||||
<&noc IMX8MP_ICM_ISP1 &noc IMX8MP_ICN_MEDIA>,
|
||||
<&noc IMX8MP_ICM_DWE &noc IMX8MP_ICN_MEDIA>;
|
||||
interconnect-names = "lcdif-rd", "lcdif-wr", "isi0",
|
||||
"isi1", "isi2", "isp0", "isp1",
|
||||
"dwe";
|
||||
clocks = <&clk IMX8MP_CLK_MEDIA_APB_ROOT>,
|
||||
<&clk IMX8MP_CLK_MEDIA_AXI_ROOT>,
|
||||
<&clk IMX8MP_CLK_MEDIA_CAM1_PIX_ROOT>,
|
||||
@@ -1084,6 +1130,17 @@ media_blk_ctrl: blk-ctrl@32ec0000 {
|
||||
#power-domain-cells = <1>;
|
||||
};
|
||||
|
||||
pcie_phy: pcie-phy@32f00000 {
|
||||
compatible = "fsl,imx8mp-pcie-phy";
|
||||
reg = <0x32f00000 0x10000>;
|
||||
resets = <&src IMX8MP_RESET_PCIEPHY>,
|
||||
<&src IMX8MP_RESET_PCIEPHY_PERST>;
|
||||
reset-names = "pciephy", "perst";
|
||||
power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_PCIE_PHY>;
|
||||
#phy-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
hsio_blk_ctrl: blk-ctrl@32f10000 {
|
||||
compatible = "fsl,imx8mp-hsio-blk-ctrl", "syscon";
|
||||
reg = <0x32f10000 0x24>;
|
||||
@@ -1095,10 +1152,46 @@ hsio_blk_ctrl: blk-ctrl@32f10000 {
|
||||
<&pgc_hsiomix>, <&pgc_pcie_phy>;
|
||||
power-domain-names = "bus", "usb", "usb-phy1",
|
||||
"usb-phy2", "pcie", "pcie-phy";
|
||||
interconnects = <&noc IMX8MP_ICM_NOC_PCIE &noc IMX8MP_ICN_HSIO>,
|
||||
<&noc IMX8MP_ICM_USB1 &noc IMX8MP_ICN_HSIO>,
|
||||
<&noc IMX8MP_ICM_USB2 &noc IMX8MP_ICN_HSIO>,
|
||||
<&noc IMX8MP_ICM_PCIE &noc IMX8MP_ICN_HSIO>;
|
||||
interconnect-names = "noc-pcie", "usb1", "usb2", "pcie";
|
||||
#power-domain-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
pcie: pcie@33800000 {
|
||||
compatible = "fsl,imx8mp-pcie";
|
||||
reg = <0x33800000 0x400000>, <0x1ff00000 0x80000>;
|
||||
reg-names = "dbi", "config";
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
device_type = "pci";
|
||||
bus-range = <0x00 0xff>;
|
||||
ranges = <0x81000000 0 0x00000000 0x1ff80000 0 0x00010000>, /* downstream I/O 64KB */
|
||||
<0x82000000 0 0x18000000 0x18000000 0 0x07f00000>; /* non-prefetchable memory */
|
||||
num-lanes = <1>;
|
||||
num-viewport = <4>;
|
||||
interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "msi";
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-map-mask = <0 0 0 0x7>;
|
||||
interrupt-map = <0 0 0 1 &gic GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 0 0 2 &gic GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 0 0 3 &gic GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 0 0 4 &gic GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
|
||||
fsl,max-link-speed = <3>;
|
||||
linux,pci-domain = <0>;
|
||||
power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_PCIE>;
|
||||
resets = <&src IMX8MP_RESET_PCIE_CTRL_APPS_EN>,
|
||||
<&src IMX8MP_RESET_PCIE_CTRL_APPS_TURNOFF>;
|
||||
reset-names = "apps", "turnoff";
|
||||
phys = <&pcie_phy>;
|
||||
phy-names = "pcie-phy";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpu3d: gpu@38000000 {
|
||||
compatible = "vivante,gc";
|
||||
reg = <0x38000000 0x8000>;
|
||||
@@ -1130,6 +1223,23 @@ gpu2d: gpu@38008000 {
|
||||
power-domains = <&pgc_gpu2d>;
|
||||
};
|
||||
|
||||
vpumix_blk_ctrl: blk-ctrl@38330000 {
|
||||
compatible = "fsl,imx8mp-vpu-blk-ctrl", "syscon";
|
||||
reg = <0x38330000 0x100>;
|
||||
#power-domain-cells = <1>;
|
||||
power-domains = <&pgc_vpumix>, <&pgc_vpu_g1>,
|
||||
<&pgc_vpu_g2>, <&pgc_vpu_vc8000e>;
|
||||
power-domain-names = "bus", "g1", "g2", "vc8000e";
|
||||
clocks = <&clk IMX8MP_CLK_VPU_G1_ROOT>,
|
||||
<&clk IMX8MP_CLK_VPU_G2_ROOT>,
|
||||
<&clk IMX8MP_CLK_VPU_VC8KE_ROOT>;
|
||||
clock-names = "g1", "g2", "vc8000e";
|
||||
interconnects = <&noc IMX8MP_ICM_VPU_G1 &noc IMX8MP_ICN_VIDEO>,
|
||||
<&noc IMX8MP_ICM_VPU_G2 &noc IMX8MP_ICN_VIDEO>,
|
||||
<&noc IMX8MP_ICM_VPU_H1 &noc IMX8MP_ICN_VIDEO>;
|
||||
interconnect-names = "g1", "g2", "vc8000e";
|
||||
};
|
||||
|
||||
gic: interrupt-controller@38800000 {
|
||||
compatible = "arm,gic-v3";
|
||||
reg = <0x38800000 0x10000>,
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include "dt-bindings/input/input.h"
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include "dt-bindings/pwm/pwm.h"
|
||||
#include "dt-bindings/usb/pd.h"
|
||||
#include "imx8mq.dtsi"
|
||||
@@ -54,6 +55,31 @@ key-vol-up {
|
||||
};
|
||||
};
|
||||
|
||||
led-controller {
|
||||
compatible = "pwm-leds";
|
||||
|
||||
led-0 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
max-brightness = <248>;
|
||||
pwms = <&pwm2 0 50000 0>;
|
||||
};
|
||||
|
||||
led-1 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
max-brightness = <248>;
|
||||
pwms = <&pwm4 0 50000 0>;
|
||||
};
|
||||
|
||||
led-2 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
max-brightness = <248>;
|
||||
pwms = <&pwm3 0 50000 0>;
|
||||
};
|
||||
};
|
||||
|
||||
reg_aud_1v8: regulator-audio-1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
@@ -747,6 +773,10 @@ typec_pd: usb-pd@3f {
|
||||
interrupt-names = "irq";
|
||||
|
||||
connector {
|
||||
compatible = "usb-c-connector";
|
||||
label = "USB-C";
|
||||
data-role = "dual";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -1070,6 +1100,12 @@ &i2c4 {
|
||||
pinctrl-0 = <&pinctrl_i2c4>;
|
||||
status = "okay";
|
||||
|
||||
vcm@c {
|
||||
compatible = "dongwoon,dw9714";
|
||||
reg = <0x0c>;
|
||||
vcc-supply = <®_csi_1v8>;
|
||||
};
|
||||
|
||||
bat: fuel-gauge@36 {
|
||||
compatible = "maxim,max17055";
|
||||
reg = <0x36>;
|
||||
@@ -1077,6 +1113,7 @@ bat: fuel-gauge@36 {
|
||||
interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gauge>;
|
||||
power-supplies = <&bq25895>;
|
||||
maxim,over-heat-temp = <700>;
|
||||
maxim,over-volt = <4500>;
|
||||
maxim,rsns-microohm = <5000>;
|
||||
@@ -1106,8 +1143,6 @@ &lcdif {
|
||||
};
|
||||
|
||||
&mipi_csi1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
@@ -1265,6 +1300,7 @@ &usb_dwc3_0 {
|
||||
#size-cells = <0>;
|
||||
dr_mode = "otg";
|
||||
snps,dis_u3_susphy_quirk;
|
||||
usb-role-switch;
|
||||
status = "okay";
|
||||
|
||||
port@0 {
|
||||
|
||||
@@ -210,7 +210,6 @@ &pwm2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
®_1p8v {
|
||||
vin-supply = <®_main_5v>;
|
||||
};
|
||||
|
||||
@@ -534,7 +534,7 @@ wdog3: watchdog@302a0000 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdma2: sdma@302c0000 {
|
||||
sdma2: dma-controller@302c0000 {
|
||||
compatible = "fsl,imx8mq-sdma","fsl,imx7d-sdma";
|
||||
reg = <0x302c0000 0x10000>;
|
||||
interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@@ -1302,7 +1302,7 @@ qspi0: spi@30bb0000 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdma1: sdma@30bd0000 {
|
||||
sdma1: dma-controller@30bd0000 {
|
||||
compatible = "fsl,imx8mq-sdma","fsl,imx7d-sdma";
|
||||
reg = <0x30bd0000 0x10000>;
|
||||
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
@@ -19,6 +19,21 @@ memory@80000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x80000000 0 0x80000000>;
|
||||
};
|
||||
|
||||
clock_ext_rmii: clock-ext-rmii {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <50000000>;
|
||||
clock-output-names = "ext_rmii_clk";
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
clock_ext_ts: clock-ext-ts {
|
||||
compatible = "fixed-clock";
|
||||
/* External ts clock is 50MHZ from PHY on EVK board. */
|
||||
clock-frequency = <50000000>;
|
||||
clock-output-names = "ext_ts_clk";
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&lpuart5 {
|
||||
@@ -38,7 +53,49 @@ &usdhc0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&fec {
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&pinctrl_enet>;
|
||||
pinctrl-1 = <&pinctrl_enet>;
|
||||
clocks = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>,
|
||||
<&pcc4 IMX8ULP_CLK_ENET>,
|
||||
<&cgc1 IMX8ULP_CLK_ENET_TS_SEL>,
|
||||
<&clock_ext_rmii>;
|
||||
clock-names = "ipg", "ahb", "ptp", "enet_clk_ref";
|
||||
assigned-clocks = <&cgc1 IMX8ULP_CLK_ENET_TS_SEL>;
|
||||
assigned-clock-parents = <&clock_ext_ts>;
|
||||
phy-mode = "rmii";
|
||||
phy-handle = <ðphy>;
|
||||
status = "okay";
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ethphy: ethernet-phy@1 {
|
||||
reg = <1>;
|
||||
micrel,led-mode = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&iomuxc1 {
|
||||
pinctrl_enet: enetgrp {
|
||||
fsl,pins = <
|
||||
MX8ULP_PAD_PTE15__ENET0_MDC 0x43
|
||||
MX8ULP_PAD_PTE14__ENET0_MDIO 0x43
|
||||
MX8ULP_PAD_PTE17__ENET0_RXER 0x43
|
||||
MX8ULP_PAD_PTE18__ENET0_CRS_DV 0x43
|
||||
MX8ULP_PAD_PTF1__ENET0_RXD0 0x43
|
||||
MX8ULP_PAD_PTE20__ENET0_RXD1 0x43
|
||||
MX8ULP_PAD_PTE16__ENET0_TXEN 0x43
|
||||
MX8ULP_PAD_PTE23__ENET0_TXD0 0x43
|
||||
MX8ULP_PAD_PTE22__ENET0_TXD1 0x43
|
||||
MX8ULP_PAD_PTE19__ENET0_REFCLK 0x43
|
||||
MX8ULP_PAD_PTF10__ENET0_1588_CLKIN 0x43
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_lpuart5: lpuart5grp {
|
||||
fsl,pins = <
|
||||
MX8ULP_PAD_PTF14__LPUART5_TX 0x3
|
||||
|
||||
0
arch/arm64/boot/dts/freescale/imx8ulp-pinfunc.h
Executable file → Normal file
0
arch/arm64/boot/dts/freescale/imx8ulp-pinfunc.h
Executable file → Normal file
@@ -16,6 +16,7 @@ / {
|
||||
#size-cells = <2>;
|
||||
|
||||
aliases {
|
||||
ethernet0 = &fec;
|
||||
gpio0 = &gpiod;
|
||||
gpio1 = &gpioe;
|
||||
gpio2 = &gpiof;
|
||||
@@ -62,6 +63,14 @@ gic: interrupt-controller@2d400000 {
|
||||
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
pmu {
|
||||
compatible = "arm,cortex-a35-pmu";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <GIC_PPI 7
|
||||
(GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
interrupt-affinity = <&A35_0>, <&A35_1>;
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0";
|
||||
method = "smc";
|
||||
@@ -111,7 +120,7 @@ sram@2201f000 {
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0x0 0x2201f000 0x1000>;
|
||||
|
||||
scmi_buf: scmi-buf@0 {
|
||||
scmi_buf: scmi-sram-section@0 {
|
||||
compatible = "arm,scmi-shmem";
|
||||
reg = <0x0 0x400>;
|
||||
};
|
||||
@@ -143,6 +152,13 @@ soc: soc@0 {
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x0 0x0 0x40000000>;
|
||||
|
||||
s4muap: mailbox@27020000 {
|
||||
compatible = "fsl,imx8ulp-mu-s4";
|
||||
reg = <0x27020000 0x10000>;
|
||||
interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#mbox-cells = <2>;
|
||||
};
|
||||
|
||||
per_bridge3: bus@29000000 {
|
||||
compatible = "simple-bus";
|
||||
reg = <0x29000000 0x800000>;
|
||||
@@ -150,6 +166,23 @@ per_bridge3: bus@29000000 {
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
mu: mailbox@29220000 {
|
||||
compatible = "fsl,imx8ulp-mu";
|
||||
reg = <0x29220000 0x10000>;
|
||||
interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#mbox-cells = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mu3: mailbox@29230000 {
|
||||
compatible = "fsl,imx8ulp-mu";
|
||||
reg = <0x29230000 0x10000>;
|
||||
interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&pcc3 IMX8ULP_CLK_MU3_A>;
|
||||
#mbox-cells = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
wdog3: watchdog@292a0000 {
|
||||
compatible = "fsl,imx8ulp-wdt", "fsl,imx7ulp-wdt";
|
||||
reg = <0x292a0000 0x10000>;
|
||||
@@ -163,8 +196,6 @@ wdog3: watchdog@292a0000 {
|
||||
cgc1: clock-controller@292c0000 {
|
||||
compatible = "fsl,imx8ulp-cgc1";
|
||||
reg = <0x292c0000 0x10000>;
|
||||
clocks = <&rosc>, <&sosc>, <&frosc>, <&lposc>;
|
||||
clock-names = "rosc", "sosc", "frosc", "lposc";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
@@ -192,7 +223,7 @@ lpi2c4: i2c@29370000 {
|
||||
<&pcc3 IMX8ULP_CLK_LPI2C4>;
|
||||
clock-names = "per", "ipg";
|
||||
assigned-clocks = <&pcc3 IMX8ULP_CLK_LPI2C4>;
|
||||
assigned-clock-parents = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>;
|
||||
assigned-clock-parents = <&cgc1 IMX8ULP_CLK_FROSC_DIV2>;
|
||||
assigned-clock-rates = <48000000>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -205,7 +236,7 @@ lpi2c5: i2c@29380000 {
|
||||
<&pcc3 IMX8ULP_CLK_LPI2C5>;
|
||||
clock-names = "per", "ipg";
|
||||
assigned-clocks = <&pcc3 IMX8ULP_CLK_LPI2C5>;
|
||||
assigned-clock-parents = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>;
|
||||
assigned-clock-parents = <&cgc1 IMX8ULP_CLK_FROSC_DIV2>;
|
||||
assigned-clock-rates = <48000000>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -238,8 +269,8 @@ lpspi4: spi@293b0000 {
|
||||
<&pcc3 IMX8ULP_CLK_LPSPI4>;
|
||||
clock-names = "per", "ipg";
|
||||
assigned-clocks = <&pcc3 IMX8ULP_CLK_LPSPI4>;
|
||||
assigned-clock-parents = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>;
|
||||
assigned-clock-rates = <16000000>;
|
||||
assigned-clock-parents = <&cgc1 IMX8ULP_CLK_FROSC_DIV2>;
|
||||
assigned-clock-rates = <48000000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -253,8 +284,8 @@ lpspi5: spi@293c0000 {
|
||||
<&pcc3 IMX8ULP_CLK_LPSPI5>;
|
||||
clock-names = "per", "ipg";
|
||||
assigned-clocks = <&pcc3 IMX8ULP_CLK_LPSPI5>;
|
||||
assigned-clock-parents = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>;
|
||||
assigned-clock-rates = <16000000>;
|
||||
assigned-clock-parents = <&cgc1 IMX8ULP_CLK_FROSC_DIV2>;
|
||||
assigned-clock-rates = <48000000>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
@@ -280,7 +311,7 @@ lpi2c6: i2c@29840000 {
|
||||
<&pcc4 IMX8ULP_CLK_LPI2C6>;
|
||||
clock-names = "per", "ipg";
|
||||
assigned-clocks = <&pcc4 IMX8ULP_CLK_LPI2C6>;
|
||||
assigned-clock-parents = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>;
|
||||
assigned-clock-parents = <&cgc1 IMX8ULP_CLK_FROSC_DIV2>;
|
||||
assigned-clock-rates = <48000000>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -293,7 +324,7 @@ lpi2c7: i2c@29850000 {
|
||||
<&pcc4 IMX8ULP_CLK_LPI2C7>;
|
||||
clock-names = "per", "ipg";
|
||||
assigned-clocks = <&pcc4 IMX8ULP_CLK_LPI2C7>;
|
||||
assigned-clock-parents = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>;
|
||||
assigned-clock-parents = <&cgc1 IMX8ULP_CLK_FROSC_DIV2>;
|
||||
assigned-clock-rates = <48000000>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -365,6 +396,16 @@ usdhc2: mmc@298f0000 {
|
||||
bus-width = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
fec: ethernet@29950000 {
|
||||
compatible = "fsl,imx8ulp-fec", "fsl,imx6ul-fec", "fsl,imx6q-fec";
|
||||
reg = <0x29950000 0x10000>;
|
||||
interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "int0";
|
||||
fsl,num-tx-queues = <1>;
|
||||
fsl,num-rx-queues = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
gpioe: gpio@2d000080 {
|
||||
@@ -405,8 +446,6 @@ per_bridge5: bus@2d800000 {
|
||||
cgc2: clock-controller@2da60000 {
|
||||
compatible = "fsl,imx8ulp-cgc2";
|
||||
reg = <0x2da60000 0x10000>;
|
||||
clocks = <&sosc>, <&frosc>;
|
||||
clock-names = "sosc", "frosc";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/power/fsl,imx93-power.h>
|
||||
|
||||
#include "imx93-pinfunc.h"
|
||||
|
||||
@@ -16,6 +17,14 @@ / {
|
||||
#size-cells = <2>;
|
||||
|
||||
aliases {
|
||||
i2c0 = &lpi2c1;
|
||||
i2c1 = &lpi2c2;
|
||||
i2c2 = &lpi2c3;
|
||||
i2c3 = &lpi2c4;
|
||||
i2c4 = &lpi2c5;
|
||||
i2c5 = &lpi2c6;
|
||||
i2c6 = &lpi2c7;
|
||||
i2c7 = &lpi2c8;
|
||||
mmc0 = &usdhc1;
|
||||
mmc1 = &usdhc2;
|
||||
mmc2 = &usdhc3;
|
||||
@@ -72,6 +81,11 @@ clk_ext1: clock-ext1 {
|
||||
clock-output-names = "clk_ext1";
|
||||
};
|
||||
|
||||
pmu {
|
||||
compatible = "arm,cortex-a55-pmu";
|
||||
interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0";
|
||||
method = "smc";
|
||||
@@ -112,6 +126,11 @@ aips1: bus@44000000 {
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
anomix_ns_gpr: syscon@44210000 {
|
||||
compatible = "fsl,imx93-aonmix-ns-syscfg", "syscon";
|
||||
reg = <0x44210000 0x1000>;
|
||||
};
|
||||
|
||||
mu1: mailbox@44230000 {
|
||||
compatible = "fsl,imx93-mu", "fsl,imx8ulp-mu";
|
||||
reg = <0x44230000 0x10000>;
|
||||
@@ -128,6 +147,50 @@ system_counter: timer@44290000 {
|
||||
clock-names = "per";
|
||||
};
|
||||
|
||||
lpi2c1: i2c@44340000 {
|
||||
compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
reg = <0x44340000 0x10000>;
|
||||
interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_LPI2C1_GATE>,
|
||||
<&clk IMX93_CLK_BUS_AON>;
|
||||
clock-names = "per", "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
lpi2c2: i2c@44350000 {
|
||||
compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
reg = <0x44350000 0x10000>;
|
||||
interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_LPI2C2_GATE>,
|
||||
<&clk IMX93_CLK_BUS_AON>;
|
||||
clock-names = "per", "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
lpspi1: spi@44360000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
|
||||
reg = <0x44360000 0x10000>;
|
||||
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_LPSPI1_GATE>,
|
||||
<&clk IMX93_CLK_BUS_AON>;
|
||||
clock-names = "per", "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
lpspi2: spi@44370000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx93-spi", "fsl,imx7ulp-spi";
|
||||
reg = <0x44370000 0x10000>;
|
||||
interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_LPSPI2_GATE>,
|
||||
<&clk IMX93_CLK_BUS_AON>;
|
||||
clock-names = "per", "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
lpuart1: serial@44380000 {
|
||||
compatible = "fsl,imx93-lpuart", "fsl,imx7ulp-lpuart";
|
||||
reg = <0x44380000 0x1000>;
|
||||
@@ -161,6 +224,30 @@ clk: clock-controller@44450000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
src: system-controller@44460000 {
|
||||
compatible = "fsl,imx93-src", "syscon";
|
||||
reg = <0x44460000 0x10000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
mediamix: power-domain@44462400 {
|
||||
compatible = "fsl,imx93-src-slice";
|
||||
reg = <0x44462400 0x400>, <0x44465800 0x400>;
|
||||
#power-domain-cells = <0>;
|
||||
clocks = <&clk IMX93_CLK_MEDIA_AXI>,
|
||||
<&clk IMX93_CLK_MEDIA_APB>;
|
||||
};
|
||||
|
||||
mlmix: power-domain@44461800 {
|
||||
compatible = "fsl,imx93-src-slice";
|
||||
reg = <0x44461800 0x400>, <0x44464800 0x400>;
|
||||
#power-domain-cells = <0>;
|
||||
clocks = <&clk IMX93_CLK_ML_APB>,
|
||||
<&clk IMX93_CLK_ML>;
|
||||
};
|
||||
};
|
||||
|
||||
anatop: anatop@44480000 {
|
||||
compatible = "fsl,imx93-anatop", "syscon";
|
||||
reg = <0x44480000 0x10000>;
|
||||
@@ -174,6 +261,11 @@ aips2: bus@42000000 {
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
wakeupmix_gpr: syscon@42420000 {
|
||||
compatible = "fsl,imx93-wakeupmix-syscfg", "syscon";
|
||||
reg = <0x42420000 0x1000>;
|
||||
};
|
||||
|
||||
mu2: mailbox@42440000 {
|
||||
compatible = "fsl,imx93-mu", "fsl,imx8ulp-mu";
|
||||
reg = <0x42440000 0x10000>;
|
||||
@@ -182,6 +274,26 @@ mu2: mailbox@42440000 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
lpi2c3: i2c@42530000 {
|
||||
compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
reg = <0x42530000 0x10000>;
|
||||
interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_LPI2C3_GATE>,
|
||||
<&clk IMX93_CLK_BUS_WAKEUP>;
|
||||
clock-names = "per", "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
lpi2c4: i2c@42540000 {
|
||||
compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
reg = <0x42540000 0x10000>;
|
||||
interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_LPI2C4_GATE>,
|
||||
<&clk IMX93_CLK_BUS_WAKEUP>;
|
||||
clock-names = "per", "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
lpuart3: serial@42570000 {
|
||||
compatible = "fsl,imx93-lpuart", "fsl,imx7ulp-lpuart";
|
||||
reg = <0x42570000 0x1000>;
|
||||
@@ -235,6 +347,47 @@ lpuart8: serial@426a0000 {
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
lpi2c5: i2c@426b0000 {
|
||||
compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
reg = <0x426b0000 0x10000>;
|
||||
interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_LPI2C5_GATE>,
|
||||
<&clk IMX93_CLK_BUS_WAKEUP>;
|
||||
clock-names = "per", "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
lpi2c6: i2c@426c0000 {
|
||||
compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
reg = <0x426c0000 0x10000>;
|
||||
interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_LPI2C6_GATE>,
|
||||
<&clk IMX93_CLK_BUS_WAKEUP>;
|
||||
clock-names = "per", "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
lpi2c7: i2c@426d0000 {
|
||||
compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
reg = <0x426d0000 0x10000>;
|
||||
interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_LPI2C7_GATE>,
|
||||
<&clk IMX93_CLK_BUS_WAKEUP>;
|
||||
clock-names = "per", "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
lpi2c8: i2c@426e0000 {
|
||||
compatible = "fsl,imx93-lpi2c", "fsl,imx7ulp-lpi2c";
|
||||
reg = <0x426e0000 0x10000>;
|
||||
interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_LPI2C8_GATE>,
|
||||
<&clk IMX93_CLK_BUS_WAKEUP>;
|
||||
clock-names = "per", "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
aips3: bus@42800000 {
|
||||
@@ -248,8 +401,8 @@ usdhc1: mmc@42850000 {
|
||||
compatible = "fsl,imx93-usdhc", "fsl,imx8mm-usdhc";
|
||||
reg = <0x42850000 0x10000>;
|
||||
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_DUMMY>,
|
||||
<&clk IMX93_CLK_DUMMY>,
|
||||
clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
|
||||
<&clk IMX93_CLK_WAKEUP_AXI>,
|
||||
<&clk IMX93_CLK_USDHC1_GATE>;
|
||||
clock-names = "ipg", "ahb", "per";
|
||||
bus-width = <8>;
|
||||
@@ -262,8 +415,8 @@ usdhc2: mmc@42860000 {
|
||||
compatible = "fsl,imx93-usdhc", "fsl,imx8mm-usdhc";
|
||||
reg = <0x42860000 0x10000>;
|
||||
interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_DUMMY>,
|
||||
<&clk IMX93_CLK_DUMMY>,
|
||||
clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
|
||||
<&clk IMX93_CLK_WAKEUP_AXI>,
|
||||
<&clk IMX93_CLK_USDHC2_GATE>;
|
||||
clock-names = "ipg", "ahb", "per";
|
||||
bus-width = <4>;
|
||||
@@ -276,8 +429,8 @@ usdhc3: mmc@428b0000 {
|
||||
compatible = "fsl,imx93-usdhc", "fsl,imx8mm-usdhc";
|
||||
reg = <0x428b0000 0x10000>;
|
||||
interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX93_CLK_DUMMY>,
|
||||
<&clk IMX93_CLK_DUMMY>,
|
||||
clocks = <&clk IMX93_CLK_BUS_WAKEUP>,
|
||||
<&clk IMX93_CLK_WAKEUP_AXI>,
|
||||
<&clk IMX93_CLK_USDHC3_GATE>;
|
||||
clock-names = "ipg", "ahb", "per";
|
||||
bus-width = <4>;
|
||||
@@ -295,6 +448,9 @@ gpio2: gpio@43810080 {
|
||||
interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
clocks = <&clk IMX93_CLK_GPIO2_GATE>,
|
||||
<&clk IMX93_CLK_GPIO2_GATE>;
|
||||
clock-names = "gpio", "port";
|
||||
gpio-ranges = <&iomuxc 0 32 32>;
|
||||
};
|
||||
|
||||
@@ -306,6 +462,9 @@ gpio3: gpio@43820080 {
|
||||
interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
clocks = <&clk IMX93_CLK_GPIO3_GATE>,
|
||||
<&clk IMX93_CLK_GPIO3_GATE>;
|
||||
clock-names = "gpio", "port";
|
||||
gpio-ranges = <&iomuxc 0 64 32>;
|
||||
};
|
||||
|
||||
@@ -317,6 +476,9 @@ gpio4: gpio@43830080 {
|
||||
interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
clocks = <&clk IMX93_CLK_GPIO4_GATE>,
|
||||
<&clk IMX93_CLK_GPIO4_GATE>;
|
||||
clock-names = "gpio", "port";
|
||||
gpio-ranges = <&iomuxc 0 96 32>;
|
||||
};
|
||||
|
||||
@@ -328,7 +490,39 @@ gpio1: gpio@47400080 {
|
||||
interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
clocks = <&clk IMX93_CLK_GPIO1_GATE>,
|
||||
<&clk IMX93_CLK_GPIO1_GATE>;
|
||||
clock-names = "gpio", "port";
|
||||
gpio-ranges = <&iomuxc 0 0 32>;
|
||||
};
|
||||
|
||||
s4muap: mailbox@47520000 {
|
||||
compatible = "fsl,imx93-mu-s4";
|
||||
reg = <0x47520000 0x10000>;
|
||||
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "txirq", "rxirq";
|
||||
#mbox-cells = <2>;
|
||||
};
|
||||
|
||||
media_blk_ctrl: system-controller@4ac10000 {
|
||||
compatible = "fsl,imx93-media-blk-ctrl", "syscon";
|
||||
reg = <0x4ac10000 0x10000>;
|
||||
power-domains = <&mediamix>;
|
||||
clocks = <&clk IMX93_CLK_MEDIA_APB>,
|
||||
<&clk IMX93_CLK_MEDIA_AXI>,
|
||||
<&clk IMX93_CLK_NIC_MEDIA_GATE>,
|
||||
<&clk IMX93_CLK_MEDIA_DISP_PIX>,
|
||||
<&clk IMX93_CLK_CAM_PIX>,
|
||||
<&clk IMX93_CLK_PXP_GATE>,
|
||||
<&clk IMX93_CLK_LCDIF_GATE>,
|
||||
<&clk IMX93_CLK_ISI_GATE>,
|
||||
<&clk IMX93_CLK_MIPI_CSI_GATE>,
|
||||
<&clk IMX93_CLK_MIPI_DSI_GATE>;
|
||||
clock-names = "apb", "axi", "nic", "disp", "cam",
|
||||
"pxp", "lcdif", "isi", "csi", "dsi";
|
||||
#power-domain-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user