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

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

i.MX arm64 device tree change for 5.17:

- New SoC support: i.MX8 ULP.
- New board support: i.MX8MM/MN based TQMa8Mx boards, iMX8MN BSH SMM S2,
i.MX8 ULP EVK.
- A series from Adam Ford to enable Camera and USB support for
imx8mm-beacon device.
- Add overlays for various serdes protocols on LS1028A QDS board using
different PHY cards.
- A series from Biwen Li to update LS1028A devices around RTC, flextimer
and PWM support.
- A series from Joakim Zhang to update ENET/FEC suppport on i.MX8M
devices.
- A couple of changes from Lucas Stach to update nitrogen8-som Ethernet
PHY and I2C1 pad configuration.
- A series from Martin Kepplinger to split out a shared imx8mq-librem5-r3
dtsi for Librem5 devices.
- Add cache descriptions for i.MX8 SoCs.
- A series from Vladimir Oltean to update ls1028a-rdb device tree in
order to share the DTS between Linux and U-Boot.
- Random device addtion to various i.MX8 and LX2160A based devices.

* tag 'imx-dt64-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (56 commits)
arm64: dts: imx8mp-evk: configure multiple queues on eqos
arm64: dts: ls1028a-qds: add overlays for various serdes protocols
arm64: dts: ls1028a-qds: enable lpuart1
arm64: dts: ls1028a-qds: move rtc node to the correct i2c bus
arm64: dts: ls1028a-rdb: enable pwm0
arm64: dts: ls1028a: add flextimer based pwm nodes
arm64: dts: ls1028a: add ftm_alarm1 node to be used as wakeup source
arm64: dts: ls1028a: Add PCIe EP nodes
arm64: dts: lx2162a-qds: add interrupt line for RTC node
arm64: dts: lx2162a-qds: support SD UHS-I and eMMC HS400 modes
arm64: dts: lx2160a: enable usb3-lpm-capable for usb3 nodes
arm64: dts: lx2160a-qds: Add mdio mux nodes
arm64: dts: lx2160a: add optee-tz node
arm64: dts: lx2160a-rdb: Add Inphi PHY node
arm64: dts: imx8mm: don't assign PLL2 in SoC dtsi
arm64: dts: nitrogen8-som: correct i2c1 pad-ctrl
arm64: dts: nitrogen8-som: correct network PHY reset
arm64: dts: imx8mn-bsh-smm-s2/pro: Add iMX8MN BSH SMM S2 boards
arm64: dts: imx8mm/n: Remove the 'pm-ignore-notify' property
arm64: dts: imx8ulp: add power domain entry for usdhc
...

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

+5837 -151
+22
arch/arm64/boot/dts/freescale/Makefile
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 + 3 + # required for overlay support 4 + DTC_FLAGS_fsl-ls1028a-qds := -@ 5 + DTC_FLAGS_fsl-ls1028a-qds-13bb := -@ 6 + DTC_FLAGS_fsl-ls1028a-qds-65bb := -@ 7 + DTC_FLAGS_fsl-ls1028a-qds-7777 := -@ 8 + DTC_FLAGS_fsl-ls1028a-qds-85bb := -@ 9 + DTC_FLAGS_fsl-ls1028a-qds-899b := -@ 10 + DTC_FLAGS_fsl-ls1028a-qds-9999 := -@ 11 + 2 12 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frdm.dtb 3 13 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frwy.dtb 4 14 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-oxalis.dtb ··· 21 11 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var3-ads2.dtb 22 12 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var4.dtb 23 13 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds.dtb 14 + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-13bb.dtb 15 + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-65bb.dtb 16 + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-7777.dtb 17 + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-85bb.dtb 18 + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-899b.dtb 19 + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-9999.dtb 24 20 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-rdb.dtb 25 21 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb 26 22 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb.dtb ··· 56 40 dtb-$(CONFIG_ARCH_MXC) += imx8mm-icore-mx8mm-edimm2.2.dtb 57 41 dtb-$(CONFIG_ARCH_MXC) += imx8mm-kontron-n801x-s.dtb 58 42 dtb-$(CONFIG_ARCH_MXC) += imx8mm-nitrogen-r2.dtb 43 + dtb-$(CONFIG_ARCH_MXC) += imx8mm-tqma8mqml-mba8mx.dtb 59 44 dtb-$(CONFIG_ARCH_MXC) += imx8mm-var-som-symphony.dtb 60 45 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw71xx-0x.dtb 61 46 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw72xx-0x.dtb ··· 64 47 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw7901.dtb 65 48 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw7902.dtb 66 49 dtb-$(CONFIG_ARCH_MXC) += imx8mn-beacon-kit.dtb 50 + dtb-$(CONFIG_ARCH_MXC) += imx8mn-bsh-smm-s2.dtb 51 + dtb-$(CONFIG_ARCH_MXC) += imx8mn-bsh-smm-s2pro.dtb 67 52 dtb-$(CONFIG_ARCH_MXC) += imx8mn-evk.dtb 68 53 dtb-$(CONFIG_ARCH_MXC) += imx8mn-ddr4-evk.dtb 54 + dtb-$(CONFIG_ARCH_MXC) += imx8mn-tqma8mqnl-mba8mx.dtb 69 55 dtb-$(CONFIG_ARCH_MXC) += imx8mn-var-som-symphony.dtb 70 56 dtb-$(CONFIG_ARCH_MXC) += imx8mn-venice-gw7902.dtb 71 57 dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk.dtb ··· 80 60 dtb-$(CONFIG_ARCH_MXC) += imx8mq-librem5-r2.dtb 81 61 dtb-$(CONFIG_ARCH_MXC) += imx8mq-librem5-r3.dtb 82 62 dtb-$(CONFIG_ARCH_MXC) += imx8mq-librem5-r4.dtb 63 + dtb-$(CONFIG_ARCH_MXC) += imx8mq-tqma8mq-mba8mx.dtb 83 64 dtb-$(CONFIG_ARCH_MXC) += imx8mq-mnt-reform2.dtb 84 65 dtb-$(CONFIG_ARCH_MXC) += imx8mq-nitrogen.dtb 85 66 dtb-$(CONFIG_ARCH_MXC) += imx8mq-phanbell.dtb ··· 92 71 dtb-$(CONFIG_ARCH_MXC) += imx8qxp-ai_ml.dtb 93 72 dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-eval-v3.dtb 94 73 dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek.dtb 74 + dtb-$(CONFIG_ARCH_MXC) += imx8ulp-evk.dtb 95 75 96 76 dtb-$(CONFIG_ARCH_S32) += s32g274a-evb.dtb 97 77 dtb-$(CONFIG_ARCH_S32) += s32g274a-rdb2.dtb
+113
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-13bb.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Device Tree fragment for LS1028A QDS board, serdes 13bb 4 + * 5 + * Copyright 2019-2021 NXP 6 + * 7 + * Requires a LS1028A QDS board with lane B rework. 8 + * Requires a SCH-30841 card with lane A of connector rewired to PHY lane C. 9 + * Set-up is a SCH-30842 card in slot 1 and SCH-30841 in slot 2. 10 + */ 11 + 12 + /dts-v1/; 13 + /plugin/; 14 + 15 + / { 16 + fragment@0 { 17 + target = <&mdio_slot1>; 18 + 19 + __overlay__ { 20 + #address-cells = <1>; 21 + #size-cells = <0>; 22 + 23 + slot1_sgmii: ethernet-phy@2 { 24 + /* AQR112 */ 25 + reg = <0x2>; 26 + compatible = "ethernet-phy-ieee802.3-c45"; 27 + }; 28 + }; 29 + }; 30 + 31 + fragment@1 { 32 + target = <&enetc_port0>; 33 + 34 + __overlay__ { 35 + phy-handle = <&slot1_sgmii>; 36 + phy-mode = "usxgmii"; 37 + managed = "in-band-status"; 38 + status = "okay"; 39 + }; 40 + }; 41 + 42 + fragment@2 { 43 + target = <&mdio_slot2>; 44 + 45 + __overlay__ { 46 + #address-cells = <1>; 47 + #size-cells = <0>; 48 + 49 + /* 4 ports on AQR412 */ 50 + slot2_qxgmii0: ethernet-phy@0 { 51 + reg = <0x0>; 52 + compatible = "ethernet-phy-ieee802.3-c45"; 53 + }; 54 + 55 + slot2_qxgmii1: ethernet-phy@1 { 56 + reg = <0x1>; 57 + compatible = "ethernet-phy-ieee802.3-c45"; 58 + }; 59 + 60 + slot2_qxgmii2: ethernet-phy@2 { 61 + reg = <0x2>; 62 + compatible = "ethernet-phy-ieee802.3-c45"; 63 + }; 64 + 65 + slot2_qxgmii3: ethernet-phy@3 { 66 + reg = <0x3>; 67 + compatible = "ethernet-phy-ieee802.3-c45"; 68 + }; 69 + }; 70 + }; 71 + 72 + fragment@3 { 73 + target = <&mscc_felix_ports>; 74 + 75 + __overlay__ { 76 + port@0 { 77 + status = "okay"; 78 + phy-handle = <&slot2_qxgmii0>; 79 + phy-mode = "usxgmii"; 80 + managed = "in-band-status"; 81 + }; 82 + 83 + port@1 { 84 + status = "okay"; 85 + phy-handle = <&slot2_qxgmii1>; 86 + phy-mode = "usxgmii"; 87 + managed = "in-band-status"; 88 + }; 89 + 90 + port@2 { 91 + status = "okay"; 92 + phy-handle = <&slot2_qxgmii2>; 93 + phy-mode = "usxgmii"; 94 + managed = "in-band-status"; 95 + }; 96 + 97 + port@3 { 98 + status = "okay"; 99 + phy-handle = <&slot2_qxgmii3>; 100 + phy-mode = "usxgmii"; 101 + managed = "in-band-status"; 102 + }; 103 + }; 104 + }; 105 + 106 + fragment@4 { 107 + target = <&mscc_felix>; 108 + 109 + __overlay__ { 110 + status = "okay"; 111 + }; 112 + }; 113 + };
+108
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-65bb.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Device Tree fragment for LS1028A QDS board, serdes 69xx 4 + * 5 + * Copyright 2019-2021 NXP 6 + * 7 + * Requires a LS1028A QDS board with lane B rework. 8 + * Requires a SCH-30842 card in slot 1 and a SCH-28021 card in slot 2. 9 + */ 10 + 11 + /dts-v1/; 12 + /plugin/; 13 + 14 + / { 15 + fragment@0 { 16 + target = <&mdio_slot1>; 17 + 18 + __overlay__ { 19 + #address-cells = <1>; 20 + #size-cells = <0>; 21 + 22 + slot1_sgmii: ethernet-phy@2 { 23 + /* AQR112 */ 24 + reg = <0x2>; 25 + compatible = "ethernet-phy-ieee802.3-c45"; 26 + }; 27 + }; 28 + }; 29 + 30 + fragment@1 { 31 + target = <&enetc_port0>; 32 + 33 + __overlay__ { 34 + phy-handle = <&slot1_sgmii>; 35 + phy-mode = "2500base-x"; 36 + managed = "in-band-status"; 37 + status = "okay"; 38 + }; 39 + }; 40 + 41 + fragment@2 { 42 + target = <&mdio_slot2>; 43 + 44 + __overlay__ { 45 + #address-cells = <1>; 46 + #size-cells = <0>; 47 + 48 + /* 4 ports on VSC8514 */ 49 + slot2_qsgmii0: ethernet-phy@8 { 50 + reg = <0x8>; 51 + }; 52 + 53 + slot2_qsgmii1: ethernet-phy@9 { 54 + reg = <0x9>; 55 + }; 56 + 57 + slot2_qsgmii2: ethernet-phy@a { 58 + reg = <0xa>; 59 + }; 60 + 61 + slot2_qsgmii3: ethernet-phy@b { 62 + reg = <0xb>; 63 + }; 64 + }; 65 + }; 66 + 67 + fragment@3 { 68 + target = <&mscc_felix_ports>; 69 + 70 + __overlay__ { 71 + port@0 { 72 + status = "okay"; 73 + phy-handle = <&slot2_qsgmii0>; 74 + phy-mode = "qsgmii"; 75 + managed = "in-band-status"; 76 + }; 77 + 78 + port@1 { 79 + status = "okay"; 80 + phy-handle = <&slot2_qsgmii1>; 81 + phy-mode = "qsgmii"; 82 + managed = "in-band-status"; 83 + }; 84 + 85 + port@2 { 86 + status = "okay"; 87 + phy-handle = <&slot2_qsgmii2>; 88 + phy-mode = "qsgmii"; 89 + managed = "in-band-status"; 90 + }; 91 + 92 + port@3 { 93 + status = "okay"; 94 + phy-handle = <&slot2_qsgmii3>; 95 + phy-mode = "qsgmii"; 96 + managed = "in-band-status"; 97 + }; 98 + }; 99 + }; 100 + 101 + fragment@4 { 102 + target = <&mscc_felix>; 103 + 104 + __overlay__ { 105 + status = "okay"; 106 + }; 107 + }; 108 + };
+82
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-7777.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Device Tree fragment for LS1028A QDS board, serdes 7777 4 + * 5 + * Copyright 2019-2021 NXP 6 + * 7 + * Requires a LS1028A QDS board without lane B rework. 8 + * Requires a SCH-30841 card without lane A/C rewire and with a FW with muxing 9 + * disabled, plugged in slot 1. 10 + */ 11 + 12 + /dts-v1/; 13 + /plugin/; 14 + 15 + / { 16 + fragment@0 { 17 + target = <&mdio_slot1>; 18 + 19 + __overlay__ { 20 + #address-cells = <1>; 21 + #size-cells = <0>; 22 + 23 + /* 4 ports on AQR412 */ 24 + slot1_sxgmii0: ethernet-phy@0 { 25 + reg = <0x0>; 26 + compatible = "ethernet-phy-ieee802.3-c45"; 27 + }; 28 + 29 + slot1_sxgmii1: ethernet-phy@1 { 30 + reg = <0x1>; 31 + compatible = "ethernet-phy-ieee802.3-c45"; 32 + }; 33 + 34 + slot1_sxgmii2: ethernet-phy@2 { 35 + reg = <0x2>; 36 + compatible = "ethernet-phy-ieee802.3-c45"; 37 + }; 38 + 39 + slot1_sxgmii3: ethernet-phy@3 { 40 + reg = <0x3>; 41 + compatible = "ethernet-phy-ieee802.3-c45"; 42 + }; 43 + }; 44 + }; 45 + 46 + fragment@1 { 47 + target = <&mscc_felix_ports>; 48 + 49 + __overlay__ { 50 + port@0 { 51 + status = "okay"; 52 + phy-handle = <&slot1_sxgmii0>; 53 + phy-mode = "2500base-x"; 54 + }; 55 + 56 + port@1 { 57 + status = "okay"; 58 + phy-handle = <&slot1_sxgmii1>; 59 + phy-mode = "2500base-x"; 60 + }; 61 + 62 + port@2 { 63 + status = "okay"; 64 + phy-handle = <&slot1_sxgmii2>; 65 + phy-mode = "2500base-x"; 66 + }; 67 + 68 + port@3 { 69 + status = "okay"; 70 + phy-handle = <&slot1_sxgmii3>; 71 + phy-mode = "2500base-x"; 72 + }; 73 + }; 74 + }; 75 + 76 + fragment@2 { 77 + target = <&mscc_felix>; 78 + __overlay__ { 79 + status = "okay"; 80 + }; 81 + }; 82 + };
+107
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-85bb.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Device Tree fragment for LS1028A QDS board, serdes 85bb 4 + * 5 + * Copyright 2019-2021 NXP 6 + * 7 + * Requires a LS1028A QDS board with lane B rework. 8 + * Requires a SCH-24801 card in slot 1 and a SCH-28021 card in slot 2. 9 + */ 10 + 11 + /dts-v1/; 12 + /plugin/; 13 + 14 + / { 15 + fragment@0 { 16 + target = <&mdio_slot1>; 17 + 18 + __overlay__ { 19 + #address-cells = <1>; 20 + #size-cells = <0>; 21 + 22 + slot1_sgmii: ethernet-phy@1c { 23 + /* 1st port on VSC8234 */ 24 + reg = <0x1c>; 25 + }; 26 + }; 27 + }; 28 + 29 + fragment@1 { 30 + target = <&enetc_port0>; 31 + 32 + __overlay__ { 33 + phy-handle = <&slot1_sgmii>; 34 + phy-mode = "sgmii"; 35 + managed = "in-band-status"; 36 + status = "okay"; 37 + }; 38 + }; 39 + 40 + fragment@2 { 41 + target = <&mdio_slot2>; 42 + 43 + __overlay__ { 44 + #address-cells = <1>; 45 + #size-cells = <0>; 46 + 47 + /* 4 ports on VSC8514 */ 48 + slot2_qsgmii0: ethernet-phy@8 { 49 + reg = <0x8>; 50 + }; 51 + 52 + slot2_qsgmii1: ethernet-phy@9 { 53 + reg = <0x9>; 54 + }; 55 + 56 + slot2_qsgmii2: ethernet-phy@a { 57 + reg = <0xa>; 58 + }; 59 + 60 + slot2_qsgmii3: ethernet-phy@b { 61 + reg = <0xb>; 62 + }; 63 + }; 64 + }; 65 + 66 + fragment@3 { 67 + target = <&mscc_felix_ports>; 68 + 69 + __overlay__ { 70 + port@0 { 71 + status = "okay"; 72 + phy-handle = <&slot2_qsgmii0>; 73 + phy-mode = "qsgmii"; 74 + managed = "in-band-status"; 75 + }; 76 + 77 + port@1 { 78 + status = "okay"; 79 + phy-handle = <&slot2_qsgmii1>; 80 + phy-mode = "qsgmii"; 81 + managed = "in-band-status"; 82 + }; 83 + 84 + port@2 { 85 + status = "okay"; 86 + phy-handle = <&slot2_qsgmii2>; 87 + phy-mode = "qsgmii"; 88 + managed = "in-band-status"; 89 + }; 90 + 91 + port@3 { 92 + status = "okay"; 93 + phy-handle = <&slot2_qsgmii3>; 94 + phy-mode = "qsgmii"; 95 + managed = "in-band-status"; 96 + }; 97 + }; 98 + }; 99 + 100 + fragment@4 { 101 + target = <&mscc_felix>; 102 + 103 + __overlay__ { 104 + status = "okay"; 105 + }; 106 + }; 107 + };
+75
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-899b.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Device Tree fragment for LS1028A QDS board, serdes 85xx 4 + * 5 + * Copyright 2019-2021 NXP 6 + * 7 + * Requires a LS1028A QDS board without lane B rework. 8 + * Requires a SCH-24801 card in slot 1. 9 + */ 10 + 11 + /dts-v1/; 12 + /plugin/; 13 + 14 + / { 15 + fragment@0 { 16 + target = <&mdio_slot1>; 17 + __overlay__ { 18 + #address-cells = <1>; 19 + #size-cells = <0>; 20 + 21 + /* VSC8234 */ 22 + slot1_sgmii0: ethernet-phy@1c { 23 + reg = <0x1c>; 24 + }; 25 + 26 + slot1_sgmii1: ethernet-phy@1d { 27 + reg = <0x1d>; 28 + }; 29 + 30 + slot1_sgmii2: ethernet-phy@1e { 31 + reg = <0x1e>; 32 + }; 33 + 34 + slot1_sgmii3: ethernet-phy@1f { 35 + reg = <0x1f>; 36 + }; 37 + }; 38 + }; 39 + 40 + fragment@1 { 41 + target = <&enetc_port0>; 42 + __overlay__ { 43 + phy-handle = <&slot1_sgmii0>; 44 + phy-mode = "sgmii"; 45 + managed = "in-band-status"; 46 + status = "okay"; 47 + }; 48 + }; 49 + 50 + fragment@2 { 51 + target = <&mscc_felix_ports>; 52 + __overlay__ { 53 + port@1 { 54 + status = "okay"; 55 + phy-handle = <&slot1_sgmii1>; 56 + phy-mode = "sgmii"; 57 + managed = "in-band-status"; 58 + }; 59 + 60 + port@2 { 61 + status = "okay"; 62 + phy-handle = <&slot1_sgmii2>; 63 + phy-mode = "sgmii"; 64 + managed = "in-band-status"; 65 + }; 66 + }; 67 + }; 68 + 69 + fragment@3 { 70 + target = <&mscc_felix>; 71 + __overlay__ { 72 + status = "okay"; 73 + }; 74 + }; 75 + };
+79
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-9999.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Device Tree fragment for LS1028A QDS board, serdes 85xx 4 + * 5 + * Copyright 2019-2021 NXP 6 + * 7 + * Requires a LS1028A QDS board without lane B rework. 8 + * Requires a SCH-24801 card in slot 1. 9 + */ 10 + 11 + /dts-v1/; 12 + /plugin/; 13 + 14 + / { 15 + fragment@0 { 16 + target = <&mdio_slot1>; 17 + __overlay__ { 18 + #address-cells = <1>; 19 + #size-cells = <0>; 20 + 21 + /* VSC8234 */ 22 + slot1_sgmii0: ethernet-phy@1c { 23 + reg = <0x1c>; 24 + }; 25 + 26 + slot1_sgmii1: ethernet-phy@1d { 27 + reg = <0x1d>; 28 + }; 29 + 30 + slot1_sgmii2: ethernet-phy@1e { 31 + reg = <0x1e>; 32 + }; 33 + 34 + slot1_sgmii3: ethernet-phy@1f { 35 + reg = <0x1f>; 36 + }; 37 + }; 38 + }; 39 + 40 + fragment@1 { 41 + target = <&mscc_felix_ports>; 42 + __overlay__ { 43 + port@0 { 44 + status = "okay"; 45 + phy-handle = <&slot1_sgmii0>; 46 + phy-mode = "sgmii"; 47 + managed = "in-band-status"; 48 + }; 49 + 50 + port@1 { 51 + status = "okay"; 52 + phy-handle = <&slot1_sgmii1>; 53 + phy-mode = "sgmii"; 54 + managed = "in-band-status"; 55 + }; 56 + 57 + port@2 { 58 + status = "okay"; 59 + phy-handle = <&slot1_sgmii2>; 60 + phy-mode = "sgmii"; 61 + managed = "in-band-status"; 62 + }; 63 + 64 + port@3 { 65 + status = "okay"; 66 + phy-handle = <&slot1_sgmii3>; 67 + phy-mode = "sgmii"; 68 + managed = "in-band-status"; 69 + }; 70 + }; 71 + }; 72 + 73 + fragment@2 { 74 + target = <&mscc_felix>; 75 + __overlay__ { 76 + status = "okay"; 77 + }; 78 + }; 79 + };
+30 -9
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts
··· 25 25 serial1 = &duart1; 26 26 mmc0 = &esdhc; 27 27 mmc1 = &esdhc1; 28 - rtc1 = &ftm_alarm0; 28 + rtc1 = &ftm_alarm1; 29 29 }; 30 30 31 31 chosen { ··· 211 211 status = "okay"; 212 212 }; 213 213 214 + &enetc_port1 { 215 + phy-handle = <&qds_phy1>; 216 + phy-mode = "rgmii-id"; 217 + status = "okay"; 218 + }; 219 + 220 + &enetc_port2 { 221 + status = "okay"; 222 + }; 223 + 214 224 &esdhc { 215 225 status = "okay"; 216 226 }; ··· 242 232 spi-tx-bus-width = <1>; /* 1 SPI Tx line */ 243 233 reg = <0>; 244 234 }; 235 + }; 236 + 237 + &ftm_alarm1 { 238 + status = "okay"; 245 239 }; 246 240 247 241 &i2c0 { ··· 284 270 compatible = "nxp,sa56004"; 285 271 reg = <0x4c>; 286 272 vcc-supply = <&sb_3v3>; 287 - }; 288 - 289 - rtc@51 { 290 - compatible = "nxp,pcf2129"; 291 - reg = <0x51>; 292 273 }; 293 274 294 275 eeprom@56 { ··· 327 318 328 319 }; 329 320 330 - &enetc_port1 { 331 - phy-handle = <&qds_phy1>; 332 - phy-mode = "rgmii-id"; 321 + &i2c1 { 333 322 status = "okay"; 323 + 324 + rtc@51 { 325 + compatible = "nxp,pcf2129"; 326 + reg = <0x51>; 327 + }; 334 328 }; 335 329 336 330 &lpuart0 { 331 + status = "okay"; 332 + }; 333 + 334 + &lpuart1 { 335 + status = "okay"; 336 + }; 337 + 338 + &mscc_felix_port4 { 339 + ethernet = <&enetc_port2>; 337 340 status = "okay"; 338 341 }; 339 342
+59 -44
arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts
··· 2 2 /* 3 3 * Device Tree file for NXP LS1028A RDB Board. 4 4 * 5 - * Copyright 2018 NXP 5 + * Copyright 2018-2021 NXP 6 6 * 7 7 * Harninder Rai <harninder.rai@nxp.com> 8 8 * ··· 21 21 serial1 = &duart1; 22 22 mmc0 = &esdhc; 23 23 mmc1 = &esdhc1; 24 - rtc1 = &ftm_alarm0; 24 + rtc1 = &ftm_alarm1; 25 + spi0 = &fspi; 26 + ethernet0 = &enetc_port0; 27 + ethernet1 = &enetc_port2; 28 + ethernet2 = &mscc_felix_port0; 29 + ethernet3 = &mscc_felix_port1; 30 + ethernet4 = &mscc_felix_port2; 31 + ethernet5 = &mscc_felix_port3; 25 32 }; 26 33 27 34 chosen { ··· 109 102 }; 110 103 }; 111 104 105 + &duart0 { 106 + status = "okay"; 107 + }; 108 + 109 + &duart1 { 110 + status = "okay"; 111 + }; 112 + 113 + &enetc_mdio_pf3 { 114 + sgmii_phy0: ethernet-phy@2 { 115 + reg = <0x2>; 116 + }; 117 + 118 + /* VSC8514 QSGMII quad PHY */ 119 + qsgmii_phy0: ethernet-phy@10 { 120 + reg = <0x10>; 121 + }; 122 + 123 + qsgmii_phy1: ethernet-phy@11 { 124 + reg = <0x11>; 125 + }; 126 + 127 + qsgmii_phy2: ethernet-phy@12 { 128 + reg = <0x12>; 129 + }; 130 + 131 + qsgmii_phy3: ethernet-phy@13 { 132 + reg = <0x13>; 133 + }; 134 + }; 135 + 136 + &enetc_port0 { 137 + phy-handle = <&sgmii_phy0>; 138 + phy-mode = "sgmii"; 139 + managed = "in-band-status"; 140 + status = "okay"; 141 + }; 142 + 143 + &enetc_port2 { 144 + status = "okay"; 145 + }; 146 + 112 147 &esdhc { 113 148 sd-uhs-sdr104; 114 149 sd-uhs-sdr50; ··· 179 130 spi-tx-bus-width = <1>; /* 1 SPI Tx line */ 180 131 reg = <0>; 181 132 }; 133 + }; 134 + 135 + &ftm_alarm1 { 136 + status = "okay"; 182 137 }; 183 138 184 139 &i2c0 { ··· 241 188 }; 242 189 }; 243 190 244 - &duart0 { 245 - status = "okay"; 246 - }; 247 - 248 - &duart1 { 249 - status = "okay"; 250 - }; 251 - 252 - &enetc_mdio_pf3 { 253 - sgmii_phy0: ethernet-phy@2 { 254 - reg = <0x2>; 255 - }; 256 - 257 - /* VSC8514 QSGMII quad PHY */ 258 - qsgmii_phy0: ethernet-phy@10 { 259 - reg = <0x10>; 260 - }; 261 - 262 - qsgmii_phy1: ethernet-phy@11 { 263 - reg = <0x11>; 264 - }; 265 - 266 - qsgmii_phy2: ethernet-phy@12 { 267 - reg = <0x12>; 268 - }; 269 - 270 - qsgmii_phy3: ethernet-phy@13 { 271 - reg = <0x13>; 272 - }; 273 - }; 274 - 275 - &enetc_port0 { 276 - phy-handle = <&sgmii_phy0>; 277 - phy-mode = "sgmii"; 278 - managed = "in-band-status"; 279 - status = "okay"; 280 - }; 281 - 282 - &enetc_port2 { 283 - status = "okay"; 284 - }; 285 - 286 191 &mscc_felix { 287 192 status = "okay"; 288 193 }; ··· 283 272 }; 284 273 285 274 &optee { 275 + status = "okay"; 276 + }; 277 + 278 + &pwm0 { 286 279 status = "okay"; 287 280 }; 288 281
+129 -1
arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
··· 66 66 }; 67 67 }; 68 68 69 + rtc_clk: rtc-clk { 70 + compatible = "fixed-clock"; 71 + #clock-cells = <0>; 72 + clock-frequency = <32768>; 73 + clock-output-names = "rtc_clk"; 74 + }; 75 + 69 76 sysclk: sysclk { 70 77 compatible = "fixed-clock"; 71 78 #clock-cells = <0>; ··· 644 637 status = "disabled"; 645 638 }; 646 639 640 + pcie_ep1: pcie-ep@3400000 { 641 + compatible = "fsl,ls1028a-pcie-ep","fsl,ls-pcie-ep"; 642 + reg = <0x00 0x03400000 0x0 0x00100000 643 + 0x80 0x00000000 0x8 0x00000000>; 644 + reg-names = "regs", "addr_space"; 645 + interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; /* PME interrupt */ 646 + interrupt-names = "pme"; 647 + num-ib-windows = <6>; 648 + num-ob-windows = <8>; 649 + status = "disabled"; 650 + }; 651 + 647 652 pcie2: pcie@3500000 { 648 653 compatible = "fsl,ls1028a-pcie"; 649 654 reg = <0x00 0x03500000 0x0 0x00100000>, /* controller registers */ ··· 680 661 <0000 0 0 3 &gic 0 0 GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 681 662 <0000 0 0 4 &gic 0 0 GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 682 663 iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */ 664 + status = "disabled"; 665 + }; 666 + 667 + pcie_ep2: pcie-ep@3500000 { 668 + compatible = "fsl,ls1028a-pcie-ep","fsl,ls-pcie-ep"; 669 + reg = <0x00 0x03500000 0x0 0x00100000 670 + 0x88 0x00000000 0x8 0x00000000>; 671 + reg-names = "regs", "addr_space"; 672 + interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; /* PME interrupt */ 673 + interrupt-names = "pme"; 674 + num-ib-windows = <6>; 675 + num-ob-windows = <8>; 683 676 status = "disabled"; 684 677 }; 685 678 ··· 1115 1084 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 1116 1085 status = "disabled"; 1117 1086 1118 - ports { 1087 + mscc_felix_ports: ports { 1119 1088 #address-cells = <1>; 1120 1089 #size-cells = <0>; 1121 1090 ··· 1193 1162 reg = <0x01 0xf0800000 0x0 0x10000>; 1194 1163 }; 1195 1164 1165 + pwm0: pwm@2800000 { 1166 + compatible = "fsl,vf610-ftm-pwm"; 1167 + #pwm-cells = <3>; 1168 + reg = <0x0 0x2800000 0x0 0x10000>; 1169 + clock-names = "ftm_sys", "ftm_ext", 1170 + "ftm_fix", "ftm_cnt_clk_en"; 1171 + clocks = <&clockgen 4 1>, <&clockgen 4 1>, 1172 + <&rtc_clk>, <&clockgen 4 1>; 1173 + status = "disabled"; 1174 + }; 1175 + 1176 + pwm1: pwm@2810000 { 1177 + compatible = "fsl,vf610-ftm-pwm"; 1178 + #pwm-cells = <3>; 1179 + reg = <0x0 0x2810000 0x0 0x10000>; 1180 + clock-names = "ftm_sys", "ftm_ext", 1181 + "ftm_fix", "ftm_cnt_clk_en"; 1182 + clocks = <&clockgen 4 1>, <&clockgen 4 1>, 1183 + <&rtc_clk>, <&clockgen 4 1>; 1184 + status = "disabled"; 1185 + }; 1186 + 1187 + pwm2: pwm@2820000 { 1188 + compatible = "fsl,vf610-ftm-pwm"; 1189 + #pwm-cells = <3>; 1190 + reg = <0x0 0x2820000 0x0 0x10000>; 1191 + clock-names = "ftm_sys", "ftm_ext", 1192 + "ftm_fix", "ftm_cnt_clk_en"; 1193 + clocks = <&clockgen 4 1>, <&clockgen 4 1>, 1194 + <&rtc_clk>, <&clockgen 4 1>; 1195 + status = "disabled"; 1196 + }; 1197 + 1198 + pwm3: pwm@2830000 { 1199 + compatible = "fsl,vf610-ftm-pwm"; 1200 + #pwm-cells = <3>; 1201 + reg = <0x0 0x2830000 0x0 0x10000>; 1202 + clock-names = "ftm_sys", "ftm_ext", 1203 + "ftm_fix", "ftm_cnt_clk_en"; 1204 + clocks = <&clockgen 4 1>, <&clockgen 4 1>, 1205 + <&rtc_clk>, <&clockgen 4 1>; 1206 + status = "disabled"; 1207 + }; 1208 + 1209 + pwm4: pwm@2840000 { 1210 + compatible = "fsl,vf610-ftm-pwm"; 1211 + #pwm-cells = <3>; 1212 + reg = <0x0 0x2840000 0x0 0x10000>; 1213 + clock-names = "ftm_sys", "ftm_ext", 1214 + "ftm_fix", "ftm_cnt_clk_en"; 1215 + clocks = <&clockgen 4 1>, <&clockgen 4 1>, 1216 + <&rtc_clk>, <&clockgen 4 1>; 1217 + status = "disabled"; 1218 + }; 1219 + 1220 + pwm5: pwm@2850000 { 1221 + compatible = "fsl,vf610-ftm-pwm"; 1222 + #pwm-cells = <3>; 1223 + reg = <0x0 0x2850000 0x0 0x10000>; 1224 + clock-names = "ftm_sys", "ftm_ext", 1225 + "ftm_fix", "ftm_cnt_clk_en"; 1226 + clocks = <&clockgen 4 1>, <&clockgen 4 1>, 1227 + <&rtc_clk>, <&clockgen 4 1>; 1228 + status = "disabled"; 1229 + }; 1230 + 1231 + pwm6: pwm@2860000 { 1232 + compatible = "fsl,vf610-ftm-pwm"; 1233 + #pwm-cells = <3>; 1234 + reg = <0x0 0x2860000 0x0 0x10000>; 1235 + clock-names = "ftm_sys", "ftm_ext", 1236 + "ftm_fix", "ftm_cnt_clk_en"; 1237 + clocks = <&clockgen 4 1>, <&clockgen 4 1>, 1238 + <&rtc_clk>, <&clockgen 4 1>; 1239 + status = "disabled"; 1240 + }; 1241 + 1242 + pwm7: pwm@2870000 { 1243 + compatible = "fsl,vf610-ftm-pwm"; 1244 + #pwm-cells = <3>; 1245 + reg = <0x0 0x2870000 0x0 0x10000>; 1246 + clock-names = "ftm_sys", "ftm_ext", 1247 + "ftm_fix", "ftm_cnt_clk_en"; 1248 + clocks = <&clockgen 4 1>, <&clockgen 4 1>, 1249 + <&rtc_clk>, <&clockgen 4 1>; 1250 + status = "disabled"; 1251 + }; 1252 + 1196 1253 rcpm: power-controller@1e34040 { 1197 1254 compatible = "fsl,ls1028a-rcpm", "fsl,qoriq-rcpm-2.1+"; 1198 1255 reg = <0x0 0x1e34040 0x0 0x1c>; ··· 1293 1174 reg = <0x0 0x2800000 0x0 0x10000>; 1294 1175 fsl,rcpm-wakeup = <&rcpm 0x0 0x0 0x0 0x0 0x4000 0x0 0x0>; 1295 1176 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 1177 + status = "disabled"; 1178 + }; 1179 + 1180 + ftm_alarm1: timer@2810000 { 1181 + compatible = "fsl,ls1028a-ftm-alarm"; 1182 + reg = <0x0 0x2810000 0x0 0x10000>; 1183 + fsl,rcpm-wakeup = <&rcpm 0x0 0x0 0x0 0x0 0x4000 0x0 0x0>; 1184 + interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 1185 + status = "disabled"; 1296 1186 }; 1297 1187 }; 1298 1188
+2
arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
··· 94 94 compatible = "n25q128a13", "jedec,spi-nor"; /* 16MB */ 95 95 reg = <0>; 96 96 spi-max-frequency = <1000000>; /* input clock */ 97 + fsl,spi-cs-sck-delay = <100>; 98 + fsl,spi-sck-cs-delay = <100>; 97 99 }; 98 100 99 101 slic@2 {
+13
arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
··· 206 206 clock-output-names = "sysclk"; 207 207 }; 208 208 209 + reboot { 210 + compatible = "syscon-reboot"; 211 + regmap = <&reset>; 212 + offset = <0x0>; 213 + mask = <0x02>; 214 + }; 215 + 209 216 soc { 210 217 compatible = "simple-bus"; 211 218 #address-cells = <2>; ··· 231 224 compatible = "fsl,ls1088a-dcfg", "syscon"; 232 225 reg = <0x0 0x1e00000 0x0 0x10000>; 233 226 little-endian; 227 + }; 228 + 229 + reset: syscon@1e60000 { 230 + compatible = "fsl,ls1088a-reset", "syscon"; 231 + reg = <0x0 0x1e60000 0x0 0x10000>; 234 232 }; 235 233 236 234 isc: syscon@1f70000 { ··· 497 485 dr_mode = "host"; 498 486 snps,quirk-frame-length-adjustment = <0x20>; 499 487 snps,dis_rxdet_inp3_quirk; 488 + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; 500 489 status = "disabled"; 501 490 }; 502 491
+149
arch/arm64/boot/dts/freescale/fsl-lx2160a-qds.dts
··· 31 31 regulator-boot-on; 32 32 regulator-always-on; 33 33 }; 34 + 35 + mdio-mux-1 { 36 + compatible = "mdio-mux-multiplexer"; 37 + mux-controls = <&mux 0>; 38 + mdio-parent-bus = <&emdio1>; 39 + #address-cells=<1>; 40 + #size-cells = <0>; 41 + 42 + mdio@0 { /* On-board PHY #1 RGMI1*/ 43 + reg = <0x00>; 44 + #address-cells = <1>; 45 + #size-cells = <0>; 46 + }; 47 + 48 + mdio@8 { /* On-board PHY #2 RGMI2*/ 49 + reg = <0x8>; 50 + #address-cells = <1>; 51 + #size-cells = <0>; 52 + }; 53 + 54 + mdio@18 { /* Slot #1 */ 55 + reg = <0x18>; 56 + #address-cells = <1>; 57 + #size-cells = <0>; 58 + }; 59 + 60 + mdio@19 { /* Slot #2 */ 61 + reg = <0x19>; 62 + #address-cells = <1>; 63 + #size-cells = <0>; 64 + }; 65 + 66 + mdio@1a { /* Slot #3 */ 67 + reg = <0x1a>; 68 + #address-cells = <1>; 69 + #size-cells = <0>; 70 + }; 71 + 72 + mdio@1b { /* Slot #4 */ 73 + reg = <0x1b>; 74 + #address-cells = <1>; 75 + #size-cells = <0>; 76 + }; 77 + 78 + mdio@1c { /* Slot #5 */ 79 + reg = <0x1c>; 80 + #address-cells = <1>; 81 + #size-cells = <0>; 82 + }; 83 + 84 + mdio@1d { /* Slot #6 */ 85 + reg = <0x1d>; 86 + #address-cells = <1>; 87 + #size-cells = <0>; 88 + }; 89 + 90 + mdio@1e { /* Slot #7 */ 91 + reg = <0x1e>; 92 + #address-cells = <1>; 93 + #size-cells = <0>; 94 + }; 95 + 96 + mdio@1f { /* Slot #8 */ 97 + reg = <0x1f>; 98 + #address-cells = <1>; 99 + #size-cells = <0>; 100 + }; 101 + }; 102 + 103 + mdio-mux-2 { 104 + compatible = "mdio-mux-multiplexer"; 105 + mux-controls = <&mux 1>; 106 + mdio-parent-bus = <&emdio2>; 107 + #address-cells=<1>; 108 + #size-cells = <0>; 109 + 110 + mdio@0 { /* Slot #1 (secondary EMI) */ 111 + reg = <0x00>; 112 + #address-cells = <1>; 113 + #size-cells = <0>; 114 + }; 115 + 116 + mdio@1 { /* Slot #2 (secondary EMI) */ 117 + reg = <0x01>; 118 + #address-cells = <1>; 119 + #size-cells = <0>; 120 + }; 121 + 122 + mdio@2 { /* Slot #3 (secondary EMI) */ 123 + reg = <0x02>; 124 + #address-cells = <1>; 125 + #size-cells = <0>; 126 + }; 127 + 128 + mdio@3 { /* Slot #4 (secondary EMI) */ 129 + reg = <0x03>; 130 + #address-cells = <1>; 131 + #size-cells = <0>; 132 + }; 133 + 134 + mdio@4 { /* Slot #5 (secondary EMI) */ 135 + reg = <0x04>; 136 + #address-cells = <1>; 137 + #size-cells = <0>; 138 + }; 139 + 140 + mdio@5 { /* Slot #6 (secondary EMI) */ 141 + reg = <0x05>; 142 + #address-cells = <1>; 143 + #size-cells = <0>; 144 + }; 145 + 146 + mdio@6 { /* Slot #7 (secondary EMI) */ 147 + reg = <0x06>; 148 + #address-cells = <1>; 149 + #size-cells = <0>; 150 + }; 151 + 152 + mdio@7 { /* Slot #8 (secondary EMI) */ 153 + reg = <0x07>; 154 + #address-cells = <1>; 155 + #size-cells = <0>; 156 + }; 157 + }; 34 158 }; 35 159 36 160 &can0 { ··· 205 81 }; 206 82 }; 207 83 84 + &emdio1 { 85 + status = "okay"; 86 + }; 87 + 88 + &emdio2 { 89 + status = "okay"; 90 + }; 91 + 208 92 &esdhc0 { 209 93 status = "okay"; 210 94 }; ··· 238 106 239 107 &i2c0 { 240 108 status = "okay"; 109 + 110 + fpga@66 { 111 + compatible = "fsl,lx2160aqds-fpga", "fsl,fpga-qixis-i2c", 112 + "simple-mfd"; 113 + reg = <0x66>; 114 + 115 + mux: mux-controller { 116 + compatible = "reg-mux"; 117 + #mux-control-cells = <1>; 118 + mux-reg-masks = <0x54 0xf8>, /* 0: reg 0x54, bits 7:3 */ 119 + <0x54 0x07>; /* 1: reg 0x54, bit 2:0 */ 120 + }; 121 + }; 241 122 242 123 i2c-mux@77 { 243 124 compatible = "nxp,pca9547"; ··· 299 154 }; 300 155 }; 301 156 }; 157 + }; 158 + 159 + &optee { 160 + status = "okay"; 302 161 }; 303 162 304 163 &sata0 {
+21
arch/arm64/boot/dts/freescale/fsl-lx2160a-rdb.dts
··· 49 49 managed = "in-band-status"; 50 50 }; 51 51 52 + &dpmac5 { 53 + phy-handle = <&inphi_phy>; 54 + }; 55 + 56 + &dpmac6 { 57 + phy-handle = <&inphi_phy>; 58 + }; 59 + 52 60 &dpmac17 { 53 61 phy-handle = <&rgmii_phy1>; 54 62 phy-connection-type = "rgmii-id"; ··· 114 106 115 107 can-transceiver { 116 108 max-bitrate = <5000000>; 109 + }; 110 + }; 111 + 112 + &emdio2 { 113 + status = "okay"; 114 + 115 + inphi_phy: ethernet-phy@0 { 116 + compatible = "ethernet-phy-id0210.7440"; 117 + reg = <0x0>; 117 118 }; 118 119 }; 119 120 ··· 217 200 /* IRQ_RTC_B -> IRQ08, active low */ 218 201 interrupts-extended = <&extirq 8 IRQ_TYPE_LEVEL_LOW>; 219 202 }; 203 + }; 204 + 205 + &optee { 206 + status = "okay"; 220 207 }; 221 208 222 209 &pcs_mdio3 {
+10
arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
··· 1023 1023 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 1024 1024 dr_mode = "host"; 1025 1025 snps,quirk-frame-length-adjustment = <0x20>; 1026 + usb3-lpm-capable; 1026 1027 snps,dis_rxdet_inp3_quirk; 1027 1028 snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; 1028 1029 status = "disabled"; ··· 1035 1034 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 1036 1035 dr_mode = "host"; 1037 1036 snps,quirk-frame-length-adjustment = <0x20>; 1037 + usb3-lpm-capable; 1038 1038 snps,dis_rxdet_inp3_quirk; 1039 1039 snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>; 1040 1040 status = "disabled"; ··· 1751 1749 pcs-handle = <&pcs18>; 1752 1750 }; 1753 1751 }; 1752 + }; 1753 + }; 1754 + 1755 + firmware { 1756 + optee: optee { 1757 + compatible = "linaro,optee-tz"; 1758 + method = "smc"; 1759 + status = "disabled"; 1754 1760 }; 1755 1761 }; 1756 1762 };
+21
arch/arm64/boot/dts/freescale/fsl-lx2162a-qds.dts
··· 167 167 }; 168 168 }; 169 169 170 + &can0 { 171 + status = "okay"; 172 + }; 173 + 174 + &can1 { 175 + status = "okay"; 176 + }; 177 + 170 178 &crypto { 171 179 status = "okay"; 172 180 }; ··· 234 226 }; 235 227 236 228 &esdhc0 { 229 + sd-uhs-sdr104; 230 + sd-uhs-sdr50; 231 + sd-uhs-sdr25; 232 + sd-uhs-sdr12; 237 233 status = "okay"; 238 234 }; 239 235 240 236 &esdhc1 { 237 + mmc-hs200-1_8v; 238 + mmc-hs400-1_8v; 239 + bus-width = <8>; 241 240 status = "okay"; 242 241 }; 243 242 ··· 317 302 rtc@51 { 318 303 compatible = "nxp,pcf2129"; 319 304 reg = <0x51>; 305 + /* IRQ_RTC_B -> IRQ11_B(CPLD) -> IRQ11(CPU), active low */ 306 + interrupts-extended = <&extirq 11 IRQ_TYPE_LEVEL_LOW>; 320 307 }; 321 308 }; 322 309 }; 310 + }; 311 + 312 + &optee { 313 + status = "okay"; 323 314 }; 324 315 325 316 &sata0 {
+93
arch/arm64/boot/dts/freescale/imx8mm-beacon-baseboard.dtsi
··· 43 43 enable-active-high; 44 44 }; 45 45 46 + reg_usbotg1: regulator-usbotg1 { 47 + compatible = "regulator-fixed"; 48 + pinctrl-names = "default"; 49 + pinctrl-0 = <&pinctrl_reg_usb_otg1>; 50 + regulator-name = "usb_otg_vbus"; 51 + regulator-min-microvolt = <5000000>; 52 + regulator-max-microvolt = <5000000>; 53 + gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>; 54 + enable-active-high; 55 + }; 56 + 57 + reg_camera: regulator-camera { 58 + compatible = "regulator-fixed"; 59 + regulator-name = "mipi_pwr"; 60 + regulator-min-microvolt = <2800000>; 61 + regulator-max-microvolt = <2800000>; 62 + gpio = <&pca6416_1 0 GPIO_ACTIVE_HIGH>; 63 + enable-active-high; 64 + startup-delay-us = <100000>; 65 + }; 66 + 46 67 reg_usdhc2_vmmc: regulator-usdhc2 { 47 68 compatible = "regulator-fixed"; 48 69 regulator-name = "VSD_3V3"; ··· 86 65 "AMIC", "MICBIAS", 87 66 "IN3R", "AMIC"; 88 67 }; 68 + }; 69 + 70 + &csi { 71 + status = "okay"; 89 72 }; 90 73 91 74 &ecspi2 { ··· 115 90 pinctrl-names = "default"; 116 91 pinctrl-0 = <&pinctrl_i2c2>; 117 92 status = "okay"; 93 + 94 + camera@3c { 95 + compatible = "ovti,ov5640"; 96 + pinctrl-names = "default"; 97 + pinctrl-0 = <&pinctrl_ov5640>; 98 + reg = <0x3c>; 99 + clocks = <&clk IMX8MM_CLK_CLKO1>; 100 + clock-names = "xclk"; 101 + assigned-clocks = <&clk IMX8MM_CLK_CLKO1>; 102 + assigned-clock-parents = <&clk IMX8MM_CLK_24M>; 103 + assigned-clock-rates = <24000000>; 104 + AVDD-supply = <&reg_camera>; /* 2.8v */ 105 + powerdown-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; 106 + reset-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; 107 + 108 + port { 109 + /* MIPI CSI-2 bus endpoint */ 110 + ov5640_to_mipi_csi2: endpoint { 111 + remote-endpoint = <&imx8mm_mipi_csi_in>; 112 + clock-lanes = <0>; 113 + data-lanes = <1 2>; 114 + }; 115 + }; 116 + }; 118 117 }; 119 118 120 119 &i2c4 { ··· 190 141 }; 191 142 }; 192 143 144 + &mipi_csi { 145 + status = "okay"; 146 + ports { 147 + port@0 { 148 + imx8mm_mipi_csi_in: endpoint { 149 + remote-endpoint = <&ov5640_to_mipi_csi2>; 150 + data-lanes = <1 2>; 151 + }; 152 + }; 153 + }; 154 + }; 155 + 193 156 &sai3 { 194 157 pinctrl-names = "default"; 195 158 pinctrl-0 = <&pinctrl_sai3>; ··· 228 167 assigned-clocks = <&clk IMX8MM_CLK_UART3>; 229 168 assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_80M>; 230 169 status = "okay"; 170 + }; 171 + 172 + &usbotg1 { 173 + vbus-supply = <&reg_usbotg1>; 174 + disable-over-current; 175 + dr_mode="otg"; 176 + status = "okay"; 177 + }; 178 + 179 + &usbotg2 { 180 + pinctrl-names = "default"; 181 + disable-over-current; 182 + dr_mode="host"; 183 + status = "okay"; 184 + }; 185 + 186 + &usbphynop2 { 187 + reset-gpios = <&pca6416_1 7 GPIO_ACTIVE_HIGH>; 231 188 }; 232 189 233 190 &usdhc2 { ··· 288 209 >; 289 210 }; 290 211 212 + pinctrl_ov5640: ov5640grp { 213 + fsl,pins = < 214 + MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x19 215 + MX8MM_IOMUXC_GPIO1_IO06_GPIO1_IO6 0x19 216 + MX8MM_IOMUXC_GPIO1_IO14_CCMSRCGPCMIX_CLKO1 0x59 217 + >; 218 + }; 219 + 291 220 pinctrl_pcal6414: pcal6414-gpiogrp { 292 221 fsl,pins = < 293 222 MX8MM_IOMUXC_SAI2_MCLK_GPIO4_IO27 0x19 223 + >; 224 + }; 225 + 226 + pinctrl_reg_usb_otg1: usbotg1grp { 227 + fsl,pins = < 228 + MX8MM_IOMUXC_SAI3_RXC_GPIO4_IO29 0x19 294 229 >; 295 230 }; 296 231
-1
arch/arm64/boot/dts/freescale/imx8mm-beacon-som.dtsi
··· 263 263 bus-width = <4>; 264 264 non-removable; 265 265 cap-power-off-card; 266 - pm-ignore-notify; 267 266 keep-power-in-suspend; 268 267 mmc-pwrseq = <&usdhc1_pwrseq>; 269 268 status = "okay";
+7
arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi
··· 116 116 reg = <0>; 117 117 reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; 118 118 reset-assert-us = <10000>; 119 + qca,disable-smarteee; 120 + vddio-supply = <&vddio>; 121 + 122 + vddio: vddio-regulator { 123 + regulator-min-microvolt = <1800000>; 124 + regulator-max-microvolt = <1800000>; 125 + }; 119 126 }; 120 127 }; 121 128 };
-1
arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-ctouch2.dts
··· 91 91 max-frequency = <50000000>; 92 92 bus-width = <4>; 93 93 no-1-8-v; 94 - pm-ignore-notify; 95 94 keep-power-in-suspend; 96 95 status = "okay"; 97 96 };
-1
arch/arm64/boot/dts/freescale/imx8mm-icore-mx8mm-edimm2.2.dts
··· 91 91 max-frequency = <50000000>; 92 92 bus-width = <4>; 93 93 no-1-8-v; 94 - pm-ignore-notify; 95 94 keep-power-in-suspend; 96 95 status = "okay"; 97 96 };
+253
arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 2 + /* 3 + * Copyright 2020-2021 TQ-Systems GmbH 4 + */ 5 + 6 + /dts-v1/; 7 + 8 + #include "imx8mm-tqma8mqml.dtsi" 9 + #include "mba8mx.dtsi" 10 + 11 + / { 12 + model = "TQ-Systems GmbH i.MX8MM TQMa8MxML on MBa8Mx"; 13 + compatible = "tq,imx8mm-tqma8mqml-mba8mx", "tq,imx8mm-tqma8mqml", "fsl,imx8mm"; 14 + 15 + aliases { 16 + eeprom0 = &eeprom3; 17 + mmc0 = &usdhc3; 18 + mmc1 = &usdhc2; 19 + mmc2 = &usdhc1; 20 + rtc0 = &pcf85063; 21 + rtc1 = &snvs_rtc; 22 + }; 23 + 24 + reg_usdhc2_vmmc: regulator-vmmc { 25 + compatible = "regulator-fixed"; 26 + pinctrl-names = "default"; 27 + pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>; 28 + regulator-name = "VSD_3V3"; 29 + regulator-min-microvolt = <3300000>; 30 + regulator-max-microvolt = <3300000>; 31 + gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 32 + enable-active-high; 33 + startup-delay-us = <100>; 34 + off-on-delay-us = <12000>; 35 + }; 36 + 37 + extcon_usbotg1: extcon-usbotg1 { 38 + compatible = "linux,extcon-usb-gpio"; 39 + pinctrl-names = "default"; 40 + pinctrl-0 = <&pinctrl_usb1_extcon>; 41 + id-gpio = <&gpio1 10 GPIO_ACTIVE_HIGH>; 42 + }; 43 + }; 44 + 45 + &i2c1 { 46 + expander2: gpio@27 { 47 + compatible = "nxp,pca9555"; 48 + reg = <0x27>; 49 + gpio-controller; 50 + #gpio-cells = <2>; 51 + vcc-supply = <&reg_vcc_3v3>; 52 + pinctrl-names = "default"; 53 + pinctrl-0 = <&pinctrl_expander>; 54 + interrupt-parent = <&gpio1>; 55 + interrupts = <9 IRQ_TYPE_EDGE_FALLING>; 56 + interrupt-controller; 57 + #interrupt-cells = <2>; 58 + }; 59 + }; 60 + 61 + &sai3 { 62 + assigned-clocks = <&clk IMX8MM_CLK_SAI3>; 63 + assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>; 64 + clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k", "pll11k"; 65 + clocks = <&clk IMX8MM_CLK_SAI3_IPG>, <&clk IMX8MM_CLK_DUMMY>, 66 + <&clk IMX8MM_CLK_SAI3_ROOT>, <&clk IMX8MM_CLK_DUMMY>, 67 + <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_AUDIO_PLL1_OUT>, 68 + <&clk IMX8MM_AUDIO_PLL2_OUT>; 69 + }; 70 + 71 + &tlv320aic3x04 { 72 + clock-names = "mclk"; 73 + clocks = <&clk IMX8MM_CLK_SAI3_ROOT>; 74 + }; 75 + 76 + &uart1 { 77 + assigned-clocks = <&clk IMX8MM_CLK_UART1>; 78 + assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_80M>; 79 + }; 80 + 81 + &uart2 { 82 + assigned-clocks = <&clk IMX8MM_CLK_UART2>; 83 + assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_80M>; 84 + }; 85 + 86 + &usbotg1 { 87 + pinctrl-names = "default"; 88 + pinctrl-0 = <&pinctrl_usbotg1>; 89 + dr_mode = "otg"; 90 + extcon = <&extcon_usbotg1>; 91 + srp-disable; 92 + hnp-disable; 93 + adp-disable; 94 + power-active-high; 95 + over-current-active-low; 96 + status = "okay"; 97 + }; 98 + 99 + &usbotg2 { 100 + dr_mode = "host"; 101 + disable-over-current; 102 + vbus-supply = <&reg_hub_vbus>; 103 + status = "okay"; 104 + }; 105 + 106 + &iomuxc { 107 + pinctrl_ecspi1: ecspi1grp { 108 + fsl,pins = <MX8MM_IOMUXC_ECSPI1_SCLK_ECSPI1_SCLK 0x00000006>, 109 + <MX8MM_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI 0x00000006>, 110 + <MX8MM_IOMUXC_ECSPI1_MISO_ECSPI1_MISO 0x00000006>, 111 + <MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x00000006>; 112 + }; 113 + 114 + pinctrl_ecspi2: ecspi2grp { 115 + fsl,pins = <MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x00000006>, 116 + <MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x00000006>, 117 + <MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x00000006>, 118 + <MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0x00000006>; 119 + }; 120 + 121 + pinctrl_expander: expandergrp { 122 + fsl,pins = <MX8MM_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x94>; 123 + }; 124 + 125 + pinctrl_fec1: fec1grp { 126 + fsl,pins = <MX8MM_IOMUXC_ENET_MDC_ENET1_MDC 0x40000002>, 127 + <MX8MM_IOMUXC_ENET_MDIO_ENET1_MDIO 0x40000002>, 128 + <MX8MM_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x14>, 129 + <MX8MM_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x14>, 130 + <MX8MM_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x14>, 131 + <MX8MM_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x14>, 132 + <MX8MM_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x90>, 133 + <MX8MM_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x90>, 134 + <MX8MM_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x90>, 135 + <MX8MM_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x90>, 136 + <MX8MM_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x14>, 137 + <MX8MM_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x90>, 138 + <MX8MM_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x90>, 139 + <MX8MM_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x14>; 140 + }; 141 + 142 + pinctrl_gpiobutton: gpiobuttongrp { 143 + fsl,pins = <MX8MM_IOMUXC_GPIO1_IO05_GPIO1_IO5 0x84>, 144 + <MX8MM_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x84>, 145 + <MX8MM_IOMUXC_SD1_CLK_GPIO2_IO0 0x84>; 146 + }; 147 + 148 + pinctrl_gpioled: gpioledgrp { 149 + fsl,pins = <MX8MM_IOMUXC_GPIO1_IO00_GPIO1_IO0 0x84>, 150 + <MX8MM_IOMUXC_NAND_DQS_GPIO3_IO14 0x84>; 151 + }; 152 + 153 + pinctrl_i2c2: i2c2grp { 154 + fsl,pins = <MX8MM_IOMUXC_I2C2_SCL_I2C2_SCL 0x40000004>, 155 + <MX8MM_IOMUXC_I2C2_SDA_I2C2_SDA 0x40000004>; 156 + }; 157 + 158 + pinctrl_i2c2_gpio: i2c2gpiogrp { 159 + fsl,pins = <MX8MM_IOMUXC_I2C2_SCL_GPIO5_IO16 0x40000004>, 160 + <MX8MM_IOMUXC_I2C2_SDA_GPIO5_IO17 0x40000004>; 161 + }; 162 + 163 + pinctrl_i2c3: i2c3grp { 164 + fsl,pins = <MX8MM_IOMUXC_I2C3_SCL_I2C3_SCL 0x40000004>, 165 + <MX8MM_IOMUXC_I2C3_SDA_I2C3_SDA 0x40000004>; 166 + }; 167 + 168 + pinctrl_i2c3_gpio: i2c3gpiogrp { 169 + fsl,pins = <MX8MM_IOMUXC_I2C3_SCL_GPIO5_IO18 0x40000004>, 170 + <MX8MM_IOMUXC_I2C3_SDA_GPIO5_IO19 0x40000004>; 171 + }; 172 + 173 + pinctrl_pwm3: pwm3grp { 174 + fsl,pins = <MX8MM_IOMUXC_GPIO1_IO14_PWM3_OUT 0x14>; 175 + }; 176 + 177 + pinctrl_pwm4: pwm4grp { 178 + fsl,pins = <MX8MM_IOMUXC_GPIO1_IO15_PWM4_OUT 0x14>; 179 + }; 180 + 181 + pinctrl_sai3: sai3grp { 182 + fsl,pins = <MX8MM_IOMUXC_SAI3_MCLK_SAI3_MCLK 0x94>, 183 + <MX8MM_IOMUXC_SAI3_RXC_SAI3_RX_BCLK 0x94>, 184 + <MX8MM_IOMUXC_SAI3_RXFS_SAI3_RX_SYNC 0x94>, 185 + <MX8MM_IOMUXC_SAI3_RXD_SAI3_RX_DATA0 0x94>, 186 + <MX8MM_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0x94>, 187 + <MX8MM_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0x94>, 188 + <MX8MM_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0x94>; 189 + }; 190 + 191 + pinctrl_uart1: uart1grp { 192 + fsl,pins = <MX8MM_IOMUXC_UART1_RXD_UART1_DCE_RX 0x16>, 193 + <MX8MM_IOMUXC_UART1_TXD_UART1_DCE_TX 0x16>; 194 + }; 195 + 196 + pinctrl_uart2: uart2grp { 197 + fsl,pins = <MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX 0x16>, 198 + <MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX 0x16>; 199 + }; 200 + 201 + pinctrl_uart3: uart3grp { 202 + fsl,pins = <MX8MM_IOMUXC_UART3_RXD_UART3_DCE_RX 0x16>, 203 + <MX8MM_IOMUXC_UART3_TXD_UART3_DCE_TX 0x16>; 204 + }; 205 + 206 + pinctrl_uart4: uart4grp { 207 + fsl,pins = <MX8MM_IOMUXC_UART4_RXD_UART4_DCE_RX 0x16>, 208 + <MX8MM_IOMUXC_UART4_TXD_UART4_DCE_TX 0x16>; 209 + }; 210 + 211 + pinctrl_usbotg1: usbotg1grp { 212 + fsl,pins = <MX8MM_IOMUXC_GPIO1_IO12_USB1_OTG_PWR 0x84>, 213 + <MX8MM_IOMUXC_GPIO1_IO13_USB1_OTG_OC 0x84>; 214 + }; 215 + 216 + pinctrl_usb1_extcon: usb1-extcongrp { 217 + fsl,pins = <MX8MM_IOMUXC_GPIO1_IO10_GPIO1_IO10 0x1c0>; 218 + }; 219 + 220 + pinctrl_usdhc2_gpio: usdhc2grpgpiogrp { 221 + fsl,pins = <MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x84>; 222 + }; 223 + 224 + pinctrl_usdhc2: usdhc2grp { 225 + fsl,pins = <MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x1d4>, 226 + <MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4>, 227 + <MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4>, 228 + <MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4>, 229 + <MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4>, 230 + <MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4>, 231 + <MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x84>; 232 + }; 233 + 234 + pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 235 + fsl,pins = <MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x1d4>, 236 + <MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4>, 237 + <MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4>, 238 + <MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4>, 239 + <MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4>, 240 + <MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4>, 241 + <MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x84>; 242 + }; 243 + 244 + pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 245 + fsl,pins = <MX8MM_IOMUXC_SD2_CLK_USDHC2_CLK 0x1d4>, 246 + <MX8MM_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4>, 247 + <MX8MM_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4>, 248 + <MX8MM_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4>, 249 + <MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4>, 250 + <MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4>, 251 + <MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x84>; 252 + }; 253 + };
+335
arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 2 + /* 3 + * Copyright 2020-2021 TQ-Systems GmbH 4 + */ 5 + 6 + #include "imx8mm.dtsi" 7 + 8 + / { 9 + model = "TQ-Systems GmbH i.MX8MM TQMa8MxML"; 10 + compatible = "tq,imx8mm-tqma8mqml", "fsl,imx8mm"; 11 + 12 + memory@40000000 { 13 + device_type = "memory"; 14 + /* our minimum RAM config will be 1024 MiB */ 15 + reg = <0x00000000 0x40000000 0 0x40000000>; 16 + }; 17 + 18 + /* e-MMC IO, needed for HS modes */ 19 + reg_vcc1v8: regulator-vcc1v8 { 20 + compatible = "regulator-fixed"; 21 + regulator-name = "TQMA8MXML_VCC1V8"; 22 + regulator-min-microvolt = <1800000>; 23 + regulator-max-microvolt = <1800000>; 24 + }; 25 + 26 + /* identical to buck4_reg, but should never change */ 27 + reg_vcc3v3: regulator-vcc3v3 { 28 + compatible = "regulator-fixed"; 29 + regulator-name = "TQMA8MXML_VCC3V3"; 30 + regulator-min-microvolt = <3300000>; 31 + regulator-max-microvolt = <3300000>; 32 + }; 33 + 34 + reserved-memory { 35 + #address-cells = <2>; 36 + #size-cells = <2>; 37 + ranges; 38 + 39 + /* global autoconfigured region for contiguous allocations */ 40 + linux,cma { 41 + compatible = "shared-dma-pool"; 42 + reusable; 43 + /* 640 MiB */ 44 + size = <0 0x28000000>; 45 + /* 1024 - 128 MiB, our minimum RAM config will be 1024 MiB */ 46 + alloc-ranges = <0 0x40000000 0 0x78000000>; 47 + linux,cma-default; 48 + }; 49 + }; 50 + }; 51 + 52 + &A53_0 { 53 + cpu-supply = <&buck2_reg>; 54 + }; 55 + 56 + &flexspi { 57 + pinctrl-names = "default"; 58 + pinctrl-0 = <&pinctrl_flexspi>; 59 + status = "okay"; 60 + 61 + flash0: flash@0 { 62 + compatible = "jedec,spi-nor"; 63 + reg = <0>; 64 + #address-cells = <1>; 65 + #size-cells = <1>; 66 + spi-max-frequency = <84000000>; 67 + spi-tx-bus-width = <1>; 68 + spi-rx-bus-width = <4>; 69 + }; 70 + }; 71 + 72 + &gpu_2d { 73 + status = "okay"; 74 + }; 75 + 76 + &gpu_3d { 77 + status = "okay"; 78 + }; 79 + 80 + &i2c1 { 81 + clock-frequency = <100000>; 82 + pinctrl-names = "default", "gpio"; 83 + pinctrl-0 = <&pinctrl_i2c1>; 84 + pinctrl-1 = <&pinctrl_i2c1_gpio>; 85 + scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 86 + sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 87 + status = "okay"; 88 + 89 + sensor0: temperature-sensor-eeprom@1b { 90 + compatible = "nxp,se97", "jedec,jc-42.4-temp"; 91 + reg = <0x1b>; 92 + }; 93 + 94 + pca9450: pmic@25 { 95 + compatible = "nxp,pca9450a"; 96 + reg = <0x25>; 97 + 98 + /* PMIC PCA9450 PMIC_nINT GPIO1_IO08 */ 99 + pinctrl-0 = <&pinctrl_pmic>; 100 + pinctrl-names = "default"; 101 + interrupt-parent = <&gpio1>; 102 + interrupts = <8 IRQ_TYPE_LEVEL_LOW>; 103 + 104 + regulators { 105 + /* V_0V85_SOC: 0.85 */ 106 + buck1_reg: BUCK1 { 107 + regulator-name = "BUCK1"; 108 + regulator-min-microvolt = <850000>; 109 + regulator-max-microvolt = <850000>; 110 + regulator-boot-on; 111 + regulator-always-on; 112 + regulator-ramp-delay = <3125>; 113 + }; 114 + 115 + /* VDD_ARM */ 116 + buck2_reg: BUCK2 { 117 + regulator-name = "BUCK2"; 118 + regulator-min-microvolt = <850000>; 119 + regulator-max-microvolt = <1000000>; 120 + regulator-boot-on; 121 + regulator-always-on; 122 + nxp,dvs-run-voltage = <950000>; 123 + nxp,dvs-standby-voltage = <850000>; 124 + regulator-ramp-delay = <3125>; 125 + }; 126 + 127 + /* V_0V85_GPU / DRAM / VPU */ 128 + buck3_reg: BUCK3 { 129 + regulator-name = "BUCK3"; 130 + regulator-min-microvolt = <850000>; 131 + regulator-max-microvolt = <950000>; 132 + regulator-boot-on; 133 + regulator-always-on; 134 + regulator-ramp-delay = <3125>; 135 + }; 136 + 137 + /* VCC3V3 -> VMMC, ... must not be changed */ 138 + buck4_reg: BUCK4 { 139 + regulator-name = "BUCK4"; 140 + regulator-min-microvolt = <3300000>; 141 + regulator-max-microvolt = <3300000>; 142 + regulator-boot-on; 143 + regulator-always-on; 144 + }; 145 + 146 + /* V_1V8 -> VQMMC, SPI-NOR, ... must not be changed */ 147 + buck5_reg: BUCK5 { 148 + regulator-name = "BUCK5"; 149 + regulator-min-microvolt = <1800000>; 150 + regulator-max-microvolt = <1800000>; 151 + regulator-boot-on; 152 + regulator-always-on; 153 + }; 154 + 155 + /* V_1V1 -> RAM, ... must not be changed */ 156 + buck6_reg: BUCK6 { 157 + regulator-name = "BUCK6"; 158 + regulator-min-microvolt = <1100000>; 159 + regulator-max-microvolt = <1100000>; 160 + regulator-boot-on; 161 + regulator-always-on; 162 + }; 163 + 164 + /* V_1V8_SNVS */ 165 + ldo1_reg: LDO1 { 166 + regulator-name = "LDO1"; 167 + regulator-min-microvolt = <1800000>; 168 + regulator-max-microvolt = <1800000>; 169 + regulator-boot-on; 170 + regulator-always-on; 171 + }; 172 + 173 + /* V_0V8_SNVS */ 174 + ldo2_reg: LDO2 { 175 + regulator-name = "LDO2"; 176 + regulator-min-microvolt = <800000>; 177 + regulator-max-microvolt = <850000>; 178 + regulator-boot-on; 179 + regulator-always-on; 180 + }; 181 + 182 + /* V_1V8_ANA */ 183 + ldo3_reg: LDO3 { 184 + regulator-name = "LDO3"; 185 + regulator-min-microvolt = <1800000>; 186 + regulator-max-microvolt = <1800000>; 187 + regulator-boot-on; 188 + regulator-always-on; 189 + }; 190 + 191 + /* V_0V9_MIPI */ 192 + ldo4_reg: LDO4 { 193 + regulator-name = "LDO4"; 194 + regulator-min-microvolt = <900000>; 195 + regulator-max-microvolt = <900000>; 196 + regulator-boot-on; 197 + regulator-always-on; 198 + }; 199 + 200 + /* VCC SD IO - switched using SD2 VSELECT */ 201 + ldo5_reg: LDO5 { 202 + regulator-name = "LDO5"; 203 + regulator-min-microvolt = <1800000>; 204 + regulator-max-microvolt = <3300000>; 205 + }; 206 + }; 207 + }; 208 + 209 + 210 + pcf85063: rtc@51 { 211 + compatible = "nxp,pcf85063a"; 212 + reg = <0x51>; 213 + quartz-load-femtofarads = <7000>; 214 + }; 215 + 216 + eeprom1: eeprom@53 { 217 + compatible = "nxp,se97b", "atmel,24c02"; 218 + read-only; 219 + reg = <0x53>; 220 + pagesize = <16>; 221 + }; 222 + 223 + eeprom0: eeprom@57 { 224 + compatible = "atmel,24c64"; 225 + reg = <0x57>; 226 + pagesize = <32>; 227 + }; 228 + }; 229 + 230 + &usdhc3 { 231 + pinctrl-names = "default", "state_100mhz", "state_200mhz"; 232 + pinctrl-0 = <&pinctrl_usdhc3>; 233 + pinctrl-1 = <&pinctrl_usdhc3_100mhz>; 234 + pinctrl-2 = <&pinctrl_usdhc3_200mhz>; 235 + bus-width = <8>; 236 + non-removable; 237 + no-sd; 238 + no-sdio; 239 + vmmc-supply = <&reg_vcc3v3>; 240 + vqmmc-supply = <&reg_vcc1v8>; 241 + status = "okay"; 242 + }; 243 + 244 + /* 245 + * Attention: 246 + * wdog reset is routed to PMIC, PMIC must be preconfigured to force POR 247 + * without LDO for SNVS. GPIO1_IO02 must not be used as GPIO. 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_flexspi: flexspigrp { 258 + fsl,pins = <MX8MM_IOMUXC_NAND_ALE_QSPI_A_SCLK 0x82>, 259 + <MX8MM_IOMUXC_NAND_CE0_B_QSPI_A_SS0_B 0x82>, 260 + <MX8MM_IOMUXC_NAND_DATA00_QSPI_A_DATA0 0x82>, 261 + <MX8MM_IOMUXC_NAND_DATA01_QSPI_A_DATA1 0x82>, 262 + <MX8MM_IOMUXC_NAND_DATA02_QSPI_A_DATA2 0x82>, 263 + <MX8MM_IOMUXC_NAND_DATA03_QSPI_A_DATA3 0x82>; 264 + }; 265 + 266 + pinctrl_i2c1: i2c1grp { 267 + fsl,pins = <MX8MM_IOMUXC_I2C1_SCL_I2C1_SCL 0x40000004>, 268 + <MX8MM_IOMUXC_I2C1_SDA_I2C1_SDA 0x40000004>; 269 + }; 270 + 271 + pinctrl_i2c1_gpio: i2c1gpiogrp { 272 + fsl,pins = <MX8MM_IOMUXC_I2C1_SCL_GPIO5_IO14 0x40000004>, 273 + <MX8MM_IOMUXC_I2C1_SDA_GPIO5_IO15 0x40000004>; 274 + }; 275 + 276 + pinctrl_pmic: pmicgrp { 277 + fsl,pins = <MX8MM_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x94>; 278 + }; 279 + 280 + pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp { 281 + fsl,pins = <MX8MM_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x84>; 282 + }; 283 + 284 + pinctrl_usdhc3: usdhc3grp { 285 + fsl,pins = <MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x1d4>, 286 + <MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d2>, 287 + <MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d4>, 288 + <MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d4>, 289 + <MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d4>, 290 + <MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d4>, 291 + <MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d4>, 292 + <MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d4>, 293 + <MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d4>, 294 + <MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d4>, 295 + <MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x84>, 296 + /* option USDHC3_RESET_B not defined, only in RM */ 297 + <MX8MM_IOMUXC_NAND_READY_B_GPIO3_IO16 0x84>; 298 + }; 299 + 300 + pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp { 301 + fsl,pins = <MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x1d2>, 302 + <MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d2>, 303 + <MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d4>, 304 + <MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d4>, 305 + <MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d4>, 306 + <MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d4>, 307 + <MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d4>, 308 + <MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d4>, 309 + <MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d4>, 310 + <MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d4>, 311 + <MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x84>, 312 + /* option USDHC3_RESET_B not defined, only in RM */ 313 + <MX8MM_IOMUXC_NAND_READY_B_GPIO3_IO16 0x84>; 314 + }; 315 + 316 + pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp { 317 + fsl,pins = <MX8MM_IOMUXC_NAND_WE_B_USDHC3_CLK 0x1d6>, 318 + <MX8MM_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d2>, 319 + <MX8MM_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d4>, 320 + <MX8MM_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d4>, 321 + <MX8MM_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d4>, 322 + <MX8MM_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d4>, 323 + <MX8MM_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d4>, 324 + <MX8MM_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d4>, 325 + <MX8MM_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d4>, 326 + <MX8MM_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d4>, 327 + <MX8MM_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x84>, 328 + /* option USDHC3_RESET_B not defined, only in RM */ 329 + <MX8MM_IOMUXC_NAND_READY_B_GPIO3_IO16 0x84>; 330 + }; 331 + 332 + pinctrl_wdog: wdoggrp { 333 + fsl,pins = <MX8MM_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0x84>; 334 + }; 335 + };
+81 -5
arch/arm64/boot/dts/freescale/imx8mm.dtsi
··· 65 65 clock-latency = <61036>; /* two CLK32 periods */ 66 66 clocks = <&clk IMX8MM_CLK_ARM>; 67 67 enable-method = "psci"; 68 + i-cache-size = <0x8000>; 69 + i-cache-line-size = <64>; 70 + i-cache-sets = <256>; 71 + d-cache-size = <0x8000>; 72 + d-cache-line-size = <64>; 73 + d-cache-sets = <128>; 68 74 next-level-cache = <&A53_L2>; 69 75 operating-points-v2 = <&a53_opp_table>; 70 76 nvmem-cells = <&cpu_speed_grade>; ··· 86 80 clock-latency = <61036>; /* two CLK32 periods */ 87 81 clocks = <&clk IMX8MM_CLK_ARM>; 88 82 enable-method = "psci"; 83 + i-cache-size = <0x8000>; 84 + i-cache-line-size = <64>; 85 + i-cache-sets = <256>; 86 + d-cache-size = <0x8000>; 87 + d-cache-line-size = <64>; 88 + d-cache-sets = <128>; 89 89 next-level-cache = <&A53_L2>; 90 90 operating-points-v2 = <&a53_opp_table>; 91 91 cpu-idle-states = <&cpu_pd_wait>; ··· 105 93 clock-latency = <61036>; /* two CLK32 periods */ 106 94 clocks = <&clk IMX8MM_CLK_ARM>; 107 95 enable-method = "psci"; 96 + i-cache-size = <0x8000>; 97 + i-cache-line-size = <64>; 98 + i-cache-sets = <256>; 99 + d-cache-size = <0x8000>; 100 + d-cache-line-size = <64>; 101 + d-cache-sets = <128>; 108 102 next-level-cache = <&A53_L2>; 109 103 operating-points-v2 = <&a53_opp_table>; 110 104 cpu-idle-states = <&cpu_pd_wait>; ··· 124 106 clock-latency = <61036>; /* two CLK32 periods */ 125 107 clocks = <&clk IMX8MM_CLK_ARM>; 126 108 enable-method = "psci"; 109 + i-cache-size = <0x8000>; 110 + i-cache-line-size = <64>; 111 + i-cache-sets = <256>; 112 + d-cache-size = <0x8000>; 113 + d-cache-line-size = <64>; 114 + d-cache-sets = <128>; 127 115 next-level-cache = <&A53_L2>; 128 116 operating-points-v2 = <&a53_opp_table>; 129 117 cpu-idle-states = <&cpu_pd_wait>; ··· 138 114 139 115 A53_L2: l2-cache0 { 140 116 compatible = "cache"; 117 + cache-level = <2>; 118 + cache-size = <0x80000>; 119 + cache-line-size = <64>; 120 + cache-sets = <512>; 141 121 }; 142 122 }; 143 123 ··· 619 591 <&clk IMX8MM_CLK_IPG_AUDIO_ROOT>, 620 592 <&clk IMX8MM_SYS_PLL3>, 621 593 <&clk IMX8MM_VIDEO_PLL1>, 622 - <&clk IMX8MM_AUDIO_PLL1>, 623 - <&clk IMX8MM_AUDIO_PLL2>; 594 + <&clk IMX8MM_AUDIO_PLL1>; 624 595 assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_800M>, 625 596 <&clk IMX8MM_ARM_PLL_OUT>, 626 597 <&clk IMX8MM_SYS_PLL3_OUT>, ··· 629 602 <400000000>, 630 603 <750000000>, 631 604 <594000000>, 632 - <393216000>, 633 - <361267200>; 605 + <393216000>; 634 606 }; 635 607 636 608 src: reset-controller@30390000 { ··· 1080 1054 fsl,num-rx-queues = <3>; 1081 1055 nvmem-cells = <&fec_mac_address>; 1082 1056 nvmem-cell-names = "mac-address"; 1083 - nvmem_macaddr_swap; 1084 1057 fsl,stop-mode = <&gpr 0x10 3>; 1085 1058 status = "disabled"; 1086 1059 }; ··· 1092 1067 #address-cells = <1>; 1093 1068 #size-cells = <1>; 1094 1069 ranges = <0x32c00000 0x32c00000 0x400000>; 1070 + 1071 + csi: csi@32e20000 { 1072 + compatible = "fsl,imx8mm-csi", "fsl,imx7-csi"; 1073 + reg = <0x32e20000 0x1000>; 1074 + interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 1075 + clocks = <&clk IMX8MM_CLK_CSI1_ROOT>; 1076 + clock-names = "mclk"; 1077 + power-domains = <&disp_blk_ctrl IMX8MM_DISPBLK_PD_CSI_BRIDGE>; 1078 + status = "disabled"; 1079 + 1080 + port { 1081 + csi_in: endpoint { 1082 + remote-endpoint = <&imx8mm_mipi_csi_out>; 1083 + }; 1084 + }; 1085 + }; 1095 1086 1096 1087 disp_blk_ctrl: blk-ctrl@32e28000 { 1097 1088 compatible = "fsl,imx8mm-disp-blk-ctrl", "syscon"; ··· 1134 1093 "dsi-pclk", "dsi-ref", 1135 1094 "csi-aclk", "csi-pclk"; 1136 1095 #power-domain-cells = <1>; 1096 + }; 1097 + 1098 + mipi_csi: mipi-csi@32e30000 { 1099 + compatible = "fsl,imx8mm-mipi-csi2"; 1100 + reg = <0x32e30000 0x1000>; 1101 + interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 1102 + assigned-clocks = <&clk IMX8MM_CLK_CSI1_CORE>, 1103 + <&clk IMX8MM_CLK_CSI1_PHY_REF>; 1104 + assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_1000M>, 1105 + <&clk IMX8MM_SYS_PLL2_1000M>; 1106 + clock-frequency = <333000000>; 1107 + clocks = <&clk IMX8MM_CLK_DISP_APB_ROOT>, 1108 + <&clk IMX8MM_CLK_CSI1_ROOT>, 1109 + <&clk IMX8MM_CLK_CSI1_PHY_REF>, 1110 + <&clk IMX8MM_CLK_DISP_AXI_ROOT>; 1111 + clock-names = "pclk", "wrap", "phy", "axi"; 1112 + power-domains = <&disp_blk_ctrl IMX8MM_DISPBLK_PD_MIPI_CSI>; 1113 + status = "disabled"; 1114 + 1115 + ports { 1116 + #address-cells = <1>; 1117 + #size-cells = <0>; 1118 + 1119 + port@0 { 1120 + reg = <0>; 1121 + }; 1122 + 1123 + port@1 { 1124 + reg = <1>; 1125 + 1126 + imx8mm_mipi_csi_out: endpoint { 1127 + remote-endpoint = <&csi_in>; 1128 + }; 1129 + }; 1130 + }; 1137 1131 }; 1138 1132 1139 1133 usbotg1: usb@32e40000 {
-1
arch/arm64/boot/dts/freescale/imx8mn-beacon-baseboard.dtsi
··· 126 126 compatible = "wlf,wm8962"; 127 127 reg = <0x1a>; 128 128 clocks = <&clk IMX8MN_CLK_SAI3_ROOT>; 129 - clock-names = "xclk"; 130 129 DCVDD-supply = <&reg_audio>; 131 130 DBVDD-supply = <&reg_audio>; 132 131 AVDD-supply = <&reg_audio>;
-1
arch/arm64/boot/dts/freescale/imx8mn-beacon-som.dtsi
··· 274 274 bus-width = <4>; 275 275 non-removable; 276 276 cap-power-off-card; 277 - pm-ignore-notify; 278 277 keep-power-in-suspend; 279 278 mmc-pwrseq = <&usdhc1_pwrseq>; 280 279 status = "okay";
+426
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2-common.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 2 + /* 3 + * Copyright 2021 Collabora Ltd. 4 + * Copyright 2021 BSH Hausgeraete GmbH 5 + */ 6 + 7 + /dts-v1/; 8 + 9 + #include "imx8mn.dtsi" 10 + 11 + / { 12 + chosen { 13 + stdout-path = &uart4; 14 + }; 15 + 16 + fec_supply: fec-supply-en { 17 + compatible = "regulator-fixed"; 18 + vin-supply = <&buck4_reg>; 19 + regulator-name = "tja1101_en"; 20 + regulator-min-microvolt = <3300000>; 21 + regulator-max-microvolt = <3300000>; 22 + gpio = <&gpio2 20 GPIO_ACTIVE_HIGH>; 23 + enable-active-high; 24 + }; 25 + 26 + usdhc2_pwrseq: usdhc2-pwrseq { 27 + compatible = "mmc-pwrseq-simple"; 28 + pinctrl-names = "default"; 29 + pinctrl-0 = <&pinctrl_usdhc2_pwrseq>; 30 + reset-gpios = <&gpio4 27 GPIO_ACTIVE_LOW>; 31 + }; 32 + }; 33 + 34 + &A53_0 { 35 + cpu-supply = <&buck2_reg>; 36 + }; 37 + 38 + &A53_1 { 39 + cpu-supply = <&buck2_reg>; 40 + }; 41 + 42 + &A53_2 { 43 + cpu-supply = <&buck2_reg>; 44 + }; 45 + 46 + &A53_3 { 47 + cpu-supply = <&buck2_reg>; 48 + }; 49 + 50 + &ecspi2 { 51 + pinctrl-names = "default"; 52 + pinctrl-0 = <&pinctrl_espi2>; 53 + status = "okay"; 54 + }; 55 + 56 + &fec1 { 57 + pinctrl-names = "default"; 58 + pinctrl-0 = <&pinctrl_fec1>; 59 + phy-mode = "rmii"; 60 + phy-handle = <&ethphy0>; 61 + phy-supply = <&fec_supply>; 62 + fsl,magic-packet; 63 + status = "okay"; 64 + 65 + mdio { 66 + #address-cells = <1>; 67 + #size-cells = <0>; 68 + 69 + ethphy0: ethernet-phy@0 { 70 + compatible = "ethernet-phy-ieee802.3-c22"; 71 + reg = <0>; 72 + reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>; 73 + reset-assert-us = <20>; 74 + reset-deassert-us = <2000>; 75 + }; 76 + }; 77 + }; 78 + 79 + &i2c1 { 80 + clock-frequency = <400000>; 81 + pinctrl-names = "default"; 82 + pinctrl-0 = <&pinctrl_i2c1>; 83 + status = "okay"; 84 + 85 + bd71847: pmic@4b { 86 + compatible = "rohm,bd71847"; 87 + reg = <0x4b>; 88 + pinctrl-names = "default"; 89 + pinctrl-0 = <&pinctrl_pmic>; 90 + interrupt-parent = <&gpio1>; 91 + interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 92 + rohm,reset-snvs-powered; 93 + 94 + #clock-cells = <0>; 95 + clocks = <&osc_32k 0>; 96 + clock-output-names = "clk-32k-out"; 97 + 98 + regulators { 99 + buck1_reg: BUCK1 { 100 + /* PMIC_BUCK1 - VDD_SOC */ 101 + regulator-name = "buck1"; 102 + regulator-min-microvolt = <700000>; 103 + regulator-max-microvolt = <1300000>; 104 + regulator-boot-on; 105 + regulator-always-on; 106 + regulator-ramp-delay = <1250>; 107 + }; 108 + 109 + buck2_reg: BUCK2 { 110 + /* PMIC_BUCK2 - VDD_ARM */ 111 + regulator-name = "buck2"; 112 + regulator-min-microvolt = <700000>; 113 + regulator-max-microvolt = <1300000>; 114 + regulator-boot-on; 115 + regulator-always-on; 116 + regulator-ramp-delay = <1250>; 117 + }; 118 + 119 + buck3_reg: BUCK3 { 120 + /* PMIC_BUCK5 - VDD_DRAM_VPU_GPU */ 121 + regulator-name = "buck3"; 122 + regulator-min-microvolt = <700000>; 123 + regulator-max-microvolt = <1350000>; 124 + regulator-boot-on; 125 + regulator-always-on; 126 + }; 127 + 128 + buck4_reg: BUCK4 { 129 + /* PMIC_BUCK6 - VDD_3V3 */ 130 + regulator-name = "buck4"; 131 + regulator-min-microvolt = <3000000>; 132 + regulator-max-microvolt = <3300000>; 133 + regulator-boot-on; 134 + regulator-always-on; 135 + }; 136 + 137 + buck5_reg: BUCK5 { 138 + /* PMIC_BUCK7 - VDD_1V8 */ 139 + regulator-name = "buck5"; 140 + regulator-min-microvolt = <1605000>; 141 + regulator-max-microvolt = <1995000>; 142 + regulator-boot-on; 143 + regulator-always-on; 144 + }; 145 + 146 + buck6_reg: BUCK6 { 147 + /* PMIC_BUCK8 - NVCC_DRAM */ 148 + regulator-name = "buck6"; 149 + regulator-min-microvolt = <800000>; 150 + regulator-max-microvolt = <1400000>; 151 + regulator-boot-on; 152 + regulator-always-on; 153 + }; 154 + 155 + ldo1_reg: LDO1 { 156 + /* PMIC_LDO1 - NVCC_SNVS_1V8 */ 157 + regulator-name = "ldo1"; 158 + regulator-min-microvolt = <1600000>; 159 + regulator-max-microvolt = <1900000>; 160 + regulator-boot-on; 161 + regulator-always-on; 162 + }; 163 + 164 + ldo2_reg: LDO2 { 165 + /* PMIC_LDO2 - VDD_SNVS_0V8 */ 166 + regulator-name = "ldo2"; 167 + regulator-min-microvolt = <800000>; 168 + regulator-max-microvolt = <900000>; 169 + regulator-boot-on; 170 + regulator-always-on; 171 + }; 172 + 173 + ldo3_reg: LDO3 { 174 + /* PMIC_LDO3 - VDDA_1V8 */ 175 + regulator-name = "ldo3"; 176 + regulator-min-microvolt = <1800000>; 177 + regulator-max-microvolt = <3300000>; 178 + regulator-boot-on; 179 + regulator-always-on; 180 + }; 181 + 182 + ldo4_reg: LDO4 { 183 + /* PMIC_LDO4 - VDD_MIPI_0V9 */ 184 + regulator-name = "ldo4"; 185 + regulator-min-microvolt = <900000>; 186 + regulator-max-microvolt = <1800000>; 187 + regulator-boot-on; 188 + regulator-always-on; 189 + }; 190 + 191 + ldo6_reg: LDO6 { 192 + /* PMIC_LDO6 - VDD_MIPI_1V2 */ 193 + regulator-name = "ldo6"; 194 + regulator-min-microvolt = <900000>; 195 + regulator-max-microvolt = <1800000>; 196 + regulator-boot-on; 197 + regulator-always-on; 198 + }; 199 + }; 200 + }; 201 + }; 202 + 203 + &i2c3 { 204 + clock-frequency = <400000>; 205 + pinctrl-names = "default"; 206 + pinctrl-0 = <&pinctrl_i2c3>; 207 + status = "okay"; 208 + }; 209 + 210 + &i2c4 { 211 + clock-frequency = <400000>; 212 + pinctrl-names = "default"; 213 + pinctrl-0 = <&pinctrl_i2c4>; 214 + status = "okay"; 215 + }; 216 + 217 + &uart2 { 218 + pinctrl-names = "default"; 219 + pinctrl-0 = <&pinctrl_uart2>; 220 + status = "okay"; 221 + }; 222 + 223 + &uart3 { 224 + pinctrl-names = "default"; 225 + pinctrl-0 = <&pinctrl_uart3>; 226 + assigned-clocks = <&clk IMX8MN_CLK_UART3>; 227 + assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_80M>; 228 + uart-has-rtscts; 229 + status = "okay"; 230 + 231 + bluetooth { 232 + compatible = "brcm,bcm43438-bt"; 233 + pinctrl-names = "default"; 234 + pinctrl-0 = <&pinctrl_bluetooth>; 235 + shutdown-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>; 236 + device-wakeup-gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>; 237 + host-wakeup-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; 238 + max-speed = <3000000>; 239 + }; 240 + }; 241 + 242 + /* Console */ 243 + &uart4 { 244 + pinctrl-names = "default"; 245 + pinctrl-0 = <&pinctrl_uart4>; 246 + status = "okay"; 247 + }; 248 + 249 + &usbotg1 { 250 + dr_mode = "peripheral"; 251 + disable-over-current; 252 + status = "okay"; 253 + }; 254 + 255 + &usdhc2 { 256 + #address-cells = <1>; 257 + #size-cells = <0>; 258 + pinctrl-names = "default", "state_100mhz", "state_200mhz"; 259 + pinctrl-0 = <&pinctrl_usdhc2>; 260 + pinctrl-1 = <&pinctrl_usdhc2_100mhz>; 261 + pinctrl-2 = <&pinctrl_usdhc2_200mhz>; 262 + mmc-pwrseq = <&usdhc2_pwrseq>; 263 + bus-width = <4>; 264 + non-removable; 265 + status = "okay"; 266 + 267 + brcmf: bcrmf@1 { 268 + compatible = "brcm,bcm4329-fmac"; 269 + reg = <1>; 270 + pinctrl-names = "default"; 271 + pinctrl-0 = <&pinctrl_wlan>; 272 + interrupt-parent = <&gpio1>; 273 + interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; 274 + interrupt-names = "host-wake"; 275 + }; 276 + }; 277 + 278 + &wdog1 { 279 + pinctrl-names = "default"; 280 + pinctrl-0 = <&pinctrl_wdog>; 281 + fsl,ext-reset-output; 282 + status = "okay"; 283 + }; 284 + 285 + &iomuxc { 286 + pinctrl_bluetooth: bluetoothgrp { 287 + fsl,pins = < 288 + MX8MN_IOMUXC_GPIO1_IO15_GPIO1_IO15 0x044 /* BT_REG_ON */ 289 + MX8MN_IOMUXC_ENET_TD3_GPIO1_IO18 0x046 /* BT_DEV_WAKE */ 290 + MX8MN_IOMUXC_ENET_RD2_GPIO1_IO28 0x090 /* BT_HOST_WAKE */ 291 + >; 292 + }; 293 + 294 + pinctrl_espi2: espi2grp { 295 + fsl,pins = < 296 + MX8MN_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x082 297 + MX8MN_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x082 298 + MX8MN_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x082 299 + MX8MN_IOMUXC_ECSPI2_SS0_ECSPI2_SS0 0x040 300 + >; 301 + }; 302 + 303 + pinctrl_fec1: fec1grp { 304 + fsl,pins = < 305 + MX8MN_IOMUXC_ENET_MDC_ENET1_MDC 0x002 306 + MX8MN_IOMUXC_ENET_MDIO_ENET1_MDIO 0x002 307 + MX8MN_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x090 308 + MX8MN_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x090 309 + MX8MN_IOMUXC_ENET_RXC_ENET1_RX_ER 0x090 310 + MX8MN_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x016 311 + MX8MN_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x016 312 + MX8MN_IOMUXC_ENET_TD2_ENET1_TX_CLK 0x016 313 + MX8MN_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x016 314 + MX8MN_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x090 315 + MX8MN_IOMUXC_ENET_TXC_ENET1_TX_ER 0x016 316 + MX8MN_IOMUXC_SD2_CD_B_GPIO2_IO12 0x150 /* RMII_INT - ENET_INT */ 317 + MX8MN_IOMUXC_SD2_WP_GPIO2_IO20 0x150 /* RMII_EN - ENET_EN */ 318 + MX8MN_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x016 /* RMII_WAKE - GPIO_ENET_WAKE */ 319 + MX8MN_IOMUXC_ENET_RD3_GPIO1_IO29 0x016 /* RMII_RESET - GPIO_ENET_RST */ 320 + >; 321 + }; 322 + 323 + pinctrl_i2c1: i2c1grp { 324 + fsl,pins = < 325 + MX8MN_IOMUXC_I2C1_SCL_I2C1_SCL 0x400000c2 326 + MX8MN_IOMUXC_I2C1_SDA_I2C1_SDA 0x400000c2 327 + >; 328 + }; 329 + 330 + pinctrl_i2c3: i2c3grp { 331 + fsl,pins = < 332 + MX8MN_IOMUXC_I2C3_SCL_I2C3_SCL 0x400000c2 333 + MX8MN_IOMUXC_I2C3_SDA_I2C3_SDA 0x400000c2 334 + >; 335 + }; 336 + 337 + pinctrl_i2c4: i2c4grp { 338 + fsl,pins = < 339 + MX8MN_IOMUXC_I2C4_SCL_I2C4_SCL 0x400000c2 340 + MX8MN_IOMUXC_I2C4_SDA_I2C4_SDA 0x400000c2 341 + >; 342 + }; 343 + 344 + pinctrl_pmic: pmicirq { 345 + fsl,pins = < 346 + MX8MN_IOMUXC_GPIO1_IO03_GPIO1_IO3 0x040 347 + >; 348 + }; 349 + 350 + pinctrl_uart2: uart2grp { 351 + fsl,pins = < 352 + MX8MN_IOMUXC_UART2_RXD_UART2_DCE_RX 0x040 353 + MX8MN_IOMUXC_UART2_TXD_UART2_DCE_TX 0x040 354 + >; 355 + }; 356 + 357 + pinctrl_uart3: uart3grp { 358 + fsl,pins = < 359 + MX8MN_IOMUXC_UART3_TXD_UART3_DCE_TX 0x040 360 + MX8MN_IOMUXC_UART3_RXD_UART3_DCE_RX 0x040 361 + MX8MN_IOMUXC_ECSPI1_MISO_UART3_DCE_CTS_B 0x040 362 + MX8MN_IOMUXC_ECSPI1_SS0_UART3_DCE_RTS_B 0x040 363 + >; 364 + }; 365 + 366 + pinctrl_uart4: uart4grp { 367 + fsl,pins = < 368 + MX8MN_IOMUXC_UART4_RXD_UART4_DCE_RX 0x040 369 + MX8MN_IOMUXC_UART4_TXD_UART4_DCE_TX 0x040 370 + >; 371 + }; 372 + 373 + pinctrl_usdhc2: usdhc2grp { 374 + fsl,pins = < 375 + MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x090 376 + MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x0d0 377 + MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x0d0 378 + MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x0d0 379 + MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x0d0 380 + MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x0d0 381 + >; 382 + }; 383 + 384 + pinctrl_usdhc2_100mhz: usdhc2grp100mhz { 385 + fsl,pins = < 386 + MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x094 387 + MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x0d4 388 + MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x0d4 389 + MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x0d4 390 + MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x0d4 391 + MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x0d4 392 + >; 393 + }; 394 + 395 + pinctrl_usdhc2_200mhz: usdhc2grp200mhz { 396 + fsl,pins = < 397 + MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x096 398 + MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x0d6 399 + MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x0d6 400 + MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x0d6 401 + MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x0d6 402 + MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x0d6 403 + >; 404 + }; 405 + 406 + pinctrl_usdhc2_pwrseq: usdhc2pwrseqgrp { 407 + fsl,pins = < 408 + MX8MN_IOMUXC_SAI2_MCLK_GPIO4_IO27 0x040 /* WL_REG_ON */ 409 + >; 410 + }; 411 + 412 + pinctrl_wdog: wdoggrp { 413 + fsl,pins = < 414 + MX8MN_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0x046 415 + >; 416 + }; 417 + 418 + pinctrl_wlan: wlangrp { 419 + fsl,pins = < 420 + MX8MN_IOMUXC_GPIO1_IO00_GPIO1_IO0 0x0d6 /* GPIO_0 - WIFI_GPIO_0 */ 421 + MX8MN_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x0d6 /* GPIO_1 - WIFI_GPIO_1 */ 422 + MX8MN_IOMUXC_GPIO1_IO04_GPIO1_IO4 0x0d6 /* BT_GPIO_5 - WIFI_GPIO_5 */ 423 + MX8MN_IOMUXC_SPDIF_RX_GPIO5_IO4 0x0d6 /* I2S_CLK - WIFI_GPIO_6 */ 424 + >; 425 + }; 426 + };
+48
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 2 + /* 3 + * Copyright 2021 Collabora Ltd. 4 + * Copyright 2021 BSH Hausgeraete GmbH 5 + */ 6 + 7 + /dts-v1/; 8 + 9 + #include "imx8mn-bsh-smm-s2-common.dtsi" 10 + 11 + / { 12 + model = "BSH SMM S2"; 13 + compatible = "bsh,imx8mn-bsh-smm-s2", "fsl,imx8mn"; 14 + 15 + memory@40000000 { 16 + device_type = "memory"; 17 + reg = <0x0 0x40000000 0x0 0x10000000>; 18 + }; 19 + }; 20 + 21 + &gpmi { 22 + pinctrl-names = "default"; 23 + pinctrl-0 = <&pinctrl_gpmi_nand>; 24 + nand-on-flash-bbt; 25 + status = "okay"; 26 + }; 27 + 28 + &iomuxc { 29 + pinctrl_gpmi_nand: gpmi-nand { 30 + fsl,pins = < 31 + MX8MN_IOMUXC_NAND_ALE_RAWNAND_ALE 0x00000096 32 + MX8MN_IOMUXC_NAND_CE0_B_RAWNAND_CE0_B 0x00000096 33 + MX8MN_IOMUXC_NAND_CLE_RAWNAND_CLE 0x00000096 34 + MX8MN_IOMUXC_NAND_DATA00_RAWNAND_DATA00 0x00000096 35 + MX8MN_IOMUXC_NAND_DATA01_RAWNAND_DATA01 0x00000096 36 + MX8MN_IOMUXC_NAND_DATA02_RAWNAND_DATA02 0x00000096 37 + MX8MN_IOMUXC_NAND_DATA03_RAWNAND_DATA03 0x00000096 38 + MX8MN_IOMUXC_NAND_DATA04_RAWNAND_DATA04 0x00000096 39 + MX8MN_IOMUXC_NAND_DATA05_RAWNAND_DATA05 0x00000096 40 + MX8MN_IOMUXC_NAND_DATA06_RAWNAND_DATA06 0x00000096 41 + MX8MN_IOMUXC_NAND_DATA07_RAWNAND_DATA07 0x00000096 42 + MX8MN_IOMUXC_NAND_RE_B_RAWNAND_RE_B 0x00000096 43 + MX8MN_IOMUXC_NAND_READY_B_RAWNAND_READY_B 0x00000056 44 + MX8MN_IOMUXC_NAND_WE_B_RAWNAND_WE_B 0x00000096 45 + MX8MN_IOMUXC_NAND_WP_B_RAWNAND_WP_B 0x00000096 46 + >; 47 + }; 48 + };
+80
arch/arm64/boot/dts/freescale/imx8mn-bsh-smm-s2pro.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 2 + /* 3 + * Copyright 2021 Collabora Ltd. 4 + * Copyright 2021 BSH Hausgeraete GmbH 5 + */ 6 + 7 + /dts-v1/; 8 + 9 + #include "imx8mn-bsh-smm-s2-common.dtsi" 10 + 11 + / { 12 + model = "BSH SMM S2 PRO"; 13 + compatible = "bsh,imx8mn-bsh-smm-s2pro", "fsl,imx8mn"; 14 + 15 + memory@40000000 { 16 + device_type = "memory"; 17 + reg = <0x0 0x40000000 0x0 0x20000000>; 18 + }; 19 + }; 20 + 21 + /* eMMC */ 22 + &usdhc1 { 23 + pinctrl-names = "default", "state_100mhz", "state_200mhz"; 24 + pinctrl-0 = <&pinctrl_usdhc1>; 25 + pinctrl-1 = <&pinctrl_usdhc1_100mhz>; 26 + pinctrl-2 = <&pinctrl_usdhc1_200mhz>; 27 + bus-width = <8>; 28 + non-removable; 29 + status = "okay"; 30 + }; 31 + 32 + &iomuxc { 33 + pinctrl_usdhc1: usdhc1grp { 34 + fsl,pins = < 35 + MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK 0x40000090 36 + MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD 0x0d0 37 + MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x0d0 38 + MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x0d0 39 + MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x0d0 40 + MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x0d0 41 + MX8MN_IOMUXC_SD1_DATA4_USDHC1_DATA4 0x0d0 42 + MX8MN_IOMUXC_SD1_DATA5_USDHC1_DATA5 0x0d0 43 + MX8MN_IOMUXC_SD1_DATA6_USDHC1_DATA6 0x0d0 44 + MX8MN_IOMUXC_SD1_DATA7_USDHC1_DATA7 0x0d0 45 + MX8MN_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x090 46 + >; 47 + }; 48 + 49 + pinctrl_usdhc1_100mhz: usdhc1grp100mhz { 50 + fsl,pins = < 51 + MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK 0x40000094 52 + MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD 0x0d4 53 + MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x0d4 54 + MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x0d4 55 + MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x0d4 56 + MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x0d4 57 + MX8MN_IOMUXC_SD1_DATA4_USDHC1_DATA4 0x0d4 58 + MX8MN_IOMUXC_SD1_DATA5_USDHC1_DATA5 0x0d4 59 + MX8MN_IOMUXC_SD1_DATA6_USDHC1_DATA6 0x0d4 60 + MX8MN_IOMUXC_SD1_DATA7_USDHC1_DATA7 0x0d4 61 + MX8MN_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x094 62 + >; 63 + }; 64 + 65 + pinctrl_usdhc1_200mhz: usdhc1grp200mhz { 66 + fsl,pins = < 67 + MX8MN_IOMUXC_SD1_CLK_USDHC1_CLK 0x40000096 68 + MX8MN_IOMUXC_SD1_CMD_USDHC1_CMD 0x0d6 69 + MX8MN_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x0d6 70 + MX8MN_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x0d6 71 + MX8MN_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x0d6 72 + MX8MN_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x0d6 73 + MX8MN_IOMUXC_SD1_DATA4_USDHC1_DATA4 0x0d6 74 + MX8MN_IOMUXC_SD1_DATA5_USDHC1_DATA5 0x0d6 75 + MX8MN_IOMUXC_SD1_DATA6_USDHC1_DATA6 0x0d6 76 + MX8MN_IOMUXC_SD1_DATA7_USDHC1_DATA7 0x0d6 77 + MX8MN_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x096 78 + >; 79 + }; 80 + };
+9
arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi
··· 97 97 ethphy0: ethernet-phy@0 { 98 98 compatible = "ethernet-phy-ieee802.3-c22"; 99 99 reg = <0>; 100 + reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; 101 + reset-assert-us = <10000>; 102 + qca,disable-smarteee; 103 + vddio-supply = <&vddio>; 104 + 105 + vddio: vddio-regulator { 106 + regulator-min-microvolt = <1800000>; 107 + regulator-max-microvolt = <1800000>; 108 + }; 100 109 }; 101 110 }; 102 111 };
+237
arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl-mba8mx.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 2 + /* 3 + * Copyright 2020-2021 TQ-Systems GmbH 4 + */ 5 + 6 + /dts-v1/; 7 + 8 + #include "imx8mn-tqma8mqnl.dtsi" 9 + #include "mba8mx.dtsi" 10 + 11 + / { 12 + model = "TQ-Systems GmbH i.MX8MN TQMa8MxNL on MBa8Mx"; 13 + compatible = "tq,imx8mn-tqma8mqnl-mba8mx", "tq,imx8mn-tqma8mqnl", "fsl,imx8mn"; 14 + 15 + aliases { 16 + eeprom0 = &eeprom3; 17 + mmc0 = &usdhc3; 18 + mmc1 = &usdhc2; 19 + mmc2 = &usdhc1; 20 + rtc0 = &pcf85063; 21 + rtc1 = &snvs_rtc; 22 + }; 23 + 24 + reg_usdhc2_vmmc: regulator-vmmc { 25 + compatible = "regulator-fixed"; 26 + pinctrl-names = "default"; 27 + pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>; 28 + regulator-name = "VSD_3V3"; 29 + regulator-min-microvolt = <3300000>; 30 + regulator-max-microvolt = <3300000>; 31 + gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 32 + enable-active-high; 33 + startup-delay-us = <100>; 34 + off-on-delay-us = <12000>; 35 + }; 36 + }; 37 + 38 + /* Located on TQMa8MxML-ADAP */ 39 + &gpio2 { 40 + pinctrl-names = "default"; 41 + pinctrl-0 = <&pinctrl_usb0hub_sel>; 42 + 43 + sel-usb-hub-hog { 44 + gpio-hog; 45 + gpios = <1 GPIO_ACTIVE_HIGH>; 46 + output-high; 47 + }; 48 + }; 49 + 50 + &i2c1 { 51 + expander2: gpio@27 { 52 + compatible = "nxp,pca9555"; 53 + reg = <0x27>; 54 + gpio-controller; 55 + #gpio-cells = <2>; 56 + vcc-supply = <&reg_vcc_3v3>; 57 + pinctrl-names = "default"; 58 + pinctrl-0 = <&pinctrl_expander2>; 59 + interrupt-parent = <&gpio1>; 60 + interrupts = <9 IRQ_TYPE_EDGE_FALLING>; 61 + interrupt-controller; 62 + #interrupt-cells = <2>; 63 + }; 64 + }; 65 + 66 + &sai3 { 67 + assigned-clocks = <&clk IMX8MN_CLK_SAI3>; 68 + assigned-clock-parents = <&clk IMX8MN_AUDIO_PLL1_OUT>; 69 + clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k", "pll11k"; 70 + clocks = <&clk IMX8MN_CLK_SAI3_IPG>, <&clk IMX8MN_CLK_DUMMY>, 71 + <&clk IMX8MN_CLK_SAI3_ROOT>, <&clk IMX8MN_CLK_DUMMY>, 72 + <&clk IMX8MN_CLK_DUMMY>, <&clk IMX8MN_AUDIO_PLL1_OUT>, 73 + <&clk IMX8MN_AUDIO_PLL2_OUT>; 74 + }; 75 + 76 + &tlv320aic3x04 { 77 + clock-names = "mclk"; 78 + clocks = <&clk IMX8MN_CLK_SAI3_ROOT>; 79 + }; 80 + 81 + &usbotg1 { 82 + dr_mode = "host"; 83 + disable-over-current; 84 + power-active-high; 85 + status = "okay"; 86 + }; 87 + 88 + &iomuxc { 89 + pinctrl_ecspi1: ecspi1grp { 90 + fsl,pins = <MX8MN_IOMUXC_ECSPI1_SCLK_ECSPI1_SCLK 0x00000146>, 91 + <MX8MN_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI 0x00000146>, 92 + <MX8MN_IOMUXC_ECSPI1_MISO_ECSPI1_MISO 0x00000146>, 93 + <MX8MN_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x00000146>; 94 + }; 95 + 96 + pinctrl_ecspi2: ecspi2grp { 97 + fsl,pins = <MX8MN_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x00000146>, 98 + <MX8MN_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x00000146>, 99 + <MX8MN_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x00000146>, 100 + <MX8MN_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0x00000146>; 101 + }; 102 + 103 + pinctrl_expander2: expander2grp { 104 + fsl,pins = <MX8MN_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x94>; 105 + }; 106 + 107 + pinctrl_fec1: fec1grp { 108 + fsl,pins = <MX8MN_IOMUXC_ENET_MDC_ENET1_MDC 0x40000002>, 109 + <MX8MN_IOMUXC_ENET_MDIO_ENET1_MDIO 0x40000002>, 110 + <MX8MN_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x14>, 111 + <MX8MN_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x14>, 112 + <MX8MN_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x14>, 113 + <MX8MN_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x14>, 114 + <MX8MN_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x90>, 115 + <MX8MN_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x90>, 116 + <MX8MN_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x90>, 117 + <MX8MN_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x90>, 118 + <MX8MN_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x14>, 119 + <MX8MN_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x90>, 120 + <MX8MN_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x90>, 121 + <MX8MN_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x14>; 122 + }; 123 + 124 + pinctrl_gpiobutton: gpiobuttongrp { 125 + fsl,pins = <MX8MN_IOMUXC_GPIO1_IO05_GPIO1_IO5 0x84>, 126 + <MX8MN_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x84>, 127 + <MX8MN_IOMUXC_SD1_CLK_GPIO2_IO0 0x84>; 128 + }; 129 + 130 + pinctrl_gpioled: gpioledgrp { 131 + fsl,pins = <MX8MN_IOMUXC_GPIO1_IO00_GPIO1_IO0 0x84>, 132 + <MX8MN_IOMUXC_NAND_DQS_GPIO3_IO14 0x84>; 133 + }; 134 + 135 + pinctrl_i2c2: i2c2grp { 136 + fsl,pins = <MX8MN_IOMUXC_I2C2_SCL_I2C2_SCL 0x400001C4>, 137 + <MX8MN_IOMUXC_I2C2_SDA_I2C2_SDA 0x400001C4>; 138 + }; 139 + 140 + pinctrl_i2c2_gpio: i2c2gpiogrp { 141 + fsl,pins = <MX8MN_IOMUXC_I2C2_SCL_GPIO5_IO16 0x400001C4>, 142 + <MX8MN_IOMUXC_I2C2_SDA_GPIO5_IO17 0x400001C4>; 143 + }; 144 + 145 + pinctrl_i2c3: i2c3grp { 146 + fsl,pins = <MX8MN_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001C4>, 147 + <MX8MN_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001C4>; 148 + }; 149 + 150 + pinctrl_i2c3_gpio: i2c3gpiogrp { 151 + fsl,pins = <MX8MN_IOMUXC_I2C3_SCL_GPIO5_IO18 0x400001C4>, 152 + <MX8MN_IOMUXC_I2C3_SDA_GPIO5_IO19 0x400001C4>; 153 + }; 154 + 155 + pinctrl_pwm3: pwm3grp { 156 + fsl,pins = <MX8MN_IOMUXC_GPIO1_IO14_PWM3_OUT 0x14>; 157 + }; 158 + 159 + pinctrl_pwm4: pwm4grp { 160 + fsl,pins = <MX8MN_IOMUXC_GPIO1_IO15_PWM4_OUT 0x14>; 161 + }; 162 + 163 + pinctrl_sai3: sai3grp { 164 + fsl,pins = <MX8MN_IOMUXC_SAI3_MCLK_SAI3_MCLK 0x94>, 165 + <MX8MN_IOMUXC_SAI3_RXC_SAI3_RX_BCLK 0x94>, 166 + <MX8MN_IOMUXC_SAI3_RXFS_SAI3_RX_SYNC 0x94>, 167 + <MX8MN_IOMUXC_SAI3_RXD_SAI3_RX_DATA0 0x94>, 168 + <MX8MN_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0x94>, 169 + <MX8MN_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0x94>, 170 + <MX8MN_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0x94>; 171 + }; 172 + 173 + pinctrl_uart1: uart1grp { 174 + fsl,pins = <MX8MN_IOMUXC_UART1_RXD_UART1_DCE_RX 0x16>, 175 + <MX8MN_IOMUXC_UART1_TXD_UART1_DCE_TX 0x16>; 176 + }; 177 + 178 + pinctrl_uart2: uart2grp { 179 + fsl,pins = <MX8MN_IOMUXC_UART2_RXD_UART2_DCE_RX 0x16>, 180 + <MX8MN_IOMUXC_UART2_TXD_UART2_DCE_TX 0x16>; 181 + }; 182 + 183 + pinctrl_uart3: uart3grp { 184 + fsl,pins = <MX8MN_IOMUXC_UART3_RXD_UART3_DCE_RX 0x16>, 185 + <MX8MN_IOMUXC_UART3_TXD_UART3_DCE_TX 0x16>; 186 + }; 187 + 188 + pinctrl_uart4: uart4grp { 189 + fsl,pins = <MX8MN_IOMUXC_UART4_RXD_UART4_DCE_RX 0x16>, 190 + <MX8MN_IOMUXC_UART4_TXD_UART4_DCE_TX 0x16>; 191 + }; 192 + 193 + pinctrl_usb0hub_sel: usb0hub-selgrp { 194 + /* SEL_USB_HUB_B */ 195 + fsl,pins = <MX8MN_IOMUXC_SD1_CMD_GPIO2_IO1 0x84>; 196 + }; 197 + 198 + pinctrl_usbotg: usbotggrp { 199 + fsl,pins = <MX8MN_IOMUXC_GPIO1_IO12_USB1_OTG_PWR 0x84>, 200 + <MX8MN_IOMUXC_GPIO1_IO13_USB1_OTG_OC 0x84>, 201 + <MX8MN_IOMUXC_GPIO1_IO10_USB1_OTG_ID 0x1C4>; 202 + }; 203 + 204 + pinctrl_usdhc2: usdhc2grp { 205 + fsl,pins = <MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x1d4>, 206 + <MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4>, 207 + <MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4>, 208 + <MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4>, 209 + <MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4>, 210 + <MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4>, 211 + <MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x84>; 212 + }; 213 + 214 + pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 215 + fsl,pins = <MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x1d4>, 216 + <MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4>, 217 + <MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4>, 218 + <MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4>, 219 + <MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4>, 220 + <MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4>, 221 + <MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x84>; 222 + }; 223 + 224 + pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 225 + fsl,pins = <MX8MN_IOMUXC_SD2_CLK_USDHC2_CLK 0x1d4>, 226 + <MX8MN_IOMUXC_SD2_CMD_USDHC2_CMD 0x1d4>, 227 + <MX8MN_IOMUXC_SD2_DATA0_USDHC2_DATA0 0x1d4>, 228 + <MX8MN_IOMUXC_SD2_DATA1_USDHC2_DATA1 0x1d4>, 229 + <MX8MN_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4>, 230 + <MX8MN_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4>, 231 + <MX8MN_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x84>; 232 + }; 233 + 234 + pinctrl_usdhc2_gpio: usdhc2-gpiogrp { 235 + fsl,pins = <MX8MN_IOMUXC_SD2_CD_B_GPIO2_IO12 0x84>; 236 + }; 237 + };
+322
arch/arm64/boot/dts/freescale/imx8mn-tqma8mqnl.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 2 + /* 3 + * Copyright 2020-2021 TQ-Systems GmbH 4 + */ 5 + 6 + #include "imx8mn.dtsi" 7 + 8 + / { 9 + model = "TQ-Systems i.MX8MN TQMa8MxNL"; 10 + compatible = "tq,imx8mn-tqma8mqnl", "fsl,imx8mn"; 11 + 12 + memory@40000000 { 13 + device_type = "memory"; 14 + /* our minimum RAM config will be 1024 MiB */ 15 + reg = <0x00000000 0x40000000 0 0x40000000>; 16 + }; 17 + 18 + /* e-MMC IO, needed for HS modes */ 19 + reg_vcc1v8: regulator-vcc1v8 { 20 + compatible = "regulator-fixed"; 21 + regulator-name = "TQMA8MXNL_VCC1V8"; 22 + regulator-min-microvolt = <1800000>; 23 + regulator-max-microvolt = <1800000>; 24 + }; 25 + 26 + reg_vcc3v3: regulator-vcc3v3 { 27 + compatible = "regulator-fixed"; 28 + regulator-name = "TQMA8MXNL_VCC3V3"; 29 + regulator-min-microvolt = <3300000>; 30 + regulator-max-microvolt = <3300000>; 31 + }; 32 + 33 + reserved-memory { 34 + #address-cells = <2>; 35 + #size-cells = <2>; 36 + ranges; 37 + 38 + /* global autoconfigured region for contiguous allocations */ 39 + linux,cma { 40 + compatible = "shared-dma-pool"; 41 + reusable; 42 + /* 640 MiB */ 43 + size = <0 0x28000000>; 44 + /* 1024 - 128 MiB, our minimum RAM config will be 1024 MiB */ 45 + alloc-ranges = <0 0x40000000 0 0x78000000>; 46 + linux,cma-default; 47 + }; 48 + }; 49 + }; 50 + 51 + &A53_0 { 52 + cpu-supply = <&buck2_reg>; 53 + }; 54 + 55 + &flexspi { 56 + pinctrl-names = "default"; 57 + pinctrl-0 = <&pinctrl_flexspi>; 58 + status = "okay"; 59 + 60 + flash0: flash@0 { 61 + compatible = "jedec,spi-nor"; 62 + reg = <0>; 63 + #address-cells = <1>; 64 + #size-cells = <1>; 65 + spi-max-frequency = <84000000>; 66 + spi-tx-bus-width = <1>; 67 + spi-rx-bus-width = <4>; 68 + }; 69 + }; 70 + 71 + &i2c1 { 72 + clock-frequency = <100000>; 73 + pinctrl-names = "default", "gpio"; 74 + pinctrl-0 = <&pinctrl_i2c1>; 75 + pinctrl-1 = <&pinctrl_i2c1_gpio>; 76 + scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 77 + sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 78 + status = "okay"; 79 + 80 + sensor0: temperature-sensor-eeprom@1b { 81 + compatible = "nxp,se97", "jedec,jc-42.4-temp"; 82 + reg = <0x1b>; 83 + }; 84 + 85 + pca9450: pmic@25 { 86 + compatible = "nxp,pca9450a"; 87 + reg = <0x25>; 88 + 89 + /* PMIC PCA9450 PMIC_nINT GPIO1_IO08 */ 90 + pinctrl-0 = <&pinctrl_pmic>; 91 + pinctrl-names = "default"; 92 + interrupt-parent = <&gpio1>; 93 + interrupts = <8 IRQ_TYPE_LEVEL_LOW>; 94 + 95 + regulators { 96 + /* V_0V85_SOC: 0.85 .. 0.95 */ 97 + buck1_reg: BUCK1 { 98 + regulator-name = "BUCK1"; 99 + regulator-min-microvolt = <850000>; 100 + regulator-max-microvolt = <950000>; 101 + regulator-boot-on; 102 + regulator-always-on; 103 + regulator-ramp-delay = <3125>; 104 + }; 105 + 106 + /* VDD_ARM */ 107 + buck2_reg: BUCK2 { 108 + regulator-name = "BUCK2"; 109 + regulator-min-microvolt = <850000>; 110 + regulator-max-microvolt = <1000000>; 111 + regulator-boot-on; 112 + regulator-always-on; 113 + nxp,dvs-run-voltage = <950000>; 114 + nxp,dvs-standby-voltage = <850000>; 115 + regulator-ramp-delay = <3125>; 116 + }; 117 + 118 + /* V_0V85_GPU / DRAM: shall be equal to BUCK1 for i.MX8MN */ 119 + buck3_reg: BUCK3 { 120 + regulator-name = "BUCK3"; 121 + regulator-min-microvolt = <850000>; 122 + regulator-max-microvolt = <950000>; 123 + regulator-boot-on; 124 + regulator-always-on; 125 + regulator-ramp-delay = <3125>; 126 + }; 127 + 128 + /* VCC3V3 -> VMMC, ... must not be changed */ 129 + buck4_reg: BUCK4 { 130 + regulator-name = "BUCK4"; 131 + regulator-min-microvolt = <3300000>; 132 + regulator-max-microvolt = <3300000>; 133 + regulator-boot-on; 134 + regulator-always-on; 135 + }; 136 + 137 + /* V_1V8 -> VQMMC, SPI-NOR, ... must not be changed */ 138 + buck5_reg: BUCK5 { 139 + regulator-name = "BUCK5"; 140 + regulator-min-microvolt = <1800000>; 141 + regulator-max-microvolt = <1800000>; 142 + regulator-boot-on; 143 + regulator-always-on; 144 + }; 145 + 146 + /* V_1V1 -> RAM, ... must not be changed */ 147 + buck6_reg: BUCK6 { 148 + regulator-name = "BUCK6"; 149 + regulator-min-microvolt = <1100000>; 150 + regulator-max-microvolt = <1100000>; 151 + regulator-boot-on; 152 + regulator-always-on; 153 + }; 154 + 155 + /* V_1V8_SNVS */ 156 + ldo1_reg: LDO1 { 157 + regulator-name = "LDO1"; 158 + regulator-min-microvolt = <1800000>; 159 + regulator-max-microvolt = <1800000>; 160 + regulator-boot-on; 161 + regulator-always-on; 162 + }; 163 + 164 + /* V_0V8_SNVS */ 165 + ldo2_reg: LDO2 { 166 + regulator-name = "LDO2"; 167 + regulator-min-microvolt = <800000>; 168 + regulator-max-microvolt = <850000>; 169 + regulator-boot-on; 170 + regulator-always-on; 171 + }; 172 + 173 + /* V_1V8_ANA */ 174 + ldo3_reg: LDO3 { 175 + regulator-name = "LDO3"; 176 + regulator-min-microvolt = <1800000>; 177 + regulator-max-microvolt = <1800000>; 178 + regulator-boot-on; 179 + regulator-always-on; 180 + }; 181 + 182 + /* V_0V9_MIPI */ 183 + ldo4_reg: LDO4 { 184 + regulator-name = "LDO4"; 185 + regulator-min-microvolt = <900000>; 186 + regulator-max-microvolt = <900000>; 187 + regulator-boot-on; 188 + regulator-always-on; 189 + }; 190 + 191 + /* VCC SD IO - switched using SD2 VSELECT */ 192 + ldo5_reg: LDO5 { 193 + regulator-name = "LDO5"; 194 + regulator-min-microvolt = <1800000>; 195 + regulator-max-microvolt = <3300000>; 196 + }; 197 + }; 198 + }; 199 + 200 + pcf85063: rtc@51 { 201 + compatible = "nxp,pcf85063a"; 202 + reg = <0x51>; 203 + quartz-load-femtofarads = <7000>; 204 + }; 205 + 206 + eeprom1: eeprom@53 { 207 + compatible = "nxp,se97b", "atmel,24c02"; 208 + read-only; 209 + reg = <0x53>; 210 + pagesize = <16>; 211 + }; 212 + 213 + eeprom0: eeprom@57 { 214 + compatible = "atmel,24c64"; 215 + reg = <0x57>; 216 + pagesize = <32>; 217 + }; 218 + }; 219 + 220 + &usdhc3 { 221 + pinctrl-names = "default", "state_100mhz", "state_200mhz"; 222 + pinctrl-0 = <&pinctrl_usdhc3>; 223 + pinctrl-1 = <&pinctrl_usdhc3_100mhz>; 224 + pinctrl-2 = <&pinctrl_usdhc3_200mhz>; 225 + bus-width = <8>; 226 + non-removable; 227 + no-sd; 228 + no-sdio; 229 + vmmc-supply = <&reg_vcc3v3>; 230 + vqmmc-supply = <&reg_vcc1v8>; 231 + status = "okay"; 232 + }; 233 + 234 + /* 235 + * Attention: 236 + * wdog reset is routed to PMIC, PMIC must be preconfigured to force POR 237 + * without LDO for SNVS. GPIO1_IO02 must not be used as GPIO. 238 + */ 239 + &wdog1 { 240 + pinctrl-names = "default"; 241 + pinctrl-0 = <&pinctrl_wdog>; 242 + fsl,ext-reset-output; 243 + status = "okay"; 244 + }; 245 + 246 + &iomuxc { 247 + pinctrl_flexspi: flexspigrp { 248 + fsl,pins = <MX8MN_IOMUXC_NAND_ALE_QSPI_A_SCLK 0x84>, 249 + <MX8MN_IOMUXC_NAND_CE0_B_QSPI_A_SS0_B 0x84>, 250 + <MX8MN_IOMUXC_NAND_DATA00_QSPI_A_DATA0 0x84>, 251 + <MX8MN_IOMUXC_NAND_DATA01_QSPI_A_DATA1 0x84>, 252 + <MX8MN_IOMUXC_NAND_DATA02_QSPI_A_DATA2 0x84>, 253 + <MX8MN_IOMUXC_NAND_DATA03_QSPI_A_DATA3 0x84>; 254 + }; 255 + 256 + pinctrl_i2c1: i2c1grp { 257 + fsl,pins = <MX8MN_IOMUXC_I2C1_SCL_I2C1_SCL 0x400001c4>, 258 + <MX8MN_IOMUXC_I2C1_SDA_I2C1_SDA 0x400001c4>; 259 + }; 260 + 261 + pinctrl_i2c1_gpio: i2c1gpiogrp { 262 + fsl,pins = <MX8MN_IOMUXC_I2C1_SCL_GPIO5_IO14 0x400001c4>, 263 + <MX8MN_IOMUXC_I2C1_SDA_GPIO5_IO15 0x400001c4>; 264 + }; 265 + 266 + pinctrl_pmic: pmicgrp { 267 + fsl,pins = <MX8MN_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x84>; 268 + }; 269 + 270 + pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp { 271 + fsl,pins = <MX8MN_IOMUXC_SD2_RESET_B_GPIO2_IO19 0x84>; 272 + }; 273 + 274 + pinctrl_usdhc3: usdhc3grp { 275 + fsl,pins = <MX8MN_IOMUXC_NAND_WE_B_USDHC3_CLK 0x1d4>, 276 + <MX8MN_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d2>, 277 + <MX8MN_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d4>, 278 + <MX8MN_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d4>, 279 + <MX8MN_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d4>, 280 + <MX8MN_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d4>, 281 + <MX8MN_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d4>, 282 + <MX8MN_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d4>, 283 + <MX8MN_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d4>, 284 + <MX8MN_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d4>, 285 + <MX8MN_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x84>, 286 + <MX8MN_IOMUXC_NAND_READY_B_USDHC3_RESET_B 0x84>; 287 + }; 288 + 289 + pinctrl_usdhc3_100mhz: usdhc3-100mhzgrp { 290 + fsl,pins = <MX8MN_IOMUXC_NAND_WE_B_USDHC3_CLK 0x1d2>, 291 + <MX8MN_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d2>, 292 + <MX8MN_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d4>, 293 + <MX8MN_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d4>, 294 + <MX8MN_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d4>, 295 + <MX8MN_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d4>, 296 + <MX8MN_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d4>, 297 + <MX8MN_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d4>, 298 + <MX8MN_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d4>, 299 + <MX8MN_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d4>, 300 + <MX8MN_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x84>, 301 + <MX8MN_IOMUXC_NAND_READY_B_USDHC3_RESET_B 0x84>; 302 + }; 303 + 304 + pinctrl_usdhc3_200mhz: usdhc3-200mhzgrp { 305 + fsl,pins = <MX8MN_IOMUXC_NAND_WE_B_USDHC3_CLK 0x1d6>, 306 + <MX8MN_IOMUXC_NAND_WP_B_USDHC3_CMD 0x1d2>, 307 + <MX8MN_IOMUXC_NAND_DATA04_USDHC3_DATA0 0x1d4>, 308 + <MX8MN_IOMUXC_NAND_DATA05_USDHC3_DATA1 0x1d4>, 309 + <MX8MN_IOMUXC_NAND_DATA06_USDHC3_DATA2 0x1d4>, 310 + <MX8MN_IOMUXC_NAND_DATA07_USDHC3_DATA3 0x1d4>, 311 + <MX8MN_IOMUXC_NAND_RE_B_USDHC3_DATA4 0x1d4>, 312 + <MX8MN_IOMUXC_NAND_CE2_B_USDHC3_DATA5 0x1d4>, 313 + <MX8MN_IOMUXC_NAND_CE3_B_USDHC3_DATA6 0x1d4>, 314 + <MX8MN_IOMUXC_NAND_CLE_USDHC3_DATA7 0x1d4>, 315 + <MX8MN_IOMUXC_NAND_CE1_B_USDHC3_STROBE 0x84>, 316 + <MX8MN_IOMUXC_NAND_READY_B_USDHC3_RESET_B 0x84>; 317 + }; 318 + 319 + pinctrl_wdog: wdoggrp { 320 + fsl,pins = <MX8MN_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0x84>; 321 + }; 322 + };
+28 -1
arch/arm64/boot/dts/freescale/imx8mn.dtsi
··· 63 63 clock-latency = <61036>; 64 64 clocks = <&clk IMX8MN_CLK_ARM>; 65 65 enable-method = "psci"; 66 + i-cache-size = <0x8000>; 67 + i-cache-line-size = <64>; 68 + i-cache-sets = <256>; 69 + d-cache-size = <0x8000>; 70 + d-cache-line-size = <64>; 71 + d-cache-sets = <128>; 66 72 next-level-cache = <&A53_L2>; 67 73 operating-points-v2 = <&a53_opp_table>; 68 74 nvmem-cells = <&cpu_speed_grade>; ··· 84 78 clock-latency = <61036>; 85 79 clocks = <&clk IMX8MN_CLK_ARM>; 86 80 enable-method = "psci"; 81 + i-cache-size = <0x8000>; 82 + i-cache-line-size = <64>; 83 + i-cache-sets = <256>; 84 + d-cache-size = <0x8000>; 85 + d-cache-line-size = <64>; 86 + d-cache-sets = <128>; 87 87 next-level-cache = <&A53_L2>; 88 88 operating-points-v2 = <&a53_opp_table>; 89 89 cpu-idle-states = <&cpu_pd_wait>; ··· 103 91 clock-latency = <61036>; 104 92 clocks = <&clk IMX8MN_CLK_ARM>; 105 93 enable-method = "psci"; 94 + i-cache-size = <0x8000>; 95 + i-cache-line-size = <64>; 96 + i-cache-sets = <256>; 97 + d-cache-size = <0x8000>; 98 + d-cache-line-size = <64>; 99 + d-cache-sets = <128>; 106 100 next-level-cache = <&A53_L2>; 107 101 operating-points-v2 = <&a53_opp_table>; 108 102 cpu-idle-states = <&cpu_pd_wait>; ··· 122 104 clock-latency = <61036>; 123 105 clocks = <&clk IMX8MN_CLK_ARM>; 124 106 enable-method = "psci"; 107 + i-cache-size = <0x8000>; 108 + i-cache-line-size = <64>; 109 + i-cache-sets = <256>; 110 + d-cache-size = <0x8000>; 111 + d-cache-line-size = <64>; 112 + d-cache-sets = <128>; 125 113 next-level-cache = <&A53_L2>; 126 114 operating-points-v2 = <&a53_opp_table>; 127 115 cpu-idle-states = <&cpu_pd_wait>; ··· 136 112 137 113 A53_L2: l2-cache0 { 138 114 compatible = "cache"; 115 + cache-level = <2>; 116 + cache-size = <0x80000>; 117 + cache-line-size = <64>; 118 + cache-sets = <512>; 139 119 }; 140 120 }; 141 121 ··· 976 948 fsl,num-rx-queues = <3>; 977 949 nvmem-cells = <&fec_mac_address>; 978 950 nvmem-cell-names = "mac-address"; 979 - nvmem_macaddr_swap; 980 951 fsl,stop-mode = <&gpr 0x10 3>; 981 952 status = "disabled"; 982 953 };
+73
arch/arm64/boot/dts/freescale/imx8mp-evk.dts
··· 86 86 pinctrl-0 = <&pinctrl_eqos>; 87 87 phy-mode = "rgmii-id"; 88 88 phy-handle = <&ethphy0>; 89 + snps,force_thresh_dma_mode; 90 + snps,mtl-tx-config = <&mtl_tx_setup>; 91 + snps,mtl-rx-config = <&mtl_rx_setup>; 89 92 status = "okay"; 90 93 91 94 mdio { ··· 100 97 compatible = "ethernet-phy-ieee802.3-c22"; 101 98 reg = <1>; 102 99 eee-broken-1000t; 100 + reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; 101 + reset-assert-us = <10000>; 102 + reset-deassert-us = <80000>; 103 + realtek,clkout-disable; 104 + }; 105 + }; 106 + 107 + mtl_tx_setup: tx-queues-config { 108 + snps,tx-queues-to-use = <5>; 109 + snps,tx-sched-sp; 110 + 111 + queue0 { 112 + snps,dcb-algorithm; 113 + snps,priority = <0x1>; 114 + }; 115 + 116 + queue1 { 117 + snps,dcb-algorithm; 118 + snps,priority = <0x2>; 119 + }; 120 + 121 + queue2 { 122 + snps,dcb-algorithm; 123 + snps,priority = <0x4>; 124 + }; 125 + 126 + queue3 { 127 + snps,dcb-algorithm; 128 + snps,priority = <0x8>; 129 + }; 130 + 131 + queue4 { 132 + snps,dcb-algorithm; 133 + snps,priority = <0xf0>; 134 + }; 135 + }; 136 + 137 + mtl_rx_setup: rx-queues-config { 138 + snps,rx-queues-to-use = <5>; 139 + snps,rx-sched-sp; 140 + 141 + queue0 { 142 + snps,dcb-algorithm; 143 + snps,priority = <0x1>; 144 + snps,map-to-dma-channel = <0>; 145 + }; 146 + 147 + queue1 { 148 + snps,dcb-algorithm; 149 + snps,priority = <0x2>; 150 + snps,map-to-dma-channel = <1>; 151 + }; 152 + 153 + queue2 { 154 + snps,dcb-algorithm; 155 + snps,priority = <0x4>; 156 + snps,map-to-dma-channel = <2>; 157 + }; 158 + 159 + queue3 { 160 + snps,dcb-algorithm; 161 + snps,priority = <0x8>; 162 + snps,map-to-dma-channel = <3>; 163 + }; 164 + 165 + queue4 { 166 + snps,dcb-algorithm; 167 + snps,priority = <0xf0>; 168 + snps,map-to-dma-channel = <4>; 103 169 }; 104 170 }; 105 171 }; ··· 192 120 reset-gpios = <&gpio4 2 GPIO_ACTIVE_LOW>; 193 121 reset-assert-us = <10000>; 194 122 reset-deassert-us = <80000>; 123 + realtek,clkout-disable; 195 124 }; 196 125 }; 197 126 };
+34 -1
arch/arm64/boot/dts/freescale/imx8mp.dtsi
··· 51 51 clock-latency = <61036>; 52 52 clocks = <&clk IMX8MP_CLK_ARM>; 53 53 enable-method = "psci"; 54 + i-cache-size = <0x8000>; 55 + i-cache-line-size = <64>; 56 + i-cache-sets = <256>; 57 + d-cache-size = <0x8000>; 58 + d-cache-line-size = <64>; 59 + d-cache-sets = <128>; 54 60 next-level-cache = <&A53_L2>; 55 61 #cooling-cells = <2>; 56 62 }; ··· 68 62 clock-latency = <61036>; 69 63 clocks = <&clk IMX8MP_CLK_ARM>; 70 64 enable-method = "psci"; 65 + i-cache-size = <0x8000>; 66 + i-cache-line-size = <64>; 67 + i-cache-sets = <256>; 68 + d-cache-size = <0x8000>; 69 + d-cache-line-size = <64>; 70 + d-cache-sets = <128>; 71 71 next-level-cache = <&A53_L2>; 72 72 #cooling-cells = <2>; 73 73 }; ··· 85 73 clock-latency = <61036>; 86 74 clocks = <&clk IMX8MP_CLK_ARM>; 87 75 enable-method = "psci"; 76 + i-cache-size = <0x8000>; 77 + i-cache-line-size = <64>; 78 + i-cache-sets = <256>; 79 + d-cache-size = <0x8000>; 80 + d-cache-line-size = <64>; 81 + d-cache-sets = <128>; 88 82 next-level-cache = <&A53_L2>; 89 83 #cooling-cells = <2>; 90 84 }; ··· 102 84 clock-latency = <61036>; 103 85 clocks = <&clk IMX8MP_CLK_ARM>; 104 86 enable-method = "psci"; 87 + i-cache-size = <0x8000>; 88 + i-cache-line-size = <64>; 89 + i-cache-sets = <256>; 90 + d-cache-size = <0x8000>; 91 + d-cache-line-size = <64>; 92 + d-cache-sets = <128>; 105 93 next-level-cache = <&A53_L2>; 106 94 #cooling-cells = <2>; 107 95 }; 108 96 109 97 A53_L2: l2-cache0 { 110 98 compatible = "cache"; 99 + cache-level = <2>; 100 + cache-size = <0x80000>; 101 + cache-line-size = <64>; 102 + cache-sets = <512>; 111 103 }; 112 104 }; 113 105 ··· 396 368 397 369 eth_mac1: mac-address@90 { 398 370 reg = <0x90 6>; 371 + }; 372 + 373 + eth_mac2: mac-address@96 { 374 + reg = <0x96 6>; 399 375 }; 400 376 }; 401 377 ··· 864 832 nvmem-cells = <&eth_mac1>; 865 833 nvmem-cell-names = "mac-address"; 866 834 fsl,stop-mode = <&gpr 0x10 3>; 867 - nvmem_macaddr_swap; 868 835 status = "disabled"; 869 836 }; 870 837 ··· 885 854 <&clk IMX8MP_SYS_PLL2_100M>, 886 855 <&clk IMX8MP_SYS_PLL2_125M>; 887 856 assigned-clock-rates = <0>, <100000000>, <125000000>; 857 + nvmem-cells = <&eth_mac2>; 858 + nvmem-cell-names = "mac-address"; 888 859 intf_mode = <&gpr 0x4>; 889 860 status = "disabled"; 890 861 };
+9
arch/arm64/boot/dts/freescale/imx8mq-evk.dts
··· 169 169 reg = <0>; 170 170 reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>; 171 171 reset-assert-us = <10000>; 172 + qca,disable-smarteee; 173 + vddio-supply = <&vddh>; 174 + 175 + vddh: vddh-regulator { 176 + }; 172 177 }; 173 178 }; 174 179 }; ··· 329 324 330 325 &pgc_gpu { 331 326 power-supply = <&sw1a_reg>; 327 + }; 328 + 329 + &pgc_vpu { 330 + power-supply = <&sw1c_reg>; 332 331 }; 333 332 334 333 &qspi0 {
+2 -23
arch/arm64/boot/dts/freescale/imx8mq-librem5-r3.dts
··· 1 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 - // Copyright (C) 2020 Purism SPC <kernel@puri.sm> 2 + // Copyright (C) 2021 Purism SPC <kernel@puri.sm> 3 3 4 4 /dts-v1/; 5 5 6 - #include "imx8mq-librem5.dtsi" 7 - 8 - / { 9 - model = "Purism Librem 5r3"; 10 - compatible = "purism,librem5r3", "purism,librem5", "fsl,imx8mq"; 11 - }; 6 + #include "imx8mq-librem5-r3.dtsi" 12 7 13 8 &a53_opp_table { 14 9 opp-1000000000 { ··· 11 16 }; 12 17 }; 13 18 14 - &accel_gyro { 15 - mount-matrix = "1", "0", "0", 16 - "0", "1", "0", 17 - "0", "0", "-1"; 18 - }; 19 - 20 - &bq25895 { 21 - ti,battery-regulation-voltage = <4200000>; /* uV */ 22 - ti,charge-current = <1500000>; /* uA */ 23 - ti,termination-current = <144000>; /* uA */ 24 - }; 25 - 26 19 &buck3_reg { 27 20 regulator-always-on; 28 - }; 29 - 30 - &proximity { 31 - proximity-near-level = <25>; 32 21 };
+45
arch/arm64/boot/dts/freescale/imx8mq-librem5-r3.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + // Copyright (C) 2021 Purism SPC <kernel@puri.sm> 3 + 4 + /dts-v1/; 5 + 6 + /* 7 + * This file describes hardware that is shared among r3 ("Dogwood") and 8 + * later revisions of the Librem 5 so it has to be included in dts there. 9 + */ 10 + 11 + #include "imx8mq-librem5.dtsi" 12 + 13 + / { 14 + model = "Purism Librem 5r3"; 15 + compatible = "purism,librem5r3", "purism,librem5", "fsl,imx8mq"; 16 + }; 17 + 18 + &accel_gyro { 19 + mount-matrix = "1", "0", "0", 20 + "0", "1", "0", 21 + "0", "0", "-1"; 22 + }; 23 + 24 + &bq25895 { 25 + ti,battery-regulation-voltage = <4200000>; /* uV */ 26 + ti,charge-current = <1500000>; /* uA */ 27 + ti,termination-current = <144000>; /* uA */ 28 + }; 29 + 30 + &camera_front { 31 + pinctrl-0 = <&pinctrl_csi1>, <&pinctrl_r3_camera_pwr>; 32 + shutdown-gpios = <&gpio5 4 GPIO_ACTIVE_LOW>; 33 + }; 34 + 35 + &iomuxc { 36 + pinctrl_r3_camera_pwr: r3camerapwrgrp { 37 + fsl,pins = < 38 + MX8MQ_IOMUXC_SPDIF_RX_GPIO5_IO4 0x83 39 + >; 40 + }; 41 + }; 42 + 43 + &proximity { 44 + proximity-near-level = <25>; 45 + };
+2 -14
arch/arm64/boot/dts/freescale/imx8mq-librem5-r4.dts
··· 1 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 - // Copyright (C) 2020 Purism SPC <kernel@puri.sm> 2 + // Copyright (C) 2021 Purism SPC <kernel@puri.sm> 3 3 4 4 /dts-v1/; 5 5 6 - #include "imx8mq-librem5.dtsi" 6 + #include "imx8mq-librem5-r3.dtsi" 7 7 8 8 / { 9 9 model = "Purism Librem 5r4"; 10 10 compatible = "purism,librem5r4", "purism,librem5", "fsl,imx8mq"; 11 11 }; 12 12 13 - &accel_gyro { 14 - mount-matrix = "1", "0", "0", 15 - "0", "1", "0", 16 - "0", "0", "-1"; 17 - }; 18 - 19 13 &bat { 20 14 maxim,rsns-microohm = <1667>; 21 - }; 22 - 23 - &bq25895 { 24 - ti,battery-regulation-voltage = <4200000>; /* uV */ 25 - ti,charge-current = <1500000>; /* uA */ 26 - ti,termination-current = <144000>; /* uA */ 27 15 }; 28 16 29 17 &led_backlight {
+96 -1
arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
··· 14 14 / { 15 15 model = "Purism Librem 5"; 16 16 compatible = "purism,librem5", "fsl,imx8mq"; 17 + chassis-type = "handset"; 17 18 18 19 backlight_dsi: backlight-dsi { 19 20 compatible = "led-backlight"; ··· 60 59 regulator-min-microvolt = <1800000>; 61 60 regulator-max-microvolt = <1800000>; 62 61 gpio = <&gpio1 4 GPIO_ACTIVE_HIGH>; 62 + enable-active-high; 63 + }; 64 + 65 + /* 66 + * the pinctrl for reg_csi_1v8 and reg_vcam_1v8 is added to the PMIC 67 + * since we can't have it twice in the 2 different regulator nodes. 68 + */ 69 + reg_csi_1v8: regulator-csi-1v8 { 70 + compatible = "regulator-fixed"; 71 + regulator-name = "CAMERA_VDDIO_1V8"; 72 + regulator-min-microvolt = <1800000>; 73 + regulator-max-microvolt = <1800000>; 74 + vin-supply = <&reg_vdd_3v3>; 75 + gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; 76 + enable-active-high; 77 + }; 78 + 79 + /* controlled by the CAMERA_POWER_KEY HKS */ 80 + reg_vcam_1v2: regulator-vcam-1v2 { 81 + compatible = "regulator-fixed"; 82 + regulator-name = "CAMERA_VDDD_1V2"; 83 + regulator-min-microvolt = <1200000>; 84 + regulator-max-microvolt = <1200000>; 85 + vin-supply = <&reg_vdd_1v8>; 86 + enable-active-high; 87 + }; 88 + 89 + reg_vcam_2v8: regulator-vcam-2v8 { 90 + compatible = "regulator-fixed"; 91 + regulator-name = "CAMERA_VDDA_2V8"; 92 + regulator-min-microvolt = <2800000>; 93 + regulator-max-microvolt = <2800000>; 94 + vin-supply = <&reg_vdd_3v3>; 95 + gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; 63 96 enable-active-high; 64 97 }; 65 98 ··· 272 237 cpu-supply = <&buck2_reg>; 273 238 }; 274 239 240 + &csi1 { 241 + status = "okay"; 242 + }; 243 + 275 244 &ddrc { 276 245 operating-points-v2 = <&ddrc_opp_table>; 277 246 ··· 365 326 fsl,pins = < 366 327 /* BT_REG_ON */ 367 328 MX8MQ_IOMUXC_SAI5_MCLK_GPIO3_IO25 0x83 329 + >; 330 + }; 331 + 332 + pinctrl_camera_pwr: camerapwrgrp { 333 + fsl,pins = < 334 + /* CAMERA_PWR_EN_3V3 */ 335 + MX8MQ_IOMUXC_GPIO1_IO00_GPIO1_IO0 0x83 336 + >; 337 + }; 338 + 339 + pinctrl_csi1: csi1grp { 340 + fsl,pins = < 341 + /* CSI1_NRST */ 342 + MX8MQ_IOMUXC_ENET_RXC_GPIO1_IO25 0x83 368 343 >; 369 344 }; 370 345 ··· 778 725 compatible = "rohm,bd71837"; 779 726 reg = <0x4b>; 780 727 pinctrl-names = "default"; 781 - pinctrl-0 = <&pinctrl_pmic>; 728 + pinctrl-0 = <&pinctrl_pmic>, <&pinctrl_camera_pwr>; 782 729 clocks = <&pmic_osc>; 783 730 clock-names = "osc"; 784 731 clock-output-names = "pmic_clk"; ··· 1011 958 >; 1012 959 }; 1013 960 961 + camera_front: camera@20 { 962 + compatible = "hynix,hi846"; 963 + reg = <0x20>; 964 + pinctrl-names = "default"; 965 + pinctrl-0 = <&pinctrl_csi1>; 966 + clocks = <&clk IMX8MQ_CLK_CLKO2>; 967 + assigned-clocks = <&clk IMX8MQ_CLK_CLKO2>; 968 + assigned-clock-rates = <25000000>; 969 + reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; 970 + vdda-supply = <&reg_vcam_2v8>; 971 + vddd-supply = <&reg_vcam_1v2>; 972 + vddio-supply = <&reg_csi_1v8>; 973 + rotation = <90>; 974 + orientation = <0>; 975 + 976 + port { 977 + camera1_ep: endpoint { 978 + data-lanes = <1 2>; 979 + link-frequencies = /bits/ 64 980 + <80000000 200000000 300000000>; 981 + remote-endpoint = <&mipi1_sensor_ep>; 982 + }; 983 + }; 984 + }; 985 + 1014 986 backlight@36 { 1015 987 compatible = "ti,lm36922"; 1016 988 reg = <0x36>; ··· 1107 1029 1108 1030 &lcdif { 1109 1031 status = "okay"; 1032 + }; 1033 + 1034 + &mipi_csi1 { 1035 + #address-cells = <1>; 1036 + #size-cells = <0>; 1037 + status = "okay"; 1038 + 1039 + ports { 1040 + port@1 { 1041 + reg = <1>; 1042 + 1043 + mipi1_sensor_ep: endpoint { 1044 + remote-endpoint = <&camera1_ep>; 1045 + data-lanes = <1 2>; 1046 + }; 1047 + }; 1048 + }; 1110 1049 }; 1111 1050 1112 1051 &mipi_dsi {
+1
arch/arm64/boot/dts/freescale/imx8mq-mnt-reform2.dts
··· 12 12 / { 13 13 model = "MNT Reform 2"; 14 14 compatible = "mntre,reform2", "boundary,imx8mq-nitrogen8m-som", "fsl,imx8mq"; 15 + chassis-type = "laptop"; 15 16 16 17 pcie1_refclk: clock-pcie1-refclk { 17 18 compatible = "fixed-clock";
+9 -6
arch/arm64/boot/dts/freescale/imx8mq-nitrogen-som.dtsi
··· 69 69 reg = <4>; 70 70 interrupt-parent = <&gpio1>; 71 71 interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 72 + reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>; 73 + reset-assert-us = <10000>; 74 + reset-deassert-us = <300>; 72 75 }; 73 76 }; 74 77 }; ··· 194 191 MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f 195 192 MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f 196 193 MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91 197 - MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91 194 + MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0xd1 198 195 MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91 199 196 MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91 200 197 MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91 201 - MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91 202 - MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19 203 - MX8MQ_IOMUXC_GPIO1_IO11_GPIO1_IO11 0x59 198 + MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0xd1 199 + MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x1 200 + MX8MQ_IOMUXC_GPIO1_IO11_GPIO1_IO11 0x41 204 201 >; 205 202 }; 206 203 207 204 pinctrl_i2c1: i2c1grp { 208 205 fsl,pins = < 209 - MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL 0x4000007f 210 - MX8MQ_IOMUXC_I2C1_SDA_I2C1_SDA 0x4000007f 206 + MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL 0x40000022 207 + MX8MQ_IOMUXC_I2C1_SDA_I2C1_SDA 0x40000022 211 208 >; 212 209 }; 213 210
+349
arch/arm64/boot/dts/freescale/imx8mq-tqma8mq-mba8mx.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 2 + /* 3 + * Copyright 2019-2021 TQ-Systems GmbH 4 + */ 5 + 6 + /dts-v1/; 7 + 8 + #include "imx8mq-tqma8mq.dtsi" 9 + #include "mba8mx.dtsi" 10 + 11 + / { 12 + model = "TQ-Systems GmbH i.MX8MQ TQMa8MQ on MBa8Mx"; 13 + compatible = "tq,imx8mq-tqma8mq-mba8mx", "tq,imx8mq-tqma8mq", "fsl,imx8mq"; 14 + 15 + aliases { 16 + eeprom0 = &eeprom3; 17 + mmc0 = &usdhc1; 18 + mmc1 = &usdhc2; 19 + rtc0 = &pcf85063; 20 + rtc1 = &snvs_rtc; 21 + }; 22 + 23 + extcon_usbotg: extcon-usbotg0 { 24 + compatible = "linux,extcon-usb-gpio"; 25 + pinctrl-names = "default"; 26 + pinctrl-0 = <&pinctrl_usbcon0>; 27 + id-gpio = <&gpio1 10 GPIO_ACTIVE_HIGH>; 28 + }; 29 + 30 + pcie0_refclk: pcie0-refclk { 31 + compatible = "fixed-clock"; 32 + #clock-cells = <0>; 33 + clock-frequency = <100000000>; 34 + }; 35 + 36 + pcie1_refclk: pcie1-refclk { 37 + compatible = "fixed-clock"; 38 + #clock-cells = <0>; 39 + clock-frequency = <100000000>; 40 + }; 41 + 42 + reg_otg_vbus: regulator-otg-vbus { 43 + compatible = "regulator-fixed"; 44 + pinctrl-names = "default"; 45 + pinctrl-0 = <&pinctrl_regotgvbus>; 46 + regulator-name = "MBA8MQ_OTG_VBUS"; 47 + regulator-min-microvolt = <5000000>; 48 + regulator-max-microvolt = <5000000>; 49 + gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>; 50 + enable-active-high; 51 + }; 52 + 53 + reg_usdhc2_vmmc: regulator-vmmc { 54 + compatible = "regulator-fixed"; 55 + regulator-name = "VSD_3V3"; 56 + regulator-min-microvolt = <3300000>; 57 + regulator-max-microvolt = <3300000>; 58 + gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 59 + enable-active-high; 60 + }; 61 + }; 62 + 63 + &btn2 { 64 + gpios = <&gpio3 17 GPIO_ACTIVE_LOW>; 65 + }; 66 + 67 + &gpio_leds { 68 + led3 { 69 + label = "led3"; 70 + gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; 71 + }; 72 + }; 73 + 74 + &i2c1 { 75 + expander2: gpio@25 { 76 + compatible = "nxp,pca9555"; 77 + reg = <0x25>; 78 + gpio-controller; 79 + #gpio-cells = <2>; 80 + vcc-supply = <&reg_vcc_3v3>; 81 + pinctrl-names = "default"; 82 + pinctrl-0 = <&pinctrl_expander>; 83 + interrupt-parent = <&gpio1>; 84 + interrupts = <9 IRQ_TYPE_EDGE_FALLING>; 85 + interrupt-controller; 86 + #interrupt-cells = <2>; 87 + 88 + mpcie-rst-hog { 89 + gpio-hog; 90 + gpios = <13 0>; 91 + output-high; 92 + line-name = "MPCIE_RST#"; 93 + }; 94 + }; 95 + }; 96 + 97 + &irqsteer { 98 + status = "okay"; 99 + }; 100 + 101 + &led2 { 102 + gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>; 103 + }; 104 + 105 + &pcie0 { 106 + reset-gpio = <&expander0 14 GPIO_ACTIVE_LOW>; 107 + clocks = <&clk IMX8MQ_CLK_PCIE1_ROOT>, 108 + <&clk IMX8MQ_CLK_PCIE1_AUX>, 109 + <&clk IMX8MQ_CLK_PCIE1_PHY>, 110 + <&pcie0_refclk>; 111 + clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus"; 112 + epdev_on-supply = <&reg_vcc_3v3>; 113 + hard-wired = <1>; 114 + status = "okay"; 115 + }; 116 + 117 + /* 118 + * miniPCIe, also usable for cards with USB. Therefore configure the reset as 119 + * static gpio hog. 120 + */ 121 + &pcie1 { 122 + clocks = <&clk IMX8MQ_CLK_PCIE2_ROOT>, 123 + <&clk IMX8MQ_CLK_PCIE2_AUX>, 124 + <&clk IMX8MQ_CLK_PCIE2_PHY>, 125 + <&pcie1_refclk>; 126 + clock-names = "pcie", "pcie_aux", "pcie_phy", "pcie_bus"; 127 + epdev_on-supply = <&reg_vcc_3v3>; 128 + hard-wired = <1>; 129 + status = "okay"; 130 + }; 131 + 132 + &sai3 { 133 + assigned-clocks = <&clk IMX8MQ_CLK_SAI3>; 134 + assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>; 135 + clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k", "pll11k"; 136 + clocks = <&clk IMX8MQ_CLK_SAI3_IPG>, <&clk IMX8MQ_CLK_DUMMY>, 137 + <&clk IMX8MQ_CLK_SAI3_ROOT>, <&clk IMX8MQ_CLK_DUMMY>, 138 + <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_AUDIO_PLL1_OUT>, 139 + <&clk IMX8MQ_AUDIO_PLL2_OUT>; 140 + }; 141 + 142 + &tlv320aic3x04 { 143 + clock-names = "mclk"; 144 + clocks = <&clk IMX8MQ_CLK_SAI3_ROOT>; 145 + }; 146 + 147 + &uart1 { 148 + assigned-clocks = <&clk IMX8MQ_CLK_UART1>; 149 + assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_80M>; 150 + }; 151 + 152 + &uart2 { 153 + assigned-clocks = <&clk IMX8MQ_CLK_UART2>; 154 + assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_80M>; 155 + }; 156 + 157 + /* console */ 158 + &uart3 { 159 + assigned-clocks = <&clk IMX8MQ_CLK_UART3>; 160 + assigned-clock-parents = <&clk IMX8MQ_CLK_25M>; 161 + }; 162 + 163 + &usb3_phy0 { 164 + vbus-supply = <&reg_otg_vbus>; 165 + status = "okay"; 166 + }; 167 + 168 + &usb_dwc3_0 { 169 + /* we implement dual role but not full featured OTG */ 170 + extcon = <&extcon_usbotg>; 171 + hnp-disable; 172 + srp-disable; 173 + adp-disable; 174 + /* OC not supported due to non matching active polarity */ 175 + disable-over-current; 176 + dr_mode = "otg"; 177 + status = "okay"; 178 + }; 179 + 180 + &usb3_phy1 { 181 + status = "okay"; 182 + }; 183 + 184 + &usb_dwc3_1 { 185 + status = "okay"; 186 + dr_mode = "host"; 187 + }; 188 + 189 + &wdog1 { 190 + pinctrl-names = "default"; 191 + pinctrl-0 = <&pinctrl_wdog>; 192 + fsl,ext-reset-output; 193 + status = "okay"; 194 + }; 195 + 196 + &iomuxc { 197 + pinctrl_ecspi1: ecspi1grp { 198 + fsl,pins = <MX8MQ_IOMUXC_ECSPI1_SCLK_ECSPI1_SCLK 0x0000004e>, 199 + <MX8MQ_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI 0x0000004e>, 200 + <MX8MQ_IOMUXC_ECSPI1_MISO_ECSPI1_MISO 0x0000004e>, 201 + <MX8MQ_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x0000004e>; 202 + }; 203 + 204 + pinctrl_ecspi2: ecspi2grp { 205 + fsl,pins = <MX8MQ_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x0000004e>, 206 + <MX8MQ_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x0000004e>, 207 + <MX8MQ_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x0000004e>, 208 + <MX8MQ_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0x0000004e>; 209 + }; 210 + 211 + pinctrl_expander: expandergrp { 212 + fsl,pins = <MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9 0xd6>; 213 + }; 214 + 215 + pinctrl_fec1: fec1grp { 216 + fsl,pins = <MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC 0x3>, 217 + <MX8MQ_IOMUXC_ENET_MDIO_ENET1_MDIO 0x23>, 218 + <MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f>, 219 + <MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f>, 220 + <MX8MQ_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f>, 221 + <MX8MQ_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f>, 222 + <MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91>, 223 + <MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91>, 224 + <MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91>, 225 + <MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91>, 226 + <MX8MQ_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f>, 227 + <MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91>, 228 + <MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91>, 229 + <MX8MQ_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f>; 230 + }; 231 + 232 + pinctrl_gpiobutton: gpiobuttongrp { 233 + fsl,pins = <MX8MQ_IOMUXC_GPIO1_IO05_GPIO1_IO5 0x41>, 234 + <MX8MQ_IOMUXC_GPIO1_IO07_GPIO1_IO7 0x41>, 235 + <MX8MQ_IOMUXC_NAND_WE_B_GPIO3_IO17 0x41>; 236 + }; 237 + 238 + pinctrl_gpioled: gpioledgrp { 239 + fsl,pins = <MX8MQ_IOMUXC_GPIO1_IO00_GPIO1_IO0 0x41>, 240 + <MX8MQ_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x41>, 241 + <MX8MQ_IOMUXC_NAND_READY_B_GPIO3_IO16 0x41>; 242 + }; 243 + 244 + pinctrl_i2c2: i2c2grp { 245 + fsl,pins = <MX8MQ_IOMUXC_I2C2_SCL_I2C2_SCL 0x40000067>, 246 + <MX8MQ_IOMUXC_I2C2_SDA_I2C2_SDA 0x40000067>; 247 + }; 248 + 249 + pinctrl_i2c2_gpio: i2c2gpiogrp { 250 + fsl,pins = <MX8MQ_IOMUXC_I2C2_SCL_GPIO5_IO16 0x40000067>, 251 + <MX8MQ_IOMUXC_I2C2_SDA_GPIO5_IO17 0x40000067>; 252 + }; 253 + 254 + pinctrl_i2c3: i2c3grp { 255 + fsl,pins = <MX8MQ_IOMUXC_I2C3_SCL_I2C3_SCL 0x40000067>, 256 + <MX8MQ_IOMUXC_I2C3_SDA_I2C3_SDA 0x40000067>; 257 + }; 258 + 259 + pinctrl_i2c3_gpio: i2c3gpiogrp { 260 + fsl,pins = <MX8MQ_IOMUXC_I2C3_SCL_GPIO5_IO18 0x40000067>, 261 + <MX8MQ_IOMUXC_I2C3_SDA_GPIO5_IO19 0x40000067>; 262 + }; 263 + 264 + pinctrl_pwm3: pwm3grp { 265 + fsl,pins = <MX8MQ_IOMUXC_GPIO1_IO14_PWM3_OUT 0x16>; 266 + }; 267 + 268 + pinctrl_pwm4: pwm4grp { 269 + fsl,pins = <MX8MQ_IOMUXC_GPIO1_IO15_PWM4_OUT 0x16>; 270 + }; 271 + 272 + pinctrl_regotgvbus: reggotgvbusgrp { 273 + /* USB1 OTG PWR as GPIO */ 274 + fsl,pins = <MX8MQ_IOMUXC_GPIO1_IO12_GPIO1_IO12 0x06>; 275 + }; 276 + 277 + pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp { 278 + fsl,pins = <MX8MQ_IOMUXC_SD2_RESET_B_GPIO2_IO19 0xc1>; 279 + }; 280 + 281 + pinctrl_sai3: sai3grp { 282 + fsl,pins = <MX8MQ_IOMUXC_SAI3_MCLK_SAI3_MCLK 0xd6>, 283 + <MX8MQ_IOMUXC_SAI3_RXC_SAI3_RX_BCLK 0xd6>, 284 + <MX8MQ_IOMUXC_SAI3_RXFS_SAI3_RX_SYNC 0xd6>, 285 + <MX8MQ_IOMUXC_SAI3_RXD_SAI3_RX_DATA0 0xd6>, 286 + <MX8MQ_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6>, 287 + <MX8MQ_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6>, 288 + <MX8MQ_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6>; 289 + }; 290 + 291 + pinctrl_uart1: uart1grp { 292 + fsl,pins = <MX8MQ_IOMUXC_UART1_RXD_UART1_DCE_RX 0x79>, 293 + <MX8MQ_IOMUXC_UART1_TXD_UART1_DCE_TX 0x79>; 294 + }; 295 + 296 + pinctrl_uart2: uart2grp { 297 + fsl,pins = <MX8MQ_IOMUXC_UART2_RXD_UART2_DCE_RX 0x79>, 298 + <MX8MQ_IOMUXC_UART2_TXD_UART2_DCE_TX 0x79>; 299 + }; 300 + 301 + pinctrl_uart3: uart3grp { 302 + fsl,pins = <MX8MQ_IOMUXC_UART3_RXD_UART3_DCE_RX 0x79>, 303 + <MX8MQ_IOMUXC_UART3_TXD_UART3_DCE_TX 0x79>; 304 + }; 305 + 306 + pinctrl_uart4: uart4grp { 307 + fsl,pins = <MX8MQ_IOMUXC_UART4_RXD_UART4_DCE_RX 0x79>, 308 + <MX8MQ_IOMUXC_UART4_TXD_UART4_DCE_TX 0x79>; 309 + }; 310 + 311 + pinctrl_usbcon0: usb0congrp { 312 + /* ID: floating / high: device, low: host -> use PU */ 313 + fsl,pins = <MX8MQ_IOMUXC_GPIO1_IO10_GPIO1_IO10 0xe6>; 314 + }; 315 + 316 + pinctrl_usdhc2: usdhc2grp { 317 + fsl,pins = <MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK 0x83>, 318 + <MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD 0xc3>, 319 + <MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0 0xc3>, 320 + <MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1 0xc3>, 321 + <MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2 0xc3>, 322 + <MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3 0xc3>, 323 + <MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0xc1>; 324 + }; 325 + 326 + pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp { 327 + fsl,pins = <MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK 0x85>, 328 + <MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD 0xc5>, 329 + <MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0 0xc5>, 330 + <MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1 0xc5>, 331 + <MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2 0xc5>, 332 + <MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3 0xc5>, 333 + <MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0xc1>; 334 + }; 335 + 336 + pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp { 337 + fsl,pins = <MX8MQ_IOMUXC_SD2_CLK_USDHC2_CLK 0x9f>, 338 + <MX8MQ_IOMUXC_SD2_CMD_USDHC2_CMD 0xc7>, 339 + <MX8MQ_IOMUXC_SD2_DATA0_USDHC2_DATA0 0xc7>, 340 + <MX8MQ_IOMUXC_SD2_DATA1_USDHC2_DATA1 0xc7>, 341 + <MX8MQ_IOMUXC_SD2_DATA2_USDHC2_DATA2 0xc7>, 342 + <MX8MQ_IOMUXC_SD2_DATA3_USDHC2_DATA3 0xc7>, 343 + <MX8MQ_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0xc1>; 344 + }; 345 + 346 + pinctrl_usdhc2_gpio: usdhc2-gpiogrp { 347 + fsl,pins = <MX8MQ_IOMUXC_SD2_CD_B_GPIO2_IO12 0x41>; 348 + }; 349 + };
+360
arch/arm64/boot/dts/freescale/imx8mq-tqma8mq.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 2 + /* 3 + * Copyright 2019-2021 TQ-Systems GmbH 4 + */ 5 + 6 + #include "imx8mq.dtsi" 7 + 8 + / { 9 + model = "TQ-Systems GmbH i.MX8MQ TQMa8MQ"; 10 + compatible = "tq,imx8mq-tqma8mq", "fsl,imx8mq"; 11 + 12 + memory@40000000 { 13 + device_type = "memory"; 14 + /* our minimum RAM config will be 1024 MiB */ 15 + reg = <0x00000000 0x40000000 0 0x40000000>; 16 + }; 17 + 18 + /* e-MMC IO, needed for HS modes */ 19 + reg_vcc1v8: regulator-vcc1v8 { 20 + compatible = "regulator-fixed"; 21 + regulator-name = "TQMA8MX_VCC1V8"; 22 + regulator-min-microvolt = <1800000>; 23 + regulator-max-microvolt = <1800000>; 24 + }; 25 + 26 + reg_vcc3v3: regulator-vcc3v3 { 27 + compatible = "regulator-fixed"; 28 + regulator-name = "TQMA8MX_VCC3V3"; 29 + regulator-min-microvolt = <3300000>; 30 + regulator-max-microvolt = <3300000>; 31 + }; 32 + 33 + reg_vdd_arm: regulator-vdd-arm { 34 + compatible = "regulator-gpio"; 35 + pinctrl-names = "default"; 36 + pinctrl-0 = <&pinctrl_dvfs>; 37 + regulator-min-microvolt = <900000>; 38 + regulator-max-microvolt = <1000000>; 39 + regulator-name = "TQMa8Mx_DVFS"; 40 + regulator-type = "voltage"; 41 + regulator-settling-time-us = <150000>; 42 + gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; 43 + states = <900000 0x1 1000000 0x0>; 44 + }; 45 + 46 + reserved-memory { 47 + #address-cells = <2>; 48 + #size-cells = <2>; 49 + ranges; 50 + 51 + /* global autoconfigured region for contiguous allocations */ 52 + linux,cma { 53 + compatible = "shared-dma-pool"; 54 + reusable; 55 + /* 640 MiB */ 56 + size = <0 0x28000000>; 57 + /* 1024 - 128 MiB, our minimum RAM config will be 1024 MiB */ 58 + alloc-ranges = <0 0x40000000 0 0x78000000>; 59 + linux,cma-default; 60 + }; 61 + }; 62 + }; 63 + 64 + &A53_0 { 65 + cpu-supply = <&reg_vdd_arm>; 66 + }; 67 + 68 + &A53_1 { 69 + cpu-supply = <&reg_vdd_arm>; 70 + }; 71 + 72 + &A53_2 { 73 + cpu-supply = <&reg_vdd_arm>; 74 + }; 75 + 76 + &A53_3 { 77 + cpu-supply = <&reg_vdd_arm>; 78 + }; 79 + 80 + &gpu { 81 + status = "okay"; 82 + }; 83 + 84 + &pgc_gpu { 85 + power-supply = <&sw1a_reg>; 86 + }; 87 + 88 + &pgc_vpu { 89 + power-supply = <&sw1c_reg>; 90 + }; 91 + 92 + &i2c1 { 93 + clock-frequency = <100000>; 94 + pinctrl-names = "default", "gpio"; 95 + pinctrl-0 = <&pinctrl_i2c1>; 96 + pinctrl-1 = <&pinctrl_i2c1_gpio>; 97 + scl-gpios = <&gpio5 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 98 + sda-gpios = <&gpio5 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 99 + status = "okay"; 100 + 101 + pfuze100: pmic@8 { 102 + compatible = "fsl,pfuze100"; 103 + fsl,pfuze-support-disable-sw; 104 + reg = <0x8>; 105 + 106 + regulators { 107 + /* VDD_GPU */ 108 + sw1a_reg: sw1ab { 109 + regulator-min-microvolt = <825000>; 110 + regulator-max-microvolt = <1100000>; 111 + }; 112 + 113 + /* VDD_VPU */ 114 + sw1c_reg: sw1c { 115 + regulator-min-microvolt = <825000>; 116 + regulator-max-microvolt = <1100000>; 117 + }; 118 + 119 + /* NVCC_DRAM */ 120 + sw2_reg: sw2 { 121 + regulator-min-microvolt = <1100000>; 122 + regulator-max-microvolt = <1100000>; 123 + regulator-always-on; 124 + }; 125 + 126 + /* VDD_DRAM */ 127 + sw3a_reg: sw3ab { 128 + regulator-min-microvolt = <825000>; 129 + regulator-max-microvolt = <1100000>; 130 + regulator-always-on; 131 + }; 132 + 133 + /* 1.8 V for QSPI NOR, e-MMC IO, must not be changed */ 134 + nvcc_1v8_reg: sw4 { 135 + regulator-min-microvolt = <1800000>; 136 + regulator-max-microvolt = <1800000>; 137 + regulator-always-on; 138 + }; 139 + 140 + swbst_reg: swbst { 141 + regulator-min-microvolt = <5000000>; 142 + regulator-max-microvolt = <5150000>; 143 + }; 144 + 145 + snvs_reg: vsnvs { 146 + regulator-min-microvolt = <1000000>; 147 + regulator-max-microvolt = <3000000>; 148 + regulator-always-on; 149 + }; 150 + 151 + vref_reg: vrefddr { 152 + regulator-always-on; 153 + }; 154 + 155 + /* not used */ 156 + vgen1_reg: vgen1 { 157 + regulator-min-microvolt = <800000>; 158 + regulator-max-microvolt = <1550000>; 159 + }; 160 + 161 + /* VDD_PHY_0V9 */ 162 + vgen2_reg: vgen2 { 163 + regulator-min-microvolt = <850000>; 164 + regulator-max-microvolt = <975000>; 165 + regulator-always-on; 166 + }; 167 + 168 + /* VDD_PHY_1V8 */ 169 + vgen3_reg: vgen3 { 170 + regulator-min-microvolt = <1675000>; 171 + regulator-max-microvolt = <1975000>; 172 + regulator-always-on; 173 + }; 174 + 175 + /* VDDA_1V8 */ 176 + vgen4_reg: vgen4 { 177 + regulator-min-microvolt = <1625000>; 178 + regulator-max-microvolt = <1875000>; 179 + regulator-always-on; 180 + }; 181 + 182 + /* VDD_PHY_3V3 */ 183 + vgen5_reg: vgen5 { 184 + regulator-min-microvolt = <3075000>; 185 + regulator-max-microvolt = <3625000>; 186 + regulator-always-on; 187 + }; 188 + 189 + /* not used */ 190 + vgen6_reg: vgen6 { 191 + regulator-min-microvolt = <1800000>; 192 + regulator-max-microvolt = <3300000>; 193 + }; 194 + }; 195 + }; 196 + 197 + sensor0: temperature-sensor-eeprom@1b { 198 + compatible = "nxp,se97", "jedec,jc-42.4-temp"; 199 + reg = <0x1b>; 200 + }; 201 + 202 + pcf85063: rtc@51 { 203 + compatible = "nxp,pcf85063a"; 204 + reg = <0x51>; 205 + pinctrl-names = "default"; 206 + pinctrl-0 = <&pinctrl_rtc>; 207 + interrupt-names = "irq"; 208 + interrupt-parent = <&gpio1>; 209 + interrupts = <1 IRQ_TYPE_EDGE_FALLING>; 210 + quartz-load-femtofarads = <7000>; 211 + 212 + clock { 213 + compatible = "fixed-clock"; 214 + #clock-cells = <0>; 215 + clock-frequency = <32768>; 216 + }; 217 + }; 218 + 219 + eeprom1: eeprom@53 { 220 + compatible = "nxp,se97b", "atmel,24c02"; 221 + reg = <0x53>; 222 + pagesize = <16>; 223 + read-only; 224 + }; 225 + 226 + eeprom0: eeprom@57 { 227 + compatible = "atmel,24c64"; 228 + reg = <0x57>; 229 + pagesize = <32>; 230 + }; 231 + }; 232 + 233 + &pcie0 { 234 + /* 3.3V supply, only way to switch on internal 1.8V supply using GPR */ 235 + vph-supply = <&vgen5_reg>; 236 + }; 237 + 238 + &pcie1 { 239 + /* 3.3V supply, only way to switch on internal 1.8V supply using GPR */ 240 + vph-supply = <&vgen5_reg>; 241 + }; 242 + 243 + &qspi0 { 244 + pinctrl-names = "default"; 245 + pinctrl-0 = <&pinctrl_qspi>; 246 + assigned-clocks = <&clk IMX8MQ_CLK_QSPI>; 247 + assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_266M>; 248 + status = "okay"; 249 + 250 + flash0: flash@0 { 251 + compatible = "jedec,spi-nor"; 252 + reg = <0>; 253 + #address-cells = <1>; 254 + #size-cells = <1>; 255 + spi-max-frequency = <84000000>; 256 + spi-tx-bus-width = <4>; 257 + spi-rx-bus-width = <4>; 258 + }; 259 + }; 260 + 261 + &usdhc1 { 262 + pinctrl-names = "default", "state_100mhz", "state_200mhz"; 263 + pinctrl-0 = <&pinctrl_usdhc1>; 264 + pinctrl-1 = <&pinctrl_usdhc1_100mhz>; 265 + pinctrl-2 = <&pinctrl_usdhc1_200mhz>; 266 + bus-width = <8>; 267 + non-removable; 268 + no-sd; 269 + no-sdio; 270 + vmmc-supply = <&reg_vcc3v3>; 271 + vqmmc-supply = <&reg_vcc1v8>; 272 + status = "okay"; 273 + }; 274 + 275 + &vpu { 276 + status = "okay"; 277 + }; 278 + 279 + /* Attention: wdog reset forcing POR needs baseboard support */ 280 + &wdog1 { 281 + status = "okay"; 282 + }; 283 + 284 + &iomuxc { 285 + pinctrl_dvfs: dvfsgrp { 286 + fsl,pins = <MX8MQ_IOMUXC_GPIO1_IO06_GPIO1_IO6 0x16>; 287 + }; 288 + 289 + pinctrl_i2c1: i2c1grp { 290 + fsl,pins = <MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL 0x4000007f>, 291 + <MX8MQ_IOMUXC_I2C1_SDA_I2C1_SDA 0x4000007f>; 292 + }; 293 + 294 + pinctrl_i2c1_gpio: i2c1gpiogrp { 295 + fsl,pins = <MX8MQ_IOMUXC_I2C1_SCL_GPIO5_IO14 0x40000074>, 296 + <MX8MQ_IOMUXC_I2C1_SDA_GPIO5_IO15 0x40000074>; 297 + }; 298 + 299 + pinctrl_qspi: qspigrp { 300 + fsl,pins = <MX8MQ_IOMUXC_NAND_ALE_QSPI_A_SCLK 0x97>, 301 + <MX8MQ_IOMUXC_NAND_CE0_B_QSPI_A_SS0_B 0x82>, 302 + <MX8MQ_IOMUXC_NAND_DATA00_QSPI_A_DATA0 0x97>, 303 + <MX8MQ_IOMUXC_NAND_DATA01_QSPI_A_DATA1 0x97>, 304 + <MX8MQ_IOMUXC_NAND_DATA02_QSPI_A_DATA2 0x97>, 305 + <MX8MQ_IOMUXC_NAND_DATA03_QSPI_A_DATA3 0x97>; 306 + }; 307 + 308 + pinctrl_rtc: rtcgrp { 309 + fsl,pins = <MX8MQ_IOMUXC_GPIO1_IO01_GPIO1_IO1 0x41>; 310 + }; 311 + 312 + pinctrl_usdhc1: usdhc1grp { 313 + fsl,pins = <MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x83>, 314 + <MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xc3>, 315 + <MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xc3>, 316 + <MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xc3>, 317 + <MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xc3>, 318 + <MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xc3>, 319 + <MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xc3>, 320 + <MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xc3>, 321 + <MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xc3>, 322 + <MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xc3>, 323 + <MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x83>, 324 + <MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0xc1>; 325 + }; 326 + 327 + pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp { 328 + fsl,pins = <MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x85>, 329 + <MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xc5>, 330 + <MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xc5>, 331 + <MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xc5>, 332 + <MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xc5>, 333 + <MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xc5>, 334 + <MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xc5>, 335 + <MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xc5>, 336 + <MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xc5>, 337 + <MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xc5>, 338 + <MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x85>, 339 + <MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0xc1>; 340 + }; 341 + 342 + pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp { 343 + fsl,pins = <MX8MQ_IOMUXC_SD1_CLK_USDHC1_CLK 0x87>, 344 + <MX8MQ_IOMUXC_SD1_CMD_USDHC1_CMD 0xc7>, 345 + <MX8MQ_IOMUXC_SD1_DATA0_USDHC1_DATA0 0xc7>, 346 + <MX8MQ_IOMUXC_SD1_DATA1_USDHC1_DATA1 0xc7>, 347 + <MX8MQ_IOMUXC_SD1_DATA2_USDHC1_DATA2 0xc7>, 348 + <MX8MQ_IOMUXC_SD1_DATA3_USDHC1_DATA3 0xc7>, 349 + <MX8MQ_IOMUXC_SD1_DATA4_USDHC1_DATA4 0xc7>, 350 + <MX8MQ_IOMUXC_SD1_DATA5_USDHC1_DATA5 0xc7>, 351 + <MX8MQ_IOMUXC_SD1_DATA6_USDHC1_DATA6 0xc7>, 352 + <MX8MQ_IOMUXC_SD1_DATA7_USDHC1_DATA7 0xc7>, 353 + <MX8MQ_IOMUXC_SD1_STROBE_USDHC1_STROBE 0x87>, 354 + <MX8MQ_IOMUXC_SD1_RESET_B_USDHC1_RESET_B 0xc1>; 355 + }; 356 + 357 + pinctrl_wdog: wdoggrp { 358 + fsl,pins = <MX8MQ_IOMUXC_GPIO1_IO02_WDOG1_WDOG_B 0xc6>; 359 + }; 360 + };
+68 -41
arch/arm64/boot/dts/freescale/imx8mq.dtsi
··· 102 102 clock-latency = <61036>; /* two CLK32 periods */ 103 103 clocks = <&clk IMX8MQ_CLK_ARM>; 104 104 enable-method = "psci"; 105 + i-cache-size = <0x8000>; 106 + i-cache-line-size = <64>; 107 + i-cache-sets = <256>; 108 + d-cache-size = <0x8000>; 109 + d-cache-line-size = <64>; 110 + d-cache-sets = <128>; 105 111 next-level-cache = <&A53_L2>; 106 112 operating-points-v2 = <&a53_opp_table>; 107 113 #cooling-cells = <2>; ··· 122 116 clock-latency = <61036>; /* two CLK32 periods */ 123 117 clocks = <&clk IMX8MQ_CLK_ARM>; 124 118 enable-method = "psci"; 119 + i-cache-size = <0x8000>; 120 + i-cache-line-size = <64>; 121 + i-cache-sets = <256>; 122 + d-cache-size = <0x8000>; 123 + d-cache-line-size = <64>; 124 + d-cache-sets = <128>; 125 125 next-level-cache = <&A53_L2>; 126 126 operating-points-v2 = <&a53_opp_table>; 127 127 #cooling-cells = <2>; ··· 140 128 clock-latency = <61036>; /* two CLK32 periods */ 141 129 clocks = <&clk IMX8MQ_CLK_ARM>; 142 130 enable-method = "psci"; 131 + i-cache-size = <0x8000>; 132 + i-cache-line-size = <64>; 133 + i-cache-sets = <256>; 134 + d-cache-size = <0x8000>; 135 + d-cache-line-size = <64>; 136 + d-cache-sets = <128>; 143 137 next-level-cache = <&A53_L2>; 144 138 operating-points-v2 = <&a53_opp_table>; 145 139 #cooling-cells = <2>; ··· 158 140 clock-latency = <61036>; /* two CLK32 periods */ 159 141 clocks = <&clk IMX8MQ_CLK_ARM>; 160 142 enable-method = "psci"; 143 + i-cache-size = <0x8000>; 144 + i-cache-line-size = <64>; 145 + i-cache-sets = <256>; 146 + d-cache-size = <0x8000>; 147 + d-cache-line-size = <64>; 148 + d-cache-sets = <128>; 161 149 next-level-cache = <&A53_L2>; 162 150 operating-points-v2 = <&a53_opp_table>; 163 151 #cooling-cells = <2>; ··· 171 147 172 148 A53_L2: l2-cache0 { 173 149 compatible = "cache"; 150 + cache-level = <2>; 151 + cache-size = <0x100000>; 152 + cache-line-size = <64>; 153 + cache-sets = <1024>; 174 154 }; 175 155 }; 176 156 ··· 457 429 clocks = <&clk IMX8MQ_CLK_TMU_ROOT>; 458 430 little-endian; 459 431 fsl,tmu-range = <0xb0000 0xa0026 0x80048 0x70061>; 460 - fsl,tmu-calibration = <0x00000000 0x00000023 461 - 0x00000001 0x00000029 462 - 0x00000002 0x0000002f 463 - 0x00000003 0x00000035 464 - 0x00000004 0x0000003d 465 - 0x00000005 0x00000043 466 - 0x00000006 0x0000004b 467 - 0x00000007 0x00000051 468 - 0x00000008 0x00000057 469 - 0x00000009 0x0000005f 470 - 0x0000000a 0x00000067 471 - 0x0000000b 0x0000006f 432 + fsl,tmu-calibration = <0x00000000 0x00000023>, 433 + <0x00000001 0x00000029>, 434 + <0x00000002 0x0000002f>, 435 + <0x00000003 0x00000035>, 436 + <0x00000004 0x0000003d>, 437 + <0x00000005 0x00000043>, 438 + <0x00000006 0x0000004b>, 439 + <0x00000007 0x00000051>, 440 + <0x00000008 0x00000057>, 441 + <0x00000009 0x0000005f>, 442 + <0x0000000a 0x00000067>, 443 + <0x0000000b 0x0000006f>, 472 444 473 - 0x00010000 0x0000001b 474 - 0x00010001 0x00000023 475 - 0x00010002 0x0000002b 476 - 0x00010003 0x00000033 477 - 0x00010004 0x0000003b 478 - 0x00010005 0x00000043 479 - 0x00010006 0x0000004b 480 - 0x00010007 0x00000055 481 - 0x00010008 0x0000005d 482 - 0x00010009 0x00000067 483 - 0x0001000a 0x00000070 445 + <0x00010000 0x0000001b>, 446 + <0x00010001 0x00000023>, 447 + <0x00010002 0x0000002b>, 448 + <0x00010003 0x00000033>, 449 + <0x00010004 0x0000003b>, 450 + <0x00010005 0x00000043>, 451 + <0x00010006 0x0000004b>, 452 + <0x00010007 0x00000055>, 453 + <0x00010008 0x0000005d>, 454 + <0x00010009 0x00000067>, 455 + <0x0001000a 0x00000070>, 484 456 485 - 0x00020000 0x00000017 486 - 0x00020001 0x00000023 487 - 0x00020002 0x0000002d 488 - 0x00020003 0x00000037 489 - 0x00020004 0x00000041 490 - 0x00020005 0x0000004b 491 - 0x00020006 0x00000057 492 - 0x00020007 0x00000063 493 - 0x00020008 0x0000006f 457 + <0x00020000 0x00000017>, 458 + <0x00020001 0x00000023>, 459 + <0x00020002 0x0000002d>, 460 + <0x00020003 0x00000037>, 461 + <0x00020004 0x00000041>, 462 + <0x00020005 0x0000004b>, 463 + <0x00020006 0x00000057>, 464 + <0x00020007 0x00000063>, 465 + <0x00020008 0x0000006f>, 494 466 495 - 0x00030000 0x00000015 496 - 0x00030001 0x00000021 497 - 0x00030002 0x0000002d 498 - 0x00030003 0x00000039 499 - 0x00030004 0x00000045 500 - 0x00030005 0x00000053 501 - 0x00030006 0x0000005f 502 - 0x00030007 0x00000071>; 467 + <0x00030000 0x00000015>, 468 + <0x00030001 0x00000021>, 469 + <0x00030002 0x0000002d>, 470 + <0x00030003 0x00000039>, 471 + <0x00030004 0x00000045>, 472 + <0x00030005 0x00000053>, 473 + <0x00030006 0x0000005f>, 474 + <0x00030007 0x00000071>; 503 475 #thermal-sensor-cells = <1>; 504 476 }; 505 477 ··· 1320 1292 fsl,num-rx-queues = <3>; 1321 1293 nvmem-cells = <&fec_mac_address>; 1322 1294 nvmem-cell-names = "mac-address"; 1323 - nvmem_macaddr_swap; 1324 1295 fsl,stop-mode = <&iomuxc_gpr 0x10 3>; 1325 1296 status = "disabled"; 1326 1297 };
+38
arch/arm64/boot/dts/freescale/imx8qm.dtsi
··· 57 57 compatible = "arm,cortex-a53", "arm,armv8"; 58 58 reg = <0x0 0x0>; 59 59 enable-method = "psci"; 60 + i-cache-size = <0x8000>; 61 + i-cache-line-size = <64>; 62 + i-cache-sets = <256>; 63 + d-cache-size = <0x8000>; 64 + d-cache-line-size = <64>; 65 + d-cache-sets = <128>; 60 66 next-level-cache = <&A53_L2>; 61 67 }; 62 68 ··· 71 65 compatible = "arm,cortex-a53", "arm,armv8"; 72 66 reg = <0x0 0x1>; 73 67 enable-method = "psci"; 68 + i-cache-size = <0x8000>; 69 + i-cache-line-size = <64>; 70 + i-cache-sets = <256>; 71 + d-cache-size = <0x8000>; 72 + d-cache-line-size = <64>; 73 + d-cache-sets = <128>; 74 74 next-level-cache = <&A53_L2>; 75 75 }; 76 76 ··· 85 73 compatible = "arm,cortex-a53", "arm,armv8"; 86 74 reg = <0x0 0x2>; 87 75 enable-method = "psci"; 76 + i-cache-size = <0x8000>; 77 + i-cache-line-size = <64>; 78 + i-cache-sets = <256>; 79 + d-cache-size = <0x8000>; 80 + d-cache-line-size = <64>; 81 + d-cache-sets = <128>; 88 82 next-level-cache = <&A53_L2>; 89 83 }; 90 84 ··· 99 81 compatible = "arm,cortex-a53", "arm,armv8"; 100 82 reg = <0x0 0x3>; 101 83 enable-method = "psci"; 84 + i-cache-size = <0x8000>; 85 + i-cache-line-size = <64>; 86 + i-cache-sets = <256>; 87 + d-cache-size = <0x8000>; 88 + d-cache-line-size = <64>; 89 + d-cache-sets = <128>; 102 90 next-level-cache = <&A53_L2>; 103 91 }; 104 92 ··· 113 89 compatible = "arm,cortex-a72", "arm,armv8"; 114 90 reg = <0x0 0x100>; 115 91 enable-method = "psci"; 92 + i-cache-size = <0xC000>; 93 + i-cache-line-size = <64>; 94 + i-cache-sets = <256>; 95 + d-cache-size = <0x8000>; 96 + d-cache-line-size = <64>; 97 + d-cache-sets = <256>; 116 98 next-level-cache = <&A72_L2>; 117 99 }; 118 100 ··· 132 102 133 103 A53_L2: l2-cache0 { 134 104 compatible = "cache"; 105 + cache-level = <2>; 106 + cache-size = <0x100000>; 107 + cache-line-size = <64>; 108 + cache-sets = <1024>; 135 109 }; 136 110 137 111 A72_L2: l2-cache1 { 138 112 compatible = "cache"; 113 + cache-level = <2>; 114 + cache-size = <0x100000>; 115 + cache-line-size = <64>; 116 + cache-sets = <1024>; 139 117 }; 140 118 }; 141 119
+28
arch/arm64/boot/dts/freescale/imx8qxp.dtsi
··· 58 58 compatible = "arm,cortex-a35"; 59 59 reg = <0x0 0x0>; 60 60 enable-method = "psci"; 61 + i-cache-size = <0x8000>; 62 + i-cache-line-size = <64>; 63 + i-cache-sets = <256>; 64 + d-cache-size = <0x8000>; 65 + d-cache-line-size = <64>; 66 + d-cache-sets = <128>; 61 67 next-level-cache = <&A35_L2>; 62 68 clocks = <&clk IMX_SC_R_A35 IMX_SC_PM_CLK_CPU>; 63 69 operating-points-v2 = <&a35_opp_table>; ··· 75 69 compatible = "arm,cortex-a35"; 76 70 reg = <0x0 0x1>; 77 71 enable-method = "psci"; 72 + i-cache-size = <0x8000>; 73 + i-cache-line-size = <64>; 74 + i-cache-sets = <256>; 75 + d-cache-size = <0x8000>; 76 + d-cache-line-size = <64>; 77 + d-cache-sets = <128>; 78 78 next-level-cache = <&A35_L2>; 79 79 clocks = <&clk IMX_SC_R_A35 IMX_SC_PM_CLK_CPU>; 80 80 operating-points-v2 = <&a35_opp_table>; ··· 92 80 compatible = "arm,cortex-a35"; 93 81 reg = <0x0 0x2>; 94 82 enable-method = "psci"; 83 + i-cache-size = <0x8000>; 84 + i-cache-line-size = <64>; 85 + i-cache-sets = <256>; 86 + d-cache-size = <0x8000>; 87 + d-cache-line-size = <64>; 88 + d-cache-sets = <128>; 95 89 next-level-cache = <&A35_L2>; 96 90 clocks = <&clk IMX_SC_R_A35 IMX_SC_PM_CLK_CPU>; 97 91 operating-points-v2 = <&a35_opp_table>; ··· 109 91 compatible = "arm,cortex-a35"; 110 92 reg = <0x0 0x3>; 111 93 enable-method = "psci"; 94 + i-cache-size = <0x8000>; 95 + i-cache-line-size = <64>; 96 + i-cache-sets = <256>; 97 + d-cache-size = <0x8000>; 98 + d-cache-line-size = <64>; 99 + d-cache-sets = <128>; 112 100 next-level-cache = <&A35_L2>; 113 101 clocks = <&clk IMX_SC_R_A35 IMX_SC_PM_CLK_CPU>; 114 102 operating-points-v2 = <&a35_opp_table>; ··· 123 99 124 100 A35_L2: l2-cache0 { 125 101 compatible = "cache"; 102 + cache-level = <2>; 103 + cache-size = <0x80000>; 104 + cache-line-size = <64>; 105 + cache-sets = <1024>; 126 106 }; 127 107 }; 128 108
+64
arch/arm64/boot/dts/freescale/imx8ulp-evk.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright 2021 NXP 4 + */ 5 + 6 + /dts-v1/; 7 + 8 + #include "imx8ulp.dtsi" 9 + 10 + / { 11 + model = "NXP i.MX8ULP EVK"; 12 + compatible = "fsl,imx8ulp-evk", "fsl,imx8ulp"; 13 + 14 + chosen { 15 + stdout-path = &lpuart5; 16 + }; 17 + 18 + memory@80000000 { 19 + device_type = "memory"; 20 + reg = <0x0 0x80000000 0 0x80000000>; 21 + }; 22 + }; 23 + 24 + &lpuart5 { 25 + /* console */ 26 + pinctrl-names = "default", "sleep"; 27 + pinctrl-0 = <&pinctrl_lpuart5>; 28 + pinctrl-1 = <&pinctrl_lpuart5>; 29 + status = "okay"; 30 + }; 31 + 32 + &usdhc0 { 33 + pinctrl-names = "default", "sleep"; 34 + pinctrl-0 = <&pinctrl_usdhc0>; 35 + pinctrl-1 = <&pinctrl_usdhc0>; 36 + non-removable; 37 + bus-width = <8>; 38 + status = "okay"; 39 + }; 40 + 41 + &iomuxc1 { 42 + pinctrl_lpuart5: lpuart5grp { 43 + fsl,pins = < 44 + MX8ULP_PAD_PTF14__LPUART5_TX 0x3 45 + MX8ULP_PAD_PTF15__LPUART5_RX 0x3 46 + >; 47 + }; 48 + 49 + pinctrl_usdhc0: usdhc0grp { 50 + fsl,pins = < 51 + MX8ULP_PAD_PTD1__SDHC0_CMD 0x43 52 + MX8ULP_PAD_PTD2__SDHC0_CLK 0x10042 53 + MX8ULP_PAD_PTD10__SDHC0_D0 0x43 54 + MX8ULP_PAD_PTD9__SDHC0_D1 0x43 55 + MX8ULP_PAD_PTD8__SDHC0_D2 0x43 56 + MX8ULP_PAD_PTD7__SDHC0_D3 0x43 57 + MX8ULP_PAD_PTD6__SDHC0_D4 0x43 58 + MX8ULP_PAD_PTD5__SDHC0_D5 0x43 59 + MX8ULP_PAD_PTD4__SDHC0_D6 0x43 60 + MX8ULP_PAD_PTD3__SDHC0_D7 0x43 61 + MX8ULP_PAD_PTD11__SDHC0_DQS 0x10042 62 + >; 63 + }; 64 + };
+978
arch/arm64/boot/dts/freescale/imx8ulp-pinfunc.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0+ OR MIT */ 2 + /* 3 + * Copyright 2021 NXP 4 + */ 5 + 6 + #ifndef __DTS_IMX8ULP_PINFUNC_H 7 + #define __DTS_IMX8ULP_PINFUNC_H 8 + 9 + /* 10 + * The pin function ID is a tuple of 11 + * <mux_reg input_reg mux_mode input_val> 12 + */ 13 + #define MX8ULP_PAD_PTD0__PTD0 0x0000 0x0000 0x1 0x0 14 + #define MX8ULP_PAD_PTD0__I2S6_RX_BCLK 0x0000 0x0B44 0x7 0x1 15 + #define MX8ULP_PAD_PTD0__SDHC0_RESET_B 0x0000 0x0000 0x8 0x0 16 + #define MX8ULP_PAD_PTD0__FLEXSPI2_B_DQS 0x0000 0x0974 0x9 0x1 17 + #define MX8ULP_PAD_PTD0__CLKOUT2 0x0000 0x0000 0xa 0x0 18 + #define MX8ULP_PAD_PTD0__EPDC0_SDCLK_B 0x0000 0x0000 0xb 0x0 19 + #define MX8ULP_PAD_PTD0__LP_APD_DBG_MUX_0 0x0000 0x0000 0xc 0x0 20 + #define MX8ULP_PAD_PTD0__CLKOUT1 0x0000 0x0000 0xd 0x0 21 + #define MX8ULP_PAD_PTD0__DEBUG_MUX0_0 0x0000 0x0000 0xe 0x0 22 + #define MX8ULP_PAD_PTD0__DEBUG_MUX1_0 0x0000 0x0000 0xf 0x0 23 + #define MX8ULP_PAD_PTD1__PTD1 0x0004 0x0000 0x1 0x0 24 + #define MX8ULP_PAD_PTD1__I2S6_RX_FS 0x0004 0x0B48 0x7 0x1 25 + #define MX8ULP_PAD_PTD1__SDHC0_CMD 0x0004 0x0000 0x8 0x0 26 + #define MX8ULP_PAD_PTD1__FLEXSPI2_B_DATA7 0x0004 0x0970 0x9 0x1 27 + #define MX8ULP_PAD_PTD1__EPDC0_SDCLK 0x0004 0x0000 0xb 0x0 28 + #define MX8ULP_PAD_PTD1__DPI0_PCLK 0x0004 0x0000 0xc 0x0 29 + #define MX8ULP_PAD_PTD1__LP_APD_DBG_MUX_1 0x0004 0x0000 0xd 0x0 30 + #define MX8ULP_PAD_PTD1__DEBUG_MUX0_1 0x0004 0x0000 0xe 0x0 31 + #define MX8ULP_PAD_PTD1__DEBUG_MUX1_1 0x0004 0x0000 0xf 0x0 32 + #define MX8ULP_PAD_PTD2__PTD2 0x0008 0x0000 0x1 0x0 33 + #define MX8ULP_PAD_PTD2__I2S6_RXD0 0x0008 0x0B34 0x7 0x1 34 + #define MX8ULP_PAD_PTD2__SDHC0_CLK 0x0008 0x0000 0x8 0x0 35 + #define MX8ULP_PAD_PTD2__FLEXSPI2_B_DATA6 0x0008 0x096C 0x9 0x1 36 + #define MX8ULP_PAD_PTD2__EPDC0_SDLE 0x0008 0x0000 0xb 0x0 37 + #define MX8ULP_PAD_PTD2__DPI0_HSYNC 0x0008 0x0000 0xc 0x0 38 + #define MX8ULP_PAD_PTD2__LP_APD_DBG_MUX_2 0x0008 0x0000 0xd 0x0 39 + #define MX8ULP_PAD_PTD2__DEBUG_MUX0_2 0x0008 0x0000 0xe 0x0 40 + #define MX8ULP_PAD_PTD2__DEBUG_MUX1_2 0x0008 0x0000 0xf 0x0 41 + #define MX8ULP_PAD_PTD3__PTD3 0x000C 0x0000 0x1 0x0 42 + #define MX8ULP_PAD_PTD3__I2S6_RXD1 0x000C 0x0B38 0x7 0x1 43 + #define MX8ULP_PAD_PTD3__SDHC0_D7 0x000C 0x0000 0x8 0x0 44 + #define MX8ULP_PAD_PTD3__FLEXSPI2_B_DATA5 0x000C 0x0968 0x9 0x1 45 + #define MX8ULP_PAD_PTD3__EPDC0_GDSP 0x000C 0x0000 0xb 0x0 46 + #define MX8ULP_PAD_PTD3__DPI0_VSYNC 0x000C 0x0000 0xc 0x0 47 + #define MX8ULP_PAD_PTD3__LP_APD_DBG_MUX_3 0x000C 0x0000 0xd 0x0 48 + #define MX8ULP_PAD_PTD3__DEBUG_MUX0_3 0x000C 0x0000 0xe 0x0 49 + #define MX8ULP_PAD_PTD3__DEBUG_MUX1_3 0x000C 0x0000 0xf 0x0 50 + #define MX8ULP_PAD_PTD4__PTD4 0x0010 0x0000 0x1 0x0 51 + #define MX8ULP_PAD_PTD4__EXT_AUD_MCLK3 0x0010 0x0B14 0x4 0x1 52 + #define MX8ULP_PAD_PTD4__SDHC0_VS 0x0010 0x0000 0x5 0x0 53 + #define MX8ULP_PAD_PTD4__TPM8_CH5 0x0010 0x0B2C 0x6 0x1 54 + #define MX8ULP_PAD_PTD4__I2S6_MCLK 0x0010 0x0000 0x7 0x0 55 + #define MX8ULP_PAD_PTD4__SDHC0_D6 0x0010 0x0000 0x8 0x0 56 + #define MX8ULP_PAD_PTD4__FLEXSPI2_B_DATA4 0x0010 0x0964 0x9 0x1 57 + #define MX8ULP_PAD_PTD4__EPDC0_SDCE0 0x0010 0x0000 0xb 0x0 58 + #define MX8ULP_PAD_PTD4__DPI0_DE 0x0010 0x0000 0xc 0x0 59 + #define MX8ULP_PAD_PTD4__LP_APD_DBG_MUX_4 0x0010 0x0000 0xd 0x0 60 + #define MX8ULP_PAD_PTD4__DEBUG_MUX0_4 0x0010 0x0000 0xe 0x0 61 + #define MX8ULP_PAD_PTD4__DEBUG_MUX1_4 0x0010 0x0000 0xf 0x0 62 + #define MX8ULP_PAD_PTD5__PTD5 0x0014 0x0000 0x1 0x0 63 + #define MX8ULP_PAD_PTD5__SDHC0_CD 0x0014 0x0000 0x5 0x0 64 + #define MX8ULP_PAD_PTD5__TPM8_CH4 0x0014 0x0B28 0x6 0x1 65 + #define MX8ULP_PAD_PTD5__I2S6_TX_BCLK 0x0014 0x0B4C 0x7 0x1 66 + #define MX8ULP_PAD_PTD5__SDHC0_D5 0x0014 0x0000 0x8 0x0 67 + #define MX8ULP_PAD_PTD5__FLEXSPI2_B_SS0_B 0x0014 0x0000 0x9 0x0 68 + #define MX8ULP_PAD_PTD5__FLEXSPI2_B_SCLK_B 0x0014 0x0000 0xa 0x0 69 + #define MX8ULP_PAD_PTD5__EPDC0_D0 0x0014 0x0000 0xb 0x0 70 + #define MX8ULP_PAD_PTD5__DPI0_D0 0x0014 0x0000 0xc 0x0 71 + #define MX8ULP_PAD_PTD5__LP_APD_DBG_MUX_5 0x0014 0x0000 0xd 0x0 72 + #define MX8ULP_PAD_PTD5__DEBUG_MUX0_5 0x0014 0x0000 0xe 0x0 73 + #define MX8ULP_PAD_PTD5__DEBUG_MUX1_5 0x0014 0x0000 0xf 0x0 74 + #define MX8ULP_PAD_PTD6__PTD6 0x0018 0x0000 0x1 0x0 75 + #define MX8ULP_PAD_PTD6__SDHC0_WP 0x0018 0x0000 0x5 0x0 76 + #define MX8ULP_PAD_PTD6__TPM8_CH3 0x0018 0x0B24 0x6 0x1 77 + #define MX8ULP_PAD_PTD6__I2S6_TX_FS 0x0018 0x0B50 0x7 0x1 78 + #define MX8ULP_PAD_PTD6__SDHC0_D4 0x0018 0x0000 0x8 0x0 79 + #define MX8ULP_PAD_PTD6__FLEXSPI2_B_SCLK 0x0018 0x0978 0x9 0x1 80 + #define MX8ULP_PAD_PTD6__EPDC0_D1 0x0018 0x0000 0xb 0x0 81 + #define MX8ULP_PAD_PTD6__DPI0_D1 0x0018 0x0000 0xc 0x0 82 + #define MX8ULP_PAD_PTD6__LP_APD_DBG_MUX_6 0x0018 0x0000 0xd 0x0 83 + #define MX8ULP_PAD_PTD6__DEBUG_MUX0_6 0x0018 0x0000 0xe 0x0 84 + #define MX8ULP_PAD_PTD6__DEBUG_MUX1_6 0x0018 0x0000 0xf 0x0 85 + #define MX8ULP_PAD_PTD7__PTD7 0x001C 0x0000 0x1 0x0 86 + #define MX8ULP_PAD_PTD7__TPM8_CH2 0x001C 0x0B20 0x6 0x1 87 + #define MX8ULP_PAD_PTD7__I2S6_TXD0 0x001C 0x0000 0x7 0x0 88 + #define MX8ULP_PAD_PTD7__SDHC0_D3 0x001C 0x0000 0x8 0x0 89 + #define MX8ULP_PAD_PTD7__FLEXSPI2_B_DATA3 0x001C 0x0960 0x9 0x1 90 + #define MX8ULP_PAD_PTD7__EPDC0_D2 0x001C 0x0000 0xb 0x0 91 + #define MX8ULP_PAD_PTD7__DPI0_D2 0x001C 0x0000 0xc 0x0 92 + #define MX8ULP_PAD_PTD7__LP_APD_DBG_MUX_7 0x001C 0x0000 0xd 0x0 93 + #define MX8ULP_PAD_PTD7__DEBUG_MUX0_7 0x001C 0x0000 0xe 0x0 94 + #define MX8ULP_PAD_PTD7__DEBUG_MUX1_7 0x001C 0x0000 0xf 0x0 95 + #define MX8ULP_PAD_PTD8__PTD8 0x0020 0x0000 0x1 0x0 96 + #define MX8ULP_PAD_PTD8__TPM8_CH1 0x0020 0x0B1C 0x6 0x1 97 + #define MX8ULP_PAD_PTD8__I2S6_TXD1 0x0020 0x0000 0x7 0x0 98 + #define MX8ULP_PAD_PTD8__SDHC0_D2 0x0020 0x0000 0x8 0x0 99 + #define MX8ULP_PAD_PTD8__FLEXSPI2_B_DATA2 0x0020 0x095C 0x9 0x1 100 + #define MX8ULP_PAD_PTD8__EPDC0_D3 0x0020 0x0000 0xb 0x0 101 + #define MX8ULP_PAD_PTD8__DPI0_D3 0x0020 0x0000 0xc 0x0 102 + #define MX8ULP_PAD_PTD8__LP_APD_DBG_MUX_8 0x0020 0x0000 0xe 0x0 103 + #define MX8ULP_PAD_PTD8__DEBUG_MUX1_8 0x0020 0x0000 0xf 0x0 104 + #define MX8ULP_PAD_PTD9__PTD9 0x0024 0x0000 0x1 0x0 105 + #define MX8ULP_PAD_PTD9__TPM8_CLKIN 0x0024 0x0B30 0x6 0x1 106 + #define MX8ULP_PAD_PTD9__I2S6_TXD2 0x0024 0x0000 0x7 0x0 107 + #define MX8ULP_PAD_PTD9__SDHC0_D1 0x0024 0x0000 0x8 0x0 108 + #define MX8ULP_PAD_PTD9__FLEXSPI2_B_DATA1 0x0024 0x0958 0x9 0x1 109 + #define MX8ULP_PAD_PTD9__EPDC0_D4 0x0024 0x0000 0xb 0x0 110 + #define MX8ULP_PAD_PTD9__DPI0_D4 0x0024 0x0000 0xc 0x0 111 + #define MX8ULP_PAD_PTD9__LP_APD_DBG_MUX_9 0x0024 0x0000 0xe 0x0 112 + #define MX8ULP_PAD_PTD9__DEBUG_MUX1_9 0x0024 0x0000 0xf 0x0 113 + #define MX8ULP_PAD_PTD10__PTD10 0x0028 0x0000 0x1 0x0 114 + #define MX8ULP_PAD_PTD10__TPM8_CH0 0x0028 0x0B18 0x6 0x1 115 + #define MX8ULP_PAD_PTD10__I2S6_TXD3 0x0028 0x0000 0x7 0x0 116 + #define MX8ULP_PAD_PTD10__SDHC0_D0 0x0028 0x0000 0x8 0x0 117 + #define MX8ULP_PAD_PTD10__FLEXSPI2_B_DATA0 0x0028 0x0954 0x9 0x1 118 + #define MX8ULP_PAD_PTD10__EPDC0_D5 0x0028 0x0000 0xb 0x0 119 + #define MX8ULP_PAD_PTD10__DPI0_D5 0x0028 0x0000 0xc 0x0 120 + #define MX8ULP_PAD_PTD10__LP_APD_DBG_MUX_10 0x0028 0x0000 0xe 0x0 121 + #define MX8ULP_PAD_PTD10__DEBUG_MUX1_10 0x0028 0x0000 0xf 0x0 122 + #define MX8ULP_PAD_PTD11__PTD11 0x002C 0x0000 0x1 0x0 123 + #define MX8ULP_PAD_PTD11__TPM8_CH5 0x002C 0x0B2C 0x6 0x2 124 + #define MX8ULP_PAD_PTD11__I2S6_RXD2 0x002C 0x0B3C 0x7 0x1 125 + #define MX8ULP_PAD_PTD11__SDHC0_DQS 0x002C 0x0000 0x8 0x0 126 + #define MX8ULP_PAD_PTD11__FLEXSPI2_B_SS0_B 0x002C 0x0000 0x9 0x0 127 + #define MX8ULP_PAD_PTD11__FLEXSPI2_A_SS1_B 0x002C 0x0000 0xa 0x0 128 + #define MX8ULP_PAD_PTD11__EPDC0_D6 0x002C 0x0000 0xb 0x0 129 + #define MX8ULP_PAD_PTD11__DPI0_D6 0x002C 0x0000 0xc 0x0 130 + #define MX8ULP_PAD_PTD11__LP_APD_DBG_MUX_11 0x002C 0x0000 0xf 0x0 131 + #define MX8ULP_PAD_PTD12__PTD12 0x0030 0x0000 0x1 0x0 132 + #define MX8ULP_PAD_PTD12__USB0_ID 0x0030 0x0AC8 0x5 0x1 133 + #define MX8ULP_PAD_PTD12__SDHC2_D3 0x0030 0x0AA4 0x6 0x1 134 + #define MX8ULP_PAD_PTD12__I2S7_RX_BCLK 0x0030 0x0B64 0x7 0x1 135 + #define MX8ULP_PAD_PTD12__SDHC1_DQS 0x0030 0x0A84 0x8 0x1 136 + #define MX8ULP_PAD_PTD12__FLEXSPI2_A_SS0_B 0x0030 0x0000 0x9 0x0 137 + #define MX8ULP_PAD_PTD12__FLEXSPI2_B_SS1_B 0x0030 0x0000 0xa 0x0 138 + #define MX8ULP_PAD_PTD12__EPDC0_D7 0x0030 0x0000 0xb 0x0 139 + #define MX8ULP_PAD_PTD12__DPI0_D7 0x0030 0x0000 0xc 0x0 140 + #define MX8ULP_PAD_PTD12__LP_APD_DBG_MUX_12 0x0030 0x0000 0xf 0x0 141 + #define MX8ULP_PAD_PTD13__PTD13 0x0034 0x0000 0x1 0x0 142 + #define MX8ULP_PAD_PTD13__SPDIF_IN3 0x0034 0x0B80 0x4 0x1 143 + #define MX8ULP_PAD_PTD13__USB0_PWR 0x0034 0x0000 0x5 0x0 144 + #define MX8ULP_PAD_PTD13__SDHC2_D2 0x0034 0x0AA0 0x6 0x1 145 + #define MX8ULP_PAD_PTD13__I2S7_RX_FS 0x0034 0x0B68 0x7 0x1 146 + #define MX8ULP_PAD_PTD13__SDHC1_RESET_B 0x0034 0x0000 0x8 0x0 147 + #define MX8ULP_PAD_PTD13__FLEXSPI2_A_SCLK 0x0034 0x0000 0x9 0x0 148 + #define MX8ULP_PAD_PTD13__CLKOUT2 0x0034 0x0000 0xa 0x0 149 + #define MX8ULP_PAD_PTD13__EPDC0_D8 0x0034 0x0000 0xb 0x0 150 + #define MX8ULP_PAD_PTD13__DPI0_D8 0x0034 0x0000 0xc 0x0 151 + #define MX8ULP_PAD_PTD13__CLKOUT1 0x0034 0x0000 0xd 0x0 152 + #define MX8ULP_PAD_PTD13__LP_APD_DBG_MUX_13 0x0034 0x0000 0xf 0x0 153 + #define MX8ULP_PAD_PTD14__PTD14 0x0038 0x0000 0x1 0x0 154 + #define MX8ULP_PAD_PTD14__SPDIF_OUT3 0x0038 0x0000 0x4 0x0 155 + #define MX8ULP_PAD_PTD14__USB0_OC 0x0038 0x0AC0 0x5 0x1 156 + #define MX8ULP_PAD_PTD14__SDHC2_D1 0x0038 0x0A9C 0x6 0x1 157 + #define MX8ULP_PAD_PTD14__I2S7_RXD0 0x0038 0x0B54 0x7 0x1 158 + #define MX8ULP_PAD_PTD14__SDHC1_D7 0x0038 0x0A80 0x8 0x1 159 + #define MX8ULP_PAD_PTD14__FLEXSPI2_A_DATA3 0x0038 0x0000 0x9 0x0 160 + #define MX8ULP_PAD_PTD14__TRACE0_D7 0x0038 0x0000 0xa 0x0 161 + #define MX8ULP_PAD_PTD14__EPDC0_D9 0x0038 0x0000 0xb 0x0 162 + #define MX8ULP_PAD_PTD14__DPI0_D9 0x0038 0x0000 0xc 0x0 163 + #define MX8ULP_PAD_PTD14__LP_APD_DBG_MUX_14 0x0038 0x0000 0xf 0x0 164 + #define MX8ULP_PAD_PTD15__PTD15 0x003C 0x0000 0x1 0x0 165 + #define MX8ULP_PAD_PTD15__SPDIF_IN2 0x003C 0x0B7C 0x4 0x1 166 + #define MX8ULP_PAD_PTD15__SDHC1_VS 0x003C 0x0000 0x5 0x0 167 + #define MX8ULP_PAD_PTD15__SDHC2_D0 0x003C 0x0A98 0x6 0x1 168 + #define MX8ULP_PAD_PTD15__I2S7_TX_BCLK 0x003C 0x0B6C 0x7 0x1 169 + #define MX8ULP_PAD_PTD15__SDHC1_D6 0x003C 0x0A7C 0x8 0x1 170 + #define MX8ULP_PAD_PTD15__FLEXSPI2_A_DATA2 0x003C 0x0000 0x9 0x0 171 + #define MX8ULP_PAD_PTD15__TRACE0_D6 0x003C 0x0000 0xa 0x0 172 + #define MX8ULP_PAD_PTD15__EPDC0_D10 0x003C 0x0000 0xb 0x0 173 + #define MX8ULP_PAD_PTD15__DPI0_D10 0x003C 0x0000 0xc 0x0 174 + #define MX8ULP_PAD_PTD15__LP_APD_DBG_MUX_15 0x003C 0x0000 0xf 0x0 175 + #define MX8ULP_PAD_PTD16__PTD16 0x0040 0x0000 0x1 0x0 176 + #define MX8ULP_PAD_PTD16__FXIO1_D31 0x0040 0x08A0 0x2 0x1 177 + #define MX8ULP_PAD_PTD16__LPSPI4_PCS1 0x0040 0x08F8 0x3 0x1 178 + #define MX8ULP_PAD_PTD16__SPDIF_OUT2 0x0040 0x0000 0x4 0x0 179 + #define MX8ULP_PAD_PTD16__SDHC1_CD 0x0040 0x0A58 0x5 0x1 180 + #define MX8ULP_PAD_PTD16__SDHC2_CLK 0x0040 0x0A90 0x6 0x1 181 + #define MX8ULP_PAD_PTD16__I2S7_TX_FS 0x0040 0x0B70 0x7 0x1 182 + #define MX8ULP_PAD_PTD16__SDHC1_D5 0x0040 0x0A78 0x8 0x1 183 + #define MX8ULP_PAD_PTD16__FLEXSPI2_A_DATA1 0x0040 0x0000 0x9 0x0 184 + #define MX8ULP_PAD_PTD16__TRACE0_D5 0x0040 0x0000 0xa 0x0 185 + #define MX8ULP_PAD_PTD16__EPDC0_D11 0x0040 0x0000 0xb 0x0 186 + #define MX8ULP_PAD_PTD16__DPI0_D11 0x0040 0x0000 0xc 0x0 187 + #define MX8ULP_PAD_PTD16__LP_APD_DBG_MUX_16 0x0040 0x0000 0xf 0x0 188 + #define MX8ULP_PAD_PTD17__PTD17 0x0044 0x0000 0x1 0x0 189 + #define MX8ULP_PAD_PTD17__FXIO1_D30 0x0044 0x089C 0x2 0x1 190 + #define MX8ULP_PAD_PTD17__LPSPI4_PCS2 0x0044 0x08FC 0x3 0x1 191 + #define MX8ULP_PAD_PTD17__EXT_AUD_MCLK3 0x0044 0x0B14 0x4 0x2 192 + #define MX8ULP_PAD_PTD17__SDHC1_WP 0x0044 0x0A88 0x5 0x1 193 + #define MX8ULP_PAD_PTD17__SDHC2_CMD 0x0044 0x0A94 0x6 0x1 194 + #define MX8ULP_PAD_PTD17__I2S7_TXD0 0x0044 0x0000 0x7 0x0 195 + #define MX8ULP_PAD_PTD17__SDHC1_D4 0x0044 0x0A74 0x8 0x1 196 + #define MX8ULP_PAD_PTD17__FLEXSPI2_A_DATA0 0x0044 0x0000 0x9 0x0 197 + #define MX8ULP_PAD_PTD17__TRACE0_D4 0x0044 0x0000 0xa 0x0 198 + #define MX8ULP_PAD_PTD17__EPDC0_D12 0x0044 0x0000 0xb 0x0 199 + #define MX8ULP_PAD_PTD17__DPI0_D12 0x0044 0x0000 0xc 0x0 200 + #define MX8ULP_PAD_PTD17__LP_APD_DBG_MUX_17 0x0044 0x0000 0xf 0x0 201 + #define MX8ULP_PAD_PTD18__PTD18 0x0048 0x0000 0x1 0x0 202 + #define MX8ULP_PAD_PTD18__FXIO1_D29 0x0048 0x0894 0x2 0x1 203 + #define MX8ULP_PAD_PTD18__LPSPI4_PCS3 0x0048 0x0900 0x3 0x1 204 + #define MX8ULP_PAD_PTD18__SPDIF_CLK 0x0048 0x0000 0x4 0x0 205 + #define MX8ULP_PAD_PTD18__EXT_AUD_MCLK3 0x0048 0x0B14 0x5 0x3 206 + #define MX8ULP_PAD_PTD18__TPM8_CH0 0x0048 0x0B18 0x6 0x2 207 + #define MX8ULP_PAD_PTD18__I2S7_MCLK 0x0048 0x0000 0x7 0x0 208 + #define MX8ULP_PAD_PTD18__SDHC1_D3 0x0048 0x0A70 0x8 0x1 209 + #define MX8ULP_PAD_PTD18__FLEXSPI2_A_DQS 0x0048 0x0000 0x9 0x0 210 + #define MX8ULP_PAD_PTD18__TRACE0_D3 0x0048 0x0000 0xa 0x0 211 + #define MX8ULP_PAD_PTD18__EPDC0_D13 0x0048 0x0000 0xb 0x0 212 + #define MX8ULP_PAD_PTD18__DPI0_D13 0x0048 0x0000 0xc 0x0 213 + #define MX8ULP_PAD_PTD18__LP_APD_DBG_MUX_18 0x0048 0x0000 0xf 0x0 214 + #define MX8ULP_PAD_PTD19__PTD19 0x004C 0x0000 0x1 0x0 215 + #define MX8ULP_PAD_PTD19__FXIO1_D28 0x004C 0x0890 0x2 0x1 216 + #define MX8ULP_PAD_PTD19__SPDIF_IN0 0x004C 0x0B74 0x4 0x1 217 + #define MX8ULP_PAD_PTD19__TPM8_CH1 0x004C 0x0B1C 0x6 0x2 218 + #define MX8ULP_PAD_PTD19__I2S6_RXD3 0x004C 0x0B40 0x7 0x1 219 + #define MX8ULP_PAD_PTD19__SDHC1_D2 0x004C 0x0A6C 0x8 0x1 220 + #define MX8ULP_PAD_PTD19__FLEXSPI2_A_DATA7 0x004C 0x0000 0x9 0x0 221 + #define MX8ULP_PAD_PTD19__TRACE0_D2 0x004C 0x0000 0xa 0x0 222 + #define MX8ULP_PAD_PTD19__EPDC0_D14 0x004C 0x0000 0xb 0x0 223 + #define MX8ULP_PAD_PTD19__DPI0_D14 0x004C 0x0000 0xc 0x0 224 + #define MX8ULP_PAD_PTD19__LP_APD_DBG_MUX_19 0x004C 0x0000 0xf 0x0 225 + #define MX8ULP_PAD_PTD20__PTD20 0x0050 0x0000 0x1 0x0 226 + #define MX8ULP_PAD_PTD20__FXIO1_D27 0x0050 0x088C 0x2 0x1 227 + #define MX8ULP_PAD_PTD20__LPSPI4_SIN 0x0050 0x0908 0x3 0x1 228 + #define MX8ULP_PAD_PTD20__SPDIF_OUT0 0x0050 0x0000 0x4 0x0 229 + #define MX8ULP_PAD_PTD20__TPM8_CLKIN 0x0050 0x0B30 0x6 0x2 230 + #define MX8ULP_PAD_PTD20__I2S7_RXD1 0x0050 0x0B58 0x7 0x1 231 + #define MX8ULP_PAD_PTD20__SDHC1_D1 0x0050 0x0A68 0x8 0x1 232 + #define MX8ULP_PAD_PTD20__FLEXSPI2_A_DATA6 0x0050 0x0000 0x9 0x0 233 + #define MX8ULP_PAD_PTD20__TRACE0_D1 0x0050 0x0000 0xa 0x0 234 + #define MX8ULP_PAD_PTD20__EPDC0_D15 0x0050 0x0000 0xb 0x0 235 + #define MX8ULP_PAD_PTD20__DPI0_D15 0x0050 0x0000 0xc 0x0 236 + #define MX8ULP_PAD_PTD20__LP_APD_DBG_MUX_20 0x0050 0x0000 0xf 0x0 237 + #define MX8ULP_PAD_PTD21__PTD21 0x0054 0x0000 0x1 0x0 238 + #define MX8ULP_PAD_PTD21__FXIO1_D26 0x0054 0x0888 0x2 0x1 239 + #define MX8ULP_PAD_PTD21__LPSPI4_SOUT 0x0054 0x090C 0x3 0x1 240 + #define MX8ULP_PAD_PTD21__SPDIF_IN1 0x0054 0x0B78 0x4 0x1 241 + #define MX8ULP_PAD_PTD21__USB1_PWR 0x0054 0x0000 0x5 0x0 242 + #define MX8ULP_PAD_PTD21__TPM8_CH2 0x0054 0x0B20 0x6 0x2 243 + #define MX8ULP_PAD_PTD21__I2S7_TXD1 0x0054 0x0000 0x7 0x0 244 + #define MX8ULP_PAD_PTD21__SDHC1_D0 0x0054 0x0A64 0x8 0x1 245 + #define MX8ULP_PAD_PTD21__FLEXSPI2_A_DATA5 0x0054 0x0000 0x9 0x0 246 + #define MX8ULP_PAD_PTD21__TRACE0_D0 0x0054 0x0000 0xa 0x0 247 + #define MX8ULP_PAD_PTD21__DPI0_D16 0x0054 0x0000 0xc 0x0 248 + #define MX8ULP_PAD_PTD21__WDOG5_RST 0x0054 0x0000 0xd 0x0 249 + #define MX8ULP_PAD_PTD21__LP_APD_DBG_MUX_21 0x0054 0x0000 0xf 0x0 250 + #define MX8ULP_PAD_PTD22__PTD22 0x0058 0x0000 0x1 0x0 251 + #define MX8ULP_PAD_PTD22__FXIO1_D25 0x0058 0x0884 0x2 0x1 252 + #define MX8ULP_PAD_PTD22__LPSPI4_SCK 0x0058 0x0904 0x3 0x1 253 + #define MX8ULP_PAD_PTD22__SPDIF_OUT1 0x0058 0x0000 0x4 0x0 254 + #define MX8ULP_PAD_PTD22__USB1_OC 0x0058 0x0AC4 0x5 0x1 255 + #define MX8ULP_PAD_PTD22__TPM8_CH3 0x0058 0x0B24 0x6 0x2 256 + #define MX8ULP_PAD_PTD22__I2S7_TXD2 0x0058 0x0000 0x7 0x0 257 + #define MX8ULP_PAD_PTD22__SDHC1_CLK 0x0058 0x0A5C 0x8 0x1 258 + #define MX8ULP_PAD_PTD22__FLEXSPI2_A_DATA4 0x0058 0x0000 0x9 0x0 259 + #define MX8ULP_PAD_PTD22__TRACE0_CLKOUT 0x0058 0x0000 0xa 0x0 260 + #define MX8ULP_PAD_PTD22__DPI0_D17 0x0058 0x0000 0xc 0x0 261 + #define MX8ULP_PAD_PTD22__LP_APD_DBG_MUX_22 0x0058 0x0000 0xf 0x0 262 + #define MX8ULP_PAD_PTD23__PTD23 0x005C 0x0000 0x1 0x0 263 + #define MX8ULP_PAD_PTD23__FXIO1_D24 0x005C 0x0880 0x2 0x1 264 + #define MX8ULP_PAD_PTD23__LPSPI4_PCS0 0x005C 0x08F4 0x3 0x1 265 + #define MX8ULP_PAD_PTD23__USB1_ID 0x005C 0x0ACC 0x5 0x1 266 + #define MX8ULP_PAD_PTD23__TPM8_CH4 0x005C 0x0B28 0x6 0x2 267 + #define MX8ULP_PAD_PTD23__I2S7_TXD3 0x005C 0x0000 0x7 0x0 268 + #define MX8ULP_PAD_PTD23__SDHC1_CMD 0x005C 0x0A60 0x8 0x1 269 + #define MX8ULP_PAD_PTD23__FLEXSPI2_A_SS0_B 0x005C 0x0000 0x9 0x0 270 + #define MX8ULP_PAD_PTD23__FLEXSPI2_A_SCLK_B 0x005C 0x0000 0xa 0x0 271 + #define MX8ULP_PAD_PTD23__DPI0_D18 0x005C 0x0000 0xc 0x0 272 + #define MX8ULP_PAD_PTD23__LP_APD_DBG_MUX_23 0x005C 0x0000 0xf 0x0 273 + #define MX8ULP_PAD_PTE0__PTE0 0x0080 0x0000 0x1 0x0 274 + #define MX8ULP_PAD_PTE0__FXIO1_D23 0x0080 0x087C 0x2 0x1 275 + #define MX8ULP_PAD_PTE0__SPDIF_IN3 0x0080 0x0B80 0x3 0x2 276 + #define MX8ULP_PAD_PTE0__LPUART4_CTS_B 0x0080 0x08DC 0x4 0x1 277 + #define MX8ULP_PAD_PTE0__LPI2C4_SCL 0x0080 0x08C8 0x5 0x1 278 + #define MX8ULP_PAD_PTE0__TPM8_CLKIN 0x0080 0x0B30 0x6 0x3 279 + #define MX8ULP_PAD_PTE0__I2S7_RXD2 0x0080 0x0B5C 0x7 0x1 280 + #define MX8ULP_PAD_PTE0__SDHC2_D1 0x0080 0x0A9C 0x8 0x2 281 + #define MX8ULP_PAD_PTE0__FLEXSPI2_B_DQS 0x0080 0x0974 0x9 0x2 282 + #define MX8ULP_PAD_PTE0__ENET0_CRS 0x0080 0x0AE8 0xa 0x1 283 + #define MX8ULP_PAD_PTE0__DBI0_WRX 0x0080 0x0000 0xb 0x0 284 + #define MX8ULP_PAD_PTE0__DPI0_D19 0x0080 0x0000 0xc 0x0 285 + #define MX8ULP_PAD_PTE0__WUU1_P0 0x0080 0x0000 0xd 0x0 286 + #define MX8ULP_PAD_PTE0__DEBUG_MUX0_8 0x0080 0x0000 0xe 0x0 287 + #define MX8ULP_PAD_PTE0__DEBUG_MUX1_11 0x0080 0x0000 0xf 0x0 288 + #define MX8ULP_PAD_PTE1__PTE1 0x0084 0x0000 0x1 0x0 289 + #define MX8ULP_PAD_PTE1__FXIO1_D22 0x0084 0x0878 0x2 0x1 290 + #define MX8ULP_PAD_PTE1__SPDIF_OUT3 0x0084 0x0000 0x3 0x0 291 + #define MX8ULP_PAD_PTE1__LPUART4_RTS_B 0x0084 0x0000 0x4 0x0 292 + #define MX8ULP_PAD_PTE1__LPI2C4_SDA 0x0084 0x08CC 0x5 0x1 293 + #define MX8ULP_PAD_PTE1__TPM8_CH0 0x0084 0x0B18 0x6 0x3 294 + #define MX8ULP_PAD_PTE1__I2S7_RXD3 0x0084 0x0B60 0x7 0x1 295 + #define MX8ULP_PAD_PTE1__SDHC2_D0 0x0084 0x0A98 0x8 0x2 296 + #define MX8ULP_PAD_PTE1__FLEXSPI2_B_DATA7 0x0084 0x0970 0x9 0x2 297 + #define MX8ULP_PAD_PTE1__ENET0_COL 0x0084 0x0AE4 0xa 0x1 298 + #define MX8ULP_PAD_PTE1__DBI0_CSX 0x0084 0x0000 0xb 0x0 299 + #define MX8ULP_PAD_PTE1__DPI0_D20 0x0084 0x0000 0xc 0x0 300 + #define MX8ULP_PAD_PTE1__WUU1_P1 0x0084 0x0000 0xd 0x0 301 + #define MX8ULP_PAD_PTE1__DEBUG_MUX0_9 0x0084 0x0000 0xe 0x0 302 + #define MX8ULP_PAD_PTE1__DEBUG_MUX1_12 0x0084 0x0000 0xf 0x0 303 + #define MX8ULP_PAD_PTE2__PTE2 0x0088 0x0000 0x1 0x0 304 + #define MX8ULP_PAD_PTE2__FXIO1_D21 0x0088 0x0874 0x2 0x1 305 + #define MX8ULP_PAD_PTE2__SPDIF_IN2 0x0088 0x0B7C 0x3 0x2 306 + #define MX8ULP_PAD_PTE2__LPUART4_TX 0x0088 0x08E4 0x4 0x1 307 + #define MX8ULP_PAD_PTE2__LPI2C4_HREQ 0x0088 0x08C4 0x5 0x1 308 + #define MX8ULP_PAD_PTE2__TPM8_CH1 0x0088 0x0B1C 0x6 0x3 309 + #define MX8ULP_PAD_PTE2__EXT_AUD_MCLK3 0x0088 0x0B14 0x7 0x4 310 + #define MX8ULP_PAD_PTE2__SDHC2_CLK 0x0088 0x0A90 0x8 0x2 311 + #define MX8ULP_PAD_PTE2__FLEXSPI2_B_DATA6 0x0088 0x096C 0x9 0x2 312 + #define MX8ULP_PAD_PTE2__ENET0_TXER 0x0088 0x0000 0xa 0x0 313 + #define MX8ULP_PAD_PTE2__DBI0_DCX 0x0088 0x0000 0xb 0x0 314 + #define MX8ULP_PAD_PTE2__DPI0_D21 0x0088 0x0000 0xc 0x0 315 + #define MX8ULP_PAD_PTE2__LP_HV_DBG_MUX_0 0x0088 0x0000 0xd 0x0 316 + #define MX8ULP_PAD_PTE2__DEBUG_MUX0_10 0x0088 0x0000 0xe 0x0 317 + #define MX8ULP_PAD_PTE2__DEBUG_MUX1_13 0x0088 0x0000 0xf 0x0 318 + #define MX8ULP_PAD_PTE3__PTE3 0x008C 0x0000 0x1 0x0 319 + #define MX8ULP_PAD_PTE3__FXIO1_D20 0x008C 0x0870 0x2 0x1 320 + #define MX8ULP_PAD_PTE3__SPDIF_OUT2 0x008C 0x0000 0x3 0x0 321 + #define MX8ULP_PAD_PTE3__LPUART4_RX 0x008C 0x08E0 0x4 0x1 322 + #define MX8ULP_PAD_PTE3__TPM8_CH2 0x008C 0x0B20 0x6 0x3 323 + #define MX8ULP_PAD_PTE3__I2S6_MCLK 0x008C 0x0000 0x7 0x0 324 + #define MX8ULP_PAD_PTE3__SDHC2_CMD 0x008C 0x0A94 0x8 0x2 325 + #define MX8ULP_PAD_PTE3__FLEXSPI2_B_DATA5 0x008C 0x0968 0x9 0x2 326 + #define MX8ULP_PAD_PTE3__ENET0_TXCLK 0x008C 0x0B10 0xa 0x1 327 + #define MX8ULP_PAD_PTE3__DBI0_RWX 0x008C 0x0000 0xb 0x0 328 + #define MX8ULP_PAD_PTE3__DPI0_D22 0x008C 0x0000 0xc 0x0 329 + #define MX8ULP_PAD_PTE3__WUU1_P2 0x008C 0x0000 0xd 0x0 330 + #define MX8ULP_PAD_PTE3__DEBUG_MUX0_11 0x008C 0x0000 0xe 0x0 331 + #define MX8ULP_PAD_PTE3__DEBUG_MUX1_14 0x008C 0x0000 0xf 0x0 332 + #define MX8ULP_PAD_PTE4__PTE4 0x0090 0x0000 0x1 0x0 333 + #define MX8ULP_PAD_PTE4__FXIO1_D19 0x0090 0x0868 0x2 0x1 334 + #define MX8ULP_PAD_PTE4__SPDIF_CLK 0x0090 0x0000 0x3 0x0 335 + #define MX8ULP_PAD_PTE4__LPUART5_CTS_B 0x0090 0x08E8 0x4 0x1 336 + #define MX8ULP_PAD_PTE4__LPI2C5_SCL 0x0090 0x08D4 0x5 0x1 337 + #define MX8ULP_PAD_PTE4__TPM8_CH3 0x0090 0x0B24 0x6 0x3 338 + #define MX8ULP_PAD_PTE4__I2S6_RX_BCLK 0x0090 0x0B44 0x7 0x2 339 + #define MX8ULP_PAD_PTE4__SDHC2_D3 0x0090 0x0AA4 0x8 0x2 340 + #define MX8ULP_PAD_PTE4__FLEXSPI2_B_DATA4 0x0090 0x0964 0x9 0x2 341 + #define MX8ULP_PAD_PTE4__ENET0_TXD3 0x0090 0x0000 0xa 0x0 342 + #define MX8ULP_PAD_PTE4__DBI0_E 0x0090 0x0000 0xb 0x0 343 + #define MX8ULP_PAD_PTE4__DPI0_D23 0x0090 0x0000 0xc 0x0 344 + #define MX8ULP_PAD_PTE4__WUU1_P3 0x0090 0x0000 0xd 0x0 345 + #define MX8ULP_PAD_PTE4__DEBUG_MUX0_12 0x0090 0x0000 0xe 0x0 346 + #define MX8ULP_PAD_PTE4__DEBUG_MUX1_15 0x0090 0x0000 0xf 0x0 347 + #define MX8ULP_PAD_PTE5__PTE5 0x0094 0x0000 0x1 0x0 348 + #define MX8ULP_PAD_PTE5__FXIO1_D18 0x0094 0x0864 0x2 0x1 349 + #define MX8ULP_PAD_PTE5__SPDIF_IN0 0x0094 0x0B74 0x3 0x2 350 + #define MX8ULP_PAD_PTE5__LPUART5_RTS_B 0x0094 0x0000 0x4 0x0 351 + #define MX8ULP_PAD_PTE5__LPI2C5_SDA 0x0094 0x08D8 0x5 0x1 352 + #define MX8ULP_PAD_PTE5__TPM8_CH4 0x0094 0x0B28 0x6 0x3 353 + #define MX8ULP_PAD_PTE5__I2S6_RX_FS 0x0094 0x0B48 0x7 0x2 354 + #define MX8ULP_PAD_PTE5__SDHC2_D2 0x0094 0x0AA0 0x8 0x2 355 + #define MX8ULP_PAD_PTE5__FLEXSPI2_B_SS0_B 0x0094 0x0000 0x9 0x0 356 + #define MX8ULP_PAD_PTE5__ENET0_TXD2 0x0094 0x0000 0xa 0x0 357 + #define MX8ULP_PAD_PTE5__DBI0_D0 0x0094 0x0000 0xb 0x0 358 + #define MX8ULP_PAD_PTE5__LP_HV_DBG_MUX_1 0x0094 0x0000 0xd 0x0 359 + #define MX8ULP_PAD_PTE5__DEBUG_MUX0_13 0x0094 0x0000 0xe 0x0 360 + #define MX8ULP_PAD_PTE5__DEBUG_MUX1_16 0x0094 0x0000 0xf 0x0 361 + #define MX8ULP_PAD_PTE6__PTE6 0x0098 0x0000 0x1 0x0 362 + #define MX8ULP_PAD_PTE6__FXIO1_D17 0x0098 0x0860 0x2 0x1 363 + #define MX8ULP_PAD_PTE6__SPDIF_OUT0 0x0098 0x0000 0x3 0x0 364 + #define MX8ULP_PAD_PTE6__LPUART5_TX 0x0098 0x08F0 0x4 0x1 365 + #define MX8ULP_PAD_PTE6__LPI2C5_HREQ 0x0098 0x08D0 0x5 0x1 366 + #define MX8ULP_PAD_PTE6__TPM8_CH5 0x0098 0x0B2C 0x6 0x3 367 + #define MX8ULP_PAD_PTE6__I2S6_RXD0 0x0098 0x0B34 0x7 0x2 368 + #define MX8ULP_PAD_PTE6__SDHC2_D4 0x0098 0x0AA8 0x8 0x1 369 + #define MX8ULP_PAD_PTE6__FLEXSPI2_B_SCLK 0x0098 0x0978 0x9 0x2 370 + #define MX8ULP_PAD_PTE6__ENET0_RXCLK 0x0098 0x0B0C 0xa 0x1 371 + #define MX8ULP_PAD_PTE6__DBI0_D1 0x0098 0x0000 0xb 0x0 372 + #define MX8ULP_PAD_PTE6__LP_HV_DBG_MUX_2 0x0098 0x0000 0xc 0x0 373 + #define MX8ULP_PAD_PTE6__WDOG5_RST 0x0098 0x0000 0xd 0x0 374 + #define MX8ULP_PAD_PTE6__DEBUG_MUX0_14 0x0098 0x0000 0xe 0x0 375 + #define MX8ULP_PAD_PTE6__DEBUG_MUX1_17 0x0098 0x0000 0xf 0x0 376 + #define MX8ULP_PAD_PTE7__PTE7 0x009C 0x0000 0x1 0x0 377 + #define MX8ULP_PAD_PTE7__FXIO1_D16 0x009C 0x085C 0x2 0x1 378 + #define MX8ULP_PAD_PTE7__SPDIF_IN1 0x009C 0x0B78 0x3 0x2 379 + #define MX8ULP_PAD_PTE7__LPUART5_RX 0x009C 0x08EC 0x4 0x1 380 + #define MX8ULP_PAD_PTE7__LPI2C6_HREQ 0x009C 0x09B4 0x5 0x1 381 + #define MX8ULP_PAD_PTE7__TPM4_CLKIN 0x009C 0x081C 0x6 0x1 382 + #define MX8ULP_PAD_PTE7__I2S6_RXD1 0x009C 0x0B38 0x7 0x2 383 + #define MX8ULP_PAD_PTE7__SDHC2_D5 0x009C 0x0AAC 0x8 0x1 384 + #define MX8ULP_PAD_PTE7__FLEXSPI2_B_DATA3 0x009C 0x0960 0x9 0x2 385 + #define MX8ULP_PAD_PTE7__ENET0_RXD3 0x009C 0x0B04 0xa 0x1 386 + #define MX8ULP_PAD_PTE7__DBI0_D2 0x009C 0x0000 0xb 0x0 387 + #define MX8ULP_PAD_PTE7__EPDC0_BDR1 0x009C 0x0000 0xc 0x0 388 + #define MX8ULP_PAD_PTE7__WUU1_P4 0x009C 0x0000 0xd 0x0 389 + #define MX8ULP_PAD_PTE7__DEBUG_MUX0_15 0x009C 0x0000 0xe 0x0 390 + #define MX8ULP_PAD_PTE7__DEBUG_MUX1_18 0x009C 0x0000 0xf 0x0 391 + #define MX8ULP_PAD_PTE8__PTE8 0x00A0 0x0000 0x1 0x0 392 + #define MX8ULP_PAD_PTE8__FXIO1_D15 0x00A0 0x0858 0x2 0x1 393 + #define MX8ULP_PAD_PTE8__LPSPI4_PCS1 0x00A0 0x08F8 0x3 0x2 394 + #define MX8ULP_PAD_PTE8__LPUART6_CTS_B 0x00A0 0x09CC 0x4 0x1 395 + #define MX8ULP_PAD_PTE8__LPI2C6_SCL 0x00A0 0x09B8 0x5 0x1 396 + #define MX8ULP_PAD_PTE8__TPM4_CH0 0x00A0 0x0804 0x6 0x1 397 + #define MX8ULP_PAD_PTE8__I2S6_RXD2 0x00A0 0x0B3C 0x7 0x2 398 + #define MX8ULP_PAD_PTE8__SDHC2_D6 0x00A0 0x0AB0 0x8 0x1 399 + #define MX8ULP_PAD_PTE8__FLEXSPI2_B_DATA2 0x00A0 0x095C 0x9 0x2 400 + #define MX8ULP_PAD_PTE8__ENET0_RXD2 0x00A0 0x0B00 0xa 0x1 401 + #define MX8ULP_PAD_PTE8__DBI0_D3 0x00A0 0x0000 0xb 0x0 402 + #define MX8ULP_PAD_PTE8__EPDC0_BDR0 0x00A0 0x0000 0xc 0x0 403 + #define MX8ULP_PAD_PTE8__LP_HV_DBG_MUX_3 0x00A0 0x0000 0xe 0x0 404 + #define MX8ULP_PAD_PTE8__DEBUG_MUX1_19 0x00A0 0x0000 0xf 0x0 405 + #define MX8ULP_PAD_PTE9__PTE9 0x00A4 0x0000 0x1 0x0 406 + #define MX8ULP_PAD_PTE9__FXIO1_D14 0x00A4 0x0854 0x2 0x1 407 + #define MX8ULP_PAD_PTE9__LPSPI4_PCS2 0x00A4 0x08FC 0x3 0x2 408 + #define MX8ULP_PAD_PTE9__LPUART6_RTS_B 0x00A4 0x0000 0x4 0x0 409 + #define MX8ULP_PAD_PTE9__LPI2C6_SDA 0x00A4 0x09BC 0x5 0x1 410 + #define MX8ULP_PAD_PTE9__TPM4_CH1 0x00A4 0x0808 0x6 0x1 411 + #define MX8ULP_PAD_PTE9__I2S6_RXD3 0x00A4 0x0B40 0x7 0x2 412 + #define MX8ULP_PAD_PTE9__SDHC2_D7 0x00A4 0x0AB4 0x8 0x1 413 + #define MX8ULP_PAD_PTE9__FLEXSPI2_B_DATA1 0x00A4 0x0958 0x9 0x2 414 + #define MX8ULP_PAD_PTE9__ENET0_1588_TMR3 0x00A4 0x0AE0 0xa 0x1 415 + #define MX8ULP_PAD_PTE9__DBI0_D4 0x00A4 0x0000 0xb 0x0 416 + #define MX8ULP_PAD_PTE9__EPDC0_VCOM1 0x00A4 0x0000 0xc 0x0 417 + #define MX8ULP_PAD_PTE9__LP_HV_DBG_MUX_4 0x00A4 0x0000 0xe 0x0 418 + #define MX8ULP_PAD_PTE9__DEBUG_MUX1_20 0x00A4 0x0000 0xf 0x0 419 + #define MX8ULP_PAD_PTE10__PTE10 0x00A8 0x0000 0x1 0x0 420 + #define MX8ULP_PAD_PTE10__FXIO1_D13 0x00A8 0x0850 0x2 0x1 421 + #define MX8ULP_PAD_PTE10__LPSPI4_PCS3 0x00A8 0x0900 0x3 0x2 422 + #define MX8ULP_PAD_PTE10__LPUART6_TX 0x00A8 0x09D4 0x4 0x1 423 + #define MX8ULP_PAD_PTE10__I3C2_SCL 0x00A8 0x08BC 0x5 0x1 424 + #define MX8ULP_PAD_PTE10__TPM4_CH2 0x00A8 0x080C 0x6 0x1 425 + #define MX8ULP_PAD_PTE10__I2S6_TX_BCLK 0x00A8 0x0B4C 0x7 0x2 426 + #define MX8ULP_PAD_PTE10__SDHC2_DQS 0x00A8 0x0AB8 0x8 0x1 427 + #define MX8ULP_PAD_PTE10__FLEXSPI2_B_DATA0 0x00A8 0x0954 0x9 0x2 428 + #define MX8ULP_PAD_PTE10__ENET0_1588_TMR2 0x00A8 0x0ADC 0xa 0x1 429 + #define MX8ULP_PAD_PTE10__DBI0_D5 0x00A8 0x0000 0xb 0x0 430 + #define MX8ULP_PAD_PTE10__EPDC0_VCOM0 0x00A8 0x0000 0xc 0x0 431 + #define MX8ULP_PAD_PTE10__LP_HV_DBG_MUX_5 0x00A8 0x0000 0xe 0x0 432 + #define MX8ULP_PAD_PTE10__DEBUG_MUX1_21 0x00A8 0x0000 0xf 0x0 433 + #define MX8ULP_PAD_PTE11__PTE11 0x00AC 0x0000 0x1 0x0 434 + #define MX8ULP_PAD_PTE11__FXIO1_D12 0x00AC 0x084C 0x2 0x1 435 + #define MX8ULP_PAD_PTE11__SPDIF_OUT1 0x00AC 0x0000 0x3 0x0 436 + #define MX8ULP_PAD_PTE11__LPUART6_RX 0x00AC 0x09D0 0x4 0x1 437 + #define MX8ULP_PAD_PTE11__I3C2_SDA 0x00AC 0x08C0 0x5 0x1 438 + #define MX8ULP_PAD_PTE11__TPM4_CH3 0x00AC 0x0810 0x6 0x1 439 + #define MX8ULP_PAD_PTE11__I2S6_TX_FS 0x00AC 0x0B50 0x7 0x2 440 + #define MX8ULP_PAD_PTE11__FLEXSPI2_B_SCLK_B 0x00AC 0x0000 0x8 0x0 441 + #define MX8ULP_PAD_PTE11__FLEXSPI2_B_SS0_B 0x00AC 0x0000 0x9 0x0 442 + #define MX8ULP_PAD_PTE11__ENET0_1588_TMR1 0x00AC 0x0AD8 0xa 0x1 443 + #define MX8ULP_PAD_PTE11__DBI0_D6 0x00AC 0x0000 0xb 0x0 444 + #define MX8ULP_PAD_PTE11__EPDC0_PWRCTRL0 0x00AC 0x0000 0xc 0x0 445 + #define MX8ULP_PAD_PTE11__LP_HV_DBG_MUX_6 0x00AC 0x0000 0xf 0x0 446 + #define MX8ULP_PAD_PTE12__PTE12 0x00B0 0x0000 0x1 0x0 447 + #define MX8ULP_PAD_PTE12__FXIO1_D11 0x00B0 0x0848 0x2 0x1 448 + #define MX8ULP_PAD_PTE12__LPSPI4_SIN 0x00B0 0x0908 0x3 0x2 449 + #define MX8ULP_PAD_PTE12__LPUART7_CTS_B 0x00B0 0x09D8 0x4 0x1 450 + #define MX8ULP_PAD_PTE12__LPI2C7_SCL 0x00B0 0x09C4 0x5 0x1 451 + #define MX8ULP_PAD_PTE12__TPM4_CH4 0x00B0 0x0814 0x6 0x1 452 + #define MX8ULP_PAD_PTE12__I2S6_TXD0 0x00B0 0x0000 0x7 0x0 453 + #define MX8ULP_PAD_PTE12__SDHC2_RESET_B 0x00B0 0x0000 0x8 0x0 454 + #define MX8ULP_PAD_PTE12__FLEXSPI2_B_SS1_B 0x00B0 0x0000 0x9 0x0 455 + #define MX8ULP_PAD_PTE12__ENET0_1588_TMR0 0x00B0 0x0AD4 0xa 0x1 456 + #define MX8ULP_PAD_PTE12__DBI0_D7 0x00B0 0x0000 0xb 0x0 457 + #define MX8ULP_PAD_PTE12__EPDC0_PWRCTRL1 0x00B0 0x0000 0xc 0x0 458 + #define MX8ULP_PAD_PTE12__WUU1_P5 0x00B0 0x0000 0xd 0x0 459 + #define MX8ULP_PAD_PTE13__PTE13 0x00B4 0x0000 0x1 0x0 460 + #define MX8ULP_PAD_PTE13__FXIO1_D10 0x00B4 0x0844 0x2 0x1 461 + #define MX8ULP_PAD_PTE13__LPSPI4_SOUT 0x00B4 0x090C 0x3 0x2 462 + #define MX8ULP_PAD_PTE13__LPUART7_RTS_B 0x00B4 0x0000 0x4 0x0 463 + #define MX8ULP_PAD_PTE13__LPI2C7_SDA 0x00B4 0x09C8 0x5 0x1 464 + #define MX8ULP_PAD_PTE13__TPM4_CH5 0x00B4 0x0818 0x6 0x1 465 + #define MX8ULP_PAD_PTE13__I2S6_TXD1 0x00B4 0x0000 0x7 0x0 466 + #define MX8ULP_PAD_PTE13__SDHC1_WP 0x00B4 0x0A88 0x8 0x2 467 + #define MX8ULP_PAD_PTE13__ENET0_1588_CLKIN 0x00B4 0x0AD0 0xa 0x1 468 + #define MX8ULP_PAD_PTE13__DBI0_D8 0x00B4 0x0000 0xb 0x0 469 + #define MX8ULP_PAD_PTE13__EPDC0_PWRCTRL2 0x00B4 0x0000 0xc 0x0 470 + #define MX8ULP_PAD_PTE13__LP_HV_DBG_MUX_7 0x00B4 0x0000 0xf 0x0 471 + #define MX8ULP_PAD_PTE14__PTE14 0x00B8 0x0000 0x1 0x0 472 + #define MX8ULP_PAD_PTE14__FXIO1_D9 0x00B8 0x08B8 0x2 0x1 473 + #define MX8ULP_PAD_PTE14__LPSPI4_SCK 0x00B8 0x0904 0x3 0x2 474 + #define MX8ULP_PAD_PTE14__LPUART7_TX 0x00B8 0x09E0 0x4 0x1 475 + #define MX8ULP_PAD_PTE14__LPI2C7_HREQ 0x00B8 0x09C0 0x5 0x1 476 + #define MX8ULP_PAD_PTE14__TPM5_CLKIN 0x00B8 0x0838 0x6 0x1 477 + #define MX8ULP_PAD_PTE14__I2S6_TXD2 0x00B8 0x0000 0x7 0x0 478 + #define MX8ULP_PAD_PTE14__SDHC1_CD 0x00B8 0x0A58 0x8 0x2 479 + #define MX8ULP_PAD_PTE14__ENET0_MDIO 0x00B8 0x0AF0 0xa 0x1 480 + #define MX8ULP_PAD_PTE14__DBI0_D9 0x00B8 0x0000 0xb 0x0 481 + #define MX8ULP_PAD_PTE14__EPDC0_PWRCTRL3 0x00B8 0x0000 0xc 0x0 482 + #define MX8ULP_PAD_PTE14__LP_HV_DBG_MUX_8 0x00B8 0x0000 0xf 0x0 483 + #define MX8ULP_PAD_PTE15__PTE15 0x00BC 0x0000 0x1 0x0 484 + #define MX8ULP_PAD_PTE15__FXIO1_D8 0x00BC 0x08B4 0x2 0x1 485 + #define MX8ULP_PAD_PTE15__LPSPI4_PCS0 0x00BC 0x08F4 0x3 0x2 486 + #define MX8ULP_PAD_PTE15__LPUART7_RX 0x00BC 0x09DC 0x4 0x1 487 + #define MX8ULP_PAD_PTE15__I3C2_PUR 0x00BC 0x0000 0x5 0x0 488 + #define MX8ULP_PAD_PTE15__TPM5_CH0 0x00BC 0x0820 0x6 0x1 489 + #define MX8ULP_PAD_PTE15__I2S6_TXD3 0x00BC 0x0000 0x7 0x0 490 + #define MX8ULP_PAD_PTE15__MQS1_LEFT 0x00BC 0x0000 0x8 0x0 491 + #define MX8ULP_PAD_PTE15__ENET0_MDC 0x00BC 0x0000 0xa 0x0 492 + #define MX8ULP_PAD_PTE15__DBI0_D10 0x00BC 0x0000 0xb 0x0 493 + #define MX8ULP_PAD_PTE15__EPDC0_PWRCOM 0x00BC 0x0000 0xc 0x0 494 + #define MX8ULP_PAD_PTE15__WUU1_P6 0x00BC 0x0000 0xd 0x0 495 + #define MX8ULP_PAD_PTE16__PTE16 0x00C0 0x0000 0x1 0x0 496 + #define MX8ULP_PAD_PTE16__FXIO1_D7 0x00C0 0x08B0 0x2 0x1 497 + #define MX8ULP_PAD_PTE16__LPSPI5_PCS1 0x00C0 0x0914 0x3 0x1 498 + #define MX8ULP_PAD_PTE16__LPUART4_CTS_B 0x00C0 0x08DC 0x4 0x2 499 + #define MX8ULP_PAD_PTE16__LPI2C4_SCL 0x00C0 0x08C8 0x5 0x2 500 + #define MX8ULP_PAD_PTE16__TPM5_CH1 0x00C0 0x0824 0x6 0x1 501 + #define MX8ULP_PAD_PTE16__MQS1_LEFT 0x00C0 0x0000 0x7 0x0 502 + #define MX8ULP_PAD_PTE16__MQS1_RIGHT 0x00C0 0x0000 0x8 0x0 503 + #define MX8ULP_PAD_PTE16__USB0_ID 0x00C0 0x0AC8 0x9 0x2 504 + #define MX8ULP_PAD_PTE16__ENET0_TXEN 0x00C0 0x0000 0xa 0x0 505 + #define MX8ULP_PAD_PTE16__DBI0_D11 0x00C0 0x0000 0xb 0x0 506 + #define MX8ULP_PAD_PTE16__EPDC0_PWRIRQ 0x00C0 0x0000 0xc 0x0 507 + #define MX8ULP_PAD_PTE16__WDOG3_RST 0x00C0 0x0000 0xd 0x0 508 + #define MX8ULP_PAD_PTE16__LP_HV_DBG_MUX_9 0x00C0 0x0000 0xf 0x0 509 + #define MX8ULP_PAD_PTE17__PTE17 0x00C4 0x0000 0x1 0x0 510 + #define MX8ULP_PAD_PTE17__FXIO1_D6 0x00C4 0x08AC 0x2 0x1 511 + #define MX8ULP_PAD_PTE17__LPSPI5_PCS2 0x00C4 0x0918 0x3 0x1 512 + #define MX8ULP_PAD_PTE17__LPUART4_RTS_B 0x00C4 0x0000 0x4 0x0 513 + #define MX8ULP_PAD_PTE17__LPI2C4_SDA 0x00C4 0x08CC 0x5 0x2 514 + #define MX8ULP_PAD_PTE17__MQS1_RIGHT 0x00C4 0x0000 0x7 0x0 515 + #define MX8ULP_PAD_PTE17__SDHC1_VS 0x00C4 0x0000 0x8 0x0 516 + #define MX8ULP_PAD_PTE17__USB0_PWR 0x00C4 0x0000 0x9 0x0 517 + #define MX8ULP_PAD_PTE17__ENET0_RXER 0x00C4 0x0B08 0xa 0x1 518 + #define MX8ULP_PAD_PTE17__DBI0_D12 0x00C4 0x0000 0xb 0x0 519 + #define MX8ULP_PAD_PTE17__EPDC0_PWRSTAT 0x00C4 0x0000 0xc 0x0 520 + #define MX8ULP_PAD_PTE17__LP_HV_DBG_MUX_10 0x00C4 0x0000 0xf 0x0 521 + #define MX8ULP_PAD_PTE18__PTE18 0x00C8 0x0000 0x1 0x0 522 + #define MX8ULP_PAD_PTE18__FXIO1_D5 0x00C8 0x08A8 0x2 0x1 523 + #define MX8ULP_PAD_PTE18__LPSPI5_PCS3 0x00C8 0x091C 0x3 0x1 524 + #define MX8ULP_PAD_PTE18__LPUART4_TX 0x00C8 0x08E4 0x4 0x2 525 + #define MX8ULP_PAD_PTE18__LPI2C4_HREQ 0x00C8 0x08C4 0x5 0x2 526 + #define MX8ULP_PAD_PTE18__I2S7_TX_BCLK 0x00C8 0x0B6C 0x7 0x2 527 + #define MX8ULP_PAD_PTE18__USB0_OC 0x00C8 0x0AC0 0x9 0x2 528 + #define MX8ULP_PAD_PTE18__ENET0_CRS_DV 0x00C8 0x0AEC 0xa 0x1 529 + #define MX8ULP_PAD_PTE18__DBI0_D13 0x00C8 0x0000 0xb 0x0 530 + #define MX8ULP_PAD_PTE18__EPDC0_PWRWAKE 0x00C8 0x0000 0xc 0x0 531 + #define MX8ULP_PAD_PTE18__LP_HV_DBG_MUX_11 0x00C8 0x0000 0xf 0x0 532 + #define MX8ULP_PAD_PTE19__PTE19 0x00CC 0x0000 0x1 0x0 533 + #define MX8ULP_PAD_PTE19__FXIO1_D4 0x00CC 0x08A4 0x2 0x1 534 + #define MX8ULP_PAD_PTE19__LPUART4_RX 0x00CC 0x08E0 0x4 0x2 535 + #define MX8ULP_PAD_PTE19__LPI2C5_HREQ 0x00CC 0x08D0 0x5 0x2 536 + #define MX8ULP_PAD_PTE19__I3C2_PUR 0x00CC 0x0000 0x6 0x0 537 + #define MX8ULP_PAD_PTE19__I2S7_TX_FS 0x00CC 0x0B70 0x7 0x2 538 + #define MX8ULP_PAD_PTE19__USB1_PWR 0x00CC 0x0000 0x9 0x0 539 + #define MX8ULP_PAD_PTE19__ENET0_REFCLK 0x00CC 0x0AF4 0xa 0x1 540 + #define MX8ULP_PAD_PTE19__DBI0_D14 0x00CC 0x0000 0xb 0x0 541 + #define MX8ULP_PAD_PTE19__EPDC0_GDCLK 0x00CC 0x0000 0xc 0x0 542 + #define MX8ULP_PAD_PTE19__WUU1_P7 0x00CC 0x0000 0xd 0x0 543 + #define MX8ULP_PAD_PTE20__PTE20 0x00D0 0x0000 0x1 0x0 544 + #define MX8ULP_PAD_PTE20__FXIO1_D3 0x00D0 0x0898 0x2 0x1 545 + #define MX8ULP_PAD_PTE20__LPSPI5_SIN 0x00D0 0x0924 0x3 0x1 546 + #define MX8ULP_PAD_PTE20__LPUART5_CTS_B 0x00D0 0x08E8 0x4 0x2 547 + #define MX8ULP_PAD_PTE20__LPI2C5_SCL 0x00D0 0x08D4 0x5 0x2 548 + #define MX8ULP_PAD_PTE20__I2S7_TXD0 0x00D0 0x0000 0x7 0x0 549 + #define MX8ULP_PAD_PTE20__USB1_OC 0x00D0 0x0AC4 0x9 0x2 550 + #define MX8ULP_PAD_PTE20__ENET0_RXD1 0x00D0 0x0AFC 0xa 0x1 551 + #define MX8ULP_PAD_PTE20__DBI0_D15 0x00D0 0x0000 0xb 0x0 552 + #define MX8ULP_PAD_PTE20__EPDC0_GDOE 0x00D0 0x0000 0xc 0x0 553 + #define MX8ULP_PAD_PTE20__LP_HV_DBG_MUX_12 0x00D0 0x0000 0xf 0x0 554 + #define MX8ULP_PAD_PTE21__PTE21 0x00D4 0x0000 0x1 0x0 555 + #define MX8ULP_PAD_PTE21__FXIO1_D2 0x00D4 0x086C 0x2 0x1 556 + #define MX8ULP_PAD_PTE21__LPSPI5_SOUT 0x00D4 0x0928 0x3 0x1 557 + #define MX8ULP_PAD_PTE21__LPUART5_RTS_B 0x00D4 0x0000 0x4 0x0 558 + #define MX8ULP_PAD_PTE21__LPI2C5_SDA 0x00D4 0x08D8 0x5 0x2 559 + #define MX8ULP_PAD_PTE21__TPM6_CLKIN 0x00D4 0x0994 0x6 0x1 560 + #define MX8ULP_PAD_PTE21__I2S7_TXD1 0x00D4 0x0000 0x7 0x0 561 + #define MX8ULP_PAD_PTE21__USB1_ID 0x00D4 0x0ACC 0x9 0x2 562 + #define MX8ULP_PAD_PTE21__ENET0_RXD0 0x00D4 0x0AF8 0xa 0x1 563 + #define MX8ULP_PAD_PTE21__EPDC0_GDRL 0x00D4 0x0000 0xc 0x0 564 + #define MX8ULP_PAD_PTE21__WDOG4_RST 0x00D4 0x0000 0xd 0x0 565 + #define MX8ULP_PAD_PTE21__LP_HV_DBG_MUX_13 0x00D4 0x0000 0xf 0x0 566 + #define MX8ULP_PAD_PTE22__PTE22 0x00D8 0x0000 0x1 0x0 567 + #define MX8ULP_PAD_PTE22__FXIO1_D1 0x00D8 0x0840 0x2 0x1 568 + #define MX8ULP_PAD_PTE22__LPSPI5_SCK 0x00D8 0x0920 0x3 0x1 569 + #define MX8ULP_PAD_PTE22__LPUART5_TX 0x00D8 0x08F0 0x4 0x2 570 + #define MX8ULP_PAD_PTE22__I3C2_SCL 0x00D8 0x08BC 0x5 0x2 571 + #define MX8ULP_PAD_PTE22__TPM6_CH0 0x00D8 0x097C 0x6 0x1 572 + #define MX8ULP_PAD_PTE22__I2S7_TXD2 0x00D8 0x0000 0x7 0x0 573 + #define MX8ULP_PAD_PTE22__EXT_AUD_MCLK3 0x00D8 0x0B14 0x9 0x5 574 + #define MX8ULP_PAD_PTE22__ENET0_TXD1 0x00D8 0x0000 0xa 0x0 575 + #define MX8ULP_PAD_PTE22__EPDC0_SDOED 0x00D8 0x0000 0xc 0x0 576 + #define MX8ULP_PAD_PTE22__CLKOUT2 0x00D8 0x0000 0xd 0x0 577 + #define MX8ULP_PAD_PTE22__LP_HV_DBG_MUX_14 0x00D8 0x0000 0xf 0x0 578 + #define MX8ULP_PAD_PTE23__PTE23 0x00DC 0x0000 0x1 0x0 579 + #define MX8ULP_PAD_PTE23__FXIO1_D0 0x00DC 0x083C 0x2 0x1 580 + #define MX8ULP_PAD_PTE23__LPSPI5_PCS0 0x00DC 0x0910 0x3 0x1 581 + #define MX8ULP_PAD_PTE23__LPUART5_RX 0x00DC 0x08EC 0x4 0x2 582 + #define MX8ULP_PAD_PTE23__I3C2_SDA 0x00DC 0x08C0 0x5 0x2 583 + #define MX8ULP_PAD_PTE23__TPM6_CH1 0x00DC 0x0980 0x6 0x1 584 + #define MX8ULP_PAD_PTE23__I2S7_TXD3 0x00DC 0x0000 0x7 0x0 585 + #define MX8ULP_PAD_PTE23__EXT_AUD_MCLK2 0x00DC 0x0800 0x9 0x1 586 + #define MX8ULP_PAD_PTE23__ENET0_TXD0 0x00DC 0x0000 0xa 0x0 587 + #define MX8ULP_PAD_PTE23__EPDC0_SDOEZ 0x00DC 0x0000 0xc 0x0 588 + #define MX8ULP_PAD_PTE23__CLKOUT1 0x00DC 0x0000 0xd 0x0 589 + #define MX8ULP_PAD_PTE23__LP_HV_DBG_MUX_15 0x00DC 0x0000 0xf 0x0 590 + #define MX8ULP_PAD_PTF0__PTF0 0x0100 0x0000 0x1 0x0 591 + #define MX8ULP_PAD_PTF0__FXIO1_D0 0x0100 0x083C 0x2 0x2 592 + #define MX8ULP_PAD_PTF0__LPUART6_CTS_B 0x0100 0x09CC 0x4 0x2 593 + #define MX8ULP_PAD_PTF0__LPI2C6_SCL 0x0100 0x09B8 0x5 0x2 594 + #define MX8ULP_PAD_PTF0__I2S7_RX_BCLK 0x0100 0x0B64 0x7 0x2 595 + #define MX8ULP_PAD_PTF0__SDHC1_D1 0x0100 0x0A68 0x8 0x2 596 + #define MX8ULP_PAD_PTF0__ENET0_RXD1 0x0100 0x0AFC 0x9 0x2 597 + #define MX8ULP_PAD_PTF0__USB1_ID 0x0100 0x0ACC 0xa 0x3 598 + #define MX8ULP_PAD_PTF0__EPDC0_SDOE 0x0100 0x0000 0xb 0x0 599 + #define MX8ULP_PAD_PTF0__DPI0_D23 0x0100 0x0000 0xc 0x0 600 + #define MX8ULP_PAD_PTF0__WUU1_P8 0x0100 0x0000 0xd 0x0 601 + #define MX8ULP_PAD_PTF1__PTF1 0x0104 0x0000 0x1 0x0 602 + #define MX8ULP_PAD_PTF1__FXIO1_D1 0x0104 0x0840 0x2 0x2 603 + #define MX8ULP_PAD_PTF1__LPUART6_RTS_B 0x0104 0x0000 0x4 0x0 604 + #define MX8ULP_PAD_PTF1__LPI2C6_SDA 0x0104 0x09BC 0x5 0x2 605 + #define MX8ULP_PAD_PTF1__I2S7_RX_FS 0x0104 0x0B68 0x7 0x2 606 + #define MX8ULP_PAD_PTF1__SDHC1_D0 0x0104 0x0A64 0x8 0x2 607 + #define MX8ULP_PAD_PTF1__ENET0_RXD0 0x0104 0x0AF8 0x9 0x2 608 + #define MX8ULP_PAD_PTF1__LP_HV_DBG_MUX_16 0x0104 0x0000 0xa 0x0 609 + #define MX8ULP_PAD_PTF1__EPDC0_SDSHR 0x0104 0x0000 0xb 0x0 610 + #define MX8ULP_PAD_PTF1__DPI0_D22 0x0104 0x0000 0xc 0x0 611 + #define MX8ULP_PAD_PTF1__WDOG3_RST 0x0104 0x0000 0xd 0x0 612 + #define MX8ULP_PAD_PTF1__DEBUG_MUX0_16 0x0104 0x0000 0xe 0x0 613 + #define MX8ULP_PAD_PTF1__DEBUG_MUX1_22 0x0104 0x0000 0xf 0x0 614 + #define MX8ULP_PAD_PTF2__PTF2 0x0108 0x0000 0x1 0x0 615 + #define MX8ULP_PAD_PTF2__FXIO1_D2 0x0108 0x086C 0x2 0x2 616 + #define MX8ULP_PAD_PTF2__LPUART6_TX 0x0108 0x09D4 0x4 0x2 617 + #define MX8ULP_PAD_PTF2__LPI2C6_HREQ 0x0108 0x09B4 0x5 0x2 618 + #define MX8ULP_PAD_PTF2__I2S7_RXD0 0x0108 0x0B54 0x7 0x2 619 + #define MX8ULP_PAD_PTF2__SDHC1_CLK 0x0108 0x0A5C 0x8 0x2 620 + #define MX8ULP_PAD_PTF2__ENET0_TXD1 0x0108 0x0000 0x9 0x0 621 + #define MX8ULP_PAD_PTF2__USB0_ID 0x0108 0x0AC8 0xa 0x3 622 + #define MX8ULP_PAD_PTF2__EPDC0_SDCE9 0x0108 0x0000 0xb 0x0 623 + #define MX8ULP_PAD_PTF2__DPI0_D21 0x0108 0x0000 0xc 0x0 624 + #define MX8ULP_PAD_PTF2__LP_HV_DBG_MUX_17 0x0108 0x0000 0xd 0x0 625 + #define MX8ULP_PAD_PTF2__DEBUG_MUX0_17 0x0108 0x0000 0xe 0x0 626 + #define MX8ULP_PAD_PTF2__DEBUG_MUX1_23 0x0108 0x0000 0xf 0x0 627 + #define MX8ULP_PAD_PTF3__PTF3 0x010C 0x0000 0x1 0x0 628 + #define MX8ULP_PAD_PTF3__FXIO1_D3 0x010C 0x0898 0x2 0x2 629 + #define MX8ULP_PAD_PTF3__LPUART6_RX 0x010C 0x09D0 0x4 0x2 630 + #define MX8ULP_PAD_PTF3__LPI2C7_HREQ 0x010C 0x09C0 0x5 0x2 631 + #define MX8ULP_PAD_PTF3__I2S7_RXD1 0x010C 0x0B58 0x7 0x2 632 + #define MX8ULP_PAD_PTF3__SDHC1_CMD 0x010C 0x0A60 0x8 0x2 633 + #define MX8ULP_PAD_PTF3__ENET0_TXD0 0x010C 0x0000 0x9 0x0 634 + #define MX8ULP_PAD_PTF3__USB0_PWR 0x010C 0x0000 0xa 0x0 635 + #define MX8ULP_PAD_PTF3__EPDC0_SDCE8 0x010C 0x0000 0xb 0x0 636 + #define MX8ULP_PAD_PTF3__DPI0_D20 0x010C 0x0000 0xc 0x0 637 + #define MX8ULP_PAD_PTF3__WUU1_P9 0x010C 0x0000 0xd 0x0 638 + #define MX8ULP_PAD_PTF3__DEBUG_MUX1_24 0x010C 0x0000 0xf 0x0 639 + #define MX8ULP_PAD_PTF4__PTF4 0x0110 0x0000 0x1 0x0 640 + #define MX8ULP_PAD_PTF4__FXIO1_D4 0x0110 0x08A4 0x2 0x2 641 + #define MX8ULP_PAD_PTF4__LPSPI4_PCS1 0x0110 0x08F8 0x3 0x3 642 + #define MX8ULP_PAD_PTF4__LPUART7_CTS_B 0x0110 0x09D8 0x4 0x2 643 + #define MX8ULP_PAD_PTF4__LPI2C7_SCL 0x0110 0x09C4 0x5 0x2 644 + #define MX8ULP_PAD_PTF4__TPM7_CLKIN 0x0110 0x09B0 0x6 0x1 645 + #define MX8ULP_PAD_PTF4__I2S7_RXD2 0x0110 0x0B5C 0x7 0x2 646 + #define MX8ULP_PAD_PTF4__SDHC1_D3 0x0110 0x0A70 0x8 0x2 647 + #define MX8ULP_PAD_PTF4__ENET0_TXEN 0x0110 0x0000 0x9 0x0 648 + #define MX8ULP_PAD_PTF4__USB0_OC 0x0110 0x0AC0 0xa 0x3 649 + #define MX8ULP_PAD_PTF4__EPDC0_SDCE7 0x0110 0x0000 0xb 0x0 650 + #define MX8ULP_PAD_PTF4__DPI0_D19 0x0110 0x0000 0xc 0x0 651 + #define MX8ULP_PAD_PTF4__WUU1_P10 0x0110 0x0000 0xd 0x0 652 + #define MX8ULP_PAD_PTF4__DEBUG_MUX1_25 0x0110 0x0000 0xf 0x0 653 + #define MX8ULP_PAD_PTF5__PTF5 0x0114 0x0000 0x1 0x0 654 + #define MX8ULP_PAD_PTF5__FXIO1_D5 0x0114 0x08A8 0x2 0x2 655 + #define MX8ULP_PAD_PTF5__LPSPI4_PCS2 0x0114 0x08FC 0x3 0x3 656 + #define MX8ULP_PAD_PTF5__LPUART7_RTS_B 0x0114 0x0000 0x4 0x0 657 + #define MX8ULP_PAD_PTF5__LPI2C7_SDA 0x0114 0x09C8 0x5 0x2 658 + #define MX8ULP_PAD_PTF5__TPM7_CH0 0x0114 0x0998 0x6 0x1 659 + #define MX8ULP_PAD_PTF5__I2S7_RXD3 0x0114 0x0B60 0x7 0x2 660 + #define MX8ULP_PAD_PTF5__SDHC1_D2 0x0114 0x0A6C 0x8 0x2 661 + #define MX8ULP_PAD_PTF5__ENET0_RXER 0x0114 0x0B08 0x9 0x2 662 + #define MX8ULP_PAD_PTF5__USB1_PWR 0x0114 0x0000 0xa 0x0 663 + #define MX8ULP_PAD_PTF5__EPDC0_SDCE6 0x0114 0x0000 0xb 0x0 664 + #define MX8ULP_PAD_PTF5__DPI0_D18 0x0114 0x0000 0xc 0x0 665 + #define MX8ULP_PAD_PTF5__LP_HV_DBG_MUX_18 0x0114 0x0000 0xd 0x0 666 + #define MX8ULP_PAD_PTF5__DEBUG_MUX0_18 0x0114 0x0000 0xe 0x0 667 + #define MX8ULP_PAD_PTF5__DEBUG_MUX1_26 0x0114 0x0000 0xf 0x0 668 + #define MX8ULP_PAD_PTF6__LP_HV_DBG_MUX_19 0x0118 0x0000 0x0 0x0 669 + #define MX8ULP_PAD_PTF6__PTF6 0x0118 0x0000 0x1 0x0 670 + #define MX8ULP_PAD_PTF6__FXIO1_D6 0x0118 0x08AC 0x2 0x2 671 + #define MX8ULP_PAD_PTF6__LPSPI4_PCS3 0x0118 0x0900 0x3 0x3 672 + #define MX8ULP_PAD_PTF6__LPUART7_TX 0x0118 0x09E0 0x4 0x2 673 + #define MX8ULP_PAD_PTF6__I3C2_SCL 0x0118 0x08BC 0x5 0x3 674 + #define MX8ULP_PAD_PTF6__TPM7_CH1 0x0118 0x099C 0x6 0x1 675 + #define MX8ULP_PAD_PTF6__I2S7_MCLK 0x0118 0x0000 0x7 0x0 676 + #define MX8ULP_PAD_PTF6__SDHC1_D4 0x0118 0x0A74 0x8 0x2 677 + #define MX8ULP_PAD_PTF6__ENET0_CRS_DV 0x0118 0x0AEC 0x9 0x2 678 + #define MX8ULP_PAD_PTF6__USB1_OC 0x0118 0x0AC4 0xa 0x3 679 + #define MX8ULP_PAD_PTF6__EPDC0_SDCE5 0x0118 0x0000 0xb 0x0 680 + #define MX8ULP_PAD_PTF6__DPI0_D17 0x0118 0x0000 0xc 0x0 681 + #define MX8ULP_PAD_PTF6__WDOG4_RST 0x0118 0x0000 0xd 0x0 682 + #define MX8ULP_PAD_PTF6__DEBUG_MUX0_19 0x0118 0x0000 0xe 0x0 683 + #define MX8ULP_PAD_PTF6__DEBUG_MUX1_27 0x0118 0x0000 0xf 0x0 684 + #define MX8ULP_PAD_PTF7__PTF7 0x011C 0x0000 0x1 0x0 685 + #define MX8ULP_PAD_PTF7__FXIO1_D7 0x011C 0x08B0 0x2 0x2 686 + #define MX8ULP_PAD_PTF7__LPUART7_RX 0x011C 0x09DC 0x4 0x2 687 + #define MX8ULP_PAD_PTF7__I3C2_SDA 0x011C 0x08C0 0x5 0x3 688 + #define MX8ULP_PAD_PTF7__TPM7_CH2 0x011C 0x09A0 0x6 0x1 689 + #define MX8ULP_PAD_PTF7__MQS1_LEFT 0x011C 0x0000 0x7 0x0 690 + #define MX8ULP_PAD_PTF7__SDHC1_D5 0x011C 0x0A78 0x8 0x2 691 + #define MX8ULP_PAD_PTF7__ENET0_REFCLK 0x011C 0x0AF4 0x9 0x2 692 + #define MX8ULP_PAD_PTF7__TRACE0_D15 0x011C 0x0000 0xa 0x0 693 + #define MX8ULP_PAD_PTF7__EPDC0_SDCE4 0x011C 0x0000 0xb 0x0 694 + #define MX8ULP_PAD_PTF7__DPI0_D16 0x011C 0x0000 0xc 0x0 695 + #define MX8ULP_PAD_PTF7__WUU1_P11 0x011C 0x0000 0xd 0x0 696 + #define MX8ULP_PAD_PTF7__DEBUG_MUX1_28 0x011C 0x0000 0xf 0x0 697 + #define MX8ULP_PAD_PTF8__PTF8 0x0120 0x0000 0x1 0x0 698 + #define MX8ULP_PAD_PTF8__FXIO1_D8 0x0120 0x08B4 0x2 0x2 699 + #define MX8ULP_PAD_PTF8__LPSPI4_SIN 0x0120 0x0908 0x3 0x3 700 + #define MX8ULP_PAD_PTF8__LPUART4_CTS_B 0x0120 0x08DC 0x4 0x3 701 + #define MX8ULP_PAD_PTF8__LPI2C4_SCL 0x0120 0x08C8 0x5 0x3 702 + #define MX8ULP_PAD_PTF8__TPM7_CH3 0x0120 0x09A4 0x6 0x1 703 + #define MX8ULP_PAD_PTF8__MQS1_RIGHT 0x0120 0x0000 0x7 0x0 704 + #define MX8ULP_PAD_PTF8__SDHC1_D6 0x0120 0x0A7C 0x8 0x2 705 + #define MX8ULP_PAD_PTF8__ENET0_MDIO 0x0120 0x0AF0 0x9 0x2 706 + #define MX8ULP_PAD_PTF8__TRACE0_D14 0x0120 0x0000 0xa 0x0 707 + #define MX8ULP_PAD_PTF8__EPDC0_D15 0x0120 0x0000 0xb 0x0 708 + #define MX8ULP_PAD_PTF8__DPI0_D15 0x0120 0x0000 0xc 0x0 709 + #define MX8ULP_PAD_PTF8__LP_HV_DBG_MUX_24 0x0120 0x0000 0xe 0x0 710 + #define MX8ULP_PAD_PTF8__DEBUG_MUX1_29 0x0120 0x0000 0xf 0x0 711 + #define MX8ULP_PAD_PTF9__PTF9 0x0124 0x0000 0x1 0x0 712 + #define MX8ULP_PAD_PTF9__FXIO1_D9 0x0124 0x08B8 0x2 0x2 713 + #define MX8ULP_PAD_PTF9__LPSPI4_SOUT 0x0124 0x090C 0x3 0x3 714 + #define MX8ULP_PAD_PTF9__LPUART4_RTS_B 0x0124 0x0000 0x4 0x0 715 + #define MX8ULP_PAD_PTF9__LPI2C4_SDA 0x0124 0x08CC 0x5 0x3 716 + #define MX8ULP_PAD_PTF9__TPM7_CH4 0x0124 0x09A8 0x6 0x1 717 + #define MX8ULP_PAD_PTF9__EXT_AUD_MCLK2 0x0124 0x0800 0x7 0x2 718 + #define MX8ULP_PAD_PTF9__SDHC1_D7 0x0124 0x0A80 0x8 0x2 719 + #define MX8ULP_PAD_PTF9__ENET0_MDC 0x0124 0x0000 0x9 0x0 720 + #define MX8ULP_PAD_PTF9__TRACE0_D13 0x0124 0x0000 0xa 0x0 721 + #define MX8ULP_PAD_PTF9__EPDC0_D14 0x0124 0x0000 0xb 0x0 722 + #define MX8ULP_PAD_PTF9__DPI0_D14 0x0124 0x0000 0xc 0x0 723 + #define MX8ULP_PAD_PTF9__LP_HV_DBG_MUX_25 0x0124 0x0000 0xe 0x0 724 + #define MX8ULP_PAD_PTF9__DEBUG_MUX1_30 0x0124 0x0000 0xf 0x0 725 + #define MX8ULP_PAD_PTF10__LP_HV_DBG_MUX_26 0x0128 0x0000 0x0 0x0 726 + #define MX8ULP_PAD_PTF10__PTF10 0x0128 0x0000 0x1 0x0 727 + #define MX8ULP_PAD_PTF10__FXIO1_D10 0x0128 0x0844 0x2 0x2 728 + #define MX8ULP_PAD_PTF10__LPSPI4_SCK 0x0128 0x0904 0x3 0x3 729 + #define MX8ULP_PAD_PTF10__LPUART4_TX 0x0128 0x08E4 0x4 0x3 730 + #define MX8ULP_PAD_PTF10__LPI2C4_HREQ 0x0128 0x08C4 0x5 0x3 731 + #define MX8ULP_PAD_PTF10__TPM7_CH5 0x0128 0x09AC 0x6 0x1 732 + #define MX8ULP_PAD_PTF10__I2S4_RX_BCLK 0x0128 0x0000 0x7 0x0 733 + #define MX8ULP_PAD_PTF10__SDHC1_DQS 0x0128 0x0A84 0x8 0x2 734 + #define MX8ULP_PAD_PTF10__ENET0_1588_CLKIN 0x0128 0x0AD0 0x9 0x2 735 + #define MX8ULP_PAD_PTF10__TRACE0_D12 0x0128 0x0000 0xa 0x0 736 + #define MX8ULP_PAD_PTF10__EPDC0_D13 0x0128 0x0000 0xb 0x0 737 + #define MX8ULP_PAD_PTF10__DPI0_D13 0x0128 0x0000 0xc 0x0 738 + #define MX8ULP_PAD_PTF10__DEBUG_MUX0_20 0x0128 0x0000 0xe 0x0 739 + #define MX8ULP_PAD_PTF10__DEBUG_MUX1_31 0x0128 0x0000 0xf 0x0 740 + #define MX8ULP_PAD_PTF11__PTF11 0x012C 0x0000 0x1 0x0 741 + #define MX8ULP_PAD_PTF11__FXIO1_D11 0x012C 0x0848 0x2 0x2 742 + #define MX8ULP_PAD_PTF11__LPSPI4_PCS0 0x012C 0x08F4 0x3 0x3 743 + #define MX8ULP_PAD_PTF11__LPUART4_RX 0x012C 0x08E0 0x4 0x3 744 + #define MX8ULP_PAD_PTF11__TPM4_CLKIN 0x012C 0x081C 0x6 0x2 745 + #define MX8ULP_PAD_PTF11__I2S4_RX_FS 0x012C 0x0000 0x7 0x0 746 + #define MX8ULP_PAD_PTF11__SDHC1_RESET_B 0x012C 0x0000 0x8 0x0 747 + #define MX8ULP_PAD_PTF11__ENET0_1588_TMR0 0x012C 0x0AD4 0x9 0x2 748 + #define MX8ULP_PAD_PTF11__TRACE0_D11 0x012C 0x0000 0xa 0x0 749 + #define MX8ULP_PAD_PTF11__EPDC0_D12 0x012C 0x0000 0xb 0x0 750 + #define MX8ULP_PAD_PTF11__DPI0_D12 0x012C 0x0000 0xc 0x0 751 + #define MX8ULP_PAD_PTF11__LP_HV_DBG_MUX_27 0x012C 0x0000 0xe 0x0 752 + #define MX8ULP_PAD_PTF11__DEBUG_MUX1_32 0x012C 0x0000 0xf 0x0 753 + #define MX8ULP_PAD_PTF12__PTF12 0x0130 0x0000 0x1 0x0 754 + #define MX8ULP_PAD_PTF12__FXIO1_D12 0x0130 0x084C 0x2 0x2 755 + #define MX8ULP_PAD_PTF12__LPSPI5_PCS1 0x0130 0x0914 0x3 0x2 756 + #define MX8ULP_PAD_PTF12__LPUART5_CTS_B 0x0130 0x08E8 0x4 0x3 757 + #define MX8ULP_PAD_PTF12__LPI2C5_SCL 0x0130 0x08D4 0x5 0x3 758 + #define MX8ULP_PAD_PTF12__TPM4_CH0 0x0130 0x0804 0x6 0x2 759 + #define MX8ULP_PAD_PTF12__I2S4_RXD0 0x0130 0x0000 0x7 0x0 760 + #define MX8ULP_PAD_PTF12__SDHC2_WP 0x0130 0x0ABC 0x8 0x1 761 + #define MX8ULP_PAD_PTF12__ENET0_1588_TMR1 0x0130 0x0AD8 0x9 0x2 762 + #define MX8ULP_PAD_PTF12__TRACE0_D10 0x0130 0x0000 0xa 0x0 763 + #define MX8ULP_PAD_PTF12__EPDC0_D11 0x0130 0x0000 0xb 0x0 764 + #define MX8ULP_PAD_PTF12__DPI0_D11 0x0130 0x0000 0xc 0x0 765 + #define MX8ULP_PAD_PTF12__LP_HV_DBG_MUX_28 0x0130 0x0000 0xe 0x0 766 + #define MX8ULP_PAD_PTF12__DEBUG_MUX1_33 0x0130 0x0000 0xf 0x0 767 + #define MX8ULP_PAD_PTF13__PTF13 0x0134 0x0000 0x1 0x0 768 + #define MX8ULP_PAD_PTF13__FXIO1_D13 0x0134 0x0850 0x2 0x2 769 + #define MX8ULP_PAD_PTF13__LPSPI5_PCS2 0x0134 0x0918 0x3 0x2 770 + #define MX8ULP_PAD_PTF13__LPUART5_RTS_B 0x0134 0x0000 0x4 0x0 771 + #define MX8ULP_PAD_PTF13__LPI2C5_SDA 0x0134 0x08D8 0x5 0x3 772 + #define MX8ULP_PAD_PTF13__TPM4_CH1 0x0134 0x0808 0x6 0x2 773 + #define MX8ULP_PAD_PTF13__I2S4_RXD1 0x0134 0x0000 0x7 0x0 774 + #define MX8ULP_PAD_PTF13__SDHC2_CD 0x0134 0x0A8C 0x8 0x1 775 + #define MX8ULP_PAD_PTF13__ENET0_1588_TMR2 0x0134 0x0ADC 0x9 0x2 776 + #define MX8ULP_PAD_PTF13__TRACE0_D9 0x0134 0x0000 0xa 0x0 777 + #define MX8ULP_PAD_PTF13__EPDC0_D10 0x0134 0x0000 0xb 0x0 778 + #define MX8ULP_PAD_PTF13__DPI0_D10 0x0134 0x0000 0xc 0x0 779 + #define MX8ULP_PAD_PTF13__DEBUG_MUX0_21 0x0134 0x0000 0xe 0x0 780 + #define MX8ULP_PAD_PTF13__LP_HV_DBG_MUX_29 0x0134 0x0000 0xf 0x0 781 + #define MX8ULP_PAD_PTF14__PTF14 0x0138 0x0000 0x1 0x0 782 + #define MX8ULP_PAD_PTF14__FXIO1_D14 0x0138 0x0854 0x2 0x2 783 + #define MX8ULP_PAD_PTF14__LPSPI5_PCS3 0x0138 0x091C 0x3 0x2 784 + #define MX8ULP_PAD_PTF14__LPUART5_TX 0x0138 0x08F0 0x4 0x3 785 + #define MX8ULP_PAD_PTF14__LPI2C5_HREQ 0x0138 0x08D0 0x5 0x3 786 + #define MX8ULP_PAD_PTF14__TPM4_CH2 0x0138 0x080C 0x6 0x2 787 + #define MX8ULP_PAD_PTF14__I2S4_MCLK 0x0138 0x0000 0x7 0x0 788 + #define MX8ULP_PAD_PTF14__SDHC2_VS 0x0138 0x0000 0x8 0x0 789 + #define MX8ULP_PAD_PTF14__ENET0_1588_TMR3 0x0138 0x0AE0 0x9 0x2 790 + #define MX8ULP_PAD_PTF14__TRACE0_D8 0x0138 0x0000 0xa 0x0 791 + #define MX8ULP_PAD_PTF14__EPDC0_D9 0x0138 0x0000 0xb 0x0 792 + #define MX8ULP_PAD_PTF14__DPI0_D9 0x0138 0x0000 0xc 0x0 793 + #define MX8ULP_PAD_PTF14__DEBUG_MUX0_22 0x0138 0x0000 0xe 0x0 794 + #define MX8ULP_PAD_PTF14__LP_HV_DBG_MUX_30 0x0138 0x0000 0xf 0x0 795 + #define MX8ULP_PAD_PTF15__PTF15 0x013C 0x0000 0x1 0x0 796 + #define MX8ULP_PAD_PTF15__FXIO1_D15 0x013C 0x0858 0x2 0x2 797 + #define MX8ULP_PAD_PTF15__LPUART5_RX 0x013C 0x08EC 0x4 0x3 798 + #define MX8ULP_PAD_PTF15__TPM4_CH3 0x013C 0x0810 0x6 0x2 799 + #define MX8ULP_PAD_PTF15__I2S4_TX_BCLK 0x013C 0x0000 0x7 0x0 800 + #define MX8ULP_PAD_PTF15__SDHC2_D1 0x013C 0x0A9C 0x8 0x3 801 + #define MX8ULP_PAD_PTF15__ENET0_RXD2 0x013C 0x0B00 0x9 0x2 802 + #define MX8ULP_PAD_PTF15__TRACE0_D7 0x013C 0x0000 0xa 0x0 803 + #define MX8ULP_PAD_PTF15__EPDC0_D8 0x013C 0x0000 0xb 0x0 804 + #define MX8ULP_PAD_PTF15__DPI0_D8 0x013C 0x0000 0xc 0x0 805 + #define MX8ULP_PAD_PTF15__LP_HV_DBG_MUX_31 0x013C 0x0000 0xf 0x0 806 + #define MX8ULP_PAD_PTF16__PTF16 0x0140 0x0000 0x1 0x0 807 + #define MX8ULP_PAD_PTF16__FXIO1_D16 0x0140 0x085C 0x2 0x2 808 + #define MX8ULP_PAD_PTF16__LPSPI5_SIN 0x0140 0x0924 0x3 0x2 809 + #define MX8ULP_PAD_PTF16__LPUART6_CTS_B 0x0140 0x09CC 0x4 0x3 810 + #define MX8ULP_PAD_PTF16__LPI2C6_SCL 0x0140 0x09B8 0x5 0x3 811 + #define MX8ULP_PAD_PTF16__TPM4_CH4 0x0140 0x0814 0x6 0x2 812 + #define MX8ULP_PAD_PTF16__I2S4_TX_FS 0x0140 0x0000 0x7 0x0 813 + #define MX8ULP_PAD_PTF16__SDHC2_D0 0x0140 0x0A98 0x8 0x3 814 + #define MX8ULP_PAD_PTF16__ENET0_RXD3 0x0140 0x0B04 0x9 0x2 815 + #define MX8ULP_PAD_PTF16__TRACE0_D6 0x0140 0x0000 0xa 0x0 816 + #define MX8ULP_PAD_PTF16__EPDC0_D7 0x0140 0x0000 0xb 0x0 817 + #define MX8ULP_PAD_PTF16__DPI0_D7 0x0140 0x0000 0xc 0x0 818 + #define MX8ULP_PAD_PTF16__LP_HV_DBG_MUX_32 0x0140 0x0000 0xf 0x0 819 + #define MX8ULP_PAD_PTF17__PTF17 0x0144 0x0000 0x1 0x0 820 + #define MX8ULP_PAD_PTF17__FXIO1_D17 0x0144 0x0860 0x2 0x2 821 + #define MX8ULP_PAD_PTF17__LPSPI5_SOUT 0x0144 0x0928 0x3 0x2 822 + #define MX8ULP_PAD_PTF17__LPUART6_RTS_B 0x0144 0x0000 0x4 0x0 823 + #define MX8ULP_PAD_PTF17__LPI2C6_SDA 0x0144 0x09BC 0x5 0x3 824 + #define MX8ULP_PAD_PTF17__TPM4_CH5 0x0144 0x0818 0x6 0x2 825 + #define MX8ULP_PAD_PTF17__I2S4_TXD0 0x0144 0x0000 0x7 0x0 826 + #define MX8ULP_PAD_PTF17__SDHC2_CLK 0x0144 0x0A90 0x8 0x3 827 + #define MX8ULP_PAD_PTF17__ENET0_RXCLK 0x0144 0x0B0C 0x9 0x2 828 + #define MX8ULP_PAD_PTF17__TRACE0_D5 0x0144 0x0000 0xa 0x0 829 + #define MX8ULP_PAD_PTF17__EPDC0_D6 0x0144 0x0000 0xb 0x0 830 + #define MX8ULP_PAD_PTF17__DPI0_D6 0x0144 0x0000 0xc 0x0 831 + #define MX8ULP_PAD_PTF17__DEBUG_MUX0_23 0x0144 0x0000 0xe 0x0 832 + #define MX8ULP_PAD_PTF17__LP_HV_DBG_MUX_33 0x0144 0x0000 0xf 0x0 833 + #define MX8ULP_PAD_PTF18__PTF18 0x0148 0x0000 0x1 0x0 834 + #define MX8ULP_PAD_PTF18__FXIO1_D18 0x0148 0x0864 0x2 0x2 835 + #define MX8ULP_PAD_PTF18__LPSPI5_SCK 0x0148 0x0920 0x3 0x2 836 + #define MX8ULP_PAD_PTF18__LPUART6_TX 0x0148 0x09D4 0x4 0x3 837 + #define MX8ULP_PAD_PTF18__LPI2C6_HREQ 0x0148 0x09B4 0x5 0x3 838 + #define MX8ULP_PAD_PTF18__TPM5_CLKIN 0x0148 0x0838 0x6 0x2 839 + #define MX8ULP_PAD_PTF18__I2S4_TXD1 0x0148 0x0000 0x7 0x0 840 + #define MX8ULP_PAD_PTF18__SDHC2_CMD 0x0148 0x0A94 0x8 0x3 841 + #define MX8ULP_PAD_PTF18__ENET0_TXD2 0x0148 0x0000 0x9 0x0 842 + #define MX8ULP_PAD_PTF18__TRACE0_D4 0x0148 0x0000 0xa 0x0 843 + #define MX8ULP_PAD_PTF18__EPDC0_D5 0x0148 0x0000 0xb 0x0 844 + #define MX8ULP_PAD_PTF18__DPI0_D5 0x0148 0x0000 0xc 0x0 845 + #define MX8ULP_PAD_PTF19__PTF19 0x014C 0x0000 0x1 0x0 846 + #define MX8ULP_PAD_PTF19__FXIO1_D19 0x014C 0x0868 0x2 0x2 847 + #define MX8ULP_PAD_PTF19__LPSPI5_PCS0 0x014C 0x0910 0x3 0x2 848 + #define MX8ULP_PAD_PTF19__LPUART6_RX 0x014C 0x09D0 0x4 0x3 849 + #define MX8ULP_PAD_PTF19__TPM5_CH0 0x014C 0x0820 0x6 0x2 850 + #define MX8ULP_PAD_PTF19__I2S5_RX_BCLK 0x014C 0x0000 0x7 0x0 851 + #define MX8ULP_PAD_PTF19__SDHC2_D3 0x014C 0x0AA4 0x8 0x3 852 + #define MX8ULP_PAD_PTF19__ENET0_TXD3 0x014C 0x0000 0x9 0x0 853 + #define MX8ULP_PAD_PTF19__TRACE0_D3 0x014C 0x0000 0xa 0x0 854 + #define MX8ULP_PAD_PTF19__EPDC0_D4 0x014C 0x0000 0xb 0x0 855 + #define MX8ULP_PAD_PTF19__DPI0_D4 0x014C 0x0000 0xc 0x0 856 + #define MX8ULP_PAD_PTF20__PTF20 0x0150 0x0000 0x1 0x0 857 + #define MX8ULP_PAD_PTF20__FXIO1_D20 0x0150 0x0870 0x2 0x2 858 + #define MX8ULP_PAD_PTF20__LPUART7_CTS_B 0x0150 0x09D8 0x4 0x3 859 + #define MX8ULP_PAD_PTF20__LPI2C7_SCL 0x0150 0x09C4 0x5 0x3 860 + #define MX8ULP_PAD_PTF20__TPM5_CH1 0x0150 0x0824 0x6 0x2 861 + #define MX8ULP_PAD_PTF20__I2S5_RX_FS 0x0150 0x0000 0x7 0x0 862 + #define MX8ULP_PAD_PTF20__SDHC2_D2 0x0150 0x0AA0 0x8 0x3 863 + #define MX8ULP_PAD_PTF20__ENET0_TXCLK 0x0150 0x0B10 0x9 0x2 864 + #define MX8ULP_PAD_PTF20__TRACE0_D2 0x0150 0x0000 0xa 0x0 865 + #define MX8ULP_PAD_PTF20__EPDC0_D3 0x0150 0x0000 0xb 0x0 866 + #define MX8ULP_PAD_PTF20__DPI0_D3 0x0150 0x0000 0xc 0x0 867 + #define MX8ULP_PAD_PTF21__PTF21 0x0154 0x0000 0x1 0x0 868 + #define MX8ULP_PAD_PTF21__FXIO1_D21 0x0154 0x0874 0x2 0x2 869 + #define MX8ULP_PAD_PTF21__SPDIF_CLK 0x0154 0x0000 0x3 0x0 870 + #define MX8ULP_PAD_PTF21__LPUART7_RTS_B 0x0154 0x0000 0x4 0x0 871 + #define MX8ULP_PAD_PTF21__LPI2C7_SDA 0x0154 0x09C8 0x5 0x3 872 + #define MX8ULP_PAD_PTF21__TPM6_CLKIN 0x0154 0x0994 0x6 0x2 873 + #define MX8ULP_PAD_PTF21__I2S5_RXD0 0x0154 0x0000 0x7 0x0 874 + #define MX8ULP_PAD_PTF21__SDHC2_D4 0x0154 0x0AA8 0x8 0x2 875 + #define MX8ULP_PAD_PTF21__ENET0_CRS 0x0154 0x0AE8 0x9 0x2 876 + #define MX8ULP_PAD_PTF21__TRACE0_D1 0x0154 0x0000 0xa 0x0 877 + #define MX8ULP_PAD_PTF21__EPDC0_D2 0x0154 0x0000 0xb 0x0 878 + #define MX8ULP_PAD_PTF21__DPI0_D2 0x0154 0x0000 0xc 0x0 879 + #define MX8ULP_PAD_PTF22__PTF22 0x0158 0x0000 0x1 0x0 880 + #define MX8ULP_PAD_PTF22__FXIO1_D22 0x0158 0x0878 0x2 0x2 881 + #define MX8ULP_PAD_PTF22__SPDIF_IN0 0x0158 0x0B74 0x3 0x3 882 + #define MX8ULP_PAD_PTF22__LPUART7_TX 0x0158 0x09E0 0x4 0x3 883 + #define MX8ULP_PAD_PTF22__LPI2C7_HREQ 0x0158 0x09C0 0x5 0x3 884 + #define MX8ULP_PAD_PTF22__TPM6_CH0 0x0158 0x097C 0x6 0x2 885 + #define MX8ULP_PAD_PTF22__I2S5_RXD1 0x0158 0x0000 0x7 0x0 886 + #define MX8ULP_PAD_PTF22__SDHC2_D5 0x0158 0x0AAC 0x8 0x2 887 + #define MX8ULP_PAD_PTF22__ENET0_COL 0x0158 0x0AE4 0x9 0x2 888 + #define MX8ULP_PAD_PTF22__TRACE0_D0 0x0158 0x0000 0xa 0x0 889 + #define MX8ULP_PAD_PTF22__EPDC0_D1 0x0158 0x0000 0xb 0x0 890 + #define MX8ULP_PAD_PTF22__DPI0_D1 0x0158 0x0000 0xc 0x0 891 + #define MX8ULP_PAD_PTF23__PTF23 0x015C 0x0000 0x1 0x0 892 + #define MX8ULP_PAD_PTF23__FXIO1_D23 0x015C 0x087C 0x2 0x2 893 + #define MX8ULP_PAD_PTF23__SPDIF_OUT0 0x015C 0x0000 0x3 0x0 894 + #define MX8ULP_PAD_PTF23__LPUART7_RX 0x015C 0x09DC 0x4 0x3 895 + #define MX8ULP_PAD_PTF23__I3C2_PUR 0x015C 0x0000 0x5 0x0 896 + #define MX8ULP_PAD_PTF23__TPM6_CH1 0x015C 0x0980 0x6 0x2 897 + #define MX8ULP_PAD_PTF23__I2S5_RXD2 0x015C 0x0000 0x7 0x0 898 + #define MX8ULP_PAD_PTF23__SDHC2_D6 0x015C 0x0AB0 0x8 0x2 899 + #define MX8ULP_PAD_PTF23__ENET0_TXER 0x015C 0x0000 0x9 0x0 900 + #define MX8ULP_PAD_PTF23__TRACE0_CLKOUT 0x015C 0x0000 0xa 0x0 901 + #define MX8ULP_PAD_PTF23__EPDC0_D0 0x015C 0x0000 0xb 0x0 902 + #define MX8ULP_PAD_PTF23__DPI0_D0 0x015C 0x0000 0xc 0x0 903 + #define MX8ULP_PAD_PTF24__PTF24 0x0160 0x0000 0x1 0x0 904 + #define MX8ULP_PAD_PTF24__FXIO1_D24 0x0160 0x0880 0x2 0x2 905 + #define MX8ULP_PAD_PTF24__SPDIF_IN1 0x0160 0x0B78 0x3 0x3 906 + #define MX8ULP_PAD_PTF24__I3C2_SCL 0x0160 0x08BC 0x5 0x4 907 + #define MX8ULP_PAD_PTF24__I2S5_RXD3 0x0160 0x0000 0x7 0x0 908 + #define MX8ULP_PAD_PTF24__SDHC2_D7 0x0160 0x0AB4 0x8 0x2 909 + #define MX8ULP_PAD_PTF24__DBI0_WRX 0x0160 0x0000 0xa 0x0 910 + #define MX8ULP_PAD_PTF24__EPDC0_SDCLK 0x0160 0x0000 0xb 0x0 911 + #define MX8ULP_PAD_PTF24__DPI0_PCLK 0x0160 0x0000 0xc 0x0 912 + #define MX8ULP_PAD_PTF24__WUU1_P12 0x0160 0x0000 0xd 0x0 913 + #define MX8ULP_PAD_PTF25__PTF25 0x0164 0x0000 0x1 0x0 914 + #define MX8ULP_PAD_PTF25__FXIO1_D25 0x0164 0x0884 0x2 0x2 915 + #define MX8ULP_PAD_PTF25__SPDIF_OUT1 0x0164 0x0000 0x3 0x0 916 + #define MX8ULP_PAD_PTF25__I3C2_SDA 0x0164 0x08C0 0x5 0x4 917 + #define MX8ULP_PAD_PTF25__TPM7_CH5 0x0164 0x09AC 0x6 0x2 918 + #define MX8ULP_PAD_PTF25__I2S5_MCLK 0x0164 0x0000 0x7 0x0 919 + #define MX8ULP_PAD_PTF25__SDHC2_DQS 0x0164 0x0AB8 0x8 0x2 920 + #define MX8ULP_PAD_PTF25__EXT_AUD_MCLK2 0x0164 0x0800 0x9 0x3 921 + #define MX8ULP_PAD_PTF25__EPDC0_GDSP 0x0164 0x0000 0xb 0x0 922 + #define MX8ULP_PAD_PTF25__DPI0_VSYNC 0x0164 0x0000 0xc 0x0 923 + #define MX8ULP_PAD_PTF25__WUU1_P13 0x0164 0x0000 0xd 0x0 924 + #define MX8ULP_PAD_PTF26__PTF26 0x0168 0x0000 0x1 0x0 925 + #define MX8ULP_PAD_PTF26__FXIO1_D26 0x0168 0x0888 0x2 0x2 926 + #define MX8ULP_PAD_PTF26__SPDIF_IN2 0x0168 0x0B7C 0x3 0x3 927 + #define MX8ULP_PAD_PTF26__TPM7_CLKIN 0x0168 0x09B0 0x6 0x2 928 + #define MX8ULP_PAD_PTF26__I2S5_TX_BCLK 0x0168 0x0000 0x7 0x0 929 + #define MX8ULP_PAD_PTF26__SDHC2_RESET_B 0x0168 0x0000 0x8 0x0 930 + #define MX8ULP_PAD_PTF26__EPDC0_SDLE 0x0168 0x0000 0xb 0x0 931 + #define MX8ULP_PAD_PTF26__DPI0_HSYNC 0x0168 0x0000 0xc 0x0 932 + #define MX8ULP_PAD_PTF26__WUU1_P14 0x0168 0x0000 0xd 0x0 933 + #define MX8ULP_PAD_PTF27__PTF27 0x016C 0x0000 0x1 0x0 934 + #define MX8ULP_PAD_PTF27__FXIO1_D27 0x016C 0x088C 0x2 0x2 935 + #define MX8ULP_PAD_PTF27__SPDIF_OUT2 0x016C 0x0000 0x3 0x0 936 + #define MX8ULP_PAD_PTF27__TPM7_CH0 0x016C 0x0998 0x6 0x2 937 + #define MX8ULP_PAD_PTF27__I2S5_TX_FS 0x016C 0x0000 0x7 0x0 938 + #define MX8ULP_PAD_PTF27__SDHC2_WP 0x016C 0x0ABC 0x8 0x2 939 + #define MX8ULP_PAD_PTF27__EPDC0_SDCE0 0x016C 0x0000 0xb 0x0 940 + #define MX8ULP_PAD_PTF27__DPI0_DE 0x016C 0x0000 0xc 0x0 941 + #define MX8ULP_PAD_PTF27__WUU1_P15 0x016C 0x0000 0xd 0x0 942 + #define MX8ULP_PAD_PTF28__PTF28 0x0170 0x0000 0x1 0x0 943 + #define MX8ULP_PAD_PTF28__FXIO1_D28 0x0170 0x0890 0x2 0x2 944 + #define MX8ULP_PAD_PTF28__SPDIF_IN3 0x0170 0x0B80 0x3 0x3 945 + #define MX8ULP_PAD_PTF28__TPM7_CH1 0x0170 0x099C 0x6 0x2 946 + #define MX8ULP_PAD_PTF28__I2S5_TXD0 0x0170 0x0000 0x7 0x0 947 + #define MX8ULP_PAD_PTF28__SDHC2_CD 0x0170 0x0A8C 0x8 0x2 948 + #define MX8ULP_PAD_PTF28__EPDC0_SDCLK_B 0x0170 0x0000 0xb 0x0 949 + #define MX8ULP_PAD_PTF28__LP_HV_DBG_MUX_20 0x0170 0x0000 0xf 0x0 950 + #define MX8ULP_PAD_PTF29__PTF29 0x0174 0x0000 0x1 0x0 951 + #define MX8ULP_PAD_PTF29__FXIO1_D29 0x0174 0x0894 0x2 0x2 952 + #define MX8ULP_PAD_PTF29__SPDIF_OUT3 0x0174 0x0000 0x3 0x0 953 + #define MX8ULP_PAD_PTF29__TPM7_CH2 0x0174 0x09A0 0x6 0x2 954 + #define MX8ULP_PAD_PTF29__I2S5_TXD1 0x0174 0x0000 0x7 0x0 955 + #define MX8ULP_PAD_PTF29__SDHC2_VS 0x0174 0x0000 0x8 0x0 956 + #define MX8ULP_PAD_PTF29__EPDC0_SDCE1 0x0174 0x0000 0xb 0x0 957 + #define MX8ULP_PAD_PTF29__WDOG3_RST 0x0174 0x0000 0xd 0x0 958 + #define MX8ULP_PAD_PTF29__LP_HV_DBG_MUX_21 0x0174 0x0000 0xf 0x0 959 + #define MX8ULP_PAD_PTF30__PTF30 0x0178 0x0000 0x1 0x0 960 + #define MX8ULP_PAD_PTF30__FXIO1_D30 0x0178 0x089C 0x2 0x2 961 + #define MX8ULP_PAD_PTF30__TPM7_CH3 0x0178 0x09A4 0x6 0x2 962 + #define MX8ULP_PAD_PTF30__I2S5_TXD2 0x0178 0x0000 0x7 0x0 963 + #define MX8ULP_PAD_PTF30__MQS1_LEFT 0x0178 0x0000 0x8 0x0 964 + #define MX8ULP_PAD_PTF30__EPDC0_SDCE2 0x0178 0x0000 0xb 0x0 965 + #define MX8ULP_PAD_PTF30__WDOG4_RST 0x0178 0x0000 0xd 0x0 966 + #define MX8ULP_PAD_PTF30__LP_HV_DBG_MUX_22 0x0178 0x0000 0xf 0x0 967 + #define MX8ULP_PAD_PTF31__PTF31 0x017C 0x0000 0x1 0x0 968 + #define MX8ULP_PAD_PTF31__FXIO1_D31 0x017C 0x08A0 0x2 0x2 969 + #define MX8ULP_PAD_PTF31__TPM7_CH4 0x017C 0x09A8 0x6 0x2 970 + #define MX8ULP_PAD_PTF31__I2S5_TXD3 0x017C 0x0000 0x7 0x0 971 + #define MX8ULP_PAD_PTF31__MQS1_RIGHT 0x017C 0x0000 0x8 0x0 972 + #define MX8ULP_PAD_PTF31__EPDC0_SDCE3 0x017C 0x0000 0xb 0x0 973 + #define MX8ULP_PAD_PTF31__WDOG5_RST 0x017C 0x0000 0xd 0x0 974 + #define MX8ULP_PAD_PTF31__LP_HV_DBG_MUX_23 0x017C 0x0000 0xf 0x0 975 + #define MX8ULP_PAD_BOOT_MODE0__BOOT_MODE0 0x0400 0x0000 0x0 0x0 976 + #define MX8ULP_PAD_BOOT_MODE1__BOOT_MODE1 0x0404 0x0000 0x0 0x0 977 + 978 + #endif /* __DTS_IMX8ULP_PINFUNC_H */
+434
arch/arm64/boot/dts/freescale/imx8ulp.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright 2021 NXP 4 + */ 5 + 6 + #include <dt-bindings/clock/imx8ulp-clock.h> 7 + #include <dt-bindings/gpio/gpio.h> 8 + #include <dt-bindings/interrupt-controller/arm-gic.h> 9 + #include <dt-bindings/power/imx8ulp-power.h> 10 + 11 + #include "imx8ulp-pinfunc.h" 12 + 13 + / { 14 + interrupt-parent = <&gic>; 15 + #address-cells = <2>; 16 + #size-cells = <2>; 17 + 18 + aliases { 19 + gpio0 = &gpiod; 20 + gpio1 = &gpioe; 21 + gpio2 = &gpiof; 22 + mmc0 = &usdhc0; 23 + mmc1 = &usdhc1; 24 + mmc2 = &usdhc2; 25 + serial0 = &lpuart4; 26 + serial1 = &lpuart5; 27 + serial2 = &lpuart6; 28 + serial3 = &lpuart7; 29 + }; 30 + 31 + cpus { 32 + #address-cells = <2>; 33 + #size-cells = <0>; 34 + 35 + A35_0: cpu@0 { 36 + device_type = "cpu"; 37 + compatible = "arm,cortex-a35"; 38 + reg = <0x0 0x0>; 39 + enable-method = "psci"; 40 + next-level-cache = <&A35_L2>; 41 + }; 42 + 43 + A35_1: cpu@1 { 44 + device_type = "cpu"; 45 + compatible = "arm,cortex-a35"; 46 + reg = <0x0 0x1>; 47 + enable-method = "psci"; 48 + next-level-cache = <&A35_L2>; 49 + }; 50 + 51 + A35_L2: l2-cache0 { 52 + compatible = "cache"; 53 + }; 54 + }; 55 + 56 + gic: interrupt-controller@2d400000 { 57 + compatible = "arm,gic-v3"; 58 + reg = <0x0 0x2d400000 0 0x10000>, /* GIC Dist */ 59 + <0x0 0x2d440000 0 0xc0000>; /* GICR (RD_base + SGI_base) */ 60 + #interrupt-cells = <3>; 61 + interrupt-controller; 62 + interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 63 + }; 64 + 65 + psci { 66 + compatible = "arm,psci-1.0"; 67 + method = "smc"; 68 + }; 69 + 70 + timer { 71 + compatible = "arm,armv8-timer"; 72 + interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, /* Physical Secure */ 73 + <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, /* Physical Non-Secure */ 74 + <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, /* Virtual */ 75 + <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; /* Hypervisor */ 76 + }; 77 + 78 + frosc: clock-frosc { 79 + compatible = "fixed-clock"; 80 + clock-frequency = <192000000>; 81 + clock-output-names = "frosc"; 82 + #clock-cells = <0>; 83 + }; 84 + 85 + lposc: clock-lposc { 86 + compatible = "fixed-clock"; 87 + clock-frequency = <1000000>; 88 + clock-output-names = "lposc"; 89 + #clock-cells = <0>; 90 + }; 91 + 92 + rosc: clock-rosc { 93 + compatible = "fixed-clock"; 94 + clock-frequency = <32768>; 95 + clock-output-names = "rosc"; 96 + #clock-cells = <0>; 97 + }; 98 + 99 + sosc: clock-sosc { 100 + compatible = "fixed-clock"; 101 + clock-frequency = <24000000>; 102 + clock-output-names = "sosc"; 103 + #clock-cells = <0>; 104 + }; 105 + 106 + sram@2201f000 { 107 + compatible = "mmio-sram"; 108 + reg = <0x0 0x2201f000 0x0 0x1000>; 109 + 110 + #address-cells = <1>; 111 + #size-cells = <1>; 112 + ranges = <0 0x0 0x2201f000 0x1000>; 113 + 114 + scmi_buf: scmi-buf@0 { 115 + compatible = "arm,scmi-shmem"; 116 + reg = <0x0 0x400>; 117 + }; 118 + }; 119 + 120 + firmware { 121 + scmi { 122 + compatible = "arm,scmi-smc"; 123 + arm,smc-id = <0xc20000fe>; 124 + #address-cells = <1>; 125 + #size-cells = <0>; 126 + shmem = <&scmi_buf>; 127 + 128 + scmi_devpd: protocol@11 { 129 + reg = <0x11>; 130 + #power-domain-cells = <1>; 131 + }; 132 + 133 + scmi_sensor: protocol@15 { 134 + reg = <0x15>; 135 + #thermal-sensor-cells = <0>; 136 + }; 137 + }; 138 + }; 139 + 140 + soc@0 { 141 + compatible = "simple-bus"; 142 + #address-cells = <1>; 143 + #size-cells = <1>; 144 + ranges = <0x0 0x0 0x0 0x40000000>; 145 + 146 + per_bridge3: bus@29000000 { 147 + compatible = "simple-bus"; 148 + reg = <0x29000000 0x800000>; 149 + #address-cells = <1>; 150 + #size-cells = <1>; 151 + ranges; 152 + 153 + wdog3: watchdog@292a0000 { 154 + compatible = "fsl,imx8ulp-wdt", "fsl,imx7ulp-wdt"; 155 + reg = <0x292a0000 0x10000>; 156 + interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 157 + clocks = <&pcc3 IMX8ULP_CLK_WDOG3>; 158 + assigned-clocks = <&pcc3 IMX8ULP_CLK_WDOG3>; 159 + assigned-clock-parents = <&cgc1 IMX8ULP_CLK_SOSC_DIV2>; 160 + timeout-sec = <40>; 161 + }; 162 + 163 + cgc1: clock-controller@292c0000 { 164 + compatible = "fsl,imx8ulp-cgc1"; 165 + reg = <0x292c0000 0x10000>; 166 + clocks = <&rosc>, <&sosc>, <&frosc>, <&lposc>; 167 + clock-names = "rosc", "sosc", "frosc", "lposc"; 168 + #clock-cells = <1>; 169 + }; 170 + 171 + pcc3: clock-controller@292d0000 { 172 + compatible = "fsl,imx8ulp-pcc3"; 173 + reg = <0x292d0000 0x10000>; 174 + #clock-cells = <1>; 175 + }; 176 + 177 + tpm5: tpm@29340000 { 178 + compatible = "fsl,imx8ulp-tpm", "fsl,imx7ulp-tpm"; 179 + reg = <0x29340000 0x1000>; 180 + interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 181 + clocks = <&pcc3 IMX8ULP_CLK_TPM5>, 182 + <&pcc3 IMX8ULP_CLK_TPM5>; 183 + clock-names = "ipg", "per"; 184 + status = "disabled"; 185 + }; 186 + 187 + lpi2c4: i2c@29370000 { 188 + compatible = "fsl,imx8ulp-lpi2c", "fsl,imx7ulp-lpi2c"; 189 + reg = <0x29370000 0x10000>; 190 + interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 191 + clocks = <&pcc3 IMX8ULP_CLK_LPI2C4>, 192 + <&pcc3 IMX8ULP_CLK_LPI2C4>; 193 + clock-names = "per", "ipg"; 194 + assigned-clocks = <&pcc3 IMX8ULP_CLK_LPI2C4>; 195 + assigned-clock-parents = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>; 196 + assigned-clock-rates = <48000000>; 197 + status = "disabled"; 198 + }; 199 + 200 + lpi2c5: i2c@29380000 { 201 + compatible = "fsl,imx8ulp-lpi2c", "fsl,imx7ulp-lpi2c"; 202 + reg = <0x29380000 0x10000>; 203 + interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 204 + clocks = <&pcc3 IMX8ULP_CLK_LPI2C5>, 205 + <&pcc3 IMX8ULP_CLK_LPI2C5>; 206 + clock-names = "per", "ipg"; 207 + assigned-clocks = <&pcc3 IMX8ULP_CLK_LPI2C5>; 208 + assigned-clock-parents = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>; 209 + assigned-clock-rates = <48000000>; 210 + status = "disabled"; 211 + }; 212 + 213 + lpuart4: serial@29390000 { 214 + compatible = "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart"; 215 + reg = <0x29390000 0x1000>; 216 + interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 217 + clocks = <&pcc3 IMX8ULP_CLK_LPUART4>; 218 + clock-names = "ipg"; 219 + status = "disabled"; 220 + }; 221 + 222 + lpuart5: serial@293a0000 { 223 + compatible = "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart"; 224 + reg = <0x293a0000 0x1000>; 225 + interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 226 + clocks = <&pcc3 IMX8ULP_CLK_LPUART5>; 227 + clock-names = "ipg"; 228 + status = "disabled"; 229 + }; 230 + 231 + lpspi4: spi@293b0000 { 232 + #address-cells = <1>; 233 + #size-cells = <0>; 234 + compatible = "fsl,imx8ulp-spi", "fsl,imx7ulp-spi"; 235 + reg = <0x293b0000 0x10000>; 236 + interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 237 + clocks = <&pcc3 IMX8ULP_CLK_LPSPI4>, 238 + <&pcc3 IMX8ULP_CLK_LPSPI4>; 239 + clock-names = "per", "ipg"; 240 + assigned-clocks = <&pcc3 IMX8ULP_CLK_LPSPI4>; 241 + assigned-clock-parents = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>; 242 + assigned-clock-rates = <16000000>; 243 + status = "disabled"; 244 + }; 245 + 246 + lpspi5: spi@293c0000 { 247 + #address-cells = <1>; 248 + #size-cells = <0>; 249 + compatible = "fsl,imx8ulp-spi", "fsl,imx7ulp-spi"; 250 + reg = <0x293c0000 0x10000>; 251 + interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 252 + clocks = <&pcc3 IMX8ULP_CLK_LPSPI5>, 253 + <&pcc3 IMX8ULP_CLK_LPSPI5>; 254 + clock-names = "per", "ipg"; 255 + assigned-clocks = <&pcc3 IMX8ULP_CLK_LPSPI5>; 256 + assigned-clock-parents = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>; 257 + assigned-clock-rates = <16000000>; 258 + status = "disabled"; 259 + }; 260 + }; 261 + 262 + per_bridge4: bus@29800000 { 263 + compatible = "simple-bus"; 264 + reg = <0x29800000 0x800000>; 265 + #address-cells = <1>; 266 + #size-cells = <1>; 267 + ranges; 268 + 269 + pcc4: clock-controller@29800000 { 270 + compatible = "fsl,imx8ulp-pcc4"; 271 + reg = <0x29800000 0x10000>; 272 + #clock-cells = <1>; 273 + }; 274 + 275 + lpi2c6: i2c@29840000 { 276 + compatible = "fsl,imx8ulp-lpi2c", "fsl,imx7ulp-lpi2c"; 277 + reg = <0x29840000 0x10000>; 278 + interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 279 + clocks = <&pcc4 IMX8ULP_CLK_LPI2C6>, 280 + <&pcc4 IMX8ULP_CLK_LPI2C6>; 281 + clock-names = "per", "ipg"; 282 + assigned-clocks = <&pcc4 IMX8ULP_CLK_LPI2C6>; 283 + assigned-clock-parents = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>; 284 + assigned-clock-rates = <48000000>; 285 + status = "disabled"; 286 + }; 287 + 288 + lpi2c7: i2c@29850000 { 289 + compatible = "fsl,imx8ulp-lpi2c", "fsl,imx7ulp-lpi2c"; 290 + reg = <0x29850000 0x10000>; 291 + interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 292 + clocks = <&pcc4 IMX8ULP_CLK_LPI2C7>, 293 + <&pcc4 IMX8ULP_CLK_LPI2C7>; 294 + clock-names = "per", "ipg"; 295 + assigned-clocks = <&pcc4 IMX8ULP_CLK_LPI2C7>; 296 + assigned-clock-parents = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>; 297 + assigned-clock-rates = <48000000>; 298 + status = "disabled"; 299 + }; 300 + 301 + lpuart6: serial@29860000 { 302 + compatible = "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart"; 303 + reg = <0x29860000 0x1000>; 304 + interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 305 + clocks = <&pcc4 IMX8ULP_CLK_LPUART6>; 306 + clock-names = "ipg"; 307 + status = "disabled"; 308 + }; 309 + 310 + lpuart7: serial@29870000 { 311 + compatible = "fsl,imx8ulp-lpuart", "fsl,imx7ulp-lpuart"; 312 + reg = <0x29870000 0x1000>; 313 + interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 314 + clocks = <&pcc4 IMX8ULP_CLK_LPUART7>; 315 + clock-names = "ipg"; 316 + status = "disabled"; 317 + }; 318 + 319 + iomuxc1: pinctrl@298c0000 { 320 + compatible = "fsl,imx8ulp-iomuxc1"; 321 + reg = <0x298c0000 0x10000>; 322 + }; 323 + 324 + usdhc0: mmc@298d0000 { 325 + compatible = "fsl,imx8ulp-usdhc", "fsl,imx8mm-usdhc"; 326 + reg = <0x298d0000 0x10000>; 327 + interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>; 328 + clocks = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>, 329 + <&cgc1 IMX8ULP_CLK_XBAR_AD_DIVPLAT>, 330 + <&pcc4 IMX8ULP_CLK_USDHC0>; 331 + clock-names = "ipg", "ahb", "per"; 332 + power-domains = <&scmi_devpd IMX8ULP_PD_USDHC0>; 333 + fsl,tuning-start-tap = <20>; 334 + fsl,tuning-step= <2>; 335 + bus-width = <4>; 336 + status = "disabled"; 337 + }; 338 + 339 + usdhc1: mmc@298e0000 { 340 + compatible = "fsl,imx8ulp-usdhc", "fsl,imx8mm-usdhc"; 341 + reg = <0x298e0000 0x10000>; 342 + interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 343 + clocks = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>, 344 + <&cgc1 IMX8ULP_CLK_NIC_PER_DIVPLAT>, 345 + <&pcc4 IMX8ULP_CLK_USDHC1>; 346 + clock-names = "ipg", "ahb", "per"; 347 + power-domains = <&scmi_devpd IMX8ULP_PD_USDHC1>; 348 + fsl,tuning-start-tap = <20>; 349 + fsl,tuning-step= <2>; 350 + bus-width = <4>; 351 + status = "disabled"; 352 + }; 353 + 354 + usdhc2: mmc@298f0000 { 355 + compatible = "fsl,imx8ulp-usdhc", "fsl,imx8mm-usdhc"; 356 + reg = <0x298f0000 0x10000>; 357 + interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; 358 + clocks = <&cgc1 IMX8ULP_CLK_XBAR_DIVBUS>, 359 + <&cgc1 IMX8ULP_CLK_NIC_PER_DIVPLAT>, 360 + <&pcc4 IMX8ULP_CLK_USDHC2>; 361 + clock-names = "ipg", "ahb", "per"; 362 + power-domains = <&scmi_devpd IMX8ULP_PD_USDHC2_USB1>; 363 + fsl,tuning-start-tap = <20>; 364 + fsl,tuning-step= <2>; 365 + bus-width = <4>; 366 + status = "disabled"; 367 + }; 368 + }; 369 + 370 + gpioe: gpio@2d000000 { 371 + compatible = "fsl,imx8ulp-gpio", "fsl,imx7ulp-gpio"; 372 + reg = <0x2d000080 0x1000>, <0x2d000040 0x40>; 373 + gpio-controller; 374 + #gpio-cells = <2>; 375 + interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>; 376 + interrupt-controller; 377 + #interrupt-cells = <2>; 378 + clocks = <&pcc4 IMX8ULP_CLK_RGPIOE>, 379 + <&pcc4 IMX8ULP_CLK_PCTLE>; 380 + clock-names = "gpio", "port"; 381 + gpio-ranges = <&iomuxc1 0 32 24>; 382 + }; 383 + 384 + gpiof: gpio@2d010000 { 385 + compatible = "fsl,imx8ulp-gpio", "fsl,imx7ulp-gpio"; 386 + reg = <0x2d010080 0x1000>, <0x2d010040 0x40>; 387 + gpio-controller; 388 + #gpio-cells = <2>; 389 + interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>; 390 + interrupt-controller; 391 + #interrupt-cells = <2>; 392 + clocks = <&pcc4 IMX8ULP_CLK_RGPIOF>, 393 + <&pcc4 IMX8ULP_CLK_PCTLF>; 394 + clock-names = "gpio", "port"; 395 + gpio-ranges = <&iomuxc1 0 64 32>; 396 + }; 397 + 398 + per_bridge5: bus@2d800000 { 399 + compatible = "simple-bus"; 400 + reg = <0x2d800000 0x800000>; 401 + #address-cells = <1>; 402 + #size-cells = <1>; 403 + ranges; 404 + 405 + cgc2: clock-controller@2da60000 { 406 + compatible = "fsl,imx8ulp-cgc2"; 407 + reg = <0x2da60000 0x10000>; 408 + clocks = <&sosc>, <&frosc>; 409 + clock-names = "sosc", "frosc"; 410 + #clock-cells = <1>; 411 + }; 412 + 413 + pcc5: clock-controller@2da70000 { 414 + compatible = "fsl,imx8ulp-pcc5"; 415 + reg = <0x2da70000 0x10000>; 416 + #clock-cells = <1>; 417 + }; 418 + }; 419 + 420 + gpiod: gpio@2e200000 { 421 + compatible = "fsl,imx8ulp-gpio", "fsl,imx7ulp-gpio"; 422 + reg = <0x2e200080 0x1000>, <0x2e200040 0x40>; 423 + gpio-controller; 424 + #gpio-cells = <2>; 425 + interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 426 + interrupt-controller; 427 + #interrupt-cells = <2>; 428 + clocks = <&pcc5 IMX8ULP_CLK_RGPIOD>, 429 + <&pcc5 IMX8ULP_CLK_RGPIOD>; 430 + clock-names = "gpio", "port"; 431 + gpio-ranges = <&iomuxc1 0 0 24>; 432 + }; 433 + }; 434 + };
+282
arch/arm64/boot/dts/freescale/mba8mx.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 2 + /* 3 + * Copyright 2020-2021 TQ-Systems GmbH 4 + */ 5 + 6 + #include <dt-bindings/net/ti-dp83867.h> 7 + 8 + /* TQ-Systems GmbH MBa8Mx baseboard */ 9 + 10 + / { 11 + beeper { 12 + compatible = "pwm-beeper"; 13 + pwms = <&pwm4 0 250000 0>; 14 + beeper-hz = <4000>; 15 + amp-supply = <&reg_vcc_3v3>; 16 + }; 17 + 18 + chosen { 19 + // bootargs = "console=ttymxc2,115200 earlycon=ec_imx6q,0x30880000,115200"; 20 + stdout-path = &uart3; 21 + }; 22 + 23 + gpio-keys { 24 + compatible = "gpio-keys"; 25 + pinctrl-names = "default"; 26 + pinctrl-0 = <&pinctrl_gpiobutton>; 27 + autorepeat; 28 + 29 + switch1 { 30 + label = "switch1"; 31 + linux,code = <BTN_0>; 32 + gpios = <&gpio1 5 GPIO_ACTIVE_LOW>; 33 + wakeup-source; 34 + }; 35 + 36 + btn2: switch2 { 37 + label = "switch2"; 38 + linux,code = <BTN_1>; 39 + gpios = <&gpio2 0 GPIO_ACTIVE_LOW>; 40 + wakeup-source; 41 + }; 42 + 43 + switch3 { 44 + label = "switch3"; 45 + linux,code = <BTN_2>; 46 + gpios = <&gpio1 7 GPIO_ACTIVE_LOW>; 47 + wakeup-source; 48 + }; 49 + }; 50 + 51 + gpio_leds: gpio-leds { 52 + compatible = "gpio-leds"; 53 + pinctrl-names = "default"; 54 + pinctrl-0 = <&pinctrl_gpioled>; 55 + 56 + led1 { 57 + label = "led1"; 58 + gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>; 59 + linux,default-trigger = "default-on"; 60 + }; 61 + 62 + led2: led2 { 63 + label = "led2"; 64 + gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>; 65 + linux,default-trigger = "heartbeat"; 66 + }; 67 + }; 68 + 69 + reg_hub_vbus: regulator-hub-vbus { 70 + compatible = "regulator-fixed"; 71 + regulator-name = "MBA8MX_HUB_VBUS"; 72 + regulator-min-microvolt = <5000000>; 73 + regulator-max-microvolt = <5000000>; 74 + }; 75 + 76 + reg_sn65dsi83_1v8: regulator-sn65dsi83-1v8 { 77 + compatible = "regulator-fixed"; 78 + regulator-name = "SN65DSI83_1V8"; 79 + regulator-min-microvolt = <1800000>; 80 + regulator-max-microvolt = <1800000>; 81 + gpio = <&expander0 5 GPIO_ACTIVE_HIGH>; 82 + enable-active-high; 83 + }; 84 + 85 + reg_vcc_3v3: regulator-3v3 { 86 + compatible = "regulator-fixed"; 87 + regulator-name = "MBA8MX_3V3"; 88 + regulator-min-microvolt = <3300000>; 89 + regulator-max-microvolt = <3300000>; 90 + }; 91 + 92 + sound { 93 + compatible = "fsl,imx-audio-tlv320aic32x4"; 94 + model = "tqm-tlv320aic32"; 95 + ssi-controller = <&sai3>; 96 + audio-codec = <&tlv320aic3x04>; 97 + }; 98 + }; 99 + 100 + &ecspi1 { 101 + pinctrl-names = "default"; 102 + pinctrl-0 = <&pinctrl_ecspi1>; 103 + cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; 104 + status = "okay"; 105 + }; 106 + 107 + &ecspi2 { 108 + pinctrl-names = "default"; 109 + pinctrl-0 = <&pinctrl_ecspi2>; 110 + cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; 111 + status = "okay"; 112 + }; 113 + 114 + &fec1 { 115 + pinctrl-names = "default"; 116 + pinctrl-0 = <&pinctrl_fec1>; 117 + phy-mode = "rgmii-id"; 118 + phy-handle = <&ethphy0>; 119 + phy-supply = <&reg_vcc_3v3>; 120 + fsl,magic-packet; 121 + mac-address = [ 00 00 00 00 00 00 ]; 122 + status = "okay"; 123 + 124 + mdio { 125 + #address-cells = <1>; 126 + #size-cells = <0>; 127 + 128 + ethphy0: ethernet-phy@e { 129 + compatible = "ethernet-phy-ieee802.3-c22"; 130 + reg = <0xe>; 131 + ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>; 132 + ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>; 133 + ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; 134 + ti,dp83867-rxctrl-strap-quirk; 135 + ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 136 + enet-phy-lane-no-swap; 137 + reset-gpios = <&expander2 7 GPIO_ACTIVE_LOW>; 138 + reset-assert-us = <500000>; 139 + reset-deassert-us = <500>; 140 + }; 141 + }; 142 + }; 143 + 144 + &i2c1 { 145 + expander0: gpio@23 { 146 + compatible = "nxp,pca9555"; 147 + reg = <0x23>; 148 + gpio-controller; 149 + #gpio-cells = <2>; 150 + vcc-supply = <&reg_vcc_3v3>; 151 + interrupt-parent = <&gpio1>; 152 + interrupts = <9 IRQ_TYPE_EDGE_FALLING>; 153 + interrupt-controller; 154 + #interrupt-cells = <2>; 155 + 156 + sd-mux-oe-hog { 157 + gpio-hog; 158 + gpios = <8 0>; 159 + output-low; 160 + line-name = "SD_MUX_EN#"; 161 + }; 162 + 163 + boot-cfg-oe-hog { 164 + gpio-hog; 165 + gpios = <12 0>; 166 + output-high; 167 + line-name = "BOOT_CFG_OE#"; 168 + }; 169 + 170 + rst-usb-hub-hog { 171 + gpio-hog; 172 + gpios = <13 0>; 173 + output-high; 174 + line-name = "RST_USB_HUB#"; 175 + }; 176 + }; 177 + 178 + expander1: gpio@24 { 179 + compatible = "nxp,pca9555"; 180 + reg = <0x24>; 181 + gpio-controller; 182 + #gpio-cells = <2>; 183 + vcc-supply = <&reg_vcc_3v3>; 184 + }; 185 + }; 186 + 187 + &i2c2 { 188 + clock-frequency = <100000>; 189 + pinctrl-names = "default", "gpio"; 190 + pinctrl-0 = <&pinctrl_i2c2>; 191 + pinctrl-1 = <&pinctrl_i2c2_gpio>; 192 + scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 193 + sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 194 + status = "okay"; 195 + 196 + tlv320aic3x04: audio-codec@18 { 197 + compatible = "ti,tlv320aic32x4"; 198 + reg = <0x18>; 199 + reset-gpios = <&expander2 0 GPIO_ACTIVE_LOW>; 200 + iov-supply = <&reg_vcc_3v3>; 201 + ldoin-supply = <&reg_vcc_3v3>; 202 + }; 203 + 204 + sensor1: sensor@1f { 205 + compatible = "nxp,se97", "jedec,jc-42.4-temp"; 206 + reg = <0x1f>; 207 + }; 208 + 209 + eeprom3: eeprom@57 { 210 + compatible = "nxp,se97b", "atmel,24c02"; 211 + reg = <0x57>; 212 + pagesize = <16>; 213 + }; 214 + }; 215 + 216 + &i2c3 { 217 + clock-frequency = <100000>; 218 + pinctrl-names = "default", "gpio"; 219 + pinctrl-0 = <&pinctrl_i2c3>; 220 + pinctrl-1 = <&pinctrl_i2c3_gpio>; 221 + scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 222 + sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 223 + status = "okay"; 224 + }; 225 + 226 + &pwm3 { 227 + pinctrl-names = "default"; 228 + pinctrl-0 = <&pinctrl_pwm3>; 229 + status = "okay"; 230 + }; 231 + 232 + &pwm4 { 233 + pinctrl-names = "default"; 234 + pinctrl-0 = <&pinctrl_pwm4>; 235 + status = "okay"; 236 + }; 237 + 238 + &sai3 { 239 + pinctrl-names = "default"; 240 + pinctrl-0 = <&pinctrl_sai3>; 241 + #sound-dai-cells = <0>; 242 + assigned-clock-rates = <49152000>; 243 + status = "okay"; 244 + }; 245 + 246 + &snvs_pwrkey { 247 + status = "okay"; 248 + }; 249 + 250 + &uart1 { 251 + pinctrl-names = "default"; 252 + pinctrl-0 = <&pinctrl_uart1>; 253 + status = "okay"; 254 + }; 255 + 256 + &uart2 { 257 + pinctrl-names = "default"; 258 + pinctrl-0 = <&pinctrl_uart2>; 259 + status = "okay"; 260 + }; 261 + 262 + /* console */ 263 + &uart3 { 264 + pinctrl-names = "default"; 265 + pinctrl-0 = <&pinctrl_uart3>; 266 + status = "okay"; 267 + }; 268 + 269 + /* UART4 is assigned to Cortex-M4 */ 270 + &usdhc2 { 271 + pinctrl-names = "default", "state_100mhz", "state_200mhz"; 272 + pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; 273 + pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; 274 + pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; 275 + bus-width = <4>; 276 + cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; 277 + disable-wp; 278 + no-mmc; 279 + no-sdio; 280 + vmmc-supply = <&reg_usdhc2_vmmc>; 281 + status = "okay"; 282 + };
+26
include/dt-bindings/power/imx8ulp-power.h
··· 1 + /* SPDX-License-Identifier: (GPL-2.0 OR MIT) */ 2 + /* 3 + * Copyright 2021 NXP 4 + */ 5 + 6 + #ifndef __DT_BINDINGS_IMX8ULP_POWER_H__ 7 + #define __DT_BINDINGS_IMX8ULP_POWER_H__ 8 + 9 + #define IMX8ULP_PD_DMA1 0 10 + #define IMX8ULP_PD_FLEXSPI2 1 11 + #define IMX8ULP_PD_USB0 2 12 + #define IMX8ULP_PD_USDHC0 3 13 + #define IMX8ULP_PD_USDHC1 4 14 + #define IMX8ULP_PD_USDHC2_USB1 5 15 + #define IMX8ULP_PD_DCNANO 6 16 + #define IMX8ULP_PD_EPDC 7 17 + #define IMX8ULP_PD_DMA2 8 18 + #define IMX8ULP_PD_GPU2D 9 19 + #define IMX8ULP_PD_GPU3D 10 20 + #define IMX8ULP_PD_HIFI4 11 21 + #define IMX8ULP_PD_ISI 12 22 + #define IMX8ULP_PD_MIPI_CSI 13 23 + #define IMX8ULP_PD_MIPI_DSI 14 24 + #define IMX8ULP_PD_PXP 15 25 + 26 + #endif