Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'imx-dt64-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt

i.MX arm64 device tree change for 6.3:

- New board support: i.MX8MP Beacon Kit, Debix Model A Board,
Verdin Yavia boards.
- Add Flexcan and ADC support for i.MX93.
- A series from Krzysztof Kozlowski to align LED node names with
dtschema and use generic node name for rave-sp.
- Move PCIe controller clock setup from board dts to SoC dtsi.
- Add clock-cells to i.MX8MP hsio-blk-ctrl device.
- Add TMU phandle to calibration data in OCOTP for i.MX8M.
- Improve bluetooth UART on DH electronics i.MX8M Plus DHCOM.
- Drop sd-vsel-gpios from i.MX8M Verdin SoM and DHCOM SoM.
- A series from Peng Fan to improve iomuxc-gpr device for i.MX8M.
- Declare IOMMU cache-coherent page table walk feature for LS1028A and
LS1088A.
- A few small corrections and random updates.

* tag 'imx-dt64-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (50 commits)
arm64: ls1046ardb: Use in-band-status for SFP module
arm64: dts: imx8mp-verdin: Add yavia carrier board
arm64: dts: imx8mm-verdin: Add yavia carrier board
arm64: dts: imx8q: use generic node name for rave-sp
arm64: dts: imx8mp-verdin-dev: Do not include dahlia dtsi
arm64: dts: imx8mm-verdin-dev: Do not include dahlia dtsi
arm64: dts: imx8mp: Drop sd-vsel-gpios from i.MX8M Plus DHCOM SoM
arm64: dts: imx8mp: Drop sd-vsel-gpios from i.MX8M Plus Verdin SoM
arm64: dts: imx8mm: Drop sd-vsel-gpios from i.MX8M Mini Verdin SoM
arm64: dts: imx8mp: Improve bluetooth UART on DH electronics i.MX8M Plus DHCOM
arm64: dts: freescale: Introduce imx8mp-beacon-kit
arm64: dts: imx8mm-evk: use correct gpio-expander compatible
arm64: dts: imx93: add ADC support
arm64: dts: imx8mp: Reorder clock to match fsl,imx6q-pcie.yaml
arm64: dts: imx8mq: Deduplicate PCIe clock-names property
arm64: dts: imx8mm: Deduplicate PCIe clock-names property
arm64: dts: verdin-imx8mp: unify gpio-key node name
arm64: dts: ls1028a: sl28: get MAC addresses from VPD
arm64: dts: freescale: Add LVDS overlay for TQMa8MPxL
arm64: dts: imx8mp: Add LCDIF2 & LDB nodes
...

