i.MX arm64 device tree update for 5.12:
- New board support: Beacon i.MX8M Nano development kit, i.MX8MM Nitrogen, Gateworks i.MX 8M Mini Development Kits, phyBOARD-Pollux-i.MX8MP, Librem5 Evergreen. - Update imx8mm-beacon to drop unused clock-names reference, and add more pinctrl states for USDHC1. - Support soc unique ID read with NVMEM on i.MX8M SoCs. - A series from Biwen Li to add interrupt line for RTC device on Layerscape SoCs. - A couple of patch sets to update imx8mq-librem5 support around regulators, RTC, charger, display, etc. - A series from Joakim Zhang to improve i.MX8M FEC device configuration. - A series from Kuldeep Singh to enable flexcan support for LX2160A and LS1028A. - A series from Lucas Stach to update ZII devices around audio, USB, I2C pin configuration and UCS1002 ALERT. - A series from Michael Walle to update Layerscape device trees to use constants in the clockgen phandle, add sl28 variant 1 and enable SATA. - A few patches from Russell King to improve support for a couple of LX2160A boards. - A series from Shengjiu Wang to add more audio support for imx8mn-evk. - Other small and random updates. -----BEGIN PGP SIGNATURE----- iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmAboLUUHHNoYXduZ3Vv QGtlcm5lbC5vcmcACgkQUFdYWoewfM7uogf8CiWlrW3nvc/IQczBsgqr0QpFFVY/ z5Le9xqsIa7ZEdA2tVryi8IyH4BSrpwPANk2aGgb2L9Ktjs8N8KC+RnQ2OZrIyDk m3dY0lnAYcfYFVUyJDVQHz4AJLHHfbMRjT25NRrxrUVSXxaPbaFlLlk1bT+TCTNx lPavxy+ch60JYET85ZYgM9A1mqKfhAxNMr7JNJODWjoQTNDQy88K2zymVYYaZZ0p 2xMJ7dnuNleAdU3ndaG3K7G9hv0SlfAlR+TdKzgYTE7S0e4W6phwH37Nu3XnT3SY ToBqv/qSx1Hv1LAuLTMAWIOZiKoOVq1kqdgMR7d1+gsKi6QlIPGC92BvFw== =ajVN -----END PGP SIGNATURE----- Merge tag 'imx-dt64-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt i.MX arm64 device tree update for 5.12: - New board support: Beacon i.MX8M Nano development kit, i.MX8MM Nitrogen, Gateworks i.MX 8M Mini Development Kits, phyBOARD-Pollux-i.MX8MP, Librem5 Evergreen. - Update imx8mm-beacon to drop unused clock-names reference, and add more pinctrl states for USDHC1. - Support soc unique ID read with NVMEM on i.MX8M SoCs. - A series from Biwen Li to add interrupt line for RTC device on Layerscape SoCs. - A couple of patch sets to update imx8mq-librem5 support around regulators, RTC, charger, display, etc. - A series from Joakim Zhang to improve i.MX8M FEC device configuration. - A series from Kuldeep Singh to enable flexcan support for LX2160A and LS1028A. - A series from Lucas Stach to update ZII devices around audio, USB, I2C pin configuration and UCS1002 ALERT. - A series from Michael Walle to update Layerscape device trees to use constants in the clockgen phandle, add sl28 variant 1 and enable SATA. - A few patches from Russell King to improve support for a couple of LX2160A boards. - A series from Shengjiu Wang to add more audio support for imx8mn-evk. - Other small and random updates. * tag 'imx-dt64-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (71 commits) arm64: dts: imx: Add i.mx8mm nitrogen basic dts support arm64: dts: zii-rmb3: enable RMI4 reduced reporting arm64: dts: zii-ultra: only trigger IRQ on falling edge ucs1002 ALERT pin arm64: dts: zii-ultra: limit USB ports to USB2 speed arm64: dts: zii-ultra: fix i2c pin configuration arm64: dts: zii-ultra: add sound support arm64: dts: ls1028a: Enable flexcan support for LS1028A-RDB/QDS arm64: dts: ls1028a: Update flexcan properties arm64: dts: lx2160a: Add flexcan support arm64: dts: fsl-ls1012a-frdm: add spi-uart device arm64: dts: fsl-ls1012a-rdb: add i2c devices arm64: dts: imx8mn-beacon-som: Enable QSPI on SOM arm64: dts: imx8mn: Add fspi node arm64: dts: Add Librem5 Evergreen arm64: dts: imx8mq-librem5: set regulators boot-on arm64: dts: imx8mq-librem5: enable the LCD panel arm64: dts: imx8mq-librem5: Add LCD_1V8 regulator arm64: dts: imx8mq-librem5: Add usb-c chip as supplier for the charger arm64: dts: imx8mq-librem5: Don't mark buck3 as always on arm64: dts: imx8mq-librem5: Mark charger IRQ as High-Z ... Link: https://lore.kernel.org/r/20210204120150.26186-5-shawnguo@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Коммит
60c9579a01
|
@ -6,6 +6,7 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-qds.dtb
|
|||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-rdb.dtb
|
||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-kbox-a-230-ls.dtb
|
||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28.dtb
|
||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var1.dtb
|
||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var2.dtb
|
||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var3-ads2.dtb
|
||||
dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var4.dtb
|
||||
|
@ -33,16 +34,23 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-beacon-kit.dtb
|
|||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-ddr4-evk.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-kontron-n801x-s.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-nitrogen-r2.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-var-som-symphony.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw71xx-0x.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw72xx-0x.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mn-beacon-kit.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mn-evk.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mn-ddr4-evk.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mn-var-som-symphony.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mp-phyboard-pollux-rdk.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mq-hummingboard-pulse.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mq-librem5-devkit.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mq-librem5-r2.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mq-librem5-r3.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mq-librem5-r4.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mq-nitrogen.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mq-phanbell.dtb
|
||||
dtb-$(CONFIG_ARCH_MXC) += imx8mq-pico-pi.dtb
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include "fsl-ls1012a.dtsi"
|
||||
|
||||
/ {
|
||||
|
@ -57,6 +58,26 @@
|
|||
};
|
||||
};
|
||||
|
||||
&dspi {
|
||||
bus-num = <0>;
|
||||
status = "okay";
|
||||
|
||||
serial@0 {
|
||||
compatible = "nxp,sc16is740";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <4000000>;
|
||||
clocks = <&sc16is7xx_clk>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
||||
sc16is7xx_clk: clock-sc16is7xx {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <24000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&duart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -13,6 +13,11 @@
|
|||
model = "LS1012A QDS Board";
|
||||
compatible = "fsl,ls1012a-qds", "fsl,ls1012a";
|
||||
|
||||
aliases {
|
||||
mmc0 = &esdhc0;
|
||||
mmc1 = &esdhc1;
|
||||
};
|
||||
|
||||
sys_mclk: clock-mclk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
|
|
|
@ -7,11 +7,17 @@
|
|||
*/
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include "fsl-ls1012a.dtsi"
|
||||
|
||||
/ {
|
||||
model = "LS1012A RDB Board";
|
||||
compatible = "fsl,ls1012a-rdb", "fsl,ls1012a";
|
||||
|
||||
aliases {
|
||||
mmc0 = &esdhc0;
|
||||
mmc1 = &esdhc1;
|
||||
};
|
||||
};
|
||||
|
||||
&duart0 {
|
||||
|
@ -33,6 +39,50 @@
|
|||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
accelerometer@1e {
|
||||
compatible = "nxp,fxos8700";
|
||||
reg = <0x1e>;
|
||||
interrupt-parent = <&gpio26>;
|
||||
interrupts = <13 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "INT1";
|
||||
};
|
||||
|
||||
gyroscope@20 {
|
||||
compatible = "nxp,fxas21002c";
|
||||
reg = <0x20>;
|
||||
};
|
||||
|
||||
gpio@24 {
|
||||
compatible = "nxp,pcal9555a";
|
||||
reg = <0x24>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
|
||||
gpio@25 {
|
||||
compatible = "nxp,pcal9555a";
|
||||
reg = <0x25>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
|
||||
gpio26: gpio@26 {
|
||||
compatible = "nxp,pcal9555a";
|
||||
reg = <0x26>;
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
|
||||
current-sensor@40 {
|
||||
compatible = "ti,ina220";
|
||||
reg = <0x40>;
|
||||
shunt-resistor = <2000>;
|
||||
};
|
||||
};
|
||||
|
||||
&qspi {
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
|
||||
|
@ -34,7 +35,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x0>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
#cooling-cells = <2>;
|
||||
cpu-idle-states = <&CPU_PH20>;
|
||||
};
|
||||
|
@ -148,7 +149,10 @@
|
|||
reg-names = "QuadSPI", "QuadSPI-memory";
|
||||
interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "qspi_en", "qspi";
|
||||
clocks = <&clockgen 4 0>, <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -156,7 +160,8 @@
|
|||
compatible = "fsl,ls1012a-esdhc", "fsl,esdhc";
|
||||
reg = <0x0 0x1560000 0x0 0x10000>;
|
||||
interrupts = <0 62 0x4>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
voltage-ranges = <1800 1800 3300 3300>;
|
||||
sdhci,auto-cmd12;
|
||||
big-endian;
|
||||
|
@ -174,7 +179,8 @@
|
|||
compatible = "fsl,ls1012a-esdhc", "fsl,esdhc";
|
||||
reg = <0x0 0x1580000 0x0 0x10000>;
|
||||
interrupts = <0 65 0x4>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
voltage-ranges = <1800 1800 3300 3300>;
|
||||
sdhci,auto-cmd12;
|
||||
big-endian;
|
||||
|
@ -341,7 +347,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2180000 0x0 0x10000>;
|
||||
interrupts = <0 56 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -351,7 +358,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2190000 0x0 0x10000>;
|
||||
interrupts = <0 57 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -362,7 +370,8 @@
|
|||
reg = <0x0 0x2100000 0x0 0x10000>;
|
||||
interrupts = <0 64 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "dspi";
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
spi-num-chipselects = <5>;
|
||||
big-endian;
|
||||
status = "disabled";
|
||||
|
@ -372,7 +381,8 @@
|
|||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x00 0x21c0500 0x0 0x100>;
|
||||
interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -380,7 +390,8 @@
|
|||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x00 0x21c0600 0x0 0x100>;
|
||||
interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -409,7 +420,7 @@
|
|||
"fsl,imx21-wdt";
|
||||
reg = <0x0 0x2ad0000 0x0 0x10000>;
|
||||
interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL QORIQ_CLK_PLL_DIV(1)>;
|
||||
big-endian;
|
||||
};
|
||||
|
||||
|
@ -418,8 +429,14 @@
|
|||
compatible = "fsl,vf610-sai";
|
||||
reg = <0x0 0x2b50000 0x0 0x10000>;
|
||||
interrupts = <0 148 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>, <&clockgen 4 3>,
|
||||
<&clockgen 4 3>, <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
clock-names = "bus", "mclk1", "mclk2", "mclk3";
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&edma0 1 47>,
|
||||
|
@ -432,8 +449,14 @@
|
|||
compatible = "fsl,vf610-sai";
|
||||
reg = <0x0 0x2b60000 0x0 0x10000>;
|
||||
interrupts = <0 149 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>, <&clockgen 4 3>,
|
||||
<&clockgen 4 3>, <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
clock-names = "bus", "mclk1", "mclk2", "mclk3";
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&edma0 1 45>,
|
||||
|
@ -453,8 +476,10 @@
|
|||
dma-channels = <32>;
|
||||
big-endian;
|
||||
clock-names = "dmamux0", "dmamux1";
|
||||
clocks = <&clockgen 4 3>,
|
||||
<&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
};
|
||||
|
||||
usb0: usb@2f00000 {
|
||||
|
@ -473,7 +498,8 @@
|
|||
<0x0 0x20140520 0x0 0x4>;
|
||||
reg-names = "ahci", "sata-ecc";
|
||||
interrupts = <0 69 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
dma-coherent;
|
||||
status = "disabled";
|
||||
};
|
||||
|
|
|
@ -107,3 +107,7 @@
|
|||
ethernet = <&enetc_port2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sata {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Device Tree file for the Kontron SMARC-sAL28 board.
|
||||
*
|
||||
* This is for the network variant 1 which has one ethernet port. It is
|
||||
* different than the base variant, which also has one port, but here the
|
||||
* port is connected via RGMII. This port is not TSN aware.
|
||||
* None of the four SerDes lanes are used by the module, instead they are
|
||||
* all led out to the carrier for customer use.
|
||||
*
|
||||
* Copyright (C) 2020 Michael Walle <michael@walle.cc>
|
||||
*
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "fsl-ls1028a-kontron-sl28.dts"
|
||||
#include <dt-bindings/net/qca-ar803x.h>
|
||||
|
||||
/ {
|
||||
model = "Kontron SMARC-sAL28 (4 Lanes)";
|
||||
compatible = "kontron,sl28-var1", "kontron,sl28", "fsl,ls1028a";
|
||||
};
|
||||
|
||||
&enetc_port0 {
|
||||
status = "disabled";
|
||||
/*
|
||||
* Delete both the phy-handle to the old phy0 label as well as
|
||||
* the mdio node with the old phy node with the old phy0 label.
|
||||
*/
|
||||
/delete-property/ phy-handle;
|
||||
/delete-node/ mdio;
|
||||
};
|
||||
|
||||
&enetc_port1 {
|
||||
phy-handle = <&phy0>;
|
||||
phy-connection-type = "rgmii-id";
|
||||
status = "okay";
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
phy0: ethernet-phy@4 {
|
||||
reg = <0x4>;
|
||||
eee-broken-1000t;
|
||||
eee-broken-100tx;
|
||||
qca,clk-out-frequency = <125000000>;
|
||||
qca,clk-out-strength = <AR803X_STRENGTH_FULL>;
|
||||
vddio-supply = <&vddh>;
|
||||
|
||||
vddio: vddio-regulator {
|
||||
regulator-name = "VDDIO";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
vddh: vddh-regulator {
|
||||
regulator-name = "VDDH";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
|
@ -8,6 +8,8 @@
|
|||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
|
||||
#include "fsl-ls1028a-kontron-sl28.dts"
|
||||
|
||||
/ {
|
||||
|
@ -120,7 +122,8 @@
|
|||
mclk: clock-mclk@f130080 {
|
||||
compatible = "fsl,vf610-sai-clock";
|
||||
reg = <0x0 0xf130080 0x0 0x80>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -109,6 +109,14 @@
|
|||
};
|
||||
};
|
||||
|
||||
&can0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&can1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dspi0 {
|
||||
bus-num = <0>;
|
||||
status = "okay";
|
||||
|
|
|
@ -85,6 +85,22 @@
|
|||
};
|
||||
};
|
||||
|
||||
&can0 {
|
||||
status = "okay";
|
||||
|
||||
can-transceiver {
|
||||
max-bitrate = <5000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&can1 {
|
||||
status = "okay";
|
||||
|
||||
can-transceiver {
|
||||
max-bitrate = <5000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&esdhc {
|
||||
sd-uhs-sdr104;
|
||||
sd-uhs-sdr50;
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
|
||||
|
@ -30,7 +31,7 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
reg = <0x0>;
|
||||
enable-method = "psci";
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
next-level-cache = <&l2>;
|
||||
cpu-idle-states = <&CPU_PW20>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -41,7 +42,7 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
reg = <0x1>;
|
||||
enable-method = "psci";
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
next-level-cache = <&l2>;
|
||||
cpu-idle-states = <&CPU_PW20>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -205,9 +206,20 @@
|
|||
};
|
||||
|
||||
dcfg: syscon@1e00000 {
|
||||
compatible = "fsl,ls1028a-dcfg", "syscon";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,ls1028a-dcfg", "syscon", "simple-mfd";
|
||||
reg = <0x0 0x1e00000 0x0 0x10000>;
|
||||
ranges = <0x0 0x0 0x1e00000 0x10000>;
|
||||
little-endian;
|
||||
|
||||
fspi_clk: clock-controller@900 {
|
||||
compatible = "fsl,ls1028a-flexspi-clk";
|
||||
reg = <0x900 0x4>;
|
||||
#clock-cells = <0>;
|
||||
clocks = <&clockgen QORIQ_CLK_HWACCEL 0>;
|
||||
clock-output-names = "fspi_clk";
|
||||
};
|
||||
};
|
||||
|
||||
rst: syscon@1e60000 {
|
||||
|
@ -235,7 +247,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2000000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -245,7 +258,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2010000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -255,7 +269,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2020000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -265,7 +280,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2030000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -275,7 +291,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2040000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -285,7 +302,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2050000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -295,7 +313,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2060000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -305,7 +324,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2070000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -317,7 +337,7 @@
|
|||
<0x0 0x20000000 0x0 0x10000000>;
|
||||
reg-names = "fspi_base", "fspi_mmap";
|
||||
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 2 0>, <&clockgen 2 0>;
|
||||
clocks = <&fspi_clk>, <&fspi_clk>;
|
||||
clock-names = "fspi_en", "fspi";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -329,7 +349,8 @@
|
|||
reg = <0x0 0x2100000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "dspi";
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
dmas = <&edma0 0 62>, <&edma0 0 60>;
|
||||
dma-names = "tx", "rx";
|
||||
spi-num-chipselects = <4>;
|
||||
|
@ -344,7 +365,8 @@
|
|||
reg = <0x0 0x2110000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "dspi";
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
dmas = <&edma0 0 58>, <&edma0 0 56>;
|
||||
dma-names = "tx", "rx";
|
||||
spi-num-chipselects = <4>;
|
||||
|
@ -359,7 +381,8 @@
|
|||
reg = <0x0 0x2120000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "dspi";
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
dmas = <&edma0 0 54>, <&edma0 0 2>;
|
||||
dma-names = "tx", "rx";
|
||||
spi-num-chipselects = <3>;
|
||||
|
@ -372,7 +395,7 @@
|
|||
reg = <0x0 0x2140000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-frequency = <0>; /* fixed up by bootloader */
|
||||
clocks = <&clockgen 2 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_HWACCEL 1>;
|
||||
voltage-ranges = <1800 1800 3300 3300>;
|
||||
sdhci,auto-cmd12;
|
||||
little-endian;
|
||||
|
@ -385,7 +408,7 @@
|
|||
reg = <0x0 0x2150000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-frequency = <0>; /* fixed up by bootloader */
|
||||
clocks = <&clockgen 2 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_HWACCEL 1>;
|
||||
voltage-ranges = <1800 1800 3300 3300>;
|
||||
sdhci,auto-cmd12;
|
||||
broken-cd;
|
||||
|
@ -395,19 +418,25 @@
|
|||
};
|
||||
|
||||
can0: can@2180000 {
|
||||
compatible = "fsl,ls1028ar1-flexcan", "fsl,lx2160ar1-flexcan";
|
||||
compatible = "fsl,lx2160ar1-flexcan";
|
||||
reg = <0x0 0x2180000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&sysclk>, <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
can1: can@2190000 {
|
||||
compatible = "fsl,ls1028ar1-flexcan", "fsl,lx2160ar1-flexcan";
|
||||
compatible = "fsl,lx2160ar1-flexcan";
|
||||
reg = <0x0 0x2190000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&sysclk>, <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "ipg", "per";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -416,7 +445,8 @@
|
|||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x00 0x21c0500 0x0 0x100>;
|
||||
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -424,7 +454,8 @@
|
|||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x00 0x21c0600 0x0 0x100>;
|
||||
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -433,7 +464,8 @@
|
|||
compatible = "fsl,ls1028a-lpuart";
|
||||
reg = <0x0 0x2260000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "ipg";
|
||||
dma-names = "rx","tx";
|
||||
dmas = <&edma0 1 32>,
|
||||
|
@ -445,7 +477,8 @@
|
|||
compatible = "fsl,ls1028a-lpuart";
|
||||
reg = <0x0 0x2270000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "ipg";
|
||||
dma-names = "rx","tx";
|
||||
dmas = <&edma0 1 30>,
|
||||
|
@ -457,7 +490,8 @@
|
|||
compatible = "fsl,ls1028a-lpuart";
|
||||
reg = <0x0 0x2280000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 234 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "ipg";
|
||||
dma-names = "rx","tx";
|
||||
dmas = <&edma0 1 28>,
|
||||
|
@ -469,7 +503,8 @@
|
|||
compatible = "fsl,ls1028a-lpuart";
|
||||
reg = <0x0 0x2290000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 235 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "ipg";
|
||||
dma-names = "rx","tx";
|
||||
dmas = <&edma0 1 26>,
|
||||
|
@ -481,7 +516,8 @@
|
|||
compatible = "fsl,ls1028a-lpuart";
|
||||
reg = <0x0 0x22a0000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 236 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "ipg";
|
||||
dma-names = "rx","tx";
|
||||
dmas = <&edma0 1 24>,
|
||||
|
@ -493,7 +529,8 @@
|
|||
compatible = "fsl,ls1028a-lpuart";
|
||||
reg = <0x0 0x22b0000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 237 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "ipg";
|
||||
dma-names = "rx","tx";
|
||||
dmas = <&edma0 1 22>,
|
||||
|
@ -512,8 +549,10 @@
|
|||
interrupt-names = "edma-tx", "edma-err";
|
||||
dma-channels = <32>;
|
||||
clock-names = "dmamux0", "dmamux1";
|
||||
clocks = <&clockgen 4 1>,
|
||||
<&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
};
|
||||
|
||||
gpio1: gpio@2300000 {
|
||||
|
@ -575,7 +614,8 @@
|
|||
<0x7 0x100520 0x0 0x4>;
|
||||
reg-names = "ahci", "sata-ecc";
|
||||
interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -747,14 +787,20 @@
|
|||
cluster1_core0_watchdog: watchdog@c000000 {
|
||||
compatible = "arm,sp805", "arm,primecell";
|
||||
reg = <0x0 0xc000000 0x0 0x1000>;
|
||||
clocks = <&clockgen 4 15>, <&clockgen 4 15>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>;
|
||||
clock-names = "wdog_clk", "apb_pclk";
|
||||
};
|
||||
|
||||
cluster1_core1_watchdog: watchdog@c010000 {
|
||||
compatible = "arm,sp805", "arm,primecell";
|
||||
reg = <0x0 0xc010000 0x0 0x1000>;
|
||||
clocks = <&clockgen 4 15>, <&clockgen 4 15>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>;
|
||||
clock-names = "wdog_clk", "apb_pclk";
|
||||
};
|
||||
|
||||
|
@ -763,8 +809,14 @@
|
|||
compatible = "fsl,vf610-sai";
|
||||
reg = <0x0 0xf100000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>, <&clockgen 4 1>,
|
||||
<&clockgen 4 1>, <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "bus", "mclk1", "mclk2", "mclk3";
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&edma0 1 4>,
|
||||
|
@ -778,8 +830,14 @@
|
|||
compatible = "fsl,vf610-sai";
|
||||
reg = <0x0 0xf110000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>, <&clockgen 4 1>,
|
||||
<&clockgen 4 1>, <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "bus", "mclk1", "mclk2", "mclk3";
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&edma0 1 6>,
|
||||
|
@ -793,8 +851,14 @@
|
|||
compatible = "fsl,vf610-sai";
|
||||
reg = <0x0 0xf120000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>, <&clockgen 4 1>,
|
||||
<&clockgen 4 1>, <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "bus", "mclk1", "mclk2", "mclk3";
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&edma0 1 8>,
|
||||
|
@ -808,8 +872,14 @@
|
|||
compatible = "fsl,vf610-sai";
|
||||
reg = <0x0 0xf130000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>, <&clockgen 4 1>,
|
||||
<&clockgen 4 1>, <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "bus", "mclk1", "mclk2", "mclk3";
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&edma0 1 10>,
|
||||
|
@ -823,8 +893,14 @@
|
|||
compatible = "fsl,vf610-sai";
|
||||
reg = <0x0 0xf140000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>, <&clockgen 4 1>,
|
||||
<&clockgen 4 1>, <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "bus", "mclk1", "mclk2", "mclk3";
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&edma0 1 12>,
|
||||
|
@ -838,8 +914,14 @@
|
|||
compatible = "fsl,vf610-sai";
|
||||
reg = <0x0 0xf150000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>, <&clockgen 4 1>,
|
||||
<&clockgen 4 1>, <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "bus", "mclk1", "mclk2", "mclk3";
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&edma0 1 14>,
|
||||
|
@ -960,7 +1042,7 @@
|
|||
ethernet@0,4 {
|
||||
compatible = "fsl,enetc-ptp";
|
||||
reg = <0x000400 0 0 0 0>;
|
||||
clocks = <&clockgen 2 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_HWACCEL 3>;
|
||||
little-endian;
|
||||
fsl,extts-fifo;
|
||||
};
|
||||
|
@ -1055,8 +1137,10 @@
|
|||
interrupts = <0 222 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 223 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "DE", "SE";
|
||||
clocks = <&dpclk>, <&clockgen 2 2>, <&clockgen 2 2>,
|
||||
<&clockgen 2 2>;
|
||||
clocks = <&dpclk>,
|
||||
<&clockgen QORIQ_CLK_HWACCEL 2>,
|
||||
<&clockgen QORIQ_CLK_HWACCEL 2>,
|
||||
<&clockgen QORIQ_CLK_HWACCEL 2>;
|
||||
clock-names = "pxlclk", "mclk", "aclk", "pclk";
|
||||
arm,malidp-output-port-lines = /bits/ 8 <8 8 8>;
|
||||
arm,malidp-arqos-value = <0xd000d000>;
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
* Mingkai Hu <Mingkai.hu@freescale.com>
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
|
@ -44,7 +45,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x0>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
next-level-cache = <&l2>;
|
||||
cpu-idle-states = <&CPU_PH20>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -54,7 +55,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x1>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
next-level-cache = <&l2>;
|
||||
cpu-idle-states = <&CPU_PH20>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -64,7 +65,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x2>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
next-level-cache = <&l2>;
|
||||
cpu-idle-states = <&CPU_PH20>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -74,7 +75,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x3>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
next-level-cache = <&l2>;
|
||||
cpu-idle-states = <&CPU_PH20>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -311,6 +312,31 @@
|
|||
compatible = "fsl,ls1043a-scfg", "syscon";
|
||||
reg = <0x0 0x1570000 0x0 0x10000>;
|
||||
big-endian;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x0 0x1570000 0x10000>;
|
||||
|
||||
extirq: interrupt-controller@1ac {
|
||||
compatible = "fsl,ls1043a-extirq";
|
||||
#interrupt-cells = <2>;
|
||||
#address-cells = <0>;
|
||||
interrupt-controller;
|
||||
reg = <0x1ac 4>;
|
||||
interrupt-map =
|
||||
<0 0 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<1 0 &gic GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<2 0 &gic GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<3 0 &gic GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<4 0 &gic GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<5 0 &gic GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<6 0 &gic GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<7 0 &gic GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<8 0 &gic GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<9 0 &gic GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<10 0 &gic GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<11 0 &gic GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-map-mask = <0xffffffff 0x0>;
|
||||
};
|
||||
};
|
||||
|
||||
crypto: crypto@1700000 {
|
||||
|
@ -377,7 +403,10 @@
|
|||
reg-names = "QuadSPI", "QuadSPI-memory";
|
||||
interrupts = <0 99 0x4>;
|
||||
clock-names = "qspi_en", "qspi";
|
||||
clocks = <&clockgen 4 0>, <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -476,7 +505,8 @@
|
|||
reg = <0x0 0x2100000 0x0 0x10000>;
|
||||
interrupts = <0 64 0x4>;
|
||||
clock-names = "dspi";
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
spi-num-chipselects = <5>;
|
||||
big-endian;
|
||||
status = "disabled";
|
||||
|
@ -489,7 +519,8 @@
|
|||
reg = <0x0 0x2110000 0x0 0x10000>;
|
||||
interrupts = <0 65 0x4>;
|
||||
clock-names = "dspi";
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
spi-num-chipselects = <5>;
|
||||
big-endian;
|
||||
status = "disabled";
|
||||
|
@ -502,7 +533,8 @@
|
|||
reg = <0x0 0x2180000 0x0 0x10000>;
|
||||
interrupts = <0 56 0x4>;
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
dmas = <&edma0 1 39>,
|
||||
<&edma0 1 38>;
|
||||
dma-names = "tx", "rx";
|
||||
|
@ -516,7 +548,8 @@
|
|||
reg = <0x0 0x2190000 0x0 0x10000>;
|
||||
interrupts = <0 57 0x4>;
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -527,7 +560,8 @@
|
|||
reg = <0x0 0x21a0000 0x0 0x10000>;
|
||||
interrupts = <0 58 0x4>;
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -538,7 +572,8 @@
|
|||
reg = <0x0 0x21b0000 0x0 0x10000>;
|
||||
interrupts = <0 59 0x4>;
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -546,28 +581,32 @@
|
|||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x00 0x21c0500 0x0 0x100>;
|
||||
interrupts = <0 54 0x4>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
};
|
||||
|
||||
duart1: serial@21c0600 {
|
||||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x00 0x21c0600 0x0 0x100>;
|
||||
interrupts = <0 54 0x4>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
};
|
||||
|
||||
duart2: serial@21d0500 {
|
||||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x0 0x21d0500 0x0 0x100>;
|
||||
interrupts = <0 55 0x4>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
};
|
||||
|
||||
duart3: serial@21d0600 {
|
||||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x0 0x21d0600 0x0 0x100>;
|
||||
interrupts = <0 55 0x4>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
};
|
||||
|
||||
gpio1: gpio@2300000 {
|
||||
|
@ -679,7 +718,7 @@
|
|||
compatible = "fsl,ls1021a-lpuart";
|
||||
reg = <0x0 0x2950000 0x0 0x1000>;
|
||||
interrupts = <0 48 0x4>;
|
||||
clocks = <&clockgen 0 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_SYSCLK 0>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -688,7 +727,8 @@
|
|||
compatible = "fsl,ls1021a-lpuart";
|
||||
reg = <0x0 0x2960000 0x0 0x1000>;
|
||||
interrupts = <0 49 0x4>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -697,7 +737,8 @@
|
|||
compatible = "fsl,ls1021a-lpuart";
|
||||
reg = <0x0 0x2970000 0x0 0x1000>;
|
||||
interrupts = <0 50 0x4>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -706,7 +747,8 @@
|
|||
compatible = "fsl,ls1021a-lpuart";
|
||||
reg = <0x0 0x2980000 0x0 0x1000>;
|
||||
interrupts = <0 51 0x4>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -715,7 +757,8 @@
|
|||
compatible = "fsl,ls1021a-lpuart";
|
||||
reg = <0x0 0x2990000 0x0 0x1000>;
|
||||
interrupts = <0 52 0x4>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -724,7 +767,8 @@
|
|||
compatible = "fsl,ls1021a-lpuart";
|
||||
reg = <0x0 0x29a0000 0x0 0x1000>;
|
||||
interrupts = <0 53 0x4>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -733,7 +777,8 @@
|
|||
compatible = "fsl,ls1043a-wdt", "fsl,imx21-wdt";
|
||||
reg = <0x0 0x2ad0000 0x0 0x10000>;
|
||||
interrupts = <0 83 0x4>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
clock-names = "wdog";
|
||||
big-endian;
|
||||
};
|
||||
|
@ -750,8 +795,10 @@
|
|||
dma-channels = <32>;
|
||||
big-endian;
|
||||
clock-names = "dmamux0", "dmamux1";
|
||||
clocks = <&clockgen 4 0>,
|
||||
<&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
};
|
||||
|
||||
usb0: usb@2f00000 {
|
||||
|
@ -793,7 +840,8 @@
|
|||
<0x0 0x20140520 0x0 0x4>;
|
||||
reg-names = "ahci", "sata-ecc";
|
||||
interrupts = <0 69 0x4>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
dma-coherent;
|
||||
};
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
* Device Tree Include file for Freescale Layerscape-1046A family SoC.
|
||||
*
|
||||
* Copyright 2016 Freescale Semiconductor, Inc.
|
||||
* Copyright 2019-2020 NXP
|
||||
*
|
||||
* Mingkai Hu <mingkai.hu@nxp.com>
|
||||
*/
|
||||
|
@ -74,6 +75,8 @@
|
|||
rtc@51 {
|
||||
compatible = "nxp,pcf2129";
|
||||
reg = <0x51>;
|
||||
/* IRQ_RTC_B -> IRQ05, active low */
|
||||
interrupts-extended = <&extirq 5 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
* Mingkai Hu <mingkai.hu@nxp.com>
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
|
||||
|
@ -39,7 +40,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a72";
|
||||
reg = <0x0>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
next-level-cache = <&l2>;
|
||||
cpu-idle-states = <&CPU_PH20>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -49,7 +50,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a72";
|
||||
reg = <0x1>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
next-level-cache = <&l2>;
|
||||
cpu-idle-states = <&CPU_PH20>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -59,7 +60,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a72";
|
||||
reg = <0x2>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
next-level-cache = <&l2>;
|
||||
cpu-idle-states = <&CPU_PH20>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -69,7 +70,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a72";
|
||||
reg = <0x3>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
next-level-cache = <&l2>;
|
||||
cpu-idle-states = <&CPU_PH20>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -295,7 +296,10 @@
|
|||
reg-names = "QuadSPI", "QuadSPI-memory";
|
||||
interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "qspi_en", "qspi";
|
||||
clocks = <&clockgen 4 1>, <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -303,7 +307,7 @@
|
|||
compatible = "fsl,ls1046a-esdhc", "fsl,esdhc";
|
||||
reg = <0x0 0x1560000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 2 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_HWACCEL 1>;
|
||||
voltage-ranges = <1800 1800 3300 3300>;
|
||||
sdhci,auto-cmd12;
|
||||
big-endian;
|
||||
|
@ -314,6 +318,31 @@
|
|||
compatible = "fsl,ls1046a-scfg", "syscon";
|
||||
reg = <0x0 0x1570000 0x0 0x10000>;
|
||||
big-endian;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x0 0x1570000 0x10000>;
|
||||
|
||||
extirq: interrupt-controller@1ac {
|
||||
compatible = "fsl,ls1046a-extirq", "fsl,ls1043a-extirq";
|
||||
#interrupt-cells = <2>;
|
||||
#address-cells = <0>;
|
||||
interrupt-controller;
|
||||
reg = <0x1ac 4>;
|
||||
interrupt-map =
|
||||
<0 0 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<1 0 &gic GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<2 0 &gic GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<3 0 &gic GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<4 0 &gic GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<5 0 &gic GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<6 0 &gic GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<7 0 &gic GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<8 0 &gic GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<9 0 &gic GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<10 0 &gic GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<11 0 &gic GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-map-mask = <0xffffffff 0x0>;
|
||||
};
|
||||
};
|
||||
|
||||
crypto: crypto@1700000 {
|
||||
|
@ -454,7 +483,8 @@
|
|||
reg = <0x0 0x2100000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "dspi";
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
spi-num-chipselects = <5>;
|
||||
big-endian;
|
||||
status = "disabled";
|
||||
|
@ -466,7 +496,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2180000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
dmas = <&edma0 1 39>,
|
||||
<&edma0 1 38>;
|
||||
dma-names = "tx", "rx";
|
||||
|
@ -479,7 +510,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2190000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -489,7 +521,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x21a0000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -499,7 +532,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x21b0000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -507,7 +541,8 @@
|
|||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x00 0x21c0500 0x0 0x100>;
|
||||
interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -515,7 +550,8 @@
|
|||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x00 0x21c0600 0x0 0x100>;
|
||||
interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -523,7 +559,8 @@
|
|||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x0 0x21d0500 0x0 0x100>;
|
||||
interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -531,7 +568,8 @@
|
|||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x0 0x21d0600 0x0 0x100>;
|
||||
interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -579,7 +617,8 @@
|
|||
compatible = "fsl,ls1021a-lpuart";
|
||||
reg = <0x0 0x2950000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -588,7 +627,8 @@
|
|||
compatible = "fsl,ls1021a-lpuart";
|
||||
reg = <0x0 0x2960000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -597,7 +637,8 @@
|
|||
compatible = "fsl,ls1021a-lpuart";
|
||||
reg = <0x0 0x2970000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -606,7 +647,8 @@
|
|||
compatible = "fsl,ls1021a-lpuart";
|
||||
reg = <0x0 0x2980000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -615,7 +657,8 @@
|
|||
compatible = "fsl,ls1021a-lpuart";
|
||||
reg = <0x0 0x2990000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -624,7 +667,8 @@
|
|||
compatible = "fsl,ls1021a-lpuart";
|
||||
reg = <0x0 0x29a0000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
clock-names = "ipg";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -633,7 +677,8 @@
|
|||
compatible = "fsl,imx21-wdt";
|
||||
reg = <0x0 0x2ad0000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
big-endian;
|
||||
};
|
||||
|
||||
|
@ -649,8 +694,10 @@
|
|||
dma-channels = <32>;
|
||||
big-endian;
|
||||
clock-names = "dmamux0", "dmamux1";
|
||||
clocks = <&clockgen 4 1>,
|
||||
<&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
};
|
||||
|
||||
usb0: usb@2f00000 {
|
||||
|
@ -689,7 +736,8 @@
|
|||
<0x0 0x20140520 0x0 0x4>;
|
||||
reg-names = "ahci", "sata-ecc";
|
||||
interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
};
|
||||
|
||||
msi1: msi-controller@1580000 {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
/*
|
||||
* Device Tree file for NXP LS1088A RDB Board.
|
||||
*
|
||||
* Copyright 2017 NXP
|
||||
* Copyright 2017-2020 NXP
|
||||
*
|
||||
* Harninder Rai <harninder.rai@nxp.com>
|
||||
*
|
||||
|
@ -158,8 +158,8 @@
|
|||
rtc@51 {
|
||||
compatible = "nxp,pcf2129";
|
||||
reg = <0x51>;
|
||||
/* IRQ10_B */
|
||||
interrupts = <0 150 IRQ_TYPE_LEVEL_HIGH>;
|
||||
/* IRQ_RTC_B -> IRQ0_B(CPLD) -> IRQ00(CPU), active low */
|
||||
interrupts-extended = <&extirq 0 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
* Harninder Rai <harninder.rai@nxp.com>
|
||||
*
|
||||
*/
|
||||
#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
|
||||
|
@ -30,7 +31,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x0>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
cpu-idle-states = <&CPU_PH20>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
@ -39,7 +40,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x1>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
cpu-idle-states = <&CPU_PH20>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
@ -48,7 +49,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x2>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
cpu-idle-states = <&CPU_PH20>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
@ -57,7 +58,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x3>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
cpu-idle-states = <&CPU_PH20>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
@ -66,7 +67,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x100>;
|
||||
clocks = <&clockgen 1 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 1>;
|
||||
cpu-idle-states = <&CPU_PH20>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
@ -75,7 +76,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x101>;
|
||||
clocks = <&clockgen 1 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 1>;
|
||||
cpu-idle-states = <&CPU_PH20>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
@ -84,7 +85,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x102>;
|
||||
clocks = <&clockgen 1 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 1>;
|
||||
cpu-idle-states = <&CPU_PH20>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
@ -93,7 +94,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53";
|
||||
reg = <0x103>;
|
||||
clocks = <&clockgen 1 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 1>;
|
||||
cpu-idle-states = <&CPU_PH20>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
@ -220,6 +221,37 @@
|
|||
little-endian;
|
||||
};
|
||||
|
||||
isc: syscon@1f70000 {
|
||||
compatible = "fsl,ls1088a-isc", "syscon";
|
||||
reg = <0x0 0x1f70000 0x0 0x10000>;
|
||||
little-endian;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x0 0x1f70000 0x10000>;
|
||||
|
||||
extirq: interrupt-controller@14 {
|
||||
compatible = "fsl,ls1088a-extirq";
|
||||
#interrupt-cells = <2>;
|
||||
#address-cells = <0>;
|
||||
interrupt-controller;
|
||||
reg = <0x14 4>;
|
||||
interrupt-map =
|
||||
<0 0 &gic GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<1 0 &gic GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<2 0 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<3 0 &gic GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<4 0 &gic GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<5 0 &gic GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<6 0 &gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<7 0 &gic GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<8 0 &gic GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<9 0 &gic GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<10 0 &gic GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<11 0 &gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-map-mask = <0xffffffff 0x0>;
|
||||
};
|
||||
};
|
||||
|
||||
tmu: tmu@1f80000 {
|
||||
compatible = "fsl,qoriq-tmu";
|
||||
reg = <0x0 0x1f80000 0x0 0x10000>;
|
||||
|
@ -279,7 +311,8 @@
|
|||
reg = <0x0 0x2100000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "dspi";
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
spi-num-chipselects = <6>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -287,7 +320,8 @@
|
|||
duart0: serial@21c0500 {
|
||||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x0 0x21c0500 0x0 0x100>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -295,7 +329,8 @@
|
|||
duart1: serial@21c0600 {
|
||||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x0 0x21c0600 0x0 0x100>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -360,7 +395,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2000000 0x0 0x10000>;
|
||||
interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 7>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(8)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -370,7 +406,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2010000 0x0 0x10000>;
|
||||
interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 7>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(8)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -380,7 +417,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2020000 0x0 0x10000>;
|
||||
interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 7>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(8)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -390,7 +428,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2030000 0x0 0x10000>;
|
||||
interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 7>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(8)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -403,7 +442,10 @@
|
|||
reg-names = "QuadSPI", "QuadSPI-memory";
|
||||
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "qspi_en", "qspi";
|
||||
clocks = <&clockgen 4 3>, <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -412,7 +454,7 @@
|
|||
reg = <0x0 0x2140000 0x0 0x10000>;
|
||||
interrupts = <0 28 0x4>; /* Level high type */
|
||||
clock-frequency = <0>;
|
||||
clocks = <&clockgen 2 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_HWACCEL 1>;
|
||||
voltage-ranges = <1800 1800 3300 3300>;
|
||||
sdhci,auto-cmd12;
|
||||
little-endian;
|
||||
|
@ -447,7 +489,8 @@
|
|||
<0x7 0x100520 0x0 0x4>;
|
||||
reg-names = "ahci", "sata-ecc";
|
||||
interrupts = <0 133 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
dma-coherent;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -698,7 +741,8 @@
|
|||
ptp-timer@8b95000 {
|
||||
compatible = "fsl,dpaa2-ptp";
|
||||
reg = <0x0 0x8b95000 0x0 0x100>;
|
||||
clocks = <&clockgen 4 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(1)>;
|
||||
little-endian;
|
||||
fsl,extts-fifo;
|
||||
};
|
||||
|
@ -787,56 +831,80 @@
|
|||
cluster1_core0_watchdog: wdt@c000000 {
|
||||
compatible = "arm,sp805-wdt", "arm,primecell";
|
||||
reg = <0x0 0xc000000 0x0 0x1000>;
|
||||
clocks = <&clockgen 4 15>, <&clockgen 4 15>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>;
|
||||
clock-names = "wdog_clk", "apb_pclk";
|
||||
};
|
||||
|
||||
cluster1_core1_watchdog: wdt@c010000 {
|
||||
compatible = "arm,sp805-wdt", "arm,primecell";
|
||||
reg = <0x0 0xc010000 0x0 0x1000>;
|
||||
clocks = <&clockgen 4 15>, <&clockgen 4 15>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>;
|
||||
clock-names = "wdog_clk", "apb_pclk";
|
||||
};
|
||||
|
||||
cluster1_core2_watchdog: wdt@c020000 {
|
||||
compatible = "arm,sp805-wdt", "arm,primecell";
|
||||
reg = <0x0 0xc020000 0x0 0x1000>;
|
||||
clocks = <&clockgen 4 15>, <&clockgen 4 15>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>;
|
||||
clock-names = "wdog_clk", "apb_pclk";
|
||||
};
|
||||
|
||||
cluster1_core3_watchdog: wdt@c030000 {
|
||||
compatible = "arm,sp805-wdt", "arm,primecell";
|
||||
reg = <0x0 0xc030000 0x0 0x1000>;
|
||||
clocks = <&clockgen 4 15>, <&clockgen 4 15>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>;
|
||||
clock-names = "wdog_clk", "apb_pclk";
|
||||
};
|
||||
|
||||
cluster2_core0_watchdog: wdt@c100000 {
|
||||
compatible = "arm,sp805-wdt", "arm,primecell";
|
||||
reg = <0x0 0xc100000 0x0 0x1000>;
|
||||
clocks = <&clockgen 4 15>, <&clockgen 4 15>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>;
|
||||
clock-names = "wdog_clk", "apb_pclk";
|
||||
};
|
||||
|
||||
cluster2_core1_watchdog: wdt@c110000 {
|
||||
compatible = "arm,sp805-wdt", "arm,primecell";
|
||||
reg = <0x0 0xc110000 0x0 0x1000>;
|
||||
clocks = <&clockgen 4 15>, <&clockgen 4 15>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>;
|
||||
clock-names = "wdog_clk", "apb_pclk";
|
||||
};
|
||||
|
||||
cluster2_core2_watchdog: wdt@c120000 {
|
||||
compatible = "arm,sp805-wdt", "arm,primecell";
|
||||
reg = <0x0 0xc120000 0x0 0x1000>;
|
||||
clocks = <&clockgen 4 15>, <&clockgen 4 15>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>;
|
||||
clock-names = "wdog_clk", "apb_pclk";
|
||||
};
|
||||
|
||||
cluster2_core3_watchdog: wdt@c130000 {
|
||||
compatible = "arm,sp805-wdt", "arm,primecell";
|
||||
reg = <0x0 0xc130000 0x0 0x1000>;
|
||||
clocks = <&clockgen 4 15>, <&clockgen 4 15>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>;
|
||||
clock-names = "wdog_clk", "apb_pclk";
|
||||
};
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
|
||||
#include "fsl-ls208xa.dtsi"
|
||||
|
||||
&cpu {
|
||||
|
@ -16,7 +17,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a57";
|
||||
reg = <0x0>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
cpu-idle-states = <&CPU_PW20>;
|
||||
next-level-cache = <&cluster0_l2>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -26,7 +27,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a57";
|
||||
reg = <0x1>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
cpu-idle-states = <&CPU_PW20>;
|
||||
next-level-cache = <&cluster0_l2>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -36,7 +37,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a57";
|
||||
reg = <0x100>;
|
||||
clocks = <&clockgen 1 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 1>;
|
||||
cpu-idle-states = <&CPU_PW20>;
|
||||
next-level-cache = <&cluster1_l2>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -46,7 +47,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a57";
|
||||
reg = <0x101>;
|
||||
clocks = <&clockgen 1 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 1>;
|
||||
cpu-idle-states = <&CPU_PW20>;
|
||||
next-level-cache = <&cluster1_l2>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -56,7 +57,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a57";
|
||||
reg = <0x200>;
|
||||
clocks = <&clockgen 1 2>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 2>;
|
||||
cpu-idle-states = <&CPU_PW20>;
|
||||
next-level-cache = <&cluster2_l2>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -66,7 +67,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a57";
|
||||
reg = <0x201>;
|
||||
clocks = <&clockgen 1 2>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 2>;
|
||||
cpu-idle-states = <&CPU_PW20>;
|
||||
next-level-cache = <&cluster2_l2>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -76,7 +77,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a57";
|
||||
reg = <0x300>;
|
||||
clocks = <&clockgen 1 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 3>;
|
||||
next-level-cache = <&cluster3_l2>;
|
||||
cpu-idle-states = <&CPU_PW20>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -86,7 +87,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a57";
|
||||
reg = <0x301>;
|
||||
clocks = <&clockgen 1 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 3>;
|
||||
cpu-idle-states = <&CPU_PW20>;
|
||||
next-level-cache = <&cluster3_l2>;
|
||||
#cooling-cells = <2>;
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
|
||||
#include "fsl-ls208xa.dtsi"
|
||||
|
||||
&cpu {
|
||||
|
@ -16,7 +17,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a72";
|
||||
reg = <0x0>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
cpu-idle-states = <&CPU_PW20>;
|
||||
next-level-cache = <&cluster0_l2>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -26,7 +27,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a72";
|
||||
reg = <0x1>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
cpu-idle-states = <&CPU_PW20>;
|
||||
next-level-cache = <&cluster0_l2>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -36,7 +37,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a72";
|
||||
reg = <0x100>;
|
||||
clocks = <&clockgen 1 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 1>;
|
||||
cpu-idle-states = <&CPU_PW20>;
|
||||
next-level-cache = <&cluster1_l2>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -46,7 +47,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a72";
|
||||
reg = <0x101>;
|
||||
clocks = <&clockgen 1 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 1>;
|
||||
cpu-idle-states = <&CPU_PW20>;
|
||||
next-level-cache = <&cluster1_l2>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -56,7 +57,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a72";
|
||||
reg = <0x200>;
|
||||
clocks = <&clockgen 1 2>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 2>;
|
||||
next-level-cache = <&cluster2_l2>;
|
||||
cpu-idle-states = <&CPU_PW20>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -66,7 +67,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a72";
|
||||
reg = <0x201>;
|
||||
clocks = <&clockgen 1 2>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 2>;
|
||||
cpu-idle-states = <&CPU_PW20>;
|
||||
next-level-cache = <&cluster2_l2>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -76,7 +77,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a72";
|
||||
reg = <0x300>;
|
||||
clocks = <&clockgen 1 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 3>;
|
||||
cpu-idle-states = <&CPU_PW20>;
|
||||
next-level-cache = <&cluster3_l2>;
|
||||
#cooling-cells = <2>;
|
||||
|
@ -86,7 +87,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a72";
|
||||
reg = <0x301>;
|
||||
clocks = <&clockgen 1 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 3>;
|
||||
cpu-idle-states = <&CPU_PW20>;
|
||||
next-level-cache = <&cluster3_l2>;
|
||||
#cooling-cells = <2>;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* Device Tree file for Freescale LS2080A RDB Board.
|
||||
*
|
||||
* Copyright 2016 Freescale Semiconductor, Inc.
|
||||
* Copyright 2017 NXP
|
||||
* Copyright 2017-2020 NXP
|
||||
*
|
||||
* Abhimanyu Saini <abhimanyu.saini@nxp.com>
|
||||
*
|
||||
|
@ -56,6 +56,8 @@
|
|||
rtc@68 {
|
||||
compatible = "dallas,ds3232";
|
||||
reg = <0x68>;
|
||||
/* IRQ_RTC_B -> IRQ06, active low */
|
||||
interrupts-extended = <&extirq 6 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -3,12 +3,13 @@
|
|||
* Device Tree Include file for Freescale Layerscape-2080A family SoC.
|
||||
*
|
||||
* Copyright 2016 Freescale Semiconductor, Inc.
|
||||
* Copyright 2017 NXP
|
||||
* Copyright 2017-2020 NXP
|
||||
*
|
||||
* Abhimanyu Saini <abhimanyu.saini@nxp.com>
|
||||
*
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
|
@ -277,6 +278,37 @@
|
|||
little-endian;
|
||||
};
|
||||
|
||||
isc: syscon@1f70000 {
|
||||
compatible = "fsl,ls2080a-isc", "syscon";
|
||||
reg = <0x0 0x1f70000 0x0 0x10000>;
|
||||
little-endian;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x0 0x1f70000 0x10000>;
|
||||
|
||||
extirq: interrupt-controller@14 {
|
||||
compatible = "fsl,ls2080a-extirq", "fsl,ls1088a-extirq";
|
||||
#interrupt-cells = <2>;
|
||||
#address-cells = <0>;
|
||||
interrupt-controller;
|
||||
reg = <0x14 4>;
|
||||
interrupt-map =
|
||||
<0 0 &gic GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<1 0 &gic GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<2 0 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<3 0 &gic GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<4 0 &gic GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<5 0 &gic GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<6 0 &gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<7 0 &gic GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<8 0 &gic GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<9 0 &gic GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<10 0 &gic GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<11 0 &gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-map-mask = <0xffffffff 0x0>;
|
||||
};
|
||||
};
|
||||
|
||||
tmu: tmu@1f80000 {
|
||||
compatible = "fsl,qoriq-tmu";
|
||||
reg = <0x0 0x1f80000 0x0 0x10000>;
|
||||
|
@ -325,84 +357,112 @@
|
|||
serial0: serial@21c0500 {
|
||||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x0 0x21c0500 0x0 0x100>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
interrupts = <0 32 0x4>; /* Level high type */
|
||||
};
|
||||
|
||||
serial1: serial@21c0600 {
|
||||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x0 0x21c0600 0x0 0x100>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
interrupts = <0 32 0x4>; /* Level high type */
|
||||
};
|
||||
|
||||
serial2: serial@21d0500 {
|
||||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x0 0x21d0500 0x0 0x100>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
interrupts = <0 33 0x4>; /* Level high type */
|
||||
};
|
||||
|
||||
serial3: serial@21d0600 {
|
||||
compatible = "fsl,ns16550", "ns16550a";
|
||||
reg = <0x0 0x21d0600 0x0 0x100>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
interrupts = <0 33 0x4>; /* Level high type */
|
||||
};
|
||||
|
||||
cluster1_core0_watchdog: wdt@c000000 {
|
||||
compatible = "arm,sp805-wdt", "arm,primecell";
|
||||
reg = <0x0 0xc000000 0x0 0x1000>;
|
||||
clocks = <&clockgen 4 3>, <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
clock-names = "wdog_clk", "apb_pclk";
|
||||
};
|
||||
|
||||
cluster1_core1_watchdog: wdt@c010000 {
|
||||
compatible = "arm,sp805-wdt", "arm,primecell";
|
||||
reg = <0x0 0xc010000 0x0 0x1000>;
|
||||
clocks = <&clockgen 4 3>, <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
clock-names = "wdog_clk", "apb_pclk";
|
||||
};
|
||||
|
||||
cluster2_core0_watchdog: wdt@c100000 {
|
||||
compatible = "arm,sp805-wdt", "arm,primecell";
|
||||
reg = <0x0 0xc100000 0x0 0x1000>;
|
||||
clocks = <&clockgen 4 3>, <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
clock-names = "wdog_clk", "apb_pclk";
|
||||
};
|
||||
|
||||
cluster2_core1_watchdog: wdt@c110000 {
|
||||
compatible = "arm,sp805-wdt", "arm,primecell";
|
||||
reg = <0x0 0xc110000 0x0 0x1000>;
|
||||
clocks = <&clockgen 4 3>, <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
clock-names = "wdog_clk", "apb_pclk";
|
||||
};
|
||||
|
||||
cluster3_core0_watchdog: wdt@c200000 {
|
||||
compatible = "arm,sp805-wdt", "arm,primecell";
|
||||
reg = <0x0 0xc200000 0x0 0x1000>;
|
||||
clocks = <&clockgen 4 3>, <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
clock-names = "wdog_clk", "apb_pclk";
|
||||
};
|
||||
|
||||
cluster3_core1_watchdog: wdt@c210000 {
|
||||
compatible = "arm,sp805-wdt", "arm,primecell";
|
||||
reg = <0x0 0xc210000 0x0 0x1000>;
|
||||
clocks = <&clockgen 4 3>, <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
clock-names = "wdog_clk", "apb_pclk";
|
||||
};
|
||||
|
||||
cluster4_core0_watchdog: wdt@c300000 {
|
||||
compatible = "arm,sp805-wdt", "arm,primecell";
|
||||
reg = <0x0 0xc300000 0x0 0x1000>;
|
||||
clocks = <&clockgen 4 3>, <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
clock-names = "wdog_clk", "apb_pclk";
|
||||
};
|
||||
|
||||
cluster4_core1_watchdog: wdt@c310000 {
|
||||
compatible = "arm,sp805-wdt", "arm,primecell";
|
||||
reg = <0x0 0xc310000 0x0 0x1000>;
|
||||
clocks = <&clockgen 4 3>, <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
clock-names = "wdog_clk", "apb_pclk";
|
||||
};
|
||||
|
||||
|
@ -453,7 +513,8 @@
|
|||
ptp-timer@8b95000 {
|
||||
compatible = "fsl,dpaa2-ptp";
|
||||
reg = <0x0 0x8b95000 0x0 0x100>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
little-endian;
|
||||
fsl,extts-fifo;
|
||||
};
|
||||
|
@ -864,7 +925,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2100000 0x0 0x10000>;
|
||||
interrupts = <0 26 0x4>; /* Level high type */
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
clock-names = "dspi";
|
||||
spi-num-chipselects = <5>;
|
||||
bus-num = <0>;
|
||||
|
@ -875,7 +937,8 @@
|
|||
compatible = "fsl,ls2080a-esdhc", "fsl,esdhc";
|
||||
reg = <0x0 0x2140000 0x0 0x10000>;
|
||||
interrupts = <0 28 0x4>; /* Level high type */
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
voltage-ranges = <1800 1800 3300 3300>;
|
||||
sdhci,auto-cmd12;
|
||||
little-endian;
|
||||
|
@ -934,7 +997,8 @@
|
|||
reg = <0x0 0x2000000 0x0 0x10000>;
|
||||
interrupts = <0 34 0x4>; /* Level high type */
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
};
|
||||
|
||||
i2c1: i2c@2010000 {
|
||||
|
@ -945,7 +1009,8 @@
|
|||
reg = <0x0 0x2010000 0x0 0x10000>;
|
||||
interrupts = <0 34 0x4>; /* Level high type */
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
};
|
||||
|
||||
i2c2: i2c@2020000 {
|
||||
|
@ -956,7 +1021,8 @@
|
|||
reg = <0x0 0x2020000 0x0 0x10000>;
|
||||
interrupts = <0 35 0x4>; /* Level high type */
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
};
|
||||
|
||||
i2c3: i2c@2030000 {
|
||||
|
@ -967,7 +1033,8 @@
|
|||
reg = <0x0 0x2030000 0x0 0x10000>;
|
||||
interrupts = <0 35 0x4>; /* Level high type */
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
};
|
||||
|
||||
ifc: ifc@2240000 {
|
||||
|
@ -991,7 +1058,10 @@
|
|||
<0x0 0x20000000 0x0 0x10000000>;
|
||||
reg-names = "QuadSPI", "QuadSPI-memory";
|
||||
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>, <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
clock-names = "qspi_en", "qspi";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -1089,7 +1159,8 @@
|
|||
compatible = "fsl,ls2080a-ahci";
|
||||
reg = <0x0 0x3200000 0x0 0x10000>;
|
||||
interrupts = <0 133 0x4>; /* Level high type */
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
dma-coherent;
|
||||
};
|
||||
|
||||
|
@ -1098,7 +1169,8 @@
|
|||
compatible = "fsl,ls2080a-ahci";
|
||||
reg = <0x0 0x3210000 0x0 0x10000>;
|
||||
interrupts = <0 136 0x4>; /* Level high type */
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
dma-coherent;
|
||||
};
|
||||
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
|
||||
rgmii_phy1: ethernet-phy@1 {
|
||||
reg = <1>;
|
||||
qca,smarteee-tw-us-1g = <24>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -134,8 +135,6 @@
|
|||
rtc@51 {
|
||||
compatible = "nxp,pcf2129";
|
||||
reg = <0x51>;
|
||||
// IRQ10_B
|
||||
interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
/dts-v1/;
|
||||
|
||||
#include "fsl-lx2160a-cex7.dtsi"
|
||||
#include <dt-bindings/input/linux-event-codes.h>
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
|
@ -18,6 +19,17 @@
|
|||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
key {
|
||||
label = "power";
|
||||
linux,can-disable;
|
||||
linux,code = <KEY_POWER>;
|
||||
gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&emdio2 {
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
|
||||
aliases {
|
||||
crypto = &crypto;
|
||||
mmc0 = &esdhc0;
|
||||
mmc1 = &esdhc1;
|
||||
serial0 = &uart0;
|
||||
};
|
||||
|
||||
|
@ -31,6 +33,14 @@
|
|||
};
|
||||
};
|
||||
|
||||
&can0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&can1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&crypto {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
//
|
||||
// Device Tree file for LX2160ARDB
|
||||
//
|
||||
// Copyright 2018 NXP
|
||||
// Copyright 2018-2020 NXP
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
|
@ -14,6 +14,8 @@
|
|||
|
||||
aliases {
|
||||
crypto = &crypto;
|
||||
mmc0 = &esdhc0;
|
||||
mmc1 = &esdhc1;
|
||||
serial0 = &uart0;
|
||||
};
|
||||
|
||||
|
@ -87,6 +89,22 @@
|
|||
};
|
||||
};
|
||||
|
||||
&can0 {
|
||||
status = "okay";
|
||||
|
||||
can-transceiver {
|
||||
max-bitrate = <5000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&can1 {
|
||||
status = "okay";
|
||||
|
||||
can-transceiver {
|
||||
max-bitrate = <5000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&esdhc0 {
|
||||
sd-uhs-sdr104;
|
||||
sd-uhs-sdr50;
|
||||
|
@ -175,8 +193,8 @@
|
|||
rtc@51 {
|
||||
compatible = "nxp,pcf2129";
|
||||
reg = <0x51>;
|
||||
// IRQ10_B
|
||||
interrupts = <0 150 0x4>;
|
||||
/* IRQ_RTC_B -> IRQ08, active low */
|
||||
interrupts-extended = <&extirq 8 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
//
|
||||
// Copyright 2018-2020 NXP
|
||||
|
||||
#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
|
@ -30,7 +31,7 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
enable-method = "psci";
|
||||
reg = <0x0>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>;
|
||||
|
@ -47,7 +48,7 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
enable-method = "psci";
|
||||
reg = <0x1>;
|
||||
clocks = <&clockgen 1 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 0>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>;
|
||||
|
@ -64,7 +65,7 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
enable-method = "psci";
|
||||
reg = <0x100>;
|
||||
clocks = <&clockgen 1 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 1>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>;
|
||||
|
@ -81,7 +82,7 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
enable-method = "psci";
|
||||
reg = <0x101>;
|
||||
clocks = <&clockgen 1 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 1>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>;
|
||||
|
@ -98,7 +99,7 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
enable-method = "psci";
|
||||
reg = <0x200>;
|
||||
clocks = <&clockgen 1 2>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 2>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>;
|
||||
|
@ -115,7 +116,7 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
enable-method = "psci";
|
||||
reg = <0x201>;
|
||||
clocks = <&clockgen 1 2>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 2>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>;
|
||||
|
@ -132,7 +133,7 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
enable-method = "psci";
|
||||
reg = <0x300>;
|
||||
clocks = <&clockgen 1 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 3>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>;
|
||||
|
@ -149,7 +150,7 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
enable-method = "psci";
|
||||
reg = <0x301>;
|
||||
clocks = <&clockgen 1 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 3>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>;
|
||||
|
@ -166,7 +167,7 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
enable-method = "psci";
|
||||
reg = <0x400>;
|
||||
clocks = <&clockgen 1 4>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 4>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>;
|
||||
|
@ -183,7 +184,7 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
enable-method = "psci";
|
||||
reg = <0x401>;
|
||||
clocks = <&clockgen 1 4>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 4>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>;
|
||||
|
@ -200,7 +201,7 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
enable-method = "psci";
|
||||
reg = <0x500>;
|
||||
clocks = <&clockgen 1 5>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 5>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>;
|
||||
|
@ -217,7 +218,7 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
enable-method = "psci";
|
||||
reg = <0x501>;
|
||||
clocks = <&clockgen 1 5>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 5>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>;
|
||||
|
@ -234,7 +235,7 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
enable-method = "psci";
|
||||
reg = <0x600>;
|
||||
clocks = <&clockgen 1 6>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 6>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>;
|
||||
|
@ -251,7 +252,7 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
enable-method = "psci";
|
||||
reg = <0x601>;
|
||||
clocks = <&clockgen 1 6>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 6>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>;
|
||||
|
@ -268,7 +269,7 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
enable-method = "psci";
|
||||
reg = <0x700>;
|
||||
clocks = <&clockgen 1 7>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 7>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>;
|
||||
|
@ -285,7 +286,7 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
enable-method = "psci";
|
||||
reg = <0x701>;
|
||||
clocks = <&clockgen 1 7>;
|
||||
clocks = <&clockgen QORIQ_CLK_CMUX 7>;
|
||||
d-cache-size = <0x8000>;
|
||||
d-cache-line-size = <64>;
|
||||
d-cache-sets = <128>;
|
||||
|
@ -664,6 +665,37 @@
|
|||
little-endian;
|
||||
};
|
||||
|
||||
isc: syscon@1f70000 {
|
||||
compatible = "fsl,lx2160a-isc", "syscon";
|
||||
reg = <0x0 0x1f70000 0x0 0x10000>;
|
||||
little-endian;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x0 0x1f70000 0x10000>;
|
||||
|
||||
extirq: interrupt-controller@14 {
|
||||
compatible = "fsl,lx2160a-extirq", "fsl,ls1088a-extirq";
|
||||
#interrupt-cells = <2>;
|
||||
#address-cells = <0>;
|
||||
interrupt-controller;
|
||||
reg = <0x14 4>;
|
||||
interrupt-map =
|
||||
<0 0 &gic GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<1 0 &gic GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<2 0 &gic GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<3 0 &gic GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<4 0 &gic GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<5 0 &gic GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<6 0 &gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<7 0 &gic GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<8 0 &gic GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<9 0 &gic GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<10 0 &gic GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<11 0 &gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-map-mask = <0xffffffff 0x0>;
|
||||
};
|
||||
};
|
||||
|
||||
tmu: tmu@1f80000 {
|
||||
compatible = "fsl,qoriq-tmu";
|
||||
reg = <0x0 0x1f80000 0x0 0x10000>;
|
||||
|
@ -685,7 +717,8 @@
|
|||
reg = <0x0 0x2000000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen 4 15>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>;
|
||||
scl-gpio = <&gpio2 15 GPIO_ACTIVE_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -697,7 +730,8 @@
|
|||
reg = <0x0 0x2010000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen 4 15>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -708,7 +742,8 @@
|
|||
reg = <0x0 0x2020000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen 4 15>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -719,7 +754,8 @@
|
|||
reg = <0x0 0x2030000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen 4 15>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -730,7 +766,8 @@
|
|||
reg = <0x0 0x2040000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen 4 15>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>;
|
||||
scl-gpio = <&gpio2 16 GPIO_ACTIVE_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -742,7 +779,8 @@
|
|||
reg = <0x0 0x2050000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen 4 15>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -753,7 +791,8 @@
|
|||
reg = <0x0 0x2060000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen 4 15>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -764,7 +803,8 @@
|
|||
reg = <0x0 0x2070000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "i2c";
|
||||
clocks = <&clockgen 4 15>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(16)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -776,7 +816,10 @@
|
|||
<0x0 0x20000000 0x0 0x10000000>;
|
||||
reg-names = "fspi_base", "fspi_mmap";
|
||||
interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>, <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>,
|
||||
<&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
clock-names = "fspi_en", "fspi";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -787,7 +830,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2100000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 7>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(8)>;
|
||||
clock-names = "dspi";
|
||||
spi-num-chipselects = <5>;
|
||||
bus-num = <0>;
|
||||
|
@ -800,7 +844,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2110000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 7>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(8)>;
|
||||
clock-names = "dspi";
|
||||
spi-num-chipselects = <5>;
|
||||
bus-num = <1>;
|
||||
|
@ -813,7 +858,8 @@
|
|||
#size-cells = <0>;
|
||||
reg = <0x0 0x2120000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 7>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(8)>;
|
||||
clock-names = "dspi";
|
||||
spi-num-chipselects = <5>;
|
||||
bus-num = <2>;
|
||||
|
@ -824,7 +870,8 @@
|
|||
compatible = "fsl,esdhc";
|
||||
reg = <0x0 0x2140000 0x0 0x10000>;
|
||||
interrupts = <0 28 0x4>; /* Level high type */
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
dma-coherent;
|
||||
voltage-ranges = <1800 1800 3300 3300>;
|
||||
sdhci,auto-cmd12;
|
||||
|
@ -837,7 +884,8 @@
|
|||
compatible = "fsl,esdhc";
|
||||
reg = <0x0 0x2150000 0x0 0x10000>;
|
||||
interrupts = <0 63 0x4>; /* Level high type */
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
dma-coherent;
|
||||
voltage-ranges = <1800 1800 3300 3300>;
|
||||
sdhci,auto-cmd12;
|
||||
|
@ -847,6 +895,30 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
can0: can@2180000 {
|
||||
compatible = "fsl,lx2160ar1-flexcan";
|
||||
reg = <0x0 0x2180000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(8)>,
|
||||
<&clockgen QORIQ_CLK_SYSCLK 0>;
|
||||
clock-names = "ipg", "per";
|
||||
fsl,clk-source = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
can1: can@2190000 {
|
||||
compatible = "fsl,lx2160ar1-flexcan";
|
||||
reg = <0x0 0x2190000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(8)>,
|
||||
<&clockgen QORIQ_CLK_SYSCLK 0>;
|
||||
clock-names = "ipg", "per";
|
||||
fsl,clk-source = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart0: serial@21c0000 {
|
||||
compatible = "arm,sbsa-uart","arm,pl011";
|
||||
reg = <0x0 0x21c0000 0x0 0x1000>;
|
||||
|
@ -973,7 +1045,8 @@
|
|||
<0x7 0x100520 0x0 0x4>;
|
||||
reg-names = "ahci", "sata-ecc";
|
||||
interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
dma-coherent;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -984,7 +1057,8 @@
|
|||
<0x7 0x100520 0x0 0x4>;
|
||||
reg-names = "ahci", "sata-ecc";
|
||||
interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
dma-coherent;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -995,7 +1069,8 @@
|
|||
<0x7 0x100520 0x0 0x4>;
|
||||
reg-names = "ahci", "sata-ecc";
|
||||
interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
dma-coherent;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -1006,7 +1081,8 @@
|
|||
<0x7 0x100520 0x0 0x4>;
|
||||
reg-names = "ahci", "sata-ecc";
|
||||
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 4 3>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(4)>;
|
||||
dma-coherent;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -1279,7 +1355,8 @@
|
|||
ptp-timer@8b95000 {
|
||||
compatible = "fsl,dpaa2-ptp";
|
||||
reg = <0x0 0x8b95000 0x0 0x100>;
|
||||
clocks = <&clockgen 4 1>;
|
||||
clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL
|
||||
QORIQ_CLK_PLL_DIV(2)>;
|
||||
little-endian;
|
||||
fsl,extts-fifo;
|
||||
};
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
|
||||
aliases {
|
||||
crypto = &crypto;
|
||||
mmc0 = &esdhc0;
|
||||
mmc1 = &esdhc1;
|
||||
serial0 = &uart0;
|
||||
};
|
||||
|
||||
|
|
|
@ -102,7 +102,6 @@
|
|||
compatible = "wlf,wm8962";
|
||||
reg = <0x1a>;
|
||||
clocks = <&clk IMX8MM_CLK_SAI3_ROOT>;
|
||||
clock-names = "xclk";
|
||||
DCVDD-supply = <®_audio>;
|
||||
DBVDD-supply = <®_audio>;
|
||||
AVDD-supply = <®_audio>;
|
||||
|
|
|
@ -256,8 +256,10 @@
|
|||
&usdhc1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-names = "default";
|
||||
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;
|
||||
cap-power-off-card;
|
||||
|
|
|
@ -0,0 +1,393 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Device Tree file for Boundary Devices i.MX8MMini Nitrogen8MM Rev2 board.
|
||||
* Adrien Grassein <adrien.grassein@gmail.com.com>
|
||||
*/
|
||||
/dts-v1/;
|
||||
#include "imx8mm.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Boundary Devices i.MX8MMini Nitrogen8MM Rev2";
|
||||
compatible = "boundary,imx8mm-nitrogen8mm", "fsl,imx8mm";
|
||||
};
|
||||
|
||||
&A53_0 {
|
||||
cpu-supply = <®_buck3>;
|
||||
};
|
||||
|
||||
&A53_1 {
|
||||
cpu-supply = <®_buck3>;
|
||||
};
|
||||
|
||||
&A53_2 {
|
||||
cpu-supply = <®_buck3>;
|
||||
};
|
||||
|
||||
&A53_3 {
|
||||
cpu-supply = <®_buck3>;
|
||||
};
|
||||
|
||||
&fec1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_fec1>;
|
||||
phy-mode = "rgmii-id";
|
||||
phy-handle = <ðphy0>;
|
||||
fsl,magic-packet;
|
||||
status = "okay";
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ethphy0: ethernet-phy@4 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <4>;
|
||||
interrupts-extended = <&gpio3 16 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
clock-frequency = <100000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c1>;
|
||||
status = "okay";
|
||||
|
||||
pmic@8 {
|
||||
compatible = "nxp,pf8121a";
|
||||
reg = <0x8>;
|
||||
|
||||
regulators {
|
||||
reg_ldo1: ldo1 {
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_ldo2: ldo2 {
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_ldo3: ldo3 {
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_ldo4: ldo4 {
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_buck1: buck1 {
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_buck2: buck2 {
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_buck3: buck3 {
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_buck4: buck4 {
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_buck5: buck5 {
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_buck6: buck6 {
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_buck7: buck7 {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_vsnvs: vsnvs {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
clock-frequency = <100000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c3>;
|
||||
status = "okay";
|
||||
|
||||
i2cmux@70 {
|
||||
compatible = "nxp,pca9540";
|
||||
reg = <0x70>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
i2c3 {
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
rtc@68 {
|
||||
compatible = "microcrystal,rv4162";
|
||||
reg = <0x68>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c3a_rv4162>;
|
||||
interrupts-extended = <&gpio4 22 IRQ_TYPE_LEVEL_LOW>;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* console */
|
||||
&uart2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart2>;
|
||||
assigned-clocks = <&clk IMX8MM_CLK_UART2>;
|
||||
assigned-clock-parents = <&clk IMX8MM_CLK_24M>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* eMMC */
|
||||
&usdhc1 {
|
||||
bus-width = <8>;
|
||||
sdhci-caps-mask = <0x80000000 0x0>;
|
||||
non-removable;
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc1>;
|
||||
pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
|
||||
pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* sdcard */
|
||||
&usdhc2 {
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc2>;
|
||||
pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
|
||||
pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
|
||||
vqmmc-supply = <®_ldo2>;
|
||||
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_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_NAND_READY_B_GPIO3_IO16 0x159
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_hog: hoggrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x09
|
||||
MX8MM_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x09
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c1: i2c1grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL 0x400001c3
|
||||
MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA 0x400001c3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c3: i2c3grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3
|
||||
MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c3a_rv4162: i2c3a-rv4162grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI2_RXC_GPIO4_IO22 0x1c0
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart2: uart2grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX 0x140
|
||||
MX8MM_IOMUXC_UART2_TXD_UART2_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_GPIO2_IO10 0x141
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc1_100mhz: usdhc1-100mhz-grp {
|
||||
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
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc1_200mhz: usdhc1-200mhz-grp {
|
||||
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
|
||||
>;
|
||||
};
|
||||
|
||||
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 0x1c4
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2_100mhz: usdhc2-100mhz-grp {
|
||||
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-200mhz-grp {
|
||||
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_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_GPIO1_IO00_ANAMIX_REF_CLK_32K 0x03
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc3_100mhz: usdhc3-100mhz-grp {
|
||||
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
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc3_200mhz: usdhc3-200mhz-grp {
|
||||
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
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_wdog: wdoggrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0x140
|
||||
>;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,495 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright 2020 Gateworks Corporation
|
||||
*/
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/linux-event-codes.h>
|
||||
#include <dt-bindings/net/ti-dp83867.h>
|
||||
|
||||
/ {
|
||||
memory@40000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x40000000 0 0x80000000>;
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
user-pb {
|
||||
label = "user_pb";
|
||||
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <BTN_0>;
|
||||
};
|
||||
|
||||
user-pb1x {
|
||||
label = "user_pb1x";
|
||||
linux,code = <BTN_1>;
|
||||
interrupt-parent = <&gsc>;
|
||||
interrupts = <0>;
|
||||
};
|
||||
|
||||
key-erased {
|
||||
label = "key_erased";
|
||||
linux,code = <BTN_2>;
|
||||
interrupt-parent = <&gsc>;
|
||||
interrupts = <1>;
|
||||
};
|
||||
|
||||
eeprom-wp {
|
||||
label = "eeprom_wp";
|
||||
linux,code = <BTN_3>;
|
||||
interrupt-parent = <&gsc>;
|
||||
interrupts = <2>;
|
||||
};
|
||||
|
||||
tamper {
|
||||
label = "tamper";
|
||||
linux,code = <BTN_4>;
|
||||
interrupt-parent = <&gsc>;
|
||||
interrupts = <5>;
|
||||
};
|
||||
|
||||
switch-hold {
|
||||
label = "switch_hold";
|
||||
linux,code = <BTN_5>;
|
||||
interrupt-parent = <&gsc>;
|
||||
interrupts = <7>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&A53_0 {
|
||||
cpu-supply = <&buck3_reg>;
|
||||
};
|
||||
|
||||
&A53_1 {
|
||||
cpu-supply = <&buck3_reg>;
|
||||
};
|
||||
|
||||
&A53_2 {
|
||||
cpu-supply = <&buck3_reg>;
|
||||
};
|
||||
|
||||
&A53_3 {
|
||||
cpu-supply = <&buck3_reg>;
|
||||
};
|
||||
|
||||
&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>;
|
||||
status = "okay";
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ethphy0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
|
||||
ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
|
||||
tx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
|
||||
rx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&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 = <&gpio2>;
|
||||
interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
adc {
|
||||
compatible = "gw,gsc-adc";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
channel@6 {
|
||||
gw,mode = <0>;
|
||||
reg = <0x06>;
|
||||
label = "temp";
|
||||
};
|
||||
|
||||
channel@8 {
|
||||
gw,mode = <1>;
|
||||
reg = <0x08>;
|
||||
label = "vdd_bat";
|
||||
};
|
||||
|
||||
channel@16 {
|
||||
gw,mode = <4>;
|
||||
reg = <0x16>;
|
||||
label = "fan_tach";
|
||||
};
|
||||
|
||||
channel@82 {
|
||||
gw,mode = <2>;
|
||||
reg = <0x82>;
|
||||
label = "vdd_vin";
|
||||
gw,voltage-divider-ohms = <22100 1000>;
|
||||
};
|
||||
|
||||
channel@84 {
|
||||
gw,mode = <2>;
|
||||
reg = <0x84>;
|
||||
label = "vdd_adc1";
|
||||
gw,voltage-divider-ohms = <10000 10000>;
|
||||
};
|
||||
|
||||
channel@86 {
|
||||
gw,mode = <2>;
|
||||
reg = <0x86>;
|
||||
label = "vdd_adc2";
|
||||
gw,voltage-divider-ohms = <10000 10000>;
|
||||
};
|
||||
|
||||
channel@88 {
|
||||
gw,mode = <2>;
|
||||
reg = <0x88>;
|
||||
label = "vdd_dram";
|
||||
};
|
||||
|
||||
channel@8c {
|
||||
gw,mode = <2>;
|
||||
reg = <0x8c>;
|
||||
label = "vdd_1p2";
|
||||
};
|
||||
|
||||
channel@8e {
|
||||
gw,mode = <2>;
|
||||
reg = <0x8e>;
|
||||
label = "vdd_1p0";
|
||||
};
|
||||
|
||||
channel@90 {
|
||||
gw,mode = <2>;
|
||||
reg = <0x90>;
|
||||
label = "vdd_2p5";
|
||||
gw,voltage-divider-ohms = <10000 10000>;
|
||||
};
|
||||
|
||||
channel@92 {
|
||||
gw,mode = <2>;
|
||||
reg = <0x92>;
|
||||
label = "vdd_3p3";
|
||||
gw,voltage-divider-ohms = <10000 10000>;
|
||||
};
|
||||
|
||||
channel@98 {
|
||||
gw,mode = <2>;
|
||||
reg = <0x98>;
|
||||
label = "vdd_0p95";
|
||||
};
|
||||
|
||||
channel@9a {
|
||||
gw,mode = <2>;
|
||||
reg = <0x9a>;
|
||||
label = "vdd_1p8";
|
||||
};
|
||||
|
||||
channel@a2 {
|
||||
gw,mode = <2>;
|
||||
reg = <0xa2>;
|
||||
label = "vdd_gsc";
|
||||
gw,voltage-divider-ohms = <10000 10000>;
|
||||
};
|
||||
};
|
||||
|
||||
fan-controller@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "gw,gsc-fan";
|
||||
reg = <0x0a>;
|
||||
};
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
|
||||
pmic@69 {
|
||||
compatible = "mps,mp5416";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pmic>;
|
||||
reg = <0x69>;
|
||||
|
||||
regulators {
|
||||
buck1 {
|
||||
regulator-name = "vdd_0p95";
|
||||
regulator-min-microvolt = <805000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
regulator-max-microamp = <2500000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
buck2 {
|
||||
regulator-name = "vdd_soc";
|
||||
regulator-min-microvolt = <805000>;
|
||||
regulator-max-microvolt = <900000>;
|
||||
regulator-max-microamp = <1000000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
buck3_reg: buck3 {
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-min-microvolt = <805000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
regulator-max-microamp = <2200000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
buck4 {
|
||||
regulator-name = "vdd_1p8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-max-microamp = <500000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo1 {
|
||||
regulator-name = "nvcc_snvs_1p8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-max-microamp = <300000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo2 {
|
||||
regulator-name = "vdd_snvs_0p8";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <800000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo3 {
|
||||
regulator-name = "vdd_0p95";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <800000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo4 {
|
||||
regulator-name = "vdd_1p8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c2>;
|
||||
status = "okay";
|
||||
|
||||
eeprom@52 {
|
||||
compatible = "atmel,24c32";
|
||||
reg = <0x52>;
|
||||
pagesize = <32>;
|
||||
};
|
||||
};
|
||||
|
||||
/* console */
|
||||
&uart2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart2>;
|
||||
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_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_NAND_ALE_GPIO3_IO0 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_gsc: gscgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SD1_DATA4_GPIO2_IO6 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_pmic: pmicgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart2: uart2grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX 0x140
|
||||
MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX 0x140
|
||||
>;
|
||||
};
|
||||
|
||||
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
|
||||
>;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,19 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright 2020 Gateworks Corporation
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx8mm.dtsi"
|
||||
#include "imx8mm-venice-gw700x.dtsi"
|
||||
#include "imx8mm-venice-gw71xx.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Gateworks Venice GW71xx-0x i.MX8MM Development Kit";
|
||||
compatible = "gw,imx8mm-gw71xx-0x", "fsl,imx8mm";
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart2;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,186 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright 2020 Gateworks Corporation
|
||||
*/
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
usb0 = &usbotg1;
|
||||
usb1 = &usbotg2;
|
||||
};
|
||||
|
||||
led-controller {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio_leds>;
|
||||
|
||||
led-0 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "on";
|
||||
linux,default-trigger = "heartbeat";
|
||||
};
|
||||
|
||||
led-1 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
gpios = <&gpio5 4 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
};
|
||||
|
||||
pps {
|
||||
compatible = "pps-gpio";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pps>;
|
||||
gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
reg_usb_otg1_vbus: regulator-usb-otg1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_reg_usb1_en>;
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb_otg1_vbus";
|
||||
gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
};
|
||||
|
||||
/* off-board header */
|
||||
&ecspi2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_spi2>;
|
||||
cs-gpios = <&gpio5 13 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c2>;
|
||||
status = "okay";
|
||||
|
||||
accelerometer@19 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_accel>;
|
||||
compatible = "st,lis2de12";
|
||||
reg = <0x19>;
|
||||
st,drdy-int-pin = <1>;
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-names = "INT1";
|
||||
};
|
||||
};
|
||||
|
||||
/* off-board header */
|
||||
&i2c3 {
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* GPS */
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* off-board header */
|
||||
&uart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbotg1 {
|
||||
dr_mode = "otg";
|
||||
vbus-supply = <®_usb_otg1_vbus>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbotg2 {
|
||||
dr_mode = "host";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_hog>;
|
||||
|
||||
pinctrl_hog: hoggrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SPDIF_TX_GPIO5_IO3 0x40000041 /* PLUG_TEST */
|
||||
MX8MM_IOMUXC_GPIO1_IO06_GPIO1_IO6 0x40000041 /* PCI_USBSEL */
|
||||
MX8MM_IOMUXC_SAI1_RXD5_GPIO4_IO7 0x40000041 /* PCIE_WDIS# */
|
||||
MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x40000041 /* DIO0 */
|
||||
MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x40000041 /* DIO1 */
|
||||
MX8MM_IOMUXC_SAI1_RXD1_GPIO4_IO3 0x40000041 /* DIO2 */
|
||||
MX8MM_IOMUXC_SAI1_RXD2_GPIO4_IO4 0x40000041 /* DIO2 */
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_accel: accelgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI1_RXD3_GPIO4_IO5 0x159
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_gpio_leds: gpioledgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SPDIF_EXT_CLK_GPIO5_IO5 0x19
|
||||
MX8MM_IOMUXC_SPDIF_RX_GPIO5_IO4 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c3: i2c3grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3
|
||||
MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pps: ppsgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO15_GPIO1_IO15 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_reg_usb1_en: regusb1grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO12_GPIO1_IO12 0x41
|
||||
MX8MM_IOMUXC_GPIO1_IO13_USB1_OTG_OC 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_spi2: spi2grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0xd6
|
||||
MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0xd6
|
||||
MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0xd6
|
||||
MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0xd6
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart1: uart1grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_UART1_RXD_UART1_DCE_RX 0x140
|
||||
MX8MM_IOMUXC_UART1_TXD_UART1_DCE_TX 0x140
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart3: uart3grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_UART3_RXD_UART3_DCE_RX 0x140
|
||||
MX8MM_IOMUXC_UART3_TXD_UART3_DCE_TX 0x140
|
||||
>;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,20 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright 2020 Gateworks Corporation
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx8mm.dtsi"
|
||||
#include "imx8mm-venice-gw700x.dtsi"
|
||||
#include "imx8mm-venice-gw72xx.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Gateworks Venice GW72xx-0x i.MX8MM Development Kit";
|
||||
compatible = "gw,imx8mm-gw72xx-0x", "fsl,imx8mm";
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart2;
|
||||
};
|
||||
};
|
||||
|
|
@ -0,0 +1,311 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright 2020 Gateworks Corporation
|
||||
*/
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
usb0 = &usbotg1;
|
||||
usb1 = &usbotg2;
|
||||
};
|
||||
|
||||
led-controller {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio_leds>;
|
||||
|
||||
led-0 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "on";
|
||||
linux,default-trigger = "heartbeat";
|
||||
};
|
||||
|
||||
led-1 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
gpios = <&gpio5 4 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
};
|
||||
|
||||
pps {
|
||||
compatible = "pps-gpio";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pps>;
|
||||
gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
reg_3p3v: regulator-3p3v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "3P3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_usb_otg1_vbus: regulator-usb-otg1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_reg_usb1_en>;
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb_otg1_vbus";
|
||||
gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
reg_usb_otg2_vbus: regulator-usb-otg2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_reg_usb2_en>;
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb_otg2_vbus";
|
||||
gpio = <&gpio1 8 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
};
|
||||
|
||||
/* off-board header */
|
||||
&ecspi2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_spi2>;
|
||||
cs-gpios = <&gpio5 13 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c2>;
|
||||
status = "okay";
|
||||
|
||||
accelerometer@19 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_accel>;
|
||||
compatible = "st,lis2de12";
|
||||
reg = <0x19>;
|
||||
st,drdy-int-pin = <1>;
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-names = "INT1";
|
||||
};
|
||||
};
|
||||
|
||||
/* off-board header */
|
||||
&i2c3 {
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* off-board header */
|
||||
&sai3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sai3>;
|
||||
assigned-clocks = <&clk IMX8MM_CLK_SAI3>;
|
||||
assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
|
||||
assigned-clock-rates = <24576000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* GPS */
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* off-board header */
|
||||
&uart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* RS232 */
|
||||
&uart4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbotg1 {
|
||||
dr_mode = "otg";
|
||||
vbus-supply = <®_usb_otg1_vbus>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbotg2 {
|
||||
dr_mode = "host";
|
||||
vbus-supply = <®_usb_otg2_vbus>;
|
||||
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";
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_hog>;
|
||||
|
||||
pinctrl_hog: hoggrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SPDIF_TX_GPIO5_IO3 0x40000041 /* PLUG_TEST */
|
||||
MX8MM_IOMUXC_GPIO1_IO06_GPIO1_IO6 0x40000041 /* PCI_USBSEL */
|
||||
MX8MM_IOMUXC_SAI1_RXD5_GPIO4_IO7 0x40000041 /* PCIE_WDIS# */
|
||||
MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x40000041 /* DIO0 */
|
||||
MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x40000041 /* DIO1 */
|
||||
MX8MM_IOMUXC_GPIO1_IO00_GPIO1_IO0 0x40000104 /* RS485_TERM */
|
||||
MX8MM_IOMUXC_SAI1_RXFS_GPIO4_IO0 0x40000104 /* RS485 */
|
||||
MX8MM_IOMUXC_SAI1_RXD0_GPIO4_IO2 0x40000104 /* RS485_HALF */
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_accel: accelgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI1_RXD3_GPIO4_IO5 0x159
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_gpio_leds: gpioledgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SPDIF_EXT_CLK_GPIO5_IO5 0x19
|
||||
MX8MM_IOMUXC_SPDIF_RX_GPIO5_IO4 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c3: i2c3grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3
|
||||
MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pps: ppsgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO15_GPIO1_IO15 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_reg_usb1_en: regusb1grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO12_GPIO1_IO12 0x41
|
||||
MX8MM_IOMUXC_GPIO1_IO13_USB1_OTG_OC 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_reg_usb2_en: regusb2grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_sai3: sai3grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6
|
||||
MX8MM_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6
|
||||
MX8MM_IOMUXC_SAI3_MCLK_SAI3_MCLK 0xd6
|
||||
MX8MM_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6
|
||||
MX8MM_IOMUXC_SAI3_RXD_SAI3_RX_DATA0 0xd6
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_spi2: spi2grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0xd6
|
||||
MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0xd6
|
||||
MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0xd6
|
||||
MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0xd6
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart1: uart1grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_UART1_RXD_UART1_DCE_RX 0x140
|
||||
MX8MM_IOMUXC_UART1_TXD_UART1_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_uart4: uart4grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_UART4_RXD_UART4_DCE_RX 0x140
|
||||
MX8MM_IOMUXC_UART4_TXD_UART4_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
|
||||
>;
|
||||
};
|
||||
|
||||
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: usdhc2gpiogrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x1c4
|
||||
MX8MM_IOMUXC_SD2_RESET_B_USDHC2_RESET_B 0x1d0
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0
|
||||
>;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,19 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright 2020 Gateworks Corporation
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx8mm.dtsi"
|
||||
#include "imx8mm-venice-gw700x.dtsi"
|
||||
#include "imx8mm-venice-gw73xx.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Gateworks Venice GW73xx-0x i.MX8MM Development Kit";
|
||||
compatible = "gw,imx8mm-gw73xx-0x", "fsl,imx8mm";
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart2;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,362 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright 2020 Gateworks Corporation
|
||||
*/
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
usb0 = &usbotg1;
|
||||
usb1 = &usbotg2;
|
||||
};
|
||||
|
||||
led-controller {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio_leds>;
|
||||
|
||||
led-0 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "on";
|
||||
linux,default-trigger = "heartbeat";
|
||||
};
|
||||
|
||||
led-1 {
|
||||
function = LED_FUNCTION_STATUS;
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
gpios = <&gpio5 4 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
};
|
||||
|
||||
pps {
|
||||
compatible = "pps-gpio";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pps>;
|
||||
gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
reg_1p8v: regulator-1p8v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "1P8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_3p3v: regulator-3p3v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "3P3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_usb_otg1_vbus: regulator-usb-otg1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_reg_usb1_en>;
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb_otg1_vbus";
|
||||
gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
reg_usb_otg2_vbus: regulator-usb-otg2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_reg_usb2_en>;
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb_otg2_vbus";
|
||||
gpio = <&gpio1 8 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
reg_wifi_en: regulator-wifi-en {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_reg_wl>;
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "wl";
|
||||
gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
|
||||
startup-delay-us = <100>;
|
||||
enable-active-high;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
/* off-board header */
|
||||
&ecspi2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_spi2>;
|
||||
cs-gpios = <&gpio5 13 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c2>;
|
||||
status = "okay";
|
||||
|
||||
accelerometer@19 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_accel>;
|
||||
compatible = "st,lis2de12";
|
||||
reg = <0x19>;
|
||||
st,drdy-int-pin = <1>;
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-names = "INT1";
|
||||
};
|
||||
};
|
||||
|
||||
/* off-board header */
|
||||
&i2c3 {
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* off-board header */
|
||||
&sai3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sai3>;
|
||||
assigned-clocks = <&clk IMX8MM_CLK_SAI3>;
|
||||
assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
|
||||
assigned-clock-rates = <24576000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* GPS */
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* bluetooth HCI */
|
||||
&uart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart3>, <&pinctrl_bten>;
|
||||
cts-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>;
|
||||
rts-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
|
||||
bluetooth {
|
||||
compatible = "brcm,bcm4330-bt";
|
||||
shutdown-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
/* RS232 */
|
||||
&uart4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbotg1 {
|
||||
dr_mode = "otg";
|
||||
vbus-supply = <®_usb_otg1_vbus>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbotg2 {
|
||||
dr_mode = "host";
|
||||
vbus-supply = <®_usb_otg2_vbus>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SDIO WiFi */
|
||||
&usdhc1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usdhc1>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
vmmc-supply = <®_wifi_en>;
|
||||
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";
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_hog>;
|
||||
|
||||
pinctrl_hog: hoggrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SPDIF_TX_GPIO5_IO3 0x40000041 /* PLUG_TEST */
|
||||
MX8MM_IOMUXC_GPIO1_IO06_GPIO1_IO6 0x40000041 /* PCI_USBSEL */
|
||||
MX8MM_IOMUXC_SAI1_RXD5_GPIO4_IO7 0x40000041 /* PCIE_WDIS# */
|
||||
MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x40000041 /* DIO0 */
|
||||
MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x40000041 /* DIO1 */
|
||||
MX8MM_IOMUXC_GPIO1_IO00_GPIO1_IO0 0x40000104 /* RS485_TERM */
|
||||
MX8MM_IOMUXC_SAI1_RXFS_GPIO4_IO0 0x40000104 /* RS485 */
|
||||
MX8MM_IOMUXC_SAI1_RXD0_GPIO4_IO2 0x40000104 /* RS485_HALF */
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_accel: accelgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI1_RXD3_GPIO4_IO5 0x159
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_bten: btengrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_gpio_leds: gpioledgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SPDIF_EXT_CLK_GPIO5_IO5 0x19
|
||||
MX8MM_IOMUXC_SPDIF_RX_GPIO5_IO4 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c3: i2c3grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3
|
||||
MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pps: ppsgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO15_GPIO1_IO15 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_reg_wl: regwlgrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO05_GPIO1_IO5 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_reg_usb1_en: regusb1grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO12_GPIO1_IO12 0x41
|
||||
MX8MM_IOMUXC_GPIO1_IO13_USB1_OTG_OC 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_reg_usb2_en: regusb2grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_sai3: sai3grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6
|
||||
MX8MM_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6
|
||||
MX8MM_IOMUXC_SAI3_MCLK_SAI3_MCLK 0xd6
|
||||
MX8MM_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6
|
||||
MX8MM_IOMUXC_SAI3_RXD_SAI3_RX_DATA0 0xd6
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_spi2: spi2grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0xd6
|
||||
MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0xd6
|
||||
MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0xd6
|
||||
MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0xd6
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart1: uart1grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_UART1_RXD_UART1_DCE_RX 0x140
|
||||
MX8MM_IOMUXC_UART1_TXD_UART1_DCE_TX 0x140
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart3: uart3grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_UART3_RXD_UART3_DCE_RX 0x140
|
||||
MX8MM_IOMUXC_UART3_TXD_UART3_DCE_TX 0x140
|
||||
MX8MM_IOMUXC_ECSPI1_MISO_GPIO5_IO8 0x140
|
||||
MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x140
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart4: uart4grp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_UART4_RXD_UART4_DCE_RX 0x140
|
||||
MX8MM_IOMUXC_UART4_TXD_UART4_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
|
||||
>;
|
||||
};
|
||||
|
||||
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: usdhc2gpiogrp {
|
||||
fsl,pins = <
|
||||
MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x1c4
|
||||
MX8MM_IOMUXC_SD2_RESET_B_USDHC2_RESET_B 0x1d0
|
||||
MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0
|
||||
>;
|
||||
};
|
||||
};
|
|
@ -257,10 +257,12 @@
|
|||
};
|
||||
|
||||
soc@0 {
|
||||
compatible = "simple-bus";
|
||||
compatible = "fsl,imx8mm-soc", "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x0 0x0 0x3e000000>;
|
||||
nvmem-cells = <&imx8mm_uid>;
|
||||
nvmem-cell-names = "soc_unique_id";
|
||||
|
||||
aips1: bus@30000000 {
|
||||
compatible = "fsl,aips-bus", "simple-bus";
|
||||
|
@ -518,9 +520,17 @@
|
|||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
imx8mm_uid: unique-id@410 {
|
||||
reg = <0x4 0x8>;
|
||||
};
|
||||
|
||||
cpu_speed_grade: speed-grade@10 {
|
||||
reg = <0x10 4>;
|
||||
};
|
||||
|
||||
fec_mac_address: mac-address@90 {
|
||||
reg = <0x90 6>;
|
||||
};
|
||||
};
|
||||
|
||||
anatop: anatop@30360000 {
|
||||
|
@ -909,13 +919,18 @@
|
|||
assigned-clocks = <&clk IMX8MM_CLK_ENET_AXI>,
|
||||
<&clk IMX8MM_CLK_ENET_TIMER>,
|
||||
<&clk IMX8MM_CLK_ENET_REF>,
|
||||
<&clk IMX8MM_CLK_ENET_TIMER>;
|
||||
<&clk IMX8MM_CLK_ENET_PHY_REF>;
|
||||
assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_266M>,
|
||||
<&clk IMX8MM_SYS_PLL2_100M>,
|
||||
<&clk IMX8MM_SYS_PLL2_125M>;
|
||||
assigned-clock-rates = <0>, <0>, <125000000>, <100000000>;
|
||||
<&clk IMX8MM_SYS_PLL2_125M>,
|
||||
<&clk IMX8MM_SYS_PLL2_50M>;
|
||||
assigned-clock-rates = <0>, <100000000>, <125000000>, <0>;
|
||||
fsl,num-tx-queues = <3>;
|
||||
fsl,num-rx-queues = <3>;
|
||||
nvmem-cells = <&fec_mac_address>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
nvmem_macaddr_swap;
|
||||
fsl,stop-mode = <&gpr 0x10 3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
|
|
@ -0,0 +1,307 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
/*
|
||||
* Copyright 2020 Compass Electronics Group, LLC
|
||||
*/
|
||||
|
||||
/ {
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led-0 {
|
||||
label = "gen_led0";
|
||||
gpios = <&pca6416_1 4 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-1 {
|
||||
label = "gen_led1";
|
||||
gpios = <&pca6416_1 5 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-2 {
|
||||
label = "gen_led2";
|
||||
gpios = <&pca6416_1 6 GPIO_ACTIVE_HIGH>;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
led-3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_led3>;
|
||||
label = "heartbeat";
|
||||
gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "heartbeat";
|
||||
};
|
||||
};
|
||||
|
||||
reg_audio: regulator-audio {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "3v3_aud";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpio = <&pca6416_1 11 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
reg_usdhc2_vmmc: regulator-usdhc2 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vsd_3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
reg_usb_otg_vbus: regulator-usb {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_reg_usb_otg>;
|
||||
regulator-name = "usb_otg_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
sound {
|
||||
compatible = "fsl,imx-audio-wm8962";
|
||||
model = "wm8962-audio";
|
||||
audio-cpu = <&sai3>;
|
||||
audio-codec = <&wm8962>;
|
||||
audio-routing =
|
||||
"Headphone Jack", "HPOUTL",
|
||||
"Headphone Jack", "HPOUTR",
|
||||
"Ext Spk", "SPKOUTL",
|
||||
"Ext Spk", "SPKOUTR",
|
||||
"AMIC", "MICBIAS",
|
||||
"IN3R", "AMIC";
|
||||
};
|
||||
};
|
||||
|
||||
&ecspi2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_espi2>;
|
||||
cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
|
||||
eeprom@0 {
|
||||
compatible = "microchip,at25160bn", "atmel,at25";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <5000000>;
|
||||
spi-cpha;
|
||||
spi-cpol;
|
||||
pagesize = <32>;
|
||||
size = <2048>;
|
||||
address-width = <16>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c4>;
|
||||
status = "okay";
|
||||
|
||||
pca6416_0: gpio@20 {
|
||||
compatible = "nxp,pcal6416";
|
||||
reg = <0x20>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pcal6414>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
|
||||
pca6416_1: gpio@21 {
|
||||
compatible = "nxp,pcal6416";
|
||||
reg = <0x21>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
|
||||
wm8962: audio-codec@1a {
|
||||
compatible = "wlf,wm8962";
|
||||
reg = <0x1a>;
|
||||
clocks = <&clk IMX8MN_CLK_SAI3_ROOT>;
|
||||
clock-names = "xclk";
|
||||
DCVDD-supply = <®_audio>;
|
||||
DBVDD-supply = <®_audio>;
|
||||
AVDD-supply = <®_audio>;
|
||||
CPVDD-supply = <®_audio>;
|
||||
MICVDD-supply = <®_audio>;
|
||||
PLLVDD-supply = <®_audio>;
|
||||
SPKVDD1-supply = <®_audio>;
|
||||
SPKVDD2-supply = <®_audio>;
|
||||
gpio-cfg = <
|
||||
0x0000 /* 0:Default */
|
||||
0x0000 /* 1:Default */
|
||||
0x0000 /* 2:FN_DMICCLK */
|
||||
0x0000 /* 3:Default */
|
||||
0x0000 /* 4:FN_DMICCDAT */
|
||||
0x0000 /* 5:Default */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&easrc {
|
||||
fsl,asrc-rate = <48000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sai3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sai3>;
|
||||
assigned-clocks = <&clk IMX8MN_CLK_SAI3>;
|
||||
assigned-clock-parents = <&clk IMX8MN_AUDIO_PLL1_OUT>;
|
||||
assigned-clock-rates = <24576000>;
|
||||
fsl,sai-mclk-direction-output;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&snvs_pwrkey {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart2 { /* console */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart3>;
|
||||
assigned-clocks = <&clk IMX8MN_CLK_UART3>;
|
||||
assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_80M>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbotg1 {
|
||||
vbus-supply = <®_usb_otg_vbus>;
|
||||
disable-over-current;
|
||||
dr_mode="otg";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usdhc2 {
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
|
||||
pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
|
||||
pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
|
||||
bus-width = <4>;
|
||||
vmmc-supply = <®_usdhc2_vmmc>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl_espi2: espi2grp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x82
|
||||
MX8MN_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x82
|
||||
MX8MN_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x82
|
||||
MX8MN_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c2: i2c2grp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_I2C2_SCL_I2C2_SCL 0x400001c3
|
||||
MX8MN_IOMUXC_I2C2_SDA_I2C2_SDA 0x400001c3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c4: i2c4grp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_I2C4_SCL_I2C4_SCL 0x400001c3
|
||||
MX8MN_IOMUXC_I2C4_SDA_I2C4_SDA 0x400001c3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_led3: led3grp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_SAI3_RXFS_GPIO4_IO28 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pcal6414: pcal6414-gpiogrp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_SAI2_MCLK_GPIO4_IO27 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_reg_usb_otg: reg-otggrp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_SAI3_RXC_GPIO4_IO29 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_sai3: sai3grp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6
|
||||
MX8MN_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6
|
||||
MX8MN_IOMUXC_SAI3_MCLK_SAI3_MCLK 0xd6
|
||||
MX8MN_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6
|
||||
MX8MN_IOMUXC_SAI3_RXD_SAI3_RX_DATA0 0xd6
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart2: uart2grp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_UART2_RXD_UART2_DCE_RX 0x140
|
||||
MX8MN_IOMUXC_UART2_TXD_UART2_DCE_TX 0x140
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart3: uart3grp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_ECSPI1_SCLK_UART3_DCE_RX 0x40
|
||||
MX8MN_IOMUXC_ECSPI1_MOSI_UART3_DCE_TX 0x40
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2_gpio: usdhc2gpiogrp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_SD2_CD_B_USDHC2_CD_B 0x41
|
||||
MX8MN_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2: usdhc2grp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x190
|
||||
MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d0
|
||||
MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d0
|
||||
MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d0
|
||||
MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0
|
||||
MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0
|
||||
MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x194
|
||||
MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4
|
||||
MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4
|
||||
MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4
|
||||
MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4
|
||||
MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4
|
||||
MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x196
|
||||
MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6
|
||||
MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d6
|
||||
MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d6
|
||||
MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6
|
||||
MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6
|
||||
MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0
|
||||
>;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,19 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
/*
|
||||
* Copyright 2020 Compass Electronics Group, LLC
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx8mn.dtsi"
|
||||
#include "imx8mn-beacon-som.dtsi"
|
||||
#include "imx8mn-beacon-baseboard.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Beacon EmbeddedWorks i.MX8M Nano Development Kit";
|
||||
compatible = "beacon,imx8mn-beacon-kit", "fsl,imx8mn";
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart2;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,466 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
/*
|
||||
* Copyright 2020 Compass Electronics Group, LLC
|
||||
*/
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
rtc0 = &rtc;
|
||||
rtc1 = &snvs_rtc;
|
||||
spi0 = &flexspi;
|
||||
};
|
||||
|
||||
usdhc1_pwrseq: usdhc1_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usdhc1_gpio>;
|
||||
reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
|
||||
clocks = <&osc_32k>;
|
||||
clock-names = "ext_clock";
|
||||
post-power-on-delay-ms = <80>;
|
||||
};
|
||||
|
||||
memory@40000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x40000000 0 0x80000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&A53_0 {
|
||||
cpu-supply = <&buck2_reg>;
|
||||
};
|
||||
|
||||
&A53_1 {
|
||||
cpu-supply = <&buck2_reg>;
|
||||
};
|
||||
|
||||
&A53_2 {
|
||||
cpu-supply = <&buck2_reg>;
|
||||
};
|
||||
|
||||
&A53_3 {
|
||||
cpu-supply = <&buck2_reg>;
|
||||
};
|
||||
|
||||
/* DDR controller is running LPDDR at 800MHz which requires 0.95V */
|
||||
&a53_opp_table {
|
||||
opp-1200000000 {
|
||||
opp-microvolt = <950000>;
|
||||
};
|
||||
};
|
||||
|
||||
&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-800M {
|
||||
opp-hz = /bits/ 64 <800000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&fec1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_fec1>;
|
||||
phy-mode = "rgmii-id";
|
||||
phy-handle = <ðphy0>;
|
||||
phy-supply = <&buck6_reg>;
|
||||
phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
|
||||
fsl,magic-packet;
|
||||
status = "okay";
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ethphy0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&flexspi {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_flexspi>;
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "jedec,spi-nor";
|
||||
spi-max-frequency = <80000000>;
|
||||
spi-tx-bus-width = <4>;
|
||||
spi-rx-bus-width = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c1>;
|
||||
status = "okay";
|
||||
|
||||
pmic@4b {
|
||||
compatible = "rohm,bd71847";
|
||||
reg = <0x4b>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pmic>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
|
||||
rohm,reset-snvs-powered;
|
||||
|
||||
regulators {
|
||||
buck1_reg: BUCK1 {
|
||||
regulator-name = "buck1";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-ramp-delay = <1250>;
|
||||
};
|
||||
|
||||
buck2_reg: 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>;
|
||||
};
|
||||
|
||||
buck3_reg: BUCK3 {
|
||||
// BUCK5 in datasheet
|
||||
regulator-name = "buck3";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck4_reg: BUCK4 {
|
||||
// BUCK6 in datasheet
|
||||
regulator-name = "buck4";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck5_reg: BUCK5 {
|
||||
// BUCK7 in datasheet
|
||||
regulator-name = "buck5";
|
||||
regulator-min-microvolt = <1605000>;
|
||||
regulator-max-microvolt = <1995000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck6_reg: BUCK6 {
|
||||
// BUCK8 in datasheet
|
||||
regulator-name = "buck6";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo1_reg: LDO1 {
|
||||
regulator-name = "ldo1";
|
||||
regulator-min-microvolt = <1600000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo2_reg: LDO2 {
|
||||
regulator-name = "ldo2";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <900000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo3_reg: LDO3 {
|
||||
regulator-name = "ldo3";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo4_reg: LDO4 {
|
||||
regulator-name = "ldo4";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo6_reg: 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";
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "microchip,24c64", "atmel,24c64";
|
||||
pagesize = <32>;
|
||||
read-only; /* Manufacturing EEPROM programmed at factory */
|
||||
reg = <0x50>;
|
||||
};
|
||||
|
||||
rtc: rtc@51 {
|
||||
compatible = "nxp,pcf85263";
|
||||
reg = <0x51>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart1>;
|
||||
assigned-clocks = <&clk IMX8MN_CLK_UART1>;
|
||||
assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_80M>;
|
||||
uart-has-rtscts;
|
||||
status = "okay";
|
||||
|
||||
bluetooth {
|
||||
compatible = "brcm,bcm43438-bt";
|
||||
shutdown-gpios = <&gpio2 6 GPIO_ACTIVE_HIGH>;
|
||||
host-wakeup-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>;
|
||||
device-wakeup-gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
|
||||
clocks = <&osc_32k>;
|
||||
max-speed = <4000000>;
|
||||
clock-names = "extclk";
|
||||
};
|
||||
};
|
||||
|
||||
&usdhc1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usdhc1>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
cap-power-off-card;
|
||||
pm-ignore-notify;
|
||||
keep-power-in-suspend;
|
||||
mmc-pwrseq = <&usdhc1_pwrseq>;
|
||||
status = "okay";
|
||||
|
||||
brcmf: bcrmf@1 {
|
||||
reg = <1>;
|
||||
compatible = "brcm,bcm4329-fmac";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_wlan>;
|
||||
interrupt-parent = <&gpio2>;
|
||||
interrupts = <9 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "host-wake";
|
||||
};
|
||||
};
|
||||
|
||||
&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_fec1: fec1grp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_ENET_MDC_ENET1_MDC 0x3
|
||||
MX8MN_IOMUXC_ENET_MDIO_ENET1_MDIO 0x3
|
||||
MX8MN_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f
|
||||
MX8MN_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f
|
||||
MX8MN_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f
|
||||
MX8MN_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f
|
||||
MX8MN_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91
|
||||
MX8MN_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91
|
||||
MX8MN_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91
|
||||
MX8MN_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91
|
||||
MX8MN_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f
|
||||
MX8MN_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91
|
||||
MX8MN_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91
|
||||
MX8MN_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f
|
||||
MX8MN_IOMUXC_SAI2_RXC_GPIO4_IO22 0x19
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c1: i2c1grp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_I2C1_SCL_I2C1_SCL 0x400001c3
|
||||
MX8MN_IOMUXC_I2C1_SDA_I2C1_SDA 0x400001c3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c3: i2c3grp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3
|
||||
MX8MN_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_flexspi: flexspigrp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_NAND_ALE_QSPI_A_SCLK 0x1c2
|
||||
MX8MN_IOMUXC_NAND_CE0_B_QSPI_A_SS0_B 0x82
|
||||
MX8MN_IOMUXC_NAND_DATA00_QSPI_A_DATA0 0x82
|
||||
MX8MN_IOMUXC_NAND_DATA01_QSPI_A_DATA1 0x82
|
||||
MX8MN_IOMUXC_NAND_DATA02_QSPI_A_DATA2 0x82
|
||||
MX8MN_IOMUXC_NAND_DATA03_QSPI_A_DATA3 0x82
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pmic: pmicirqgrp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x141
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart1: uart1grp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_UART1_RXD_UART1_DCE_RX 0x140
|
||||
MX8MN_IOMUXC_UART1_TXD_UART1_DCE_TX 0x140
|
||||
MX8MN_IOMUXC_UART3_RXD_UART1_DCE_CTS_B 0x140
|
||||
MX8MN_IOMUXC_UART3_TXD_UART1_DCE_RTS_B 0x140
|
||||
MX8MN_IOMUXC_SD1_DATA4_GPIO2_IO6 0x19
|
||||
MX8MN_IOMUXC_SD1_DATA5_GPIO2_IO7 0x19
|
||||
MX8MN_IOMUXC_SD1_DATA6_GPIO2_IO8 0x19
|
||||
MX8MN_IOMUXC_GPIO1_IO00_ANAMIX_REF_CLK_32K 0x141
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc1_gpio: usdhc1gpiogrp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_SD1_RESET_B_GPIO2_IO10 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc1: usdhc1grp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK 0x190
|
||||
MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d0
|
||||
MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d0
|
||||
MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d0
|
||||
MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d0
|
||||
MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d0
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK 0x194
|
||||
MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d4
|
||||
MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d4
|
||||
MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d4
|
||||
MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d4
|
||||
MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d4
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK 0x196
|
||||
MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d6
|
||||
MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d6
|
||||
MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d6
|
||||
MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d6
|
||||
MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d6
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc3: usdhc3grp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_NAND_WE_B_USDHC3_CLK 0x190
|
||||
MX8MN_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d0
|
||||
MX8MN_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d0
|
||||
MX8MN_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d0
|
||||
MX8MN_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d0
|
||||
MX8MN_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d0
|
||||
MX8MN_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d0
|
||||
MX8MN_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d0
|
||||
MX8MN_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d0
|
||||
MX8MN_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d0
|
||||
MX8MN_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x190
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_NAND_WE_B_USDHC3_CLK 0x194
|
||||
MX8MN_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d4
|
||||
MX8MN_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d4
|
||||
MX8MN_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d4
|
||||
MX8MN_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d4
|
||||
MX8MN_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d4
|
||||
MX8MN_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d4
|
||||
MX8MN_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d4
|
||||
MX8MN_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d4
|
||||
MX8MN_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d4
|
||||
MX8MN_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x194
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_NAND_WE_B_USDHC3_CLK 0x196
|
||||
MX8MN_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d6
|
||||
MX8MN_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d6
|
||||
MX8MN_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d6
|
||||
MX8MN_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d6
|
||||
MX8MN_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d6
|
||||
MX8MN_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d6
|
||||
MX8MN_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d6
|
||||
MX8MN_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d6
|
||||
MX8MN_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d6
|
||||
MX8MN_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x196
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_wdog: wdoggrp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_wlan: wlangrp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_SD1_DATA7_GPIO2_IO9 0x111
|
||||
>;
|
||||
};
|
||||
};
|
|
@ -46,6 +46,40 @@
|
|||
pinctrl-0 = <&pinctrl_ir>;
|
||||
linux,autosuspend-period = <125>;
|
||||
};
|
||||
|
||||
wm8524: audio-codec {
|
||||
#sound-dai-cells = <0>;
|
||||
compatible = "wlf,wm8524";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpio_wlf>;
|
||||
wlf,mute-gpios = <&gpio5 21 GPIO_ACTIVE_LOW>;
|
||||
clocks = <&clk IMX8MN_CLK_SAI3_ROOT>;
|
||||
clock-names = "mclk";
|
||||
};
|
||||
|
||||
sound-wm8524 {
|
||||
compatible = "fsl,imx-audio-wm8524";
|
||||
model = "wm8524-audio";
|
||||
audio-cpu = <&sai3>;
|
||||
audio-codec = <&wm8524>;
|
||||
audio-asrc = <&easrc>;
|
||||
audio-routing =
|
||||
"Line Out Jack", "LINEVOUTL",
|
||||
"Line Out Jack", "LINEVOUTR";
|
||||
};
|
||||
|
||||
sound-spdif {
|
||||
compatible = "fsl,imx-audio-spdif";
|
||||
model = "imx-spdif";
|
||||
spdif-controller = <&spdif1>;
|
||||
spdif-out;
|
||||
spdif-in;
|
||||
};
|
||||
};
|
||||
|
||||
&easrc {
|
||||
fsl,asrc-rate = <48000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&fec1 {
|
||||
|
@ -124,10 +158,29 @@
|
|||
};
|
||||
};
|
||||
|
||||
&sai3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sai3>;
|
||||
assigned-clocks = <&clk IMX8MN_CLK_SAI3>;
|
||||
assigned-clock-parents = <&clk IMX8MN_AUDIO_PLL1_OUT>;
|
||||
assigned-clock-rates = <24576000>;
|
||||
fsl,sai-mclk-direction-output;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&snvs_pwrkey {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spdif1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_spdif1>;
|
||||
assigned-clocks = <&clk IMX8MN_CLK_SPDIF1>;
|
||||
assigned-clock-parents = <&clk IMX8MN_AUDIO_PLL1_OUT>;
|
||||
assigned-clock-rates = <24576000>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart2 { /* console */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart2>;
|
||||
|
@ -210,6 +263,12 @@
|
|||
>;
|
||||
};
|
||||
|
||||
pinctrl_gpio_wlf: gpiowlfgrp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_I2C4_SDA_GPIO5_IO21 0xd6
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_ir: irgrp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_GPIO1_IO13_GPIO1_IO13 0x4f
|
||||
|
@ -249,6 +308,22 @@
|
|||
>;
|
||||
};
|
||||
|
||||
pinctrl_sai3: sai3grp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6
|
||||
MX8MN_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6
|
||||
MX8MN_IOMUXC_SAI3_MCLK_SAI3_MCLK 0xd6
|
||||
MX8MN_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_spdif1: spdif1grp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_SPDIF_TX_SPDIF1_OUT 0xd6
|
||||
MX8MN_IOMUXC_SPDIF_RX_SPDIF1_IN 0xd6
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_typec1: typec1grp {
|
||||
fsl,pins = <
|
||||
MX8MN_IOMUXC_SD1_STROBE_GPIO2_IO11 0x159
|
||||
|
|
|
@ -241,10 +241,12 @@
|
|||
};
|
||||
|
||||
soc@0 {
|
||||
compatible = "simple-bus";
|
||||
compatible = "fsl,imx8mn-soc", "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x0 0x0 0x3e000000>;
|
||||
nvmem-cells = <&imx8mn_uid>;
|
||||
nvmem-cell-names = "soc_unique_id";
|
||||
|
||||
aips1: bus@30000000 {
|
||||
compatible = "fsl,aips-bus", "simple-bus";
|
||||
|
@ -531,9 +533,17 @@
|
|||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
imx8mn_uid: unique-id@410 {
|
||||
reg = <0x4 0x8>;
|
||||
};
|
||||
|
||||
cpu_speed_grade: speed-grade@10 {
|
||||
reg = <0x10 4>;
|
||||
};
|
||||
|
||||
fec_mac_address: mac-address@90 {
|
||||
reg = <0x90 6>;
|
||||
};
|
||||
};
|
||||
|
||||
anatop: anatop@30360000 {
|
||||
|
@ -581,7 +591,9 @@
|
|||
<&clk IMX8MN_CLK_NOC>,
|
||||
<&clk IMX8MN_CLK_AUDIO_AHB>,
|
||||
<&clk IMX8MN_CLK_IPG_AUDIO_ROOT>,
|
||||
<&clk IMX8MN_SYS_PLL3>;
|
||||
<&clk IMX8MN_SYS_PLL3>,
|
||||
<&clk IMX8MN_AUDIO_PLL1>,
|
||||
<&clk IMX8MN_AUDIO_PLL2>;
|
||||
assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_800M>,
|
||||
<&clk IMX8MN_ARM_PLL_OUT>,
|
||||
<&clk IMX8MN_SYS_PLL3_OUT>,
|
||||
|
@ -589,7 +601,9 @@
|
|||
assigned-clock-rates = <0>, <0>, <0>,
|
||||
<400000000>,
|
||||
<400000000>,
|
||||
<600000000>;
|
||||
<600000000>,
|
||||
<393216000>,
|
||||
<361267200>;
|
||||
};
|
||||
|
||||
src: reset-controller@30390000 {
|
||||
|
@ -875,6 +889,19 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
flexspi: spi@30bb0000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "nxp,imx8mm-fspi";
|
||||
reg = <0x30bb0000 0x10000>, <0x8000000 0x10000000>;
|
||||
reg-names = "fspi_base", "fspi_mmap";
|
||||
interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk IMX8MN_CLK_QSPI_ROOT>,
|
||||
<&clk IMX8MN_CLK_QSPI_ROOT>;
|
||||
clock-names = "fspi", "fspi_en";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdma1: dma-controller@30bd0000 {
|
||||
compatible = "fsl,imx8mn-sdma", "fsl,imx8mq-sdma";
|
||||
reg = <0x30bd0000 0x10000>;
|
||||
|
@ -903,13 +930,18 @@
|
|||
assigned-clocks = <&clk IMX8MN_CLK_ENET_AXI>,
|
||||
<&clk IMX8MN_CLK_ENET_TIMER>,
|
||||
<&clk IMX8MN_CLK_ENET_REF>,
|
||||
<&clk IMX8MN_CLK_ENET_TIMER>;
|
||||
<&clk IMX8MN_CLK_ENET_PHY_REF>;
|
||||
assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_266M>,
|
||||
<&clk IMX8MN_SYS_PLL2_100M>,
|
||||
<&clk IMX8MN_SYS_PLL2_125M>;
|
||||
assigned-clock-rates = <0>, <0>, <125000000>, <100000000>;
|
||||
<&clk IMX8MN_SYS_PLL2_125M>,
|
||||
<&clk IMX8MN_SYS_PLL2_50M>;
|
||||
assigned-clock-rates = <0>, <100000000>, <125000000>, <0>;
|
||||
fsl,num-tx-queues = <3>;
|
||||
fsl,num-rx-queues = <3>;
|
||||
nvmem-cells = <&fec_mac_address>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
nvmem_macaddr_swap;
|
||||
fsl,stop-mode = <&gpr 0x10 3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
|
|
@ -0,0 +1,161 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Copyright (C) 2020 PHYTEC Messtechnik GmbH
|
||||
* Author: Teresa Remmet <t.remmet@phytec.de>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/leds/leds-pca9532.h>
|
||||
#include <dt-bindings/pwm/pwm.h>
|
||||
#include "imx8mp-phycore-som.dtsi"
|
||||
|
||||
/ {
|
||||
model = "PHYTEC phyBOARD-Pollux i.MX8MP";
|
||||
compatible = "phytec,imx8mp-phyboard-pollux-rdk",
|
||||
"phytec,imx8mp-phycore-som", "fsl,imx8mp";
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart2;
|
||||
};
|
||||
|
||||
reg_usdhc2_vmmc: regulator-usdhc2 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_reg_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>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c2>;
|
||||
pinctrl-1 = <&pinctrl_i2c2_gpio>;
|
||||
sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
status = "okay";
|
||||
|
||||
eeprom@51 {
|
||||
compatible = "atmel,24c02";
|
||||
reg = <0x51>;
|
||||
pagesize = <16>;
|
||||
};
|
||||
|
||||
leds@62 {
|
||||
compatible = "nxp,pca9533";
|
||||
reg = <0x62>;
|
||||
|
||||
led1 {
|
||||
type = <PCA9532_TYPE_LED>;
|
||||
};
|
||||
|
||||
led2 {
|
||||
type = <PCA9532_TYPE_LED>;
|
||||
};
|
||||
|
||||
led3 {
|
||||
type = <PCA9532_TYPE_LED>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&snvs_pwrkey {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* debug console */
|
||||
&uart2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* SD-Card */
|
||||
&usdhc2 {
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_pins>;
|
||||
pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_pins>;
|
||||
pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_pins>;
|
||||
cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
|
||||
vmmc-supply = <®_usdhc2_vmmc>;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl_i2c2: i2c2grp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x400001c3
|
||||
MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA 0x400001c3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c2_gpio: i2c2gpiogrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_I2C2_SCL__GPIO5_IO16 0x1e3
|
||||
MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17 0x1e3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_uart2: uart2grp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x49
|
||||
MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x49
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_usdhc2_pins: usdhc2-gpiogrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 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_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
|
||||
>;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,293 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Copyright (C) 2020 PHYTEC Messtechnik GmbH
|
||||
* Author: Teresa Remmet <t.remmet@phytec.de>
|
||||
*/
|
||||
|
||||
#include <dt-bindings/net/ti-dp83867.h>
|
||||
#include "imx8mp.dtsi"
|
||||
|
||||
/ {
|
||||
model = "PHYTEC phyCORE-i.MX8MP";
|
||||
compatible = "phytec,imx8mp-phycore-som", "fsl,imx8mp";
|
||||
|
||||
aliases {
|
||||
rtc0 = &rv3028;
|
||||
rtc1 = &snvs_rtc;
|
||||
};
|
||||
|
||||
memory@40000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x40000000 0 0x80000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&A53_0 {
|
||||
cpu-supply = <&buck2>;
|
||||
};
|
||||
|
||||
&A53_1 {
|
||||
cpu-supply = <&buck2>;
|
||||
};
|
||||
|
||||
&A53_2 {
|
||||
cpu-supply = <&buck2>;
|
||||
};
|
||||
|
||||
&A53_3 {
|
||||
cpu-supply = <&buck2>;
|
||||
};
|
||||
|
||||
/* ethernet 1 */
|
||||
&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@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <15 IRQ_TYPE_EDGE_FALLING>;
|
||||
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
|
||||
ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
|
||||
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
|
||||
ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
|
||||
enet-phy-lane-no-swap;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c1>;
|
||||
pinctrl-1 = <&pinctrl_i2c1_gpio>;
|
||||
sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
status = "okay";
|
||||
|
||||
pmic: pmic@25 {
|
||||
reg = <0x25>;
|
||||
compatible = "nxp,pca9450c";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pmic>;
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
regulators {
|
||||
buck1: BUCK1 {
|
||||
regulator-compatible = "BUCK1";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <2187500>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-ramp-delay = <3125>;
|
||||
};
|
||||
|
||||
buck2: BUCK2 {
|
||||
regulator-compatible = "BUCK2";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <2187500>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-ramp-delay = <3125>;
|
||||
};
|
||||
|
||||
buck4: BUCK4 {
|
||||
regulator-compatible = "BUCK4";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck5: BUCK5 {
|
||||
regulator-compatible = "BUCK5";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck6: BUCK6 {
|
||||
regulator-compatible = "BUCK6";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo1: LDO1 {
|
||||
regulator-compatible = "LDO1";
|
||||
regulator-min-microvolt = <1600000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo2: LDO2 {
|
||||
regulator-compatible = "LDO2";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo3: LDO3 {
|
||||
regulator-compatible = "LDO3";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo4: LDO4 {
|
||||
regulator-compatible = "LDO4";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo5: LDO5 {
|
||||
regulator-compatible = "LDO5";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
eeprom@51 {
|
||||
compatible = "atmel,24c32";
|
||||
reg = <0x51>;
|
||||
pagesize = <32>;
|
||||
};
|
||||
|
||||
rv3028: rtc@52 {
|
||||
compatible = "microcrystal,rv3028";
|
||||
reg = <0x52>;
|
||||
trickle-resistor-ohms = <3000>;
|
||||
};
|
||||
};
|
||||
|
||||
/* 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_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
|
||||
MX8MP_IOMUXC_GPIO1_IO15__GPIO1_IO15 0x11
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c1: i2c1grp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL 0x400001c3
|
||||
MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA 0x400001c3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c1_gpio: i2c1gpiogrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_I2C1_SCL__GPIO5_IO14 0x1e3
|
||||
MX8MP_IOMUXC_I2C1_SDA__GPIO5_IO15 0x1e3
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_pmic: pmicirqgrp {
|
||||
fsl,pins = <
|
||||
MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x141
|
||||
>;
|
||||
};
|
||||
|
||||
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
|
||||
>;
|
||||
};
|
||||
};
|
|
@ -218,10 +218,12 @@
|
|||
};
|
||||
|
||||
soc@0 {
|
||||
compatible = "simple-bus";
|
||||
compatible = "fsl,imx8mp-soc", "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x0 0x0 0x3e000000>;
|
||||
nvmem-cells = <&imx8mp_uid>;
|
||||
nvmem-cell-names = "soc_unique_id";
|
||||
|
||||
aips1: bus@30000000 {
|
||||
compatible = "fsl,aips-bus", "simple-bus";
|
||||
|
@ -328,9 +330,17 @@
|
|||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
imx8mp_uid: unique-id@420 {
|
||||
reg = <0x8 0x8>;
|
||||
};
|
||||
|
||||
cpu_speed_grade: speed-grade@10 {
|
||||
reg = <0x10 4>;
|
||||
};
|
||||
|
||||
eth_mac1: mac-address@90 {
|
||||
reg = <0x90 6>;
|
||||
};
|
||||
};
|
||||
|
||||
anatop: anatop@30360000 {
|
||||
|
@ -762,13 +772,18 @@
|
|||
assigned-clocks = <&clk IMX8MP_CLK_ENET_AXI>,
|
||||
<&clk IMX8MP_CLK_ENET_TIMER>,
|
||||
<&clk IMX8MP_CLK_ENET_REF>,
|
||||
<&clk IMX8MP_CLK_ENET_TIMER>;
|
||||
<&clk IMX8MP_CLK_ENET_PHY_REF>;
|
||||
assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_266M>,
|
||||
<&clk IMX8MP_SYS_PLL2_100M>,
|
||||
<&clk IMX8MP_SYS_PLL2_125M>;
|
||||
assigned-clock-rates = <0>, <0>, <125000000>, <100000000>;
|
||||
<&clk IMX8MP_SYS_PLL2_125M>,
|
||||
<&clk IMX8MP_SYS_PLL2_50M>;
|
||||
assigned-clock-rates = <0>, <100000000>, <125000000>, <0>;
|
||||
fsl,num-tx-queues = <3>;
|
||||
fsl,num-rx-queues = <3>;
|
||||
nvmem-cells = <ð_mac1>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
fsl,stop-mode = <&gpr 0x10 3>;
|
||||
nvmem_macaddr_swap;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
|
|
@ -244,11 +244,6 @@
|
|||
cpu-supply = <&buck2_reg>;
|
||||
};
|
||||
|
||||
&clk {
|
||||
assigned-clocks = <&clk IMX8MQ_AUDIO_PLL1>, <&clk IMX8MQ_AUDIO_PLL2>;
|
||||
assigned-clock-rates = <786432000>, <722534400>;
|
||||
};
|
||||
|
||||
&dphy {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -298,6 +293,7 @@
|
|||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-ramp-delay = <1250>;
|
||||
rohm,dvs-run-voltage = <900000>;
|
||||
rohm,dvs-idle-voltage = <850000>;
|
||||
|
@ -319,6 +315,7 @@
|
|||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-boot-on;
|
||||
regulator-enable-ramp-delay = <200>;
|
||||
rohm,dvs-run-voltage = <900000>;
|
||||
};
|
||||
|
||||
|
@ -334,6 +331,7 @@
|
|||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck6_reg: BUCK6 {
|
||||
|
@ -341,6 +339,7 @@
|
|||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck7_reg: BUCK7 {
|
||||
|
@ -348,6 +347,7 @@
|
|||
regulator-min-microvolt = <1605000>;
|
||||
regulator-max-microvolt = <1995000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck8_reg: BUCK8 {
|
||||
|
@ -355,6 +355,7 @@
|
|||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo1_reg: LDO1 {
|
||||
|
@ -380,6 +381,7 @@
|
|||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo4_reg: LDO4 {
|
||||
|
@ -387,12 +389,14 @@
|
|||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo5_reg: LDO5 {
|
||||
regulator-name = "ldo5";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo6_reg: LDO6 {
|
||||
|
@ -400,6 +404,7 @@
|
|||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo7_reg: LDO7 {
|
||||
|
@ -407,6 +412,7 @@
|
|||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -886,6 +892,10 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&snvs_rtc {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&sai2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sai2>;
|
||||
|
|
|
@ -10,6 +10,12 @@
|
|||
compatible = "purism,librem5r3", "purism,librem5", "fsl,imx8mq";
|
||||
};
|
||||
|
||||
&a53_opp_table {
|
||||
opp-1000000000 {
|
||||
opp-microvolt = <1000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&accel_gyro {
|
||||
mount-matrix = "1", "0", "0",
|
||||
"0", "1", "0",
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
// Copyright (C) 2020 Purism SPC <kernel@puri.sm>
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx8mq-librem5.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Purism Librem 5r4";
|
||||
compatible = "purism,librem5r4", "purism,librem5", "fsl,imx8mq";
|
||||
};
|
||||
|
||||
&accel_gyro {
|
||||
mount-matrix = "1", "0", "0",
|
||||
"0", "1", "0",
|
||||
"0", "0", "-1";
|
||||
};
|
||||
|
||||
&bat {
|
||||
maxim,rsns-microohm = <1667>;
|
||||
};
|
||||
|
||||
&bq25895 {
|
||||
ti,battery-regulation-voltage = <4200000>; /* uV */
|
||||
ti,charge-current = <1500000>; /* uA */
|
||||
ti,termination-current = <144000>; /* uA */
|
||||
};
|
||||
|
||||
&led_backlight {
|
||||
led-max-microamp = <25000>;
|
||||
};
|
||||
|
||||
&proximity {
|
||||
proximity-near-level = <10>;
|
||||
};
|
|
@ -82,6 +82,20 @@
|
|||
enable-active-high;
|
||||
};
|
||||
|
||||
reg_lcd_1v8: regulator-lcd-1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_dsien>;
|
||||
regulator-name = "LCD_1V8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
vin-supply = <®_vdd_1v8>;
|
||||
gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
/* Otherwise i2c3 is not functional */
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_lcd_3v4: regulator-lcd-3v4 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "LCD_3V4";
|
||||
|
@ -99,6 +113,14 @@
|
|||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
reg_vdd_1v8: regulator-vdd-1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VDD_1V8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
vin-supply = <&buck7_reg>;
|
||||
};
|
||||
|
||||
reg_vdd_3v3: regulator-vdd-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VDD_3V3";
|
||||
|
@ -106,13 +128,6 @@
|
|||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
reg_vdd_1v8: regulator-vdd-1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_1V8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
reg_vsys_3v4: regulator-vsys-3v4 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VSYS_3V4";
|
||||
|
@ -275,7 +290,7 @@
|
|||
pinctrl_charger_in: chargeringrp {
|
||||
fsl,pins = <
|
||||
/* CHRG_INT */
|
||||
MX8MQ_IOMUXC_NAND_CE2_B_GPIO3_IO3 0x00
|
||||
MX8MQ_IOMUXC_NAND_CE2_B_GPIO3_IO3 0x80
|
||||
/* CHG_STATUS_B */
|
||||
MX8MQ_IOMUXC_NAND_ALE_GPIO3_IO0 0x80
|
||||
>;
|
||||
|
@ -295,6 +310,17 @@
|
|||
>;
|
||||
};
|
||||
|
||||
pinctrl_dsirst: dsirstgrp {
|
||||
fsl,pins = <
|
||||
/* DSI_RST */
|
||||
MX8MQ_IOMUXC_ENET_RD3_GPIO1_IO29 0x83
|
||||
/* DSI_TE */
|
||||
MX8MQ_IOMUXC_ENET_RD2_GPIO1_IO28 0x83
|
||||
/* TP_RST */
|
||||
MX8MQ_IOMUXC_ENET_RX_CTL_GPIO1_IO24 0x83
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_ecspi1: ecspigrp {
|
||||
fsl,pins = <
|
||||
MX8MQ_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI 0x83
|
||||
|
@ -458,6 +484,13 @@
|
|||
>;
|
||||
};
|
||||
|
||||
pinctrl_touch: touchgrp {
|
||||
fsl,pins = <
|
||||
/* TP_INT */
|
||||
MX8MQ_IOMUXC_ENET_RD1_GPIO1_IO27 0x80
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_typec: typecgrp {
|
||||
fsl,pins = <
|
||||
/* TYPEC_MUX_EN */
|
||||
|
@ -649,6 +682,7 @@
|
|||
regulator-name = "buck1";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-boot-on;
|
||||
regulator-ramp-delay = <1250>;
|
||||
rohm,dvs-run-voltage = <900000>;
|
||||
rohm,dvs-idle-voltage = <850000>;
|
||||
|
@ -660,6 +694,7 @@
|
|||
regulator-name = "buck2";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-boot-on;
|
||||
regulator-ramp-delay = <1250>;
|
||||
rohm,dvs-run-voltage = <1000000>;
|
||||
rohm,dvs-idle-voltage = <900000>;
|
||||
|
@ -670,8 +705,8 @@
|
|||
regulator-name = "buck3";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-boot-on;
|
||||
rohm,dvs-run-voltage = <900000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck4_reg: BUCK4 {
|
||||
|
@ -685,6 +720,7 @@
|
|||
regulator-name = "buck5";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
|
@ -692,6 +728,7 @@
|
|||
regulator-name = "buck6";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
|
@ -699,6 +736,7 @@
|
|||
regulator-name = "buck7";
|
||||
regulator-min-microvolt = <1605000>;
|
||||
regulator-max-microvolt = <1995000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
|
@ -706,6 +744,7 @@
|
|||
regulator-name = "buck8";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
|
@ -713,6 +752,7 @@
|
|||
regulator-name = "ldo1";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
/* leave on for snvs power button */
|
||||
regulator-always-on;
|
||||
};
|
||||
|
@ -721,6 +761,7 @@
|
|||
regulator-name = "ldo2";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <900000>;
|
||||
regulator-boot-on;
|
||||
/* leave on for snvs power button */
|
||||
regulator-always-on;
|
||||
};
|
||||
|
@ -729,6 +770,7 @@
|
|||
regulator-name = "ldo3";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
|
@ -736,6 +778,7 @@
|
|||
regulator-name = "ldo4";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
|
@ -752,6 +795,7 @@
|
|||
regulator-name = "ldo6";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
|
@ -760,6 +804,7 @@
|
|||
regulator-name = "ldo7";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
@ -796,12 +841,12 @@
|
|||
compatible = "tps65132";
|
||||
reg = <0x3e>;
|
||||
|
||||
outp {
|
||||
reg_lcd_avdd: outp {
|
||||
regulator-name = "LCD_AVDD";
|
||||
vin-supply = <®_lcd_3v4>;
|
||||
};
|
||||
|
||||
outn {
|
||||
reg_lcd_avee: outn {
|
||||
regulator-name = "LCD_AVEE";
|
||||
vin-supply = <®_lcd_3v4>;
|
||||
};
|
||||
|
@ -879,10 +924,13 @@
|
|||
touchscreen@38 {
|
||||
compatible = "edt,edt-ft5506";
|
||||
reg = <0x38>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_touch>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <27 IRQ_TYPE_EDGE_FALLING>;
|
||||
touchscreen-size-x = <720>;
|
||||
touchscreen-size-y = <1440>;
|
||||
vcc-supply = <®_lcd_1v8>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -919,6 +967,45 @@
|
|||
ti,use-vinmin-threshold = <1>; /* enable VINDPM */
|
||||
ti,vinmin-threshold = <3900000>; /* uV */
|
||||
monitored-battery = <&bat>;
|
||||
power-supplies = <&typec_pd>;
|
||||
};
|
||||
};
|
||||
|
||||
&lcdif {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mipi_dsi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "okay";
|
||||
|
||||
lcd_panel: panel@0 {
|
||||
compatible = "mantix,mlaf057we51-x";
|
||||
reg = <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_dsirst>;
|
||||
avdd-supply = <®_lcd_avdd>;
|
||||
avee-supply = <®_lcd_avee>;
|
||||
vddi-supply = <®_lcd_1v8>;
|
||||
backlight = <&backlight_dsi>;
|
||||
reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
|
||||
|
||||
port {
|
||||
panel_in: endpoint {
|
||||
remote-endpoint = <&mipi_dsi_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ports {
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
mipi_dsi_out: endpoint {
|
||||
remote-endpoint = <&panel_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1072,6 +1159,8 @@
|
|||
};
|
||||
|
||||
&usdhc1 {
|
||||
assigned-clocks = <&clk IMX8MQ_CLK_USDHC1>;
|
||||
assigned-clock-rates = <400000000>;
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc1>;
|
||||
pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
|
||||
|
@ -1084,6 +1173,8 @@
|
|||
};
|
||||
|
||||
&usdhc2 {
|
||||
assigned-clocks = <&clk IMX8MQ_CLK_USDHC2>;
|
||||
assigned-clock-rates = <200000000>;
|
||||
pinctrl-names = "default", "state_100mhz", "state_200mhz";
|
||||
pinctrl-0 = <&pinctrl_usdhc2>;
|
||||
pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
|
||||
|
|
|
@ -10,6 +10,56 @@
|
|||
/ {
|
||||
model = "ZII Ultra RMB3 Board";
|
||||
compatible = "zii,imx8mq-ultra-rmb3", "zii,imx8mq-ultra", "fsl,imx8mq";
|
||||
|
||||
sound1 {
|
||||
compatible = "simple-audio-card";
|
||||
simple-audio-card,name = "front";
|
||||
simple-audio-card,format = "i2s";
|
||||
simple-audio-card,bitclock-master = <&sound1_codec>;
|
||||
simple-audio-card,frame-master = <&sound1_codec>;
|
||||
simple-audio-card,widgets =
|
||||
"Headphone", "Headphone Jack Front";
|
||||
simple-audio-card,routing =
|
||||
"Headphone Jack Front", "HPA1 HPLEFT",
|
||||
"Headphone Jack Front", "HPA1 HPRIGHT",
|
||||
"HPA1 LEFTIN", "HPL",
|
||||
"HPA1 RIGHTIN", "HPR";
|
||||
simple-audio-card,aux-devs = <&hpa1>;
|
||||
|
||||
sound1_cpu: simple-audio-card,cpu {
|
||||
sound-dai = <&sai2>;
|
||||
};
|
||||
|
||||
sound1_codec: simple-audio-card,codec {
|
||||
sound-dai = <&codec1>;
|
||||
clocks = <&cs2000>;
|
||||
};
|
||||
};
|
||||
|
||||
sound2 {
|
||||
compatible = "simple-audio-card";
|
||||
simple-audio-card,name = "periph";
|
||||
simple-audio-card,format = "i2s";
|
||||
simple-audio-card,bitclock-master = <&sound2_codec>;
|
||||
simple-audio-card,frame-master = <&sound2_codec>;
|
||||
simple-audio-card,widgets =
|
||||
"Headphone", "Headphone Jack Back";
|
||||
simple-audio-card,routing =
|
||||
"Headphone Jack Back", "HPA1 HPLEFT",
|
||||
"Headphone Jack Back", "HPA1 HPRIGHT",
|
||||
"HPA1 LEFTIN", "HPL",
|
||||
"HPA1 RIGHTIN", "HPR";
|
||||
simple-audio-card,aux-devs = <&hpa2>;
|
||||
|
||||
sound2_cpu: simple-audio-card,cpu {
|
||||
sound-dai = <&sai3>;
|
||||
};
|
||||
|
||||
sound2_codec: simple-audio-card,codec {
|
||||
sound-dai = <&codec2>;
|
||||
clocks = <&cs2000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ecspi1 {
|
||||
|
@ -27,6 +77,27 @@
|
|||
};
|
||||
};
|
||||
|
||||
&hpa2 {
|
||||
sound-name-prefix = "HPA1";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
codec2: codec@18 {
|
||||
compatible = "ti,tlv320dac3100";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_codec2>;
|
||||
reg = <0x18>;
|
||||
#sound-dai-cells = <0>;
|
||||
HPVDD-supply = <®_3p3v>;
|
||||
SPRVDD-supply = <®_3p3v>;
|
||||
SPLVDD-supply = <®_3p3v>;
|
||||
AVDD-supply = <®_3p3v>;
|
||||
IOVDD-supply = <®_3p3v>;
|
||||
DVDD-supply = <&vgen4_reg>;
|
||||
reset-gpios = <&gpio3 4 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
temp-sense@48 {
|
||||
compatible = "national,lm75";
|
||||
|
@ -56,6 +127,8 @@
|
|||
touchscreen-inverted-x;
|
||||
touchscreen-swapped-x-y;
|
||||
syna,sensor-type = <1>;
|
||||
syna,delta-x-threshold = <5>;
|
||||
syna,delta-y-threshold = <10>;
|
||||
};
|
||||
|
||||
rmi4-f12@12 {
|
||||
|
@ -79,11 +152,23 @@
|
|||
};
|
||||
};
|
||||
|
||||
&sai3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sai3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbhub {
|
||||
swap-dx-lanes = <0>;
|
||||
};
|
||||
|
||||
&iomuxc {
|
||||
pinctrl_codec2: dac2grp {
|
||||
fsl,pins = <
|
||||
MX8MQ_IOMUXC_NAND_CE3_B_GPIO3_IO4 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_ecspi1: ecspi1grp {
|
||||
fsl,pins = <
|
||||
MX8MQ_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x19
|
||||
|
@ -92,4 +177,12 @@
|
|||
MX8MQ_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI 0x82
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_sai3: sai3grp {
|
||||
fsl,pins = <
|
||||
MX8MQ_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6
|
||||
MX8MQ_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6
|
||||
MX8MQ_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -10,6 +10,36 @@
|
|||
/ {
|
||||
model = "ZII Ultra Zest Board";
|
||||
compatible = "zii,imx8mq-ultra-zest", "zii,imx8mq-ultra", "fsl,imx8mq";
|
||||
|
||||
sound {
|
||||
compatible = "simple-audio-card";
|
||||
simple-audio-card,name = "front";
|
||||
simple-audio-card,format = "i2s";
|
||||
simple-audio-card,bitclock-master = <&sound_codec>;
|
||||
simple-audio-card,frame-master = <&sound_codec>;
|
||||
simple-audio-card,widgets =
|
||||
"Headphone", "Headphone Jack Front",
|
||||
"Headphone", "Headphone Jack Back";
|
||||
simple-audio-card,routing =
|
||||
"Headphone Jack Front", "HPA1 HPLEFT",
|
||||
"Headphone Jack Front", "HPA1 HPRIGHT",
|
||||
"Headphone Jack Back", "HPA2 HPLEFT",
|
||||
"Headphone Jack Back", "HPA2 HPRIGHT",
|
||||
"HPA1 LEFTIN", "HPL",
|
||||
"HPA1 RIGHTIN", "HPR",
|
||||
"HPA2 LEFTIN", "HPL",
|
||||
"HPA2 RIGHTIN", "HPR";
|
||||
simple-audio-card,aux-devs = <&hpa1>, <&hpa2>;
|
||||
|
||||
sound_cpu: simple-audio-card,cpu {
|
||||
sound-dai = <&sai2>;
|
||||
};
|
||||
|
||||
sound_codec: simple-audio-card,codec {
|
||||
sound-dai = <&codec1>;
|
||||
clocks = <&cs2000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
|
|
|
@ -77,6 +77,15 @@
|
|||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_3p3v: regulator-3p3v {
|
||||
compatible = "regulator-fixed";
|
||||
vin-supply = <®_3p3_main>;
|
||||
regulator-name = "GEN_3V3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_usdhc2_vmmc: regulator-vsd-3v3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_reg_usdhc2>;
|
||||
|
@ -102,6 +111,18 @@
|
|||
900000 0x0>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
cs2000_ref: cs2000-ref {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <24576000>;
|
||||
};
|
||||
|
||||
cs2000_in_dummy: cs2000-in-dummy {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&A53_0 {
|
||||
|
@ -283,9 +304,19 @@
|
|||
reg = <0x32>;
|
||||
interrupt-parent = <&gpio3>;
|
||||
interrupts = <17 IRQ_TYPE_EDGE_BOTH>,
|
||||
<18 IRQ_TYPE_EDGE_BOTH>;
|
||||
<18 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupt-names = "a_det", "alert";
|
||||
};
|
||||
|
||||
hpa2: amp@60 {
|
||||
compatible = "ti,tpa6130a2";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_tpa2>;
|
||||
reg = <0x60>;
|
||||
power-gpio = <&gpio1 8 GPIO_ACTIVE_HIGH>;
|
||||
Vdd-supply = <®_5p0_main>;
|
||||
sound-name-prefix = "HPA2";
|
||||
};
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
|
@ -378,11 +409,36 @@
|
|||
};
|
||||
};
|
||||
|
||||
codec1: codec@18 {
|
||||
compatible = "ti,tlv320dac3100";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_codec1>;
|
||||
reg = <0x18>;
|
||||
#sound-dai-cells = <0>;
|
||||
HPVDD-supply = <®_3p3v>;
|
||||
SPRVDD-supply = <®_3p3v>;
|
||||
SPLVDD-supply = <®_3p3v>;
|
||||
AVDD-supply = <®_3p3v>;
|
||||
IOVDD-supply = <®_3p3v>;
|
||||
DVDD-supply = <&vgen4_reg>;
|
||||
reset-gpios = <&gpio3 3 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
eeprom@54 {
|
||||
compatible = "atmel,24c128";
|
||||
reg = <0x54>;
|
||||
};
|
||||
|
||||
hpa1: amp@60 {
|
||||
compatible = "ti,tpa6130a2";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_tpa1>;
|
||||
reg = <0x60>;
|
||||
power-gpio = <&gpio4 10 GPIO_ACTIVE_HIGH>;
|
||||
Vdd-supply = <®_5p0_main>;
|
||||
sound-name-prefix = "HPA1";
|
||||
};
|
||||
|
||||
ds1341: rtc@68 {
|
||||
compatible = "dallas,ds1341";
|
||||
reg = <0x68>;
|
||||
|
@ -407,6 +463,16 @@
|
|||
compatible = "zii,rave-wdt";
|
||||
reg = <0x38>;
|
||||
};
|
||||
|
||||
cs2000: clkgen@4e {
|
||||
compatible = "cirrus,cs2000-cp";
|
||||
reg = <0x4e>;
|
||||
#clock-cells = <0>;
|
||||
clock-names = "clk_in", "ref_clk";
|
||||
clocks = <&cs2000_in_dummy>, <&cs2000_ref>;
|
||||
assigned-clocks = <&cs2000>;
|
||||
assigned-clock-rates = <24000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
|
@ -416,6 +482,12 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&sai2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sai2>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart1>;
|
||||
|
@ -468,6 +540,7 @@
|
|||
|
||||
&usb_dwc3_0 {
|
||||
dr_mode = "host";
|
||||
maximum-speed = "high-speed";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -478,6 +551,7 @@
|
|||
|
||||
&usb_dwc3_1 {
|
||||
dr_mode = "host";
|
||||
maximum-speed = "high-speed";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -551,6 +625,12 @@
|
|||
>;
|
||||
};
|
||||
|
||||
pinctrl_codec1: dac1grp {
|
||||
fsl,pins = <
|
||||
MX8MQ_IOMUXC_NAND_CE2_B_GPIO3_IO3 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_fec1: fec1grp {
|
||||
fsl,pins = <
|
||||
MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC 0x3
|
||||
|
@ -583,29 +663,29 @@
|
|||
|
||||
pinctrl_i2c1: i2c1grp {
|
||||
fsl,pins = <
|
||||
MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL 0x4000007f
|
||||
MX8MQ_IOMUXC_I2C1_SDA_I2C1_SDA 0x4000007f
|
||||
MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL 0x40000022
|
||||
MX8MQ_IOMUXC_I2C1_SDA_I2C1_SDA 0x400000a2
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c2: i2c2grp {
|
||||
fsl,pins = <
|
||||
MX8MQ_IOMUXC_I2C2_SCL_I2C2_SCL 0x4000007f
|
||||
MX8MQ_IOMUXC_I2C2_SDA_I2C2_SDA 0x4000007f
|
||||
MX8MQ_IOMUXC_I2C2_SCL_I2C2_SCL 0x40000022
|
||||
MX8MQ_IOMUXC_I2C2_SDA_I2C2_SDA 0x400000a2
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c3: i2c3grp {
|
||||
fsl,pins = <
|
||||
MX8MQ_IOMUXC_I2C3_SCL_I2C3_SCL 0x4000007f
|
||||
MX8MQ_IOMUXC_I2C3_SDA_I2C3_SDA 0x4000007f
|
||||
MX8MQ_IOMUXC_I2C3_SCL_I2C3_SCL 0x40000022
|
||||
MX8MQ_IOMUXC_I2C3_SDA_I2C3_SDA 0x400000a2
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_i2c4: i2c4grp {
|
||||
fsl,pins = <
|
||||
MX8MQ_IOMUXC_I2C4_SCL_I2C4_SCL 0x4000007f
|
||||
MX8MQ_IOMUXC_I2C4_SDA_I2C4_SDA 0x4000007f
|
||||
MX8MQ_IOMUXC_I2C4_SCL_I2C4_SCL 0x40000022
|
||||
MX8MQ_IOMUXC_I2C4_SDA_I2C4_SDA 0x400000a2
|
||||
>;
|
||||
};
|
||||
|
||||
|
@ -642,12 +722,32 @@
|
|||
>;
|
||||
};
|
||||
|
||||
pinctrl_sai2: sai2grp {
|
||||
fsl,pins = <
|
||||
MX8MQ_IOMUXC_SAI2_TXFS_SAI2_TX_SYNC 0xd6
|
||||
MX8MQ_IOMUXC_SAI2_TXC_SAI2_TX_BCLK 0xd6
|
||||
MX8MQ_IOMUXC_SAI2_TXD0_SAI2_TX_DATA0 0xd6
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_switch_irq: switchgrp {
|
||||
fsl,pins = <
|
||||
MX8MQ_IOMUXC_GPIO1_IO15_GPIO1_IO15 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_tpa1: tpa6130-1grp {
|
||||
fsl,pins = <
|
||||
MX8MQ_IOMUXC_SAI1_TXFS_GPIO4_IO10 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_tpa2: tpa6130-2grp {
|
||||
fsl,pins = <
|
||||
MX8MQ_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x41
|
||||
>;
|
||||
};
|
||||
|
||||
pinctrl_ts: tsgrp {
|
||||
fsl,pins = <
|
||||
MX8MQ_IOMUXC_GPIO1_IO11_GPIO1_IO11 0x96
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include "dt-bindings/input/input.h"
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
#include <dt-bindings/interconnect/imx8mq.h>
|
||||
#include "imx8mq-pinfunc.h"
|
||||
|
||||
/ {
|
||||
|
@ -286,11 +287,13 @@
|
|||
};
|
||||
|
||||
soc@0 {
|
||||
compatible = "simple-bus";
|
||||
compatible = "fsl,imx8mq-soc", "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x0 0x0 0x3e000000>;
|
||||
dma-ranges = <0x40000000 0x0 0x40000000 0xc0000000>;
|
||||
nvmem-cells = <&imx8mq_uid>;
|
||||
nvmem-cell-names = "soc_unique_id";
|
||||
|
||||
bus@30000000 { /* AIPS1 */
|
||||
compatible = "fsl,aips-bus", "simple-bus";
|
||||
|
@ -522,6 +525,8 @@
|
|||
<&clk IMX8MQ_VIDEO_PLL1>,
|
||||
<&clk IMX8MQ_VIDEO_PLL1_OUT>;
|
||||
assigned-clock-rates = <0>, <0>, <0>, <594000000>;
|
||||
interconnects = <&noc IMX8MQ_ICM_LCDIF &noc IMX8MQ_ICS_DRAM>;
|
||||
interconnect-names = "dram";
|
||||
status = "disabled";
|
||||
|
||||
port@0 {
|
||||
|
@ -555,9 +560,17 @@
|
|||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
imx8mq_uid: soc-uid@410 {
|
||||
reg = <0x4 0x8>;
|
||||
};
|
||||
|
||||
cpu_speed_grade: speed-grade@10 {
|
||||
reg = <0x10 4>;
|
||||
};
|
||||
|
||||
fec_mac_address: mac-address@90 {
|
||||
reg = <0x90 6>;
|
||||
};
|
||||
};
|
||||
|
||||
anatop: syscon@30360000 {
|
||||
|
@ -826,6 +839,8 @@
|
|||
clocks = <&clk IMX8MQ_CLK_ECSPI1_ROOT>,
|
||||
<&clk IMX8MQ_CLK_ECSPI1_ROOT>;
|
||||
clock-names = "ipg", "per";
|
||||
dmas = <&sdma1 0 7 1>, <&sdma1 1 7 2>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -838,6 +853,8 @@
|
|||
clocks = <&clk IMX8MQ_CLK_ECSPI2_ROOT>,
|
||||
<&clk IMX8MQ_CLK_ECSPI2_ROOT>;
|
||||
clock-names = "ipg", "per";
|
||||
dmas = <&sdma1 2 7 1>, <&sdma1 3 7 2>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -850,6 +867,8 @@
|
|||
clocks = <&clk IMX8MQ_CLK_ECSPI3_ROOT>,
|
||||
<&clk IMX8MQ_CLK_ECSPI3_ROOT>;
|
||||
clock-names = "ipg", "per";
|
||||
dmas = <&sdma1 4 7 1>, <&sdma1 5 7 2>;
|
||||
dma-names = "rx", "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -1016,9 +1035,14 @@
|
|||
reg = <0x30a00300 0x100>;
|
||||
clocks = <&clk IMX8MQ_CLK_DSI_PHY_REF>;
|
||||
clock-names = "phy_ref";
|
||||
assigned-clocks = <&clk IMX8MQ_CLK_DSI_PHY_REF>;
|
||||
assigned-clock-parents = <&clk IMX8MQ_VIDEO_PLL1_OUT>;
|
||||
assigned-clock-rates = <24000000>;
|
||||
assigned-clocks = <&clk IMX8MQ_VIDEO_PLL1_REF_SEL>,
|
||||
<&clk IMX8MQ_VIDEO_PLL1_BYPASS>,
|
||||
<&clk IMX8MQ_CLK_DSI_PHY_REF>,
|
||||
<&clk IMX8MQ_VIDEO_PLL1>;
|
||||
assigned-clock-parents = <&clk IMX8MQ_CLK_25M>,
|
||||
<&clk IMX8MQ_VIDEO_PLL1>,
|
||||
<&clk IMX8MQ_VIDEO_PLL1_OUT>;
|
||||
assigned-clock-rates = <0>, <0>, <24000000>, <594000000>;
|
||||
#phy-cells = <0>;
|
||||
power-domains = <&pgc_mipi>;
|
||||
status = "disabled";
|
||||
|
@ -1152,12 +1176,50 @@
|
|||
<&clk IMX8MQ_CLK_ENET_PHY_REF>;
|
||||
clock-names = "ipg", "ahb", "ptp",
|
||||
"enet_clk_ref", "enet_out";
|
||||
assigned-clocks = <&clk IMX8MQ_CLK_ENET_AXI>,
|
||||
<&clk IMX8MQ_CLK_ENET_TIMER>,
|
||||
<&clk IMX8MQ_CLK_ENET_REF>,
|
||||
<&clk IMX8MQ_CLK_ENET_PHY_REF>;
|
||||
assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_266M>,
|
||||
<&clk IMX8MQ_SYS2_PLL_100M>,
|
||||
<&clk IMX8MQ_SYS2_PLL_125M>,
|
||||
<&clk IMX8MQ_SYS2_PLL_50M>;
|
||||
assigned-clock-rates = <0>, <100000000>, <125000000>, <0>;
|
||||
fsl,num-tx-queues = <3>;
|
||||
fsl,num-rx-queues = <3>;
|
||||
nvmem-cells = <&fec_mac_address>;
|
||||
nvmem-cell-names = "mac-address";
|
||||
nvmem_macaddr_swap;
|
||||
fsl,stop-mode = <&iomuxc_gpr 0x10 3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
noc: interconnect@32700000 {
|
||||
compatible = "fsl,imx8mq-noc", "fsl,imx8m-noc";
|
||||
reg = <0x32700000 0x100000>;
|
||||
clocks = <&clk IMX8MQ_CLK_NOC>;
|
||||
fsl,ddrc = <&ddrc>;
|
||||
#interconnect-cells = <1>;
|
||||
operating-points-v2 = <&noc_opp_table>;
|
||||
|
||||
noc_opp_table: opp-table {
|
||||
compatible = "operating-points-v2";
|
||||
|
||||
opp-133M {
|
||||
opp-hz = /bits/ 64 <133333333>;
|
||||
};
|
||||
|
||||
opp-400M {
|
||||
opp-hz = /bits/ 64 <400000000>;
|
||||
};
|
||||
|
||||
opp-800M {
|
||||
opp-hz = /bits/ 64 <800000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
bus@32c00000 { /* AIPS4 */
|
||||
compatible = "fsl,aips-bus", "simple-bus";
|
||||
reg = <0x32c00000 0x400000>;
|
||||
|
@ -1315,6 +1377,7 @@
|
|||
<0 0 0 3 &gic GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 0 0 4 &gic GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
|
||||
fsl,max-link-speed = <2>;
|
||||
linux,pci-domain = <0>;
|
||||
power-domains = <&pgc_pcie>;
|
||||
resets = <&src IMX8MQ_RESET_PCIEPHY>,
|
||||
<&src IMX8MQ_RESET_PCIE_CTRL_APPS_EN>,
|
||||
|
@ -1344,6 +1407,7 @@
|
|||
<0 0 0 3 &gic GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<0 0 0 4 &gic GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
|
||||
fsl,max-link-speed = <2>;
|
||||
linux,pci-domain = <1>;
|
||||
power-domains = <&pgc_pcie>;
|
||||
resets = <&src IMX8MQ_RESET_PCIEPHY2>,
|
||||
<&src IMX8MQ_RESET_PCIE2_CTRL_APPS_EN>,
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/fsl,qoriq-clockgen.h>
|
||||
|
||||
fman0: fman@1a00000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
@ -15,7 +17,7 @@ fman0: fman@1a00000 {
|
|||
reg = <0x0 0x1a00000 0x0 0xfe000>;
|
||||
interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 3 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_FMAN 0>;
|
||||
clock-names = "fmanclk";
|
||||
fsl,qman-channel-range = <0x800 0x10>;
|
||||
ptimer-handle = <&ptp_timer0>;
|
||||
|
@ -81,6 +83,6 @@ ptp_timer0: ptp-timer@1afe000 {
|
|||
compatible = "fsl,fman-ptp-timer";
|
||||
reg = <0x0 0x1afe000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clockgen 3 0>;
|
||||
clocks = <&clockgen QORIQ_CLK_FMAN 0>;
|
||||
fsl,extts-fifo;
|
||||
};
|
||||
|
|
Загрузка…
Ссылка в новой задаче