...@@ -10,19 +10,19 @@ ...@@ -10,19 +10,19 @@
led0 { led0 {
label = "gen_led0"; label = "gen_led0";
gpios = <&pca6416_1 4 GPIO_ACTIVE_HIGH>; gpios = <&pca6416_1 4 GPIO_ACTIVE_HIGH>;
default-state = "none"; default-state = "off";
}; };
led1 { led1 {
label = "gen_led1"; label = "gen_led1";
gpios = <&pca6416_1 5 GPIO_ACTIVE_HIGH>; gpios = <&pca6416_1 5 GPIO_ACTIVE_HIGH>;
default-state = "none"; default-state = "off";
}; };
led2 { led2 {
label = "gen_led2"; label = "gen_led2";
gpios = <&pca6416_1 6 GPIO_ACTIVE_HIGH>; gpios = <&pca6416_1 6 GPIO_ACTIVE_HIGH>;
default-state = "none"; default-state = "off";
}; };
led3 { led3 {
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
&ecspi2 { &ecspi2 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_espi2>; pinctrl-0 = <&pinctrl_espi2>;
cs-gpios = <&gpio5 9 0>; cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
status = "okay"; status = "okay";
eeprom@0 { eeprom@0 {
...@@ -210,7 +210,7 @@ ...@@ -210,7 +210,7 @@
>; >;
}; };
pinctrl_pcal6414: pcal6414-gpio { pinctrl_pcal6414: pcal6414-gpiogrp {
fsl,pins = < fsl,pins = <
MX8MM_IOMUXC_SAI2_MCLK_GPIO4_IO27 0x19 MX8MM_IOMUXC_SAI2_MCLK_GPIO4_IO27 0x19
>; >;
...@@ -240,7 +240,7 @@ ...@@ -240,7 +240,7 @@
>; >;
}; };
pinctrl_usdhc2_gpio: usdhc2grpgpio { pinctrl_usdhc2_gpio: usdhc2gpiogrp {
fsl,pins = < fsl,pins = <
MX8MM_IOMUXC_SD2_CD_B_USDHC2_CD_B 0x41 MX8MM_IOMUXC_SD2_CD_B_USDHC2_CD_B 0x41
MX8MM_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x41 MX8MM_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x41
...@@ -259,7 +259,7 @@ ...@@ -259,7 +259,7 @@
>; >;
}; };
pinctrl_usdhc2_100mhz: usdhc2grp100mhz { pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
fsl,pins = < fsl,pins = <
MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x194 MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x194
MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4 MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4
...@@ -271,7 +271,7 @@ ...@@ -271,7 +271,7 @@
>; >;
}; };
pinctrl_usdhc2_200mhz: usdhc2grp200mhz { pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
fsl,pins = < fsl,pins = <
MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x196 MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x196
MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6 MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d6
......
...@@ -37,6 +37,10 @@ ...@@ -37,6 +37,10 @@
/delete-property/ assigned-clock-rates; /delete-property/ assigned-clock-rates;
}; };
&reg_usdhc2_vmmc {
u-boot,off-on-delay-us = <20000>;
};
&fec1 { &fec1 {
phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
}; };
......
...@@ -24,6 +24,26 @@ ...@@ -24,6 +24,26 @@
cpu-supply = <&buck2_reg>; cpu-supply = <&buck2_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 { &fec1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fec1>; pinctrl-0 = <&pinctrl_fec1>;
...@@ -52,9 +72,10 @@ ...@@ -52,9 +72,10 @@
pmic@4b { pmic@4b {
compatible = "rohm,bd71847"; compatible = "rohm,bd71847";
reg = <0x4b>; reg = <0x4b>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pmic>; pinctrl-0 = <&pinctrl_pmic>;
interrupt-parent = <&gpio1>; interrupt-parent = <&gpio1>;
interrupts = <3 GPIO_ACTIVE_LOW>; interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
rohm,reset-snvs-powered; rohm,reset-snvs-powered;
regulators { regulators {
...@@ -116,7 +137,7 @@ ...@@ -116,7 +137,7 @@
ldo1_reg: LDO1 { ldo1_reg: LDO1 {
regulator-name = "ldo1"; regulator-name = "ldo1";
regulator-min-microvolt = <3000000>; regulator-min-microvolt = <1600000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
regulator-boot-on; regulator-boot-on;
regulator-always-on; regulator-always-on;
...@@ -124,7 +145,7 @@ ...@@ -124,7 +145,7 @@
ldo2_reg: LDO2 { ldo2_reg: LDO2 {
regulator-name = "ldo2"; regulator-name = "ldo2";
regulator-min-microvolt = <900000>; regulator-min-microvolt = <800000>;
regulator-max-microvolt = <900000>; regulator-max-microvolt = <900000>;
regulator-boot-on; regulator-boot-on;
regulator-always-on; regulator-always-on;
...@@ -164,7 +185,7 @@ ...@@ -164,7 +185,7 @@
status = "okay"; status = "okay";
eeprom@50 { eeprom@50 {
compatible = "microchip, at24c64d", "atmel,24c64"; compatible = "microchip,24c64", "atmel,24c64";
pagesize = <32>; pagesize = <32>;
read-only; /* Manufacturing EEPROM programmed at factory */ read-only; /* Manufacturing EEPROM programmed at factory */
reg = <0x50>; reg = <0x50>;
...@@ -190,6 +211,7 @@ ...@@ -190,6 +211,7 @@
host-wakeup-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>; host-wakeup-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>;
device-wakeup-gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>; device-wakeup-gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
clocks = <&osc_32k>; clocks = <&osc_32k>;
max-speed = <4000000>;
clock-names = "extclk"; clock-names = "extclk";
}; };
}; };
...@@ -270,9 +292,9 @@ ...@@ -270,9 +292,9 @@
>; >;
}; };
pinctrl_pmic: pmicirq { pinctrl_pmic: pmicirqgrp {
fsl,pins = < fsl,pins = <
MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x41 MX8MM_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x141
>; >;
}; };
...@@ -289,7 +311,7 @@ ...@@ -289,7 +311,7 @@
>; >;
}; };
pinctrl_usdhc1_gpio: usdhc1grpgpio { pinctrl_usdhc1_gpio: usdhc1gpiogrp {
fsl,pins = < fsl,pins = <
MX8MM_IOMUXC_SD1_RESET_B_GPIO2_IO10 0x41 MX8MM_IOMUXC_SD1_RESET_B_GPIO2_IO10 0x41
>; >;
...@@ -306,7 +328,7 @@ ...@@ -306,7 +328,7 @@
>; >;
}; };
pinctrl_usdhc1_100mhz: usdhc1grp100mhz { pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
fsl,pins = < fsl,pins = <
MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x194 MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x194
MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d4 MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d4
...@@ -317,7 +339,7 @@ ...@@ -317,7 +339,7 @@
>; >;
}; };
pinctrl_usdhc1_200mhz: usdhc1grp200mhz { pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
fsl,pins = < fsl,pins = <
MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x196 MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x196
MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d6 MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d6
...@@ -344,7 +366,7 @@ ...@@ -344,7 +366,7 @@
>; >;
}; };
pinctrl_usdhc3_100mhz: usdhc3grp100mhz { pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp {
fsl,pins = < fsl,pins = <
MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x194 MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x194
MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d4 MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d4
...@@ -360,7 +382,7 @@ ...@@ -360,7 +382,7 @@
>; >;
}; };
pinctrl_usdhc3_200mhz: usdhc3grp200mhz { pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp {
fsl,pins = < fsl,pins = <
MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x196 MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x196
MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d6 MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d6
......
...@@ -46,6 +46,10 @@ ...@@ -46,6 +46,10 @@
u-boot,dm-spl; u-boot,dm-spl;
}; };
&reg_usdhc2_vmmc {
u-boot,off-on-delay-us = <20000>;
};
&pinctrl_reg_usdhc2_vmmc { &pinctrl_reg_usdhc2_vmmc {
u-boot,dm-spl; u-boot,dm-spl;
}; };
...@@ -96,10 +100,14 @@ ...@@ -96,10 +100,14 @@
&usdhc2 { &usdhc2 {
u-boot,dm-spl; u-boot,dm-spl;
sd-uhs-sdr104;
sd-uhs-ddr50;
}; };
&usdhc3 { &usdhc3 {
u-boot,dm-spl; u-boot,dm-spl;
mmc-hs400-1_8v;
mmc-hs400-enhanced-strobe;
}; };
&i2c1 { &i2c1 {
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
/* /*
* Copyright 2020 Toradex * Copyright 2020 Toradex
*/ */
/ { / {
wdt-reboot { wdt-reboot {
compatible = "wdt-reboot"; compatible = "wdt-reboot";
...@@ -90,11 +89,11 @@ ...@@ -90,11 +89,11 @@
u-boot,dm-spl; u-boot,dm-spl;
}; };
&{/soc@0/bus@30800000/i2c@30a20000/pmic@4b} { &{/soc@0/bus@30800000/i2c@30a20000/pmic} {
u-boot,dm-spl; u-boot,dm-spl;
}; };
&{/soc@0/bus@30800000/i2c@30a20000/pmic@4b/regulators} { &{/soc@0/bus@30800000/i2c@30a20000/pmic/regulators} {
u-boot,dm-spl; u-boot,dm-spl;
}; };
......
...@@ -203,115 +203,123 @@ ...@@ -203,115 +203,123 @@
pinctrl-0 = <&pinctrl_i2c1>; pinctrl-0 = <&pinctrl_i2c1>;
status = "okay"; status = "okay";
pmic@4b { /* Assembled on V1.1 HW and later */
compatible = "rohm,bd71840", "rohm,bd71837"; pmic {
bd71837,pmic-buck2-uses-i2c-dvs; reg = <0x25>;
bd71837,pmic-buck2-dvs-voltage = <1000000>, <900000>, <0>; /* VDD_ARM: Run-Idle */ u-boot,dm-spl;
gpio_intr = <&gpio1 3 GPIO_ACTIVE_LOW>; compatible = "nxp,pca9450a";
/* PMIC BD71837 PMIC_nINT GPIO1_IO3 */ /* PMIC PCA9450 PMIC_nINT GPIO1_IO3 */
pinctrl-0 = <&pinctrl_pmic>; pinctrl-0 = <&pinctrl_pmic>;
reg = <0x4b>; gpio_intr = <&gpio1 3 GPIO_ACTIVE_LOW>;
gpo {
rohm,drv = <0x0C>; /* 0b0000_1100 all gpos with cmos output mode */
};
regulators { regulators {
buck1_reg: BUCK1 { u-boot,dm-spl;
regulator-always-on; #address-cells = <1>;
regulator-boot-on; #size-cells = <0>;
pca9450,pmic-buck2-uses-i2c-dvs;
/* Run/Standby voltage */
pca9450,pmic-buck2-dvs-voltage = <950000>, <850000>;
buck1_reg: regulator@0 {
reg = <0>;
regulator-compatible = "buck1"; regulator-compatible = "buck1";
regulator-max-microvolt = <1300000>; regulator-min-microvolt = <600000>;
regulator-min-microvolt = <700000>; regulator-max-microvolt = <2187500>;
regulator-ramp-delay = <1250>; regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <3125>;
}; };
buck2_reg: BUCK2 { buck2_reg: regulator@1 {
regulator-always-on; reg = <1>;
regulator-boot-on;
regulator-compatible = "buck2"; regulator-compatible = "buck2";
regulator-max-microvolt = <1300000>; regulator-min-microvolt = <600000>;
regulator-min-microvolt = <700000>; regulator-max-microvolt = <2187500>;
regulator-ramp-delay = <1250>; regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <3125>;
}; };
buck5_reg: BUCK5 { buck3_reg: regulator@2 {
regulator-always-on; reg = <2>;
regulator-compatible = "buck3";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <2187500>;
regulator-boot-on; regulator-boot-on;
regulator-compatible = "buck5"; regulator-always-on;
regulator-max-microvolt = <1350000>;
regulator-min-microvolt = <700000>;
}; };
buck6_reg: BUCK6 { buck4_reg: regulator@3 {
regulator-always-on; reg = <3>;
regulator-compatible = "buck4";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <3400000>;
regulator-boot-on; regulator-boot-on;
regulator-compatible = "buck6"; regulator-always-on;
regulator-max-microvolt = <3300000>;
regulator-min-microvolt = <3000000>;
}; };
buck7_reg: BUCK7 { buck5_reg: regulator@4 {
regulator-always-on; reg = <4>;
regulator-compatible = "buck5";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <3400000>;
regulator-boot-on; regulator-boot-on;
regulator-compatible = "buck7"; regulator-always-on;
regulator-max-microvolt = <1995000>;
regulator-min-microvolt = <1605000>;
}; };
buck8_reg: BUCK8 { buck6_reg: regulator@5 {
regulator-always-on; reg = <5>;
regulator-compatible = "buck6";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <3400000>;
regulator-boot-on; regulator-boot-on;
regulator-compatible = "buck8"; regulator-always-on;
regulator-max-microvolt = <1400000>;
regulator-min-microvolt = <800000>;
}; };
ldo1_reg: LDO1 { ldo1_reg: regulator@6 {
regulator-always-on; reg = <6>;
regulator-boot-on;
regulator-compatible = "ldo1"; regulator-compatible = "ldo1";
regulator-min-microvolt = <1600000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
regulator-min-microvolt = <3000000>; regulator-boot-on;
regulator-always-on;
}; };
ldo2_reg: LDO2 { ldo2_reg: regulator@7 {
regulator-always-on; reg = <7>;
regulator-boot-on;
regulator-compatible = "ldo2"; regulator-compatible = "ldo2";
regulator-max-microvolt = <900000>; regulator-min-microvolt = <800000>;
regulator-min-microvolt = <900000>; regulator-max-microvolt = <1150000>;
regulator-boot-on;
regulator-always-on;
}; };
ldo3_reg: LDO3 { ldo3_reg: regulator@8 {
regulator-always-on; reg = <8>;
regulator-boot-on;
regulator-compatible = "ldo3"; regulator-compatible = "ldo3";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
regulator-min-microvolt = <1800000>; regulator-boot-on;
regulator-always-on;
}; };
ldo4_reg: LDO4 { ldo4_reg: regulator@9 {
regulator-always-on; reg = <9>;
regulator-boot-on;
regulator-compatible = "ldo4"; regulator-compatible = "ldo4";
regulator-max-microvolt = <1800000>; regulator-min-microvolt = <800000>;
regulator-min-microvolt = <900000>; regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
}; };
ldo5_reg: LDO5 { ldo5_reg: regulator@10 {
reg = <10>;
regulator-compatible = "ldo5"; regulator-compatible = "ldo5";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
regulator-min-microvolt = <3300000>;
}; };
ldo6_reg: LDO6 {
regulator-always-on;
regulator-boot-on;
regulator-compatible = "ldo6";
regulator-max-microvolt = <1800000>;
regulator-min-microvolt = <900000>;
};
}; };
}; };
...@@ -321,12 +329,6 @@ ...@@ -321,12 +329,6 @@
reg = <0x32>; reg = <0x32>;
}; };
adc@34 {
compatible = "maxim,max11607";
reg = <0x34>;
vcc-supply = <&ldo5_reg>;
};
eeprom_module: eeprom@50 { eeprom_module: eeprom@50 {
compatible = "st,24c02", "atmel,24c02", "i2c-eeprom"; compatible = "st,24c02", "atmel,24c02", "i2c-eeprom";
pagesize = <16>; pagesize = <16>;
......
...@@ -18,10 +18,18 @@ ...@@ -18,10 +18,18 @@
aliases { aliases {
ethernet0 = &fec1; ethernet0 = &fec1;
gpio0 = &gpio1;
gpio1 = &gpio2;
gpio2 = &gpio3;
gpio3 = &gpio4;
gpio4 = &gpio5;
i2c0 = &i2c1; i2c0 = &i2c1;
i2c1 = &i2c2; i2c1 = &i2c2;
i2c2 = &i2c3; i2c2 = &i2c3;
i2c3 = &i2c4; i2c3 = &i2c4;
mmc0 = &usdhc1;
mmc1 = &usdhc2;
mmc2 = &usdhc3;
serial0 = &uart1; serial0 = &uart1;
serial1 = &uart2; serial1 = &uart2;
serial2 = &uart3; serial2 = &uart3;
...@@ -29,14 +37,6 @@ ...@@ -29,14 +37,6 @@
spi0 = &ecspi1; spi0 = &ecspi1;
spi1 = &ecspi2; spi1 = &ecspi2;
spi2 = &ecspi3; spi2 = &ecspi3;
mmc0 = &usdhc1;
mmc1 = &usdhc2;
mmc2 = &usdhc3;
gpio0 = &gpio1;
gpio1 = &gpio2;
gpio2 = &gpio3;
gpio3 = &gpio4;
gpio4 = &gpio5;
}; };
cpus { cpus {
...@@ -68,6 +68,7 @@ ...@@ -68,6 +68,7 @@
nvmem-cells = <&cpu_speed_grade>; nvmem-cells = <&cpu_speed_grade>;
nvmem-cell-names = "speed_grade"; nvmem-cell-names = "speed_grade";
cpu-idle-states = <&cpu_pd_wait>; cpu-idle-states = <&cpu_pd_wait>;
#cooling-cells = <2>;
}; };
A53_1: cpu@1 { A53_1: cpu@1 {
...@@ -80,6 +81,7 @@ ...@@ -80,6 +81,7 @@
next-level-cache = <&A53_L2>; next-level-cache = <&A53_L2>;
operating-points-v2 = <&a53_opp_table>; operating-points-v2 = <&a53_opp_table>;
cpu-idle-states = <&cpu_pd_wait>; cpu-idle-states = <&cpu_pd_wait>;
#cooling-cells = <2>;
}; };
A53_2: cpu@2 { A53_2: cpu@2 {
...@@ -92,6 +94,7 @@ ...@@ -92,6 +94,7 @@
next-level-cache = <&A53_L2>; next-level-cache = <&A53_L2>;
operating-points-v2 = <&a53_opp_table>; operating-points-v2 = <&a53_opp_table>;
cpu-idle-states = <&cpu_pd_wait>; cpu-idle-states = <&cpu_pd_wait>;
#cooling-cells = <2>;
}; };
A53_3: cpu@3 { A53_3: cpu@3 {
...@@ -104,6 +107,7 @@ ...@@ -104,6 +107,7 @@
next-level-cache = <&A53_L2>; next-level-cache = <&A53_L2>;
operating-points-v2 = <&a53_opp_table>; operating-points-v2 = <&a53_opp_table>;
cpu-idle-states = <&cpu_pd_wait>; cpu-idle-states = <&cpu_pd_wait>;
#cooling-cells = <2>;
}; };
A53_L2: l2-cache0 { A53_L2: l2-cache0 {
...@@ -125,7 +129,7 @@ ...@@ -125,7 +129,7 @@
opp-1600000000 { opp-1600000000 {
opp-hz = /bits/ 64 <1600000000>; opp-hz = /bits/ 64 <1600000000>;
opp-microvolt = <900000>; opp-microvolt = <950000>;
opp-supported-hw = <0xc>, <0x7>; opp-supported-hw = <0xc>, <0x7>;
clock-latency-ns = <150000>; clock-latency-ns = <150000>;
opp-suspend; opp-suspend;
...@@ -204,6 +208,38 @@ ...@@ -204,6 +208,38 @@
arm,no-tick-in-suspend; arm,no-tick-in-suspend;
}; };
thermal-zones {
cpu-thermal {
polling-delay-passive = <250>;
polling-delay = <2000>;
thermal-sensors = <&tmu>;
trips {
cpu_alert0: trip0 {
temperature = <85000>;
hysteresis = <2000>;
type = "passive";
};
cpu_crit0: trip1 {
temperature = <95000>;
hysteresis = <2000>;
type = "critical";
};
};
cooling-maps {
map0 {
trip = <&cpu_alert0>;
cooling-device =
<&A53_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
<&A53_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
<&A53_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
<&A53_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
};
usbphynop1: usbphynop1 { usbphynop1: usbphynop1 {
compatible = "usb-nop-xceiv"; compatible = "usb-nop-xceiv";
clocks = <&clk IMX8MM_CLK_USB_PHY_REF>; clocks = <&clk IMX8MM_CLK_USB_PHY_REF>;
...@@ -227,12 +263,14 @@ ...@@ -227,12 +263,14 @@
ranges = <0x0 0x0 0x0 0x3e000000>; ranges = <0x0 0x0 0x0 0x3e000000>;
aips1: bus@30000000 { aips1: bus@30000000 {
compatible = "simple-bus"; compatible = "fsl,aips-bus", "simple-bus";
reg = <0x30000000 0x400000>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
ranges = <0x30000000 0x30000000 0x400000>; ranges = <0x30000000 0x30000000 0x400000>;
sai1: sai@30010000 { sai1: sai@30010000 {
#sound-dai-cells = <0>;
compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
reg = <0x30010000 0x10000>; reg = <0x30010000 0x10000>;
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
...@@ -246,6 +284,7 @@ ...@@ -246,6 +284,7 @@
}; };
sai2: sai@30020000 { sai2: sai@30020000 {
#sound-dai-cells = <0>;
compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
reg = <0x30020000 0x10000>; reg = <0x30020000 0x10000>;
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
...@@ -273,6 +312,7 @@ ...@@ -273,6 +312,7 @@
}; };
sai5: sai@30050000 { sai5: sai@30050000 {
#sound-dai-cells = <0>;
compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
reg = <0x30050000 0x10000>; reg = <0x30050000 0x10000>;
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
...@@ -286,6 +326,7 @@ ...@@ -286,6 +326,7 @@
}; };
sai6: sai@30060000 { sai6: sai@30060000 {
#sound-dai-cells = <0>;
compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai"; compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
reg = <0x30060000 0x10000>; reg = <0x30060000 0x10000>;
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
...@@ -363,6 +404,13 @@ ...@@ -363,6 +404,13 @@
gpio-ranges = <&iomuxc 0 119 30>; gpio-ranges = <&iomuxc 0 119 30>;
}; };
tmu: tmu@30260000 {
compatible = "fsl,imx8mm-tmu";
reg = <0x30260000 0x10000>;
clocks = <&clk IMX8MM_CLK_TMU_ROOT>;
#thermal-sensor-cells = <0>;
};
wdog1: watchdog@30280000 { wdog1: watchdog@30280000 {
compatible = "fsl,imx8mm-wdt", "fsl,imx21-wdt"; compatible = "fsl,imx8mm-wdt", "fsl,imx21-wdt";
reg = <0x30280000 0x10000>; reg = <0x30280000 0x10000>;
...@@ -419,7 +467,7 @@ ...@@ -419,7 +467,7 @@
reg = <0x30340000 0x10000>; reg = <0x30340000 0x10000>;
}; };
ocotp: ocotp-ctrl@30350000 { ocotp: efuse@30350000 {
compatible = "fsl,imx8mm-ocotp", "syscon"; compatible = "fsl,imx8mm-ocotp", "syscon";
reg = <0x30350000 0x10000>; reg = <0x30350000 0x10000>;
clocks = <&clk IMX8MM_CLK_OCOTP_ROOT>; clocks = <&clk IMX8MM_CLK_OCOTP_ROOT>;
...@@ -455,6 +503,8 @@ ...@@ -455,6 +503,8 @@
compatible = "fsl,sec-v4.0-pwrkey"; compatible = "fsl,sec-v4.0-pwrkey";
regmap = <&snvs>; regmap = <&snvs>;
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk IMX8MM_CLK_SNVS_ROOT>;
clock-names = "snvs-pwrkey";
linux,keycode = <KEY_POWER>; linux,keycode = <KEY_POWER>;
wakeup-source; wakeup-source;
status = "disabled"; status = "disabled";
...@@ -469,16 +519,20 @@ ...@@ -469,16 +519,20 @@
<&clk_ext3>, <&clk_ext4>; <&clk_ext3>, <&clk_ext4>;
clock-names = "osc_32k", "osc_24m", "clk_ext1", "clk_ext2", clock-names = "osc_32k", "osc_24m", "clk_ext1", "clk_ext2",
"clk_ext3", "clk_ext4"; "clk_ext3", "clk_ext4";
assigned-clocks = <&clk IMX8MM_CLK_NOC>, assigned-clocks = <&clk IMX8MM_CLK_A53_SRC>,
<&clk IMX8MM_CLK_A53_CORE>,
<&clk IMX8MM_CLK_NOC>,
<&clk IMX8MM_CLK_AUDIO_AHB>, <&clk IMX8MM_CLK_AUDIO_AHB>,
<&clk IMX8MM_CLK_IPG_AUDIO_ROOT>, <&clk IMX8MM_CLK_IPG_AUDIO_ROOT>,
<&clk IMX8MM_SYS_PLL3>, <&clk IMX8MM_SYS_PLL3>,
<&clk IMX8MM_VIDEO_PLL1>, <&clk IMX8MM_VIDEO_PLL1>,
<&clk IMX8MM_AUDIO_PLL1>, <&clk IMX8MM_AUDIO_PLL1>,
<&clk IMX8MM_AUDIO_PLL2>; <&clk IMX8MM_AUDIO_PLL2>;
assigned-clock-parents = <&clk IMX8MM_SYS_PLL3_OUT>, assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_800M>,
<&clk IMX8MM_ARM_PLL_OUT>,
<&clk IMX8MM_SYS_PLL3_OUT>,
<&clk IMX8MM_SYS_PLL1_800M>; <&clk IMX8MM_SYS_PLL1_800M>;
assigned-clock-rates = <0>, assigned-clock-rates = <0>, <0>, <0>,
<400000000>, <400000000>,
<400000000>, <400000000>,
<750000000>, <750000000>,
...@@ -496,7 +550,8 @@ ...@@ -496,7 +550,8 @@
}; };
aips2: bus@30400000 { aips2: bus@30400000 {
compatible = "simple-bus"; compatible = "fsl,aips-bus", "simple-bus";
reg = <0x30400000 0x400000>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
ranges = <0x30400000 0x30400000 0x400000>; ranges = <0x30400000 0x30400000 0x400000>;
...@@ -555,10 +610,12 @@ ...@@ -555,10 +610,12 @@
}; };
aips3: bus@30800000 { aips3: bus@30800000 {
compatible = "simple-bus"; compatible = "fsl,aips-bus", "simple-bus";
reg = <0x30800000 0x400000>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
ranges = <0x30800000 0x30800000 0x400000>; ranges = <0x30800000 0x30800000 0x400000>,
<0x8000000 0x8000000 0x10000000>;
ecspi1: spi@30820000 { ecspi1: spi@30820000 {
compatible = "fsl,imx8mm-ecspi", "fsl,imx51-ecspi"; compatible = "fsl,imx8mm-ecspi", "fsl,imx51-ecspi";
...@@ -718,6 +775,14 @@ ...@@ -718,6 +775,14 @@
status = "disabled"; status = "disabled";
}; };
mu: mailbox@30aa0000 {
compatible = "fsl,imx8mm-mu", "fsl,imx6sx-mu";
reg = <0x30aa0000 0x10000>;
interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk IMX8MM_CLK_MU_ROOT>;
#mbox-cells = <2>;
};
usdhc1: mmc@30b40000 { usdhc1: mmc@30b40000 {
compatible = "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc"; compatible = "fsl,imx8mm-usdhc", "fsl,imx7d-usdhc";
reg = <0x30b40000 0x10000>; reg = <0x30b40000 0x10000>;
...@@ -760,6 +825,19 @@ ...@@ -760,6 +825,19 @@
status = "disabled"; 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 IMX8MM_CLK_QSPI_ROOT>,
<&clk IMX8MM_CLK_QSPI_ROOT>;
clock-names = "fspi", "fspi_en";
status = "disabled";
};
sdma1: dma-controller@30bd0000 { sdma1: dma-controller@30bd0000 {
compatible = "fsl,imx8mm-sdma", "fsl,imx8mq-sdma"; compatible = "fsl,imx8mm-sdma", "fsl,imx8mq-sdma";
reg = <0x30bd0000 0x10000>; reg = <0x30bd0000 0x10000>;
...@@ -776,7 +854,8 @@ ...@@ -776,7 +854,8 @@
reg = <0x30be0000 0x10000>; reg = <0x30be0000 0x10000>;
interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk IMX8MM_CLK_ENET1_ROOT>, clocks = <&clk IMX8MM_CLK_ENET1_ROOT>,
<&clk IMX8MM_CLK_ENET1_ROOT>, <&clk IMX8MM_CLK_ENET1_ROOT>,
<&clk IMX8MM_CLK_ENET_TIMER>, <&clk IMX8MM_CLK_ENET_TIMER>,
...@@ -800,7 +879,8 @@ ...@@ -800,7 +879,8 @@
}; };
aips4: bus@32c00000 { aips4: bus@32c00000 {
compatible = "simple-bus"; compatible = "fsl,aips-bus", "simple-bus";
reg = <0x32c00000 0x400000>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
ranges = <0x32c00000 0x32c00000 0x400000>; ranges = <0x32c00000 0x32c00000 0x400000>;
...@@ -896,7 +976,6 @@ ...@@ -896,7 +976,6 @@
ddr-pmu@3d800000 { ddr-pmu@3d800000 {
compatible = "fsl,imx8mm-ddr-pmu", "fsl,imx8m-ddr-pmu"; compatible = "fsl,imx8mm-ddr-pmu", "fsl,imx8m-ddr-pmu";
reg = <0x3d800000 0x400000>; reg = <0x3d800000 0x400000>;
interrupt-parent = <&gic>;
interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
}; };
}; };
......
...@@ -47,6 +47,10 @@ ...@@ -47,6 +47,10 @@
u-boot,dm-spl; u-boot,dm-spl;
}; };
&reg_usdhc2_vmmc {
u-boot,off-on-delay-us = <20000>;
};
&pinctrl_uart2 { &pinctrl_uart2 {
u-boot,dm-spl; u-boot,dm-spl;
}; };
...@@ -93,10 +97,14 @@ ...@@ -93,10 +97,14 @@
&usdhc2 { &usdhc2 {
u-boot,dm-spl; u-boot,dm-spl;
sd-uhs-sdr104;
sd-uhs-ddr50;
}; };
&usdhc3 { &usdhc3 {
u-boot,dm-spl; u-boot,dm-spl;
mmc-hs400-1_8v;
mmc-hs400-enhanced-strobe;
}; };
&wdog1 { &wdog1 {
......
This diff is collapsed.
This diff is collapsed.
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
&reg_usdhc2_vmmc {
u-boot,off-on-delay-us = <20000>;
};
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.