Link: https://lore.kernel.org/r/20230130023947.11780-5-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+2717 -280
+10
arch/arm64/boot/dts/freescale/Makefile
··· 75 75 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw7904.dtb 76 76 dtb-$(CONFIG_ARCH_MXC) += imx8mm-verdin-nonwifi-dahlia.dtb 77 77 dtb-$(CONFIG_ARCH_MXC) += imx8mm-verdin-nonwifi-dev.dtb 78 + dtb-$(CONFIG_ARCH_MXC) += imx8mm-verdin-nonwifi-yavia.dtb 78 79 dtb-$(CONFIG_ARCH_MXC) += imx8mm-verdin-wifi-dahlia.dtb 79 80 dtb-$(CONFIG_ARCH_MXC) += imx8mm-verdin-wifi-dev.dtb 81 + dtb-$(CONFIG_ARCH_MXC) += imx8mm-verdin-wifi-yavia.dtb 80 82 dtb-$(CONFIG_ARCH_MXC) += imx8mn-beacon-kit.dtb 81 83 dtb-$(CONFIG_ARCH_MXC) += imx8mn-bsh-smm-s2.dtb 82 84 dtb-$(CONFIG_ARCH_MXC) += imx8mn-bsh-smm-s2pro.dtb ··· 88 86 dtb-$(CONFIG_ARCH_MXC) += imx8mn-tqma8mqnl-mba8mx.dtb 89 87 dtb-$(CONFIG_ARCH_MXC) += imx8mn-var-som-symphony.dtb 90 88 dtb-$(CONFIG_ARCH_MXC) += imx8mn-venice-gw7902.dtb 89 + dtb-$(CONFIG_ARCH_MXC) += imx8mp-beacon-kit.dtb 90 + dtb-$(CONFIG_ARCH_MXC) += imx8mp-debix-model-a.dtb 91 91 dtb-$(CONFIG_ARCH_MXC) += imx8mp-dhcom-pdk2.dtb 92 92 dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk.dtb 93 93 dtb-$(CONFIG_ARCH_MXC) += imx8mp-icore-mx8mp-edimm2.2.dtb ··· 99 95 dtb-$(CONFIG_ARCH_MXC) += imx8mp-venice-gw74xx.dtb 100 96 dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-nonwifi-dahlia.dtb 101 97 dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-nonwifi-dev.dtb 98 + dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-nonwifi-yavia.dtb 102 99 dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-wifi-dahlia.dtb 103 100 dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-wifi-dev.dtb 101 + dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-wifi-yavia.dtb 102 + 103 + imx8mp-tqma8mpql-mba8mpxl-lvds-dtbs += imx8mp-tqma8mpql-mba8mpxl.dtb imx8mp-tqma8mpql-mba8mpxl-lvds.dtbo 104 + dtb-$(CONFIG_ARCH_MXC) += imx8mp-tqma8mpql-mba8mpxl-lvds.dtb 105 + 104 106 dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk.dtb 105 107 dtb-$(CONFIG_ARCH_MXC) += imx8mq-hummingboard-pulse.dtb 106 108 dtb-$(CONFIG_ARCH_MXC) += imx8mq-kontron-pitx-imx8m.dtb
+12
arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-kbox-a-230-ls.dts
··· 56 56 }; 57 57 58 58 &enetc_port2 { 59 + nvmem-cells = <&base_mac_address 2>; 60 + nvmem-cell-names = "mac-address"; 59 61 status = "okay"; 60 62 }; 61 63 62 64 &enetc_port3 { 65 + nvmem-cells = <&base_mac_address 3>; 66 + nvmem-cell-names = "mac-address"; 63 67 status = "okay"; 64 68 }; 65 69 ··· 84 80 managed = "in-band-status"; 85 81 phy-handle = <&qsgmii_phy0>; 86 82 phy-mode = "qsgmii"; 83 + nvmem-cells = <&base_mac_address 4>; 84 + nvmem-cell-names = "mac-address"; 87 85 status = "okay"; 88 86 }; 89 87 ··· 94 88 managed = "in-band-status"; 95 89 phy-handle = <&qsgmii_phy1>; 96 90 phy-mode = "qsgmii"; 91 + nvmem-cells = <&base_mac_address 5>; 92 + nvmem-cell-names = "mac-address"; 97 93 status = "okay"; 98 94 }; 99 95 ··· 104 96 managed = "in-band-status"; 105 97 phy-handle = <&qsgmii_phy2>; 106 98 phy-mode = "qsgmii"; 99 + nvmem-cells = <&base_mac_address 6>; 100 + nvmem-cell-names = "mac-address"; 107 101 status = "okay"; 108 102 }; 109 103 ··· 114 104 managed = "in-band-status"; 115 105 phy-handle = <&qsgmii_phy3>; 116 106 phy-mode = "qsgmii"; 107 + nvmem-cells = <&base_mac_address 7>; 108 + nvmem-cell-names = "mac-address"; 117 109 status = "okay"; 118 110 }; 119 111
+2
arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var1.dts
··· 55 55 &enetc_port1 { 56 56 phy-handle = <&phy0>; 57 57 phy-mode = "rgmii-id"; 58 + nvmem-cells = <&base_mac_address 0>; 59 + nvmem-cell-names = "mac-address"; 58 60 status = "okay"; 59 61 };
+8
arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var2.dts
··· 36 36 }; 37 37 38 38 &enetc_port2 { 39 + nvmem-cells = <&base_mac_address 2>; 40 + nvmem-cell-names = "mac-address"; 39 41 status = "okay"; 40 42 }; 41 43 42 44 &enetc_port3 { 45 + nvmem-cells = <&base_mac_address 3>; 46 + nvmem-cell-names = "mac-address"; 43 47 status = "okay"; 44 48 }; 45 49 ··· 56 52 managed = "in-band-status"; 57 53 phy-handle = <&phy0>; 58 54 phy-mode = "sgmii"; 55 + nvmem-cells = <&base_mac_address 0>; 56 + nvmem-cell-names = "mac-address"; 59 57 status = "okay"; 60 58 }; 61 59 ··· 66 60 managed = "in-band-status"; 67 61 phy-handle = <&phy1>; 68 62 phy-mode = "sgmii"; 63 + nvmem-cells = <&base_mac_address 1>; 64 + nvmem-cell-names = "mac-address"; 69 65 status = "okay"; 70 66 }; 71 67
+2
arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var4.dts
··· 43 43 &enetc_port1 { 44 44 phy-handle = <&phy1>; 45 45 phy-mode = "rgmii-id"; 46 + nvmem-cells = <&base_mac_address 1>; 47 + nvmem-cell-names = "mac-address"; 46 48 status = "okay"; 47 49 };
+17
arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts
··· 92 92 phy-handle = <&phy0>; 93 93 phy-mode = "sgmii"; 94 94 managed = "in-band-status"; 95 + nvmem-cells = <&base_mac_address 0>; 96 + nvmem-cell-names = "mac-address"; 95 97 status = "okay"; 96 98 }; 97 99 ··· 154 152 partition@3e0000 { 155 153 reg = <0x3e0000 0x020000>; 156 154 label = "bootloader environment"; 155 + }; 156 + }; 157 + 158 + otp-1 { 159 + compatible = "user-otp"; 160 + 161 + nvmem-layout { 162 + compatible = "kontron,sl28-vpd"; 163 + 164 + serial_number: serial-number { 165 + }; 166 + 167 + base_mac_address: base-mac-address { 168 + #nvmem-cell-cells = <1>; 169 + }; 157 170 }; 158 171 }; 159 172 };
+1
arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
··· 713 713 reg = <0 0x5000000 0 0x800000>; 714 714 #global-interrupts = <8>; 715 715 #iommu-cells = <1>; 716 + dma-coherent; 716 717 stream-match-mask = <0x7c00>; 717 718 /* global secure fault */ 718 719 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+2 -2
arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts
··· 153 153 }; 154 154 155 155 ethernet@f2000 { /* 10GEC2 */ 156 - fixed-link = <0 1 1000 0 0>; 157 - phy-connection-type = "xgmii"; 156 + phy-connection-type = "10gbase-r"; 157 + managed = "in-band-status"; 158 158 }; 159 159 160 160 mdio@fc000 {
+1
arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
··· 674 674 reg = <0 0x5000000 0 0x800000>; 675 675 #iommu-cells = <1>; 676 676 stream-match-mask = <0x7C00>; 677 + dma-coherent; 677 678 #global-interrupts = <12>; 678 679 // global secure fault 679 680 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
+1
arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
··· 135 135 reg = <0>; 136 136 eee-broken-1000t; 137 137 qca,disable-smarteee; 138 + qca,disable-hibernation-mode; 138 139 vddio-supply = <&vddio0>; 139 140 140 141 vddio0: vddio-regulator {
+1 -1
arch/arm64/boot/dts/freescale/imx8dxl-ss-conn.dtsi
··· 67 67 reg = <0x5b0e0200 0x200>; 68 68 }; 69 69 70 - usbphy2: usbphy@0x5b110000 { 70 + usbphy2: usbphy@5b110000 { 71 71 compatible = "fsl,imx8dxl-usbphy", "fsl,imx7ulp-usbphy"; 72 72 reg = <0x5b110000 0x1000>; 73 73 clocks = <&usb2_2_lpcg IMX_LPCG_CLK_7>;
+2 -3
arch/arm64/boot/dts/freescale/imx8mm-beacon-baseboard.dtsi
··· 241 241 pinctrl-names = "default"; 242 242 pinctrl-0 = <&pinctrl_pcie0>; 243 243 reset-gpio = <&gpio4 21 GPIO_ACTIVE_LOW>; 244 - clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>, 245 - <&pcie0_refclk_gated>; 246 - clock-names = "pcie", "pcie_aux", "pcie_bus"; 244 + clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&pcie0_refclk_gated>, 245 + <&clk IMX8MM_CLK_PCIE1_AUX>; 247 246 assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>, 248 247 <&clk IMX8MM_CLK_PCIE1_CTRL>; 249 248 assigned-clock-rates = <10000000>, <250000000>;
+2 -3
arch/arm64/boot/dts/freescale/imx8mm-data-modul-edm-sbc.dts
··· 904 904 pinctrl-names = "default"; 905 905 pinctrl-0 = <&pinctrl_pcie0>; 906 906 reset-gpio = <&gpio1 5 GPIO_ACTIVE_LOW>; 907 - clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>, 908 - <&pcieclk 0>; 909 - clock-names = "pcie", "pcie_aux", "pcie_bus"; 907 + clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&pcieclk 0>, 908 + <&clk IMX8MM_CLK_PCIE1_AUX>; 910 909 assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>, 911 910 <&clk IMX8MM_CLK_PCIE1_CTRL>; 912 911 assigned-clock-rates = <10000000>, <250000000>;
+2 -2
arch/arm64/boot/dts/freescale/imx8mm-emcon.dtsi
··· 18 18 pinctrl-names = "default"; 19 19 pinctrl-0 = <&pinctrl_gpio_led>; 20 20 21 - green { 21 + led-green { 22 22 label = "som:green"; 23 23 gpios = <&gpio3 4 GPIO_ACTIVE_HIGH>; 24 24 default-state = "on"; 25 25 linux,default-trigger = "heartbeat"; 26 26 }; 27 27 28 - red { 28 + led-red { 29 29 label = "som:red"; 30 30 gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>; 31 31 default-state = "off";
+3 -4
arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
··· 340 340 status = "okay"; 341 341 342 342 pca6416: gpio@20 { 343 - compatible = "ti,tca6416"; 343 + compatible = "nxp,pca6416"; 344 344 reg = <0x20>; 345 345 gpio-controller; 346 346 #gpio-cells = <2>; ··· 360 360 pinctrl-names = "default"; 361 361 pinctrl-0 = <&pinctrl_pcie0>; 362 362 reset-gpio = <&gpio4 21 GPIO_ACTIVE_LOW>; 363 - clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>, 364 - <&pcie0_refclk>; 365 - clock-names = "pcie", "pcie_aux", "pcie_bus"; 363 + clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&pcie0_refclk>, 364 + <&clk IMX8MM_CLK_PCIE1_AUX>; 366 365 assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>, 367 366 <&clk IMX8MM_CLK_PCIE1_CTRL>; 368 367 assigned-clock-rates = <10000000>, <250000000>;
-3
arch/arm64/boot/dts/freescale/imx8mm-innocomm-wb15.dtsi
··· 210 210 pinctrl-names = "default"; 211 211 pinctrl-0 = <&pinctrl_pcie0>; 212 212 reset-gpio = <&gpio5 21 GPIO_ACTIVE_LOW>; 213 - clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_PHY>, 214 - <&clk IMX8MM_CLK_PCIE1_AUX>; 215 - clock-names = "pcie", "pcie_bus", "pcie_aux"; 216 213 fsl,max-link-speed = <1>; 217 214 assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>, <&clk IMX8MM_CLK_PCIE1_CTRL>; 218 215 assigned-clock-rates = <10000000>, <250000000>;
+3 -1
arch/arm64/boot/dts/freescale/imx8mm-kontron-bl.dts
··· 13 13 14 14 aliases { 15 15 ethernet1 = &usbnet; 16 + rtc0 = &rx8900; 17 + rtc1 = &snvs_rtc; 16 18 }; 17 19 18 20 /* fixed crystal dedicated to mcp2515 */ ··· 138 136 pinctrl-0 = <&pinctrl_i2c4>; 139 137 status = "okay"; 140 138 141 - rtc@32 { 139 + rx8900: rtc@32 { 142 140 compatible = "epson,rx8900"; 143 141 reg = <0x32>; 144 142 };
+6 -1
arch/arm64/boot/dts/freescale/imx8mm-kontron-osm-s.dtsi
··· 10 10 model = "Kontron OSM-S i.MX8MM (N802X SOM)"; 11 11 compatible = "kontron,imx8mm-osm-s", "fsl,imx8mm"; 12 12 13 + aliases { 14 + rtc0 = &rv3028; 15 + rtc1 = &snvs_rtc; 16 + }; 17 + 13 18 memory@40000000 { 14 19 device_type = "memory"; 15 20 /* ··· 205 200 }; 206 201 }; 207 202 208 - rtc@52 { 203 + rv3028: rtc@52 { 209 204 compatible = "microcrystal,rv3028"; 210 205 reg = <0x52>; 211 206 pinctrl-names = "default";
+1
arch/arm64/boot/dts/freescale/imx8mm-mx8menlo.dts
··· 10 10 / { 11 11 model = "MENLO MX8MM EMBEDDED DEVICE"; 12 12 compatible = "menlo,mx8menlo", 13 + "toradex,verdin-imx8mm-nonwifi", 13 14 "toradex,verdin-imx8mm", 14 15 "fsl,imx8mm"; 15 16
-3
arch/arm64/boot/dts/freescale/imx8mm-phyboard-polis-rdk.dts
··· 175 175 assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_50M>, 176 176 <&clk IMX8MM_SYS_PLL2_250M>; 177 177 assigned-clock-rates = <10000000>, <250000000>; 178 - clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>, 179 - <&clk IMX8MM_CLK_PCIE1_PHY>; 180 - clock-names = "pcie", "pcie_aux", "pcie_bus"; 181 178 pinctrl-names = "default"; 182 179 pinctrl-0 = <&pinctrl_pcie>; 183 180 reset-gpio = <&gpio4 9 GPIO_ACTIVE_LOW>;
+2 -3
arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dts
··· 79 79 80 80 &pcie0 { 81 81 reset-gpio = <&expander0 14 GPIO_ACTIVE_LOW>; 82 - clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>, 83 - <&pcie0_refclk>; 84 - clock-names = "pcie", "pcie_aux", "pcie_bus"; 82 + clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&pcie0_refclk>, 83 + <&clk IMX8MM_CLK_PCIE1_AUX>; 85 84 assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>, 86 85 <&clk IMX8MM_CLK_PCIE1_CTRL>; 87 86 assigned-clock-rates = <10000000>, <250000000>;
+2 -2
arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml.dtsi
··· 87 87 sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 88 88 status = "okay"; 89 89 90 - sensor0: temperature-sensor-eeprom@1b { 91 - compatible = "nxp,se97", "jedec,jc-42.4-temp"; 90 + sensor0: temperature-sensor@1b { 91 + compatible = "nxp,se97b", "jedec,jc-42.4-temp"; 92 92 reg = <0x1b>; 93 93 }; 94 94
-1
arch/arm64/boot/dts/freescale/imx8mm-var-som.dtsi
··· 231 231 }; 232 232 233 233 ldo5_reg: LDO5 { 234 - regulator-compatible = "ldo5"; 235 234 regulator-min-microvolt = <1800000>; 236 235 regulator-max-microvolt = <1800000>; 237 236 regulator-always-on;
+2 -3
arch/arm64/boot/dts/freescale/imx8mm-venice-gw71xx.dtsi
··· 120 120 pinctrl-names = "default"; 121 121 pinctrl-0 = <&pinctrl_pcie0>; 122 122 reset-gpio = <&gpio4 6 GPIO_ACTIVE_LOW>; 123 - clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>, 124 - <&pcie0_refclk>; 125 - clock-names = "pcie", "pcie_aux", "pcie_bus"; 123 + clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&pcie0_refclk>, 124 + <&clk IMX8MM_CLK_PCIE1_AUX>; 126 125 assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>, 127 126 <&clk IMX8MM_CLK_PCIE1_CTRL>; 128 127 assigned-clock-rates = <10000000>, <250000000>;
+2 -3
arch/arm64/boot/dts/freescale/imx8mm-venice-gw72xx.dtsi
··· 142 142 pinctrl-names = "default"; 143 143 pinctrl-0 = <&pinctrl_pcie0>; 144 144 reset-gpio = <&gpio4 6 GPIO_ACTIVE_LOW>; 145 - clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>, 146 - <&pcie0_refclk>; 147 - clock-names = "pcie", "pcie_aux", "pcie_bus"; 145 + clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&pcie0_refclk>, 146 + <&clk IMX8MM_CLK_PCIE1_AUX>; 148 147 assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>, 149 148 <&clk IMX8MM_CLK_PCIE1_CTRL>; 150 149 assigned-clock-rates = <10000000>, <250000000>;
+2 -3
arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx.dtsi
··· 162 162 pinctrl-names = "default"; 163 163 pinctrl-0 = <&pinctrl_pcie0>; 164 164 reset-gpio = <&gpio4 6 GPIO_ACTIVE_LOW>; 165 - clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>, 166 - <&pcie0_refclk>; 167 - clock-names = "pcie", "pcie_aux", "pcie_bus"; 165 + clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&pcie0_refclk>, 166 + <&clk IMX8MM_CLK_PCIE1_AUX>; 168 167 assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>, 169 168 <&clk IMX8MM_CLK_PCIE1_CTRL>; 170 169 assigned-clock-rates = <10000000>, <250000000>;
+2 -3
arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts
··· 702 702 pinctrl-names = "default"; 703 703 pinctrl-0 = <&pinctrl_pcie0>; 704 704 reset-gpio = <&gpio5 2 GPIO_ACTIVE_LOW>; 705 - clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>, 706 - <&pcie0_refclk>; 707 - clock-names = "pcie", "pcie_aux", "pcie_bus"; 705 + clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&pcie0_refclk>, 706 + <&clk IMX8MM_CLK_PCIE1_AUX>; 708 707 assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>, 709 708 <&clk IMX8MM_CLK_PCIE1_CTRL>; 710 709 assigned-clock-rates = <10000000>, <250000000>;
+2 -3
arch/arm64/boot/dts/freescale/imx8mm-venice-gw7902.dts
··· 623 623 pinctrl-names = "default"; 624 624 pinctrl-0 = <&pinctrl_pcie0>; 625 625 reset-gpio = <&gpio4 5 GPIO_ACTIVE_LOW>; 626 - clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>, 627 - <&pcie0_refclk>; 628 - clock-names = "pcie", "pcie_aux", "pcie_bus"; 626 + clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&pcie0_refclk>, 627 + <&clk IMX8MM_CLK_PCIE1_AUX>; 629 628 assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>, 630 629 <&clk IMX8MM_CLK_PCIE1_CTRL>; 631 630 assigned-clock-rates = <10000000>, <250000000>;
+2 -3
arch/arm64/boot/dts/freescale/imx8mm-venice-gw7903.dts
··· 557 557 pinctrl-names = "default"; 558 558 pinctrl-0 = <&pinctrl_pcie0>; 559 559 reset-gpio = <&gpio5 11 GPIO_ACTIVE_LOW>; 560 - clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>, 561 - <&pcie0_refclk>; 562 - clock-names = "pcie", "pcie_aux", "pcie_bus"; 560 + clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&pcie0_refclk>, 561 + <&clk IMX8MM_CLK_PCIE1_AUX>; 563 562 assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>, 564 563 <&clk IMX8MM_CLK_PCIE1_CTRL>; 565 564 assigned-clock-rates = <10000000>, <250000000>;
+2 -3
arch/arm64/boot/dts/freescale/imx8mm-venice-gw7904.dts
··· 618 618 pinctrl-names = "default"; 619 619 pinctrl-0 = <&pinctrl_pcie0>; 620 620 reset-gpio = <&gpio5 11 GPIO_ACTIVE_LOW>; 621 - clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&clk IMX8MM_CLK_PCIE1_AUX>, 622 - <&pcie0_refclk>; 623 - clock-names = "pcie", "pcie_aux", "pcie_bus"; 621 + clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, <&pcie0_refclk>, 622 + <&clk IMX8MM_CLK_PCIE1_AUX>; 624 623 assigned-clocks = <&clk IMX8MM_CLK_PCIE1_AUX>, 625 624 <&clk IMX8MM_CLK_PCIE1_CTRL>; 626 625 assigned-clock-rates = <10000000>, <250000000>;
+2
arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi
··· 136 136 137 137 /* Verdin USB_1 */ 138 138 &usbotg1 { 139 + disable-over-current; 139 140 status = "okay"; 140 141 }; 141 142 142 143 /* Verdin USB_2 */ 143 144 &usbotg2 { 145 + disable-over-current; 144 146 status = "okay"; 145 147 }; 146 148
+94 -2
arch/arm64/boot/dts/freescale/imx8mm-verdin-dev.dtsi
··· 3 3 * Copyright 2022 Toradex 4 4 */ 5 5 6 - #include "imx8mm-verdin-dahlia.dtsi" 7 - 8 6 / { 9 7 sound_card: sound-card { 10 8 compatible = "simple-audio-card"; ··· 39 41 }; 40 42 }; 41 43 44 + /* Verdin SPI_1 */ 45 + &ecspi2 { 46 + status = "okay"; 47 + }; 48 + 49 + /* EEPROM on display adapter boards */ 50 + &eeprom_display_adapter { 51 + status = "okay"; 52 + }; 53 + 54 + /* EEPROM on Verdin Development board */ 55 + &eeprom_carrier_board { 56 + status = "okay"; 57 + }; 58 + 59 + &fec1 { 60 + status = "okay"; 61 + }; 62 + 63 + /* Verdin QSPI_1 */ 64 + &flexspi { 65 + status = "okay"; 66 + }; 67 + 68 + /* Current measurement into module VCC */ 69 + &hwmon { 70 + status = "okay"; 71 + }; 72 + 73 + &hwmon_temp { 74 + vs-supply = <&reg_1p8v>; 75 + status = "okay"; 76 + }; 77 + 78 + &i2c3 { 79 + status = "okay"; 80 + }; 81 + 42 82 &gpio_expander_21 { 43 83 status = "okay"; 44 84 }; 45 85 46 86 /* Verdin I2C_1 */ 47 87 &i2c4 { 88 + status = "okay"; 89 + 48 90 /* Audio Codec */ 49 91 nau8822_1a: audio-codec@1a { 50 92 compatible = "nuvoton,nau8822"; 51 93 reg = <0x1a>; 94 + #sound-dai-cells = <0>; 52 95 }; 96 + }; 97 + 98 + /* Verdin PCIE_1 */ 99 + &pcie0 { 100 + status = "okay"; 101 + }; 102 + 103 + &pcie_phy { 104 + status = "okay"; 105 + }; 106 + 107 + /* Verdin PWM_3_DSI */ 108 + &pwm1 { 109 + status = "okay"; 110 + }; 111 + 112 + /* Verdin PWM_1 */ 113 + &pwm2 { 114 + status = "okay"; 115 + }; 116 + 117 + /* Verdin PWM_2 */ 118 + &pwm3 { 119 + status = "okay"; 120 + }; 121 + 122 + /* Verdin I2S_1 */ 123 + &sai2 { 124 + status = "okay"; 125 + }; 126 + 127 + /* Verdin UART_3 */ 128 + &uart1 { 129 + status = "okay"; 53 130 }; 54 131 55 132 /* Verdin UART_1, connector X50 through RS485 transceiver */ ··· 132 59 linux,rs485-enabled-at-boot-time; 133 60 rs485-rts-active-low; 134 61 rs485-rx-during-tx; 62 + status = "okay"; 63 + }; 64 + 65 + /* Verdin UART_2 */ 66 + &uart3 { 67 + status = "okay"; 68 + }; 69 + 70 + /* Verdin USB_1 */ 71 + &usbotg1 { 72 + disable-over-current; 73 + status = "okay"; 74 + }; 75 + 76 + /* Verdin USB_2 */ 77 + &usbotg2 { 78 + disable-over-current; 79 + status = "okay"; 135 80 }; 136 81 137 82 /* Limit frequency on dev board due to long traces and bad signal integrity */ 138 83 &usdhc2 { 139 84 max-frequency = <100000000>; 85 + status = "okay"; 140 86 };
+18
arch/arm64/boot/dts/freescale/imx8mm-verdin-nonwifi-yavia.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2 + /* 3 + * Copyright 2023 Toradex 4 + */ 5 + 6 + /dts-v1/; 7 + 8 + #include "imx8mm-verdin.dtsi" 9 + #include "imx8mm-verdin-nonwifi.dtsi" 10 + #include "imx8mm-verdin-yavia.dtsi" 11 + 12 + / { 13 + model = "Toradex Verdin iMX8M Mini on Yavia Board"; 14 + compatible = "toradex,verdin-imx8mm-nonwifi-yavia", 15 + "toradex,verdin-imx8mm-nonwifi", 16 + "toradex,verdin-imx8mm", 17 + "fsl,imx8mm"; 18 + };
+18
arch/arm64/boot/dts/freescale/imx8mm-verdin-wifi-yavia.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2 + /* 3 + * Copyright 2023 Toradex 4 + */ 5 + 6 + /dts-v1/; 7 + 8 + #include "imx8mm-verdin.dtsi" 9 + #include "imx8mm-verdin-wifi.dtsi" 10 + #include "imx8mm-verdin-yavia.dtsi" 11 + 12 + / { 13 + model = "Toradex Verdin iMX8M Mini WB on Yavia Board"; 14 + compatible = "toradex,verdin-imx8mm-wifi-yavia", 15 + "toradex,verdin-imx8mm-wifi", 16 + "toradex,verdin-imx8mm", 17 + "fsl,imx8mm"; 18 + };
+169
arch/arm64/boot/dts/freescale/imx8mm-verdin-yavia.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2 + /* 3 + * Copyright 2023 Toradex 4 + */ 5 + 6 + #include <dt-bindings/leds/common.h> 7 + 8 + / { 9 + leds { 10 + compatible = "gpio-leds"; 11 + 12 + pinctrl-names = "default"; 13 + pinctrl-0 = <&pinctrl_leds_yavia>; 14 + 15 + /* SODIMM 52 - LD1_RED */ 16 + led-0 { 17 + color = <LED_COLOR_ID_RED>; 18 + function = LED_FUNCTION_DEBUG; 19 + function-enumerator = <1>; 20 + gpios = <&gpio3 0 GPIO_ACTIVE_HIGH>; 21 + }; 22 + /* SODIMM 54 - LD1_GREEN */ 23 + led-1 { 24 + color = <LED_COLOR_ID_GREEN>; 25 + function = LED_FUNCTION_DEBUG; 26 + function-enumerator = <1>; 27 + gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>; 28 + }; 29 + /* SODIMM 56 - LD1_BLUE */ 30 + led-2 { 31 + color = <LED_COLOR_ID_BLUE>; 32 + function = LED_FUNCTION_DEBUG; 33 + function-enumerator = <1>; 34 + gpios = <&gpio3 6 GPIO_ACTIVE_HIGH>; 35 + }; 36 + /* SODIMM 58 - LD2_RED */ 37 + led-3 { 38 + color = <LED_COLOR_ID_RED>; 39 + function = LED_FUNCTION_DEBUG; 40 + function-enumerator = <2>; 41 + gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>; 42 + }; 43 + /* SODIMM 60 - LD2_GREEN */ 44 + led-4 { 45 + color = <LED_COLOR_ID_GREEN>; 46 + function = LED_FUNCTION_DEBUG; 47 + function-enumerator = <2>; 48 + gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>; 49 + }; 50 + /* SODIMM 62 - LD2_BLUE */ 51 + led-5 { 52 + color = <LED_COLOR_ID_BLUE>; 53 + function = LED_FUNCTION_DEBUG; 54 + function-enumerator = <2>; 55 + gpios = <&gpio3 9 GPIO_ACTIVE_HIGH>; 56 + }; 57 + }; 58 + }; 59 + 60 + /* Verdin SPI_1 */ 61 + &ecspi2 { 62 + status = "okay"; 63 + }; 64 + 65 + /* EEPROM on display adapter boards */ 66 + &eeprom_display_adapter { 67 + status = "okay"; 68 + }; 69 + 70 + /* EEPROM on Verdin yavia board */ 71 + &eeprom_carrier_board { 72 + status = "okay"; 73 + }; 74 + 75 + &fec1 { 76 + status = "okay"; 77 + }; 78 + 79 + &gpio3 { 80 + pinctrl-names = "default"; 81 + pinctrl-0 = <&pinctrl_gpios_ext_yavia>; 82 + }; 83 + 84 + &hwmon_temp { 85 + status = "okay"; 86 + }; 87 + 88 + &i2c3 { 89 + status = "okay"; 90 + }; 91 + 92 + /* Verdin I2C_1 */ 93 + &i2c4 { 94 + status = "okay"; 95 + }; 96 + 97 + /* Verdin PCIE_1 */ 98 + &pcie0 { 99 + status = "okay"; 100 + }; 101 + 102 + &pcie_phy { 103 + status = "okay"; 104 + }; 105 + 106 + /* Verdin PWM_3_DSI */ 107 + &pwm1 { 108 + status = "okay"; 109 + }; 110 + 111 + /* Verdin PWM_1 */ 112 + &pwm2 { 113 + status = "okay"; 114 + }; 115 + 116 + /* Verdin PWM_2 */ 117 + &pwm3 { 118 + status = "okay"; 119 + }; 120 + 121 + /* Verdin UART_3 */ 122 + &uart1 { 123 + status = "okay"; 124 + }; 125 + 126 + /* Verdin UART_1 */ 127 + &uart2 { 128 + status = "okay"; 129 + }; 130 + 131 + /* Verdin UART_2 */ 132 + &uart3 { 133 + status = "okay"; 134 + }; 135 + 136 + /* Verdin USB_1 */ 137 + &usbotg1 { 138 + status = "okay"; 139 + }; 140 + 141 + /* Verdin USB_2 */ 142 + &usbotg2 { 143 + status = "okay"; 144 + }; 145 + 146 + /* Verdin SD_1 */ 147 + &usdhc2 { 148 + status = "okay"; 149 + }; 150 + 151 + &iomuxc { 152 + pinctrl_leds_yavia: ledsyaviagrp { 153 + fsl,pins = < 154 + MX8MM_IOMUXC_NAND_ALE_GPIO3_IO0 0x106 /* SODIMM 52 */ 155 + MX8MM_IOMUXC_NAND_CE0_B_GPIO3_IO1 0x106 /* SODIMM 54 */ 156 + MX8MM_IOMUXC_NAND_DATA00_GPIO3_IO6 0x106 /* SODIMM 56 */ 157 + MX8MM_IOMUXC_NAND_DATA01_GPIO3_IO7 0x106 /* SODIMM 58 */ 158 + MX8MM_IOMUXC_NAND_DATA02_GPIO3_IO8 0x106 /* SODIMM 60 */ 159 + MX8MM_IOMUXC_NAND_DATA03_GPIO3_IO9 0x106 /* SODIMM 62 */ 160 + >; 161 + }; 162 + 163 + pinctrl_gpios_ext_yavia: gpiosextyaviagrp { 164 + fsl,pins = < 165 + MX8MM_IOMUXC_NAND_CE1_B_GPIO3_IO2 0x106 /* SODIMM 64 */ 166 + MX8MM_IOMUXC_NAND_DQS_GPIO3_IO14 0x106 /* SODIMM 66 */ 167 + >; 168 + }; 169 + };
+5 -8
arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi
··· 56 56 hdmi_connector: hdmi-connector { 57 57 compatible = "hdmi-connector"; 58 58 ddc-i2c-bus = <&i2c2>; 59 + /* Verdin PWM_3_DSI (SODIMM 19) */ 60 + hpd-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>; 59 61 label = "hdmi"; 62 + pinctrl-names = "default"; 63 + pinctrl-0 = <&pinctrl_pwm_3_dsi_hpd_gpio>; 60 64 type = "a"; 61 65 status = "disabled"; 62 66 }; ··· 362 358 pinctrl-names = "default"; 363 359 pinctrl-0 = <&pinctrl_pmic>; 364 360 reg = <0x25>; 365 - sd-vsel-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; 366 361 367 362 /* 368 363 * The bootloader is expected to switch on the I2C level shifter for the TLA2024 ADC ··· 601 598 hdmi_lontium_lt8912: hdmi@48 { 602 599 compatible = "lontium,lt8912b"; 603 600 pinctrl-names = "default"; 604 - pinctrl-0 = <&pinctrl_gpio_10_dsi>, <&pinctrl_pwm_3_dsi_hpd_gpio>; 601 + pinctrl-0 = <&pinctrl_gpio_10_dsi>; 605 602 reg = <0x48>; 606 603 /* Verdin GPIO_9_DSI (LT8912 INT, SODIMM 17, unused) */ 607 604 /* Verdin GPIO_10_DSI (SODIMM 21) */ ··· 656 653 assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_50M>, 657 654 <&clk IMX8MM_SYS_PLL2_250M>; 658 655 assigned-clock-rates = <10000000>, <250000000>; 659 - clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, 660 - <&clk IMX8MM_CLK_PCIE1_AUX>, 661 - <&clk IMX8MM_CLK_PCIE1_PHY>; 662 - clock-names = "pcie", "pcie_aux", "pcie_bus"; 663 656 pinctrl-names = "default"; 664 657 pinctrl-0 = <&pinctrl_pcie0>; 665 658 /* PCIE_1_RESET# (SODIMM 244) */ ··· 740 741 adp-disable; 741 742 dr_mode = "otg"; 742 743 hnp-disable; 743 - over-current-active-low; 744 744 samsung,picophy-dc-vol-level-adjust = <7>; 745 745 samsung,picophy-pre-emp-curr-control = <3>; 746 746 srp-disable; ··· 749 751 /* Verdin USB_2 */ 750 752 &usbotg2 { 751 753 dr_mode = "host"; 752 - over-current-active-low; 753 754 samsung,picophy-dc-vol-level-adjust = <7>; 754 755 samsung,picophy-pre-emp-curr-control = <3>; 755 756 vbus-supply = <&reg_usb_otg2_vbus>;
+28 -6
arch/arm64/boot/dts/freescale/imx8mm.dtsi
··· 496 496 compatible = "fsl,imx8mm-tmu"; 497 497 reg = <0x30260000 0x10000>; 498 498 clocks = <&clk IMX8MM_CLK_TMU_ROOT>; 499 + nvmem-cells = <&tmu_calib>; 500 + nvmem-cell-names = "calib"; 499 501 #thermal-sensor-cells = <0>; 500 502 }; 501 503 ··· 552 550 reg = <0x30330000 0x10000>; 553 551 }; 554 552 555 - gpr: iomuxc-gpr@30340000 { 556 - compatible = "fsl,imx8mm-iomuxc-gpr", "fsl,imx6q-iomuxc-gpr", "syscon"; 553 + gpr: syscon@30340000 { 554 + compatible = "fsl,imx8mm-iomuxc-gpr", "syscon"; 557 555 reg = <0x30340000 0x10000>; 558 556 }; 559 557 ··· 565 563 #address-cells = <1>; 566 564 #size-cells = <1>; 567 565 568 - imx8mm_uid: unique-id@410 { 566 + /* 567 + * The register address below maps to the MX8M 568 + * Fusemap Description Table entries this way. 569 + * Assuming 570 + * reg = <ADDR SIZE>; 571 + * then 572 + * Fuse Address = (ADDR * 4) + 0x400 573 + * Note that if SIZE is greater than 4, then 574 + * each subsequent fuse is located at offset 575 + * +0x10 in Fusemap Description Table (e.g. 576 + * reg = <0x4 0x8> describes fuses 0x410 and 577 + * 0x420). 578 + */ 579 + imx8mm_uid: unique-id@4 { /* 0x410-0x420 */ 569 580 reg = <0x4 0x8>; 570 581 }; 571 582 572 - cpu_speed_grade: speed-grade@10 { 583 + cpu_speed_grade: speed-grade@10 { /* 0x440 */ 573 584 reg = <0x10 4>; 574 585 }; 575 586 576 - fec_mac_address: mac-address@90 { 587 + tmu_calib: calib@3c { /* 0x4f0 */ 588 + reg = <0x3c 4>; 589 + }; 590 + 591 + fec_mac_address: mac-address@90 { /* 0x640 */ 577 592 reg = <0x90 6>; 578 593 }; 579 594 }; ··· 1259 1240 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 1260 1241 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 1261 1242 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 1262 - interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3"; 1263 1243 #dma-cells = <1>; 1264 1244 dma-channels = <4>; 1265 1245 clocks = <&clk IMX8MM_CLK_NAND_USDHC_BUS_RAWNAND_CLK>; ··· 1302 1284 <0 0 0 4 &gic GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 1303 1285 fsl,max-link-speed = <2>; 1304 1286 linux,pci-domain = <0>; 1287 + clocks = <&clk IMX8MM_CLK_PCIE1_ROOT>, 1288 + <&clk IMX8MM_CLK_PCIE1_PHY>, 1289 + <&clk IMX8MM_CLK_PCIE1_AUX>; 1290 + clock-names = "pcie", "pcie_bus", "pcie_aux"; 1305 1291 power-domains = <&pgc_pcie>; 1306 1292 resets = <&src IMX8MQ_RESET_PCIE_CTRL_APPS_EN>, 1307 1293 <&src IMX8MQ_RESET_PCIE_CTRL_APPS_TURNOFF>;
+2 -2
arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl.dtsi
··· 77 77 sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 78 78 status = "okay"; 79 79 80 - sensor0: temperature-sensor-eeprom@1b { 81 - compatible = "nxp,se97", "jedec,jc-42.4-temp"; 80 + sensor0: temperature-sensor@1b { 81 + compatible = "nxp,se97b", "jedec,jc-42.4-temp"; 82 82 reg = <0x1b>; 83 83 }; 84 84
+1 -1
arch/arm64/boot/dts/freescale/imx8mn-var-som.dtsi
··· 207 207 }; 208 208 209 209 ldo5_reg: LDO5 { 210 - regulator-compatible = "ldo5"; 210 + regulator-name = "ldo5"; 211 211 regulator-min-microvolt = <1800000>; 212 212 regulator-max-microvolt = <1800000>; 213 213 regulator-always-on;
+23 -5
arch/arm64/boot/dts/freescale/imx8mn.dtsi
··· 498 498 compatible = "fsl,imx8mn-tmu", "fsl,imx8mm-tmu"; 499 499 reg = <0x30260000 0x10000>; 500 500 clocks = <&clk IMX8MN_CLK_TMU_ROOT>; 501 + nvmem-cells = <&tmu_calib>; 502 + nvmem-cell-names = "calib"; 501 503 #thermal-sensor-cells = <0>; 502 504 }; 503 505 ··· 554 552 reg = <0x30330000 0x10000>; 555 553 }; 556 554 557 - gpr: iomuxc-gpr@30340000 { 555 + gpr: syscon@30340000 { 558 556 compatible = "fsl,imx8mn-iomuxc-gpr", "syscon"; 559 557 reg = <0x30340000 0x10000>; 560 558 }; ··· 566 564 #address-cells = <1>; 567 565 #size-cells = <1>; 568 566 569 - imx8mn_uid: unique-id@410 { 567 + /* 568 + * The register address below maps to the MX8M 569 + * Fusemap Description Table entries this way. 570 + * Assuming 571 + * reg = <ADDR SIZE>; 572 + * then 573 + * Fuse Address = (ADDR * 4) + 0x400 574 + * Note that if SIZE is greater than 4, then 575 + * each subsequent fuse is located at offset 576 + * +0x10 in Fusemap Description Table (e.g. 577 + * reg = <0x4 0x8> describes fuses 0x410 and 578 + * 0x420). 579 + */ 580 + imx8mn_uid: unique-id@4 { /* 0x410-0x420 */ 570 581 reg = <0x4 0x8>; 571 582 }; 572 583 573 - cpu_speed_grade: speed-grade@10 { 584 + cpu_speed_grade: speed-grade@10 { /* 0x440 */ 574 585 reg = <0x10 4>; 575 586 }; 576 587 577 - fec_mac_address: mac-address@90 { 588 + tmu_calib: calib@3c { /* 0x4f0 */ 589 + reg = <0x3c 4>; 590 + }; 591 + 592 + fec_mac_address: mac-address@90 { /* 0x640 */ 578 593 reg = <0x90 6>; 579 594 }; 580 595 }; ··· 1113 1094 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 1114 1095 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 1115 1096 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 1116 - interrupt-names = "gpmi0", "gpmi1", "gpmi2", "gpmi3"; 1117 1097 #dma-cells = <1>; 1118 1098 dma-channels = <4>; 1119 1099 clocks = <&clk IMX8MN_CLK_NAND_USDHC_BUS_RAWNAND_CLK>;
+550
arch/arm64/boot/dts/freescale/imx8mp-beacon-kit.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright 2023 Logic PD, Inc dba Beacon EmbeddedWorks 4 + */ 5 + 6 + /dts-v1/; 7 + 8 + #include <dt-bindings/usb/pd.h> 9 + #include <dt-bindings/phy/phy-imx8-pcie.h> 10 + #include "imx8mp.dtsi" 11 + #include "imx8mp-beacon-som.dtsi" 12 + 13 + / { 14 + model = "Beacon EmbeddedWorks i.MX8MPlus Development kit"; 15 + compatible = "beacon,imx8mp-beacon-kit", "fsl,imx8mp"; 16 + 17 + aliases { 18 + ethernet0 = &eqos; 19 + ethernet1 = &fec; 20 + }; 21 + 22 + chosen { 23 + stdout-path = &uart2; 24 + }; 25 + 26 + connector { 27 + compatible = "usb-c-connector"; 28 + label = "USB-C"; 29 + data-role = "dual"; 30 + 31 + ports { 32 + #address-cells = <1>; 33 + #size-cells = <0>; 34 + 35 + port@0 { 36 + reg = <0>; 37 + 38 + hs_ep: endpoint { 39 + remote-endpoint = <&usb3_hs_ep>; 40 + }; 41 + }; 42 + port@1 { 43 + reg = <1>; 44 + 45 + ss_ep: endpoint { 46 + remote-endpoint = <&hd3ss3220_in_ep>; 47 + }; 48 + }; 49 + }; 50 + }; 51 + 52 + gpio-keys { 53 + compatible = "gpio-keys"; 54 + autorepeat; 55 + 56 + button-0 { 57 + label = "btn0"; 58 + linux,code = <BTN_0>; 59 + gpios = <&pca6416_1 12 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 60 + wakeup-source; 61 + }; 62 + 63 + button-1 { 64 + label = "btn1"; 65 + linux,code = <BTN_1>; 66 + gpios = <&pca6416_1 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 67 + wakeup-source; 68 + }; 69 + 70 + button-2 { 71 + label = "btn2"; 72 + linux,code = <BTN_2>; 73 + gpios = <&pca6416_1 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 74 + wakeup-source; 75 + }; 76 + 77 + button-3 { 78 + label = "btn3"; 79 + linux,code = <BTN_3>; 80 + gpios = <&pca6416_1 15 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 81 + wakeup-source; 82 + }; 83 + }; 84 + 85 + leds { 86 + compatible = "gpio-leds"; 87 + pinctrl-names = "default"; 88 + pinctrl-0 = <&pinctrl_led3>; 89 + 90 + led-0 { 91 + label = "gen_led0"; 92 + gpios = <&pca6416_1 4 GPIO_ACTIVE_HIGH>; 93 + default-state = "off"; 94 + }; 95 + 96 + led-1 { 97 + label = "gen_led1"; 98 + gpios = <&pca6416_1 5 GPIO_ACTIVE_HIGH>; 99 + default-state = "off"; 100 + }; 101 + 102 + led-2 { 103 + label = "gen_led2"; 104 + gpios = <&pca6416_1 6 GPIO_ACTIVE_HIGH>; 105 + default-state = "off"; 106 + }; 107 + 108 + led-3 { 109 + label = "heartbeat"; 110 + gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>; 111 + linux,default-trigger = "heartbeat"; 112 + }; 113 + }; 114 + 115 + pcie0_refclk: clock-pcie { 116 + compatible = "fixed-clock"; 117 + #clock-cells = <0>; 118 + clock-frequency = <100000000>; 119 + }; 120 + 121 + reg_usdhc2_vmmc: regulator-usdhc2 { 122 + compatible = "regulator-fixed"; 123 + regulator-name = "VSD_3V3"; 124 + regulator-min-microvolt = <3300000>; 125 + regulator-max-microvolt = <3300000>; 126 + gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 127 + enable-active-high; 128 + startup-delay-us = <100>; 129 + off-on-delay-us = <20000>; 130 + }; 131 + 132 + reg_usb1_host_vbus: regulator-usb1-vbus { 133 + compatible = "regulator-fixed"; 134 + regulator-name = "usb1_host_vbus"; 135 + regulator-max-microvolt = <5000000>; 136 + regulator-min-microvolt = <5000000>; 137 + gpio = <&pca6416_1 0 GPIO_ACTIVE_HIGH>; 138 + enable-active-high; 139 + }; 140 + }; 141 + 142 + &ecspi2 { 143 + pinctrl-names = "default"; 144 + pinctrl-0 = <&pinctrl_ecspi2>; 145 + cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; 146 + status = "okay"; 147 + 148 + tpm: tpm@0 { 149 + compatible = "infineon,slb9670"; 150 + reg = <0>; 151 + pinctrl-names = "default"; 152 + pinctrl-0 = <&pinctrl_tpm>; 153 + reset-gpios = <&gpio4 0 GPIO_ACTIVE_LOW>; 154 + spi-max-frequency = <18500000>; 155 + }; 156 + }; 157 + 158 + &fec { 159 + pinctrl-names = "default"; 160 + pinctrl-0 = <&pinctrl_fec>; 161 + phy-mode = "rgmii-id"; 162 + phy-handle = <&ethphy1>; 163 + fsl,magic-packet; 164 + status = "okay"; 165 + 166 + mdio { 167 + #address-cells = <1>; 168 + #size-cells = <0>; 169 + 170 + ethphy1: ethernet-phy@3 { 171 + compatible = "ethernet-phy-id0022.1640", 172 + "ethernet-phy-ieee802.3-c22"; 173 + reg = <3>; 174 + reset-gpios = <&gpio4 18 GPIO_ACTIVE_LOW>; 175 + reset-assert-us = <10000>; 176 + reset-deassert-us = <150000>; 177 + interrupt-parent = <&gpio4>; 178 + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 179 + }; 180 + }; 181 + }; 182 + 183 + &flexcan1 { 184 + pinctrl-names = "default"; 185 + pinctrl-0 = <&pinctrl_flexcan1>; 186 + status = "okay"; 187 + }; 188 + 189 + &gpio2 { 190 + usb-mux-hog { 191 + gpio-hog; 192 + gpios = <20 0>; 193 + output-low; 194 + line-name = "USB-C Mux En"; 195 + }; 196 + }; 197 + 198 + &i2c2 { 199 + clock-frequency = <384000>; 200 + pinctrl-names = "default"; 201 + pinctrl-0 = <&pinctrl_i2c2>; 202 + status = "okay"; 203 + 204 + pca6416_3: gpio@20 { 205 + compatible = "nxp,pcal6416"; 206 + reg = <0x20>; 207 + gpio-controller; 208 + #gpio-cells = <2>; 209 + interrupt-parent = <&gpio4>; 210 + interrupts = <27 IRQ_TYPE_EDGE_FALLING>; 211 + interrupt-controller; 212 + #interrupt-cells = <2>; 213 + }; 214 + }; 215 + 216 + &i2c3 { 217 + /* Connected to USB Hub */ 218 + usb-typec@52 { 219 + compatible = "nxp,ptn5110"; 220 + reg = <0x52>; 221 + pinctrl-names = "default"; 222 + pinctrl-0 = <&pinctrl_typec>; 223 + interrupt-parent = <&gpio4>; 224 + interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 225 + 226 + connector { 227 + compatible = "usb-c-connector"; 228 + label = "USB-C"; 229 + power-role = "source"; 230 + data-role = "host"; 231 + source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>; 232 + }; 233 + }; 234 + }; 235 + 236 + &i2c4 { 237 + pinctrl-names = "default"; 238 + pinctrl-0 = <&pinctrl_i2c4>; 239 + clock-frequency = <384000>; 240 + status = "okay"; 241 + 242 + pca6416: gpio@20 { 243 + compatible = "nxp,pcal6416"; 244 + reg = <0x20>; 245 + pinctrl-names = "default"; 246 + pinctrl-0 = <&pinctrl_pcal6414>; 247 + gpio-controller; 248 + #gpio-cells = <2>; 249 + interrupt-parent = <&gpio4>; 250 + interrupts = <27 IRQ_TYPE_EDGE_FALLING>; 251 + interrupt-controller; 252 + #interrupt-cells = <2>; 253 + }; 254 + 255 + pca6416_1: gpio@21 { 256 + compatible = "nxp,pcal6416"; 257 + reg = <0x21>; 258 + gpio-controller; 259 + #gpio-cells = <2>; 260 + interrupt-parent = <&gpio4>; 261 + interrupts = <27 IRQ_TYPE_EDGE_FALLING>; 262 + interrupt-controller; 263 + #interrupt-cells = <2>; 264 + 265 + usb-hub-hog { 266 + gpio-hog; 267 + gpios = <7 0>; 268 + output-low; 269 + line-name = "USB Hub Enable"; 270 + }; 271 + }; 272 + 273 + usb-typec@47 { 274 + compatible = "ti,hd3ss3220"; 275 + reg = <0x47>; 276 + pinctrl-names = "default"; 277 + pinctrl-0 = <&pinctrl_hd3ss3220>; 278 + interrupt-parent = <&gpio4>; 279 + interrupts = <19 IRQ_TYPE_LEVEL_LOW>; 280 + 281 + ports { 282 + #address-cells = <1>; 283 + #size-cells = <0>; 284 + 285 + port@0 { 286 + reg = <0>; 287 + 288 + hd3ss3220_in_ep: endpoint { 289 + remote-endpoint = <&ss_ep>; 290 + }; 291 + }; 292 + 293 + port@1 { 294 + reg = <1>; 295 + 296 + hd3ss3220_out_ep: endpoint { 297 + remote-endpoint = <&usb3_role_switch>; 298 + }; 299 + }; 300 + }; 301 + }; 302 + }; 303 + 304 + &pcie { 305 + pinctrl-names = "default"; 306 + pinctrl-0 = <&pinctrl_pcie>; 307 + reset-gpio = <&gpio4 21 GPIO_ACTIVE_LOW>; 308 + status = "okay"; 309 + }; 310 + 311 + &pcie_phy { 312 + fsl,refclk-pad-mode = <IMX8_PCIE_REFCLK_PAD_INPUT>; 313 + clocks = <&pcie0_refclk>; 314 + clock-names = "ref"; 315 + status = "okay"; 316 + }; 317 + 318 + &snvs_pwrkey { 319 + status = "okay"; 320 + }; 321 + 322 + &uart2 { 323 + pinctrl-names = "default"; 324 + pinctrl-0 = <&pinctrl_uart2>; 325 + status = "okay"; 326 + }; 327 + 328 + &uart3 { 329 + pinctrl-names = "default"; 330 + pinctrl-0 = <&pinctrl_uart3>; 331 + assigned-clocks = <&clk IMX8MP_CLK_UART3>; 332 + assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>; 333 + uart-has-rtscts; 334 + status = "okay"; 335 + }; 336 + 337 + &usb3_0 { 338 + status = "okay"; 339 + }; 340 + 341 + &usb_dwc3_0 { 342 + dr_mode = "otg"; 343 + hnp-disable; 344 + srp-disable; 345 + adp-disable; 346 + usb-role-switch; 347 + status = "okay"; 348 + 349 + ports { 350 + #address-cells = <1>; 351 + #size-cells = <0>; 352 + 353 + port@0 { 354 + reg = <0>; 355 + usb3_hs_ep: endpoint { 356 + remote-endpoint = <&hs_ep>; 357 + }; 358 + }; 359 + port@1 { 360 + reg = <1>; 361 + usb3_role_switch: endpoint { 362 + remote-endpoint = <&hd3ss3220_out_ep>; 363 + }; 364 + }; 365 + }; 366 + }; 367 + 368 + &usb3_phy0 { 369 + vbus-supply = <&reg_usb1_host_vbus>; 370 + status = "okay"; 371 + }; 372 + 373 + &usb3_1 { 374 + status = "okay"; 375 + }; 376 + 377 + &usb_dwc3_1 { 378 + dr_mode = "host"; 379 + status = "okay"; 380 + }; 381 + 382 + &usb3_phy1 { 383 + status = "okay"; 384 + }; 385 + 386 + &usdhc2 { 387 + pinctrl-names = "default", "state_100mhz", "state_200mhz"; 388 + pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; 389 + pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; 390 + pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; 391 + cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; 392 + vmmc-supply = <&reg_usdhc2_vmmc>; 393 + bus-width = <4>; 394 + status = "okay"; 395 + }; 396 + 397 + &iomuxc { 398 + pinctrl_ecspi2: ecspi2grp { 399 + fsl,pins = < 400 + MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK 0x82 401 + MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI 0x82 402 + MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO 0x82 403 + MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13 0x40000 404 + >; 405 + }; 406 + 407 + pinctrl_fec: fecgrp { 408 + fsl,pins = < 409 + MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC 0x2 410 + MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO 0x2 411 + MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0 0x90 412 + MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1 0x90 413 + MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2 0x90 414 + MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3 0x90 415 + MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC 0x90 416 + MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL 0x90 417 + MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0 0x16 418 + MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1 0x16 419 + MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2 0x16 420 + MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3 0x16 421 + MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL 0x16 422 + MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC 0x16 423 + MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02 0x140 424 + MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x10 425 + >; 426 + }; 427 + 428 + pinctrl_flexcan1: flexcan1grp { 429 + fsl,pins = < 430 + MX8MP_IOMUXC_SPDIF_RX__CAN1_RX 0x154 431 + MX8MP_IOMUXC_SPDIF_TX__CAN1_TX 0x154 432 + >; 433 + }; 434 + 435 + pinctrl_hd3ss3220: hd3ss3220grp { 436 + fsl,pins = < 437 + MX8MP_IOMUXC_SAI1_TXD7__GPIO4_IO19 0x140 438 + >; 439 + }; 440 + 441 + pinctrl_i2c2: i2c2grp { 442 + fsl,pins = < 443 + MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x400001c2 444 + MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA 0x400001c2 445 + >; 446 + }; 447 + 448 + pinctrl_i2c4: i2c4grp { 449 + fsl,pins = < 450 + MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x400001c2 451 + MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA 0x400001c2 452 + >; 453 + }; 454 + 455 + pinctrl_led3: led3grp { 456 + fsl,pins = < 457 + MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28 0x41 458 + >; 459 + }; 460 + 461 + pinctrl_pcal6414: pcal6414-gpiogrp { 462 + fsl,pins = < 463 + MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27 0x10 464 + >; 465 + }; 466 + 467 + pinctrl_pcie: pciegrp { 468 + fsl,pins = < 469 + MX8MP_IOMUXC_GPIO1_IO05__GPIO1_IO05 0x10 /* PCIe_nDIS */ 470 + MX8MP_IOMUXC_SAI2_RXFS__GPIO4_IO21 0x10 /* PCIe_nRST */ 471 + >; 472 + }; 473 + 474 + pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp { 475 + fsl,pins = < 476 + MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x40 477 + >; 478 + }; 479 + 480 + pinctrl_tpm: tpmgrp { 481 + fsl,pins = < 482 + MX8MP_IOMUXC_SAI1_RXFS__GPIO4_IO00 0x19 /* Reset */ 483 + MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0x1d6 /* IRQ */ 484 + >; 485 + }; 486 + 487 + pinctrl_typec: typec1grp { 488 + fsl,pins = < 489 + MX8MP_IOMUXC_SAI1_RXC__GPIO4_IO01 0xc4 490 + >; 491 + }; 492 + 493 + pinctrl_uart2: uart2grp { 494 + fsl,pins = < 495 + MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x140 496 + MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x140 497 + >; 498 + }; 499 + 500 + pinctrl_uart3: uart3grp { 501 + fsl,pins = < 502 + MX8MP_IOMUXC_ECSPI1_SCLK__UART3_DCE_RX 0x140 503 + MX8MP_IOMUXC_ECSPI1_MOSI__UART3_DCE_TX 0x140 504 + MX8MP_IOMUXC_ECSPI1_SS0__UART3_DCE_RTS 0x140 505 + MX8MP_IOMUXC_ECSPI1_MISO__UART3_DCE_CTS 0x140 506 + >; 507 + }; 508 + 509 + pinctrl_usdhc2: usdhc2grp { 510 + fsl,pins = < 511 + MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190 512 + MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d0 513 + MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d0 514 + MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0 515 + MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d0 516 + MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d0 517 + MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0 518 + >; 519 + }; 520 + 521 + pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 522 + fsl,pins = < 523 + MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194 524 + MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4 525 + MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4 526 + MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4 527 + MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4 528 + MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4 529 + MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0 530 + >; 531 + }; 532 + 533 + pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 534 + fsl,pins = < 535 + MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196 536 + MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d6 537 + MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d6 538 + MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6 539 + MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d6 540 + MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d6 541 + MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc0 542 + >; 543 + }; 544 + 545 + pinctrl_usdhc2_gpio: usdhc2gpiogrp { 546 + fsl,pins = < 547 + MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 0x1c4 548 + >; 549 + }; 550 + };
+416
arch/arm64/boot/dts/freescale/imx8mp-beacon-som.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright 2023 LogicPD, Inc. dba Beacon EmbeddedWorks 4 + */ 5 + 6 + / { 7 + aliases { 8 + rtc0 = &rtc; 9 + rtc1 = &snvs_rtc; 10 + }; 11 + 12 + memory@40000000 { 13 + device_type = "memory"; 14 + reg = <0x0 0x40000000 0 0xc0000000>, 15 + <0x1 0x00000000 0 0xc0000000>; 16 + }; 17 + 18 + reg_wl_bt: regulator-wifi-bt { 19 + compatible = "regulator-fixed"; 20 + pinctrl-names = "default"; 21 + pinctrl-0 = <&pinctrl_reg_wl_bt>; 22 + regulator-name = "wl-bt-pow-dwn"; 23 + regulator-min-microvolt = <3300000>; 24 + regulator-max-microvolt = <3300000>; 25 + gpio = <&gpio2 6 GPIO_ACTIVE_LOW>; 26 + startup-delay-us = <70000>; 27 + regulator-always-on; 28 + }; 29 + }; 30 + 31 + &A53_0 { 32 + cpu-supply = <&buck2>; 33 + }; 34 + 35 + &A53_1 { 36 + cpu-supply = <&buck2>; 37 + }; 38 + 39 + &A53_2 { 40 + cpu-supply = <&buck2>; 41 + }; 42 + 43 + &A53_3 { 44 + cpu-supply = <&buck2>; 45 + }; 46 + 47 + &eqos { 48 + pinctrl-names = "default"; 49 + pinctrl-0 = <&pinctrl_eqos>; 50 + phy-mode = "rgmii-id"; 51 + phy-handle = <&ethphy0>; 52 + snps,force_thresh_dma_mode; 53 + status = "okay"; 54 + 55 + mdio { 56 + compatible = "snps,dwmac-mdio"; 57 + #address-cells = <1>; 58 + #size-cells = <0>; 59 + 60 + ethphy0: ethernet-phy@3 { 61 + compatible = "ethernet-phy-id0022.1640", 62 + "ethernet-phy-ieee802.3-c22"; 63 + reg = <3>; 64 + reset-gpios = <&gpio4 10 GPIO_ACTIVE_LOW>; 65 + interrupt-parent = <&gpio1>; 66 + interrupts = <10 IRQ_TYPE_LEVEL_LOW>; 67 + }; 68 + }; 69 + }; 70 + 71 + &flexspi { 72 + pinctrl-names = "default"; 73 + pinctrl-0 = <&pinctrl_flexspi0>; 74 + status = "okay"; 75 + 76 + flash0: flash@0 { 77 + compatible = "jedec,spi-nor"; 78 + reg = <0>; 79 + spi-max-frequency = <80000000>; 80 + spi-tx-bus-width = <1>; 81 + spi-rx-bus-width = <4>; 82 + }; 83 + }; 84 + 85 + &i2c1 { 86 + pinctrl-names = "default"; 87 + pinctrl-0 = <&pinctrl_i2c1>; 88 + clock-frequency = <384000>; 89 + status = "okay"; 90 + 91 + pmic@25 { 92 + compatible = "nxp,pca9450c"; 93 + reg = <0x25>; 94 + pinctrl-names = "default"; 95 + pinctrl-0 = <&pinctrl_pmic>; 96 + interrupt-parent = <&gpio1>; 97 + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 98 + 99 + regulators { 100 + buck1: BUCK1 { 101 + regulator-name = "BUCK1"; 102 + regulator-min-microvolt = <600000>; 103 + regulator-max-microvolt = <2187500>; 104 + regulator-boot-on; 105 + regulator-always-on; 106 + regulator-ramp-delay = <3125>; 107 + }; 108 + 109 + buck2: BUCK2 { 110 + regulator-name = "BUCK2"; 111 + regulator-min-microvolt = <600000>; 112 + regulator-max-microvolt = <2187500>; 113 + regulator-boot-on; 114 + regulator-always-on; 115 + regulator-ramp-delay = <3125>; 116 + nxp,dvs-run-voltage = <950000>; 117 + nxp,dvs-standby-voltage = <850000>; 118 + }; 119 + 120 + buck4: BUCK4 { 121 + regulator-name = "BUCK4"; 122 + regulator-min-microvolt = <3300000>; 123 + regulator-max-microvolt = <3300000>; 124 + regulator-boot-on; 125 + regulator-always-on; 126 + }; 127 + 128 + buck5: BUCK5 { 129 + regulator-name = "BUCK5"; 130 + regulator-min-microvolt = <1800000>; 131 + regulator-max-microvolt = <1800000>; 132 + regulator-boot-on; 133 + regulator-always-on; 134 + }; 135 + 136 + buck6: BUCK6 { 137 + regulator-name = "BUCK6"; 138 + regulator-min-microvolt = <600000>; 139 + regulator-max-microvolt = <3400000>; 140 + regulator-boot-on; 141 + regulator-always-on; 142 + }; 143 + 144 + ldo1: LDO1 { 145 + regulator-name = "LDO1"; 146 + regulator-min-microvolt = <1600000>; 147 + regulator-max-microvolt = <1800000>; 148 + regulator-boot-on; 149 + regulator-always-on; 150 + }; 151 + 152 + ldo3: LDO3 { 153 + regulator-name = "LDO3"; 154 + regulator-min-microvolt = <800000>; 155 + regulator-max-microvolt = <1800000>; 156 + regulator-boot-on; 157 + regulator-always-on; 158 + }; 159 + 160 + ldo4: LDO4 { 161 + regulator-name = "LDO4"; 162 + regulator-min-microvolt = <800000>; 163 + regulator-max-microvolt = <3300000>; 164 + regulator-boot-on; 165 + regulator-always-on; 166 + }; 167 + 168 + ldo5: LDO5 { 169 + regulator-name = "LDO5"; 170 + regulator-min-microvolt = <1800000>; 171 + regulator-max-microvolt = <3300000>; 172 + regulator-boot-on; 173 + regulator-always-on; 174 + }; 175 + }; 176 + }; 177 + }; 178 + 179 + &i2c3 { 180 + pinctrl-names = "default"; 181 + pinctrl-0 = <&pinctrl_i2c3>; 182 + clock-frequency = <384000>; 183 + status = "okay"; 184 + 185 + eeprom@50 { 186 + compatible = "atmel,24c64"; 187 + reg = <0x50>; 188 + pagesize = <32>; 189 + read-only; /* Manufacturing EEPROM programmed at factory */ 190 + }; 191 + 192 + rtc: rtc@51 { 193 + compatible = "nxp,pcf85263"; 194 + reg = <0x51>; 195 + }; 196 + }; 197 + 198 + &snvs_pwrkey { 199 + status = "okay"; 200 + }; 201 + 202 + &uart1 { 203 + pinctrl-names = "default"; 204 + pinctrl-0 = <&pinctrl_uart1>; 205 + assigned-clocks = <&clk IMX8MP_CLK_UART1>; 206 + assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>; 207 + uart-has-rtscts; 208 + status = "okay"; 209 + }; 210 + 211 + &usdhc1 { 212 + pinctrl-names = "default", "state_100mhz", "state_200mhz"; 213 + pinctrl-0 = <&pinctrl_usdhc1>; 214 + pinctrl-1 = <&pinctrl_usdhc1_100mhz>; 215 + pinctrl-2 = <&pinctrl_usdhc1_200mhz>; 216 + bus-width = <4>; 217 + vmmc-supply = <&reg_wl_bt>; 218 + cap-sd-highspeed; 219 + sd-uhs-sdr50; 220 + sd-uhs-sdr104; 221 + keep-power-in-suspend; 222 + wakeup-source; 223 + non-removable; 224 + cap-power-off-card; 225 + #address-cells = <1>; 226 + #size-cells = <0>; 227 + status = "okay"; 228 + 229 + mwifiex: wifi@1 { 230 + compatible = "marvell,sd8997"; 231 + reg = <1>; 232 + pinctrl-names = "default"; 233 + pinctrl-0 = <&pinctrl_wlan>; 234 + interrupt-parent = <&gpio2>; 235 + interrupts = <9 IRQ_TYPE_LEVEL_LOW>; 236 + }; 237 + }; 238 + 239 + &usdhc3 { 240 + pinctrl-names = "default", "state_100mhz", "state_200mhz"; 241 + pinctrl-0 = <&pinctrl_usdhc3>; 242 + pinctrl-1 = <&pinctrl_usdhc3_100mhz>; 243 + pinctrl-2 = <&pinctrl_usdhc3_200mhz>; 244 + bus-width = <8>; 245 + non-removable; 246 + status = "okay"; 247 + }; 248 + 249 + &wdog1 { 250 + pinctrl-names = "default"; 251 + pinctrl-0 = <&pinctrl_wdog>; 252 + fsl,ext-reset-output; 253 + status = "okay"; 254 + }; 255 + 256 + &iomuxc { 257 + pinctrl_eqos: eqosgrp { 258 + fsl,pins = < 259 + MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC 0x2 260 + MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO 0x2 261 + MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0 0x90 262 + MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1 0x90 263 + MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2 0x90 264 + MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3 0x90 265 + MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK 0x90 266 + MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x90 267 + MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0 0x16 268 + MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1 0x16 269 + MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2 0x16 270 + MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3 0x16 271 + MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x16 272 + MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x16 273 + MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22 0x10 274 + MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10 0x10 275 + >; 276 + }; 277 + 278 + pinctrl_flexspi0: flexspi0grp { 279 + fsl,pins = < 280 + MX8MP_IOMUXC_NAND_ALE__FLEXSPI_A_SCLK 0x1c2 281 + MX8MP_IOMUXC_NAND_CE0_B__FLEXSPI_A_SS0_B 0x82 282 + MX8MP_IOMUXC_NAND_DATA00__FLEXSPI_A_DATA00 0x82 283 + MX8MP_IOMUXC_NAND_DATA01__FLEXSPI_A_DATA01 0x82 284 + MX8MP_IOMUXC_NAND_DATA02__FLEXSPI_A_DATA02 0x82 285 + MX8MP_IOMUXC_NAND_DATA03__FLEXSPI_A_DATA03 0x82 286 + >; 287 + }; 288 + 289 + pinctrl_i2c1: i2c1grp { 290 + fsl,pins = < 291 + MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL 0x400001c2 292 + MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA 0x400001c2 293 + >; 294 + }; 295 + 296 + pinctrl_i2c3: i2c3grp { 297 + fsl,pins = < 298 + MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL 0x400001c2 299 + MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA 0x400001c2 300 + >; 301 + }; 302 + 303 + pinctrl_pmic: pmicgrp { 304 + fsl,pins = < 305 + MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03 0x1c0 306 + >; 307 + }; 308 + 309 + pinctrl_reg_wl_bt: reg-wl-btgrp { 310 + fsl,pins = < 311 + MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06 0x40 312 + >; 313 + }; 314 + 315 + pinctrl_uart1: uart1grp { 316 + fsl,pins = < 317 + MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX 0x140 318 + MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX 0x140 319 + MX8MP_IOMUXC_UART3_RXD__UART1_DCE_CTS 0x140 320 + MX8MP_IOMUXC_UART3_TXD__UART1_DCE_RTS 0x140 321 + >; 322 + }; 323 + 324 + pinctrl_usdhc1: usdhc1grp { 325 + fsl,pins = < 326 + MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x190 327 + MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d0 328 + MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d0 329 + MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d0 330 + MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d0 331 + MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d0 332 + >; 333 + }; 334 + 335 + pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp { 336 + fsl,pins = < 337 + MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x194 338 + MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d4 339 + MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d4 340 + MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d4 341 + MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d4 342 + MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d4 343 + >; 344 + }; 345 + 346 + pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp { 347 + fsl,pins = < 348 + MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x196 349 + MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x1d6 350 + MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x1d6 351 + MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x1d6 352 + MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x1d6 353 + MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x1d6 354 + >; 355 + }; 356 + 357 + pinctrl_usdhc3: usdhc3grp { 358 + fsl,pins = < 359 + MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x190 360 + MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d0 361 + MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d0 362 + MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d0 363 + MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d0 364 + MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d0 365 + MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d0 366 + MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d0 367 + MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d0 368 + MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d0 369 + MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x190 370 + >; 371 + }; 372 + 373 + pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp { 374 + fsl,pins = < 375 + MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194 376 + MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4 377 + MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4 378 + MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4 379 + MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4 380 + MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4 381 + MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4 382 + MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4 383 + MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4 384 + MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4 385 + MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x194 386 + >; 387 + }; 388 + 389 + pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp { 390 + fsl,pins = < 391 + MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x196 392 + MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d6 393 + MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d6 394 + MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d6 395 + MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d6 396 + MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d6 397 + MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d6 398 + MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d6 399 + MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d6 400 + MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d6 401 + MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x196 402 + >; 403 + }; 404 + 405 + pinctrl_wdog: wdoggrp { 406 + fsl,pins = < 407 + MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B 0x166 408 + >; 409 + }; 410 + 411 + pinctrl_wlan: wlangrp { 412 + fsl,pins = < 413 + MX8MP_IOMUXC_SD1_DATA7__GPIO2_IO09 0x140 414 + >; 415 + }; 416 + };
+506
arch/arm64/boot/dts/freescale/imx8mp-debix-model-a.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright 2019 NXP 4 + * Copyright 2022 Ideas on Board Oy 5 + */ 6 + 7 + /dts-v1/; 8 + 9 + #include <dt-bindings/gpio/gpio.h> 10 + #include <dt-bindings/leds/common.h> 11 + #include <dt-bindings/usb/pd.h> 12 + 13 + #include "imx8mp.dtsi" 14 + 15 + / { 16 + model = "Polyhex Debix Model A i.MX8MPlus board"; 17 + compatible = "polyhex,imx8mp-debix-model-a", "polyhex,imx8mp-debix", "fsl,imx8mp"; 18 + 19 + chosen { 20 + stdout-path = &uart2; 21 + }; 22 + 23 + leds { 24 + compatible = "gpio-leds"; 25 + pinctrl-names = "default"; 26 + pinctrl-0 = <&pinctrl_gpio_led>; 27 + 28 + led-0 { 29 + function = LED_FUNCTION_POWER; 30 + color = <LED_COLOR_ID_RED>; 31 + gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>; 32 + default-state = "on"; 33 + }; 34 + }; 35 + 36 + reg_usdhc2_vmmc: regulator-usdhc2 { 37 + compatible = "regulator-fixed"; 38 + pinctrl-names = "default"; 39 + pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>; 40 + regulator-name = "VSD_3V3"; 41 + regulator-min-microvolt = <3300000>; 42 + regulator-max-microvolt = <3300000>; 43 + gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 44 + enable-active-high; 45 + }; 46 + }; 47 + 48 + &A53_0 { 49 + cpu-supply = <&buck2>; 50 + }; 51 + 52 + &A53_1 { 53 + cpu-supply = <&buck2>; 54 + }; 55 + 56 + &A53_2 { 57 + cpu-supply = <&buck2>; 58 + }; 59 + 60 + &A53_3 { 61 + cpu-supply = <&buck2>; 62 + }; 63 + 64 + &eqos { 65 + pinctrl-names = "default"; 66 + pinctrl-0 = <&pinctrl_eqos>; 67 + phy-connection-type = "rgmii-id"; 68 + phy-handle = <&ethphy0>; 69 + status = "okay"; 70 + 71 + mdio { 72 + compatible = "snps,dwmac-mdio"; 73 + #address-cells = <1>; 74 + #size-cells = <0>; 75 + 76 + ethphy0: ethernet-phy@0 { /* RTL8211E */ 77 + compatible = "ethernet-phy-ieee802.3-c22"; 78 + reg = <0>; 79 + reset-gpios = <&gpio4 18 GPIO_ACTIVE_LOW>; 80 + reset-assert-us = <20>; 81 + reset-deassert-us = <200000>; 82 + }; 83 + }; 84 + }; 85 + 86 + &i2c1 { 87 + clock-frequency = <400000>; 88 + pinctrl-names = "default"; 89 + pinctrl-0 = <&pinctrl_i2c1>; 90 + status = "okay"; 91 + 92 + pmic@25 { 93 + compatible = "nxp,pca9450c"; 94 + reg = <0x25>; 95 + pinctrl-names = "default"; 96 + pinctrl-0 = <&pinctrl_pmic>; 97 + interrupt-parent = <&gpio1>; 98 + interrupts = <3 IRQ_TYPE_EDGE_RISING>; 99 + 100 + regulators { 101 + buck1: BUCK1 { 102 + regulator-name = "BUCK1"; 103 + regulator-min-microvolt = <600000>; 104 + regulator-max-microvolt = <2187500>; 105 + regulator-boot-on; 106 + regulator-always-on; 107 + regulator-ramp-delay = <3125>; 108 + }; 109 + 110 + buck2: BUCK2 { 111 + regulator-name = "BUCK2"; 112 + regulator-min-microvolt = <600000>; 113 + regulator-max-microvolt = <2187500>; 114 + regulator-boot-on; 115 + regulator-always-on; 116 + regulator-ramp-delay = <3125>; 117 + nxp,dvs-run-voltage = <950000>; 118 + nxp,dvs-standby-voltage = <850000>; 119 + }; 120 + 121 + buck4: BUCK4{ 122 + regulator-name = "BUCK4"; 123 + regulator-min-microvolt = <600000>; 124 + regulator-max-microvolt = <3400000>; 125 + regulator-boot-on; 126 + regulator-always-on; 127 + }; 128 + 129 + buck5: BUCK5{ 130 + regulator-name = "BUCK5"; 131 + regulator-min-microvolt = <600000>; 132 + regulator-max-microvolt = <3400000>; 133 + regulator-boot-on; 134 + regulator-always-on; 135 + }; 136 + 137 + buck6: BUCK6 { 138 + regulator-name = "BUCK6"; 139 + regulator-min-microvolt = <600000>; 140 + regulator-max-microvolt = <3400000>; 141 + regulator-boot-on; 142 + regulator-always-on; 143 + }; 144 + 145 + ldo1: LDO1 { 146 + regulator-name = "LDO1"; 147 + regulator-min-microvolt = <1600000>; 148 + regulator-max-microvolt = <3300000>; 149 + regulator-boot-on; 150 + regulator-always-on; 151 + }; 152 + 153 + ldo2: LDO2 { 154 + regulator-name = "LDO2"; 155 + regulator-min-microvolt = <800000>; 156 + regulator-max-microvolt = <1150000>; 157 + regulator-boot-on; 158 + regulator-always-on; 159 + }; 160 + 161 + ldo3: LDO3 { 162 + regulator-name = "LDO3"; 163 + regulator-min-microvolt = <800000>; 164 + regulator-max-microvolt = <3300000>; 165 + regulator-boot-on; 166 + regulator-always-on; 167 + }; 168 + 169 + ldo4: LDO4 { 170 + regulator-name = "LDO4"; 171 + regulator-min-microvolt = <800000>; 172 + regulator-max-microvolt = <3300000>; 173 + regulator-boot-on; 174 + regulator-always-on; 175 + }; 176 + 177 + ldo5: LDO5 { 178 + regulator-name = "LDO5"; 179 + regulator-min-microvolt = <1800000>; 180 + regulator-max-microvolt = <3300000>; 181 + regulator-boot-on; 182 + regulator-always-on; 183 + }; 184 + }; 185 + }; 186 + }; 187 + 188 + &i2c2 { 189 + clock-frequency = <100000>; 190 + pinctrl-names = "default"; 191 + pinctrl-0 = <&pinctrl_i2c2>; 192 + status = "okay"; 193 + }; 194 + 195 + &i2c3 { 196 + clock-frequency = <400000>; 197 + pinctrl-names = "default"; 198 + pinctrl-0 = <&pinctrl_i2c3>; 199 + status = "okay"; 200 + }; 201 + 202 + &i2c4 { 203 + clock-frequency = <100000>; 204 + pinctrl-names = "default"; 205 + pinctrl-0 = <&pinctrl_i2c4>; 206 + status = "okay"; 207 + 208 + eeprom@50 { 209 + compatible = "atmel,24c02"; 210 + reg = <0x50>; 211 + pagesize = <16>; 212 + }; 213 + 214 + rtc@51 { 215 + compatible = "haoyu,hym8563"; 216 + reg = <0x51>; 217 + #clock-cells = <0>; 218 + clock-frequency = <32768>; 219 + clock-output-names = "xin32k"; 220 + interrupt-parent = <&gpio2>; 221 + interrupts = <11 IRQ_TYPE_EDGE_FALLING>; 222 + pinctrl-names = "default"; 223 + pinctrl-0 = <&pinctrl_rtc_int>; 224 + }; 225 + }; 226 + 227 + &i2c6 { 228 + clock-frequency = <400000>; 229 + pinctrl-names = "default"; 230 + pinctrl-0 = <&pinctrl_i2c6>; 231 + status = "okay"; 232 + }; 233 + 234 + &snvs_pwrkey { 235 + status = "okay"; 236 + }; 237 + 238 + &uart2 { 239 + /* console */ 240 + pinctrl-names = "default"; 241 + pinctrl-0 = <&pinctrl_uart2>; 242 + status = "okay"; 243 + }; 244 + 245 + &uart3 { 246 + pinctrl-names = "default"; 247 + pinctrl-0 = <&pinctrl_uart3>; 248 + status = "okay"; 249 + }; 250 + 251 + &uart4 { 252 + pinctrl-names = "default"; 253 + pinctrl-0 = <&pinctrl_uart4>; 254 + status = "okay"; 255 + }; 256 + 257 + /* SD Card */ 258 + &usdhc2 { 259 + pinctrl-names = "default", "state_100mhz", "state_200mhz"; 260 + pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; 261 + pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; 262 + pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; 263 + cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; 264 + vmmc-supply = <&reg_usdhc2_vmmc>; 265 + bus-width = <4>; 266 + status = "okay"; 267 + }; 268 + 269 + /* eMMC */ 270 + &usdhc3 { 271 + assigned-clocks = <&clk IMX8MP_CLK_USDHC3>; 272 + assigned-clock-rates = <400000000>; 273 + pinctrl-names = "default", "state_100mhz", "state_200mhz"; 274 + pinctrl-0 = <&pinctrl_usdhc3>; 275 + pinctrl-1 = <&pinctrl_usdhc3_100mhz>; 276 + pinctrl-2 = <&pinctrl_usdhc3_200mhz>; 277 + bus-width = <8>; 278 + non-removable; 279 + status = "okay"; 280 + }; 281 + 282 + &wdog1 { 283 + pinctrl-names = "default"; 284 + pinctrl-0 = <&pinctrl_wdog>; 285 + fsl,ext-reset-output; 286 + status = "okay"; 287 + }; 288 + 289 + &iomuxc { 290 + pinctrl_eqos: eqosgrp { 291 + fsl,pins = < 292 + MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC 0x3 293 + MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO 0x3 294 + MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0 0x91 295 + MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1 0x91 296 + MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2 0x91 297 + MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3 0x91 298 + MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK 0x91 299 + MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x91 300 + MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0 0x1f 301 + MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1 0x1f 302 + MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2 0x1f 303 + MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3 0x1f 304 + MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x1f 305 + MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x1f 306 + MX8MP_IOMUXC_SAI1_RXFS__ENET1_1588_EVENT0_IN 0x1f 307 + MX8MP_IOMUXC_SAI1_RXC__ENET1_1588_EVENT0_OUT 0x1f 308 + MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x19 309 + >; 310 + }; 311 + 312 + pinctrl_fec: fecgrp { 313 + fsl,pins = < 314 + MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC 0x3 315 + MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO 0x3 316 + MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0 0x91 317 + MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1 0x91 318 + MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2 0x91 319 + MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3 0x91 320 + MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC 0x91 321 + MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL 0x91 322 + MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0 0x1f 323 + MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1 0x1f 324 + MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2 0x1f 325 + MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3 0x1f 326 + MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL 0x1f 327 + MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC 0x1f 328 + MX8MP_IOMUXC_SAI1_RXD1__ENET1_1588_EVENT1_OUT 0x1f 329 + MX8MP_IOMUXC_SAI1_RXD0__ENET1_1588_EVENT1_IN 0x1f 330 + MX8MP_IOMUXC_SAI1_TXD7__GPIO4_IO19 0x19 331 + >; 332 + }; 333 + 334 + pinctrl_gpio_led: gpioledgrp { 335 + fsl,pins = < 336 + MX8MP_IOMUXC_NAND_READY_B__GPIO3_IO16 0x19 337 + >; 338 + }; 339 + 340 + pinctrl_i2c1: i2c1grp { 341 + fsl,pins = < 342 + MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL 0x400001c2 343 + MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA 0x400001c2 344 + >; 345 + }; 346 + 347 + pinctrl_i2c2: i2c2grp { 348 + fsl,pins = < 349 + MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x400001c2 350 + MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA 0x400001c2 351 + >; 352 + }; 353 + 354 + pinctrl_i2c3: i2c3grp { 355 + fsl,pins = < 356 + MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL 0x400001c2 357 + MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA 0x400001c2 358 + >; 359 + }; 360 + 361 + pinctrl_i2c4: i2c4grp { 362 + fsl,pins = < 363 + MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x400001c3 364 + MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA 0x400001c3 365 + >; 366 + }; 367 + 368 + pinctrl_i2c6: i2c6grp { 369 + fsl,pins = < 370 + MX8MP_IOMUXC_SAI5_RXFS__I2C6_SCL 0x400001c3 371 + MX8MP_IOMUXC_SAI5_RXC__I2C6_SDA 0x400001c3 372 + >; 373 + }; 374 + 375 + pinctrl_pmic: pmicirqgrp { 376 + fsl,pins = < 377 + MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03 0x41 378 + >; 379 + }; 380 + 381 + pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp { 382 + fsl,pins = < 383 + MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x41 384 + >; 385 + }; 386 + 387 + pinctrl_rtc_int: rtcintgrp { 388 + fsl,pins = < 389 + MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11 0x140 390 + >; 391 + }; 392 + 393 + pinctrl_uart2: uart2grp { 394 + fsl,pins = < 395 + MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x14f 396 + MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x14f 397 + >; 398 + }; 399 + 400 + pinctrl_uart3: uart3grp { 401 + fsl,pins = < 402 + MX8MP_IOMUXC_UART3_RXD__UART3_DCE_RX 0x49 403 + MX8MP_IOMUXC_UART3_TXD__UART3_DCE_TX 0x49 404 + >; 405 + }; 406 + 407 + pinctrl_uart4: uart4grp { 408 + fsl,pins = < 409 + MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX 0x49 410 + MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX 0x49 411 + >; 412 + }; 413 + 414 + pinctrl_usdhc2: usdhc2grp { 415 + fsl,pins = < 416 + MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190 417 + MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d0 418 + MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d0 419 + MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0 420 + MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d0 421 + MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d0 422 + >; 423 + }; 424 + 425 + pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 426 + fsl,pins = < 427 + MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194 428 + MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4 429 + MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4 430 + MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4 431 + MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4 432 + MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4 433 + >; 434 + }; 435 + 436 + pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 437 + fsl,pins = < 438 + MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196 439 + MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d6 440 + MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d6 441 + MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6 442 + MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d6 443 + MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d6 444 + >; 445 + }; 446 + 447 + pinctrl_usdhc2_gpio: usdhc2gpiogrp { 448 + fsl,pins = < 449 + MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 0x1c4 450 + >; 451 + }; 452 + 453 + pinctrl_usdhc3: usdhc3grp { 454 + fsl,pins = < 455 + MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x190 456 + MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d0 457 + MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d0 458 + MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d0 459 + MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d0 460 + MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d0 461 + MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d0 462 + MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d0 463 + MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d0 464 + MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d0 465 + MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x190 466 + >; 467 + }; 468 + 469 + pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp { 470 + fsl,pins = < 471 + MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194 472 + MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4 473 + MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4 474 + MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4 475 + MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4 476 + MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4 477 + MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4 478 + MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4 479 + MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4 480 + MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4 481 + MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x194 482 + >; 483 + }; 484 + 485 + pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp { 486 + fsl,pins = < 487 + MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x196 488 + MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d6 489 + MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d6 490 + MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d6 491 + MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d6 492 + MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d6 493 + MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d6 494 + MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d6 495 + MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d6 496 + MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d6 497 + MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x196 498 + >; 499 + }; 500 + 501 + pinctrl_wdog: wdoggrp { 502 + fsl,pins = < 503 + MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B 0xc6 504 + >; 505 + }; 506 + };
+6 -15
arch/arm64/boot/dts/freescale/imx8mp-dhcom-som.dtsi
··· 239 239 pinctrl-0 = <&pinctrl_pmic>; 240 240 interrupt-parent = <&gpio1>; 241 241 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 242 - sd-vsel-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; 243 242 244 243 /* 245 244 * i.MX 8M Plus Data Sheet for Consumer Products ··· 247 248 */ 248 249 regulators { 249 250 buck1: BUCK1 { /* VDD_SOC (dual-phase with BUCK3) */ 250 - regulator-compatible = "BUCK1"; 251 251 regulator-min-microvolt = <850000>; 252 252 regulator-max-microvolt = <1000000>; 253 253 regulator-ramp-delay = <3125>; ··· 255 257 }; 256 258 257 259 buck2: BUCK2 { /* VDD_ARM */ 258 - regulator-compatible = "BUCK2"; 259 260 regulator-min-microvolt = <850000>; 260 261 regulator-max-microvolt = <1000000>; 261 262 regulator-ramp-delay = <3125>; ··· 263 266 }; 264 267 265 268 buck4: BUCK4 { /* VDD_3V3 */ 266 - regulator-compatible = "BUCK4"; 267 269 regulator-min-microvolt = <3300000>; 268 270 regulator-max-microvolt = <3300000>; 269 271 regulator-always-on; ··· 270 274 }; 271 275 272 276 buck5: BUCK5 { /* VDD_1V8 */ 273 - regulator-compatible = "BUCK5"; 274 277 regulator-min-microvolt = <1800000>; 275 278 regulator-max-microvolt = <1800000>; 276 279 regulator-always-on; ··· 277 282 }; 278 283 279 284 buck6: BUCK6 { /* NVCC_DRAM_1V1 */ 280 - regulator-compatible = "BUCK6"; 281 285 regulator-min-microvolt = <1100000>; 282 286 regulator-max-microvolt = <1100000>; 283 287 regulator-always-on; ··· 284 290 }; 285 291 286 292 ldo1: LDO1 { /* NVCC_SNVS_1V8 */ 287 - regulator-compatible = "LDO1"; 288 293 regulator-min-microvolt = <1800000>; 289 294 regulator-max-microvolt = <1800000>; 290 295 regulator-always-on; ··· 291 298 }; 292 299 293 300 ldo3: LDO3 { /* VDDA_1V8 */ 294 - regulator-compatible = "LDO3"; 295 301 regulator-min-microvolt = <1800000>; 296 302 regulator-max-microvolt = <1800000>; 297 303 regulator-always-on; ··· 298 306 }; 299 307 300 308 ldo4: LDO4 { /* PMIC_LDO4 */ 301 - regulator-compatible = "LDO4"; 302 309 regulator-min-microvolt = <3300000>; 303 310 regulator-max-microvolt = <3300000>; 304 311 }; 305 312 306 313 ldo5: LDO5 { /* NVCC_SD2 */ 307 - regulator-compatible = "LDO5"; 308 314 regulator-min-microvolt = <1800000>; 309 315 regulator-max-microvolt = <3300000>; 310 316 }; ··· 419 429 status = "okay"; 420 430 421 431 /* 422 - * PLL3 at 320 MHz supplies UART2 root with 64 MHz clock, 423 - * which with 16x oversampling yields 4 Mbdps baud base, 432 + * PLL1 at 80 MHz supplies UART2 root with 80 MHz clock, 433 + * which with 16x oversampling yields 5 Mbdps baud base, 434 + * which can be well divided by 5/4 to achieve 4 Mbdps, 424 435 * which is exactly the maximum rate supported by muRata 425 436 * 2AE bluetooth UART. 426 437 */ 427 - assigned-clocks = <&clk IMX8MP_SYS_PLL3>, <&clk IMX8MP_CLK_UART2>; 428 - assigned-clock-parents = <0>, <&clk IMX8MP_SYS_PLL3_OUT>; 429 - assigned-clock-rates = <320000000>, <64000000>; 438 + assigned-clocks = <&clk IMX8MP_CLK_UART2>; 439 + assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>; 440 + assigned-clock-rates = <80000000>; 430 441 431 442 bluetooth { 432 443 pinctrl-names = "default";
-7
arch/arm64/boot/dts/freescale/imx8mp-evk.dts
··· 400 400 pinctrl-names = "default"; 401 401 pinctrl-0 = <&pinctrl_pcie0>; 402 402 reset-gpio = <&gpio2 7 GPIO_ACTIVE_LOW>; 403 - clocks = <&clk IMX8MP_CLK_HSIO_ROOT>, 404 - <&clk IMX8MP_CLK_PCIE_ROOT>, 405 - <&clk IMX8MP_CLK_HSIO_AXI>; 406 - clock-names = "pcie", "pcie_aux", "pcie_bus"; 407 - assigned-clocks = <&clk IMX8MP_CLK_PCIE_AUX>; 408 - assigned-clock-rates = <10000000>; 409 - assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_50M>; 410 403 vpcie-supply = <&reg_pcie0>; 411 404 status = "okay"; 412 405 };
+61
arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mpxl-lvds.dtso
··· 1 + // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 2 + /* 3 + * Copyright (c) 2022 TQ-Systems GmbH <linux@ew.tq-group.com>, 4 + * D-82229 Seefeld, Germany. 5 + * Author: Alexander Stein 6 + */ 7 + 8 + /dts-v1/; 9 + /plugin/; 10 + 11 + &{/} { 12 + compatible = "tq,imx8mp-tqma8mpql-mba8mpxl", "tq,imx8mp-tqma8mpql", "fsl,imx8mp"; 13 + }; 14 + 15 + &backlight_lvds { 16 + status = "okay"; 17 + }; 18 + 19 + &display { 20 + compatible = "tianma,tm070jvhg33"; 21 + status = "okay"; 22 + 23 + panel-timing { 24 + clock-frequency = <74250000>; 25 + hactive = <1280>; 26 + vactive = <800>; 27 + hfront-porch = <64>; 28 + hback-porch = <5>; 29 + hsync-len = <1>; 30 + vfront-porch = <40>; 31 + vback-porch = <2>; 32 + vsync-len = <1>; 33 + de-active = <1>; 34 + }; 35 + 36 + port { 37 + panel_in_lvds0: endpoint { 38 + remote-endpoint = <&ldb_lvds_ch0>; 39 + }; 40 + }; 41 + }; 42 + 43 + &lcdif2 { 44 + status = "okay"; 45 + }; 46 + 47 + &lvds_bridge { 48 + status = "okay"; 49 + 50 + ports { 51 + port@1 { 52 + ldb_lvds_ch0: endpoint { 53 + remote-endpoint = <&panel_in_lvds0>; 54 + }; 55 + }; 56 + }; 57 + }; 58 + 59 + &pwm2 { 60 + status = "okay"; 61 + };
+2 -3
arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql-mba8mpxl.dts
··· 447 447 sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 448 448 status = "okay"; 449 449 450 - /* NXP SE97BTP with temperature sensor + eeprom */ 451 - se97_1c: temperature-sensor-eeprom@1c { 452 - compatible = "nxp,se97", "jedec,jc-42.4-temp"; 450 + se97_1c: temperature-sensor@1c { 451 + compatible = "nxp,se97b", "jedec,jc-42.4-temp"; 453 452 reg = <0x1c>; 454 453 }; 455 454
+2 -3
arch/arm64/boot/dts/freescale/imx8mp-tqma8mpql.dtsi
··· 63 63 sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 64 64 status = "okay"; 65 65 66 - /* NXP SE97BTP with temperature sensor + eeprom */ 67 - se97: temperature-sensor-eeprom@1b { 68 - compatible = "nxp,se97", "jedec,jc-42.4-temp"; 66 + se97: temperature-sensor@1b { 67 + compatible = "nxp,se97b", "jedec,jc-42.4-temp"; 69 68 reg = <0x1b>; 70 69 }; 71 70
-7
arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts
··· 593 593 pinctrl-names = "default"; 594 594 pinctrl-0 = <&pinctrl_pcie0>; 595 595 reset-gpio = <&gpio2 17 GPIO_ACTIVE_LOW>; 596 - clocks = <&clk IMX8MP_CLK_HSIO_ROOT>, 597 - <&clk IMX8MP_CLK_PCIE_ROOT>, 598 - <&clk IMX8MP_CLK_HSIO_AXI>; 599 - clock-names = "pcie", "pcie_aux", "pcie_bus"; 600 - assigned-clocks = <&clk IMX8MP_CLK_PCIE_AUX>; 601 - assigned-clock-rates = <10000000>; 602 - assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_50M>; 603 596 status = "okay"; 604 597 }; 605 598
+114 -2
arch/arm64/boot/dts/freescale/imx8mp-verdin-dev.dtsi
··· 3 3 * Copyright 2022 Toradex 4 4 */ 5 5 6 - #include "imx8mp-verdin-dahlia.dtsi" 7 - 8 6 / { 9 7 /* TODO: Audio Codec */ 10 8 ··· 19 21 }; 20 22 }; 21 23 24 + &backlight { 25 + power-supply = <&reg_3p3v>; 26 + }; 27 + 28 + /* Verdin SPI_1 */ 29 + &ecspi1 { 30 + status = "okay"; 31 + }; 32 + 33 + /* EEPROM on display adapter boards */ 34 + &eeprom_display_adapter { 35 + status = "okay"; 36 + }; 37 + 38 + /* EEPROM on Verdin Development board */ 39 + &eeprom_carrier_board { 40 + status = "okay"; 41 + }; 42 + 43 + &eqos { 44 + status = "okay"; 45 + }; 46 + 22 47 &fec { 23 48 phy-supply = <&reg_eth2phy>; 49 + status = "okay"; 50 + }; 51 + 52 + &flexcan1 { 53 + status = "okay"; 54 + }; 55 + 56 + &flexcan2 { 57 + status = "okay"; 58 + }; 59 + 60 + /* Verdin QSPI_1 */ 61 + &flexspi { 24 62 status = "okay"; 25 63 }; 26 64 27 65 &gpio_expander_21 { 28 66 status = "okay"; 29 67 vcc-supply = <&reg_1p8v>; 68 + }; 69 + 70 + /* Current measurement into module VCC */ 71 + &hwmon { 72 + status = "okay"; 73 + }; 74 + 75 + &hwmon_temp { 76 + vs-supply = <&reg_1p8v>; 77 + status = "okay"; 78 + }; 79 + 80 + /* Verdin I2C_2_DSI */ 81 + &i2c2 { 82 + status = "okay"; 83 + }; 84 + 85 + &i2c3 { 86 + status = "okay"; 87 + }; 88 + 89 + /* Verdin I2C_1 */ 90 + &i2c4 { 91 + status = "okay"; 92 + 93 + /* TODO: Audio Codec */ 94 + }; 95 + 96 + /* TODO: Verdin PCIE_1 */ 97 + 98 + /* Verdin PWM_1 */ 99 + &pwm1 { 100 + status = "okay"; 101 + }; 102 + 103 + /* Verdin PWM_2 */ 104 + &pwm2 { 105 + status = "okay"; 106 + }; 107 + 108 + /* Verdin PWM_3_DSI */ 109 + &pwm3 { 110 + status = "okay"; 111 + }; 112 + 113 + &reg_usdhc2_vmmc { 114 + vin-supply = <&reg_3p3v>; 30 115 }; 31 116 32 117 /* TODO: Verdin I2C_1 with Audio Codec */ ··· 119 38 linux,rs485-enabled-at-boot-time; 120 39 rs485-rts-active-low; 121 40 rs485-rx-during-tx; 41 + status = "okay"; 42 + }; 43 + 44 + /* Verdin UART_2 */ 45 + &uart2 { 46 + status = "okay"; 47 + }; 48 + 49 + /* Verdin UART_3, used as the Linux Console */ 50 + &uart3 { 51 + status = "okay"; 52 + }; 53 + 54 + /* Verdin USB_1 */ 55 + &usb3_0 { 56 + status = "okay"; 57 + }; 58 + 59 + &usb3_phy0 { 60 + status = "okay"; 61 + }; 62 + 63 + /* Verdin USB_2 */ 64 + &usb3_1 { 65 + fsl,permanently-attached; 66 + status = "okay"; 67 + }; 68 + 69 + &usb3_phy1 { 70 + status = "okay"; 122 71 }; 123 72 124 73 /* Limit frequency on dev board due to long traces and bad signal integrity */ 125 74 &usdhc2 { 126 75 max-frequency = <100000000>; 76 + status = "okay"; 127 77 };
+18
arch/arm64/boot/dts/freescale/imx8mp-verdin-nonwifi-yavia.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2 + /* 3 + * Copyright 2023 Toradex 4 + */ 5 + 6 + /dts-v1/; 7 + 8 + #include "imx8mp-verdin.dtsi" 9 + #include "imx8mp-verdin-nonwifi.dtsi" 10 + #include "imx8mp-verdin-yavia.dtsi" 11 + 12 + / { 13 + model = "Toradex Verdin iMX8M Plus on Yavia Board"; 14 + compatible = "toradex,verdin-imx8mp-nonwifi-yavia", 15 + "toradex,verdin-imx8mp-nonwifi", 16 + "toradex,verdin-imx8mp", 17 + "fsl,imx8mp"; 18 + };
+18
arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi-yavia.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2 + /* 3 + * Copyright 2023 Toradex 4 + */ 5 + 6 + /dts-v1/; 7 + 8 + #include "imx8mp-verdin.dtsi" 9 + #include "imx8mp-verdin-wifi.dtsi" 10 + #include "imx8mp-verdin-yavia.dtsi" 11 + 12 + / { 13 + model = "Toradex Verdin iMX8M Plus WB on Yavia Board"; 14 + compatible = "toradex,verdin-imx8mp-wifi-yavia", 15 + "toradex,verdin-imx8mp-wifi", 16 + "toradex,verdin-imx8mp", 17 + "fsl,imx8mp"; 18 + };
+213
arch/arm64/boot/dts/freescale/imx8mp-verdin-yavia.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2 + /* 3 + * Copyright 2023 Toradex 4 + */ 5 + 6 + #include <dt-bindings/leds/common.h> 7 + 8 + / { 9 + /* Carrier Board Supply +V1.8 */ 10 + reg_1p8v: regulator-1p8v { 11 + compatible = "regulator-fixed"; 12 + regulator-max-microvolt = <1800000>; 13 + regulator-min-microvolt = <1800000>; 14 + regulator-name = "+V1.8_SW"; 15 + }; 16 + 17 + /* Carrier Board Supply +V3.3 */ 18 + reg_3p3v: regulator-3p3v { 19 + compatible = "regulator-fixed"; 20 + regulator-max-microvolt = <3300000>; 21 + regulator-min-microvolt = <3300000>; 22 + regulator-name = "+V3.3_SW"; 23 + }; 24 + 25 + leds { 26 + compatible = "gpio-leds"; 27 + 28 + pinctrl-names = "default"; 29 + pinctrl-0 = <&pinctrl_leds_yavia>; 30 + 31 + /* SODIMM 52 - LD1_RED */ 32 + led-0 { 33 + color = <LED_COLOR_ID_RED>; 34 + function = LED_FUNCTION_DEBUG; 35 + function-enumerator = <1>; 36 + gpios = <&gpio3 0 GPIO_ACTIVE_HIGH>; 37 + }; 38 + /* SODIMM 54 - LD1_GREEN */ 39 + led-1 { 40 + color = <LED_COLOR_ID_GREEN>; 41 + function = LED_FUNCTION_DEBUG; 42 + function-enumerator = <1>; 43 + gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>; 44 + }; 45 + /* SODIMM 56 - LD1_BLUE */ 46 + led-2 { 47 + color = <LED_COLOR_ID_BLUE>; 48 + function = LED_FUNCTION_DEBUG; 49 + function-enumerator = <1>; 50 + gpios = <&gpio3 6 GPIO_ACTIVE_HIGH>; 51 + }; 52 + /* SODIMM 58 - LD2_RED */ 53 + led-3 { 54 + color = <LED_COLOR_ID_RED>; 55 + function = LED_FUNCTION_DEBUG; 56 + function-enumerator = <2>; 57 + gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>; 58 + }; 59 + /* SODIMM 60 - LD2_GREEN */ 60 + led-4 { 61 + color = <LED_COLOR_ID_GREEN>; 62 + function = LED_FUNCTION_DEBUG; 63 + function-enumerator = <2>; 64 + gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>; 65 + }; 66 + /* SODIMM 62 - LD2_BLUE */ 67 + led-5 { 68 + color = <LED_COLOR_ID_BLUE>; 69 + function = LED_FUNCTION_DEBUG; 70 + function-enumerator = <2>; 71 + gpios = <&gpio3 9 GPIO_ACTIVE_HIGH>; 72 + }; 73 + }; 74 + }; 75 + 76 + &backlight { 77 + power-supply = <&reg_3p3v>; 78 + }; 79 + 80 + /* Verdin SPI_1 */ 81 + &ecspi1 { 82 + status = "okay"; 83 + }; 84 + 85 + /* EEPROM on display adapter boards */ 86 + &eeprom_display_adapter { 87 + status = "okay"; 88 + }; 89 + 90 + /* EEPROM on Verdin yavia board */ 91 + &eeprom_carrier_board { 92 + status = "okay"; 93 + }; 94 + 95 + &eqos { 96 + status = "okay"; 97 + }; 98 + 99 + &flexcan1 { 100 + status = "okay"; 101 + }; 102 + 103 + &hwmon_temp { 104 + status = "okay"; 105 + }; 106 + 107 + /* Verdin I2C_2_DSI */ 108 + &i2c2 { 109 + status = "okay"; 110 + }; 111 + 112 + &i2c3 { 113 + status = "okay"; 114 + }; 115 + 116 + &i2c4 { 117 + status = "okay"; 118 + }; 119 + 120 + /* Verdin PCIE_1 */ 121 + &pcie { 122 + status = "okay"; 123 + }; 124 + 125 + &pcie_phy{ 126 + status = "okay"; 127 + }; 128 + 129 + /* Verdin PWM_1 */ 130 + &pwm1 { 131 + status = "okay"; 132 + }; 133 + 134 + /* Verdin PWM_2 */ 135 + &pwm2 { 136 + status = "okay"; 137 + }; 138 + 139 + /* Verdin PWM_3_DSI */ 140 + &pwm3 { 141 + status = "okay"; 142 + }; 143 + 144 + &reg_usdhc2_vmmc { 145 + vin-supply = <&reg_3p3v>; 146 + }; 147 + 148 + /* Verdin UART_1 */ 149 + &uart1 { 150 + status = "okay"; 151 + }; 152 + 153 + /* Verdin UART_2 */ 154 + &uart2 { 155 + status = "okay"; 156 + }; 157 + 158 + /* Verdin UART_3, used as the Linux Console */ 159 + &uart3 { 160 + status = "okay"; 161 + }; 162 + 163 + /* Verdin USB_1 */ 164 + &usb3_phy0 { 165 + status = "okay"; 166 + }; 167 + 168 + &usb3_0 { 169 + status = "okay"; 170 + }; 171 + 172 + &usb_dwc3_0 { 173 + status = "okay"; 174 + }; 175 + 176 + /* Verdin USB_2 */ 177 + &usb3_phy1 { 178 + status = "okay"; 179 + }; 180 + 181 + &usb3_1 { 182 + status = "okay"; 183 + }; 184 + 185 + &usb_dwc3_1 { 186 + disable-over-current; 187 + status = "okay"; 188 + }; 189 + 190 + /* Verdin SD_1 */ 191 + &usdhc2 { 192 + status = "okay"; 193 + }; 194 + 195 + &iomuxc { 196 + pinctrl_leds_yavia: ledsyaviagrp { 197 + fsl,pins = < 198 + MX8MP_IOMUXC_NAND_ALE__GPIO3_IO00 0x106 /* SODIMM 52 */ 199 + MX8MP_IOMUXC_NAND_CE0_B__GPIO3_IO01 0x106 /* SODIMM 54 */ 200 + MX8MP_IOMUXC_NAND_DATA00__GPIO3_IO06 0x106 /* SODIMM 56 */ 201 + MX8MP_IOMUXC_NAND_DATA01__GPIO3_IO07 0x106 /* SODIMM 58 */ 202 + MX8MP_IOMUXC_NAND_DATA02__GPIO3_IO08 0x106 /* SODIMM 60 */ 203 + MX8MP_IOMUXC_NAND_DATA03__GPIO3_IO09 0x106 /* SODIMM 62 */ 204 + >; 205 + }; 206 + 207 + pinctrl_gpios_ext_yavia: gpiosextyaviagrp { 208 + fsl,pins = < 209 + MX8MP_IOMUXC_NAND_CE1_B__GPIO3_IO02 0x106 /* SODIMM 64 */ 210 + MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14 0x106 /* SODIMM 66 */ 211 + >; 212 + }; 213 + };
+1 -2
arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi
··· 50 50 pinctrl-names = "default"; 51 51 pinctrl-0 = <&pinctrl_gpio_keys>; 52 52 53 - button-wakeup { 53 + key-wakeup { 54 54 debounce-interval = <10>; 55 55 /* Verdin CTRL_WAKE1_MICO# (SODIMM 252) */ 56 56 gpios = <&gpio4 0 GPIO_ACTIVE_LOW>; ··· 453 453 pinctrl-names = "default"; 454 454 pinctrl-0 = <&pinctrl_pmic>; 455 455 reg = <0x25>; 456 - sd-vsel-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; 457 456 458 457 /* 459 458 * The bootloader is expected to switch on LDO4 for the on-module +V3.3_ADC and the
+236 -113
arch/arm64/boot/dts/freescale/imx8mp.dtsi
··· 380 380 compatible = "fsl,imx8mp-tmu"; 381 381 reg = <0x30260000 0x10000>; 382 382 clocks = <&clk IMX8MP_CLK_TSENSOR_ROOT>; 383 + nvmem-cells = <&tmu_calib>; 384 + nvmem-cell-names = "calib"; 383 385 #thermal-sensor-cells = <1>; 384 386 }; 385 387 ··· 414 412 reg = <0x30330000 0x10000>; 415 413 }; 416 414 417 - gpr: iomuxc-gpr@30340000 { 415 + gpr: syscon@30340000 { 418 416 compatible = "fsl,imx8mp-iomuxc-gpr", "syscon"; 419 417 reg = <0x30340000 0x10000>; 420 418 }; ··· 427 425 #address-cells = <1>; 428 426 #size-cells = <1>; 429 427 430 - imx8mp_uid: unique-id@420 { 428 + /* 429 + * The register address below maps to the MX8M 430 + * Fusemap Description Table entries this way. 431 + * Assuming 432 + * reg = <ADDR SIZE>; 433 + * then 434 + * Fuse Address = (ADDR * 4) + 0x400 435 + * Note that if SIZE is greater than 4, then 436 + * each subsequent fuse is located at offset 437 + * +0x10 in Fusemap Description Table (e.g. 438 + * reg = <0x8 0x8> describes fuses 0x420 and 439 + * 0x430). 440 + */ 441 + imx8mp_uid: unique-id@8 { /* 0x420-0x430 */ 431 442 reg = <0x8 0x8>; 432 443 }; 433 444 434 - cpu_speed_grade: speed-grade@10 { 445 + cpu_speed_grade: speed-grade@10 { /* 0x440 */ 435 446 reg = <0x10 4>; 436 447 }; 437 448 438 - eth_mac1: mac-address@90 { 449 + eth_mac1: mac-address@90 { /* 0x640 */ 439 450 reg = <0x90 6>; 440 451 }; 441 452 442 - eth_mac2: mac-address@96 { 453 + eth_mac2: mac-address@96 { /* 0x658 */ 443 454 reg = <0x96 6>; 455 + }; 456 + 457 + tmu_calib: calib@264 { /* 0xd90-0xdc0 */ 458 + reg = <0x264 0x10>; 444 459 }; 445 460 }; 446 461 ··· 730 711 #size-cells = <1>; 731 712 ranges; 732 713 733 - ecspi1: spi@30820000 { 714 + spba-bus@30800000 { 715 + compatible = "fsl,spba-bus", "simple-bus"; 716 + reg = <0x30800000 0x100000>; 734 717 #address-cells = <1>; 735 - #size-cells = <0>; 736 - compatible = "fsl,imx8mp-ecspi", "fsl,imx6ul-ecspi"; 737 - reg = <0x30820000 0x10000>; 738 - interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 739 - clocks = <&clk IMX8MP_CLK_ECSPI1_ROOT>, 740 - <&clk IMX8MP_CLK_ECSPI1_ROOT>; 741 - clock-names = "ipg", "per"; 742 - assigned-clock-rates = <80000000>; 743 - assigned-clocks = <&clk IMX8MP_CLK_ECSPI1>; 744 - assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>; 745 - dmas = <&sdma1 0 7 1>, <&sdma1 1 7 2>; 746 - dma-names = "rx", "tx"; 747 - status = "disabled"; 748 - }; 718 + #size-cells = <1>; 719 + ranges; 749 720 750 - ecspi2: spi@30830000 { 751 - #address-cells = <1>; 752 - #size-cells = <0>; 753 - compatible = "fsl,imx8mp-ecspi", "fsl,imx6ul-ecspi"; 754 - reg = <0x30830000 0x10000>; 755 - interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 756 - clocks = <&clk IMX8MP_CLK_ECSPI2_ROOT>, 757 - <&clk IMX8MP_CLK_ECSPI2_ROOT>; 758 - clock-names = "ipg", "per"; 759 - assigned-clock-rates = <80000000>; 760 - assigned-clocks = <&clk IMX8MP_CLK_ECSPI2>; 761 - assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>; 762 - dmas = <&sdma1 2 7 1>, <&sdma1 3 7 2>; 763 - dma-names = "rx", "tx"; 764 - status = "disabled"; 765 - }; 721 + ecspi1: spi@30820000 { 722 + #address-cells = <1>; 723 + #size-cells = <0>; 724 + compatible = "fsl,imx8mp-ecspi", "fsl,imx6ul-ecspi"; 725 + reg = <0x30820000 0x10000>; 726 + interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 727 + clocks = <&clk IMX8MP_CLK_ECSPI1_ROOT>, 728 + <&clk IMX8MP_CLK_ECSPI1_ROOT>; 729 + clock-names = "ipg", "per"; 730 + assigned-clock-rates = <80000000>; 731 + assigned-clocks = <&clk IMX8MP_CLK_ECSPI1>; 732 + assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>; 733 + dmas = <&sdma1 0 7 1>, <&sdma1 1 7 2>; 734 + dma-names = "rx", "tx"; 735 + status = "disabled"; 736 + }; 766 737 767 - ecspi3: spi@30840000 { 768 - #address-cells = <1>; 769 - #size-cells = <0>; 770 - compatible = "fsl,imx8mp-ecspi", "fsl,imx6ul-ecspi"; 771 - reg = <0x30840000 0x10000>; 772 - interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 773 - clocks = <&clk IMX8MP_CLK_ECSPI3_ROOT>, 774 - <&clk IMX8MP_CLK_ECSPI3_ROOT>; 775 - clock-names = "ipg", "per"; 776 - assigned-clock-rates = <80000000>; 777 - assigned-clocks = <&clk IMX8MP_CLK_ECSPI3>; 778 - assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>; 779 - dmas = <&sdma1 4 7 1>, <&sdma1 5 7 2>; 780 - dma-names = "rx", "tx"; 781 - status = "disabled"; 782 - }; 738 + ecspi2: spi@30830000 { 739 + #address-cells = <1>; 740 + #size-cells = <0>; 741 + compatible = "fsl,imx8mp-ecspi", "fsl,imx6ul-ecspi"; 742 + reg = <0x30830000 0x10000>; 743 + interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 744 + clocks = <&clk IMX8MP_CLK_ECSPI2_ROOT>, 745 + <&clk IMX8MP_CLK_ECSPI2_ROOT>; 746 + clock-names = "ipg", "per"; 747 + assigned-clock-rates = <80000000>; 748 + assigned-clocks = <&clk IMX8MP_CLK_ECSPI2>; 749 + assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>; 750 + dmas = <&sdma1 2 7 1>, <&sdma1 3 7 2>; 751 + dma-names = "rx", "tx"; 752 + status = "disabled"; 753 + }; 783 754 784 - uart1: serial@30860000 { 785 - compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart"; 786 - reg = <0x30860000 0x10000>; 787 - interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 788 - clocks = <&clk IMX8MP_CLK_UART1_ROOT>, 789 - <&clk IMX8MP_CLK_UART1_ROOT>; 790 - clock-names = "ipg", "per"; 791 - dmas = <&sdma1 22 4 0>, <&sdma1 23 4 0>; 792 - dma-names = "rx", "tx"; 793 - status = "disabled"; 794 - }; 755 + ecspi3: spi@30840000 { 756 + #address-cells = <1>; 757 + #size-cells = <0>; 758 + compatible = "fsl,imx8mp-ecspi", "fsl,imx6ul-ecspi"; 759 + reg = <0x30840000 0x10000>; 760 + interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 761 + clocks = <&clk IMX8MP_CLK_ECSPI3_ROOT>, 762 + <&clk IMX8MP_CLK_ECSPI3_ROOT>; 763 + clock-names = "ipg", "per"; 764 + assigned-clock-rates = <80000000>; 765 + assigned-clocks = <&clk IMX8MP_CLK_ECSPI3>; 766 + assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_800M>; 767 + dmas = <&sdma1 4 7 1>, <&sdma1 5 7 2>; 768 + dma-names = "rx", "tx"; 769 + status = "disabled"; 770 + }; 795 771 796 - uart3: serial@30880000 { 797 - compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart"; 798 - reg = <0x30880000 0x10000>; 799 - interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 800 - clocks = <&clk IMX8MP_CLK_UART3_ROOT>, 801 - <&clk IMX8MP_CLK_UART3_ROOT>; 802 - clock-names = "ipg", "per"; 803 - dmas = <&sdma1 26 4 0>, <&sdma1 27 4 0>; 804 - dma-names = "rx", "tx"; 805 - status = "disabled"; 806 - }; 772 + uart1: serial@30860000 { 773 + compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart"; 774 + reg = <0x30860000 0x10000>; 775 + interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 776 + clocks = <&clk IMX8MP_CLK_UART1_ROOT>, 777 + <&clk IMX8MP_CLK_UART1_ROOT>; 778 + clock-names = "ipg", "per"; 779 + dmas = <&sdma1 22 4 0>, <&sdma1 23 4 0>; 780 + dma-names = "rx", "tx"; 781 + status = "disabled"; 782 + }; 807 783 808 - uart2: serial@30890000 { 809 - compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart"; 810 - reg = <0x30890000 0x10000>; 811 - interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 812 - clocks = <&clk IMX8MP_CLK_UART2_ROOT>, 813 - <&clk IMX8MP_CLK_UART2_ROOT>; 814 - clock-names = "ipg", "per"; 815 - dmas = <&sdma1 24 4 0>, <&sdma1 25 4 0>; 816 - dma-names = "rx", "tx"; 817 - status = "disabled"; 818 - }; 784 + uart3: serial@30880000 { 785 + compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart"; 786 + reg = <0x30880000 0x10000>; 787 + interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 788 + clocks = <&clk IMX8MP_CLK_UART3_ROOT>, 789 + <&clk IMX8MP_CLK_UART3_ROOT>; 790 + clock-names = "ipg", "per"; 791 + dmas = <&sdma1 26 4 0>, <&sdma1 27 4 0>; 792 + dma-names = "rx", "tx"; 793 + status = "disabled"; 794 + }; 819 795 820 - flexcan1: can@308c0000 { 821 - compatible = "fsl,imx8mp-flexcan"; 822 - reg = <0x308c0000 0x10000>; 823 - interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>; 824 - clocks = <&clk IMX8MP_CLK_IPG_ROOT>, 825 - <&clk IMX8MP_CLK_CAN1_ROOT>; 826 - clock-names = "ipg", "per"; 827 - assigned-clocks = <&clk IMX8MP_CLK_CAN1>; 828 - assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_40M>; 829 - assigned-clock-rates = <40000000>; 830 - fsl,clk-source = /bits/ 8 <0>; 831 - fsl,stop-mode = <&gpr 0x10 4>; 832 - status = "disabled"; 833 - }; 796 + uart2: serial@30890000 { 797 + compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart"; 798 + reg = <0x30890000 0x10000>; 799 + interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 800 + clocks = <&clk IMX8MP_CLK_UART2_ROOT>, 801 + <&clk IMX8MP_CLK_UART2_ROOT>; 802 + clock-names = "ipg", "per"; 803 + dmas = <&sdma1 24 4 0>, <&sdma1 25 4 0>; 804 + dma-names = "rx", "tx"; 805 + status = "disabled"; 806 + }; 834 807 835 - flexcan2: can@308d0000 { 836 - compatible = "fsl,imx8mp-flexcan"; 837 - reg = <0x308d0000 0x10000>; 838 - interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; 839 - clocks = <&clk IMX8MP_CLK_IPG_ROOT>, 840 - <&clk IMX8MP_CLK_CAN2_ROOT>; 841 - clock-names = "ipg", "per"; 842 - assigned-clocks = <&clk IMX8MP_CLK_CAN2>; 843 - assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_40M>; 844 - assigned-clock-rates = <40000000>; 845 - fsl,clk-source = /bits/ 8 <0>; 846 - fsl,stop-mode = <&gpr 0x10 5>; 847 - status = "disabled"; 808 + flexcan1: can@308c0000 { 809 + compatible = "fsl,imx8mp-flexcan"; 810 + reg = <0x308c0000 0x10000>; 811 + interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>; 812 + clocks = <&clk IMX8MP_CLK_IPG_ROOT>, 813 + <&clk IMX8MP_CLK_CAN1_ROOT>; 814 + clock-names = "ipg", "per"; 815 + assigned-clocks = <&clk IMX8MP_CLK_CAN1>; 816 + assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_40M>; 817 + assigned-clock-rates = <40000000>; 818 + fsl,clk-source = /bits/ 8 <0>; 819 + fsl,stop-mode = <&gpr 0x10 4>; 820 + status = "disabled"; 821 + }; 822 + 823 + flexcan2: can@308d0000 { 824 + compatible = "fsl,imx8mp-flexcan"; 825 + reg = <0x308d0000 0x10000>; 826 + interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; 827 + clocks = <&clk IMX8MP_CLK_IPG_ROOT>, 828 + <&clk IMX8MP_CLK_CAN2_ROOT>; 829 + clock-names = "ipg", "per"; 830 + assigned-clocks = <&clk IMX8MP_CLK_CAN2>; 831 + assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_40M>; 832 + assigned-clock-rates = <40000000>; 833 + fsl,clk-source = /bits/ 8 <0>; 834 + fsl,stop-mode = <&gpr 0x10 5>; 835 + status = "disabled"; 836 + }; 848 837 }; 849 838 850 839 crypto: crypto@30900000 { ··· 1125 1098 #size-cells = <1>; 1126 1099 ranges; 1127 1100 1101 + lcdif2: display-controller@32e90000 { 1102 + compatible = "fsl,imx8mp-lcdif"; 1103 + reg = <0x32e90000 0x238>; 1104 + interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 1105 + clocks = <&clk IMX8MP_CLK_MEDIA_DISP2_PIX_ROOT>, 1106 + <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>, 1107 + <&clk IMX8MP_CLK_MEDIA_APB_ROOT>; 1108 + clock-names = "pix", "axi", "disp_axi"; 1109 + assigned-clocks = <&clk IMX8MP_CLK_MEDIA_DISP2_PIX>, 1110 + <&clk IMX8MP_VIDEO_PLL1>; 1111 + assigned-clock-parents = <&clk IMX8MP_VIDEO_PLL1_OUT>, 1112 + <&clk IMX8MP_VIDEO_PLL1_REF_SEL>; 1113 + assigned-clock-rates = <0>, <1039500000>; 1114 + power-domains = <&media_blk_ctrl IMX8MP_MEDIABLK_PD_LCDIF_2>; 1115 + status = "disabled"; 1116 + 1117 + port { 1118 + lcdif2_to_ldb: endpoint { 1119 + remote-endpoint = <&ldb_from_lcdif2>; 1120 + }; 1121 + }; 1122 + }; 1123 + 1128 1124 media_blk_ctrl: blk-ctrl@32ec0000 { 1129 1125 compatible = "fsl,imx8mp-media-blk-ctrl", 1130 - "syscon"; 1126 + "simple-bus", "syscon"; 1131 1127 reg = <0x32ec0000 0x10000>; 1128 + #address-cells = <1>; 1129 + #size-cells = <1>; 1132 1130 power-domains = <&pgc_mediamix>, 1133 1131 <&pgc_mipi_phy1>, 1134 1132 <&pgc_mipi_phy1>, ··· 1198 1146 assigned-clock-rates = <500000000>, <200000000>; 1199 1147 1200 1148 #power-domain-cells = <1>; 1149 + 1150 + lvds_bridge: bridge@5c { 1151 + compatible = "fsl,imx8mp-ldb"; 1152 + clocks = <&clk IMX8MP_CLK_MEDIA_LDB>; 1153 + clock-names = "ldb"; 1154 + reg = <0x5c 0x4>, <0x128 0x4>; 1155 + reg-names = "ldb", "lvds"; 1156 + assigned-clocks = <&clk IMX8MP_CLK_MEDIA_LDB>; 1157 + assigned-clock-parents = <&clk IMX8MP_VIDEO_PLL1_OUT>; 1158 + status = "disabled"; 1159 + 1160 + ports { 1161 + #address-cells = <1>; 1162 + #size-cells = <0>; 1163 + 1164 + port@0 { 1165 + reg = <0>; 1166 + 1167 + ldb_from_lcdif2: endpoint { 1168 + remote-endpoint = <&lcdif2_to_ldb>; 1169 + }; 1170 + }; 1171 + 1172 + port@1 { 1173 + reg = <1>; 1174 + 1175 + ldb_lvds_ch0: endpoint { 1176 + }; 1177 + }; 1178 + 1179 + port@2 { 1180 + reg = <2>; 1181 + 1182 + ldb_lvds_ch1: endpoint { 1183 + }; 1184 + }; 1185 + }; 1186 + }; 1201 1187 }; 1202 1188 1203 1189 pcie_phy: pcie-phy@32f00000 { ··· 1266 1176 <&noc IMX8MP_ICM_PCIE &noc IMX8MP_ICN_HSIO>; 1267 1177 interconnect-names = "noc-pcie", "usb1", "usb2", "pcie"; 1268 1178 #power-domain-cells = <1>; 1179 + #clock-cells = <0>; 1269 1180 }; 1270 1181 }; 1271 1182 ··· 1274 1183 compatible = "fsl,imx8mp-pcie"; 1275 1184 reg = <0x33800000 0x400000>, <0x1ff00000 0x80000>; 1276 1185 reg-names = "dbi", "config"; 1186 + clocks = <&clk IMX8MP_CLK_HSIO_ROOT>, 1187 + <&clk IMX8MP_CLK_HSIO_AXI>, 1188 + <&clk IMX8MP_CLK_PCIE_ROOT>; 1189 + clock-names = "pcie", "pcie_bus", "pcie_aux"; 1190 + assigned-clocks = <&clk IMX8MP_CLK_PCIE_AUX>; 1191 + assigned-clock-rates = <10000000>; 1192 + assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_50M>; 1277 1193 #address-cells = <3>; 1278 1194 #size-cells = <2>; 1279 1195 device_type = "pci"; ··· 1339 1241 power-domains = <&pgc_gpu2d>; 1340 1242 }; 1341 1243 1244 + vpu_g1: video-codec@38300000 { 1245 + compatible = "nxp,imx8mm-vpu-g1"; 1246 + reg = <0x38300000 0x10000>; 1247 + interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 1248 + clocks = <&clk IMX8MP_CLK_VPU_G1_ROOT>; 1249 + assigned-clocks = <&clk IMX8MP_CLK_VPU_G1>; 1250 + assigned-clock-parents = <&clk IMX8MP_VPU_PLL_OUT>; 1251 + assigned-clock-rates = <600000000>; 1252 + power-domains = <&vpumix_blk_ctrl IMX8MP_VPUBLK_PD_G1>; 1253 + }; 1254 + 1255 + vpu_g2: video-codec@38310000 { 1256 + compatible = "nxp,imx8mq-vpu-g2"; 1257 + reg = <0x38310000 0x10000>; 1258 + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 1259 + clocks = <&clk IMX8MP_CLK_VPU_G2_ROOT>; 1260 + assigned-clocks = <&clk IMX8MP_CLK_VPU_G2>; 1261 + assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>; 1262 + assigned-clock-rates = <500000000>; 1263 + power-domains = <&vpumix_blk_ctrl IMX8MP_VPUBLK_PD_G2>; 1264 + }; 1265 + 1342 1266 vpumix_blk_ctrl: blk-ctrl@38330000 { 1343 1267 compatible = "fsl,imx8mp-vpu-blk-ctrl", "syscon"; 1344 1268 reg = <0x38330000 0x100>; ··· 1372 1252 <&clk IMX8MP_CLK_VPU_G2_ROOT>, 1373 1253 <&clk IMX8MP_CLK_VPU_VC8KE_ROOT>; 1374 1254 clock-names = "g1", "g2", "vc8000e"; 1255 + assigned-clocks = <&clk IMX8MP_CLK_VPU_BUS>, <&clk IMX8MP_VPU_PLL>; 1256 + assigned-clock-parents = <&clk IMX8MP_VPU_PLL_OUT>; 1257 + assigned-clock-rates = <600000000>, <600000000>; 1375 1258 interconnects = <&noc IMX8MP_ICM_VPU_G1 &noc IMX8MP_ICN_VIDEO>, 1376 1259 <&noc IMX8MP_ICM_VPU_G2 &noc IMX8MP_ICN_VIDEO>, 1377 1260 <&noc IMX8MP_ICM_VPU_H1 &noc IMX8MP_ICN_VIDEO>;
+4 -6
arch/arm64/boot/dts/freescale/imx8mq-evk.dts
··· 356 356 pinctrl-0 = <&pinctrl_pcie0>; 357 357 reset-gpio = <&gpio5 28 GPIO_ACTIVE_LOW>; 358 358 clocks = <&clk IMX8MQ_CLK_PCIE1_ROOT>, 359 - <&clk IMX8MQ_CLK_PCIE1_AUX>, 359 + <&pcie0_refclk>, 360 360 <&clk IMX8MQ_CLK_PCIE1_PHY>, 361 - <&pcie0_refclk>; 362 - clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus"; 361 + <&clk IMX8MQ_CLK_PCIE1_AUX>; 363 362 vph-supply = <&vgen5_reg>; 364 363 status = "okay"; 365 364 }; ··· 368 369 pinctrl-0 = <&pinctrl_pcie1>; 369 370 reset-gpio = <&gpio5 12 GPIO_ACTIVE_LOW>; 370 371 clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>, 371 - <&clk IMX8MQ_CLK_PCIE2_AUX>, 372 + <&pcie0_refclk>, 372 373 <&clk IMX8MQ_CLK_PCIE2_PHY>, 373 - <&pcie0_refclk>; 374 - clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus"; 374 + <&clk IMX8MQ_CLK_PCIE2_AUX>; 375 375 vpcie-supply = <&reg_pcie1>; 376 376 vph-supply = <&vgen5_reg>; 377 377 status = "okay";
+4 -6
arch/arm64/boot/dts/freescale/imx8mq-kontron-pitx-imx8m.dts
··· 245 245 pinctrl-0 = <&pinctrl_pcie0>; 246 246 reset-gpio = <&gpio1 9 GPIO_ACTIVE_LOW>; 247 247 clocks = <&clk IMX8MQ_CLK_PCIE1_ROOT>, 248 - <&clk IMX8MQ_CLK_PCIE1_AUX>, 248 + <&pcie0_refclk>, 249 249 <&clk IMX8MQ_CLK_PCIE1_PHY>, 250 - <&pcie0_refclk>; 251 - clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus"; 250 + <&clk IMX8MQ_CLK_PCIE1_AUX>; 252 251 status = "okay"; 253 252 }; 254 253 255 254 /* Intel Ethernet Controller I210/I211 */ 256 255 &pcie1 { 257 256 clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>, 258 - <&clk IMX8MQ_CLK_PCIE2_AUX>, 257 + <&pcie1_refclk>, 259 258 <&clk IMX8MQ_CLK_PCIE2_PHY>, 260 - <&pcie1_refclk>; 261 - clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus"; 259 + <&clk IMX8MQ_CLK_PCIE2_AUX>; 262 260 fsl,max-link-speed = <1>; 263 261 status = "okay"; 264 262 };
+1 -1
arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
··· 64 64 leds { 65 65 compatible = "pwm-leds"; 66 66 67 - led1 { 67 + led-1 { 68 68 function = LED_FUNCTION_STATUS; 69 69 color = <LED_COLOR_ID_RED>; 70 70 max-brightness = <248>;
+16 -16
arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
··· 56 56 }; 57 57 58 58 led-controller { 59 - compatible = "pwm-leds"; 59 + compatible = "pwm-leds-multicolor"; 60 60 61 - led-0 { 61 + multi-led { 62 + color = <LED_COLOR_ID_RGB>; 62 63 function = LED_FUNCTION_STATUS; 63 - color = <LED_COLOR_ID_BLUE>; 64 64 max-brightness = <248>; 65 - pwms = <&pwm2 0 50000 0>; 66 - }; 67 65 68 - led-1 { 69 - function = LED_FUNCTION_STATUS; 70 - color = <LED_COLOR_ID_GREEN>; 71 - max-brightness = <248>; 72 - pwms = <&pwm4 0 50000 0>; 73 - }; 66 + led-0 { 67 + color = <LED_COLOR_ID_BLUE>; 68 + pwms = <&pwm2 0 50000 0>; 69 + }; 74 70 75 - led-2 { 76 - function = LED_FUNCTION_STATUS; 77 - color = <LED_COLOR_ID_RED>; 78 - max-brightness = <248>; 79 - pwms = <&pwm3 0 50000 0>; 71 + led-1 { 72 + color = <LED_COLOR_ID_GREEN>; 73 + pwms = <&pwm4 0 50000 0>; 74 + }; 75 + 76 + led-2 { 77 + color = <LED_COLOR_ID_RED>; 78 + pwms = <&pwm3 0 50000 0>; 79 + }; 80 80 }; 81 81 }; 82 82
+2 -3
arch/arm64/boot/dts/freescale/imx8mq-mnt-reform2.dts
··· 197 197 pinctrl-0 = <&pinctrl_pcie1>; 198 198 reset-gpio = <&gpio3 23 GPIO_ACTIVE_LOW>; 199 199 clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>, 200 - <&clk IMX8MQ_CLK_PCIE2_AUX>, 200 + <&pcie1_refclk>, 201 201 <&clk IMX8MQ_CLK_PCIE2_PHY>, 202 - <&pcie1_refclk>; 203 - clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus"; 202 + <&clk IMX8MQ_CLK_PCIE2_AUX>; 204 203 status = "okay"; 205 204 }; 206 205
+4 -6
arch/arm64/boot/dts/freescale/imx8mq-tqma8mq-mba8mx.dts
··· 105 105 &pcie0 { 106 106 reset-gpio = <&expander0 14 GPIO_ACTIVE_LOW>; 107 107 clocks = <&clk IMX8MQ_CLK_PCIE1_ROOT>, 108 - <&clk IMX8MQ_CLK_PCIE1_AUX>, 108 + <&pcie0_refclk>, 109 109 <&clk IMX8MQ_CLK_PCIE1_PHY>, 110 - <&pcie0_refclk>; 111 - clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus"; 110 + <&clk IMX8MQ_CLK_PCIE1_AUX>; 112 111 epdev_on-supply = <&reg_vcc_3v3>; 113 112 hard-wired = <1>; 114 113 status = "okay"; ··· 119 120 */ 120 121 &pcie1 { 121 122 clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>, 122 - <&clk IMX8MQ_CLK_PCIE2_AUX>, 123 + <&pcie1_refclk>, 123 124 <&clk IMX8MQ_CLK_PCIE2_PHY>, 124 - <&pcie1_refclk>; 125 - clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus"; 125 + <&clk IMX8MQ_CLK_PCIE2_AUX>; 126 126 epdev_on-supply = <&reg_vcc_3v3>; 127 127 hard-wired = <1>; 128 128 status = "okay";
+2 -2
arch/arm64/boot/dts/freescale/imx8mq-tqma8mq.dtsi
··· 194 194 }; 195 195 }; 196 196 197 - sensor0: temperature-sensor-eeprom@1b { 198 - compatible = "nxp,se97", "jedec,jc-42.4-temp"; 197 + sensor0: temperature-sensor@1b { 198 + compatible = "nxp,se97b", "jedec,jc-42.4-temp"; 199 199 reg = <0x1b>; 200 200 }; 201 201
+5 -7
arch/arm64/boot/dts/freescale/imx8mq-zii-ultra.dtsi
··· 490 490 pinctrl-0 = <&pinctrl_uart2>; 491 491 status = "okay"; 492 492 493 - rave-sp { 493 + mcu { 494 494 compatible = "zii,rave-sp-rdu2"; 495 495 current-speed = <1000000>; 496 496 #address-cells = <1>; ··· 551 551 pinctrl-0 = <&pinctrl_pcie0>; 552 552 reset-gpio = <&gpio1 3 GPIO_ACTIVE_LOW>; 553 553 clocks = <&clk IMX8MQ_CLK_PCIE1_ROOT>, 554 - <&clk IMX8MQ_CLK_PCIE1_AUX>, 554 + <&pcie0_refclk>, 555 555 <&clk IMX8MQ_CLK_PCIE1_PHY>, 556 - <&pcie0_refclk>; 557 - clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus"; 556 + <&clk IMX8MQ_CLK_PCIE1_AUX>; 558 557 vph-supply = <&vgen5_reg>; 559 558 status = "okay"; 560 559 }; ··· 563 564 pinctrl-0 = <&pinctrl_pcie1>; 564 565 reset-gpio = <&gpio1 6 GPIO_ACTIVE_LOW>; 565 566 clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>, 566 - <&clk IMX8MQ_CLK_PCIE2_AUX>, 567 + <&pcie1_refclk>, 567 568 <&clk IMX8MQ_CLK_PCIE2_PHY>, 568 - <&pcie1_refclk>; 569 - clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus"; 569 + <&clk IMX8MQ_CLK_PCIE2_AUX>; 570 570 vph-supply = <&vgen5_reg>; 571 571 status = "okay"; 572 572 };
+27 -5
arch/arm64/boot/dts/freescale/imx8mq.dtsi
··· 575 575 }; 576 576 577 577 iomuxc_gpr: syscon@30340000 { 578 - compatible = "fsl,imx8mq-iomuxc-gpr", "fsl,imx6q-iomuxc-gpr", 579 - "syscon", "simple-mfd"; 578 + compatible = "fsl,imx8mq-iomuxc-gpr", "syscon", "simple-mfd"; 580 579 reg = <0x30340000 0x10000>; 581 580 582 581 mux: mux-controller { ··· 592 593 #address-cells = <1>; 593 594 #size-cells = <1>; 594 595 595 - imx8mq_uid: soc-uid@410 { 596 + /* 597 + * The register address below maps to the MX8M 598 + * Fusemap Description Table entries this way. 599 + * Assuming 600 + * reg = <ADDR SIZE>; 601 + * then 602 + * Fuse Address = (ADDR * 4) + 0x400 603 + * Note that if SIZE is greater than 4, then 604 + * each subsequent fuse is located at offset 605 + * +0x10 in Fusemap Description Table (e.g. 606 + * reg = <0x4 0x8> describes fuses 0x410 and 607 + * 0x420). 608 + */ 609 + imx8mq_uid: soc-uid@4 { /* 0x410-0x420 */ 596 610 reg = <0x4 0x8>; 597 611 }; 598 612 599 - cpu_speed_grade: speed-grade@10 { 613 + cpu_speed_grade: speed-grade@10 { /* 0x440 */ 600 614 reg = <0x10 4>; 601 615 }; 602 616 603 - fec_mac_address: mac-address@90 { 617 + fec_mac_address: mac-address@90 { /* 0x640 */ 604 618 reg = <0x90 6>; 605 619 }; 606 620 }; ··· 1542 1530 <0 0 0 4 &gic GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 1543 1531 fsl,max-link-speed = <2>; 1544 1532 linux,pci-domain = <0>; 1533 + clocks = <&clk IMX8MQ_CLK_PCIE1_ROOT>, 1534 + <&clk IMX8MQ_CLK_PCIE1_PHY>, 1535 + <&clk IMX8MQ_CLK_PCIE1_PHY>, 1536 + <&clk IMX8MQ_CLK_PCIE1_AUX>; 1537 + clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_aux"; 1545 1538 power-domains = <&pgc_pcie>; 1546 1539 resets = <&src IMX8MQ_RESET_PCIEPHY>, 1547 1540 <&src IMX8MQ_RESET_PCIE_CTRL_APPS_EN>, ··· 1584 1567 <0 0 0 4 &gic GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 1585 1568 fsl,max-link-speed = <2>; 1586 1569 linux,pci-domain = <1>; 1570 + clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>, 1571 + <&clk IMX8MQ_CLK_PCIE2_PHY>, 1572 + <&clk IMX8MQ_CLK_PCIE2_PHY>, 1573 + <&clk IMX8MQ_CLK_PCIE2_AUX>; 1574 + clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_aux"; 1587 1575 power-domains = <&pgc_pcie>; 1588 1576 resets = <&src IMX8MQ_RESET_PCIEPHY2>, 1589 1577 <&src IMX8MQ_RESET_PCIE2_CTRL_APPS_EN>,
+12
arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts
··· 15 15 stdout-path = &lpuart1; 16 16 }; 17 17 18 + reg_vref_1v8: regulator-adc-vref { 19 + compatible = "regulator-fixed"; 20 + regulator-name = "vref_1v8"; 21 + regulator-min-microvolt = <1800000>; 22 + regulator-max-microvolt = <1800000>; 23 + }; 24 + 18 25 reg_usdhc2_vmmc: regulator-usdhc2 { 19 26 compatible = "regulator-fixed"; 20 27 pinctrl-names = "default"; ··· 32 25 gpio = <&gpio3 7 GPIO_ACTIVE_HIGH>; 33 26 enable-active-high; 34 27 }; 28 + }; 29 + 30 + &adc1 { 31 + vref-supply = <&reg_vref_1v8>; 32 + status = "okay"; 35 33 }; 36 34 37 35 &mu1 {
+41
arch/arm64/boot/dts/freescale/imx93.dtsi
··· 223 223 status = "disabled"; 224 224 }; 225 225 226 + flexcan1: can@443a0000 { 227 + compatible = "fsl,imx93-flexcan"; 228 + reg = <0x443a0000 0x10000>; 229 + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 230 + clocks = <&clk IMX93_CLK_BUS_AON>, 231 + <&clk IMX93_CLK_CAN1_GATE>; 232 + clock-names = "ipg", "per"; 233 + assigned-clocks = <&clk IMX93_CLK_CAN1>; 234 + assigned-clock-parents = <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>; 235 + assigned-clock-rates = <40000000>; 236 + fsl,clk-source = /bits/ 8 <0>; 237 + status = "disabled"; 238 + }; 239 + 226 240 iomuxc: pinctrl@443c0000 { 227 241 compatible = "fsl,imx93-iomuxc"; 228 242 reg = <0x443c0000 0x10000>; ··· 279 265 anatop: anatop@44480000 { 280 266 compatible = "fsl,imx93-anatop", "syscon"; 281 267 reg = <0x44480000 0x10000>; 268 + }; 269 + 270 + adc1: adc@44530000 { 271 + compatible = "nxp,imx93-adc"; 272 + reg = <0x44530000 0x10000>; 273 + interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>, 274 + <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH>, 275 + <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>, 276 + <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; 277 + clocks = <&clk IMX93_CLK_ADC1_GATE>; 278 + clock-names = "ipg"; 279 + #io-channel-cells = <1>; 280 + status = "disabled"; 282 281 }; 283 282 }; 284 283 ··· 417 390 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 418 391 clocks = <&clk IMX93_CLK_LPUART6_GATE>; 419 392 clock-names = "ipg"; 393 + status = "disabled"; 394 + }; 395 + 396 + flexcan2: can@425b0000 { 397 + compatible = "fsl,imx93-flexcan"; 398 + reg = <0x425b0000 0x10000>; 399 + interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 400 + clocks = <&clk IMX93_CLK_BUS_WAKEUP>, 401 + <&clk IMX93_CLK_CAN2_GATE>; 402 + clock-names = "ipg", "per"; 403 + assigned-clocks = <&clk IMX93_CLK_CAN2>; 404 + assigned-clock-parents = <&clk IMX93_CLK_SYS_PLL_PFD1_DIV2>; 405 + assigned-clock-rates = <40000000>; 406 + fsl,clk-source = /bits/ 8 <0>; 420 407 status = "disabled"; 421 408 }; 422 409
+2 -2
arch/arm64/boot/dts/freescale/mba8mx.dtsi
··· 206 206 ldoin-supply = <&reg_vcc_3v3>; 207 207 }; 208 208 209 - sensor1: sensor@1f { 210 - compatible = "nxp,se97", "jedec,jc-42.4-temp"; 209 + sensor1: temperator-sensor@1f { 210 + compatible = "nxp,se97b", "jedec,jc-42.4-temp"; 211 211 reg = <0x1f>; 212 212 }; 213 213