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

Merge tag 'arm-dt-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM devicetree updates from Arnd Bergmann:
"Most of the commits are for additional hardware support and minor
fixes for existing machines for all the usual platforms: qcom,
amlogic, at91, gemini, mediatek, ti, socfpga, i.mx, layerscape,
uniphier, rockchip, exynos, ux500, mvebu, tegra, stm32, renesas,
sunxi, broadcom, omap, and versatile.

The conversion of binding files to machine-readable yaml format
continues, along with fixes found during the validation. Andre
Przywara takes over maintainership for the old Calxeda Highbank
platform and provides a number of updates.

The OMAP2+ platforms see a continued move from platform data into dts
files, for many devices that relied on a mix of auxiliary data in
addition to the DT description

A moderate number of new SoCs and machines are added, here is a full
list:

- Two new Qualcomm SoCs with their evaluation boards: Snapdragon 865
(SM8250) is the current high-end phone chip, and IPQ6018 is a new
WiFi-6 router chip.

- Mediatek MT8516 application processor SoC for voice assistants,
along with the "pumpkin" development board

- NXP i.MX8M Plus SoC, a variant of the popular i.MX8M, along with an
evaluation board.

- Kontron "sl28" board family based on NXP LS1028A

- Eleven variations of the new i.MX6 TechNexion Pico board, combining
the "dwarf", "hobbit", "nymph" and "pi" baseboards with i.MX6/i.MX7
SoM carriers

- Three additional variants of the Toradex Colibri board family, all
based on versions of the NXP i.MX7.

- The Pinebook Pro laptop based on Rockchip RK3399

- Samsung S7710 Galaxy Xcover 2, a 2013 vintage Android phone based
on the ST-Ericsson u8500 platform

- DH Electronics DHCOM SoM and PDK2 rev. 400 carrier based on
STMicroelectronics stm32mp157

- Renesas M3ULCB starter kit for R-Car M3-W+

- Hoperun HiHope development board with Renesas RZ/G2M

- Pine64 PineTab tablet and PinePhone phone, both based on Allwinner
A64

- Linutronix Testbox v2 for the Lamobo R1 router, based on Allwinner
A20

- PocketBook Touch Lux 3 ebook reader, based on Allwinner A13"

* tag 'arm-dt-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (520 commits)
ARM: dts: ux500: Fix missing node renames
arm64: dts: Revert "specify console via command line"
MAINTAINERS: Update Calxeda Highbank maintainership
arm: dts: calxeda: Group port-phys and sgpio-gpio items
arm: dts: calxeda: Fix interrupt grouping
arm: dts: calxeda: Provide UART clock
arm: dts: calxeda: Basic DT file fixes
arm64: dts: specify console via command line
ARM: dts: at91: sama5d27_wlsom1_ek: add USB device node
ARM: dts: gemini: Add thermal zone to DIR-685
ARM: dts: gemini: Rename IDE nodes
ARM: socfpga: arria10: Add ptp_ref clock to ethernet nodes
arm64: dts: ti: k3-j721e-mcu: add scm node and phy-gmii-sel nodes
arm64: dts: ti: k3-am65-mcu: add phy-gmii-sel node
arm64: dts: ti: k3-am65-mcu: Add DMA entries for ADC
arm64: dts: ti: k3-am65-main: Add DMA entries for main_spi0
arm64: dts: ti: k3-j721e-mcu-wakeup: Add DMA entries for ADC
arm64: dts: ti: k3-am65: Add clocks to dwc3 nodes
arm64: dts: meson-g12b-odroid-n2: add SPIFC controller node
arm64: dts: khadas-vim3: add SPIFC controller node
...

+18899 -4504
+86
Documentation/devicetree/bindings/arm/arm,integrator.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/arm,integrator.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: ARM Integrator Boards Device Tree Bindings 8 + 9 + maintainers: 10 + - Linus Walleij <linus.walleij@linaro.org> 11 + 12 + description: |+ 13 + These were the first ARM platforms officially supported by ARM Ltd. 14 + They are ARMv4, ARMv5 and ARMv6-capable using different core tiles, 15 + so the system is modular and can host a variety of CPU tiles called 16 + "core tiles" and referred to in the device tree as "core modules". 17 + 18 + properties: 19 + $nodename: 20 + const: '/' 21 + compatible: 22 + oneOf: 23 + - description: ARM Integrator Application Platform, this board has a PCI 24 + host and several PCI slots, as well as a number of slots for logical 25 + expansion modules, it is referred to as an "ASIC Development 26 + Motherboard" and is extended with custom FPGA and is intended for 27 + rapid prototyping. See ARM DUI 0098B. This board can physically come 28 + pre-packaged in a PC Tower form factor called Integrator/PP1 or a 29 + special metal fixture called Integrator/PP2, see ARM DUI 0169A. 30 + items: 31 + - const: arm,integrator-ap 32 + - description: ARM Integrator Compact Platform (HBI-0086), this board has 33 + a compact form factor and mainly consists of the bare minimum 34 + peripherals to make use of the core module. See ARM DUI 0159B. 35 + items: 36 + - const: arm,integrator-cp 37 + - description: ARM Integrator Standard Development Board (SDB) Platform, 38 + this board is a PCI-based board conforming to the Microsoft SDB 39 + (HARP) specification. See ARM DUI 0099A. 40 + items: 41 + - const: arm,integrator-sp 42 + 43 + core-module@10000000: 44 + type: object 45 + description: the root node in the Integrator platforms must contain 46 + a core module child node. They are always at physical address 47 + 0x10000000 in all the Integrator variants. 48 + properties: 49 + compatible: 50 + items: 51 + - const: arm,core-module-integrator 52 + - const: syscon 53 + - const: simple-mfd 54 + reg: 55 + maxItems: 1 56 + 57 + required: 58 + - compatible 59 + - reg 60 + 61 + patternProperties: 62 + "^syscon@[0-9a-f]+$": 63 + description: All Integrator boards must provide a system controller as a 64 + node in the root of the device tree. 65 + type: object 66 + properties: 67 + compatible: 68 + items: 69 + - enum: 70 + - arm,integrator-ap-syscon 71 + - arm,integrator-cp-syscon 72 + - arm,integrator-sp-syscon 73 + - const: syscon 74 + reg: 75 + maxItems: 1 76 + 77 + required: 78 + - compatible 79 + - reg 80 + 81 + 82 + required: 83 + - compatible 84 + - core-module@10000000 85 + 86 + ...
+123
Documentation/devicetree/bindings/arm/arm,realview.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/arm,realview.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: ARM RealView Boards Device Tree Bindings 8 + 9 + maintainers: 10 + - Linus Walleij <linus.walleij@linaro.org> 11 + 12 + description: |+ 13 + The ARM RealView series of reference designs were built to explore the ARM 14 + 11, Cortex A-8 and Cortex A-9 CPUs. This included new features compared to 15 + the earlier CPUs such as TrustZone and multicore (MPCore). 16 + 17 + properties: 18 + $nodename: 19 + const: '/' 20 + compatible: 21 + oneOf: 22 + - description: ARM RealView Emulation Baseboard (HBI-0140) was created 23 + as a generic platform to test different FPGA designs, and has 24 + pluggable CPU modules, see ARM DUI 0303E. 25 + items: 26 + - const: arm,realview-eb 27 + - description: ARM RealView Platform Baseboard for ARM1176JZF-S 28 + (HBI-0147) was created as a development board to test ARM TrustZone, 29 + CoreSight and Intelligent Energy Management (IEM) see ARM DUI 0425F. 30 + items: 31 + - const: arm,realview-pb1176 32 + - description: ARM RealView Platform Baseboard for ARM 11 MPCore 33 + (HBI-0159, HBI-0175 and HBI-0176) was created to showcase 34 + multiprocessing with ARM11 using MPCore using symmetric 35 + multiprocessing (SMP). See ARM DUI 0351E. 36 + items: 37 + - const: arm,realview-pb11mp 38 + - description: ARM RealView Platform Baseboard for Cortex-A8 (HBI-0178, 39 + HBI-0176 and HBI-0175) was the first reference platform for the 40 + Cortex CPU family, including a Cortex-A8 test chip. 41 + items: 42 + - const: arm,realview-pba8 43 + - description: ARM RealView Platform Baseboard Explore for Cortex-A9 44 + (HBI-0182 and HBI-0183) was the reference platform for the Cortex-A9 45 + CPU. 46 + items: 47 + - const: arm,realview-pbx 48 + 49 + soc: 50 + description: All RealView boards must provide a soc node in the root of the 51 + device tree, representing the System-on-Chip since these test chips are 52 + rather complex. 53 + type: object 54 + properties: 55 + compatible: 56 + oneOf: 57 + - items: 58 + - const: arm,realview-eb-soc 59 + - const: simple-bus 60 + - items: 61 + - const: arm,realview-pb1176-soc 62 + - const: simple-bus 63 + - items: 64 + - const: arm,realview-pb11mp-soc 65 + - const: simple-bus 66 + - items: 67 + - const: arm,realview-pba8-soc 68 + - const: simple-bus 69 + - items: 70 + - const: arm,realview-pbx-soc 71 + - const: simple-bus 72 + 73 + patternProperties: 74 + "^.*syscon@[0-9a-f]+$": 75 + type: object 76 + description: All RealView boards must provide a syscon system controller 77 + node inside the soc node. 78 + properties: 79 + compatible: 80 + oneOf: 81 + - items: 82 + - const: arm,realview-eb11mp-revb-syscon 83 + - const: arm,realview-eb-syscon 84 + - const: syscon 85 + - const: simple-mfd 86 + - items: 87 + - const: arm,realview-eb11mp-revc-syscon 88 + - const: arm,realview-eb-syscon 89 + - const: syscon 90 + - const: simple-mfd 91 + - items: 92 + - const: arm,realview-eb-syscon 93 + - const: syscon 94 + - const: simple-mfd 95 + - items: 96 + - const: arm,realview-pb1176-syscon 97 + - const: syscon 98 + - const: simple-mfd 99 + - items: 100 + - const: arm,realview-pb11mp-syscon 101 + - const: syscon 102 + - const: simple-mfd 103 + - items: 104 + - const: arm,realview-pba8-syscon 105 + - const: syscon 106 + - const: simple-mfd 107 + - items: 108 + - const: arm,realview-pbx-syscon 109 + - const: syscon 110 + - const: simple-mfd 111 + 112 + required: 113 + - compatible 114 + - reg 115 + 116 + required: 117 + - compatible 118 + 119 + required: 120 + - compatible 121 + - soc 122 + 123 + ...
+71
Documentation/devicetree/bindings/arm/arm,versatile.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/arm,versatile.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: ARM Versatile Boards Device Tree Bindings 8 + 9 + maintainers: 10 + - Linus Walleij <linus.walleij@linaro.org> 11 + 12 + description: |+ 13 + The ARM Versatile boards are two variants of ARM926EJ-S evaluation boards 14 + with various pluggable interface boards, in essence the Versatile PB version 15 + is a superset of the Versatile AB version. 16 + 17 + properties: 18 + $nodename: 19 + const: '/' 20 + compatible: 21 + oneOf: 22 + - description: The ARM Versatile Application Baseboard (HBI-0118) is an 23 + evaluation board specifically for the ARM926EJ-S. It can be connected 24 + to an IB1 interface board for a touchscreen-type use case or an IB2 25 + for a candybar phone-type use case. See ARM DUI 0225D. 26 + items: 27 + - const: arm,versatile-ab 28 + - description: The ARM Versatile Platform Baseboard (HBI-0117) is an 29 + extension of the Versatile Application Baseboard that includes a 30 + PCI host controller. Like the sibling board, it is done specifically 31 + for ARM926EJ-S. See ARM DUI 0224B. 32 + items: 33 + - const: arm,versatile-pb 34 + 35 + core-module@10000000: 36 + type: object 37 + description: the root node in the Versatile platforms must contain 38 + a core module child node. They are always at physical address 39 + 0x10000000 in all the Versatile variants. 40 + properties: 41 + compatible: 42 + items: 43 + - const: arm,core-module-versatile 44 + - const: syscon 45 + - const: simple-mfd 46 + reg: 47 + maxItems: 1 48 + 49 + required: 50 + - compatible 51 + - reg 52 + 53 + patternProperties: 54 + "^syscon@[0-9a-f]+$": 55 + type: object 56 + description: When fitted with the IB2 Interface Board, the Versatile 57 + AB will present an optional system controller node which controls the 58 + extra peripherals on the interface board. 59 + properties: 60 + compatible: 61 + contains: 62 + const: arm,versatile-ib2-syscon 63 + required: 64 + - compatible 65 + - reg 66 + 67 + required: 68 + - compatible 69 + - core-module@10000000 70 + 71 + ...
+223
Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/arm,vexpress-juno.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: ARM Versatile Express and Juno Boards Device Tree Bindings 8 + 9 + maintainers: 10 + - Sudeep Holla <sudeep.holla@arm.com> 11 + - Linus Walleij <linus.walleij@linaro.org> 12 + 13 + description: |+ 14 + ARM's Versatile Express platform were built as reference designs for exploring 15 + multicore Cortex-A class systems. The Versatile Express family contains both 16 + 32 bit (Aarch32) and 64 bit (Aarch64) systems. 17 + 18 + The board consist of a motherboard and one or more daughterboards (tiles). The 19 + motherboard provides a set of peripherals. Processor and RAM "live" on the 20 + tiles. 21 + 22 + The motherboard and each core tile should be described by a separate Device 23 + Tree source file, with the tile's description including the motherboard file 24 + using an include directive. As the motherboard can be initialized in one of 25 + two different configurations ("memory maps"), care must be taken to include 26 + the correct one. 27 + 28 + When a new generation of boards were introduced under the name "Juno", these 29 + shared to many common characteristics with the Versatile Express that the 30 + "arm,vexpress" compatible was retained in the root node, and these are 31 + included in this binding schema as well. 32 + 33 + The root node indicates the CPU SoC on the core tile, and this 34 + is a daughterboard to the main motherboard. The name used in the compatible 35 + string shall match the name given in the core tile's technical reference 36 + manual, followed by "arm,vexpress" as an additional compatible value. If 37 + further subvariants are released of the core tile, even more fine-granular 38 + compatible strings with up to three compatible strings are used. 39 + 40 + properties: 41 + $nodename: 42 + const: '/' 43 + compatible: 44 + oneOf: 45 + - description: CoreTile Express A9x4 (V2P-CA9) has 4 Cortex A9 CPU cores 46 + in MPCore configuration in a test chip on the core tile. See ARM 47 + DUI 0448I. This was the first Versatile Express platform. 48 + items: 49 + - const: arm,vexpress,v2p-ca9 50 + - const: arm,vexpress 51 + - description: CoreTile Express A5x2 (V2P-CA5s) has 2 Cortex A5 CPU cores 52 + in a test chip on the core tile. It is intended to evaluate NEON, FPU 53 + and Jazelle support in the Cortex A5 family. See ARM DUI 0541C. 54 + items: 55 + - const: arm,vexpress,v2p-ca5s 56 + - const: arm,vexpress 57 + - description: Coretile Express A15x2 (V2P-CA15) has 2 Cortex A15 CPU 58 + cores in a MPCore configuration in a test chip on the core tile. See 59 + ARM DUI 0604F. 60 + items: 61 + - const: arm,vexpress,v2p-ca15 62 + - const: arm,vexpress 63 + - description: CoreTile Express A15x4 (V2P-CA15, HBI-0237A) has 4 Cortex 64 + A15 CPU cores in a test chip on the core tile. This is the first test 65 + chip called "TC1". 66 + items: 67 + - const: arm,vexpress,v2p-ca15,tc1 68 + - const: arm,vexpress,v2p-ca15 69 + - const: arm,vexpress 70 + - description: Coretile Express A15x2 A7x3 (V2P-CA15_A7) has 2 Cortex A15 71 + CPU cores and 3 Cortex A7 cores in a big.LITTLE MPCore configuration 72 + in a test chip on the core tile. See ARM DDI 0503I. 73 + items: 74 + - const: arm,vexpress,v2p-ca15_a7 75 + - const: arm,vexpress 76 + - description: LogicTile Express 20MG (V2F-1XV7) has 2 Cortex A53 CPU 77 + cores in a test chip on the core tile. See ARM DDI 0498D. 78 + items: 79 + - const: arm,vexpress,v2f-1xv7,ca53x2 80 + - const: arm,vexpress,v2f-1xv7 81 + - const: arm,vexpress 82 + - description: Arm Versatile Express Juno "r0" (the first Juno board, 83 + V2M-Juno) was introduced as a vehicle for evaluating big.LITTLE on 84 + AArch64 CPU cores. It has 2 Cortex A57 CPU cores and 4 Cortex A53 85 + cores in a big.LITTLE configuration. It also features the MALI T624 86 + GPU. See ARM document 100113_0000_07_en. 87 + items: 88 + - const: arm,juno 89 + - const: arm,vexpress 90 + - description: Arm Versatile Express Juno r1 Development Platform 91 + (V2M-Juno r1) was introduced mainly aimed at development of PCIe 92 + based systems. Juno r1 also has support for AXI masters placed on 93 + the TLX connectors to join the coherency domain. Otherwise it is the 94 + same configuration as Juno r0. See ARM document 100122_0100_06_en. 95 + items: 96 + - const: arm,juno-r1 97 + - const: arm,juno 98 + - const: arm,vexpress 99 + - description: Arm Versatile Express Juno r2 Development Platform 100 + (V2M-Juno r2). It has the same feature set as Juno r0 and r1. See 101 + ARM document 100114_0200_04_en. 102 + items: 103 + - const: arm,juno-r2 104 + - const: arm,juno 105 + - const: arm,vexpress 106 + - description: Arm AEMv8a Versatile Express Real-Time System Model 107 + (VE RTSM) is a programmers view of the Versatile Express with Arm 108 + v8A hardware. See ARM DUI 0575D. 109 + items: 110 + - const: arm,rtsm_ve,aemv8a 111 + - const: arm,vexpress 112 + - description: Arm FVP (Fixed Virtual Platform) base model revision C 113 + See ARM Document 100964_1190_00_en. 114 + items: 115 + - const: arm,fvp-base-revc 116 + - const: arm,vexpress 117 + - description: Arm Foundation model for Aarch64 118 + items: 119 + - const: arm,foundation-aarch64 120 + - const: arm,vexpress 121 + 122 + arm,hbi: 123 + $ref: '/schemas/types.yaml#/definitions/uint32' 124 + description: This indicates the ARM HBI (Hardware Board ID), this is 125 + ARM's unique board model ID, visible on the PCB's silkscreen. 126 + 127 + arm,vexpress,site: 128 + description: As Versatile Express can be configured in number of physically 129 + different setups, the device tree should describe platform topology. 130 + For this reason the root node and main motherboard node must define this 131 + property, describing the physical location of the children nodes. 132 + 0 means motherboard site, while 1 and 2 are daughterboard sites, and 133 + 0xf means "sisterboard" which is the site containing the main CPU tile. 134 + allOf: 135 + - $ref: '/schemas/types.yaml#/definitions/uint32' 136 + - minimum: 0 137 + maximum: 15 138 + 139 + arm,vexpress,position: 140 + description: When daughterboards are stacked on one site, their position 141 + in the stack be be described this attribute. 142 + allOf: 143 + - $ref: '/schemas/types.yaml#/definitions/uint32' 144 + - minimum: 0 145 + maximum: 3 146 + 147 + arm,vexpress,dcc: 148 + description: When describing tiles consisting of more than one DCC, its 149 + number can be specified with this attribute. 150 + allOf: 151 + - $ref: '/schemas/types.yaml#/definitions/uint32' 152 + - minimum: 0 153 + maximum: 3 154 + 155 + patternProperties: 156 + "^bus@[0-9a-f]+$": 157 + description: Static Memory Bus (SMB) node, if this exists it describes 158 + the connection between the motherboard and any tiles. Sometimes the 159 + compatible is placed directly under this node, sometimes it is placed 160 + in a subnode named "motherboard". Sometimes the compatible includes 161 + "arm,vexpress,v2?-p1" sometimes (on software models) is is just 162 + "simple-bus". If the compatible is placed in the "motherboard" node, 163 + it is stricter and always has two compatibles. 164 + type: object 165 + allOf: 166 + - $ref: '/schemas/simple-bus.yaml' 167 + 168 + properties: 169 + compatible: 170 + oneOf: 171 + - items: 172 + - enum: 173 + - arm,vexpress,v2m-p1 174 + - arm,vexpress,v2p-p1 175 + - const: simple-bus 176 + - const: simple-bus 177 + motherboard: 178 + type: object 179 + description: The motherboard description provides a single "motherboard" 180 + node using 2 address cells corresponding to the Static Memory Bus 181 + used between the motherboard and the tile. The first cell defines the 182 + Chip Select (CS) line number, the second cell address offset within 183 + the CS. All interrupt lines between the motherboard and the tile 184 + are active high and are described using single cell. 185 + properties: 186 + "#address-cells": 187 + const: 2 188 + "#size-cells": 189 + const: 1 190 + compatible: 191 + items: 192 + - enum: 193 + - arm,vexpress,v2m-p1 194 + - arm,vexpress,v2p-p1 195 + - const: simple-bus 196 + arm,v2m-memory-map: 197 + description: This describes the memory map type. 198 + allOf: 199 + - $ref: '/schemas/types.yaml#/definitions/string' 200 + - enum: 201 + - rs1 202 + - rs2 203 + required: 204 + - compatible 205 + required: 206 + - compatible 207 + 208 + allOf: 209 + - if: 210 + properties: 211 + compatible: 212 + contains: 213 + enum: 214 + - arm,vexpress,v2p-ca9 215 + - arm,vexpress,v2p-ca5s 216 + - arm,vexpress,v2p-ca15 217 + - arm,vexpress,v2p-ca15_a7 218 + - arm,vexpress,v2f-1xv7,ca53x2 219 + then: 220 + required: 221 + - arm,hbi 222 + 223 + ...
-237
Documentation/devicetree/bindings/arm/arm-boards
··· 1 - ARM Integrator/AP (Application Platform) and Integrator/CP (Compact Platform) 2 - ----------------------------------------------------------------------------- 3 - ARM's oldest Linux-supported platform with connectors for different core 4 - tiles of ARMv4, ARMv5 and ARMv6 type. 5 - 6 - Required properties (in root node): 7 - compatible = "arm,integrator-ap"; /* Application Platform */ 8 - compatible = "arm,integrator-cp"; /* Compact Platform */ 9 - 10 - FPGA type interrupt controllers, see the versatile-fpga-irq binding doc. 11 - 12 - Required nodes: 13 - 14 - - core-module: the root node to the Integrator platforms must have 15 - a core-module with regs and the compatible string 16 - "arm,core-module-integrator" 17 - - external-bus-interface: the root node to the Integrator platforms 18 - must have an external bus interface with regs and the 19 - compatible-string "arm,external-bus-interface" 20 - 21 - Required properties for the core module: 22 - - regs: the location and size of the core module registers, one 23 - range of 0x200 bytes. 24 - 25 - - syscon: the root node of the Integrator platforms must have a 26 - system controller node pointing to the control registers, 27 - with the compatible string 28 - "arm,integrator-ap-syscon" 29 - "arm,integrator-cp-syscon" 30 - respectively. 31 - 32 - Required properties for the system controller: 33 - - regs: the location and size of the system controller registers, 34 - one range of 0x100 bytes. 35 - 36 - Required properties for the AP system controller: 37 - - interrupts: the AP syscon node must include the logical module 38 - interrupts, stated in order of module instance <module 0>, 39 - <module 1>, <module 2> ... for the CP system controller this 40 - is not required not of any use. 41 - 42 - /dts-v1/; 43 - /include/ "integrator.dtsi" 44 - 45 - / { 46 - model = "ARM Integrator/AP"; 47 - compatible = "arm,integrator-ap"; 48 - 49 - core-module@10000000 { 50 - compatible = "arm,core-module-integrator"; 51 - reg = <0x10000000 0x200>; 52 - }; 53 - 54 - ebi@12000000 { 55 - compatible = "arm,external-bus-interface"; 56 - reg = <0x12000000 0x100>; 57 - }; 58 - 59 - syscon { 60 - compatible = "arm,integrator-ap-syscon"; 61 - reg = <0x11000000 0x100>; 62 - interrupt-parent = <&pic>; 63 - /* These are the logic module IRQs */ 64 - interrupts = <9>, <10>, <11>, <12>; 65 - }; 66 - }; 67 - 68 - 69 - ARM Versatile Application and Platform Baseboards 70 - ------------------------------------------------- 71 - ARM's development hardware platform with connectors for customizable 72 - core tiles. The hardware configuration of the Versatile boards is 73 - highly customizable. 74 - 75 - Required properties (in root node): 76 - compatible = "arm,versatile-ab"; /* Application baseboard */ 77 - compatible = "arm,versatile-pb"; /* Platform baseboard */ 78 - 79 - Interrupt controllers: 80 - - VIC required properties: 81 - compatible = "arm,versatile-vic"; 82 - interrupt-controller; 83 - #interrupt-cells = <1>; 84 - 85 - - SIC required properties: 86 - compatible = "arm,versatile-sic"; 87 - interrupt-controller; 88 - #interrupt-cells = <1>; 89 - 90 - Required nodes: 91 - 92 - - core-module: the root node to the Versatile platforms must have 93 - a core-module with regs and the compatible strings 94 - "arm,core-module-versatile", "syscon" 95 - 96 - Optional nodes: 97 - 98 - - arm,versatile-ib2-syscon : if the Versatile has an IB2 interface 99 - board mounted, this has a separate system controller that is 100 - defined in this node. 101 - Required properties: 102 - compatible = "arm,versatile-ib2-syscon", "syscon" 103 - 104 - ARM RealView Boards 105 - ------------------- 106 - The RealView boards cover tailored evaluation boards that are used to explore 107 - the ARM11 and Cortex A-8 and Cortex A-9 processors. 108 - 109 - Required properties (in root node): 110 - /* RealView Emulation Baseboard */ 111 - compatible = "arm,realview-eb"; 112 - /* RealView Platform Baseboard for ARM1176JZF-S */ 113 - compatible = "arm,realview-pb1176"; 114 - /* RealView Platform Baseboard for ARM11 MPCore */ 115 - compatible = "arm,realview-pb11mp"; 116 - /* RealView Platform Baseboard for Cortex A-8 */ 117 - compatible = "arm,realview-pba8"; 118 - /* RealView Platform Baseboard Explore for Cortex A-9 */ 119 - compatible = "arm,realview-pbx"; 120 - 121 - Required nodes: 122 - 123 - - soc: some node of the RealView platforms must be the SoC 124 - node that contain the SoC-specific devices, with the compatible 125 - string set to one of these tuples: 126 - "arm,realview-eb-soc", "simple-bus" 127 - "arm,realview-pb1176-soc", "simple-bus" 128 - "arm,realview-pb11mp-soc", "simple-bus" 129 - "arm,realview-pba8-soc", "simple-bus" 130 - "arm,realview-pbx-soc", "simple-bus" 131 - 132 - - syscon: some subnode of the RealView SoC node must be a 133 - system controller node pointing to the control registers, 134 - with the compatible string set to one of these: 135 - "arm,realview-eb11mp-revb-syscon", "arm,realview-eb-syscon", "syscon" 136 - "arm,realview-eb11mp-revc-syscon", "arm,realview-eb-syscon", "syscon" 137 - "arm,realview-eb-syscon", "syscon" 138 - "arm,realview-pb1176-syscon", "syscon" 139 - "arm,realview-pb11mp-syscon", "syscon" 140 - "arm,realview-pba8-syscon", "syscon" 141 - "arm,realview-pbx-syscon", "syscon" 142 - 143 - Required properties for the system controller: 144 - - regs: the location and size of the system controller registers, 145 - one range of 0x1000 bytes. 146 - 147 - Example: 148 - 149 - /dts-v1/; 150 - #include <dt-bindings/interrupt-controller/irq.h> 151 - 152 - / { 153 - model = "ARM RealView PB1176 with device tree"; 154 - compatible = "arm,realview-pb1176"; 155 - #address-cells = <1>; 156 - #size-cells = <1>; 157 - 158 - soc { 159 - #address-cells = <1>; 160 - #size-cells = <1>; 161 - compatible = "arm,realview-pb1176-soc", "simple-bus"; 162 - ranges; 163 - 164 - syscon: syscon@10000000 { 165 - compatible = "arm,realview-syscon", "syscon"; 166 - reg = <0x10000000 0x1000>; 167 - }; 168 - 169 - }; 170 - }; 171 - 172 - ARM Versatile Express Boards 173 - ----------------------------- 174 - For details on the device tree bindings for ARM Versatile Express boards 175 - please consult the vexpress.txt file in the same directory as this file. 176 - 177 - ARM Juno Boards 178 - ---------------- 179 - The Juno boards are targeting development for AArch64 systems. The first 180 - iteration, Juno r0, is a vehicle for evaluating big.LITTLE on AArch64, 181 - with the second iteration, Juno r1, mainly aimed at development of PCIe 182 - based systems. Juno r1 also has support for AXI masters placed on the TLX 183 - connectors to join the coherency domain. 184 - 185 - Juno boards are described in a similar way to ARM Versatile Express boards, 186 - with the motherboard part of the hardware being described in a separate file 187 - to highlight the fact that is part of the support infrastructure for the SoC. 188 - Juno device tree bindings also share the Versatile Express bindings as 189 - described under the RS1 memory mapping. 190 - 191 - Required properties (in root node): 192 - compatible = "arm,juno"; /* For Juno r0 board */ 193 - compatible = "arm,juno-r1"; /* For Juno r1 board */ 194 - compatible = "arm,juno-r2"; /* For Juno r2 board */ 195 - 196 - Required nodes: 197 - The description for the board must include: 198 - - a "psci" node describing the boot method used for the secondary CPUs. 199 - A detailed description of the bindings used for "psci" nodes is present 200 - in the psci.yaml file. 201 - - a "cpus" node describing the available cores and their associated 202 - "enable-method"s. For more details see cpus.yaml file. 203 - 204 - Example: 205 - 206 - /dts-v1/; 207 - / { 208 - model = "ARM Juno development board (r0)"; 209 - compatible = "arm,juno", "arm,vexpress"; 210 - interrupt-parent = <&gic>; 211 - #address-cells = <2>; 212 - #size-cells = <2>; 213 - 214 - cpus { 215 - #address-cells = <2>; 216 - #size-cells = <0>; 217 - 218 - A57_0: cpu@0 { 219 - compatible = "arm,cortex-a57"; 220 - reg = <0x0 0x0>; 221 - device_type = "cpu"; 222 - enable-method = "psci"; 223 - }; 224 - 225 - ..... 226 - 227 - A53_0: cpu@100 { 228 - compatible = "arm,cortex-a53"; 229 - reg = <0x0 0x100>; 230 - device_type = "cpu"; 231 - enable-method = "psci"; 232 - }; 233 - 234 - ..... 235 - }; 236 - 237 - };
-36
Documentation/devicetree/bindings/arm/bcm/brcm,bcm11351-cpu-method.txt
··· 1 - Broadcom Kona Family CPU Enable Method 2 - -------------------------------------- 3 - This binding defines the enable method used for starting secondary 4 - CPUs in the following Broadcom SoCs: 5 - BCM11130, BCM11140, BCM11351, BCM28145, BCM28155, BCM21664 6 - 7 - The enable method is specified by defining the following required 8 - properties in the "cpu" device tree node: 9 - - enable-method = "brcm,bcm11351-cpu-method"; 10 - - secondary-boot-reg = <...>; 11 - 12 - The secondary-boot-reg property is a u32 value that specifies the 13 - physical address of the register used to request the ROM holding pen 14 - code release a secondary CPU. The value written to the register is 15 - formed by encoding the target CPU id into the low bits of the 16 - physical start address it should jump to. 17 - 18 - Example: 19 - cpus { 20 - #address-cells = <1>; 21 - #size-cells = <0>; 22 - 23 - cpu0: cpu@0 { 24 - device_type = "cpu"; 25 - compatible = "arm,cortex-a9"; 26 - reg = <0>; 27 - }; 28 - 29 - cpu1: cpu@1 { 30 - device_type = "cpu"; 31 - compatible = "arm,cortex-a9"; 32 - reg = <1>; 33 - enable-method = "brcm,bcm11351-cpu-method"; 34 - secondary-boot-reg = <0x3500417c>; 35 - }; 36 - };
-10
Documentation/devicetree/bindings/arm/bcm/brcm,bcm11351.txt
··· 1 - Broadcom BCM11351 device tree bindings 2 - ------------------------------------------- 3 - 4 - Boards with the bcm281xx SoC family (which includes bcm11130, bcm11140, 5 - bcm11351, bcm28145, bcm28155 SoCs) shall have the following properties: 6 - 7 - Required root node property: 8 - 9 - compatible = "brcm,bcm11351"; 10 - DEPRECATED: compatible = "bcm,bcm11351";
+21
Documentation/devicetree/bindings/arm/bcm/brcm,bcm11351.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/bcm/brcm,bcm11351.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Broadcom BCM11351 device tree bindings 8 + 9 + maintainers: 10 + - Florian Fainelli <f.fainelli@gmail.com> 11 + 12 + properties: 13 + $nodename: 14 + const: '/' 15 + compatible: 16 + items: 17 + - enum: 18 + - brcm,bcm28155-ap 19 + - const: brcm,bcm11351 20 + 21 + ...
-15
Documentation/devicetree/bindings/arm/bcm/brcm,bcm21664.txt
··· 1 - Broadcom BCM21664 device tree bindings 2 - -------------------------------------- 3 - 4 - This document describes the device tree bindings for boards with the BCM21664 5 - SoC. 6 - 7 - Required root node property: 8 - - compatible: brcm,bcm21664 9 - 10 - Example: 11 - / { 12 - model = "BCM21664 SoC"; 13 - compatible = "brcm,bcm21664"; 14 - [...] 15 - }
+21
Documentation/devicetree/bindings/arm/bcm/brcm,bcm21664.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/bcm/brcm,bcm21664.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Broadcom BCM21664 device tree bindings 8 + 9 + maintainers: 10 + - Florian Fainelli <f.fainelli@gmail.com> 11 + 12 + properties: 13 + $nodename: 14 + const: '/' 15 + compatible: 16 + items: 17 + - enum: 18 + - brcm,bcm21664-garnet 19 + - const: brcm,bcm21664 20 + 21 + ...
-36
Documentation/devicetree/bindings/arm/bcm/brcm,bcm23550-cpu-method.txt
··· 1 - Broadcom Kona Family CPU Enable Method 2 - -------------------------------------- 3 - This binding defines the enable method used for starting secondary 4 - CPUs in the following Broadcom SoCs: 5 - BCM23550 6 - 7 - The enable method is specified by defining the following required 8 - properties in the "cpu" device tree node: 9 - - enable-method = "brcm,bcm23550"; 10 - - secondary-boot-reg = <...>; 11 - 12 - The secondary-boot-reg property is a u32 value that specifies the 13 - physical address of the register used to request the ROM holding pen 14 - code release a secondary CPU. The value written to the register is 15 - formed by encoding the target CPU id into the low bits of the 16 - physical start address it should jump to. 17 - 18 - Example: 19 - cpus { 20 - #address-cells = <1>; 21 - #size-cells = <0>; 22 - 23 - cpu0: cpu@0 { 24 - device_type = "cpu"; 25 - compatible = "arm,cortex-a9"; 26 - reg = <0>; 27 - }; 28 - 29 - cpu1: cpu@1 { 30 - device_type = "cpu"; 31 - compatible = "arm,cortex-a9"; 32 - reg = <1>; 33 - enable-method = "brcm,bcm23550"; 34 - secondary-boot-reg = <0x3500417c>; 35 - }; 36 - };
-15
Documentation/devicetree/bindings/arm/bcm/brcm,bcm23550.txt
··· 1 - Broadcom BCM23550 device tree bindings 2 - -------------------------------------- 3 - 4 - This document describes the device tree bindings for boards with the BCM23550 5 - SoC. 6 - 7 - Required root node property: 8 - - compatible: brcm,bcm23550 9 - 10 - Example: 11 - / { 12 - model = "BCM23550 SoC"; 13 - compatible = "brcm,bcm23550"; 14 - [...] 15 - }
+21
Documentation/devicetree/bindings/arm/bcm/brcm,bcm23550.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/bcm/brcm,bcm23550.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Broadcom BCM23550 device tree bindings 8 + 9 + maintainers: 10 + - Florian Fainelli <f.fainelli@gmail.com> 11 + 12 + properties: 13 + $nodename: 14 + const: '/' 15 + compatible: 16 + items: 17 + - enum: 18 + - brcm,bcm23550-sparrow 19 + - const: brcm,bcm23550 20 + 21 + ...
-15
Documentation/devicetree/bindings/arm/bcm/brcm,bcm4708.txt
··· 1 - Broadcom BCM4708 device tree bindings 2 - ------------------------------------------- 3 - 4 - Boards with the BCM4708 SoC shall have the following properties: 5 - 6 - Required root node property: 7 - 8 - bcm4708 9 - compatible = "brcm,bcm4708"; 10 - 11 - bcm4709 12 - compatible = "brcm,bcm4709"; 13 - 14 - bcm53012 15 - compatible = "brcm,bcm53012";
+88
Documentation/devicetree/bindings/arm/bcm/brcm,bcm4708.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/bcm/brcm,bcm4708.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Broadcom BCM4708 device tree bindings 8 + 9 + description: 10 + Broadcom BCM4708/47081/4709/47094/53012 Wi-Fi/network SoCs based 11 + on the iProc architecture (Northstar). 12 + 13 + maintainers: 14 + - Florian Fainelli <f.fainelli@gmail.com> 15 + - Hauke Mehrtens <hauke@hauke-m.de> 16 + - Rafal Milecki <zajec5@gmail.com> 17 + 18 + properties: 19 + $nodename: 20 + const: '/' 21 + compatible: 22 + oneOf: 23 + - description: BCM4708 based boards 24 + items: 25 + - enum: 26 + - asus,rt-ac56u 27 + - asus,rt-ac68u 28 + - buffalo,wzr-1750dhp 29 + - linksys,ea6300-v1 30 + - linksys,ea6500-v2 31 + - luxul,xap-1510v1 32 + - luxul,xwc-1000 33 + - netgear,r6250v1 34 + - netgear,r6300v2 35 + - smartrg,sr400ac 36 + - brcm,bcm94708 37 + - const: brcm,bcm4708 38 + 39 + - description: BCM47081 based boards 40 + items: 41 + - enum: 42 + - asus,rt-n18u 43 + - buffalo,wzr-600dhp2 44 + - buffalo,wzr-900dhp 45 + - luxul,xap-1410v1 46 + - luxul,xwr-1200v1 47 + - tplink,archer-c5-v2 48 + - const: brcm,bcm47081 49 + - const: brcm,bcm4708 50 + 51 + - description: BCM4709 based boards 52 + items: 53 + - enum: 54 + - asus,rt-ac87u 55 + - buffalo,wxr-1900dhp 56 + - linksys,ea9200 57 + - netgear,r7000 58 + - netgear,r8000 59 + - tplink,archer-c9-v1 60 + - brcm,bcm94709 61 + - const: brcm,bcm4709 62 + - const: brcm,bcm4708 63 + 64 + - description: BCM47094 based boards 65 + items: 66 + - enum: 67 + - dlink,dir-885l 68 + - linksys,panamera 69 + - luxul,abr-4500-v1 70 + - luxul,xap-1610-v1 71 + - luxul,xbr-4500-v1 72 + - luxul,xwc-2000-v1 73 + - luxul,xwr-3100v1 74 + - luxul,xwr-3150-v1 75 + - netgear,r8500 76 + - phicomm,k3 77 + - const: brcm,bcm47094 78 + - const: brcm,bcm4708 79 + 80 + - description: BCM53012 based boards 81 + items: 82 + - enum: 83 + - brcm,bcm953012er 84 + - brcm,bcm953012hr 85 + - brcm,bcm953012k 86 + - const: brcm,brcm53012 87 + - const: brcm,bcm4708 88 + ...
-31
Documentation/devicetree/bindings/arm/bcm/brcm,cygnus.txt
··· 1 - Broadcom Cygnus device tree bindings 2 - ------------------------------------ 3 - 4 - 5 - Boards with Cygnus SoCs shall have the following properties: 6 - 7 - Required root node property: 8 - 9 - BCM11300 10 - compatible = "brcm,bcm11300", "brcm,cygnus"; 11 - 12 - BCM11320 13 - compatible = "brcm,bcm11320", "brcm,cygnus"; 14 - 15 - BCM11350 16 - compatible = "brcm,bcm11350", "brcm,cygnus"; 17 - 18 - BCM11360 19 - compatible = "brcm,bcm11360", "brcm,cygnus"; 20 - 21 - BCM58300 22 - compatible = "brcm,bcm58300", "brcm,cygnus"; 23 - 24 - BCM58302 25 - compatible = "brcm,bcm58302", "brcm,cygnus"; 26 - 27 - BCM58303 28 - compatible = "brcm,bcm58303", "brcm,cygnus"; 29 - 30 - BCM58305 31 - compatible = "brcm,bcm58305", "brcm,cygnus";
+29
Documentation/devicetree/bindings/arm/bcm/brcm,cygnus.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/bcm/brcm,cygnus.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Broadcom Cygnus device tree bindings 8 + 9 + maintainers: 10 + - Ray Jui <rjui@broadcom.com> 11 + - Scott Branden <sbranden@broadcom.com> 12 + 13 + properties: 14 + $nodename: 15 + const: '/' 16 + compatible: 17 + items: 18 + - enum: 19 + - brcm,bcm11300 20 + - brcm,bcm11320 21 + - brcm,bcm11350 22 + - brcm,bcm11360 23 + - brcm,bcm58300 24 + - brcm,bcm58302 25 + - brcm,bcm58303 26 + - brcm,bcm58305 27 + - const: brcm,cygnus 28 + 29 + ...
-14
Documentation/devicetree/bindings/arm/bcm/brcm,hr2.txt
··· 1 - Broadcom Hurricane 2 device tree bindings 2 - --------------------------------------- 3 - 4 - Broadcom Hurricane 2 family of SoCs are used for switching control. These SoCs 5 - are based on Broadcom's iProc SoC architecture and feature a single core Cortex 6 - A9 ARM CPUs, DDR2/DDR3 memory, PCIe GEN-2, USB 2.0 and USB 3.0, serial and NAND 7 - flash and a PCIe attached integrated switching engine. 8 - 9 - Boards with Hurricane SoCs shall have the following properties: 10 - 11 - Required root node property: 12 - 13 - BCM53342 14 - compatible = "brcm,bcm53342", "brcm,hr2";
+28
Documentation/devicetree/bindings/arm/bcm/brcm,hr2.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/bcm/brcm,hr2.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Broadcom Hurricane 2 device tree bindings 8 + 9 + description: 10 + Broadcom Hurricane 2 family of SoCs are used for switching control. These SoCs 11 + are based on Broadcom's iProc SoC architecture and feature a single core Cortex 12 + A9 ARM CPUs, DDR2/DDR3 memory, PCIe GEN-2, USB 2.0 and USB 3.0, serial and NAND 13 + flash and a PCIe attached integrated switching engine. 14 + 15 + maintainers: 16 + - Florian Fainelli <f.fainelli@gmail.com> 17 + 18 + properties: 19 + $nodename: 20 + const: '/' 21 + compatible: 22 + items: 23 + - enum: 24 + - ubnt,unifi-switch8 25 + - const: brcm,bcm53342 26 + - const: brcm,hr2 27 + 28 + ...
-9
Documentation/devicetree/bindings/arm/bcm/brcm,ns2.txt
··· 1 - Broadcom North Star 2 (NS2) device tree bindings 2 - ------------------------------------------------ 3 - 4 - Boards with NS2 shall have the following properties: 5 - 6 - Required root node property: 7 - 8 - NS2 SVK board 9 - compatible = "brcm,ns2-svk", "brcm,ns2";
+23
Documentation/devicetree/bindings/arm/bcm/brcm,ns2.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/bcm/brcm,ns2.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Broadcom North Star 2 (NS2) device tree bindings 8 + 9 + maintainers: 10 + - Ray Jui <rjui@broadcom.com> 11 + - Scott Branden <sbranden@broadcom.com> 12 + 13 + properties: 14 + $nodename: 15 + const: '/' 16 + compatible: 17 + items: 18 + - enum: 19 + - brcm,ns2-svk 20 + - brcm,ns2-xmc 21 + - const: brcm,ns2 22 + 23 + ...
-39
Documentation/devicetree/bindings/arm/bcm/brcm,nsp-cpu-method.txt
··· 1 - Broadcom Northstar Plus SoC CPU Enable Method 2 - --------------------------------------------- 3 - This binding defines the enable method used for starting secondary 4 - CPU in the following Broadcom SoCs: 5 - BCM58522, BCM58525, BCM58535, BCM58622, BCM58623, BCM58625, BCM88312 6 - 7 - The enable method is specified by defining the following required 8 - properties in the corresponding secondary "cpu" device tree node: 9 - - enable-method = "brcm,bcm-nsp-smp"; 10 - - secondary-boot-reg = <...>; 11 - 12 - The secondary-boot-reg property is a u32 value that specifies the 13 - physical address of the register which should hold the common 14 - entry point for a secondary CPU. This entry is cpu node specific 15 - and should be added per cpu. E.g., in case of NSP (BCM58625) which 16 - is a dual core CPU SoC, this entry should be added to cpu1 node. 17 - 18 - 19 - Example: 20 - cpus { 21 - #address-cells = <1>; 22 - #size-cells = <0>; 23 - 24 - cpu0: cpu@0 { 25 - device_type = "cpu"; 26 - compatible = "arm,cortex-a9"; 27 - next-level-cache = <&L2>; 28 - reg = <0>; 29 - }; 30 - 31 - cpu1: cpu@1 { 32 - device_type = "cpu"; 33 - compatible = "arm,cortex-a9"; 34 - next-level-cache = <&L2>; 35 - enable-method = "brcm,bcm-nsp-smp"; 36 - secondary-boot-reg = <0xffff042c>; 37 - reg = <1>; 38 - }; 39 - };
-34
Documentation/devicetree/bindings/arm/bcm/brcm,nsp.txt
··· 1 - Broadcom Northstar Plus device tree bindings 2 - -------------------------------------------- 3 - 4 - Broadcom Northstar Plus family of SoCs are used for switching control 5 - and management applications as well as residential router/gateway 6 - applications. The SoC features dual core Cortex A9 ARM CPUs, integrating 7 - several peripheral interfaces including multiple Gigabit Ethernet PHYs, 8 - DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and NAND flash, 9 - SATA and several other IO controllers. 10 - 11 - Boards with Northstar Plus SoCs shall have the following properties: 12 - 13 - Required root node property: 14 - 15 - BCM58522 16 - compatible = "brcm,bcm58522", "brcm,nsp"; 17 - 18 - BCM58525 19 - compatible = "brcm,bcm58525", "brcm,nsp"; 20 - 21 - BCM58535 22 - compatible = "brcm,bcm58535", "brcm,nsp"; 23 - 24 - BCM58622 25 - compatible = "brcm,bcm58622", "brcm,nsp"; 26 - 27 - BCM58623 28 - compatible = "brcm,bcm58623", "brcm,nsp"; 29 - 30 - BCM58625 31 - compatible = "brcm,bcm58625", "brcm,nsp"; 32 - 33 - BCM88312 34 - compatible = "brcm,bcm88312", "brcm,nsp";
+36
Documentation/devicetree/bindings/arm/bcm/brcm,nsp.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/bcm/brcm,nsp.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Broadcom Northstar Plus device tree bindings 8 + 9 + description: 10 + Broadcom Northstar Plus family of SoCs are used for switching control 11 + and management applications as well as residential router/gateway 12 + applications. The SoC features dual core Cortex A9 ARM CPUs, integrating 13 + several peripheral interfaces including multiple Gigabit Ethernet PHYs, 14 + DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and NAND flash, 15 + SATA and several other IO controllers. 16 + 17 + maintainers: 18 + - Ray Jui <rjui@broadcom.com> 19 + - Scott Branden <sbranden@broadcom.com> 20 + 21 + properties: 22 + $nodename: 23 + const: '/' 24 + compatible: 25 + items: 26 + - enum: 27 + - brcm,bcm58522 28 + - brcm,bcm58525 29 + - brcm,bcm58535 30 + - brcm,bcm58622 31 + - brcm,bcm58623 32 + - brcm,bcm58625 33 + - brcm,bcm88312 34 + - const: brcm,nsp 35 + 36 + ...
-12
Documentation/devicetree/bindings/arm/bcm/brcm,stingray.txt
··· 1 - Broadcom Stingray device tree bindings 2 - ------------------------------------------------ 3 - 4 - Boards with Stingray shall have the following properties: 5 - 6 - Required root node property: 7 - 8 - Stingray Combo SVK board 9 - compatible = "brcm,bcm958742k", "brcm,stingray"; 10 - 11 - Stingray SST100 board 12 - compatible = "brcm,bcm958742t", "brcm,stingray";
+24
Documentation/devicetree/bindings/arm/bcm/brcm,stingray.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/bcm/brcm,stingray.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Broadcom Stingray device tree bindings 8 + 9 + maintainers: 10 + - Ray Jui <rjui@broadcom.com> 11 + - Scott Branden <sbranden@broadcom.com> 12 + 13 + properties: 14 + $nodename: 15 + const: '/' 16 + compatible: 17 + items: 18 + - enum: 19 + - brcm,bcm958742k 20 + - brcm,bcm958742t 21 + - brcm,bcm958802a802x 22 + - const: brcm,stingray 23 + 24 + ...
-10
Documentation/devicetree/bindings/arm/bcm/brcm,vulcan-soc.txt
··· 1 - Broadcom Vulcan device tree bindings 2 - ------------------------------------ 3 - 4 - Boards with Broadcom Vulcan shall have the following root property: 5 - 6 - Broadcom Vulcan Evaluation Board: 7 - compatible = "brcm,vulcan-eval", "brcm,vulcan-soc"; 8 - 9 - Generic Vulcan board: 10 - compatible = "brcm,vulcan-soc";
+22
Documentation/devicetree/bindings/arm/bcm/brcm,vulcan-soc.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/bcm/brcm,vulcan-soc.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Broadcom Vulcan device tree bindings 8 + 9 + maintainers: 10 + - Robert Richter <rrichter@marvell.com> 11 + 12 + properties: 13 + $nodename: 14 + const: '/' 15 + compatible: 16 + items: 17 + - enum: 18 + - brcm,vulcan-eval 19 + - cavium,thunderx2-cn9900 20 + - const: brcm,vulcan-soc 21 + 22 + ...
+33
Documentation/devicetree/bindings/arm/cpus.yaml
··· 300 300 While optional, it is the preferred way to get access to 301 301 the cpu-core power-domains. 302 302 303 + secondary-boot-reg: 304 + $ref: '/schemas/types.yaml#/definitions/uint32' 305 + description: | 306 + Required for systems that have an "enable-method" property value of 307 + "brcm,bcm11351-cpu-method", "brcm,bcm23550" or "brcm,bcm-nsp-smp". 308 + 309 + This includes the following SoCs: | 310 + BCM11130, BCM11140, BCM11351, BCM28145, BCM28155, BCM21664, BCM23550 311 + BCM58522, BCM58525, BCM58535, BCM58622, BCM58623, BCM58625, BCM88312 312 + 313 + The secondary-boot-reg property is a u32 value that specifies the 314 + physical address of the register used to request the ROM holding pen 315 + code release a secondary CPU. The value written to the register is 316 + formed by encoding the target CPU id into the low bits of the 317 + physical start address it should jump to. 318 + 319 + if: 320 + # If the enable-method property contains one of those values 321 + properties: 322 + enable-method: 323 + contains: 324 + enum: 325 + - brcm,bcm11351-cpu-method 326 + - brcm,bcm23550 327 + - brcm,bcm-nsp-smp 328 + # and if enable-method is present 329 + required: 330 + - enable-method 331 + 332 + then: 333 + required: 334 + - secondary-boot-reg 335 + 303 336 required: 304 337 - device_type 305 338 - reg
+69
Documentation/devicetree/bindings/arm/fsl.yaml
··· 119 119 - fsl,imx6q-sabreauto 120 120 - fsl,imx6q-sabrelite 121 121 - fsl,imx6q-sabresd 122 + - technexion,imx6q-pico-dwarf # TechNexion i.MX6Q Pico-Dwarf 123 + - technexion,imx6q-pico-hobbit # TechNexion i.MX6Q Pico-Hobbit 124 + - technexion,imx6q-pico-nymph # TechNexion i.MX6Q Pico-Nymph 125 + - technexion,imx6q-pico-pi # TechNexion i.MX6Q Pico-Pi 122 126 - technologic,imx6q-ts4900 123 127 - technologic,imx6q-ts7970 124 128 - toradex,apalis_imx6q # Apalis iMX6 Module ··· 170 166 - emtrion,emcon-mx6-avari # emCON-MX6S or emCON-MX6DL SoM on Avari Base 171 167 - fsl,imx6dl-sabreauto # i.MX6 DualLite/Solo SABRE Automotive Board 172 168 - fsl,imx6dl-sabresd # i.MX6 DualLite SABRE Smart Device Board 169 + - technexion,imx6dl-pico-dwarf # TechNexion i.MX6DL Pico-Dwarf 170 + - technexion,imx6dl-pico-hobbit # TechNexion i.MX6DL Pico-Hobbit 171 + - technexion,imx6dl-pico-nymph # TechNexion i.MX6DL Pico-Nymph 172 + - technexion,imx6dl-pico-pi # TechNexion i.MX6DL Pico-Pi 173 173 - technologic,imx6dl-ts4900 174 174 - technologic,imx6dl-ts7970 175 175 - toradex,colibri_imx6dl # Colibri iMX6 Module ··· 233 225 - fsl,imx6ul-14x14-evk # i.MX6 UltraLite 14x14 EVK Board 234 226 - kontron,imx6ul-n6310-som # Kontron N6310 SOM 235 227 - kontron,imx6ul-n6311-som # Kontron N6311 SOM 228 + - technexion,imx6ul-pico-dwarf # TechNexion i.MX6UL Pico-Dwarf 229 + - technexion,imx6ul-pico-hobbit # TechNexion i.MX6UL Pico-Hobbit 230 + - technexion,imx6ul-pico-pi # TechNexion i.MX6UL Pico-Pi 236 231 - const: fsl,imx6ul 237 232 238 233 - description: Kontron N6310 S Board ··· 285 274 items: 286 275 - enum: 287 276 - toradex,colibri-imx7s # Colibri iMX7 Solo Module 277 + - toradex,colibri-imx7s-aster # Colibri iMX7 Solo Module on Aster Carrier Board 288 278 - toradex,colibri-imx7s-eval-v3 # Colibri iMX7 Solo Module on Colibri Evaluation Board V3 289 279 - tq,imx7s-mba7 # i.MX7S TQ MBa7 with TQMa7S SoM 290 280 - const: fsl,imx7s ··· 296 284 - fsl,imx7d-sdb # i.MX7 SabreSD Board 297 285 - fsl,imx7d-sdb-reva # i.MX7 SabreSD Rev-A Board 298 286 - novtech,imx7d-meerkat96 # i.MX7 Meerkat96 Board 287 + - technexion,imx7d-pico-dwarf # TechNexion i.MX7D Pico-Dwarf 288 + - technexion,imx7d-pico-hobbit # TechNexion i.MX7D Pico-Hobbit 289 + - technexion,imx7d-pico-nymph # TechNexion i.MX7D Pico-Nymph 290 + - technexion,imx7d-pico-pi # TechNexion i.MX7D Pico-Pi 299 291 - toradex,colibri-imx7d # Colibri iMX7 Dual Module 292 + - toradex,colibri-imx7d-aster # Colibri iMX7 Dual Module on Aster Carrier Board 300 293 - toradex,colibri-imx7d-emmc # Colibri iMX7 Dual 1GB (eMMC) Module 294 + - toradex,colibri-imx7d-emmc-aster # Colibri iMX7 Dual 1GB (eMMC) Module on Aster Carrier Board 301 295 - toradex,colibri-imx7d-emmc-eval-v3 # Colibri iMX7 Dual 1GB (eMMC) Module on Colibri Evaluation Board V3 302 296 - toradex,colibri-imx7d-eval-v3 # Colibri iMX7 Dual Module on Colibri Evaluation Board V3 303 297 - tq,imx7d-mba7 # i.MX7D TQ MBa7 with TQMa7D SoM ··· 341 323 - fsl,imx8mn-ddr4-evk # i.MX8MN DDR4 EVK Board 342 324 - fsl,imx8mn-evk # i.MX8MN LPDDR4 EVK Board 343 325 - const: fsl,imx8mn 326 + 327 + - description: i.MX8MP based Boards 328 + items: 329 + - enum: 330 + - fsl,imx8mp-evk # i.MX8MP EVK Board 331 + - const: fsl,imx8mp 344 332 345 333 - description: i.MX8MQ based Boards 346 334 items: ··· 418 394 - fsl,ls1021a-qds 419 395 - fsl,ls1021a-twr 420 396 - const: fsl,ls1021a 397 + 398 + - description: LS1028A based Boards 399 + items: 400 + - enum: 401 + - fsl,ls1028a-qds 402 + - fsl,ls1028a-rdb 403 + - const: fsl,ls1028a 404 + 405 + - description: Kontron KBox A-230-LS 406 + items: 407 + - const: kontron,kbox-a-230-ls 408 + - const: kontron,sl28-var4 409 + - const: kontron,sl28 410 + - const: fsl,ls1028a 411 + - description: 412 + Kontron SMARC-sAL28 board on the SMARC Eval Carrier 2.0 413 + items: 414 + - enum: 415 + - kontron,sl28-var2-ads2 416 + - kontron,sl28-var3-ads2 417 + - kontron,sl28-var4-ads2 418 + - enum: 419 + - kontron,sl28-var2 420 + - kontron,sl28-var3 421 + - kontron,sl28-var4 422 + - const: kontron,sl28 423 + - const: fsl,ls1028a 424 + 425 + - description: 426 + Kontron SMARC-sAL28 board (on a generic/undefined carrier) 427 + items: 428 + - enum: 429 + - kontron,sl28-var2 430 + - kontron,sl28-var3 431 + - kontron,sl28-var4 432 + - const: kontron,sl28 433 + - const: fsl,ls1028a 434 + 435 + - description: 436 + Kontron SMARC-sAL28 board (base). This is used in the base device 437 + tree which is compatible with the overlays provided by the 438 + vendor. 439 + items: 440 + - const: kontron,sl28 441 + - const: fsl,ls1028a 421 442 422 443 - description: LS1043A based Boards 423 444 items:
+8
Documentation/devicetree/bindings/arm/qcom.yaml
··· 28 28 apq8074 29 29 apq8084 30 30 apq8096 31 + ipq6018 31 32 ipq8074 32 33 mdm9615 33 34 msm8916 ··· 42 41 The 'board' element must be one of the following strings: 43 42 44 43 cdp 44 + cp01-c1 45 45 dragonboard 46 46 hk01 47 47 idp ··· 152 150 - enum: 153 151 - qcom,sc7180-idp 154 152 - const: qcom,sc7180 153 + 154 + - items: 155 + - enum: 156 + - qcom,ipq6018-cp01-c1 157 + - const: qcom,ipq6018 158 + 155 159 ...
+1
Documentation/devicetree/bindings/arm/renesas.yaml
··· 208 208 - description: R-Car M3-W+ (R8A77961) 209 209 items: 210 210 - enum: 211 + - renesas,m3ulcb # M3ULCB (R-Car Starter Kit Pro, RTP8J77961ASKB0SK0SA05A (M3 ES3.0)) 211 212 - renesas,salvator-xs # Salvator-XS (Salvator-X 2nd version, RTP0RC7796SIPB0012SA5A) 212 213 - const: renesas,r8a77961 213 214
+11 -1
Documentation/devicetree/bindings/arm/rockchip.yaml
··· 402 402 - const: phytec,rk3288-phycore-som 403 403 - const: rockchip,rk3288 404 404 405 + - description: Pine64 PinebookPro 406 + items: 407 + - const: pine64,pinebook-pro 408 + - const: rockchip,rk3399 409 + 405 410 - description: Pine64 Rock64 406 411 items: 407 412 - const: pine64,rock64 ··· 448 443 449 444 - description: Rockchip Kylin 450 445 items: 451 - - const: rockchip,kylin-rk3036 446 + - const: rockchip,rk3036-kylin 452 447 - const: rockchip,rk3036 453 448 454 449 - description: Rockchip PX3 Evaluation board ··· 472 467 items: 473 468 - const: rockchip,r88 474 469 - const: rockchip,rk3368 470 + 471 + - description: Rockchip RK3036 Evaluation board 472 + items: 473 + - const: rockchip,rk3036-evb 474 + - const: rockchip,rk3036 475 475 476 476 - description: Rockchip RK3228 Evaluation board 477 477 items:
+26
Documentation/devicetree/bindings/arm/sunxi.yaml
··· 394 394 - const: linksprite,pcduino3-nano 395 395 - const: allwinner,sun7i-a20 396 396 397 + - description: Linutronix Testbox v2 398 + items: 399 + - const: linutronix,testbox-v2 400 + - const: lamobo,lamobo-r1 401 + - const: allwinner,sun7i-a20 402 + 397 403 - description: HAOYU Electronics Marsboard A10 398 404 items: 399 405 - const: haoyu,a10-marsboard ··· 642 636 - const: pine64,pinebook 643 637 - const: allwinner,sun50i-a64 644 638 639 + - description: Pine64 PinePhone Developer Batch (1.0) 640 + items: 641 + - const: pine64,pinephone-1.0 642 + - const: allwinner,sun50i-a64 643 + 644 + - description: Pine64 PinePhone Braveheart (1.1) 645 + items: 646 + - const: pine64,pinephone-1.1 647 + - const: allwinner,sun50i-a64 648 + 649 + - description: Pine64 PineTab 650 + items: 651 + - const: pine64,pinetab 652 + - const: allwinner,sun50i-a64 653 + 645 654 - description: Pine64 SoPine Baseboard 646 655 items: 647 656 - const: pine64,sopine-baseboard ··· 667 646 items: 668 647 - const: pineriver,mini-xplus 669 648 - const: allwinner,sun4i-a10 649 + 650 + - description: PocketBook Touch Lux 3 651 + items: 652 + - const: pocketbook,touch-lux-3 653 + - const: allwinner,sun5i-a13 670 654 671 655 - description: Point of View Protab2-IPS9 672 656 items:
+1
Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
··· 30 30 enum: 31 31 - allwinner,sun5i-a13-mbus 32 32 - allwinner,sun8i-h3-mbus 33 + - allwinner,sun50i-a64-mbus 33 34 34 35 reg: 35 36 maxItems: 1
-229
Documentation/devicetree/bindings/arm/vexpress.txt
··· 1 - ARM Versatile Express boards family 2 - ----------------------------------- 3 - 4 - ARM's Versatile Express platform consists of a motherboard and one 5 - or more daughterboards (tiles). The motherboard provides a set of 6 - peripherals. Processor and RAM "live" on the tiles. 7 - 8 - The motherboard and each core tile should be described by a separate 9 - Device Tree source file, with the tile's description including 10 - the motherboard file using a /include/ directive. As the motherboard 11 - can be initialized in one of two different configurations ("memory 12 - maps"), care must be taken to include the correct one. 13 - 14 - 15 - Root node 16 - --------- 17 - 18 - Required properties in the root node: 19 - - compatible value: 20 - compatible = "arm,vexpress,<model>", "arm,vexpress"; 21 - where <model> is the full tile model name (as used in the tile's 22 - Technical Reference Manual), eg.: 23 - - for Coretile Express A5x2 (V2P-CA5s): 24 - compatible = "arm,vexpress,v2p-ca5s", "arm,vexpress"; 25 - - for Coretile Express A9x4 (V2P-CA9): 26 - compatible = "arm,vexpress,v2p-ca9", "arm,vexpress"; 27 - If a tile comes in several variants or can be used in more then one 28 - configuration, the compatible value should be: 29 - compatible = "arm,vexpress,<model>,<variant>", \ 30 - "arm,vexpress,<model>", "arm,vexpress"; 31 - eg: 32 - - Coretile Express A15x2 (V2P-CA15) with Tech Chip 1: 33 - compatible = "arm,vexpress,v2p-ca15,tc1", \ 34 - "arm,vexpress,v2p-ca15", "arm,vexpress"; 35 - - LogicTile Express 13MG (V2F-2XV6) running Cortex-A7 (3 cores) SMM: 36 - compatible = "arm,vexpress,v2f-2xv6,ca7x3", \ 37 - "arm,vexpress,v2f-2xv6", "arm,vexpress"; 38 - 39 - Optional properties in the root node: 40 - - tile model name (use name from the tile's Technical Reference 41 - Manual, eg. "V2P-CA5s") 42 - model = "<model>"; 43 - - tile's HBI number (unique ARM's board model ID, visible on the 44 - PCB's silkscreen) in hexadecimal transcription: 45 - arm,hbi = <0xhbi> 46 - eg: 47 - - for Coretile Express A5x2 (V2P-CA5s) HBI-0191: 48 - arm,hbi = <0x191>; 49 - - Coretile Express A9x4 (V2P-CA9) HBI-0225: 50 - arm,hbi = <0x225>; 51 - 52 - 53 - CPU nodes 54 - --------- 55 - 56 - Top-level standard "cpus" node is required. It must contain a node 57 - with device_type = "cpu" property for every available core, eg.: 58 - 59 - cpus { 60 - #address-cells = <1>; 61 - #size-cells = <0>; 62 - 63 - cpu@0 { 64 - device_type = "cpu"; 65 - compatible = "arm,cortex-a5"; 66 - reg = <0>; 67 - }; 68 - }; 69 - 70 - 71 - Configuration infrastructure 72 - ---------------------------- 73 - 74 - The platform has an elaborated configuration system, consisting of 75 - microcontrollers residing on the mother- and daughterboards known 76 - as Motherboard/Daughterboard Configuration Controller (MCC and DCC). 77 - The controllers are responsible for the platform initialization 78 - (reset generation, flash programming, FPGA bitfiles loading etc.) 79 - but also control clock generators, voltage regulators, gather 80 - environmental data like temperature, power consumption etc. Even 81 - the video output switch (FPGA) is controlled that way. 82 - 83 - The controllers are not mapped into normal memory address space 84 - and must be accessed through bridges - other devices capable 85 - of generating transactions on the configuration bus. 86 - 87 - The nodes describing configuration controllers must define 88 - the following properties: 89 - - compatible value: 90 - compatible = "arm,vexpress,config-bus"; 91 - - bridge phandle: 92 - arm,vexpress,config-bridge = <phandle>; 93 - and children describing available functions. 94 - 95 - 96 - Platform topology 97 - ----------------- 98 - 99 - As Versatile Express can be configured in number of physically 100 - different setups, the device tree should describe platform topology. 101 - Root node and main motherboard node must define the following 102 - property, describing physical location of the children nodes: 103 - - site number: 104 - arm,vexpress,site = <number>; 105 - where 0 means motherboard, 1 or 2 are daugtherboard sites, 106 - 0xf means "master" site (site containing main CPU tile) 107 - - when daughterboards are stacked on one site, their position 108 - in the stack be be described with: 109 - arm,vexpress,position = <number>; 110 - - when describing tiles consisting more than one DCC, its number 111 - can be described with: 112 - arm,vexpress,dcc = <number>; 113 - 114 - Any of the numbers above defaults to zero if not defined in 115 - the node or any of its parent. 116 - 117 - 118 - Motherboard 119 - ----------- 120 - 121 - The motherboard description file provides a single "motherboard" node 122 - using 2 address cells corresponding to the Static Memory Bus used 123 - between the motherboard and the tile. The first cell defines the Chip 124 - Select (CS) line number, the second cell address offset within the CS. 125 - All interrupt lines between the motherboard and the tile are active 126 - high and are described using single cell. 127 - 128 - Optional properties of the "motherboard" node: 129 - - motherboard's memory map variant: 130 - arm,v2m-memory-map = "<name>"; 131 - where name is one of: 132 - - "rs1" - for RS1 map (i.a. peripherals on CS3); this map is also 133 - referred to as "ARM Cortex-A Series memory map": 134 - arm,v2m-memory-map = "rs1"; 135 - When this property is missing, the motherboard is using the original 136 - memory map (also known as the "Legacy memory map", primarily used 137 - with the original CoreTile Express A9x4) with peripherals on CS7. 138 - 139 - Motherboard .dtsi files provide a set of labelled peripherals that 140 - can be used to obtain required phandle in the tile's "aliases" node: 141 - - UARTs, note that the numbers correspond to the physical connectors 142 - on the motherboard's back panel: 143 - v2m_serial0, v2m_serial1, v2m_serial2 and v2m_serial3 144 - - I2C controllers: 145 - v2m_i2c_dvi and v2m_i2c_pcie 146 - - SP804 timers: 147 - v2m_timer01 and v2m_timer23 148 - 149 - The tile description should define a "smb" node, describing the 150 - Static Memory Bus between the tile and motherboard. It must define 151 - the following properties: 152 - - "simple-bus" compatible value (to ensure creation of the children) 153 - compatible = "simple-bus"; 154 - - mapping of the SMB CS/offset addresses into main address space: 155 - #address-cells = <2>; 156 - #size-cells = <1>; 157 - ranges = <...>; 158 - - interrupts mapping: 159 - #interrupt-cells = <1>; 160 - interrupt-map-mask = <0 0 63>; 161 - interrupt-map = <...>; 162 - 163 - 164 - Example of a VE tile description (simplified) 165 - --------------------------------------------- 166 - 167 - /dts-v1/; 168 - 169 - / { 170 - model = "V2P-CA5s"; 171 - arm,hbi = <0x225>; 172 - arm,vexpress,site = <0xf>; 173 - compatible = "arm,vexpress-v2p-ca5s", "arm,vexpress"; 174 - interrupt-parent = <&gic>; 175 - #address-cells = <1>; 176 - #size-cells = <1>; 177 - 178 - chosen { }; 179 - 180 - aliases { 181 - serial0 = &v2m_serial0; 182 - }; 183 - 184 - cpus { 185 - #address-cells = <1>; 186 - #size-cells = <0>; 187 - 188 - cpu@0 { 189 - device_type = "cpu"; 190 - compatible = "arm,cortex-a5"; 191 - reg = <0>; 192 - }; 193 - }; 194 - 195 - gic: interrupt-controller@2c001000 { 196 - compatible = "arm,cortex-a9-gic"; 197 - #interrupt-cells = <3>; 198 - #address-cells = <0>; 199 - interrupt-controller; 200 - reg = <0x2c001000 0x1000>, 201 - <0x2c000100 0x100>; 202 - }; 203 - 204 - dcc { 205 - compatible = "arm,vexpress,config-bus"; 206 - arm,vexpress,config-bridge = <&v2m_sysreg>; 207 - 208 - osc@0 { 209 - compatible = "arm,vexpress-osc"; 210 - }; 211 - }; 212 - 213 - smb { 214 - compatible = "simple-bus"; 215 - 216 - #address-cells = <2>; 217 - #size-cells = <1>; 218 - /* CS0 is visible at 0x08000000 */ 219 - ranges = <0 0 0x08000000 0x04000000>; 220 - 221 - #interrupt-cells = <1>; 222 - interrupt-map-mask = <0 0 63>; 223 - /* Active high IRQ 0 is connected to GIC's SPI0 */ 224 - interrupt-map = <0 0 0 &gic 0 0 4>; 225 - 226 - /include/ "vexpress-v2m-rs1.dtsi" 227 - }; 228 - }; 229 -
+1 -1
Documentation/devicetree/bindings/crypto/fsl-dcp.txt
··· 11 11 12 12 Example: 13 13 14 - dcp@80028000 { 14 + dcp: crypto@80028000 { 15 15 compatible = "fsl,imx28-dcp", "fsl,imx23-dcp"; 16 16 reg = <0x80028000 0x2000>; 17 17 interrupts = <52 53>;
+1 -1
Documentation/devicetree/bindings/crypto/fsl-imx-sahara.txt
··· 8 8 9 9 Example: 10 10 11 - sah@10025000 { 11 + sah: crypto@10025000 { 12 12 compatible = "fsl,imx27-sahara"; 13 13 reg = < 0x10025000 0x800>; 14 14 interrupts = <75>;
+1 -1
Documentation/devicetree/bindings/crypto/fsl-sec4.txt
··· 138 138 139 139 iMX6UL does only require three clocks 140 140 141 - crypto: caam@2140000 { 141 + crypto: crypto@2140000 { 142 142 compatible = "fsl,sec-v4.0"; 143 143 #address-cells = <1>; 144 144 #size-cells = <1>;
+1 -1
Documentation/devicetree/bindings/pci/nvidia,tegra194-pcie.txt
··· 141 141 ----------------- 142 142 143 143 pcie@14180000 { 144 - compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; 144 + compatible = "nvidia,tegra194-pcie"; 145 145 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX8B>; 146 146 reg = <0x00 0x14180000 0x0 0x00020000 /* appl registers (128K) */ 147 147 0x00 0x38000000 0x0 0x00040000 /* configuration space (256K) */
+8 -3
Documentation/devicetree/bindings/spi/allwinner,sun6i-a31-spi.yaml
··· 18 18 "#size-cells": true 19 19 20 20 compatible: 21 - enum: 22 - - allwinner,sun6i-a31-spi 23 - - allwinner,sun8i-h3-spi 21 + oneOf: 22 + - const: allwinner,sun6i-a31-spi 23 + - const: allwinner,sun8i-h3-spi 24 + - items: 25 + - enum: 26 + - allwinner,sun8i-r40-spi 27 + - allwinner,sun50i-h6-spi 28 + - const: allwinner,sun8i-h3-spi 24 29 25 30 reg: 26 31 maxItems: 1
+1 -1
MAINTAINERS
··· 1622 1622 F: Documentation/devicetree/bindings/pinctrl/bitmain,bm1880-pinctrl.txt 1623 1623 1624 1624 ARM/CALXEDA HIGHBANK ARCHITECTURE 1625 - M: Rob Herring <robh@kernel.org> 1625 + M: Andre Przywara <andre.przywara@arm.com> 1626 1626 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) 1627 1627 S: Maintained 1628 1628 F: arch/arm/mach-highbank/
+19 -1
arch/arm/boot/dts/Makefile
··· 446 446 imx6dl-nitrogen6x.dtb \ 447 447 imx6dl-phytec-mira-rdk-nand.dtb \ 448 448 imx6dl-phytec-pbab01.dtb \ 449 + imx6dl-pico-dwarf.dtb \ 450 + imx6dl-pico-hobbit.dtb \ 451 + imx6dl-pico-nymph.dtb \ 452 + imx6dl-pico-pi.dtb \ 449 453 imx6dl-rex-basic.dtb \ 450 454 imx6dl-riotboard.dtb \ 451 455 imx6dl-sabreauto.dtb \ ··· 533 529 imx6q-phytec-mira-rdk-emmc.dtb \ 534 530 imx6q-phytec-mira-rdk-nand.dtb \ 535 531 imx6q-phytec-pbab01.dtb \ 532 + imx6q-pico-dwarf.dtb \ 533 + imx6q-pico-hobbit.dtb \ 534 + imx6q-pico-nymph.dtb \ 535 + imx6q-pico-pi.dtb \ 536 536 imx6q-pistachio.dtb \ 537 537 imx6q-rex-pro.dtb \ 538 538 imx6q-sabreauto.dtb \ ··· 602 594 imx6ul-kontron-n6310-s-43.dtb \ 603 595 imx6ul-liteboard.dtb \ 604 596 imx6ul-opos6uldev.dtb \ 597 + imx6ul-pico-dwarf.dtb \ 605 598 imx6ul-pico-hobbit.dtb \ 606 599 imx6ul-pico-pi.dtb \ 607 600 imx6ul-phytec-segin-ff-rdk-nand.dtb \ ··· 619 610 imx6ulz-14x14-evk.dtb 620 611 dtb-$(CONFIG_SOC_IMX7D) += \ 621 612 imx7d-cl-som-imx7.dtb \ 613 + imx7d-colibri-aster.dtb \ 614 + imx7d-colibri-emmc-aster.dtb \ 622 615 imx7d-colibri-emmc-eval-v3.dtb \ 623 616 imx7d-colibri-eval-v3.dtb \ 624 617 imx7d-mba7.dtb \ 625 618 imx7d-meerkat96.dtb \ 626 619 imx7d-nitrogen7.dtb \ 620 + imx7d-pico-dwarf.dtb \ 627 621 imx7d-pico-hobbit.dtb \ 622 + imx7d-pico-nymph.dtb \ 628 623 imx7d-pico-pi.dtb \ 629 624 imx7d-sbc-imx7.dtb \ 630 625 imx7d-sdb.dtb \ ··· 636 623 imx7d-sdb-sht11.dtb \ 637 624 imx7d-zii-rmu2.dtb \ 638 625 imx7d-zii-rpu2.dtb \ 626 + imx7s-colibri-aster.dtb \ 639 627 imx7s-colibri-eval-v3.dtb \ 640 628 imx7s-mba7.dtb \ 641 629 imx7s-warp.dtb ··· 1030 1016 stm32h743i-disco.dtb \ 1031 1017 stm32mp157a-avenger96.dtb \ 1032 1018 stm32mp157a-dk1.dtb \ 1019 + stm32mp157c-dhcom-pdk2.dtb \ 1033 1020 stm32mp157c-dk2.dtb \ 1034 1021 stm32mp157c-ed1.dtb \ 1035 1022 stm32mp157c-ev1.dtb ··· 1071 1056 sun5i-a13-licheepi-one.dtb \ 1072 1057 sun5i-a13-olinuxino.dtb \ 1073 1058 sun5i-a13-olinuxino-micro.dtb \ 1059 + sun5i-a13-pocketbook-touch-lux-3.dtb \ 1074 1060 sun5i-a13-q8-tablet.dtb \ 1075 1061 sun5i-a13-utoo-p66.dtb \ 1076 1062 sun5i-gr8-chip-pro.dtb \ ··· 1102 1086 sun7i-a20-i12-tvbox.dtb \ 1103 1087 sun7i-a20-icnova-swac.dtb \ 1104 1088 sun7i-a20-lamobo-r1.dtb \ 1089 + sun7i-a20-linutronix-testbox-v2.dtb \ 1105 1090 sun7i-a20-m3.dtb \ 1106 1091 sun7i-a20-mk808c.dtb \ 1107 1092 sun7i-a20-olimex-som-evb.dtb \ ··· 1219 1202 ste-hrefv60plus-stuib.dtb \ 1220 1203 ste-hrefv60plus-tvk.dtb \ 1221 1204 ste-href520-tvk.dtb \ 1222 - ste-ux500-samsung-golden.dtb 1205 + ste-ux500-samsung-golden.dtb \ 1206 + ste-ux500-samsung-skomer.dtb 1223 1207 dtb-$(CONFIG_ARCH_UNIPHIER) += \ 1224 1208 uniphier-ld4-ref.dtb \ 1225 1209 uniphier-ld6b-ref.dtb \
+18 -3
arch/arm/boot/dts/am33xx-l4.dtsi
··· 759 759 ranges = <0x0 0x200000 0x80000>; 760 760 }; 761 761 762 - target-module@300000 { /* 0x4a300000, ap 9 04.0 */ 763 - compatible = "ti,sysc"; 764 - status = "disabled"; 762 + pruss_tm: target-module@300000 { /* 0x4a300000, ap 9 04.0 */ 763 + compatible = "ti,sysc-pruss", "ti,sysc"; 764 + reg = <0x326000 0x4>, 765 + <0x326004 0x4>; 766 + reg-names = "rev", "sysc"; 767 + ti,sysc-mask = <(SYSC_PRUSS_STANDBY_INIT | 768 + SYSC_PRUSS_SUB_MWAIT)>; 769 + ti,sysc-midle = <SYSC_IDLE_FORCE>, 770 + <SYSC_IDLE_NO>, 771 + <SYSC_IDLE_SMART>; 772 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 773 + <SYSC_IDLE_NO>, 774 + <SYSC_IDLE_SMART>; 775 + clocks = <&pruss_ocp_clkctrl AM3_PRUSS_OCP_PRUSS_CLKCTRL 0>; 776 + clock-names = "fck"; 777 + resets = <&prm_per 1>; 778 + reset-names = "rstctrl"; 765 779 #address-cells = <1>; 766 780 #size-cells = <1>; 767 781 ranges = <0x0 0x300000 0x80000>; 782 + status = "disabled"; 768 783 }; 769 784 }; 770 785 };
+98 -31
arch/arm/boot/dts/am33xx.dtsi
··· 47 47 #size-cells = <0>; 48 48 cpu@0 { 49 49 compatible = "arm,cortex-a8"; 50 + enable-method = "ti,am3352"; 50 51 device_type = "cpu"; 51 52 reg = <0>; 52 53 ··· 57 56 clock-names = "cpu"; 58 57 59 58 clock-latency = <300000>; /* From omap-cpufreq driver */ 59 + cpu-idle-states = <&mpu_gate>; 60 + }; 61 + 62 + idle-states { 63 + mpu_gate: mpu_gate { 64 + compatible = "arm,idle-state"; 65 + entry-latency-us = <40>; 66 + exit-latency-us = <90>; 67 + min-residency-us = <300>; 68 + ti,idle-wkup-m3; 69 + }; 60 70 }; 61 71 }; 62 72 ··· 205 193 reg = <0x48200000 0x1000>; 206 194 }; 207 195 208 - edma: edma@49000000 { 209 - compatible = "ti,edma3-tpcc"; 210 - ti,hwmods = "tpcc"; 211 - reg = <0x49000000 0x10000>; 212 - reg-names = "edma3_cc"; 213 - interrupts = <12 13 14>; 214 - interrupt-names = "edma3_ccint", "edma3_mperr", 215 - "edma3_ccerrint"; 216 - dma-requests = <64>; 217 - #dma-cells = <2>; 196 + target-module@49000000 { 197 + compatible = "ti,sysc-omap4", "ti,sysc"; 198 + reg = <0x49000000 0x4>; 199 + reg-names = "rev"; 200 + clocks = <&l3_clkctrl AM3_L3_TPCC_CLKCTRL 0>; 201 + clock-names = "fck"; 202 + #address-cells = <1>; 203 + #size-cells = <1>; 204 + ranges = <0x0 0x49000000 0x10000>; 218 205 219 - ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>, 220 - <&edma_tptc2 0>; 206 + edma: dma@0 { 207 + compatible = "ti,edma3-tpcc"; 208 + reg = <0 0x10000>; 209 + reg-names = "edma3_cc"; 210 + interrupts = <12 13 14>; 211 + interrupt-names = "edma3_ccint", "edma3_mperr", 212 + "edma3_ccerrint"; 213 + dma-requests = <64>; 214 + #dma-cells = <2>; 221 215 222 - ti,edma-memcpy-channels = <20 21>; 216 + ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>, 217 + <&edma_tptc2 0>; 218 + 219 + ti,edma-memcpy-channels = <20 21>; 220 + }; 223 221 }; 224 222 225 - edma_tptc0: tptc@49800000 { 226 - compatible = "ti,edma3-tptc"; 227 - ti,hwmods = "tptc0"; 228 - reg = <0x49800000 0x100000>; 229 - interrupts = <112>; 230 - interrupt-names = "edma3_tcerrint"; 223 + target-module@49800000 { 224 + compatible = "ti,sysc-omap4", "ti,sysc"; 225 + reg = <0x49800000 0x4>, 226 + <0x49800010 0x4>; 227 + reg-names = "rev", "sysc"; 228 + ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 229 + ti,sysc-midle = <SYSC_IDLE_FORCE>; 230 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 231 + <SYSC_IDLE_SMART>; 232 + clocks = <&l3_clkctrl AM3_L3_TPTC0_CLKCTRL 0>; 233 + clock-names = "fck"; 234 + #address-cells = <1>; 235 + #size-cells = <1>; 236 + ranges = <0x0 0x49800000 0x100000>; 237 + 238 + edma_tptc0: dma@0 { 239 + compatible = "ti,edma3-tptc"; 240 + reg = <0 0x100000>; 241 + interrupts = <112>; 242 + interrupt-names = "edma3_tcerrint"; 243 + }; 231 244 }; 232 245 233 - edma_tptc1: tptc@49900000 { 234 - compatible = "ti,edma3-tptc"; 235 - ti,hwmods = "tptc1"; 236 - reg = <0x49900000 0x100000>; 237 - interrupts = <113>; 238 - interrupt-names = "edma3_tcerrint"; 246 + target-module@49900000 { 247 + compatible = "ti,sysc-omap4", "ti,sysc"; 248 + reg = <0x49900000 0x4>, 249 + <0x49900010 0x4>; 250 + reg-names = "rev", "sysc"; 251 + ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 252 + ti,sysc-midle = <SYSC_IDLE_FORCE>; 253 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 254 + <SYSC_IDLE_SMART>; 255 + clocks = <&l3_clkctrl AM3_L3_TPTC1_CLKCTRL 0>; 256 + clock-names = "fck"; 257 + #address-cells = <1>; 258 + #size-cells = <1>; 259 + ranges = <0x0 0x49900000 0x100000>; 260 + 261 + edma_tptc1: dma@0 { 262 + compatible = "ti,edma3-tptc"; 263 + reg = <0 0x100000>; 264 + interrupts = <113>; 265 + interrupt-names = "edma3_tcerrint"; 266 + }; 239 267 }; 240 268 241 - edma_tptc2: tptc@49a00000 { 242 - compatible = "ti,edma3-tptc"; 243 - ti,hwmods = "tptc2"; 244 - reg = <0x49a00000 0x100000>; 245 - interrupts = <114>; 246 - interrupt-names = "edma3_tcerrint"; 269 + target-module@49a00000 { 270 + compatible = "ti,sysc-omap4", "ti,sysc"; 271 + reg = <0x49a00000 0x4>, 272 + <0x49a00010 0x4>; 273 + reg-names = "rev", "sysc"; 274 + ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 275 + ti,sysc-midle = <SYSC_IDLE_FORCE>; 276 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 277 + <SYSC_IDLE_SMART>; 278 + clocks = <&l3_clkctrl AM3_L3_TPTC2_CLKCTRL 0>; 279 + clock-names = "fck"; 280 + #address-cells = <1>; 281 + #size-cells = <1>; 282 + ranges = <0x0 0x49a00000 0x100000>; 283 + 284 + edma_tptc2: dma@0 { 285 + compatible = "ti,edma3-tptc"; 286 + reg = <0 0x100000>; 287 + interrupts = <114>; 288 + interrupt-names = "edma3_tcerrint"; 289 + }; 247 290 }; 248 291 249 292 target-module@47810000 {
+122 -65
arch/arm/boot/dts/am4372.dtsi
··· 45 45 #size-cells = <0>; 46 46 cpu: cpu@0 { 47 47 compatible = "arm,cortex-a9"; 48 + enable-method = "ti,am4372"; 48 49 device_type = "cpu"; 49 50 reg = <0>; 50 51 ··· 55 54 operating-points-v2 = <&cpu0_opp_table>; 56 55 57 56 clock-latency = <300000>; /* From omap-cpufreq driver */ 57 + cpu-idle-states = <&mpu_gate>; 58 + }; 59 + 60 + idle-states { 61 + mpu_gate: mpu_gate { 62 + compatible = "arm,idle-state"; 63 + entry-latency-us = <40>; 64 + exit-latency-us = <100>; 65 + min-residency-us = <300>; 66 + local-timer-stop; 67 + }; 58 68 }; 59 69 }; 60 70 ··· 197 185 &pm_sram_data>; 198 186 }; 199 187 200 - edma: edma@49000000 { 201 - compatible = "ti,edma3-tpcc"; 202 - ti,hwmods = "tpcc"; 203 - reg = <0x49000000 0x10000>; 204 - reg-names = "edma3_cc"; 205 - interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 206 - <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, 207 - <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 208 - interrupt-names = "edma3_ccint", "edma3_mperr", 209 - "edma3_ccerrint"; 210 - dma-requests = <64>; 211 - #dma-cells = <2>; 188 + target-module@49000000 { 189 + compatible = "ti,sysc-omap4", "ti,sysc"; 190 + reg = <0x49000000 0x4>; 191 + reg-names = "rev"; 192 + clocks = <&l3_clkctrl AM4_L3_TPCC_CLKCTRL 0>; 193 + clock-names = "fck"; 194 + #address-cells = <1>; 195 + #size-cells = <1>; 196 + ranges = <0x0 0x49000000 0x10000>; 212 197 213 - ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>, 214 - <&edma_tptc2 0>; 198 + edma: dma@0 { 199 + compatible = "ti,edma3-tpcc"; 200 + reg = <0 0x10000>; 201 + reg-names = "edma3_cc"; 202 + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 203 + <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, 204 + <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 205 + interrupt-names = "edma3_ccint", "edma3_mperr", 206 + "edma3_ccerrint"; 207 + dma-requests = <64>; 208 + #dma-cells = <2>; 215 209 216 - ti,edma-memcpy-channels = <58 59>; 210 + ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>, 211 + <&edma_tptc2 0>; 212 + 213 + ti,edma-memcpy-channels = <58 59>; 214 + }; 217 215 }; 218 216 219 - edma_tptc0: tptc@49800000 { 220 - compatible = "ti,edma3-tptc"; 221 - ti,hwmods = "tptc0"; 222 - reg = <0x49800000 0x100000>; 223 - interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 224 - interrupt-names = "edma3_tcerrint"; 217 + target-module@49800000 { 218 + compatible = "ti,sysc-omap4", "ti,sysc"; 219 + reg = <0x49800000 0x4>, 220 + <0x49800010 0x4>; 221 + reg-names = "rev", "sysc"; 222 + ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 223 + ti,sysc-midle = <SYSC_IDLE_FORCE>; 224 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 225 + <SYSC_IDLE_SMART>; 226 + clocks = <&l3_clkctrl AM4_L3_TPTC0_CLKCTRL 0>; 227 + clock-names = "fck"; 228 + #address-cells = <1>; 229 + #size-cells = <1>; 230 + ranges = <0x0 0x49800000 0x100000>; 231 + 232 + edma_tptc0: dma@0 { 233 + compatible = "ti,edma3-tptc"; 234 + reg = <0 0x100000>; 235 + interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 236 + interrupt-names = "edma3_tcerrint"; 237 + }; 225 238 }; 226 239 227 - edma_tptc1: tptc@49900000 { 228 - compatible = "ti,edma3-tptc"; 229 - ti,hwmods = "tptc1"; 230 - reg = <0x49900000 0x100000>; 231 - interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 232 - interrupt-names = "edma3_tcerrint"; 240 + target-module@49900000 { 241 + compatible = "ti,sysc-omap4", "ti,sysc"; 242 + reg = <0x49900000 0x4>, 243 + <0x49900010 0x4>; 244 + reg-names = "rev", "sysc"; 245 + ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 246 + ti,sysc-midle = <SYSC_IDLE_FORCE>; 247 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 248 + <SYSC_IDLE_SMART>; 249 + clocks = <&l3_clkctrl AM4_L3_TPTC1_CLKCTRL 0>; 250 + clock-names = "fck"; 251 + #address-cells = <1>; 252 + #size-cells = <1>; 253 + ranges = <0x0 0x49900000 0x100000>; 254 + 255 + edma_tptc1: dma@0 { 256 + compatible = "ti,edma3-tptc"; 257 + reg = <0 0x100000>; 258 + interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 259 + interrupt-names = "edma3_tcerrint"; 260 + }; 233 261 }; 234 262 235 - edma_tptc2: tptc@49a00000 { 236 - compatible = "ti,edma3-tptc"; 237 - ti,hwmods = "tptc2"; 238 - reg = <0x49a00000 0x100000>; 239 - interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 240 - interrupt-names = "edma3_tcerrint"; 263 + target-module@49a00000 { 264 + compatible = "ti,sysc-omap4", "ti,sysc"; 265 + reg = <0x49a00000 0x4>, 266 + <0x49a00010 0x4>; 267 + reg-names = "rev", "sysc"; 268 + ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 269 + ti,sysc-midle = <SYSC_IDLE_FORCE>; 270 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 271 + <SYSC_IDLE_SMART>; 272 + clocks = <&l3_clkctrl AM4_L3_TPTC2_CLKCTRL 0>; 273 + clock-names = "fck"; 274 + #address-cells = <1>; 275 + #size-cells = <1>; 276 + ranges = <0x0 0x49a00000 0x100000>; 277 + 278 + edma_tptc2: dma@0 { 279 + compatible = "ti,edma3-tptc"; 280 + reg = <0 0x100000>; 281 + interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 282 + interrupt-names = "edma3_tcerrint"; 283 + }; 241 284 }; 242 285 243 286 target-module@47810000 { ··· 411 344 }; 412 345 }; 413 346 347 + pruss_tm: target-module@54400000 { 348 + compatible = "ti,sysc-pruss", "ti,sysc"; 349 + reg = <0x54426000 0x4>, 350 + <0x54426004 0x4>; 351 + reg-names = "rev", "sysc"; 352 + ti,sysc-mask = <(SYSC_PRUSS_STANDBY_INIT | 353 + SYSC_PRUSS_SUB_MWAIT)>; 354 + ti,sysc-midle = <SYSC_IDLE_FORCE>, 355 + <SYSC_IDLE_NO>, 356 + <SYSC_IDLE_SMART>; 357 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 358 + <SYSC_IDLE_NO>, 359 + <SYSC_IDLE_SMART>; 360 + clocks = <&pruss_ocp_clkctrl AM4_PRUSS_OCP_PRUSS_CLKCTRL 0>; 361 + clock-names = "fck"; 362 + resets = <&prm_per 1>; 363 + reset-names = "rstctrl"; 364 + #address-cells = <1>; 365 + #size-cells = <1>; 366 + ranges = <0x0 0x54400000 0x80000>; 367 + }; 368 + 414 369 gpmc: gpmc@50000000 { 415 370 compatible = "ti,am3352-gpmc"; 416 371 ti,hwmods = "gpmc"; ··· 480 391 #size-cells = <0>; 481 392 interrupts = <0 138 0x4>; 482 393 num-cs = <4>; 483 - }; 484 - }; 485 - 486 - dss: dss@4832a000 { 487 - compatible = "ti,omap3-dss"; 488 - reg = <0x4832a000 0x200>; 489 - status = "disabled"; 490 - ti,hwmods = "dss_core"; 491 - clocks = <&disp_clk>; 492 - clock-names = "fck"; 493 - #address-cells = <1>; 494 - #size-cells = <1>; 495 - ranges; 496 - 497 - dispc: dispc@4832a400 { 498 - compatible = "ti,omap3-dispc"; 499 - reg = <0x4832a400 0x400>; 500 - interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 501 - ti,hwmods = "dss_dispc"; 502 - clocks = <&disp_clk>; 503 - clock-names = "fck"; 504 - 505 - max-memory-bandwidth = <230000000>; 506 - }; 507 - 508 - rfbi: rfbi@4832a800 { 509 - compatible = "ti,omap3-rfbi"; 510 - reg = <0x4832a800 0x100>; 511 - ti,hwmods = "dss_rfbi"; 512 - clocks = <&disp_clk>; 513 - clock-names = "fck"; 514 - status = "disabled"; 515 394 }; 516 395 }; 517 396
+76 -1
arch/arm/boot/dts/am437x-l4.dtsi
··· 2117 2117 2118 2118 target-module@2a000 { /* 0x4832a000, ap 88 3c.0 */ 2119 2119 compatible = "ti,sysc-omap2", "ti,sysc"; 2120 - ti,hwmods = "dss_core"; 2121 2120 reg = <0x2a000 0x4>, 2122 2121 <0x2a010 0x4>, 2123 2122 <0x2a014 0x4>; ··· 2134 2135 <0x00000800 0x0002a800 0x00000400>, 2135 2136 <0x00000c00 0x0002ac00 0x00000400>, 2136 2137 <0x00001000 0x0002b000 0x00001000>; 2138 + 2139 + dss: dss@0 { 2140 + compatible = "ti,omap3-dss"; 2141 + reg = <0 0x200>; 2142 + status = "disabled"; 2143 + clocks = <&disp_clk>; 2144 + clock-names = "fck"; 2145 + #address-cells = <1>; 2146 + #size-cells = <1>; 2147 + ranges = <0x00000000 0x00000000 0x00000400>, 2148 + <0x00000400 0x00000400 0x00000400>, 2149 + <0x00000800 0x00000800 0x00000400>, 2150 + <0x00000c00 0x00000c00 0x00000400>, 2151 + <0x00001000 0x00001000 0x00001000>; 2152 + 2153 + target-module@400 { 2154 + compatible = "ti,sysc-omap2", "ti,sysc"; 2155 + reg = <0x400 0x4>, 2156 + <0x410 0x4>, 2157 + <0x414 0x4>; 2158 + reg-names = "rev", "sysc", "syss"; 2159 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 2160 + <SYSC_IDLE_NO>, 2161 + <SYSC_IDLE_SMART>; 2162 + ti,sysc-midle = <SYSC_IDLE_FORCE>, 2163 + <SYSC_IDLE_NO>, 2164 + <SYSC_IDLE_SMART>; 2165 + ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 2166 + SYSC_OMAP2_ENAWAKEUP | 2167 + SYSC_OMAP2_SOFTRESET | 2168 + SYSC_OMAP2_AUTOIDLE)>; 2169 + ti,syss-mask = <1>; 2170 + clocks = <&dss_clkctrl AM4_DSS_DSS_CORE_CLKCTRL 0>; 2171 + clock-names = "fck"; 2172 + #address-cells = <1>; 2173 + #size-cells = <1>; 2174 + ranges = <0 0x400 0x400>; 2175 + 2176 + dispc: dispc@0 { 2177 + compatible = "ti,omap3-dispc"; 2178 + reg = <0 0x400>; 2179 + interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 2180 + clocks = <&disp_clk>; 2181 + clock-names = "fck"; 2182 + 2183 + max-memory-bandwidth = <230000000>; 2184 + }; 2185 + }; 2186 + 2187 + target-module@800 { 2188 + compatible = "ti,sysc-omap2", "ti,sysc"; 2189 + reg = <0x800 0x4>, 2190 + <0x810 0x4>, 2191 + <0x814 0x4>; 2192 + reg-names = "rev", "sysc", "syss"; 2193 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 2194 + <SYSC_IDLE_NO>, 2195 + <SYSC_IDLE_SMART>; 2196 + ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | 2197 + SYSC_OMAP2_AUTOIDLE)>; 2198 + ti,syss-mask = <1>; 2199 + clocks = <&dss_clkctrl AM4_DSS_DSS_CORE_CLKCTRL 0>; 2200 + clock-names = "fck"; 2201 + #address-cells = <1>; 2202 + #size-cells = <1>; 2203 + ranges = <0 0x800 0x400>; 2204 + 2205 + rfbi: rfbi@0 { 2206 + compatible = "ti,omap3-rfbi"; 2207 + reg = <0 0x100>; 2208 + clocks = <&dss_clkctrl AM4_DSS_DSS_CORE_CLKCTRL 0>; 2209 + clock-names = "fck"; 2210 + status = "disabled"; 2211 + }; 2212 + }; 2213 + }; 2137 2214 }; 2138 2215 2139 2216 target-module@3d000 { /* 0x4833d000, ap 102 6e.0 */
+50
arch/arm/boot/dts/am57-pruss.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0-only 2 + /* 3 + * Copyright (C) 2020 Texas Instruments Incorporated - http://www.ti.com/ 4 + * 5 + * Common PRUSS data for TI AM57xx platforms 6 + */ 7 + 8 + &ocp { 9 + pruss1_tm: target-module@4b226000 { 10 + compatible = "ti,sysc-pruss", "ti,sysc"; 11 + reg = <0x4b226000 0x4>, 12 + <0x4b226004 0x4>; 13 + reg-names = "rev", "sysc"; 14 + ti,sysc-mask = <(SYSC_PRUSS_STANDBY_INIT | 15 + SYSC_PRUSS_SUB_MWAIT)>; 16 + ti,sysc-midle = <SYSC_IDLE_FORCE>, 17 + <SYSC_IDLE_NO>, 18 + <SYSC_IDLE_SMART>; 19 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 20 + <SYSC_IDLE_NO>, 21 + <SYSC_IDLE_SMART>; 22 + /* Domains (P, C): coreaon_pwrdm, l4per2_clkdm */ 23 + clocks = <&l4per2_clkctrl DRA7_L4PER2_PRUSS1_CLKCTRL 0>; 24 + clock-names = "fck"; 25 + #address-cells = <1>; 26 + #size-cells = <1>; 27 + ranges = <0x00000000 0x4b200000 0x80000>; 28 + }; 29 + 30 + pruss2_tm: target-module@4b2a6000 { 31 + compatible = "ti,sysc-pruss", "ti,sysc"; 32 + reg = <0x4b2a6000 0x4>, 33 + <0x4b2a6004 0x4>; 34 + reg-names = "rev", "sysc"; 35 + ti,sysc-mask = <(SYSC_PRUSS_STANDBY_INIT | 36 + SYSC_PRUSS_SUB_MWAIT)>; 37 + ti,sysc-midle = <SYSC_IDLE_FORCE>, 38 + <SYSC_IDLE_NO>, 39 + <SYSC_IDLE_SMART>; 40 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 41 + <SYSC_IDLE_NO>, 42 + <SYSC_IDLE_SMART>; 43 + /* Domains (P, C): coreaon_pwrdm, l4per2_clkdm */ 44 + clocks = <&l4per2_clkctrl DRA7_L4PER2_PRUSS2_CLKCTRL 0>; 45 + clock-names = "fck"; 46 + #address-cells = <1>; 47 + #size-cells = <1>; 48 + ranges = <0x00000000 0x4b280000 0x80000>; 49 + }; 50 + };
+1
arch/arm/boot/dts/am5718.dtsi
··· 4 4 */ 5 5 6 6 #include "dra72x.dtsi" 7 + #include "am57-pruss.dtsi" 7 8 8 9 / { 9 10 compatible = "ti,am5718", "ti,dra7";
+1
arch/arm/boot/dts/am5728.dtsi
··· 4 4 */ 5 5 6 6 #include "dra74x.dtsi" 7 + #include "am57-pruss.dtsi" 7 8 8 9 / { 9 10 compatible = "ti,am5728", "ti,dra7";
+1
arch/arm/boot/dts/am5748.dtsi
··· 4 4 */ 5 5 6 6 #include "dra76x.dtsi" 7 + #include "am57-pruss.dtsi" 7 8 8 9 / { 9 10 compatible = "ti,am5748", "ti,dra762", "ti,dra7";
+1 -1
arch/arm/boot/dts/arm-realview-pbx.dtsi
··· 210 210 }; 211 211 }; 212 212 213 - soc: soc@0 { 213 + soc: soc { 214 214 compatible = "arm,realview-pbx-soc", "simple-bus"; 215 215 #address-cells = <1>; 216 216 #size-cells = <1>;
+1 -1
arch/arm/boot/dts/at91-dvk_su60_somc_lcm.dtsi
··· 17 17 }; 18 18 19 19 panel: panel { 20 - compatible = "winstar,wf70gtiagdng0", "innolux,at070tn92", "simple-panel"; 20 + compatible = "winstar,wf70gtiagdng0", "innolux,at070tn92"; 21 21 backlight = <&backlight>; 22 22 power-supply = <&vcc_lcd_reg>; 23 23 #address-cells = <1>;
+5
arch/arm/boot/dts/at91-sam9x60ek.dts
··· 645 645 &usb2 { 646 646 status = "okay"; 647 647 }; 648 + 649 + &watchdog { 650 + status = "okay"; 651 + }; 652 +
+12
arch/arm/boot/dts/at91-sama5d27_wlsom1_ek.dts
··· 186 186 pinmux = <PIN_PA10__GPIO>; 187 187 bias-disable; 188 188 }; 189 + 190 + pinctrl_usba_vbus: usba_vbus { 191 + pinmux = <PIN_PA16__GPIO>; 192 + bias-disable; 193 + }; 189 194 }; 190 195 191 196 &pwm0 { ··· 250 245 pinctrl-0 = <&pinctrl_uart3_default>; 251 246 atmel,use-dma-rx; 252 247 atmel,use-dma-tx; 248 + status = "okay"; 249 + }; 250 + 251 + &usb0 { 252 + atmel,vbus-gpio = <&pioA PIN_PA16 GPIO_ACTIVE_HIGH>; 253 + pinctrl-names = "default"; 254 + pinctrl-0 = <&pinctrl_usba_vbus>; 253 255 status = "okay"; 254 256 }; 255 257
+30 -3
arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts
··· 180 180 181 181 i2c0: i2c@f8028000 { 182 182 dmas = <0>, <0>; 183 - pinctrl-names = "default"; 183 + pinctrl-names = "default", "gpio"; 184 184 pinctrl-0 = <&pinctrl_i2c0_default>; 185 + pinctrl-1 = <&pinctrl_i2c0_gpio>; 186 + sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>; 187 + scl-gpios = <&pioA PIN_PD22 GPIO_ACTIVE_HIGH>; 185 188 status = "okay"; 186 189 }; 187 190 ··· 201 198 #address-cells = <1>; 202 199 #size-cells = <0>; 203 200 clocks = <&pmc PMC_TYPE_PERIPHERAL 19>; 204 - pinctrl-names = "default"; 201 + pinctrl-names = "default", "gpio"; 205 202 pinctrl-0 = <&pinctrl_flx0_default>; 203 + pinctrl-1 = <&pinctrl_flx0_gpio>; 204 + sda-gpios = <&pioA PIN_PB28 GPIO_ACTIVE_HIGH>; 205 + scl-gpios = <&pioA PIN_PB29 GPIO_ACTIVE_HIGH>; 206 206 atmel,fifo-size = <16>; 207 207 status = "okay"; 208 208 }; ··· 232 226 233 227 i2c1: i2c@fc028000 { 234 228 dmas = <0>, <0>; 235 - pinctrl-names = "default"; 229 + pinctrl-names = "default", "gpio"; 236 230 pinctrl-0 = <&pinctrl_i2c1_default>; 231 + pinctrl-1 = <&pinctrl_i2c1_gpio>; 232 + sda-gpios = <&pioA PIN_PC6 GPIO_ACTIVE_HIGH>; 233 + scl-gpios = <&pioA PIN_PC7 GPIO_ACTIVE_HIGH>; 237 234 status = "okay"; 238 235 239 236 at24@50 { ··· 253 244 bias-disable; 254 245 }; 255 246 247 + pinctrl_flx0_gpio: flx0_gpio { 248 + pinmux = <PIN_PB28__GPIO>, 249 + <PIN_PB29__GPIO>; 250 + bias-disable; 251 + }; 252 + 256 253 pinctrl_i2c0_default: i2c0_default { 257 254 pinmux = <PIN_PD21__TWD0>, 258 255 <PIN_PD22__TWCK0>; 259 256 bias-disable; 260 257 }; 261 258 259 + pinctrl_i2c0_gpio: i2c0_gpio { 260 + pinmux = <PIN_PD21__GPIO>, 261 + <PIN_PD22__GPIO>; 262 + bias-disable; 263 + }; 264 + 262 265 pinctrl_i2c1_default: i2c1_default { 263 266 pinmux = <PIN_PC6__TWD1>, 264 267 <PIN_PC7__TWCK1>; 268 + bias-disable; 269 + }; 270 + 271 + pinctrl_i2c1_gpio: i2c1_gpio { 272 + pinmux = <PIN_PC6__GPIO>, 273 + <PIN_PC7__GPIO>; 265 274 bias-disable; 266 275 }; 267 276
+30 -3
arch/arm/boot/dts/at91-sama5d2_xplained.dts
··· 129 129 130 130 i2c0: i2c@f8028000 { 131 131 dmas = <0>, <0>; 132 - pinctrl-names = "default"; 132 + pinctrl-names = "default", "gpio"; 133 133 pinctrl-0 = <&pinctrl_i2c0_default>; 134 + pinctrl-1 = <&pinctrl_i2c0_gpio>; 135 + sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>; 136 + scl-gpios = <&pioA PIN_PD22 GPIO_ACTIVE_HIGH>; 134 137 i2c-sda-hold-time-ns = <350>; 135 138 status = "okay"; 136 139 ··· 334 331 #address-cells = <1>; 335 332 #size-cells = <0>; 336 333 clocks = <&pmc PMC_TYPE_PERIPHERAL 23>; 337 - pinctrl-names = "default"; 334 + pinctrl-names = "default", "gpio"; 338 335 pinctrl-0 = <&pinctrl_flx4_default>; 336 + pinctrl-1 = <&pinctrl_flx4_gpio>; 337 + sda-gpios = <&pioA PIN_PD12 GPIO_ACTIVE_HIGH>; 338 + scl-gpios = <&pioA PIN_PD13 GPIO_ACTIVE_HIGH>; 339 339 atmel,fifo-size = <16>; 340 340 i2c-analog-filter; 341 341 i2c-digital-filter; ··· 349 343 350 344 i2c1: i2c@fc028000 { 351 345 dmas = <0>, <0>; 352 - pinctrl-names = "default"; 346 + pinctrl-names = "default", "gpio"; 353 347 pinctrl-0 = <&pinctrl_i2c1_default>; 354 348 i2c-analog-filter; 355 349 i2c-digital-filter; 356 350 i2c-digital-filter-width-ns = <35>; 351 + pinctrl-1 = <&pinctrl_i2c1_gpio>; 352 + sda-gpios = <&pioA PIN_PD4 GPIO_ACTIVE_HIGH>; 353 + scl-gpios = <&pioA PIN_PD5 GPIO_ACTIVE_HIGH>; 357 354 status = "okay"; 358 355 359 356 at24@54 { ··· 450 441 bias-disable; 451 442 }; 452 443 444 + pinctrl_flx4_gpio: flx4_gpio { 445 + pinmux = <PIN_PD12__GPIO>, 446 + <PIN_PD13__GPIO>; 447 + bias-disable; 448 + }; 449 + 453 450 pinctrl_i2c0_default: i2c0_default { 454 451 pinmux = <PIN_PD21__TWD0>, 455 452 <PIN_PD22__TWCK0>; 456 453 bias-disable; 457 454 }; 458 455 456 + pinctrl_i2c0_gpio: i2c0_gpio { 457 + pinmux = <PIN_PD21__GPIO>, 458 + <PIN_PD22__GPIO>; 459 + bias-disable; 460 + }; 461 + 459 462 pinctrl_i2c1_default: i2c1_default { 460 463 pinmux = <PIN_PD4__TWD1>, 461 464 <PIN_PD5__TWCK1>; 465 + bias-disable; 466 + }; 467 + 468 + pinctrl_i2c1_gpio: i2c1_gpio { 469 + pinmux = <PIN_PD4__GPIO>, 470 + <PIN_PD5__GPIO>; 462 471 bias-disable; 463 472 }; 464 473
+1 -1
arch/arm/boot/dts/at91-sama5d4_ma5d4evk.dts
··· 136 136 137 137 panel: panel { 138 138 /* Actually Ampire 800480R2 */ 139 - compatible = "foxlink,fl500wvr00-a0t", "simple-panel"; 139 + compatible = "foxlink,fl500wvr00-a0t"; 140 140 backlight = <&backlight>; 141 141 #address-cells = <1>; 142 142 #size-cells = <0>;
+1 -1
arch/arm/boot/dts/at91sam9n12ek.dts
··· 238 238 }; 239 239 240 240 panel: panel { 241 - compatible = "qiaodian,qd43003c0-40", "simple-panel"; 241 + compatible = "qiaodian,qd43003c0-40"; 242 242 backlight = <&backlight>; 243 243 power-supply = <&panel_reg>; 244 244 #address-cells = <1>;
+1 -1
arch/arm/boot/dts/at91sam9x5dm.dtsi
··· 27 27 }; 28 28 29 29 panel: panel { 30 - compatible = "foxlink,fl500wvr00-a0t", "simple-panel"; 30 + compatible = "foxlink,fl500wvr00-a0t"; 31 31 backlight = <&backlight>; 32 32 power-supply = <&panel_reg>; 33 33 #address-cells = <1>;
+74
arch/arm/boot/dts/bcm2711-rpi-4-b.dts
··· 20 20 }; 21 21 22 22 aliases { 23 + emmc2bus = &emmc2bus; 23 24 ethernet0 = &genet; 24 25 pcie0 = &pcie0; 25 26 }; ··· 73 72 ""; 74 73 status = "okay"; 75 74 }; 75 + }; 76 + 77 + &gpio { 78 + /* 79 + * Parts taken from rpi_SCH_4b_4p0_reduced.pdf and 80 + * the official GPU firmware DT blob. 81 + * 82 + * Legend: 83 + * "FOO" = GPIO line named "FOO" on the schematic 84 + * "FOO_N" = GPIO line named "FOO" on schematic, active low 85 + */ 86 + gpio-line-names = "ID_SDA", 87 + "ID_SCL", 88 + "SDA1", 89 + "SCL1", 90 + "GPIO_GCLK", 91 + "GPIO5", 92 + "GPIO6", 93 + "SPI_CE1_N", 94 + "SPI_CE0_N", 95 + "SPI_MISO", 96 + "SPI_MOSI", 97 + "SPI_SCLK", 98 + "GPIO12", 99 + "GPIO13", 100 + /* Serial port */ 101 + "TXD1", 102 + "RXD1", 103 + "GPIO16", 104 + "GPIO17", 105 + "GPIO18", 106 + "GPIO19", 107 + "GPIO20", 108 + "GPIO21", 109 + "GPIO22", 110 + "GPIO23", 111 + "GPIO24", 112 + "GPIO25", 113 + "GPIO26", 114 + "GPIO27", 115 + "RGMII_MDIO", 116 + "RGMIO_MDC", 117 + /* Used by BT module */ 118 + "CTS0", 119 + "RTS0", 120 + "TXD0", 121 + "RXD0", 122 + /* Used by Wifi */ 123 + "SD1_CLK", 124 + "SD1_CMD", 125 + "SD1_DATA0", 126 + "SD1_DATA1", 127 + "SD1_DATA2", 128 + "SD1_DATA3", 129 + /* Shared with SPI flash */ 130 + "PWM0_MISO", 131 + "PWM1_MOSI", 132 + "STATUS_LED_G_CLK", 133 + "SPIFLASH_CE_N", 134 + "SDA0", 135 + "SCL0", 136 + "RGMII_RXCLK", 137 + "RGMII_RXCTL", 138 + "RGMII_RXD0", 139 + "RGMII_RXD1", 140 + "RGMII_RXD2", 141 + "RGMII_RXD3", 142 + "RGMII_TXCLK", 143 + "RGMII_TXCTL", 144 + "RGMII_TXD0", 145 + "RGMII_TXD1", 146 + "RGMII_TXD2", 147 + "RGMII_TXD3"; 76 148 }; 77 149 78 150 &pwm1 {
+20 -5
arch/arm/boot/dts/bcm2711.dtsi
··· 241 241 status = "disabled"; 242 242 }; 243 243 244 + hvs@7e400000 { 245 + interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 246 + }; 247 + }; 248 + 249 + /* 250 + * emmc2 has different DMA constraints based on SoC revisions. It was 251 + * moved into its own bus, so as for RPi4's firmware to update them. 252 + * The firmware will find whether the emmc2bus alias is defined, and if 253 + * so, it'll edit the dma-ranges property below accordingly. 254 + */ 255 + emmc2bus: emmc2bus { 256 + compatible = "simple-bus"; 257 + #address-cells = <2>; 258 + #size-cells = <1>; 259 + 260 + ranges = <0x0 0x7e000000 0x0 0xfe000000 0x01800000>; 261 + dma-ranges = <0x0 0xc0000000 0x0 0x00000000 0x40000000>; 262 + 244 263 emmc2: emmc2@7e340000 { 245 264 compatible = "brcm,bcm2711-emmc2"; 246 - reg = <0x7e340000 0x100>; 265 + reg = <0x0 0x7e340000 0x100>; 247 266 interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; 248 267 clocks = <&clocks BCM2711_CLOCK_EMMC2>; 249 268 status = "disabled"; 250 - }; 251 - 252 - hvs@7e400000 { 253 - interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 254 269 }; 255 270 }; 256 271
+14
arch/arm/boot/dts/dm814x-clocks.dtsi
··· 362 362 #clock-cells = <2>; 363 363 }; 364 364 }; 365 + 366 + alwon_ethernet_cm: alwon_ethernet_cm@15d4 { 367 + compatible = "ti,omap4-cm"; 368 + reg = <0x15d4 0x4>; 369 + #address-cells = <1>; 370 + #size-cells = <1>; 371 + ranges = <0 0x15d4 0x4>; 372 + 373 + alwon_ethernet_clkctrl: clk@0 { 374 + compatible = "ti,clkctrl"; 375 + reg = <0 0x4>; 376 + #clock-cells = <2>; 377 + }; 378 + }; 365 379 };
+171 -83
arch/arm/boot/dts/dm814x.dtsi
··· 4 4 * kind, whether express or implied. 5 5 */ 6 6 7 + #include <dt-bindings/bus/ti-sysc.h> 8 + #include <dt-bindings/clock/dm814.h> 7 9 #include <dt-bindings/gpio/gpio.h> 8 10 #include <dt-bindings/pinctrl/dm814x.h> 9 11 ··· 521 519 reg = <0x47810000 0x1000>; 522 520 }; 523 521 524 - edma: edma@49000000 { 525 - compatible = "ti,edma3-tpcc"; 526 - ti,hwmods = "tpcc"; 527 - reg = <0x49000000 0x10000>; 528 - reg-names = "edma3_cc"; 529 - interrupts = <12 13 14>; 530 - interrupt-names = "edma3_ccint", "edma3_mperr", 531 - "edma3_ccerrint"; 532 - dma-requests = <64>; 533 - #dma-cells = <2>; 522 + target-module@49000000 { 523 + compatible = "ti,sysc-omap4", "ti,sysc"; 524 + reg = <0x49000000 0x4>; 525 + reg-names = "rev"; 526 + clocks = <&alwon_clkctrl DM814_TPCC_CLKCTRL 0>; 527 + clock-names = "fck"; 528 + #address-cells = <1>; 529 + #size-cells = <1>; 530 + ranges = <0x0 0x49000000 0x10000>; 534 531 535 - ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>, 536 - <&edma_tptc2 3>, <&edma_tptc3 0>; 532 + edma: dma@0 { 533 + compatible = "ti,edma3-tpcc"; 534 + reg = <0 0x10000>; 535 + reg-names = "edma3_cc"; 536 + interrupts = <12 13 14>; 537 + interrupt-names = "edma3_ccint", "edma3_mperr", 538 + "edma3_ccerrint"; 539 + dma-requests = <64>; 540 + #dma-cells = <2>; 537 541 538 - ti,edma-memcpy-channels = <20 21>; 542 + ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>, 543 + <&edma_tptc2 3>, <&edma_tptc3 0>; 544 + 545 + ti,edma-memcpy-channels = <20 21>; 546 + }; 539 547 }; 540 548 541 - edma_tptc0: tptc@49800000 { 542 - compatible = "ti,edma3-tptc"; 543 - ti,hwmods = "tptc0"; 544 - reg = <0x49800000 0x100000>; 545 - interrupts = <112>; 546 - interrupt-names = "edma3_tcerrint"; 549 + target-module@49800000 { 550 + compatible = "ti,sysc-omap4", "ti,sysc"; 551 + reg = <0x49800000 0x4>, 552 + <0x49800010 0x4>; 553 + reg-names = "rev", "sysc"; 554 + ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 555 + ti,sysc-midle = <SYSC_IDLE_FORCE>; 556 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 557 + <SYSC_IDLE_SMART>; 558 + clocks = <&alwon_clkctrl DM814_TPTC0_CLKCTRL 0>; 559 + clock-names = "fck"; 560 + #address-cells = <1>; 561 + #size-cells = <1>; 562 + ranges = <0x0 0x49800000 0x100000>; 563 + 564 + edma_tptc0: dma@0 { 565 + compatible = "ti,edma3-tptc"; 566 + reg = <0 0x100000>; 567 + interrupts = <112>; 568 + interrupt-names = "edma3_tcerrint"; 569 + }; 547 570 }; 548 571 549 - edma_tptc1: tptc@49900000 { 550 - compatible = "ti,edma3-tptc"; 551 - ti,hwmods = "tptc1"; 552 - reg = <0x49900000 0x100000>; 553 - interrupts = <113>; 554 - interrupt-names = "edma3_tcerrint"; 572 + target-module@49900000 { 573 + compatible = "ti,sysc-omap4", "ti,sysc"; 574 + reg = <0x49900000 0x4>, 575 + <0x49900010 0x4>; 576 + reg-names = "rev", "sysc"; 577 + ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 578 + ti,sysc-midle = <SYSC_IDLE_FORCE>; 579 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 580 + <SYSC_IDLE_SMART>; 581 + clocks = <&alwon_clkctrl DM814_TPTC1_CLKCTRL 0>; 582 + clock-names = "fck"; 583 + #address-cells = <1>; 584 + #size-cells = <1>; 585 + ranges = <0x0 0x49900000 0x100000>; 586 + 587 + edma_tptc1: dma@0 { 588 + compatible = "ti,edma3-tptc"; 589 + reg = <0 0x100000>; 590 + interrupts = <113>; 591 + interrupt-names = "edma3_tcerrint"; 592 + }; 555 593 }; 556 594 557 - edma_tptc2: tptc@49a00000 { 558 - compatible = "ti,edma3-tptc"; 559 - ti,hwmods = "tptc2"; 560 - reg = <0x49a00000 0x100000>; 561 - interrupts = <114>; 562 - interrupt-names = "edma3_tcerrint"; 595 + target-module@49a00000 { 596 + compatible = "ti,sysc-omap4", "ti,sysc"; 597 + reg = <0x49a00000 0x4>, 598 + <0x49a00010 0x4>; 599 + reg-names = "rev", "sysc"; 600 + ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 601 + ti,sysc-midle = <SYSC_IDLE_FORCE>; 602 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 603 + <SYSC_IDLE_SMART>; 604 + clocks = <&alwon_clkctrl DM814_TPTC2_CLKCTRL 0>; 605 + clock-names = "fck"; 606 + #address-cells = <1>; 607 + #size-cells = <1>; 608 + ranges = <0x0 0x49a00000 0x100000>; 609 + 610 + edma_tptc2: dma@0 { 611 + compatible = "ti,edma3-tptc"; 612 + reg = <0 0x100000>; 613 + interrupts = <114>; 614 + interrupt-names = "edma3_tcerrint"; 615 + }; 563 616 }; 564 617 565 - edma_tptc3: tptc@49b00000 { 566 - compatible = "ti,edma3-tptc"; 567 - ti,hwmods = "tptc3"; 568 - reg = <0x49b00000 0x100000>; 569 - interrupts = <115>; 570 - interrupt-names = "edma3_tcerrint"; 618 + target-module@49b00000 { 619 + compatible = "ti,sysc-omap4", "ti,sysc"; 620 + reg = <0x49b00000 0x4>, 621 + <0x49b00010 0x4>; 622 + reg-names = "rev", "sysc"; 623 + ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 624 + ti,sysc-midle = <SYSC_IDLE_FORCE>; 625 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 626 + <SYSC_IDLE_SMART>; 627 + clocks = <&alwon_clkctrl DM814_TPTC3_CLKCTRL 0>; 628 + clock-names = "fck"; 629 + #address-cells = <1>; 630 + #size-cells = <1>; 631 + ranges = <0x0 0x49b00000 0x100000>; 632 + 633 + edma_tptc3: dma@0 { 634 + compatible = "ti,edma3-tptc"; 635 + reg = <0 0x100000>; 636 + interrupts = <115>; 637 + interrupt-names = "edma3_tcerrint"; 638 + }; 571 639 }; 572 640 573 641 /* See TRM "Table 1-318. L4HS Instance Summary" */ ··· 646 574 #address-cells = <1>; 647 575 #size-cells = <1>; 648 576 ranges = <0 0x4a000000 0x1b4040>; 649 - }; 650 577 651 - /* REVISIT: Move to live under l4hs once driver is fixed */ 652 - mac: ethernet@4a100000 { 653 - compatible = "ti,cpsw"; 654 - ti,hwmods = "cpgmac0"; 655 - clocks = <&cpsw_125mhz_gclk>, <&cpsw_cpts_rft_clk>; 656 - clock-names = "fck", "cpts"; 657 - cpdma_channels = <8>; 658 - ale_entries = <1024>; 659 - bd_ram_size = <0x2000>; 660 - mac_control = <0x20>; 661 - slaves = <2>; 662 - active_slave = <0>; 663 - cpts_clock_mult = <0x80000000>; 664 - cpts_clock_shift = <29>; 665 - reg = <0x4a100000 0x800 666 - 0x4a100900 0x100>; 667 - #address-cells = <1>; 668 - #size-cells = <1>; 669 - interrupt-parent = <&intc>; 670 - /* 671 - * c0_rx_thresh_pend 672 - * c0_rx_pend 673 - * c0_tx_pend 674 - * c0_misc_pend 675 - */ 676 - interrupts = <40 41 42 43>; 677 - ranges; 678 - syscon = <&scm_conf>; 679 - 680 - davinci_mdio: mdio@4a100800 { 681 - compatible = "ti,davinci_mdio"; 578 + target-module@100000 { 579 + compatible = "ti,sysc-omap4-simple", "ti,sysc"; 580 + reg = <0x100900 0x4>, 581 + <0x100908 0x4>, 582 + <0x100904 0x4>; 583 + reg-names = "rev", "sysc", "syss"; 584 + ti,sysc-mask = <0>; 585 + ti,sysc-midle = <SYSC_IDLE_FORCE>, 586 + <SYSC_IDLE_NO>; 587 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 588 + <SYSC_IDLE_NO>; 589 + ti,syss-mask = <1>; 590 + clocks = <&alwon_ethernet_clkctrl DM814_ETHERNET_CPGMAC0_CLKCTRL 0>; 591 + clock-names = "fck"; 682 592 #address-cells = <1>; 683 - #size-cells = <0>; 684 - ti,hwmods = "davinci_mdio"; 685 - bus_freq = <1000000>; 686 - reg = <0x4a100800 0x100>; 687 - }; 593 + #size-cells = <1>; 594 + ranges = <0 0x100000 0x8000>; 688 595 689 - cpsw_emac0: slave@4a100200 { 690 - /* Filled in by U-Boot */ 691 - mac-address = [ 00 00 00 00 00 00 ]; 692 - phys = <&phy_gmii_sel 1>; 596 + mac: ethernet@0 { 597 + compatible = "ti,cpsw"; 598 + clocks = <&cpsw_125mhz_gclk>, <&cpsw_cpts_rft_clk>; 599 + clock-names = "fck", "cpts"; 600 + cpdma_channels = <8>; 601 + ale_entries = <1024>; 602 + bd_ram_size = <0x2000>; 603 + mac_control = <0x20>; 604 + slaves = <2>; 605 + active_slave = <0>; 606 + cpts_clock_mult = <0x80000000>; 607 + cpts_clock_shift = <29>; 608 + reg = <0 0x800>, 609 + <0x900 0x100>; 610 + #address-cells = <1>; 611 + #size-cells = <1>; 612 + /* 613 + * c0_rx_thresh_pend 614 + * c0_rx_pend 615 + * c0_tx_pend 616 + * c0_misc_pend 617 + */ 618 + interrupts = <40 41 42 43>; 619 + ranges = <0 0 0x8000>; 620 + syscon = <&scm_conf>; 693 621 694 - }; 622 + davinci_mdio: mdio@800 { 623 + compatible = "ti,cpsw-mdio", "ti,davinci_mdio"; 624 + clocks = <&alwon_ethernet_clkctrl DM814_ETHERNET_CPGMAC0_CLKCTRL 0>; 625 + clock-names = "fck"; 626 + #address-cells = <1>; 627 + #size-cells = <0>; 628 + bus_freq = <1000000>; 629 + reg = <0x800 0x100>; 630 + }; 695 631 696 - cpsw_emac1: slave@4a100300 { 697 - /* Filled in by U-Boot */ 698 - mac-address = [ 00 00 00 00 00 00 ]; 699 - phys = <&phy_gmii_sel 2>; 632 + cpsw_emac0: slave@200 { 633 + /* Filled in by U-Boot */ 634 + mac-address = [ 00 00 00 00 00 00 ]; 635 + phys = <&phy_gmii_sel 1>; 636 + }; 637 + 638 + cpsw_emac1: slave@300 { 639 + /* Filled in by U-Boot */ 640 + mac-address = [ 00 00 00 00 00 00 ]; 641 + phys = <&phy_gmii_sel 2>; 642 + }; 643 + }; 700 644 }; 701 645 }; 702 646
+130 -18
arch/arm/boot/dts/dm816x.dtsi
··· 4 4 * kind, whether express or implied. 5 5 */ 6 6 7 + #include <dt-bindings/bus/ti-sysc.h> 8 + #include <dt-bindings/clock/dm816.h> 7 9 #include <dt-bindings/gpio/gpio.h> 8 10 #include <dt-bindings/pinctrl/omap.h> 9 11 ··· 140 138 }; 141 139 }; 142 140 143 - edma: edma@49000000 { 144 - compatible = "ti,edma3"; 145 - ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2", "tptc3"; 146 - reg = <0x49000000 0x10000>, 147 - <0x44e10f90 0x40>; 148 - interrupts = <12 13 14>; 149 - #dma-cells = <1>; 141 + target-module@49000000 { 142 + compatible = "ti,sysc-omap4", "ti,sysc"; 143 + reg = <0x49000000 0x4>; 144 + reg-names = "rev"; 145 + clocks = <&alwon_clkctrl DM816_TPCC_CLKCTRL 0>; 146 + clock-names = "fck"; 147 + #address-cells = <1>; 148 + #size-cells = <1>; 149 + ranges = <0x0 0x49000000 0x10000>; 150 + 151 + edma: dma@0 { 152 + compatible = "ti,edma3-tpcc"; 153 + reg = <0 0x10000>; 154 + reg-names = "edma3_cc"; 155 + interrupts = <12 13 14>; 156 + interrupt-names = "edma3_ccint", "edma3_mperr", 157 + "edma3_ccerrint"; 158 + dma-requests = <64>; 159 + #dma-cells = <2>; 160 + 161 + ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>, 162 + <&edma_tptc2 3>, <&edma_tptc3 0>; 163 + 164 + ti,edma-memcpy-channels = <20 21>; 165 + }; 166 + }; 167 + 168 + target-module@49800000 { 169 + compatible = "ti,sysc-omap4", "ti,sysc"; 170 + reg = <0x49800000 0x4>, 171 + <0x49800010 0x4>; 172 + reg-names = "rev", "sysc"; 173 + ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 174 + ti,sysc-midle = <SYSC_IDLE_FORCE>; 175 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 176 + <SYSC_IDLE_SMART>; 177 + clocks = <&alwon_clkctrl DM816_TPTC0_CLKCTRL 0>; 178 + clock-names = "fck"; 179 + #address-cells = <1>; 180 + #size-cells = <1>; 181 + ranges = <0x0 0x49800000 0x100000>; 182 + 183 + edma_tptc0: dma@0 { 184 + compatible = "ti,edma3-tptc"; 185 + reg = <0 0x100000>; 186 + interrupts = <112>; 187 + interrupt-names = "edma3_tcerrint"; 188 + }; 189 + }; 190 + 191 + target-module@49900000 { 192 + compatible = "ti,sysc-omap4", "ti,sysc"; 193 + reg = <0x49900000 0x4>, 194 + <0x49900010 0x4>; 195 + reg-names = "rev", "sysc"; 196 + ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 197 + ti,sysc-midle = <SYSC_IDLE_FORCE>; 198 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 199 + <SYSC_IDLE_SMART>; 200 + clocks = <&alwon_clkctrl DM816_TPTC1_CLKCTRL 0>; 201 + clock-names = "fck"; 202 + #address-cells = <1>; 203 + #size-cells = <1>; 204 + ranges = <0x0 0x49900000 0x100000>; 205 + 206 + edma_tptc1: dma@0 { 207 + compatible = "ti,edma3-tptc"; 208 + reg = <0 0x100000>; 209 + interrupts = <113>; 210 + interrupt-names = "edma3_tcerrint"; 211 + }; 212 + }; 213 + 214 + target-module@49a00000 { 215 + compatible = "ti,sysc-omap4", "ti,sysc"; 216 + reg = <0x49a00000 0x4>, 217 + <0x49a00010 0x4>; 218 + reg-names = "rev", "sysc"; 219 + ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 220 + ti,sysc-midle = <SYSC_IDLE_FORCE>; 221 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 222 + <SYSC_IDLE_SMART>; 223 + clocks = <&alwon_clkctrl DM816_TPTC2_CLKCTRL 0>; 224 + clock-names = "fck"; 225 + #address-cells = <1>; 226 + #size-cells = <1>; 227 + ranges = <0x0 0x49a00000 0x100000>; 228 + 229 + edma_tptc2: dma@0 { 230 + compatible = "ti,edma3-tptc"; 231 + reg = <0 0x100000>; 232 + interrupts = <114>; 233 + interrupt-names = "edma3_tcerrint"; 234 + }; 235 + }; 236 + 237 + target-module@49b00000 { 238 + compatible = "ti,sysc-omap4", "ti,sysc"; 239 + reg = <0x49b00000 0x4>, 240 + <0x49b00010 0x4>; 241 + reg-names = "rev", "sysc"; 242 + ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>; 243 + ti,sysc-midle = <SYSC_IDLE_FORCE>; 244 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 245 + <SYSC_IDLE_SMART>; 246 + clocks = <&alwon_clkctrl DM816_TPTC3_CLKCTRL 0>; 247 + clock-names = "fck"; 248 + #address-cells = <1>; 249 + #size-cells = <1>; 250 + ranges = <0x0 0x49b00000 0x100000>; 251 + 252 + edma_tptc3: dma@0 { 253 + compatible = "ti,edma3-tptc"; 254 + reg = <0 0x100000>; 255 + interrupts = <115>; 256 + interrupt-names = "edma3_tcerrint"; 257 + }; 150 258 }; 151 259 152 260 elm: elm@48080000 { ··· 297 185 #address-cells = <2>; 298 186 #size-cells = <1>; 299 187 interrupts = <100>; 300 - dmas = <&edma 52>; 188 + dmas = <&edma 52 0>; 301 189 dma-names = "rxtx"; 302 190 gpmc,num-cs = <6>; 303 191 gpmc,num-waitpins = <2>; ··· 314 202 #address-cells = <1>; 315 203 #size-cells = <0>; 316 204 interrupts = <70>; 317 - dmas = <&edma 58 &edma 59>; 205 + dmas = <&edma 58 0 &edma 59 0>; 318 206 dma-names = "tx", "rx"; 319 207 }; 320 208 ··· 325 213 #address-cells = <1>; 326 214 #size-cells = <0>; 327 215 interrupts = <71>; 328 - dmas = <&edma 60 &edma 61>; 216 + dmas = <&edma 60 0 &edma 61 0>; 329 217 dma-names = "tx", "rx"; 330 218 }; 331 219 ··· 423 311 interrupts = <65>; 424 312 ti,spi-num-cs = <4>; 425 313 ti,hwmods = "mcspi1"; 426 - dmas = <&edma 16 &edma 17 427 - &edma 18 &edma 19 428 - &edma 20 &edma 21 429 - &edma 22 &edma 23>; 314 + dmas = <&edma 16 0 &edma 17 0 315 + &edma 18 0 &edma 19 0 316 + &edma 20 0 &edma 21 0 317 + &edma 22 0 &edma 23 0>; 430 318 dma-names = "tx0", "rx0", "tx1", "rx1", 431 319 "tx2", "rx2", "tx3", "rx3"; 432 320 }; ··· 436 324 reg = <0x48060000 0x11000>; 437 325 ti,hwmods = "mmc1"; 438 326 interrupts = <64>; 439 - dmas = <&edma 24 &edma 25>; 327 + dmas = <&edma 24 0 &edma 25 0>; 440 328 dma-names = "tx", "rx"; 441 329 }; 442 330 ··· 504 392 reg = <0x48020000 0x2000>; 505 393 clock-frequency = <48000000>; 506 394 interrupts = <72>; 507 - dmas = <&edma 26 &edma 27>; 395 + dmas = <&edma 26 0 &edma 27 0>; 508 396 dma-names = "tx", "rx"; 509 397 }; 510 398 ··· 514 402 reg = <0x48022000 0x2000>; 515 403 clock-frequency = <48000000>; 516 404 interrupts = <73>; 517 - dmas = <&edma 28 &edma 29>; 405 + dmas = <&edma 28 0 &edma 29 0>; 518 406 dma-names = "tx", "rx"; 519 407 }; 520 408 ··· 524 412 reg = <0x48024000 0x2000>; 525 413 clock-frequency = <48000000>; 526 414 interrupts = <74>; 527 - dmas = <&edma 30 &edma 31>; 415 + dmas = <&edma 30 0 &edma 31 0>; 528 416 dma-names = "tx", "rx"; 529 417 }; 530 418
+3 -3
arch/arm/boot/dts/dra62x.dtsi
··· 12 12 13 13 /* Compared to dm814x, dra62x has different offsets for Ethernet */ 14 14 &mac { 15 - reg = <0x4a100000 0x800 16 - 0x4a101200 0x100>; 15 + reg = <0 0x800>, 16 + <0x1200 0x100>; 17 17 }; 18 18 19 19 &davinci_mdio { 20 - reg = <0x4a101000 0x100>; 20 + reg = <0x1000 0x100>; 21 21 }; 22 22 23 23 #include "dra62x-clocks.dtsi"
+151 -66
arch/arm/boot/dts/dra7.dtsi
··· 143 143 * the moment, just use a fake OCP bus entry to represent the whole bus 144 144 * hierarchy. 145 145 */ 146 - ocp { 146 + ocp: ocp { 147 147 compatible = "ti,dra7-l3-noc", "simple-bus"; 148 148 #address-cells = <1>; 149 149 #size-cells = <1>; ··· 334 334 #pinctrl-cells = <2>; 335 335 }; 336 336 337 - edma: edma@43300000 { 338 - compatible = "ti,edma3-tpcc"; 339 - ti,hwmods = "tpcc"; 340 - reg = <0x43300000 0x100000>; 341 - reg-names = "edma3_cc"; 342 - interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>, 343 - <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>, 344 - <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>; 345 - interrupt-names = "edma3_ccint", "edma3_mperr", 346 - "edma3_ccerrint"; 347 - dma-requests = <64>; 348 - #dma-cells = <2>; 337 + target-module@43300000 { 338 + compatible = "ti,sysc-omap4", "ti,sysc"; 339 + reg = <0x43300000 0x4>; 340 + reg-names = "rev"; 341 + clocks = <&l3main1_clkctrl DRA7_L3MAIN1_TPCC_CLKCTRL 0>; 342 + clock-names = "fck"; 343 + #address-cells = <1>; 344 + #size-cells = <1>; 345 + ranges = <0x0 0x43300000 0x100000>; 349 346 350 - ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 0>; 347 + edma: dma@0 { 348 + compatible = "ti,edma3-tpcc"; 349 + reg = <0 0x100000>; 350 + reg-names = "edma3_cc"; 351 + interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>, 352 + <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>, 353 + <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>; 354 + interrupt-names = "edma3_ccint", "edma3_mperr", 355 + "edma3_ccerrint"; 356 + dma-requests = <64>; 357 + #dma-cells = <2>; 351 358 352 - /* 353 - * memcpy is disabled, can be enabled with: 354 - * ti,edma-memcpy-channels = <20 21>; 355 - * for example. Note that these channels need to be 356 - * masked in the xbar as well. 357 - */ 359 + ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 0>; 360 + 361 + /* 362 + * memcpy is disabled, can be enabled with: 363 + * ti,edma-memcpy-channels = <20 21>; 364 + * for example. Note that these channels need to be 365 + * masked in the xbar as well. 366 + */ 367 + }; 358 368 }; 359 369 360 - edma_tptc0: tptc@43400000 { 361 - compatible = "ti,edma3-tptc"; 362 - ti,hwmods = "tptc0"; 363 - reg = <0x43400000 0x100000>; 364 - interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>; 365 - interrupt-names = "edma3_tcerrint"; 370 + target-module@43400000 { 371 + compatible = "ti,sysc-omap4", "ti,sysc"; 372 + reg = <0x43400000 0x4>; 373 + reg-names = "rev"; 374 + clocks = <&l3main1_clkctrl DRA7_L3MAIN1_TPTC0_CLKCTRL 0>; 375 + clock-names = "fck"; 376 + #address-cells = <1>; 377 + #size-cells = <1>; 378 + ranges = <0x0 0x43400000 0x100000>; 379 + 380 + edma_tptc0: dma@0 { 381 + compatible = "ti,edma3-tptc"; 382 + reg = <0 0x100000>; 383 + interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>; 384 + interrupt-names = "edma3_tcerrint"; 385 + }; 366 386 }; 367 387 368 - edma_tptc1: tptc@43500000 { 369 - compatible = "ti,edma3-tptc"; 370 - ti,hwmods = "tptc1"; 371 - reg = <0x43500000 0x100000>; 372 - interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>; 373 - interrupt-names = "edma3_tcerrint"; 388 + target-module@43500000 { 389 + compatible = "ti,sysc-omap4", "ti,sysc"; 390 + reg = <0x43500000 0x4>; 391 + reg-names = "rev"; 392 + clocks = <&l3main1_clkctrl DRA7_L3MAIN1_TPTC1_CLKCTRL 0>; 393 + clock-names = "fck"; 394 + #address-cells = <1>; 395 + #size-cells = <1>; 396 + ranges = <0x0 0x43500000 0x100000>; 397 + 398 + edma_tptc1: dma@0 { 399 + compatible = "ti,edma3-tptc"; 400 + reg = <0 0x100000>; 401 + interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>; 402 + interrupt-names = "edma3_tcerrint"; 403 + }; 374 404 }; 375 405 376 406 dmm@4e000000 { ··· 738 708 ti,irqs-safe-map = <0>; 739 709 }; 740 710 741 - dss: dss@58000000 { 742 - compatible = "ti,dra7-dss"; 743 - /* 'reg' defined in dra72x.dtsi and dra74x.dtsi */ 744 - /* 'clocks' defined in dra72x.dtsi and dra74x.dtsi */ 745 - status = "disabled"; 746 - ti,hwmods = "dss_core"; 747 - /* CTRL_CORE_DSS_PLL_CONTROL */ 748 - syscon-pll-ctrl = <&scm_conf 0x538>; 711 + target-module@58000000 { 712 + compatible = "ti,sysc-omap2", "ti,sysc"; 713 + reg = <0x58000000 4>, 714 + <0x58000014 4>; 715 + reg-names = "rev", "syss"; 716 + ti,syss-mask = <1>; 717 + clocks = <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 0>, 718 + <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 9>, 719 + <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 10>, 720 + <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 11>; 721 + clock-names = "fck", "hdmi_clk", "sys_clk", "tv_clk"; 749 722 #address-cells = <1>; 750 723 #size-cells = <1>; 751 - ranges; 724 + ranges = <0 0x58000000 0x800000>; 752 725 753 - dispc@58001000 { 754 - compatible = "ti,dra7-dispc"; 755 - reg = <0x58001000 0x1000>; 756 - interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 757 - ti,hwmods = "dss_dispc"; 758 - clocks = <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 8>; 759 - clock-names = "fck"; 760 - /* CTRL_CORE_SMA_SW_1 */ 761 - syscon-pol = <&scm_conf 0x534>; 762 - }; 763 - 764 - hdmi: encoder@58060000 { 765 - compatible = "ti,dra7-hdmi"; 766 - reg = <0x58040000 0x200>, 767 - <0x58040200 0x80>, 768 - <0x58040300 0x80>, 769 - <0x58060000 0x19000>; 770 - reg-names = "wp", "pll", "phy", "core"; 771 - interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 726 + dss: dss@0 { 727 + compatible = "ti,dra7-dss"; 728 + /* 'reg' defined in dra72x.dtsi and dra74x.dtsi */ 729 + /* 'clocks' defined in dra72x.dtsi and dra74x.dtsi */ 772 730 status = "disabled"; 773 - ti,hwmods = "dss_hdmi"; 774 - clocks = <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 9>, 775 - <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 10>; 776 - clock-names = "fck", "sys_clk"; 777 - dmas = <&sdma_xbar 76>; 778 - dma-names = "audio_tx"; 731 + /* CTRL_CORE_DSS_PLL_CONTROL */ 732 + syscon-pll-ctrl = <&scm_conf 0x538>; 733 + #address-cells = <1>; 734 + #size-cells = <1>; 735 + ranges = <0 0 0x800000>; 736 + 737 + target-module@1000 { 738 + compatible = "ti,sysc-omap2", "ti,sysc"; 739 + reg = <0x1000 0x4>, 740 + <0x1010 0x4>, 741 + <0x1014 0x4>; 742 + reg-names = "rev", "sysc", "syss"; 743 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 744 + <SYSC_IDLE_NO>, 745 + <SYSC_IDLE_SMART>; 746 + ti,sysc-midle = <SYSC_IDLE_FORCE>, 747 + <SYSC_IDLE_NO>, 748 + <SYSC_IDLE_SMART>; 749 + ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 750 + SYSC_OMAP2_ENAWAKEUP | 751 + SYSC_OMAP2_SOFTRESET | 752 + SYSC_OMAP2_AUTOIDLE)>; 753 + ti,syss-mask = <1>; 754 + clocks = <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 8>; 755 + clock-names = "fck"; 756 + #address-cells = <1>; 757 + #size-cells = <1>; 758 + ranges = <0 0x1000 0x1000>; 759 + 760 + dispc@0 { 761 + compatible = "ti,dra7-dispc"; 762 + reg = <0 0x1000>; 763 + interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 764 + clocks = <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 8>; 765 + clock-names = "fck"; 766 + /* CTRL_CORE_SMA_SW_1 */ 767 + syscon-pol = <&scm_conf 0x534>; 768 + }; 769 + }; 770 + 771 + target-module@40000 { 772 + compatible = "ti,sysc-omap4", "ti,sysc"; 773 + reg = <0x40000 0x4>, 774 + <0x40010 0x4>; 775 + reg-names = "rev", "sysc"; 776 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 777 + <SYSC_IDLE_NO>, 778 + <SYSC_IDLE_SMART>, 779 + <SYSC_IDLE_SMART_WKUP>; 780 + ti,sysc-mask = <(SYSC_OMAP4_SOFTRESET)>; 781 + clocks = <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 9>, 782 + <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 8>; 783 + clock-names = "fck", "dss_clk"; 784 + #address-cells = <1>; 785 + #size-cells = <1>; 786 + ranges = <0 0x40000 0x40000>; 787 + 788 + hdmi: encoder@0 { 789 + compatible = "ti,dra7-hdmi"; 790 + reg = <0 0x200>, 791 + <0x200 0x80>, 792 + <0x300 0x80>, 793 + <0x20000 0x19000>; 794 + reg-names = "wp", "pll", "phy", "core"; 795 + interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 796 + status = "disabled"; 797 + clocks = <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 9>, 798 + <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 10>; 799 + clock-names = "fck", "sys_clk"; 800 + dmas = <&sdma_xbar 76>; 801 + dma-names = "audio_tx"; 802 + }; 803 + }; 779 804 }; 780 805 }; 781 806
+3 -3
arch/arm/boot/dts/dra72x.dtsi
··· 60 60 }; 61 61 62 62 &dss { 63 - reg = <0x58000000 0x80>, 64 - <0x58004054 0x4>, 65 - <0x58004300 0x20>; 63 + reg = <0 0x80>, 64 + <0x4054 0x4>, 65 + <0x4300 0x20>; 66 66 reg-names = "dss", "pll1_clkctrl", "pll1"; 67 67 68 68 clocks = <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 8>,
+5 -5
arch/arm/boot/dts/dra74x.dtsi
··· 132 132 }; 133 133 134 134 &dss { 135 - reg = <0x58000000 0x80>, 136 - <0x58004054 0x4>, 137 - <0x58004300 0x20>, 138 - <0x58009054 0x4>, 139 - <0x58009300 0x20>; 135 + reg = <0 0x80>, 136 + <0x4054 0x4>, 137 + <0x4300 0x20>, 138 + <0x9054 0x4>, 139 + <0x9300 0x20>; 140 140 reg-names = "dss", "pll1_clkctrl", "pll1", 141 141 "pll2_clkctrl", "pll2"; 142 142
+2 -4
arch/arm/boot/dts/ecx-2000.dts
··· 13 13 compatible = "calxeda,ecx-2000"; 14 14 #address-cells = <2>; 15 15 #size-cells = <2>; 16 - clock-ranges; 17 16 18 17 cpus { 19 18 #address-cells = <1>; ··· 82 83 intc: interrupt-controller@fff11000 { 83 84 compatible = "arm,cortex-a15-gic"; 84 85 #interrupt-cells = <3>; 85 - #size-cells = <0>; 86 - #address-cells = <1>; 86 + #address-cells = <0>; 87 87 interrupt-controller; 88 88 interrupts = <1 9 0xf04>; 89 89 reg = <0xfff11000 0x1000>, ··· 93 95 94 96 pmu { 95 97 compatible = "arm,cortex-a9-pmu"; 96 - interrupts = <0 76 4 0 75 4 0 74 4 0 73 4>; 98 + interrupts = <0 76 4>, <0 75 4>, <0 74 4>, <0 73 4>; 97 99 }; 98 100 }; 99 101 };
+9 -8
arch/arm/boot/dts/ecx-common.dtsi
··· 27 27 reg = <0xffe08000 0x10000>; 28 28 interrupts = <0 83 4>; 29 29 dma-coherent; 30 - calxeda,port-phys = <&combophy5 0 &combophy0 0 31 - &combophy0 1 &combophy0 2 32 - &combophy0 3>; 33 - calxeda,sgpio-gpio =<&gpioh 5 1 &gpioh 6 1 &gpioh 7 1>; 30 + calxeda,port-phys = < &combophy5 0>, <&combophy0 0>, 31 + <&combophy0 1>, <&combophy0 2>, 32 + <&combophy0 3>; 33 + calxeda,sgpio-gpio =<&gpioh 5 1>, <&gpioh 6 1>, 34 + <&gpioh 7 1>; 34 35 calxeda,led-order = <4 0 1 2 3>; 35 36 }; 36 37 ··· 115 114 compatible = "arm,pl011", "arm,primecell"; 116 115 reg = <0xfff36000 0x1000>; 117 116 interrupts = <0 20 4>; 118 - clocks = <&pclk>; 119 - clock-names = "apb_pclk"; 117 + clocks = <&pclk>, <&pclk>; 118 + clock-names = "uartclk", "apb_pclk"; 120 119 }; 121 120 122 121 smic@fff3a000 { ··· 203 202 ethernet@fff50000 { 204 203 compatible = "calxeda,hb-xgmac"; 205 204 reg = <0xfff50000 0x1000>; 206 - interrupts = <0 77 4 0 78 4 0 79 4>; 205 + interrupts = <0 77 4>, <0 78 4>, <0 79 4>; 207 206 dma-coherent; 208 207 }; 209 208 210 209 ethernet@fff51000 { 211 210 compatible = "calxeda,hb-xgmac"; 212 211 reg = <0xfff51000 0x1000>; 213 - interrupts = <0 80 4 0 81 4 0 82 4>; 212 + interrupts = <0 80 4>, <0 81 4>, <0 82 4>; 214 213 dma-coherent; 215 214 }; 216 215
+1 -1
arch/arm/boot/dts/exynos3250-artik5.dtsi
··· 23 23 24 24 memory@40000000 { 25 25 device_type = "memory"; 26 - reg = <0x40000000 0x1ff00000>; 26 + reg = <0x40000000 0x1f800000>; 27 27 }; 28 28 29 29 firmware@205f000 {
+1 -3
arch/arm/boot/dts/exynos4210-universal_c210.dts
··· 115 115 gpio-sck = <&gpy3 1 GPIO_ACTIVE_HIGH>; 116 116 gpio-mosi = <&gpy3 3 GPIO_ACTIVE_HIGH>; 117 117 num-chipselects = <1>; 118 - cs-gpios = <&gpy4 3 GPIO_ACTIVE_HIGH>; 118 + cs-gpios = <&gpy4 3 GPIO_ACTIVE_LOW>; 119 119 120 120 lcd@0 { 121 121 compatible = "samsung,ld9040"; ··· 124 124 vci-supply = <&ldo17_reg>; 125 125 reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>; 126 126 spi-max-frequency = <1200000>; 127 - spi-cpol; 128 - spi-cpha; 129 127 power-on-delay = <10>; 130 128 reset-delay = <10>; 131 129 panel-width-mm = <90>;
+9
arch/arm/boot/dts/exynos4412-odroid-common.dtsi
··· 165 165 cpu0-supply = <&buck2_reg>; 166 166 }; 167 167 168 + &cpu0_opp_table { 169 + opp-1000000000 { 170 + opp-suspend; 171 + }; 172 + opp-800000000 { 173 + /delete-property/opp-suspend; 174 + }; 175 + }; 176 + 168 177 &pinctrl_1 { 169 178 gpio_power_key: power_key { 170 179 samsung,pins = "gpx1-3";
+7 -3
arch/arm/boot/dts/exynos5250-arndale.dts
··· 93 93 compatible = "regulator-fixed"; 94 94 reg = <0>; 95 95 regulator-name = "MAIN_DC"; 96 + regulator-always-on; 96 97 }; 97 98 98 99 mmc_reg: regulator@1 { 99 100 compatible = "regulator-fixed"; 100 101 reg = <1>; 101 - regulator-name = "VDD_33ON_2.8V"; 102 + regulator-name = "VDD_MMC"; 102 103 regulator-min-microvolt = <2800000>; 103 104 regulator-max-microvolt = <2800000>; 104 - gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>; 105 - enable-active-high; 105 + regulator-always-on; 106 106 }; 107 107 108 108 reg_hdmi_en: regulator@2 { 109 109 compatible = "regulator-fixed"; 110 110 reg = <2>; 111 111 regulator-name = "hdmi-en"; 112 + regulator-always-on; 112 113 }; 113 114 114 115 vcc_1v2_reg: regulator@3 { ··· 118 117 regulator-name = "VCC_1V2"; 119 118 regulator-min-microvolt = <1200000>; 120 119 regulator-max-microvolt = <1200000>; 120 + regulator-always-on; 121 121 }; 122 122 123 123 vcc_1v8_reg: regulator@4 { ··· 127 125 regulator-name = "VCC_1V8"; 128 126 regulator-min-microvolt = <1800000>; 129 127 regulator-max-microvolt = <1800000>; 128 + regulator-always-on; 130 129 }; 131 130 132 131 vcc_3v3_reg: regulator@5 { ··· 136 133 regulator-name = "VCC_3V3"; 137 134 regulator-min-microvolt = <3300000>; 138 135 regulator-max-microvolt = <3300000>; 136 + regulator-always-on; 139 137 }; 140 138 }; 141 139
+2
arch/arm/boot/dts/exynos5420-arndale-octa.dts
··· 584 584 regulator-name = "PVDD_G3DS_1V0"; 585 585 regulator-min-microvolt = <800000>; 586 586 regulator-max-microvolt = <1100000>; 587 + regulator-always-on; 587 588 588 589 regulator-state-mem { 589 590 regulator-on-in-suspend; ··· 698 697 regulator-name = "PVDD_G3D_1V0"; 699 698 regulator-min-microvolt = <800000>; 700 699 regulator-max-microvolt = <1400000>; 700 + regulator-always-on; 701 701 702 702 regulator-state-mem { 703 703 regulator-off-in-suspend;
+8
arch/arm/boot/dts/exynos5422-cpus.dtsi
··· 31 31 operating-points-v2 = <&cluster_a7_opp_table>; 32 32 #cooling-cells = <2>; /* min followed by max */ 33 33 capacity-dmips-mhz = <539>; 34 + dynamic-power-coefficient = <90>; 34 35 }; 35 36 36 37 cpu1: cpu@101 { ··· 44 43 operating-points-v2 = <&cluster_a7_opp_table>; 45 44 #cooling-cells = <2>; /* min followed by max */ 46 45 capacity-dmips-mhz = <539>; 46 + dynamic-power-coefficient = <90>; 47 47 }; 48 48 49 49 cpu2: cpu@102 { ··· 57 55 operating-points-v2 = <&cluster_a7_opp_table>; 58 56 #cooling-cells = <2>; /* min followed by max */ 59 57 capacity-dmips-mhz = <539>; 58 + dynamic-power-coefficient = <90>; 60 59 }; 61 60 62 61 cpu3: cpu@103 { ··· 70 67 operating-points-v2 = <&cluster_a7_opp_table>; 71 68 #cooling-cells = <2>; /* min followed by max */ 72 69 capacity-dmips-mhz = <539>; 70 + dynamic-power-coefficient = <90>; 73 71 }; 74 72 75 73 cpu4: cpu@0 { ··· 83 79 operating-points-v2 = <&cluster_a15_opp_table>; 84 80 #cooling-cells = <2>; /* min followed by max */ 85 81 capacity-dmips-mhz = <1024>; 82 + dynamic-power-coefficient = <310>; 86 83 }; 87 84 88 85 cpu5: cpu@1 { ··· 96 91 operating-points-v2 = <&cluster_a15_opp_table>; 97 92 #cooling-cells = <2>; /* min followed by max */ 98 93 capacity-dmips-mhz = <1024>; 94 + dynamic-power-coefficient = <310>; 99 95 }; 100 96 101 97 cpu6: cpu@2 { ··· 109 103 operating-points-v2 = <&cluster_a15_opp_table>; 110 104 #cooling-cells = <2>; /* min followed by max */ 111 105 capacity-dmips-mhz = <1024>; 106 + dynamic-power-coefficient = <310>; 112 107 }; 113 108 114 109 cpu7: cpu@3 { ··· 122 115 operating-points-v2 = <&cluster_a15_opp_table>; 123 116 #cooling-cells = <2>; /* min followed by max */ 124 117 capacity-dmips-mhz = <1024>; 118 + dynamic-power-coefficient = <310>; 125 119 }; 126 120 }; 127 121 };
+1
arch/arm/boot/dts/exynos5422-odroid-core.dtsi
··· 901 901 regulator-min-microvolt = <800000>; 902 902 regulator-max-microvolt = <1400000>; 903 903 regulator-boot-on; 904 + regulator-always-on; 904 905 905 906 regulator-state-mem { 906 907 regulator-off-in-suspend;
+30
arch/arm/boot/dts/exynos5422-odroidhc1.dts
··· 215 215 }; 216 216 }; 217 217 }; 218 + gpu_thermal: gpu-thermal { 219 + thermal-sensors = <&tmu_gpu 0>; 220 + trips { 221 + gpu_alert0: gpu-alert-0 { 222 + temperature = <70000>; 223 + hysteresis = <10000>; 224 + type = "active"; 225 + }; 226 + gpu_alert1: gpu-alert-1 { 227 + temperature = <85000>; 228 + hysteresis = <10000>; 229 + type = "active"; 230 + }; 231 + gpu_crit0: gpu-crit-0 { 232 + temperature = <120000>; 233 + hysteresis = <0>; 234 + type = "critical"; 235 + }; 236 + }; 237 + cooling-maps { 238 + map0 { 239 + trip = <&gpu_alert0>; 240 + cooling-device = <&gpu 0 2>; 241 + }; 242 + map1 { 243 + trip = <&gpu_alert1>; 244 + cooling-device = <&gpu 3 6>; 245 + }; 246 + }; 247 + }; 218 248 }; 219 249 220 250 };
+59
arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi
··· 357 357 }; 358 358 }; 359 359 }; 360 + gpu_thermal: gpu-thermal { 361 + thermal-sensors = <&tmu_gpu 0>; 362 + polling-delay-passive = <250>; 363 + polling-delay = <0>; 364 + trips { 365 + gpu_alert0: gpu-alert-0 { 366 + temperature = <50000>; 367 + hysteresis = <5000>; 368 + type = "active"; 369 + }; 370 + gpu_alert1: gpu-alert-1 { 371 + temperature = <60000>; 372 + hysteresis = <5000>; 373 + type = "active"; 374 + }; 375 + gpu_alert2: gpu-alert-2 { 376 + temperature = <70000>; 377 + hysteresis = <5000>; 378 + type = "active"; 379 + }; 380 + gpu_crit0: gpu-crit-0 { 381 + temperature = <120000>; 382 + hysteresis = <0>; 383 + type = "critical"; 384 + }; 385 + gpu_alert3: gpu-alert-3 { 386 + temperature = <70000>; 387 + hysteresis = <10000>; 388 + type = "passive"; 389 + }; 390 + gpu_alert4: gpu-alert-4 { 391 + temperature = <85000>; 392 + hysteresis = <10000>; 393 + type = "passive"; 394 + }; 395 + }; 396 + cooling-maps { 397 + map0 { 398 + trip = <&gpu_alert0>; 399 + cooling-device = <&fan0 0 1>; 400 + }; 401 + map1 { 402 + trip = <&gpu_alert1>; 403 + cooling-device = <&fan0 1 2>; 404 + }; 405 + map2 { 406 + trip = <&gpu_alert2>; 407 + cooling-device = <&fan0 2 3>; 408 + }; 409 + map3 { 410 + trip = <&gpu_alert3>; 411 + cooling-device = <&gpu 0 2>; 412 + }; 413 + map4 { 414 + trip = <&gpu_alert4>; 415 + cooling-device = <&gpu 3 6>; 416 + }; 417 + }; 418 + }; 360 419 }; 361 420 }; 362 421
+2 -2
arch/arm/boot/dts/gemini-nas4220b.dts
··· 170 170 }; 171 171 }; 172 172 173 - ata@63000000 { 173 + ide@63000000 { 174 174 status = "okay"; 175 175 }; 176 176 177 - ata@63400000 { 177 + ide@63400000 { 178 178 status = "okay"; 179 179 }; 180 180
+2 -2
arch/arm/boot/dts/gemini-sl93512r.dts
··· 293 293 }; 294 294 }; 295 295 296 - ata@63000000 { 296 + ide@63000000 { 297 297 status = "okay"; 298 298 }; 299 299 300 - ata@63400000 { 300 + ide@63400000 { 301 301 status = "okay"; 302 302 }; 303 303
+1 -1
arch/arm/boot/dts/gemini-sq201.dts
··· 289 289 }; 290 290 }; 291 291 292 - ata@63000000 { 292 + ide@63000000 { 293 293 status = "okay"; 294 294 }; 295 295
+6 -2
arch/arm/boot/dts/gemini.dtsi
··· 356 356 }; 357 357 }; 358 358 359 - ata@63000000 { 359 + ide@63000000 { 360 360 compatible = "cortina,gemini-pata", "faraday,ftide010"; 361 361 reg = <0x63000000 0x1000>; 362 362 interrupts = <4 IRQ_TYPE_EDGE_RISING>; ··· 365 365 clock-names = "PCLK"; 366 366 sata = <&sata>; 367 367 status = "disabled"; 368 + #address-cells = <1>; 369 + #size-cells = <0>; 368 370 }; 369 371 370 - ata@63400000 { 372 + ide@63400000 { 371 373 compatible = "cortina,gemini-pata", "faraday,ftide010"; 372 374 reg = <0x63400000 0x1000>; 373 375 interrupts = <5 IRQ_TYPE_EDGE_RISING>; ··· 378 376 clock-names = "PCLK"; 379 377 sata = <&sata>; 380 378 status = "disabled"; 379 + #address-cells = <1>; 380 + #size-cells = <0>; 381 381 }; 382 382 383 383 dma-controller@67000000 {
+4 -7
arch/arm/boot/dts/highbank.dts
··· 13 13 compatible = "calxeda,highbank"; 14 14 #address-cells = <1>; 15 15 #size-cells = <1>; 16 - clock-ranges; 17 16 18 17 cpus { 19 18 #address-cells = <1>; ··· 95 96 }; 96 97 }; 97 98 98 - memory { 99 + memory@0 { 99 100 name = "memory"; 100 101 device_type = "memory"; 101 102 reg = <0x00000000 0xff900000>; ··· 127 128 intc: interrupt-controller@fff11000 { 128 129 compatible = "arm,cortex-a9-gic"; 129 130 #interrupt-cells = <3>; 130 - #size-cells = <0>; 131 - #address-cells = <1>; 132 131 interrupt-controller; 133 132 reg = <0xfff11000 0x1000>, 134 133 <0xfff10100 0x100>; 135 134 }; 136 135 137 - L2: l2-cache { 136 + L2: cache-controller { 138 137 compatible = "arm,pl310-cache"; 139 138 reg = <0xfff12000 0x1000>; 140 139 interrupts = <0 70 4>; ··· 142 145 143 146 pmu { 144 147 compatible = "arm,cortex-a9-pmu"; 145 - interrupts = <0 76 4 0 75 4 0 74 4 0 73 4>; 148 + interrupts = <0 76 4>, <0 75 4>, <0 74 4>, <0 73 4>; 146 149 }; 147 150 148 151 149 152 sregs@fff3c200 { 150 153 compatible = "calxeda,hb-sregs-l2-ecc"; 151 154 reg = <0xfff3c200 0x100>; 152 - interrupts = <0 71 4 0 72 4>; 155 + interrupts = <0 71 4>, <0 72 4>; 153 156 }; 154 157 155 158 };
+1 -1
arch/arm/boot/dts/imx23-olinuxino.dts
··· 23 23 ssp0: spi@80010000 { 24 24 compatible = "fsl,imx23-mmc"; 25 25 pinctrl-names = "default"; 26 - pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_pins_fixup>; 26 + pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_sck_cfg>; 27 27 bus-width = <4>; 28 28 broken-cd; 29 29 status = "okay";
+9 -1
arch/arm/boot/dts/imx23.dtsi
··· 267 267 fsl,pull-up = <MXS_PULL_DISABLE>; 268 268 }; 269 269 270 + mmc0_sck_cfg: mmc0-sck-cfg@0 { 271 + reg = <0>; 272 + fsl,pinmux-ids = < 273 + MX23_PAD_SSP1_SCK__SSP1_SCK 274 + >; 275 + fsl,pull-up = <MXS_PULL_DISABLE>; 276 + }; 277 + 270 278 mmc1_4bit_pins_a: mmc1-4bit@0 { 271 279 reg = <0>; 272 280 fsl,pinmux-ids = < ··· 430 422 clocks = <&clks 16>; 431 423 }; 432 424 433 - dcp@80028000 { 425 + dcp: crypto@80028000 { 434 426 compatible = "fsl,imx23-dcp"; 435 427 reg = <0x80028000 0x2000>; 436 428 interrupts = <53 54>;
+8
arch/arm/boot/dts/imx25-pinfunc.h
··· 82 82 #define MX25_PAD_EB0__EB0 0x040 0x258 0x000 0x00 0x000 83 83 #define MX25_PAD_EB0__AUD4_TXD 0x040 0x258 0x464 0x04 0x000 84 84 #define MX25_PAD_EB0__GPIO_2_12 0x040 0x258 0x000 0x05 0x000 85 + #define MX25_PAD_EB0__CSPI3_SS0 0x040 0x258 0x4bc 0x06 0x000 85 86 86 87 #define MX25_PAD_EB1__EB1 0x044 0x25c 0x000 0x00 0x000 87 88 #define MX25_PAD_EB1__AUD4_RXD 0x044 0x25c 0x460 0x04 0x000 ··· 103 102 #define MX25_PAD_CS4__NF_CE1 0x054 0x264 0x000 0x01 0x000 104 103 #define MX25_PAD_CS4__UART5_CTS 0x054 0x264 0x000 0x03 0x000 105 104 #define MX25_PAD_CS4__GPIO_3_20 0x054 0x264 0x000 0x05 0x000 105 + #define MX25_PAD_CS4__CSPI3_MOSI 0x054 0x264 0x4b8 0x06 0x000 106 106 107 107 #define MX25_PAD_CS5__CS5 0x058 0x268 0x000 0x00 0x000 108 108 #define MX25_PAD_CS5__NF_CE2 0x058 0x268 0x000 0x01 0x000 109 109 #define MX25_PAD_CS5__UART5_RTS 0x058 0x268 0x574 0x03 0x000 110 110 #define MX25_PAD_CS5__GPIO_3_21 0x058 0x268 0x000 0x05 0x000 111 + #define MX25_PAD_CS5__CSPI3_MISO 0x058 0x268 0x4b4 0x06 0x000 111 112 112 113 #define MX25_PAD_NF_CE0__NF_CE0 0x05c 0x26c 0x000 0x00 0x000 113 114 #define MX25_PAD_NF_CE0__GPIO_3_22 0x05c 0x26c 0x000 0x05 0x000 ··· 117 114 #define MX25_PAD_ECB__ECB 0x060 0x270 0x000 0x00 0x000 118 115 #define MX25_PAD_ECB__UART5_TXD 0x060 0x270 0x000 0x03 0x000 119 116 #define MX25_PAD_ECB__GPIO_3_23 0x060 0x270 0x000 0x05 0x000 117 + #define MX25_PAD_ECB__CSPI3_SCLK 0x060 0x270 0x4ac 0x06 0x000 120 118 121 119 #define MX25_PAD_LBA__LBA 0x064 0x274 0x000 0x00 0x000 122 120 #define MX25_PAD_LBA__UART5_RXD 0x064 0x274 0x578 0x03 0x000 ··· 255 251 256 252 #define MX25_PAD_LD12__LD12 0x0f8 0x2f0 0x000 0x00 0x000 257 253 #define MX25_PAD_LD12__CSPI2_MOSI 0x0f8 0x2f0 0x4a0 0x02 0x000 254 + #define MX25_PAD_LD12__KPP_ROW6 0x0f8 0x2f0 0x544 0x04 0x000 258 255 #define MX25_PAD_LD12__FEC_RDATA3 0x0f8 0x2f0 0x510 0x05 0x001 259 256 260 257 #define MX25_PAD_LD13__LD13 0x0fc 0x2f4 0x000 0x00 0x000 261 258 #define MX25_PAD_LD13__CSPI2_MISO 0x0fc 0x2f4 0x49c 0x02 0x000 259 + #define MX25_PAD_LD13__KPP_ROW7 0x0fc 0x2f4 0x548 0x04 0x000 262 260 #define MX25_PAD_LD13__FEC_TDATA2 0x0fc 0x2f4 0x000 0x05 0x000 263 261 264 262 #define MX25_PAD_LD14__LD14 0x100 0x2f8 0x000 0x00 0x000 ··· 518 512 519 513 #define MX25_PAD_FEC_TX_EN__FEC_TX_EN 0x1d8 0x3d0 0x000 0x00 0x000 520 514 #define MX25_PAD_FEC_TX_EN__GPIO_3_9 0x1d8 0x3d0 0x000 0x05 0x000 515 + #define MX25_PAD_FEC_TX_EN__KPP_ROW4 0x1d8 0x3d0 0x53c 0x06 0x000 521 516 522 517 #define MX25_PAD_FEC_RDATA0__FEC_RDATA0 0x1dc 0x3d4 0x000 0x00 0x000 523 518 #define MX25_PAD_FEC_RDATA0__GPIO_3_10 0x1dc 0x3d4 0x000 0x05 0x000 519 + #define MX25_PAD_FEC_RDATA0__KPP_ROW5 0x1dc 0x3d4 0x540 0x06 0x000 524 520 525 521 #define MX25_PAD_FEC_RDATA1__FEC_RDATA1 0x1e0 0x3d8 0x000 0x00 0x000 526 522 /*
+2 -2
arch/arm/boot/dts/imx25.dtsi
··· 75 75 interrupt-parent = <&asic>; 76 76 ranges; 77 77 78 - aips@43f00000 { /* AIPS1 */ 78 + bus@43f00000 { /* AIPS1 */ 79 79 compatible = "fsl,aips-bus", "simple-bus"; 80 80 #address-cells = <1>; 81 81 #size-cells = <1>; ··· 332 332 }; 333 333 }; 334 334 335 - aips@53f00000 { /* AIPS2 */ 335 + bus@53f00000 { /* AIPS2 */ 336 336 compatible = "fsl,aips-bus", "simple-bus"; 337 337 #address-cells = <1>; 338 338 #size-cells = <1>;
+1 -1
arch/arm/boot/dts/imx27.dtsi
··· 525 525 reg = <0x10024600 0x200>; 526 526 }; 527 527 528 - sahara2: sahara@10025000 { 528 + sahara2: crypto@10025000 { 529 529 compatible = "fsl,imx27-sahara"; 530 530 reg = <0x10025000 0x1000>; 531 531 interrupts = <59>;
+10
arch/arm/boot/dts/imx28-apx4devkit.dts
··· 183 183 pinctrl-0 = <&auart2_2pins_a>; 184 184 status = "okay"; 185 185 }; 186 + 187 + usbphy1: usbphy@8007e000 { 188 + pinctrl-names = "default"; 189 + pinctrl-0 = <&usb1_pins_a>; 190 + status = "okay"; 191 + }; 186 192 }; 187 193 }; 188 194 189 195 ahb@80080000 { 196 + usb1: usb@80090000 { 197 + status = "okay"; 198 + }; 199 + 190 200 mac0: ethernet@800f0000 { 191 201 phy-mode = "rmii"; 192 202 pinctrl-names = "default";
+1 -1
arch/arm/boot/dts/imx28.dtsi
··· 998 998 clocks = <&clks 26>; 999 999 }; 1000 1000 1001 - dcp: dcp@80028000 { 1001 + dcp: crypto@80028000 { 1002 1002 compatible = "fsl,imx28-dcp", "fsl,imx23-dcp"; 1003 1003 reg = <0x80028000 0x2000>; 1004 1004 interrupts = <52 53 54>;
+2 -2
arch/arm/boot/dts/imx31.dtsi
··· 63 63 ranges = <0 0x1fffc000 0x4000>; 64 64 }; 65 65 66 - aips@43f00000 { /* AIPS1 */ 66 + bus@43f00000 { /* AIPS1 */ 67 67 compatible = "fsl,aips-bus", "simple-bus"; 68 68 #address-cells = <1>; 69 69 #size-cells = <1>; ··· 225 225 }; 226 226 }; 227 227 228 - aips@53f00000 { /* AIPS2 */ 228 + bus@53f00000 { /* AIPS2 */ 229 229 compatible = "fsl,aips-bus", "simple-bus"; 230 230 #address-cells = <1>; 231 231 #size-cells = <1>;
+2 -2
arch/arm/boot/dts/imx35.dtsi
··· 66 66 cache-level = <2>; 67 67 }; 68 68 69 - aips1: aips@43f00000 { 69 + aips1: bus@43f00000 { 70 70 compatible = "fsl,aips", "simple-bus"; 71 71 #address-cells = <1>; 72 72 #size-cells = <1>; ··· 199 199 }; 200 200 }; 201 201 202 - aips2: aips@53f00000 { 202 + aips2: bus@53f00000 { 203 203 compatible = "fsl,aips", "simple-bus"; 204 204 #address-cells = <1>; 205 205 #size-cells = <1>;
+2 -2
arch/arm/boot/dts/imx50.dtsi
··· 101 101 interrupt-parent = <&tzic>; 102 102 ranges; 103 103 104 - aips@50000000 { /* AIPS1 */ 104 + bus@50000000 { /* AIPS1 */ 105 105 compatible = "fsl,aips-bus", "simple-bus"; 106 106 #address-cells = <1>; 107 107 #size-cells = <1>; ··· 389 389 }; 390 390 }; 391 391 392 - aips@60000000 { /* AIPS2 */ 392 + bus@60000000 { /* AIPS2 */ 393 393 compatible = "fsl,aips-bus", "simple-bus"; 394 394 #address-cells = <1>; 395 395 #size-cells = <1>;
+3 -2
arch/arm/boot/dts/imx51-zii-rdu1.dts
··· 217 217 simple-audio-card,widgets = 218 218 "Headphone", "Headphone Jack"; 219 219 simple-audio-card,routing = 220 - "Headphone Jack", "HPLEFT", 221 - "Headphone Jack", "HPRIGHT"; 220 + "Headphone Jack", "TPA6130A2 HPLEFT", 221 + "Headphone Jack", "TPA6130A2 HPRIGHT"; 222 222 simple-audio-card,aux-devs = <&hpa1>; 223 223 224 224 sound_cpu: simple-audio-card,cpu { ··· 470 470 compatible = "ti,tpa6130a2"; 471 471 reg = <0x60>; 472 472 Vdd-supply = <&reg_3p3v>; 473 + sound-name-prefix = "TPA6130A2"; 473 474 }; 474 475 475 476 ds1341: rtc@68 {
+15 -2
arch/arm/boot/dts/imx51.dtsi
··· 104 104 #phy-cells = <0>; 105 105 }; 106 106 107 + capture-subsystem { 108 + compatible = "fsl,imx-capture-subsystem"; 109 + ports = <&ipu_csi0>, <&ipu_csi1>; 110 + }; 111 + 107 112 display-subsystem { 108 113 compatible = "fsl,imx-display-subsystem"; 109 114 ports = <&ipu_di0>, <&ipu_di1>; ··· 148 143 clock-names = "bus", "di0", "di1"; 149 144 resets = <&src 2>; 150 145 146 + ipu_csi0: port@0 { 147 + reg = <0>; 148 + }; 149 + 150 + ipu_csi1: port@1 { 151 + reg = <1>; 152 + }; 153 + 151 154 ipu_di0: port@2 { 152 155 reg = <2>; 153 156 ··· 171 158 }; 172 159 }; 173 160 174 - aips@70000000 { /* AIPS1 */ 161 + bus@70000000 { /* AIPS1 */ 175 162 compatible = "fsl,aips-bus", "simple-bus"; 176 163 #address-cells = <1>; 177 164 #size-cells = <1>; ··· 453 440 }; 454 441 }; 455 442 456 - aips@80000000 { /* AIPS2 */ 443 + bus@80000000 { /* AIPS2 */ 457 444 compatible = "fsl,aips-bus", "simple-bus"; 458 445 #address-cells = <1>; 459 446 #size-cells = <1>;
+2 -2
arch/arm/boot/dts/imx53.dtsi
··· 222 222 clock-names = "core_clk", "mem_iface_clk"; 223 223 }; 224 224 225 - aips@50000000 { /* AIPS1 */ 225 + bus@50000000 { /* AIPS1 */ 226 226 compatible = "fsl,aips-bus", "simple-bus"; 227 227 #address-cells = <1>; 228 228 #size-cells = <1>; ··· 654 654 }; 655 655 }; 656 656 657 - aips@60000000 { /* AIPS2 */ 657 + bus@60000000 { /* AIPS2 */ 658 658 compatible = "fsl,aips-bus", "simple-bus"; 659 659 #address-cells = <1>; 660 660 #size-cells = <1>;
+2 -38
arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 - * Copyright 2014-2016 Toradex AG 3 + * Copyright 2014-2020 Toradex 3 4 * Copyright 2012 Freescale Semiconductor, Inc. 4 5 * Copyright 2011 Linaro Ltd. 5 - * 6 - * This file is dual-licensed: you can use it either under the terms 7 - * of the GPL or the X11 license, at your option. Note that this dual 8 - * licensing only applies to this file, and not this project as a 9 - * whole. 10 - * 11 - * a) This file is free software; you can redistribute it and/or 12 - * modify it under the terms of the GNU General Public License 13 - * version 2 as published by the Free Software Foundation. 14 - * 15 - * This file is distributed in the hope that it will be useful, 16 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 - * GNU General Public License for more details. 19 - * 20 - * Or, alternatively, 21 - * 22 - * b) Permission is hereby granted, free of charge, to any person 23 - * obtaining a copy of this software and associated documentation 24 - * files (the "Software"), to deal in the Software without 25 - * restriction, including without limitation the rights to use, 26 - * copy, modify, merge, publish, distribute, sublicense, and/or 27 - * sell copies of the Software, and to permit persons to whom the 28 - * Software is furnished to do so, subject to the following 29 - * conditions: 30 - * 31 - * The above copyright notice and this permission notice shall be 32 - * included in all copies or substantial portions of the Software. 33 - * 34 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 35 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 36 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 37 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 38 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 39 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 40 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 41 - * OTHER DEALINGS IN THE SOFTWARE. 42 6 */ 43 7 44 8 /dts-v1/;
+17
arch/arm/boot/dts/imx6dl-pico-dwarf.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 OR MIT 2 + // 3 + // Copyright 2018 Technexion Ltd. 4 + // 5 + // Author: Wig Cheng <wig.cheng@technexion.com> 6 + // Richard Hu <richard.hu@technexion.com> 7 + // Tapani Utriainen <tapani@technexion.com> 8 + 9 + /dts-v1/; 10 + 11 + #include "imx6dl.dtsi" 12 + #include "imx6qdl-pico-pi.dtsi" 13 + 14 + / { 15 + model = "TechNexion PICO-IMX6 DualLite/Solo Board and Dwarf baseboard"; 16 + compatible = "technexion,imx6dl-pico", "fsl,imx6dl"; 17 + };
+17
arch/arm/boot/dts/imx6dl-pico-hobbit.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 OR MIT 2 + // 3 + // Copyright 2018 Technexion Ltd. 4 + // 5 + // Author: Wig Cheng <wig.cheng@technexion.com> 6 + // Richard Hu <richard.hu@technexion.com> 7 + // Tapani Utriainen <tapani@technexion.com> 8 + 9 + /dts-v1/; 10 + 11 + #include "imx6dl.dtsi" 12 + #include "imx6qdl-pico-hobbit.dtsi" 13 + 14 + / { 15 + model = "TechNexion PICO-IMX6 DualLite/Solo Board and Hobbit baseboard"; 16 + compatible = "technexion,imx6dl-pico", "fsl,imx6dl"; 17 + };
+17
arch/arm/boot/dts/imx6dl-pico-nymph.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 OR MIT 2 + // 3 + // Copyright 2018 Technexion Ltd. 4 + // 5 + // Author: Wig Cheng <wig.cheng@technexion.com> 6 + // Richard Hu <richard.hu@technexion.com> 7 + // Tapani Utriainen <tapani@technexion.com> 8 + 9 + /dts-v1/; 10 + 11 + #include "imx6dl.dtsi" 12 + #include "imx6qdl-pico-pi.dtsi" 13 + 14 + / { 15 + model = "TechNexion PICO-IMX6 DualLite/Solo Board and Nymph baseboard"; 16 + compatible = "technexion,imx6dl-pico", "fsl,imx6dl"; 17 + };
+17
arch/arm/boot/dts/imx6dl-pico-pi.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 OR MIT 2 + // 3 + // Copyright 2018 Technexion Ltd. 4 + // 5 + // Author: Wig Cheng <wig.cheng@technexion.com> 6 + // Richard Hu <richard.hu@technexion.com> 7 + // Tapani Utriainen <tapani@technexion.com> 8 + 9 + /dts-v1/; 10 + 11 + #include "imx6dl.dtsi" 12 + #include "imx6qdl-pico-pi.dtsi" 13 + 14 + / { 15 + model = "TechNexion PICO-IMX6 DualLite/Solo Board and PI baseboard"; 16 + compatible = "technexion,imx6dl-pico", "fsl,imx6dl"; 17 + };
+15 -1
arch/arm/boot/dts/imx6dl-riotboard.dts
··· 89 89 pinctrl-names = "default"; 90 90 pinctrl-0 = <&pinctrl_enet>; 91 91 phy-mode = "rgmii-id"; 92 - phy-reset-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>; 92 + phy-handle = <&rgmii_phy>; 93 93 interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, 94 94 <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; 95 95 fsl,err006687-workaround-present; 96 96 status = "okay"; 97 + 98 + mdio { 99 + #address-cells = <1>; 100 + #size-cells = <0>; 101 + 102 + /* Atheros AR8035 PHY */ 103 + rgmii_phy: ethernet-phy@4 { 104 + reg = <4>; 105 + interrupts-extended = <&gpio1 28 IRQ_TYPE_LEVEL_LOW>; 106 + reset-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>; 107 + reset-assert-us = <10000>; 108 + reset-deassert-us = <1000>; 109 + }; 110 + }; 97 111 }; 98 112 99 113 &gpio1 {
+2
arch/arm/boot/dts/imx6dl-yapp4-common.dtsi
··· 562 562 pinctrl-names = "default"; 563 563 pinctrl-0 = <&pinctrl_usbh1>; 564 564 vbus-supply = <&reg_usb_h1_vbus>; 565 + over-current-active-low; 565 566 status = "disabled"; 566 567 }; 567 568 ··· 570 569 pinctrl-names = "default"; 571 570 pinctrl-0 = <&pinctrl_usbotg>; 572 571 vbus-supply = <&reg_usb_otg_vbus>; 572 + over-current-active-low; 573 573 srp-disable; 574 574 hnp-disable; 575 575 adp-disable;
+5 -3
arch/arm/boot/dts/imx6dl.dtsi
··· 44 44 arm-supply = <&reg_arm>; 45 45 pu-supply = <&reg_pu>; 46 46 soc-supply = <&reg_soc>; 47 + nvmem-cells = <&cpu_speed_grade>; 48 + nvmem-cell-names = "speed_grade"; 47 49 }; 48 50 49 51 cpu@1 { ··· 87 85 clocks = <&clks IMX6QDL_CLK_OCRAM>; 88 86 }; 89 87 90 - aips1: aips-bus@2000000 { 91 - iomuxc: iomuxc@20e0000 { 88 + aips1: bus@2000000 { 89 + iomuxc: pinctrl@20e0000 { 92 90 compatible = "fsl,imx6dl-iomuxc"; 93 91 }; 94 92 ··· 103 101 }; 104 102 }; 105 103 106 - aips2: aips-bus@2100000 { 104 + aips2: bus@2100000 { 107 105 i2c4: i2c@21f8000 { 108 106 #address-cells = <1>; 109 107 #size-cells = <0>;
+2 -38
arch/arm/boot/dts/imx6q-apalis-eval.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 - * Copyright 2014-2017 Toradex AG 3 + * Copyright 2014-2020 Toradex 3 4 * Copyright 2012 Freescale Semiconductor, Inc. 4 5 * Copyright 2011 Linaro Ltd. 5 - * 6 - * This file is dual-licensed: you can use it either under the terms 7 - * of the GPL or the X11 license, at your option. Note that this dual 8 - * licensing only applies to this file, and not this project as a 9 - * whole. 10 - * 11 - * a) This file is free software; you can redistribute it and/or 12 - * modify it under the terms of the GNU General Public License 13 - * version 2 as published by the Free Software Foundation. 14 - * 15 - * This file is distributed in the hope that it will be useful, 16 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 - * GNU General Public License for more details. 19 - * 20 - * Or, alternatively, 21 - * 22 - * b) Permission is hereby granted, free of charge, to any person 23 - * obtaining a copy of this software and associated documentation 24 - * files (the "Software"), to deal in the Software without 25 - * restriction, including without limitation the rights to use, 26 - * copy, modify, merge, publish, distribute, sublicense, and/or 27 - * sell copies of the Software, and to permit persons to whom the 28 - * Software is furnished to do so, subject to the following 29 - * conditions: 30 - * 31 - * The above copyright notice and this permission notice shall be 32 - * included in all copies or substantial portions of the Software. 33 - * 34 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 35 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 36 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 37 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 38 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 39 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 40 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 41 - * OTHER DEALINGS IN THE SOFTWARE. 42 6 */ 43 7 44 8 /dts-v1/;
+2 -38
arch/arm/boot/dts/imx6q-apalis-ixora-v1.1.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 - * Copyright 2014-2017 Toradex AG 3 + * Copyright 2014-2020 Toradex 3 4 * Copyright 2012 Freescale Semiconductor, Inc. 4 5 * Copyright 2011 Linaro Ltd. 5 - * 6 - * This file is dual-licensed: you can use it either under the terms 7 - * of the GPL or the X11 license, at your option. Note that this dual 8 - * licensing only applies to this file, and not this project as a 9 - * whole. 10 - * 11 - * a) This file is free software; you can redistribute it and/or 12 - * modify it under the terms of the GNU General Public License 13 - * version 2 as published by the Free Software Foundation. 14 - * 15 - * This file is distributed in the hope that it will be useful, 16 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 - * GNU General Public License for more details. 19 - * 20 - * Or, alternatively, 21 - * 22 - * b) Permission is hereby granted, free of charge, to any person 23 - * obtaining a copy of this software and associated documentation 24 - * files (the "Software"), to deal in the Software without 25 - * restriction, including without limitation the rights to use, 26 - * copy, modify, merge, publish, distribute, sublicense, and/or 27 - * sell copies of the Software, and to permit persons to whom the 28 - * Software is furnished to do so, subject to the following 29 - * conditions: 30 - * 31 - * The above copyright notice and this permission notice shall be 32 - * included in all copies or substantial portions of the Software. 33 - * 34 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 35 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 36 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 37 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 38 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 39 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 40 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 41 - * OTHER DEALINGS IN THE SOFTWARE. 42 6 */ 43 7 44 8 /dts-v1/;
+2 -38
arch/arm/boot/dts/imx6q-apalis-ixora.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 - * Copyright 2014-2017 Toradex AG 3 + * Copyright 2014-2020 Toradex 3 4 * Copyright 2012 Freescale Semiconductor, Inc. 4 5 * Copyright 2011 Linaro Ltd. 5 - * 6 - * This file is dual-licensed: you can use it either under the terms 7 - * of the GPL or the X11 license, at your option. Note that this dual 8 - * licensing only applies to this file, and not this project as a 9 - * whole. 10 - * 11 - * a) This file is free software; you can redistribute it and/or 12 - * modify it under the terms of the GNU General Public License 13 - * version 2 as published by the Free Software Foundation. 14 - * 15 - * This file is distributed in the hope that it will be useful, 16 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 - * GNU General Public License for more details. 19 - * 20 - * Or, alternatively, 21 - * 22 - * b) Permission is hereby granted, free of charge, to any person 23 - * obtaining a copy of this software and associated documentation 24 - * files (the "Software"), to deal in the Software without 25 - * restriction, including without limitation the rights to use, 26 - * copy, modify, merge, publish, distribute, sublicense, and/or 27 - * sell copies of the Software, and to permit persons to whom the 28 - * Software is furnished to do so, subject to the following 29 - * conditions: 30 - * 31 - * The above copyright notice and this permission notice shall be 32 - * included in all copies or substantial portions of the Software. 33 - * 34 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 35 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 36 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 37 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 38 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 39 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 40 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 41 - * OTHER DEALINGS IN THE SOFTWARE. 42 6 */ 43 7 44 8 /dts-v1/;
+15 -1
arch/arm/boot/dts/imx6q-marsboard.dts
··· 111 111 pinctrl-names = "default"; 112 112 pinctrl-0 = <&pinctrl_enet>; 113 113 phy-mode = "rgmii-id"; 114 - phy-reset-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>; 114 + phy-handle = <&rgmii_phy>; 115 115 status = "okay"; 116 + 117 + mdio { 118 + #address-cells = <1>; 119 + #size-cells = <0>; 120 + 121 + /* Atheros AR8035 PHY */ 122 + rgmii_phy: ethernet-phy@4 { 123 + reg = <4>; 124 + interrupts-extended = <&gpio1 28 IRQ_TYPE_LEVEL_LOW>; 125 + reset-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>; 126 + reset-assert-us = <10000>; 127 + reset-deassert-us = <1000>; 128 + }; 129 + }; 116 130 }; 117 131 118 132 &hdmi {
+1 -1
arch/arm/boot/dts/imx6q-novena.dts
··· 107 107 }; 108 108 109 109 panel: panel { 110 - compatible = "innolux,n133hse-ea1", "simple-panel"; 110 + compatible = "innolux,n133hse-ea1"; 111 111 backlight = <&backlight>; 112 112 }; 113 113
+17
arch/arm/boot/dts/imx6q-pico-dwarf.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 OR MIT 2 + // 3 + // Copyright 2018 Technexion Ltd. 4 + // 5 + // Author: Wig Cheng <wig.cheng@technexion.com> 6 + // Richard Hu <richard.hu@technexion.com> 7 + // Tapani Utriainen <tapani@technexion.com> 8 + 9 + /dts-v1/; 10 + 11 + #include "imx6q.dtsi" 12 + #include "imx6qdl-pico-pi.dtsi" 13 + 14 + / { 15 + model = "TechNexion PICO-IMX6 Quad Board and Dwarf baseboard"; 16 + compatible = "technexion,imx6q-pico", "fsl,imx6q"; 17 + };
+17
arch/arm/boot/dts/imx6q-pico-hobbit.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 OR MIT 2 + // 3 + // Copyright 2018 Technexion Ltd. 4 + // 5 + // Author: Wig Cheng <wig.cheng@technexion.com> 6 + // Richard Hu <richard.hu@technexion.com> 7 + // Tapani Utriainen <tapani@technexion.com> 8 + 9 + /dts-v1/; 10 + 11 + #include "imx6q.dtsi" 12 + #include "imx6qdl-pico-hobbit.dtsi" 13 + 14 + / { 15 + model = "TechNexion PICO-IMX6 Quad Board and Hobbit baseboard"; 16 + compatible = "technexion,imx6q-pico", "fsl,imx6q"; 17 + };
+17
arch/arm/boot/dts/imx6q-pico-nymph.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 OR MIT 2 + // 3 + // Copyright 2018 Technexion Ltd. 4 + // 5 + // Author: Wig Cheng <wig.cheng@technexion.com> 6 + // Richard Hu <richard.hu@technexion.com> 7 + // Tapani Utriainen <tapani@technexion.com> 8 + 9 + /dts-v1/; 10 + 11 + #include "imx6q.dtsi" 12 + #include "imx6qdl-pico-pi.dtsi" 13 + 14 + / { 15 + model = "TechNexion PICO-IMX6 Quad Board and Nymph baseboard"; 16 + compatible = "technexion,imx6q-pico", "fsl,imx6q"; 17 + };
+17
arch/arm/boot/dts/imx6q-pico-pi.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 OR MIT 2 + // 3 + // Copyright 2018 Technexion Ltd. 4 + // 5 + // Author: Wig Cheng <wig.cheng@technexion.com> 6 + // Richard Hu <richard.hu@technexion.com> 7 + // Tapani Utriainen <tapani@technexion.com> 8 + 9 + /dts-v1/; 10 + 11 + #include "imx6q.dtsi" 12 + #include "imx6qdl-pico-pi.dtsi" 13 + 14 + / { 15 + model = "TechNexion PICO-IMX6 Quad Board and PI baseboard"; 16 + compatible = "technexion,imx6q-pico", "fsl,imx6q"; 17 + };
+4 -2
arch/arm/boot/dts/imx6q.dtsi
··· 49 49 arm-supply = <&reg_arm>; 50 50 pu-supply = <&reg_pu>; 51 51 soc-supply = <&reg_soc>; 52 + nvmem-cells = <&cpu_speed_grade>; 53 + nvmem-cell-names = "speed_grade"; 52 54 }; 53 55 54 56 cpu1: cpu@1 { ··· 166 164 clocks = <&clks IMX6QDL_CLK_OCRAM>; 167 165 }; 168 166 169 - aips-bus@2000000 { /* AIPS1 */ 167 + bus@2000000 { /* AIPS1 */ 170 168 spba-bus@2000000 { 171 169 ecspi5: spi@2018000 { 172 170 #address-cells = <1>; ··· 183 181 }; 184 182 }; 185 183 186 - iomuxc: iomuxc@20e0000 { 184 + iomuxc: pinctrl@20e0000 { 187 185 compatible = "fsl,imx6q-iomuxc"; 188 186 }; 189 187 };
+2 -38
arch/arm/boot/dts/imx6qdl-apalis.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 - * Copyright 2014-2017 Toradex AG 3 + * Copyright 2014-2020 Toradex 3 4 * Copyright 2012 Freescale Semiconductor, Inc. 4 5 * Copyright 2011 Linaro Ltd. 5 - * 6 - * This file is dual-licensed: you can use it either under the terms 7 - * of the GPL or the X11 license, at your option. Note that this dual 8 - * licensing only applies to this file, and not this project as a 9 - * whole. 10 - * 11 - * a) This file is free software; you can redistribute it and/or 12 - * modify it under the terms of the GNU General Public License 13 - * version 2 as published by the Free Software Foundation. 14 - * 15 - * This file is distributed in the hope that it will be useful, 16 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 - * GNU General Public License for more details. 19 - * 20 - * Or, alternatively, 21 - * 22 - * b) Permission is hereby granted, free of charge, to any person 23 - * obtaining a copy of this software and associated documentation 24 - * files (the "Software"), to deal in the Software without 25 - * restriction, including without limitation the rights to use, 26 - * copy, modify, merge, publish, distribute, sublicense, and/or 27 - * sell copies of the Software, and to permit persons to whom the 28 - * Software is furnished to do so, subject to the following 29 - * conditions: 30 - * 31 - * The above copyright notice and this permission notice shall be 32 - * included in all copies or substantial portions of the Software. 33 - * 34 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 35 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 36 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 37 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 38 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 39 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 40 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 41 - * OTHER DEALINGS IN THE SOFTWARE. 42 6 */ 43 7 44 8 #include <dt-bindings/gpio/gpio.h>
+2 -38
arch/arm/boot/dts/imx6qdl-colibri.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 - * Copyright 2014-2016 Toradex AG 3 + * Copyright 2014-2020 Toradex 3 4 * Copyright 2012 Freescale Semiconductor, Inc. 4 5 * Copyright 2011 Linaro Ltd. 5 - * 6 - * This file is dual-licensed: you can use it either under the terms 7 - * of the GPL or the X11 license, at your option. Note that this dual 8 - * licensing only applies to this file, and not this project as a 9 - * whole. 10 - * 11 - * a) This file is free software; you can redistribute it and/or 12 - * modify it under the terms of the GNU General Public License 13 - * version 2 as published by the Free Software Foundation. 14 - * 15 - * This file is distributed in the hope that it will be useful, 16 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 - * GNU General Public License for more details. 19 - * 20 - * Or, alternatively, 21 - * 22 - * b) Permission is hereby granted, free of charge, to any person 23 - * obtaining a copy of this software and associated documentation 24 - * files (the "Software"), to deal in the Software without 25 - * restriction, including without limitation the rights to use, 26 - * copy, modify, merge, publish, distribute, sublicense, and/or 27 - * sell copies of the Software, and to permit persons to whom the 28 - * Software is furnished to do so, subject to the following 29 - * conditions: 30 - * 31 - * The above copyright notice and this permission notice shall be 32 - * included in all copies or substantial portions of the Software. 33 - * 34 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 35 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 36 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 37 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 38 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 39 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 40 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 41 - * OTHER DEALINGS IN THE SOFTWARE. 42 6 */ 43 7 44 8 #include <dt-bindings/gpio/gpio.h>
+5
arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
··· 313 313 interrupts = <12 2>; 314 314 wakeup-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>; 315 315 }; 316 + 317 + accel@1e { 318 + compatible = "nxp,fxos8700"; 319 + reg = <0x1e>; 320 + }; 316 321 }; 317 322 318 323 &ldb {
+5
arch/arm/boot/dts/imx6qdl-gw53xx.dtsi
··· 304 304 interrupts = <11 2>; 305 305 wakeup-gpios = <&gpio1 11 GPIO_ACTIVE_LOW>; 306 306 }; 307 + 308 + accel@1e { 309 + compatible = "nxp,fxos8700"; 310 + reg = <0x1e>; 311 + }; 307 312 }; 308 313 309 314 &ldb {
+5
arch/arm/boot/dts/imx6qdl-gw54xx.dtsi
··· 361 361 interrupts = <12 2>; 362 362 wakeup-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>; 363 363 }; 364 + 365 + accel@1e { 366 + compatible = "nxp,fxos8700"; 367 + reg = <0x1e>; 368 + }; 364 369 }; 365 370 366 371 &ldb {
+31
arch/arm/boot/dts/imx6qdl-gw553x.dtsi
··· 173 173 pinctrl-0 = <&pinctrl_i2c2>; 174 174 status = "okay"; 175 175 176 + magn@1c { 177 + compatible = "st,lsm9ds1-magn"; 178 + reg = <0x1c>; 179 + pinctrl-names = "default"; 180 + pinctrl-0 = <&pinctrl_mag>; 181 + interrupt-parent = <&gpio1>; 182 + interrupts = <2 IRQ_TYPE_EDGE_RISING>; 183 + }; 184 + 185 + imu@6a { 186 + compatible = "st,lsm9ds1-imu"; 187 + reg = <0x6a>; 188 + st,drdy-int-pin = <1>; 189 + pinctrl-names = "default"; 190 + pinctrl-0 = <&pinctrl_imu>; 191 + interrupt-parent = <&gpio7>; 192 + interrupts = <13 IRQ_TYPE_LEVEL_HIGH>; 193 + }; 194 + 176 195 ltc3676: pmic@3c { 177 196 compatible = "lltc,ltc3676"; 178 197 reg = <0x3c>; ··· 445 426 >; 446 427 }; 447 428 429 + pinctrl_imu: imugrp { 430 + fsl,pins = < 431 + MX6QDL_PAD_GPIO_18__GPIO7_IO13 0x1b0b0 432 + >; 433 + }; 434 + 448 435 pinctrl_ipu1_csi0: ipu1csi0grp { 449 436 fsl,pins = < 450 437 MX6QDL_PAD_CSI0_DAT12__IPU1_CSI0_DATA12 0x1b0b0 ··· 471 446 fsl,pins = < 472 447 MX6QDL_PAD_KEY_COL2__GPIO4_IO10 0x1b0b0 473 448 MX6QDL_PAD_KEY_ROW2__GPIO4_IO11 0x1b0b0 449 + >; 450 + }; 451 + 452 + pinctrl_mag: maggrp { 453 + fsl,pins = < 454 + MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x1b0b0 474 455 >; 475 456 }; 476 457
+25
arch/arm/boot/dts/imx6qdl-gw5910.dtsi
··· 220 220 status = "okay"; 221 221 }; 222 222 223 + /* cc1352 */ 224 + &uart3 { 225 + pinctrl-names = "default"; 226 + pinctrl-0 = <&pinctrl_uart3>; 227 + uart-has-rtscts; 228 + status = "okay"; 229 + }; 230 + 223 231 /* Sterling-LWB Bluetooth */ 224 232 &uart4 { 225 233 pinctrl-names = "default"; ··· 416 408 fsl,pins = < 417 409 MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1 418 410 MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1 411 + >; 412 + }; 413 + 414 + pinctrl_uart3: uart3grp { 415 + fsl,pins = < 416 + MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1 417 + MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1 418 + MX6QDL_PAD_EIM_D23__UART3_RTS_B 0x1b0b1 419 + MX6QDL_PAD_EIM_D31__UART3_CTS_B 0x1b0b1 420 + MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x4001b0b1 /* DIO20 */ 421 + MX6QDL_PAD_DISP0_DAT11__GPIO5_IO05 0x4001b0b1 /* DIO14 */ 422 + MX6QDL_PAD_DISP0_DAT12__GPIO5_IO06 0x4001b0b1 /* DIO15 */ 423 + MX6QDL_PAD_DISP0_DAT14__GPIO5_IO08 0x1b0b1 /* TMS */ 424 + MX6QDL_PAD_DISP0_DAT15__GPIO5_IO09 0x1b0b1 /* TCK */ 425 + MX6QDL_PAD_DISP0_DAT16__GPIO5_IO10 0x1b0b1 /* TDO */ 426 + MX6QDL_PAD_DISP0_DAT17__GPIO5_IO11 0x1b0b1 /* TDI */ 427 + MX6QDL_PAD_DISP0_DAT23__GPIO5_IO17 0x4001b0b1 /* RST# */ 419 428 >; 420 429 }; 421 430
+4 -1
arch/arm/boot/dts/imx6qdl-phytec-phycore-som.dtsi
··· 88 88 reg = <0x50>; 89 89 }; 90 90 91 - pmic@58 { 91 + pmic: pmic@58 { 92 92 compatible = "dlg,da9062"; 93 93 pinctrl-names = "default"; 94 94 pinctrl-0 = <&pinctrl_pmic>; ··· 96 96 interrupt-parent = <&gpio1>; 97 97 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 98 98 interrupt-controller; 99 + gpio-controller; 100 + #gpio-cells = <2>; 99 101 100 102 da9062_rtc: rtc { 101 103 compatible = "dlg,da9062-rtc"; ··· 109 107 110 108 watchdog { 111 109 compatible = "dlg,da9062-watchdog"; 110 + dlg,use-sw-pm; 112 111 }; 113 112 114 113 regulators {
+45
arch/arm/boot/dts/imx6qdl-pico-dwarf.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 2 + // 3 + // Copyright 2017 NXP 4 + 5 + #include "imx6qdl-pico.dtsi" 6 + 7 + / { 8 + leds { 9 + compatible = "gpio-leds"; 10 + pinctrl-names = "default"; 11 + pinctrl-0 = <&pinctrl_gpio_leds>; 12 + 13 + led { 14 + label = "gpio-led"; 15 + gpios = <&gpio5 31 GPIO_ACTIVE_HIGH>; 16 + }; 17 + }; 18 + 19 + }; 20 + 21 + &i2c1 { 22 + mpl3115@60 { 23 + compatible = "fsl,mpl3115"; 24 + reg = <0x60>; 25 + }; 26 + }; 27 + 28 + &i2c2 { 29 + io-expander@25 { 30 + compatible = "nxp,pca9554"; 31 + reg = <0x25>; 32 + gpio-controller; 33 + #gpio-cells = <2>; 34 + #interrupt-cells = <2>; 35 + }; 36 + 37 + }; 38 + 39 + &iomuxc { 40 + pinctrl_gpio_leds: gpioledsgrp { 41 + fsl,pins = < 42 + MX6QDL_PAD_CSI0_DAT13__GPIO5_IO31 0x1b0b0 43 + >; 44 + }; 45 + };
+37
arch/arm/boot/dts/imx6qdl-pico-hobbit.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 2 + // 3 + // Copyright 2017 NXP 4 + 5 + #include "imx6qdl-pico.dtsi" 6 + 7 + / { 8 + leds { 9 + compatible = "gpio-leds"; 10 + pinctrl-names = "default"; 11 + pinctrl-0 = <&pinctrl_gpio_leds>; 12 + 13 + led { 14 + label = "gpio-led"; 15 + gpios = <&gpio5 31 GPIO_ACTIVE_HIGH>; 16 + }; 17 + }; 18 + 19 + }; 20 + 21 + &i2c2 { 22 + status = "okay"; 23 + 24 + adc081c: adc@50 { 25 + compatible = "ti,adc081c"; 26 + reg = <0x50>; 27 + vref-supply = <&reg_3p3v>; 28 + }; 29 + }; 30 + 31 + &iomuxc { 32 + pinctrl_gpio_leds: gpioledsgrp { 33 + fsl,pins = < 34 + MX6QDL_PAD_CSI0_DAT13__GPIO5_IO31 0x1b0b0 35 + >; 36 + }; 37 + };
+54
arch/arm/boot/dts/imx6qdl-pico-nymph.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 2 + 3 + #include "imx6qdl-pico.dtsi" 4 + 5 + / { 6 + leds { 7 + compatible = "gpio-leds"; 8 + pinctrl-names = "default"; 9 + pinctrl-0 = <&pinctrl_gpio_leds>; 10 + 11 + led { 12 + label = "gpio-led"; 13 + gpios = <&gpio5 31 GPIO_ACTIVE_HIGH>; 14 + }; 15 + }; 16 + 17 + }; 18 + 19 + &i2c1 { 20 + adc@52 { 21 + compatible = "ti,adc081c"; 22 + reg = <0x52>; 23 + vref-supply = <&reg_2p5v>; 24 + }; 25 + }; 26 + 27 + &i2c2 { 28 + io-expander@25 { 29 + compatible = "nxp,pca9554"; 30 + reg = <0x25>; 31 + gpio-controller; 32 + #gpio-cells = <2>; 33 + #interrupt-cells = <2>; 34 + }; 35 + }; 36 + 37 + &i2c3 { 38 + rtc@68 { 39 + compatible = "dallas,ds1337"; 40 + reg = <0x68>; 41 + }; 42 + }; 43 + 44 + &pcie { 45 + status = "okay"; 46 + }; 47 + 48 + &iomuxc { 49 + pinctrl_gpio_leds: gpioledsgrp { 50 + fsl,pins = < 51 + MX6QDL_PAD_CSI0_DAT13__GPIO5_IO31 0x1b0b0 52 + >; 53 + }; 54 + };
+31
arch/arm/boot/dts/imx6qdl-pico-pi.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 2 + // 3 + // Copyright 2017 NXP 4 + 5 + #include "imx6qdl-pico.dtsi" 6 + 7 + / { 8 + leds { 9 + compatible = "gpio-leds"; 10 + pinctrl-names = "default"; 11 + pinctrl-0 = <&pinctrl_gpio_leds>; 12 + 13 + led { 14 + label = "gpio-led"; 15 + gpios = <&gpio5 18 GPIO_ACTIVE_HIGH>; 16 + }; 17 + }; 18 + 19 + }; 20 + 21 + &hdmi { 22 + status = "disabled"; 23 + }; 24 + 25 + &iomuxc { 26 + pinctrl_gpio_leds: gpioledsgrp { 27 + fsl,pins = < 28 + MX6QDL_PAD_CSI0_PIXCLK__GPIO5_IO18 0x1b0b0 29 + >; 30 + }; 31 + };
+617
arch/arm/boot/dts/imx6qdl-pico.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0 OR MIT 2 + // 3 + // Copyright 2018 Technexion Ltd. 4 + // 5 + // Author: Wig Cheng <wig.cheng@technexion.com> 6 + // Richard Hu <richard.hu@technexion.com> 7 + // Tapani Utriainen <tapani@technexion.com> 8 + 9 + #include <dt-bindings/gpio/gpio.h> 10 + 11 + / { 12 + chosen { 13 + stdout-path = &uart1; 14 + }; 15 + 16 + reg_2p5v: regulator-2p5v { 17 + compatible = "regulator-fixed"; 18 + regulator-name = "2P5V"; 19 + regulator-min-microvolt = <2500000>; 20 + regulator-max-microvolt = <2500000>; 21 + regulator-always-on; 22 + }; 23 + 24 + reg_3p3v: regulator-3p3v { 25 + compatible = "regulator-fixed"; 26 + regulator-name = "3P3V"; 27 + regulator-min-microvolt = <3300000>; 28 + regulator-max-microvolt = <3300000>; 29 + regulator-always-on; 30 + }; 31 + 32 + reg_1p8v: regulator-1p8v { 33 + compatible = "regulator-fixed"; 34 + regulator-name = "1P8V"; 35 + regulator-min-microvolt = <1800000>; 36 + regulator-max-microvolt = <1800000>; 37 + regulator-always-on; 38 + }; 39 + 40 + reg_1p5v: regulator-1p5v { 41 + compatible = "regulator-fixed"; 42 + regulator-name = "1P5V"; 43 + regulator-min-microvolt = <1500000>; 44 + regulator-max-microvolt = <1500000>; 45 + regulator-always-on; 46 + }; 47 + 48 + reg_2p8v: regulator-2p8v { 49 + compatible = "regulator-fixed"; 50 + regulator-name = "2P8V"; 51 + regulator-min-microvolt = <2800000>; 52 + regulator-max-microvolt = <2800000>; 53 + regulator-always-on; 54 + }; 55 + 56 + reg_usb_otg_vbus: regulator-usb-otg-vbus { 57 + pinctrl-names = "default"; 58 + pinctrl-0 = <&pinctrl_usbotg_vbus>; 59 + compatible = "regulator-fixed"; 60 + regulator-name = "usb_otg_vbus"; 61 + regulator-min-microvolt = <5000000>; 62 + regulator-max-microvolt = <5000000>; 63 + gpio = <&gpio3 22 GPIO_ACTIVE_LOW>; 64 + }; 65 + 66 + codec_osc: clock { 67 + compatible = "fixed-clock"; 68 + #clock-cells = <0>; 69 + clock-frequency = <24576000>; 70 + }; 71 + 72 + sound { 73 + compatible = "fsl,imx-audio-sgtl5000"; 74 + model = "imx6-pico-sgtl5000"; 75 + ssi-controller = <&ssi1>; 76 + audio-codec = <&sgtl5000>; 77 + audio-routing = 78 + "MIC_IN", "Mic Jack", 79 + "Mic Jack", "Mic Bias", 80 + "Headphone Jack", "HP_OUT"; 81 + mux-int-port = <1>; 82 + mux-ext-port = <3>; 83 + }; 84 + 85 + backlight: backlight { 86 + compatible = "pwm-backlight"; 87 + pwms = <&pwm4 0 50000 0>; 88 + brightness-levels = <0 36 72 108 144 180 216 255>; 89 + default-brightness-level = <6>; 90 + status = "okay"; 91 + }; 92 + 93 + reg_lcd_3v3: regulator-lcd-3v3 { 94 + compatible = "regulator-fixed"; 95 + pinctrl-names = "default"; 96 + pinctrl-0 = <&pinctrl_reg_lcd>; 97 + regulator-name = "lcd-3v3"; 98 + regulator-min-microvolt = <3300000>; 99 + regulator-max-microvolt = <3300000>; 100 + gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>; 101 + enable-active-high; 102 + }; 103 + 104 + lcd_display: disp0 { 105 + compatible = "fsl,imx-parallel-display"; 106 + #address-cells = <1>; 107 + #size-cells = <0>; 108 + pinctrl-names = "default"; 109 + pinctrl-0 = <&pinctrl_ipu1>; 110 + status = "okay"; 111 + 112 + port@0 { 113 + reg = <0>; 114 + 115 + lcd_display_in: endpoint { 116 + remote-endpoint = <&ipu1_di0_disp0>; 117 + }; 118 + }; 119 + 120 + port@1 { 121 + reg = <1>; 122 + 123 + lcd_display_out: endpoint { 124 + remote-endpoint = <&lcd_panel_in>; 125 + }; 126 + }; 127 + }; 128 + 129 + panel { 130 + compatible = "vxt,vl050-8048nt-c01"; 131 + backlight = <&backlight>; 132 + power-supply = <&reg_lcd_3v3>; 133 + 134 + port { 135 + lcd_panel_in: endpoint { 136 + remote-endpoint = <&lcd_display_out>; 137 + }; 138 + }; 139 + }; 140 + }; 141 + 142 + &audmux { 143 + pinctrl-names = "default"; 144 + pinctrl-0 = <&pinctrl_audmux>; 145 + status = "okay"; 146 + }; 147 + 148 + &can1 { 149 + pinctrl-names = "default"; 150 + pinctrl-0 = <&pinctrl_flexcan1>; 151 + status = "okay"; 152 + }; 153 + 154 + &can2 { 155 + pinctrl-names = "default"; 156 + pinctrl-0 = <&pinctrl_flexcan2>; 157 + status = "okay"; 158 + }; 159 + 160 + &clks { 161 + assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, 162 + <&clks IMX6QDL_CLK_LDB_DI1_SEL>; 163 + assigned-clock-parents = <&clks IMX6QDL_CLK_PLL3_USB_OTG>, 164 + <&clks IMX6QDL_CLK_PLL3_USB_OTG>; 165 + }; 166 + 167 + &ecspi2 { 168 + pinctrl-names = "default"; 169 + pinctrl-0 = <&pinctrl_ecspi2>; 170 + cs-gpios = <&gpio2 27 GPIO_ACTIVE_HIGH>; 171 + status = "okay"; 172 + }; 173 + 174 + &fec { 175 + pinctrl-names = "default"; 176 + pinctrl-0 = <&pinctrl_enet>; 177 + phy-mode = "rgmii-id"; 178 + phy-reset-gpios = <&gpio1 26 GPIO_ACTIVE_LOW>; 179 + status = "okay"; 180 + }; 181 + 182 + &hdmi { 183 + ddc-i2c-bus = <&i2c2>; 184 + status = "okay"; 185 + }; 186 + 187 + &i2c1 { 188 + pinctrl-names = "default"; 189 + pinctrl-0 = <&pinctrl_i2c1>; 190 + status = "okay"; 191 + 192 + sgtl5000: audio-codec@a { 193 + #sound-dai-cells = <0>; 194 + reg = <0x0a>; 195 + compatible = "fsl,sgtl5000"; 196 + clocks = <&codec_osc>; 197 + VDDA-supply = <&reg_2p5v>; 198 + VDDIO-supply = <&reg_1p8v>; 199 + }; 200 + }; 201 + 202 + &i2c2 { 203 + clock-frequency = <100000>; 204 + pinctrl-names = "default"; 205 + pinctrl-0 = <&pinctrl_i2c2>; 206 + status = "okay"; 207 + 208 + touchscreen@38 { 209 + compatible = "edt,edt-ft5x06"; 210 + reg = <0x38>; 211 + interrupt-parent = <&gpio5>; 212 + interrupts = <31 IRQ_TYPE_EDGE_FALLING>; 213 + reset-gpios = <&gpio5 27 GPIO_ACTIVE_LOW>; 214 + touchscreen-size-x = <800>; 215 + touchscreen-size-y = <480>; 216 + wakeup-source; 217 + }; 218 + 219 + camera@3c { 220 + compatible = "ovti,ov5645"; 221 + pinctrl-names = "default"; 222 + pinctrl-0 = <&pinctrl_ov5645>; 223 + reg = <0x3c>; 224 + clocks = <&clks IMX6QDL_CLK_CKO2>; 225 + clock-names = "xclk"; 226 + clock-frequency = <24000000>; 227 + vdddo-supply = <&reg_1p8v>; 228 + vdda-supply = <&reg_2p8v>; 229 + vddd-supply = <&reg_1p5v>; 230 + enable-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; 231 + reset-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>; 232 + 233 + port { 234 + ov5645_to_mipi_csi2: endpoint { 235 + remote-endpoint = <&mipi_csi2_in>; 236 + clock-lanes = <0>; 237 + data-lanes = <1 2>; 238 + }; 239 + }; 240 + }; 241 + }; 242 + 243 + &i2c3 { 244 + pinctrl-names = "default"; 245 + pinctrl-0 = <&pinctrl_i2c3>; 246 + status = "okay"; 247 + }; 248 + 249 + &ipu1_di0_disp0 { 250 + remote-endpoint = <&lcd_display_in>; 251 + }; 252 + 253 + &mipi_csi { 254 + status = "okay"; 255 + 256 + port@0 { 257 + reg = <0>; 258 + 259 + mipi_csi2_in: endpoint { 260 + remote-endpoint = <&ov5645_to_mipi_csi2>; 261 + clock-lanes = <0>; 262 + data-lanes = <1 2>; 263 + }; 264 + }; 265 + }; 266 + 267 + &pcie { 268 + pinctrl-names = "default"; 269 + pinctrl-0 = <&pinctrl_pcie_reset>; 270 + reset-gpio = <&gpio5 21 GPIO_ACTIVE_LOW>; 271 + }; 272 + 273 + &pwm1 { 274 + pinctrl-names = "default"; 275 + pinctrl-0 = <&pinctrl_pwm1>; 276 + status = "okay"; 277 + }; 278 + 279 + &pwm2 { 280 + pinctrl-names = "default"; 281 + pinctrl-0 = <&pinctrl_pwm2>; 282 + status = "okay"; 283 + }; 284 + 285 + &pwm3 { 286 + pinctrl-names = "default"; 287 + pinctrl-0 = <&pinctrl_pwm3>; 288 + status = "okay"; 289 + }; 290 + 291 + &pwm4 { 292 + pinctrl-names = "default"; 293 + pinctrl-0 = <&pinctrl_pwm4>; 294 + status = "okay"; 295 + }; 296 + 297 + &ssi1 { 298 + status = "okay"; 299 + }; 300 + 301 + &uart1 { 302 + pinctrl-names = "default"; 303 + pinctrl-0 = <&pinctrl_uart1>; 304 + status = "okay"; 305 + }; 306 + 307 + &uart2 { /* Bluetooth module */ 308 + pinctrl-names = "default"; 309 + pinctrl-0 = <&pinctrl_uart2>; 310 + uart-has-rtscts; 311 + status = "okay"; 312 + }; 313 + 314 + &uart3 { 315 + pinctrl-names = "default"; 316 + pinctrl-0 = <&pinctrl_uart3>; 317 + uart-has-rtscts; 318 + status = "okay"; 319 + }; 320 + 321 + &usbh1 { 322 + status = "okay"; 323 + }; 324 + 325 + &usbotg { 326 + vbus-supply = <&reg_usb_otg_vbus>; 327 + pinctrl-names = "default"; 328 + pinctrl-0 = <&pinctrl_usbotg>; 329 + disable-over-current; 330 + dr_mode = "otg"; 331 + status = "okay"; 332 + }; 333 + 334 + &usdhc1 { 335 + pinctrl-names = "default"; 336 + pinctrl-0 = <&pinctrl_usdhc1>; 337 + bus-width = <8>; 338 + cd-gpios = <&gpio3 9 GPIO_ACTIVE_LOW>; 339 + status = "okay"; 340 + }; 341 + 342 + &usdhc2 { /* Wifi/BT */ 343 + pinctrl-names = "default"; 344 + pinctrl-0 = <&pinctrl_usdhc2>; 345 + bus-width = <4>; 346 + no-1-8-v; 347 + keep-power-in-suspend; 348 + non-removable; 349 + status = "okay"; 350 + }; 351 + 352 + &usdhc3 { 353 + pinctrl-names = "default"; 354 + pinctrl-0 = <&pinctrl_usdhc3>; 355 + bus-width = <8>; 356 + no-1-8-v; 357 + non-removable; 358 + status = "okay"; 359 + }; 360 + 361 + &iomuxc { 362 + pinctrl-names = "default"; 363 + pinctrl-0 = <&pinctrl_hog>; 364 + 365 + pinctrl_hog: hoggrp { 366 + fsl,pins = < 367 + MX6QDL_PAD_CSI0_MCLK__GPIO5_IO19 0x4001b0b5 /* PICO_P24 */ 368 + MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21 0x4001b0b5 /* PICO_P26 */ 369 + MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20 0x4001b0b5 /* PICO_P28 */ 370 + MX6QDL_PAD_CSI0_DAT8__GPIO5_IO26 0x4001b0b5 /* PICO_P30 */ 371 + MX6QDL_PAD_CSI0_DAT9__GPIO5_IO27 0x4001b0b5 /* PICO_P32 */ 372 + MX6QDL_PAD_CSI0_DAT14__GPIO6_IO00 0x4001b0b5 /* PICO_P34 */ 373 + MX6QDL_PAD_CSI0_DAT12__GPIO5_IO30 0x4001b0b5 /* PICO_P42 */ 374 + MX6QDL_PAD_CSI0_DAT13__GPIO5_IO31 0x4001b0b5 /* PICO_P44 */ 375 + MX6QDL_PAD_CSI0_DAT15__GPIO6_IO01 0x4001b0b5 /* PICO_P48 */ 376 + >; 377 + }; 378 + 379 + pinctrl_audmux: audmuxgrp { 380 + fsl,pins = < 381 + MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x130b0 382 + MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0 383 + MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x110b0 384 + MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0 385 + >; 386 + }; 387 + 388 + pinctrl_ecspi1: ecspi1grp { 389 + fsl,pins = < 390 + MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x100b1 391 + MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x100b1 392 + MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x100b1 393 + MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x000f0b0 394 + >; 395 + }; 396 + 397 + pinctrl_ecspi2: ecspi2grp { 398 + fsl,pins = < 399 + MX6QDL_PAD_EIM_OE__ECSPI2_MISO 0x1b0b1 400 + MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI 0x1b0b1 401 + MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK 0x1b0b1 402 + MX6QDL_PAD_EIM_RW__GPIO2_IO26 0x000f0b0 403 + MX6QDL_PAD_EIM_LBA__GPIO2_IO27 0x000f0b0 404 + >; 405 + }; 406 + 407 + pinctrl_enet: enetgrp { 408 + fsl,pins = < 409 + MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 410 + MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 411 + MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0 412 + MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0 413 + MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0 414 + MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0 415 + MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0 416 + MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0 417 + MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0 418 + MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0 419 + MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0 420 + MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0 421 + MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0 422 + MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0 423 + MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0 424 + MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0 425 + MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x1f0b1 426 + >; 427 + }; 428 + 429 + pinctrl_flexcan1: flexcan1grp { 430 + fsl,pins = < 431 + MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0x1b0b0 432 + MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x1b0b0 433 + >; 434 + }; 435 + 436 + pinctrl_flexcan2: flexcan2grp { 437 + fsl,pins = < 438 + MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX 0x1b0b0 439 + MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX 0x1b0b0 440 + >; 441 + }; 442 + 443 + pinctrl_i2c1: i2c1grp { 444 + fsl,pins = < 445 + MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1 446 + MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1 447 + >; 448 + }; 449 + 450 + pinctrl_i2c2: i2c2grp { 451 + fsl,pins = < 452 + MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 453 + MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 454 + >; 455 + }; 456 + 457 + pinctrl_i2c3: i2c3grp { 458 + fsl,pins = < 459 + MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1 460 + MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1 461 + >; 462 + }; 463 + 464 + pinctrl_ipu1: ipu1grp { 465 + fsl,pins = < 466 + MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10 467 + MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x10 468 + MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x10 469 + MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x10 470 + MX6QDL_PAD_DI0_PIN4__IPU1_DI0_PIN04 0x10 471 + MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x10 472 + MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x10 473 + MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x10 474 + MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x10 475 + MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x10 476 + MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x10 477 + MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x10 478 + MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x10 479 + MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x10 480 + MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x10 481 + MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x10 482 + MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x10 483 + MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x10 484 + MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x10 485 + MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x10 486 + MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x10 487 + MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x10 488 + MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x10 489 + MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x10 490 + MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x10 491 + MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x10 492 + MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x10 493 + MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x10 494 + MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x10 495 + >; 496 + }; 497 + 498 + pinctrl_ov5645: ov5645grp { 499 + fsl,pins = < 500 + MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x0b0b0 501 + MX6QDL_PAD_GPIO_8__GPIO1_IO08 0x0b0b0 502 + MX6QDL_PAD_GPIO_3__CCM_CLKO2 0x000b0 503 + >; 504 + }; 505 + 506 + pinctrl_pcie_reset: pciegrp { 507 + fsl,pins = < 508 + MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21 0x130b0 509 + >; 510 + }; 511 + 512 + pinctrl_pwm1: pwm1grp { 513 + fsl,pins = < 514 + MX6QDL_PAD_GPIO_9__PWM1_OUT 0x1b0b1 515 + >; 516 + }; 517 + 518 + pinctrl_pwm2: pwm2grp { 519 + fsl,pins = < 520 + MX6QDL_PAD_GPIO_1__PWM2_OUT 0x1b0b1 521 + >; 522 + }; 523 + 524 + pinctrl_pwm3: pwm3grp { 525 + fsl,pins = < 526 + MX6QDL_PAD_SD4_DAT1__PWM3_OUT 0x1b0b1 527 + >; 528 + }; 529 + 530 + pinctrl_pwm4: pwm4grp { 531 + fsl,pins = < 532 + MX6QDL_PAD_SD4_DAT2__PWM4_OUT 0x1b0b1 533 + >; 534 + }; 535 + 536 + pinctrl_reg_lcd: reglcdgrp { 537 + fsl,pins = < 538 + MX6QDL_PAD_SD4_DAT3__GPIO2_IO11 0x1b0b0 539 + >; 540 + }; 541 + 542 + pinctrl_uart1: uart1grp { 543 + fsl,pins = < 544 + MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1 545 + MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1 546 + >; 547 + }; 548 + 549 + pinctrl_uart2: uart2grp { 550 + fsl,pins = < 551 + MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1 552 + MX6QDL_PAD_SD4_DAT5__UART2_RTS_B 0x1b0b1 553 + MX6QDL_PAD_SD4_DAT6__UART2_CTS_B 0x1b0b1 554 + MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1 555 + >; 556 + }; 557 + 558 + pinctrl_uart3: uart3grp { 559 + fsl,pins = < 560 + MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1 561 + MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1 562 + MX6QDL_PAD_EIM_D23__UART3_CTS_B 0x1b0b1 563 + MX6QDL_PAD_EIM_D31__UART3_RTS_B 0x1b0b1 564 + >; 565 + }; 566 + 567 + pinctrl_usbotg: usbotggrp { 568 + fsl,pins = < 569 + MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059 570 + >; 571 + }; 572 + 573 + pinctrl_usbotg_vbus: usbotgvbusgrp { 574 + fsl,pins = < 575 + MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0 576 + >; 577 + }; 578 + 579 + pinctrl_usdhc1: usdhc1grp { 580 + fsl,pins = < 581 + MX6QDL_PAD_SD1_CMD__SD1_CMD 0x17071 582 + MX6QDL_PAD_SD1_CLK__SD1_CLK 0x17071 583 + MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17071 584 + MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17071 585 + MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17071 586 + MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17071 587 + MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x1b0b0 588 + >; 589 + }; 590 + 591 + pinctrl_usdhc2: usdhc2grp { 592 + fsl,pins = < 593 + MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059 594 + MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059 595 + MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059 596 + MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 597 + MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 598 + MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059 599 + >; 600 + }; 601 + 602 + pinctrl_usdhc3: usdhc3grp { 603 + fsl,pins = < 604 + MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 605 + MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059 606 + MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 607 + MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 608 + MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 609 + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 610 + MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0xb0b1 611 + MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059 612 + MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059 613 + MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059 614 + MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17059 615 + >; 616 + }; 617 + };
+1
arch/arm/boot/dts/imx6qdl-sr-som-ti.dtsi
··· 153 153 bus-width = <4>; 154 154 keep-power-in-suspend; 155 155 mmc-pwrseq = <&pwrseq_ti_wifi>; 156 + cap-power-off-card; 156 157 non-removable; 157 158 vmmc-supply = <&vcc_3v3>; 158 159 /* vqmmc-supply = <&nvcc_sd1>; - MMC layer doesn't like it! */
+7
arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi
··· 216 216 }; 217 217 }; 218 218 219 + &clks { 220 + assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, 221 + <&clks IMX6QDL_CLK_LDB_DI1_SEL>; 222 + assigned-clock-parents = <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>, 223 + <&clks IMX6QDL_CLK_PLL5_VIDEO_DIV>; 224 + }; 225 + 219 226 &cpu0 { 220 227 fsl,soc-operating-points = < 221 228 /* ARM kHz SOC-PU uV */
+18 -12
arch/arm/boot/dts/imx6qdl.dtsi
··· 294 294 status = "disabled"; 295 295 }; 296 296 297 - aips-bus@2000000 { /* AIPS1 */ 297 + bus@2000000 { /* AIPS1 */ 298 298 compatible = "fsl,aips-bus", "simple-bus"; 299 299 #address-cells = <1>; 300 300 #size-cells = <1>; ··· 574 574 status = "disabled"; 575 575 }; 576 576 577 - gpt: gpt@2098000 { 577 + gpt: timer@2098000 { 578 578 compatible = "fsl,imx6q-gpt", "fsl,imx31-gpt"; 579 579 reg = <0x02098000 0x4000>; 580 580 interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>; ··· 661 661 #interrupt-cells = <2>; 662 662 }; 663 663 664 - kpp: kpp@20b8000 { 664 + kpp: keypad@20b8000 { 665 665 compatible = "fsl,imx6q-kpp", "fsl,imx21-kpp"; 666 666 reg = <0x020b8000 0x4000>; 667 667 interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>; ··· 669 669 status = "disabled"; 670 670 }; 671 671 672 - wdog1: wdog@20bc000 { 672 + wdog1: watchdog@20bc000 { 673 673 compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt"; 674 674 reg = <0x020bc000 0x4000>; 675 675 interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>; 676 676 clocks = <&clks IMX6QDL_CLK_IPG>; 677 677 }; 678 678 679 - wdog2: wdog@20c0000 { 679 + wdog2: watchdog@20c0000 { 680 680 compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt"; 681 681 reg = <0x020c0000 0x4000>; 682 682 interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>; ··· 684 684 status = "disabled"; 685 685 }; 686 686 687 - clks: ccm@20c4000 { 687 + clks: clock-controller@20c4000 { 688 688 compatible = "fsl,imx6q-ccm"; 689 689 reg = <0x020c4000 0x4000>; 690 690 interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>, ··· 908 908 }; 909 909 }; 910 910 911 - iomuxc: iomuxc@20e0000 { 911 + iomuxc: pinctrl@20e0000 { 912 912 compatible = "fsl,imx6dl-iomuxc", "fsl,imx6q-iomuxc"; 913 913 reg = <0x20e0000 0x4000>; 914 914 }; ··· 935 935 }; 936 936 }; 937 937 938 - aips-bus@2100000 { /* AIPS2 */ 938 + bus@2100000 { /* AIPS2 */ 939 939 compatible = "fsl,aips-bus", "simple-bus"; 940 940 #address-cells = <1>; 941 941 #size-cells = <1>; 942 942 reg = <0x02100000 0x100000>; 943 943 ranges; 944 944 945 - crypto: caam@2100000 { 945 + crypto: crypto@2100000 { 946 946 compatible = "fsl,sec-v4.0"; 947 947 #address-cells = <1>; 948 948 #size-cells = <1>; ··· 954 954 <&clks IMX6QDL_CLK_EIM_SLOW>; 955 955 clock-names = "mem", "aclk", "ipg", "emi_slow"; 956 956 957 - sec_jr0: jr0@1000 { 957 + sec_jr0: jr@1000 { 958 958 compatible = "fsl,sec-v4.0-job-ring"; 959 959 reg = <0x1000 0x1000>; 960 960 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 961 961 }; 962 962 963 - sec_jr1: jr1@2000 { 963 + sec_jr1: jr@2000 { 964 964 compatible = "fsl,sec-v4.0-job-ring"; 965 965 reg = <0x2000 0x1000>; 966 966 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; ··· 1161 1161 status = "disabled"; 1162 1162 }; 1163 1163 1164 - ocotp: ocotp@21bc000 { 1164 + ocotp: ocotp-ctrl@21bc000 { 1165 1165 compatible = "fsl,imx6q-ocotp", "syscon"; 1166 1166 reg = <0x021bc000 0x4000>; 1167 1167 clocks = <&clks IMX6QDL_CLK_IIM>; 1168 + #address-cells = <1>; 1169 + #size-cells = <1>; 1170 + 1171 + cpu_speed_grade: speed-grade@10 { 1172 + reg = <0x10 4>; 1173 + }; 1168 1174 }; 1169 1175 1170 1176 tzasc@21d0000 { /* TZASC1 */
+1 -1
arch/arm/boot/dts/imx6qp.dtsi
··· 18 18 clocks = <&clks IMX6QDL_CLK_OCRAM>; 19 19 }; 20 20 21 - aips-bus@2100000 { 21 + bus@2100000 { 22 22 pre1: pre@21c8000 { 23 23 compatible = "fsl,imx6qp-pre"; 24 24 reg = <0x021c8000 0x1000>;
+18 -10
arch/arm/boot/dts/imx6sl.dtsi
··· 74 74 arm-supply = <&reg_arm>; 75 75 pu-supply = <&reg_pu>; 76 76 soc-supply = <&reg_soc>; 77 + nvmem-cells = <&cpu_speed_grade>; 78 + nvmem-cell-names = "speed_grade"; 77 79 }; 78 80 }; 79 81 ··· 145 143 arm,data-latency = <4 2 3>; 146 144 }; 147 145 148 - aips1: aips-bus@2000000 { 146 + aips1: bus@2000000 { 149 147 compatible = "fsl,aips-bus", "simple-bus"; 150 148 #address-cells = <1>; 151 149 #size-cells = <1>; ··· 382 380 clock-names = "ipg", "per"; 383 381 }; 384 382 385 - gpt: gpt@2098000 { 383 + gpt: timer@2098000 { 386 384 compatible = "fsl,imx6sl-gpt"; 387 385 reg = <0x02098000 0x4000>; 388 386 interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>; ··· 493 491 <&iomuxc 21 161 1>; 494 492 }; 495 493 496 - kpp: kpp@20b8000 { 494 + kpp: keypad@20b8000 { 497 495 compatible = "fsl,imx6sl-kpp", "fsl,imx21-kpp"; 498 496 reg = <0x020b8000 0x4000>; 499 497 interrupts = <0 82 IRQ_TYPE_LEVEL_HIGH>; ··· 501 499 status = "disabled"; 502 500 }; 503 501 504 - wdog1: wdog@20bc000 { 502 + wdog1: watchdog@20bc000 { 505 503 compatible = "fsl,imx6sl-wdt", "fsl,imx21-wdt"; 506 504 reg = <0x020bc000 0x4000>; 507 505 interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>; 508 506 clocks = <&clks IMX6SL_CLK_IPG>; 509 507 }; 510 508 511 - wdog2: wdog@20c0000 { 509 + wdog2: watchdog@20c0000 { 512 510 compatible = "fsl,imx6sl-wdt", "fsl,imx21-wdt"; 513 511 reg = <0x020c0000 0x4000>; 514 512 interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>; ··· 516 514 status = "disabled"; 517 515 }; 518 516 519 - clks: ccm@20c4000 { 517 + clks: clock-controller@20c4000 { 520 518 compatible = "fsl,imx6sl-ccm"; 521 519 reg = <0x020c4000 0x4000>; 522 520 interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>, ··· 730 728 reg = <0x020e0000 0x38>; 731 729 }; 732 730 733 - iomuxc: iomuxc@20e0000 { 731 + iomuxc: pinctrl@20e0000 { 734 732 compatible = "fsl,imx6sl-iomuxc"; 735 733 reg = <0x020e0000 0x4000>; 736 734 }; ··· 779 777 power-domains = <&pd_disp>; 780 778 }; 781 779 782 - dcp: dcp@20fc000 { 780 + dcp: crypto@20fc000 { 783 781 compatible = "fsl,imx6sl-dcp", "fsl,imx28-dcp"; 784 782 reg = <0x020fc000 0x4000>; 785 783 interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>, ··· 788 786 }; 789 787 }; 790 788 791 - aips2: aips-bus@2100000 { 789 + aips2: bus@2100000 { 792 790 compatible = "fsl,aips-bus", "simple-bus"; 793 791 #address-cells = <1>; 794 792 #size-cells = <1>; ··· 951 949 status = "disabled"; 952 950 }; 953 951 954 - ocotp: ocotp@21bc000 { 952 + ocotp: ocotp-ctrl@21bc000 { 955 953 compatible = "fsl,imx6sl-ocotp", "syscon"; 956 954 reg = <0x021bc000 0x4000>; 957 955 clocks = <&clks IMX6SL_CLK_OCOTP>; 956 + #address-cells = <1>; 957 + #size-cells = <1>; 958 + 959 + cpu_speed_grade: speed-grade@10 { 960 + reg = <0x10 4>; 961 + }; 958 962 }; 959 963 960 964 audmux: audmux@21d8000 {
+9 -3
arch/arm/boot/dts/imx6sll.dtsi
··· 72 72 <&clks IMX6SLL_CLK_PLL1_SYS>; 73 73 clock-names = "arm", "pll2_pfd2_396m", "step", 74 74 "pll1_sw", "pll1_sys"; 75 + nvmem-cells = <&cpu_speed_grade>; 76 + nvmem-cell-names = "speed_grade"; 75 77 }; 76 78 }; 77 79 ··· 146 144 arm,data-latency = <4 2 3>; 147 145 }; 148 146 149 - aips1: aips-bus@2000000 { 147 + aips1: bus@2000000 { 150 148 compatible = "fsl,aips-bus", "simple-bus"; 151 149 #address-cells = <1>; 152 150 #size-cells = <1>; ··· 654 652 status = "disabled"; 655 653 }; 656 654 657 - dcp: dcp@20fc000 { 655 + dcp: crypto@20fc000 { 658 656 compatible = "fsl,imx28-dcp"; 659 657 reg = <0x020fc000 0x4000>; 660 658 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, ··· 665 663 }; 666 664 }; 667 665 668 - aips2: aips-bus@2100000 { 666 + aips2: bus@2100000 { 669 667 compatible = "fsl,aips-bus", "simple-bus"; 670 668 #address-cells = <1>; 671 669 #size-cells = <1>; ··· 792 790 compatible = "fsl,imx6sll-ocotp", "syscon"; 793 791 reg = <0x021bc000 0x4000>; 794 792 clocks = <&clks IMX6SLL_CLK_OCOTP>; 793 + 794 + cpu_speed_grade: speed-grade@10 { 795 + reg = <0x10 4>; 796 + }; 795 797 796 798 tempmon_calib: calib@38 { 797 799 reg = <0x38 4>;
+10 -10
arch/arm/boot/dts/imx6sx-nitrogen6sx.dts
··· 484 484 485 485 pinctrl_uart1: uart1grp { 486 486 fsl,pins = < 487 - MX6SX_PAD_GPIO1_IO04__UART1_TX 0x1b0b1 488 - MX6SX_PAD_GPIO1_IO05__UART1_RX 0x1b0b1 487 + MX6SX_PAD_GPIO1_IO04__UART1_DCE_TX 0x1b0b1 488 + MX6SX_PAD_GPIO1_IO05__UART1_DCE_RX 0x1b0b1 489 489 >; 490 490 }; 491 491 492 492 pinctrl_uart2: uart2grp { 493 493 fsl,pins = < 494 - MX6SX_PAD_GPIO1_IO06__UART2_TX 0x1b0b1 495 - MX6SX_PAD_GPIO1_IO07__UART2_RX 0x1b0b1 494 + MX6SX_PAD_GPIO1_IO06__UART2_DCE_TX 0x1b0b1 495 + MX6SX_PAD_GPIO1_IO07__UART2_DCE_RX 0x1b0b1 496 496 >; 497 497 }; 498 498 499 499 pinctrl_uart3: uart3grp { 500 500 fsl,pins = < 501 - MX6SX_PAD_QSPI1B_SS0_B__UART3_TX 0x1b0b1 502 - MX6SX_PAD_QSPI1B_SCLK__UART3_RX 0x1b0b1 501 + MX6SX_PAD_QSPI1B_SS0_B__UART3_DCE_TX 0x1b0b1 502 + MX6SX_PAD_QSPI1B_SCLK__UART3_DCE_RX 0x1b0b1 503 503 >; 504 504 }; 505 505 506 506 pinctrl_uart5: uart5grp { 507 507 fsl,pins = < 508 - MX6SX_PAD_KEY_COL3__UART5_TX 0x1b0b1 509 - MX6SX_PAD_KEY_ROW3__UART5_RX 0x1b0b1 510 - MX6SX_PAD_SD3_DATA6__UART3_RTS_B 0x1b0b1 511 - MX6SX_PAD_SD3_DATA7__UART3_CTS_B 0x1b0b1 508 + MX6SX_PAD_KEY_COL3__UART5_DCE_TX 0x1b0b1 509 + MX6SX_PAD_KEY_ROW3__UART5_DCE_RX 0x1b0b1 510 + MX6SX_PAD_SD3_DATA6__UART3_DCE_RTS 0x1b0b1 511 + MX6SX_PAD_SD3_DATA7__UART3_DCE_CTS 0x1b0b1 512 512 >; 513 513 }; 514 514
+200 -86
arch/arm/boot/dts/imx6sx-pinfunc.h
··· 42 42 #define MX6SX_PAD_GPIO1_IO03__GPIO1_IO_3 0x0020 0x0368 0x0000 0x5 0x0 43 43 #define MX6SX_PAD_GPIO1_IO03__CCM_PLL3_BYP 0x0020 0x0368 0x0000 0x6 0x0 44 44 #define MX6SX_PAD_GPIO1_IO03__PHY_TCK 0x0020 0x0368 0x0000 0x7 0x0 45 - #define MX6SX_PAD_GPIO1_IO04__UART1_RX 0x0024 0x036C 0x0830 0x0 0x0 46 - #define MX6SX_PAD_GPIO1_IO04__UART1_TX 0x0024 0x036C 0x0000 0x0 0x0 45 + #define MX6SX_PAD_GPIO1_IO04__UART1_DCE_TX 0x0024 0x036C 0x0000 0x0 0x0 46 + #define MX6SX_PAD_GPIO1_IO04__UART1_DTE_RX 0x0024 0x036C 0x0830 0x0 0x0 47 47 #define MX6SX_PAD_GPIO1_IO04__USDHC2_RESET_B 0x0024 0x036C 0x0000 0x1 0x0 48 48 #define MX6SX_PAD_GPIO1_IO04__ENET1_MDC 0x0024 0x036C 0x0000 0x2 0x0 49 49 #define MX6SX_PAD_GPIO1_IO04__OSC32K_32K_OUT 0x0024 0x036C 0x0000 0x3 0x0 ··· 51 51 #define MX6SX_PAD_GPIO1_IO04__GPIO1_IO_4 0x0024 0x036C 0x0000 0x5 0x0 52 52 #define MX6SX_PAD_GPIO1_IO04__CCM_PLL2_BYP 0x0024 0x036C 0x0000 0x6 0x0 53 53 #define MX6SX_PAD_GPIO1_IO04__PHY_TMS 0x0024 0x036C 0x0000 0x7 0x0 54 - #define MX6SX_PAD_GPIO1_IO05__UART1_RX 0x0028 0x0370 0x0830 0x0 0x1 55 - #define MX6SX_PAD_GPIO1_IO05__UART1_TX 0x0028 0x0370 0x0000 0x0 0x0 54 + #define MX6SX_PAD_GPIO1_IO05__UART1_DCE_RX 0x0028 0x0370 0x0830 0x0 0x1 55 + #define MX6SX_PAD_GPIO1_IO05__UART1_DTE_TX 0x0028 0x0370 0x0000 0x0 0x0 56 56 #define MX6SX_PAD_GPIO1_IO05__USDHC2_VSELECT 0x0028 0x0370 0x0000 0x1 0x0 57 57 #define MX6SX_PAD_GPIO1_IO05__ENET1_MDIO 0x0028 0x0370 0x0764 0x2 0x0 58 58 #define MX6SX_PAD_GPIO1_IO05__ASRC_ASRC_EXT_CLK 0x0028 0x0370 0x0000 0x3 0x0 ··· 60 60 #define MX6SX_PAD_GPIO1_IO05__GPIO1_IO_5 0x0028 0x0370 0x0000 0x5 0x0 61 61 #define MX6SX_PAD_GPIO1_IO05__SRC_TESTER_ACK 0x0028 0x0370 0x0000 0x6 0x0 62 62 #define MX6SX_PAD_GPIO1_IO05__PHY_TDO 0x0028 0x0370 0x0000 0x7 0x0 63 - #define MX6SX_PAD_GPIO1_IO06__UART2_RX 0x002C 0x0374 0x0838 0x0 0x0 64 - #define MX6SX_PAD_GPIO1_IO06__UART2_TX 0x002C 0x0374 0x0000 0x0 0x0 63 + #define MX6SX_PAD_GPIO1_IO06__UART2_DCE_TX 0x002C 0x0374 0x0000 0x0 0x0 64 + #define MX6SX_PAD_GPIO1_IO06__UART2_DTE_RX 0x002C 0x0374 0x0838 0x0 0x0 65 65 #define MX6SX_PAD_GPIO1_IO06__USDHC2_CD_B 0x002C 0x0374 0x086C 0x1 0x1 66 66 #define MX6SX_PAD_GPIO1_IO06__ENET2_MDC 0x002C 0x0374 0x0000 0x2 0x0 67 67 #define MX6SX_PAD_GPIO1_IO06__CSI1_MCLK 0x002C 0x0374 0x0000 0x3 0x0 68 - #define MX6SX_PAD_GPIO1_IO06__UART1_RTS_B 0x002C 0x0374 0x082C 0x4 0x0 68 + #define MX6SX_PAD_GPIO1_IO06__UART1_DCE_RTS 0x002C 0x0374 0x082C 0x4 0x0 69 + #define MX6SX_PAD_GPIO1_IO06__UART1_DTE_CTS 0x002C 0x0374 0x0000 0x4 0x0 69 70 #define MX6SX_PAD_GPIO1_IO06__GPIO1_IO_6 0x002C 0x0374 0x0000 0x5 0x0 70 71 #define MX6SX_PAD_GPIO1_IO06__SRC_ANY_PU_RESET 0x002C 0x0374 0x0000 0x6 0x0 71 72 #define MX6SX_PAD_GPIO1_IO06__OCOTP_CTRL_WRAPPER_FUSE_LATCHED 0x002C 0x0374 0x0000 0x7 0x0 72 - #define MX6SX_PAD_GPIO1_IO07__UART2_RX 0x0030 0x0378 0x0838 0x0 0x1 73 - #define MX6SX_PAD_GPIO1_IO07__UART2_TX 0x0030 0x0378 0x0000 0x0 0x0 73 + #define MX6SX_PAD_GPIO1_IO07__UART2_DCE_RX 0x0030 0x0378 0x0838 0x0 0x1 74 + #define MX6SX_PAD_GPIO1_IO07__UART2_DTE_TX 0x0030 0x0378 0x0000 0x0 0x0 74 75 #define MX6SX_PAD_GPIO1_IO07__USDHC2_WP 0x0030 0x0378 0x0870 0x1 0x1 75 76 #define MX6SX_PAD_GPIO1_IO07__ENET2_MDIO 0x0030 0x0378 0x0770 0x2 0x0 76 77 #define MX6SX_PAD_GPIO1_IO07__AUDMUX_MCLK 0x0030 0x0378 0x0000 0x3 0x0 77 - #define MX6SX_PAD_GPIO1_IO07__UART1_CTS_B 0x0030 0x0378 0x0000 0x4 0x0 78 + #define MX6SX_PAD_GPIO1_IO07__UART1_DCE_CTS 0x0030 0x0378 0x0000 0x4 0x0 79 + #define MX6SX_PAD_GPIO1_IO07__UART1_DTE_RTS 0x0030 0x0378 0x082C 0x4 0x1 78 80 #define MX6SX_PAD_GPIO1_IO07__GPIO1_IO_7 0x0030 0x0378 0x0000 0x5 0x0 79 81 #define MX6SX_PAD_GPIO1_IO07__SRC_EARLY_RESET 0x0030 0x0378 0x0000 0x6 0x0 80 82 #define MX6SX_PAD_GPIO1_IO07__DCIC2_OUT 0x0030 0x0378 0x0000 0x7 0x0 ··· 85 83 #define MX6SX_PAD_GPIO1_IO08__WDOG1_WDOG_B 0x0034 0x037C 0x0000 0x1 0x0 86 84 #define MX6SX_PAD_GPIO1_IO08__SDMA_EXT_EVENT_0 0x0034 0x037C 0x081C 0x2 0x0 87 85 #define MX6SX_PAD_GPIO1_IO08__CCM_PMIC_RDY 0x0034 0x037C 0x069C 0x3 0x1 88 - #define MX6SX_PAD_GPIO1_IO08__UART2_RTS_B 0x0034 0x037C 0x0834 0x4 0x0 86 + #define MX6SX_PAD_GPIO1_IO08__UART2_DCE_RTS 0x0034 0x037C 0x0834 0x4 0x0 87 + #define MX6SX_PAD_GPIO1_IO08__UART2_DTE_CTS 0x0034 0x037C 0x0000 0x4 0x0 89 88 #define MX6SX_PAD_GPIO1_IO08__GPIO1_IO_8 0x0034 0x037C 0x0000 0x5 0x0 90 89 #define MX6SX_PAD_GPIO1_IO08__SRC_SYSTEM_RESET 0x0034 0x037C 0x0000 0x6 0x0 91 90 #define MX6SX_PAD_GPIO1_IO08__DCIC1_OUT 0x0034 0x037C 0x0000 0x7 0x0 ··· 95 92 #define MX6SX_PAD_GPIO1_IO09__WDOG2_WDOG_B 0x0038 0x0380 0x0000 0x1 0x0 96 93 #define MX6SX_PAD_GPIO1_IO09__SDMA_EXT_EVENT_1 0x0038 0x0380 0x0820 0x2 0x0 97 94 #define MX6SX_PAD_GPIO1_IO09__CCM_OUT0 0x0038 0x0380 0x0000 0x3 0x0 98 - #define MX6SX_PAD_GPIO1_IO09__UART2_CTS_B 0x0038 0x0380 0x0000 0x4 0x0 95 + #define MX6SX_PAD_GPIO1_IO09__UART2_DCE_CTS 0x0038 0x0380 0x0000 0x4 0x0 96 + #define MX6SX_PAD_GPIO1_IO09__UART2_DTE_RTS 0x0038 0x0380 0x0834 0x4 0x1 99 97 #define MX6SX_PAD_GPIO1_IO09__GPIO1_IO_9 0x0038 0x0380 0x0000 0x5 0x0 100 98 #define MX6SX_PAD_GPIO1_IO09__SRC_INT_BOOT 0x0038 0x0380 0x0000 0x6 0x0 101 99 #define MX6SX_PAD_GPIO1_IO09__OBSERVE_MUX_OUT_4 0x0038 0x0380 0x0000 0x7 0x0 ··· 181 177 #define MX6SX_PAD_CSI_DATA04__ESAI_TX1 0x005C 0x03A4 0x0794 0x1 0x1 182 178 #define MX6SX_PAD_CSI_DATA04__SPDIF_OUT 0x005C 0x03A4 0x0000 0x2 0x0 183 179 #define MX6SX_PAD_CSI_DATA04__KPP_COL_6 0x005C 0x03A4 0x07CC 0x3 0x0 184 - #define MX6SX_PAD_CSI_DATA04__UART6_RX 0x005C 0x03A4 0x0858 0x4 0x0 185 - #define MX6SX_PAD_CSI_DATA04__UART6_TX 0x005C 0x03A4 0x0000 0x4 0x0 180 + #define MX6SX_PAD_CSI_DATA04__UART6_DCE_RX 0x005C 0x03A4 0x0858 0x4 0x0 181 + #define MX6SX_PAD_CSI_DATA04__UART6_DTE_TX 0x005C 0x03A4 0x0000 0x4 0x0 186 182 #define MX6SX_PAD_CSI_DATA04__GPIO1_IO_18 0x005C 0x03A4 0x0000 0x5 0x0 187 183 #define MX6SX_PAD_CSI_DATA04__WEIM_DATA_19 0x005C 0x03A4 0x0000 0x6 0x0 188 184 #define MX6SX_PAD_CSI_DATA04__PWM5_OUT 0x005C 0x03A4 0x0000 0x7 0x0 ··· 192 188 #define MX6SX_PAD_CSI_DATA05__ESAI_TX4_RX1 0x0060 0x03A8 0x07A0 0x1 0x1 193 189 #define MX6SX_PAD_CSI_DATA05__SPDIF_IN 0x0060 0x03A8 0x0824 0x2 0x1 194 190 #define MX6SX_PAD_CSI_DATA05__KPP_ROW_6 0x0060 0x03A8 0x07D8 0x3 0x0 195 - #define MX6SX_PAD_CSI_DATA05__UART6_RX 0x0060 0x03A8 0x0858 0x4 0x1 196 - #define MX6SX_PAD_CSI_DATA05__UART6_TX 0x0060 0x03A8 0x0000 0x4 0x0 191 + #define MX6SX_PAD_CSI_DATA05__UART6_DCE_TX 0x0060 0x03A8 0x0000 0x4 0x0 192 + #define MX6SX_PAD_CSI_DATA05__UART6_DTE_RX 0x0060 0x03A8 0x0858 0x4 0x1 197 193 #define MX6SX_PAD_CSI_DATA05__GPIO1_IO_19 0x0060 0x03A8 0x0000 0x5 0x0 198 194 #define MX6SX_PAD_CSI_DATA05__WEIM_DATA_18 0x0060 0x03A8 0x0000 0x6 0x0 199 195 #define MX6SX_PAD_CSI_DATA05__PWM6_OUT 0x0060 0x03A8 0x0000 0x7 0x0 ··· 203 199 #define MX6SX_PAD_CSI_DATA06__ESAI_TX2_RX3 0x0064 0x03AC 0x0798 0x1 0x1 204 200 #define MX6SX_PAD_CSI_DATA06__I2C4_SCL 0x0064 0x03AC 0x07C0 0x2 0x2 205 201 #define MX6SX_PAD_CSI_DATA06__KPP_COL_7 0x0064 0x03AC 0x07D0 0x3 0x0 206 - #define MX6SX_PAD_CSI_DATA06__UART6_RTS_B 0x0064 0x03AC 0x0854 0x4 0x0 202 + #define MX6SX_PAD_CSI_DATA06__UART6_DCE_RTS 0x0064 0x03AC 0x0854 0x4 0x0 203 + #define MX6SX_PAD_CSI_DATA06__UART6_DTE_CTS 0x0064 0x03AC 0x0000 0x4 0x0 207 204 #define MX6SX_PAD_CSI_DATA06__GPIO1_IO_20 0x0064 0x03AC 0x0000 0x5 0x0 208 205 #define MX6SX_PAD_CSI_DATA06__WEIM_DATA_17 0x0064 0x03AC 0x0000 0x6 0x0 209 206 #define MX6SX_PAD_CSI_DATA06__DCIC2_OUT 0x0064 0x03AC 0x0000 0x7 0x0 ··· 214 209 #define MX6SX_PAD_CSI_DATA07__ESAI_TX3_RX2 0x0068 0x03B0 0x079C 0x1 0x1 215 210 #define MX6SX_PAD_CSI_DATA07__I2C4_SDA 0x0068 0x03B0 0x07C4 0x2 0x2 216 211 #define MX6SX_PAD_CSI_DATA07__KPP_ROW_7 0x0068 0x03B0 0x07DC 0x3 0x0 217 - #define MX6SX_PAD_CSI_DATA07__UART6_CTS_B 0x0068 0x03B0 0x0000 0x4 0x0 212 + #define MX6SX_PAD_CSI_DATA07__UART6_DCE_CTS 0x0068 0x03B0 0x0000 0x4 0x0 213 + #define MX6SX_PAD_CSI_DATA07__UART6_DTE_RTS 0x0068 0x03B0 0x0854 0x4 0x1 218 214 #define MX6SX_PAD_CSI_DATA07__GPIO1_IO_21 0x0068 0x03B0 0x0000 0x5 0x0 219 215 #define MX6SX_PAD_CSI_DATA07__WEIM_DATA_16 0x0068 0x03B0 0x0000 0x6 0x0 220 216 #define MX6SX_PAD_CSI_DATA07__DCIC1_OUT 0x0068 0x03B0 0x0000 0x7 0x0 ··· 224 218 #define MX6SX_PAD_CSI_HSYNC__CSI1_HSYNC 0x006C 0x03B4 0x0700 0x0 0x0 225 219 #define MX6SX_PAD_CSI_HSYNC__ESAI_TX0 0x006C 0x03B4 0x0790 0x1 0x1 226 220 #define MX6SX_PAD_CSI_HSYNC__AUDMUX_AUD6_TXD 0x006C 0x03B4 0x0678 0x2 0x1 227 - #define MX6SX_PAD_CSI_HSYNC__UART4_RTS_B 0x006C 0x03B4 0x0844 0x3 0x2 221 + #define MX6SX_PAD_CSI_HSYNC__UART4_DCE_RTS 0x006C 0x03B4 0x0844 0x3 0x2 222 + #define MX6SX_PAD_CSI_HSYNC__UART4_DTE_CTS 0x006C 0x03B4 0x0000 0x3 0x0 228 223 #define MX6SX_PAD_CSI_HSYNC__MQS_LEFT 0x006C 0x03B4 0x0000 0x4 0x0 229 224 #define MX6SX_PAD_CSI_HSYNC__GPIO1_IO_22 0x006C 0x03B4 0x0000 0x5 0x0 230 225 #define MX6SX_PAD_CSI_HSYNC__WEIM_DATA_25 0x006C 0x03B4 0x0000 0x6 0x0 ··· 235 228 #define MX6SX_PAD_CSI_MCLK__CSI1_MCLK 0x0070 0x03B8 0x0000 0x0 0x0 236 229 #define MX6SX_PAD_CSI_MCLK__ESAI_TX_HF_CLK 0x0070 0x03B8 0x0784 0x1 0x1 237 230 #define MX6SX_PAD_CSI_MCLK__OSC32K_32K_OUT 0x0070 0x03B8 0x0000 0x2 0x0 238 - #define MX6SX_PAD_CSI_MCLK__UART4_RX 0x0070 0x03B8 0x0848 0x3 0x2 239 - #define MX6SX_PAD_CSI_MCLK__UART4_TX 0x0070 0x03B8 0x0000 0x3 0x0 231 + #define MX6SX_PAD_CSI_MCLK__UART4_DCE_RX 0x0070 0x03B8 0x0848 0x3 0x2 232 + #define MX6SX_PAD_CSI_MCLK__UART4_DTE_TX 0x0070 0x03B8 0x0000 0x3 0x0 240 233 #define MX6SX_PAD_CSI_MCLK__ANATOP_32K_OUT 0x0070 0x03B8 0x0000 0x4 0x0 241 234 #define MX6SX_PAD_CSI_MCLK__GPIO1_IO_23 0x0070 0x03B8 0x0000 0x5 0x0 242 235 #define MX6SX_PAD_CSI_MCLK__WEIM_DATA_26 0x0070 0x03B8 0x0000 0x6 0x0 ··· 246 239 #define MX6SX_PAD_CSI_PIXCLK__CSI1_PIXCLK 0x0074 0x03BC 0x0704 0x0 0x0 247 240 #define MX6SX_PAD_CSI_PIXCLK__ESAI_RX_HF_CLK 0x0074 0x03BC 0x0780 0x1 0x1 248 241 #define MX6SX_PAD_CSI_PIXCLK__AUDMUX_MCLK 0x0074 0x03BC 0x0000 0x2 0x0 249 - #define MX6SX_PAD_CSI_PIXCLK__UART4_RX 0x0074 0x03BC 0x0848 0x3 0x3 250 - #define MX6SX_PAD_CSI_PIXCLK__UART4_TX 0x0074 0x03BC 0x0000 0x3 0x0 242 + #define MX6SX_PAD_CSI_PIXCLK__UART4_DCE_TX 0x0074 0x03BC 0x0000 0x3 0x0 243 + #define MX6SX_PAD_CSI_PIXCLK__UART4_DTE_RX 0x0074 0x03BC 0x0848 0x3 0x3 251 244 #define MX6SX_PAD_CSI_PIXCLK__ANATOP_24M_OUT 0x0074 0x03BC 0x0000 0x4 0x0 252 245 #define MX6SX_PAD_CSI_PIXCLK__GPIO1_IO_24 0x0074 0x03BC 0x0000 0x5 0x0 253 246 #define MX6SX_PAD_CSI_PIXCLK__WEIM_DATA_27 0x0074 0x03BC 0x0000 0x6 0x0 ··· 257 250 #define MX6SX_PAD_CSI_VSYNC__CSI1_VSYNC 0x0078 0x03C0 0x0708 0x0 0x0 258 251 #define MX6SX_PAD_CSI_VSYNC__ESAI_TX5_RX0 0x0078 0x03C0 0x07A4 0x1 0x1 259 252 #define MX6SX_PAD_CSI_VSYNC__AUDMUX_AUD6_RXD 0x0078 0x03C0 0x0674 0x2 0x1 260 - #define MX6SX_PAD_CSI_VSYNC__UART4_CTS_B 0x0078 0x03C0 0x0000 0x3 0x0 253 + #define MX6SX_PAD_CSI_VSYNC__UART4_DCE_CTS 0x0078 0x03C0 0x0000 0x3 0x0 254 + #define MX6SX_PAD_CSI_VSYNC__UART4_DTE_RTS 0x0078 0x03C0 0x0844 0x3 0x3 261 255 #define MX6SX_PAD_CSI_VSYNC__MQS_RIGHT 0x0078 0x03C0 0x0000 0x4 0x0 262 256 #define MX6SX_PAD_CSI_VSYNC__GPIO1_IO_25 0x0078 0x03C0 0x0000 0x5 0x0 263 257 #define MX6SX_PAD_CSI_VSYNC__WEIM_DATA_24 0x0078 0x03C0 0x0000 0x6 0x0 ··· 338 330 #define MX6SX_PAD_ENET2_COL__ENET2_COL 0x0094 0x03DC 0x0000 0x0 0x0 339 331 #define MX6SX_PAD_ENET2_COL__ENET1_MDC 0x0094 0x03DC 0x0000 0x1 0x0 340 332 #define MX6SX_PAD_ENET2_COL__AUDMUX_AUD4_RXC 0x0094 0x03DC 0x064C 0x2 0x1 341 - #define MX6SX_PAD_ENET2_COL__UART1_RX 0x0094 0x03DC 0x0830 0x3 0x2 342 - #define MX6SX_PAD_ENET2_COL__UART1_TX 0x0094 0x03DC 0x0000 0x3 0x0 333 + #define MX6SX_PAD_ENET2_COL__UART1_DCE_RX 0x0094 0x03DC 0x0830 0x3 0x2 334 + #define MX6SX_PAD_ENET2_COL__UART1_DTE_TX 0x0094 0x03DC 0x0000 0x3 0x0 343 335 #define MX6SX_PAD_ENET2_COL__SPDIF_IN 0x0094 0x03DC 0x0824 0x4 0x3 344 336 #define MX6SX_PAD_ENET2_COL__GPIO2_IO_6 0x0094 0x03DC 0x0000 0x5 0x0 345 337 #define MX6SX_PAD_ENET2_COL__ANATOP_OTG1_ID 0x0094 0x03DC 0x0624 0x6 0x1 ··· 349 341 #define MX6SX_PAD_ENET2_CRS__ENET2_CRS 0x0098 0x03E0 0x0000 0x0 0x0 350 342 #define MX6SX_PAD_ENET2_CRS__ENET1_MDIO 0x0098 0x03E0 0x0764 0x1 0x2 351 343 #define MX6SX_PAD_ENET2_CRS__AUDMUX_AUD4_RXFS 0x0098 0x03E0 0x0650 0x2 0x1 352 - #define MX6SX_PAD_ENET2_CRS__UART1_RX 0x0098 0x03E0 0x0830 0x3 0x3 353 - #define MX6SX_PAD_ENET2_CRS__UART1_TX 0x0098 0x03E0 0x0000 0x3 0x0 344 + #define MX6SX_PAD_ENET2_CRS__UART1_DCE_TX 0x0098 0x03E0 0x0000 0x3 0x0 345 + #define MX6SX_PAD_ENET2_CRS__UART1_DTE_RX 0x0098 0x03E0 0x0830 0x3 0x3 354 346 #define MX6SX_PAD_ENET2_CRS__MLB_SIG 0x0098 0x03E0 0x07F0 0x4 0x1 355 347 #define MX6SX_PAD_ENET2_CRS__GPIO2_IO_7 0x0098 0x03E0 0x0000 0x5 0x0 356 348 #define MX6SX_PAD_ENET2_CRS__ANATOP_OTG2_ID 0x0098 0x03E0 0x0628 0x6 0x1 ··· 360 352 #define MX6SX_PAD_ENET2_RX_CLK__ENET2_RX_CLK 0x009C 0x03E4 0x0774 0x0 0x0 361 353 #define MX6SX_PAD_ENET2_RX_CLK__ENET2_REF_CLK_25M 0x009C 0x03E4 0x0000 0x1 0x0 362 354 #define MX6SX_PAD_ENET2_RX_CLK__I2C3_SCL 0x009C 0x03E4 0x07B8 0x2 0x1 363 - #define MX6SX_PAD_ENET2_RX_CLK__UART1_RTS_B 0x009C 0x03E4 0x082C 0x3 0x2 355 + #define MX6SX_PAD_ENET2_RX_CLK__UART1_DCE_RTS 0x009C 0x03E4 0x082C 0x3 0x2 356 + #define MX6SX_PAD_ENET2_RX_CLK__UART1_DTE_CTS 0x009C 0x03E4 0x0000 0x3 0x0 364 357 #define MX6SX_PAD_ENET2_RX_CLK__MLB_DATA 0x009C 0x03E4 0x07EC 0x4 0x1 365 358 #define MX6SX_PAD_ENET2_RX_CLK__GPIO2_IO_8 0x009C 0x03E4 0x0000 0x5 0x0 366 359 #define MX6SX_PAD_ENET2_RX_CLK__USB_OTG2_OC 0x009C 0x03E4 0x085C 0x6 0x1 ··· 371 362 #define MX6SX_PAD_ENET2_TX_CLK__ENET2_TX_CLK 0x00A0 0x03E8 0x0000 0x0 0x0 372 363 #define MX6SX_PAD_ENET2_TX_CLK__ENET2_REF_CLK2 0x00A0 0x03E8 0x076C 0x1 0x1 373 364 #define MX6SX_PAD_ENET2_TX_CLK__I2C3_SDA 0x00A0 0x03E8 0x07BC 0x2 0x1 374 - #define MX6SX_PAD_ENET2_TX_CLK__UART1_CTS_B 0x00A0 0x03E8 0x0000 0x3 0x0 365 + #define MX6SX_PAD_ENET2_TX_CLK__UART1_DCE_CTS 0x00A0 0x03E8 0x0000 0x3 0x0 366 + #define MX6SX_PAD_ENET2_TX_CLK__UART1_DTE_RTS 0x00A0 0x03E8 0x082C 0x3 0x3 375 367 #define MX6SX_PAD_ENET2_TX_CLK__MLB_CLK 0x00A0 0x03E8 0x07E8 0x4 0x1 376 368 #define MX6SX_PAD_ENET2_TX_CLK__GPIO2_IO_9 0x00A0 0x03E8 0x0000 0x5 0x0 377 369 #define MX6SX_PAD_ENET2_TX_CLK__USB_OTG2_PWR 0x00A0 0x03E8 0x0000 0x6 0x0 ··· 381 371 #define MX6SX_PAD_ENET2_TX_CLK__PCIE_CTRL_DEBUG_24 0x00A0 0x03E8 0x0000 0x9 0x0 382 372 #define MX6SX_PAD_KEY_COL0__KPP_COL_0 0x00A4 0x03EC 0x0000 0x0 0x0 383 373 #define MX6SX_PAD_KEY_COL0__USDHC3_CD_B 0x00A4 0x03EC 0x0000 0x1 0x0 384 - #define MX6SX_PAD_KEY_COL0__UART6_RTS_B 0x00A4 0x03EC 0x0854 0x2 0x2 374 + #define MX6SX_PAD_KEY_COL0__UART6_DCE_RTS 0x00A4 0x03EC 0x0854 0x2 0x2 375 + #define MX6SX_PAD_KEY_COL0__UART6_DTE_CTS 0x00A4 0x03EC 0x0000 0x2 0x0 385 376 #define MX6SX_PAD_KEY_COL0__ECSPI1_SCLK 0x00A4 0x03EC 0x0710 0x3 0x0 386 377 #define MX6SX_PAD_KEY_COL0__AUDMUX_AUD5_TXC 0x00A4 0x03EC 0x066C 0x4 0x0 387 378 #define MX6SX_PAD_KEY_COL0__GPIO2_IO_10 0x00A4 0x03EC 0x0000 0x5 0x0 ··· 391 380 #define MX6SX_PAD_KEY_COL0__VADC_DATA_0 0x00A4 0x03EC 0x0000 0x8 0x0 392 381 #define MX6SX_PAD_KEY_COL1__KPP_COL_1 0x00A8 0x03F0 0x0000 0x0 0x0 393 382 #define MX6SX_PAD_KEY_COL1__USDHC3_RESET_B 0x00A8 0x03F0 0x0000 0x1 0x0 394 - #define MX6SX_PAD_KEY_COL1__UART6_RX 0x00A8 0x03F0 0x0858 0x2 0x2 395 - #define MX6SX_PAD_KEY_COL1__UART6_TX 0x00A8 0x03F0 0x0000 0x2 0x0 383 + #define MX6SX_PAD_KEY_COL1__UART6_DCE_TX 0x00A8 0x03F0 0x0000 0x2 0x0 384 + #define MX6SX_PAD_KEY_COL1__UART6_DTE_RX 0x00A8 0x03F0 0x0858 0x2 0x2 396 385 #define MX6SX_PAD_KEY_COL1__ECSPI1_MISO 0x00A8 0x03F0 0x0714 0x3 0x0 397 386 #define MX6SX_PAD_KEY_COL1__AUDMUX_AUD5_TXFS 0x00A8 0x03F0 0x0670 0x4 0x0 398 387 #define MX6SX_PAD_KEY_COL1__GPIO2_IO_11 0x00A8 0x03F0 0x0000 0x5 0x0 ··· 400 389 #define MX6SX_PAD_KEY_COL1__SAI2_TX_SYNC 0x00A8 0x03F0 0x0818 0x7 0x0 401 390 #define MX6SX_PAD_KEY_COL2__KPP_COL_2 0x00AC 0x03F4 0x0000 0x0 0x0 402 391 #define MX6SX_PAD_KEY_COL2__USDHC4_CD_B 0x00AC 0x03F4 0x0874 0x1 0x1 403 - #define MX6SX_PAD_KEY_COL2__UART5_RTS_B 0x00AC 0x03F4 0x084C 0x2 0x2 392 + #define MX6SX_PAD_KEY_COL2__UART5_DCE_RTS 0x00AC 0x03F4 0x084C 0x2 0x2 393 + #define MX6SX_PAD_KEY_COL2__UART5_DTE_CTS 0x00AC 0x03F4 0x0000 0x2 0x0 404 394 #define MX6SX_PAD_KEY_COL2__CAN1_TX 0x00AC 0x03F4 0x0000 0x3 0x0 405 395 #define MX6SX_PAD_KEY_COL2__CANFD_TX1 0x00AC 0x03F4 0x0000 0x4 0x0 406 396 #define MX6SX_PAD_KEY_COL2__GPIO2_IO_12 0x00AC 0x03F4 0x0000 0x5 0x0 ··· 409 397 #define MX6SX_PAD_KEY_COL2__ECSPI1_RDY 0x00AC 0x03F4 0x0000 0x7 0x0 410 398 #define MX6SX_PAD_KEY_COL3__KPP_COL_3 0x00B0 0x03F8 0x0000 0x0 0x0 411 399 #define MX6SX_PAD_KEY_COL3__USDHC4_LCTL 0x00B0 0x03F8 0x0000 0x1 0x0 412 - #define MX6SX_PAD_KEY_COL3__UART5_RX 0x00B0 0x03F8 0x0850 0x2 0x2 413 - #define MX6SX_PAD_KEY_COL3__UART5_TX 0x00B0 0x03F8 0x0000 0x2 0x0 400 + #define MX6SX_PAD_KEY_COL3__UART5_DCE_TX 0x00B0 0x03F8 0x0000 0x2 0x0 401 + #define MX6SX_PAD_KEY_COL3__UART5_DTE_RX 0x00B0 0x03F8 0x0850 0x2 0x2 414 402 #define MX6SX_PAD_KEY_COL3__CAN2_TX 0x00B0 0x03F8 0x0000 0x3 0x0 415 403 #define MX6SX_PAD_KEY_COL3__CANFD_TX2 0x00B0 0x03F8 0x0000 0x4 0x0 416 404 #define MX6SX_PAD_KEY_COL3__GPIO2_IO_13 0x00B0 0x03F8 0x0000 0x5 0x0 ··· 426 414 #define MX6SX_PAD_KEY_COL4__SAI2_RX_BCLK 0x00B4 0x03FC 0x0808 0x7 0x0 427 415 #define MX6SX_PAD_KEY_ROW0__KPP_ROW_0 0x00B8 0x0400 0x0000 0x0 0x0 428 416 #define MX6SX_PAD_KEY_ROW0__USDHC3_WP 0x00B8 0x0400 0x0000 0x1 0x0 429 - #define MX6SX_PAD_KEY_ROW0__UART6_CTS_B 0x00B8 0x0400 0x0000 0x2 0x0 417 + #define MX6SX_PAD_KEY_ROW0__UART6_DCE_CTS 0x00B8 0x0400 0x0000 0x2 0x0 418 + #define MX6SX_PAD_KEY_ROW0__UART6_DTE_RTS 0x00B8 0x0400 0x0854 0x2 0x3 430 419 #define MX6SX_PAD_KEY_ROW0__ECSPI1_MOSI 0x00B8 0x0400 0x0718 0x3 0x0 431 420 #define MX6SX_PAD_KEY_ROW0__AUDMUX_AUD5_TXD 0x00B8 0x0400 0x0660 0x4 0x0 432 421 #define MX6SX_PAD_KEY_ROW0__GPIO2_IO_15 0x00B8 0x0400 0x0000 0x5 0x0 ··· 436 423 #define MX6SX_PAD_KEY_ROW0__GPU_IDLE 0x00B8 0x0400 0x0000 0x8 0x0 437 424 #define MX6SX_PAD_KEY_ROW1__KPP_ROW_1 0x00BC 0x0404 0x0000 0x0 0x0 438 425 #define MX6SX_PAD_KEY_ROW1__USDHC4_VSELECT 0x00BC 0x0404 0x0000 0x1 0x0 439 - #define MX6SX_PAD_KEY_ROW1__UART6_RX 0x00BC 0x0404 0x0858 0x2 0x3 440 - #define MX6SX_PAD_KEY_ROW1__UART6_TX 0x00BC 0x0404 0x0000 0x2 0x0 426 + #define MX6SX_PAD_KEY_ROW1__UART6_DCE_RX 0x00BC 0x0404 0x0858 0x2 0x3 427 + #define MX6SX_PAD_KEY_ROW1__UART6_DTE_TX 0x00BC 0x0404 0x0000 0x2 0x0 441 428 #define MX6SX_PAD_KEY_ROW1__ECSPI1_SS0 0x00BC 0x0404 0x071C 0x3 0x0 442 429 #define MX6SX_PAD_KEY_ROW1__AUDMUX_AUD5_RXD 0x00BC 0x0404 0x065C 0x4 0x0 443 430 #define MX6SX_PAD_KEY_ROW1__GPIO2_IO_16 0x00BC 0x0404 0x0000 0x5 0x0 ··· 446 433 #define MX6SX_PAD_KEY_ROW1__M4_NMI 0x00BC 0x0404 0x0000 0x8 0x0 447 434 #define MX6SX_PAD_KEY_ROW2__KPP_ROW_2 0x00C0 0x0408 0x0000 0x0 0x0 448 435 #define MX6SX_PAD_KEY_ROW2__USDHC4_WP 0x00C0 0x0408 0x0878 0x1 0x1 449 - #define MX6SX_PAD_KEY_ROW2__UART5_CTS_B 0x00C0 0x0408 0x0000 0x2 0x0 436 + #define MX6SX_PAD_KEY_ROW2__UART5_DCE_CTS 0x00C0 0x0408 0x0000 0x2 0x0 437 + #define MX6SX_PAD_KEY_ROW2__UART5_DTE_RTS 0x00C0 0x0408 0x084C 0x2 0x3 450 438 #define MX6SX_PAD_KEY_ROW2__CAN1_RX 0x00C0 0x0408 0x068C 0x3 0x1 451 439 #define MX6SX_PAD_KEY_ROW2__CANFD_RX1 0x00C0 0x0408 0x0694 0x4 0x1 452 440 #define MX6SX_PAD_KEY_ROW2__GPIO2_IO_17 0x00C0 0x0408 0x0000 0x5 0x0 ··· 455 441 #define MX6SX_PAD_KEY_ROW2__ECSPI1_SS3 0x00C0 0x0408 0x0000 0x7 0x0 456 442 #define MX6SX_PAD_KEY_ROW3__KPP_ROW_3 0x00C4 0x040C 0x0000 0x0 0x0 457 443 #define MX6SX_PAD_KEY_ROW3__USDHC3_LCTL 0x00C4 0x040C 0x0000 0x1 0x0 458 - #define MX6SX_PAD_KEY_ROW3__UART5_RX 0x00C4 0x040C 0x0850 0x2 0x3 459 - #define MX6SX_PAD_KEY_ROW3__UART5_TX 0x00C4 0x040C 0x0000 0x2 0x0 444 + #define MX6SX_PAD_KEY_ROW3__UART5_DCE_RX 0x00C4 0x040C 0x0850 0x2 0x3 445 + #define MX6SX_PAD_KEY_ROW3__UART5_DTE_TX 0x00C4 0x040C 0x0000 0x2 0x0 460 446 #define MX6SX_PAD_KEY_ROW3__CAN2_RX 0x00C4 0x040C 0x0690 0x3 0x1 461 447 #define MX6SX_PAD_KEY_ROW3__CANFD_RX2 0x00C4 0x040C 0x0698 0x4 0x1 462 448 #define MX6SX_PAD_KEY_ROW3__GPIO2_IO_18 0x00C4 0x040C 0x0000 0x5 0x0 ··· 829 815 #define MX6SX_PAD_NAND_DATA04__RAWNAND_DATA04 0x0160 0x04A8 0x0000 0x0 0x0 830 816 #define MX6SX_PAD_NAND_DATA04__USDHC2_DATA4 0x0160 0x04A8 0x0000 0x1 0x0 831 817 #define MX6SX_PAD_NAND_DATA04__QSPI2_B_SS1_B 0x0160 0x04A8 0x0000 0x2 0x0 832 - #define MX6SX_PAD_NAND_DATA04__UART3_RTS_B 0x0160 0x04A8 0x083C 0x3 0x0 818 + #define MX6SX_PAD_NAND_DATA04__UART3_DCE_RTS 0x0160 0x04A8 0x083C 0x3 0x0 819 + #define MX6SX_PAD_NAND_DATA04__UART3_DTE_CTS 0x0160 0x04A8 0x0000 0x3 0x0 833 820 #define MX6SX_PAD_NAND_DATA04__AUDMUX_AUD4_RXFS 0x0160 0x04A8 0x0650 0x4 0x0 834 821 #define MX6SX_PAD_NAND_DATA04__GPIO4_IO_8 0x0160 0x04A8 0x0000 0x5 0x0 835 822 #define MX6SX_PAD_NAND_DATA04__WEIM_AD_4 0x0160 0x04A8 0x0000 0x6 0x0 ··· 840 825 #define MX6SX_PAD_NAND_DATA05__RAWNAND_DATA05 0x0164 0x04AC 0x0000 0x0 0x0 841 826 #define MX6SX_PAD_NAND_DATA05__USDHC2_DATA5 0x0164 0x04AC 0x0000 0x1 0x0 842 827 #define MX6SX_PAD_NAND_DATA05__QSPI2_B_DQS 0x0164 0x04AC 0x0000 0x2 0x0 843 - #define MX6SX_PAD_NAND_DATA05__UART3_CTS_B 0x0164 0x04AC 0x0000 0x3 0x0 828 + #define MX6SX_PAD_NAND_DATA05__UART3_DCE_CTS 0x0164 0x04AC 0x0000 0x3 0x0 829 + #define MX6SX_PAD_NAND_DATA05__UART3_DTE_RTS 0x0164 0x04AC 0x083C 0x3 0x1 844 830 #define MX6SX_PAD_NAND_DATA05__AUDMUX_AUD4_RXC 0x0164 0x04AC 0x064C 0x4 0x0 845 831 #define MX6SX_PAD_NAND_DATA05__GPIO4_IO_9 0x0164 0x04AC 0x0000 0x5 0x0 846 832 #define MX6SX_PAD_NAND_DATA05__WEIM_AD_5 0x0164 0x04AC 0x0000 0x6 0x0 ··· 851 835 #define MX6SX_PAD_NAND_DATA06__RAWNAND_DATA06 0x0168 0x04B0 0x0000 0x0 0x0 852 836 #define MX6SX_PAD_NAND_DATA06__USDHC2_DATA6 0x0168 0x04B0 0x0000 0x1 0x0 853 837 #define MX6SX_PAD_NAND_DATA06__QSPI2_A_SS1_B 0x0168 0x04B0 0x0000 0x2 0x0 854 - #define MX6SX_PAD_NAND_DATA06__UART3_RX 0x0168 0x04B0 0x0840 0x3 0x0 855 - #define MX6SX_PAD_NAND_DATA06__UART3_TX 0x0168 0x04B0 0x0000 0x3 0x0 838 + #define MX6SX_PAD_NAND_DATA06__UART3_DCE_RX 0x0168 0x04B0 0x0840 0x3 0x0 839 + #define MX6SX_PAD_NAND_DATA06__UART3_DTE_TX 0x0168 0x04B0 0x0000 0x3 0x0 856 840 #define MX6SX_PAD_NAND_DATA06__PWM3_OUT 0x0168 0x04B0 0x0000 0x4 0x0 857 841 #define MX6SX_PAD_NAND_DATA06__GPIO4_IO_10 0x0168 0x04B0 0x0000 0x5 0x0 858 842 #define MX6SX_PAD_NAND_DATA06__WEIM_AD_6 0x0168 0x04B0 0x0000 0x6 0x0 ··· 862 846 #define MX6SX_PAD_NAND_DATA07__RAWNAND_DATA07 0x016C 0x04B4 0x0000 0x0 0x0 863 847 #define MX6SX_PAD_NAND_DATA07__USDHC2_DATA7 0x016C 0x04B4 0x0000 0x1 0x0 864 848 #define MX6SX_PAD_NAND_DATA07__QSPI2_A_DQS 0x016C 0x04B4 0x0000 0x2 0x0 865 - #define MX6SX_PAD_NAND_DATA07__UART3_RX 0x016C 0x04B4 0x0840 0x3 0x1 866 - #define MX6SX_PAD_NAND_DATA07__UART3_TX 0x016C 0x04B4 0x0000 0x3 0x0 849 + #define MX6SX_PAD_NAND_DATA07__UART3_DCE_TX 0x016C 0x04B4 0x0000 0x3 0x0 850 + #define MX6SX_PAD_NAND_DATA07__UART3_DTE_RX 0x016C 0x04B4 0x0840 0x3 0x1 867 851 #define MX6SX_PAD_NAND_DATA07__PWM4_OUT 0x016C 0x04B4 0x0000 0x4 0x0 868 852 #define MX6SX_PAD_NAND_DATA07__GPIO4_IO_11 0x016C 0x04B4 0x0000 0x5 0x0 869 853 #define MX6SX_PAD_NAND_DATA07__WEIM_AD_7 0x016C 0x04B4 0x0000 0x6 0x0 ··· 983 967 #define MX6SX_PAD_QSPI1A_SS1_B__SIM_M_HADDR_12 0x019C 0x04E4 0x0000 0x7 0x0 984 968 #define MX6SX_PAD_QSPI1A_SS1_B__SDMA_DEBUG_PC_3 0x019C 0x04E4 0x0000 0x9 0x0 985 969 #define MX6SX_PAD_QSPI1B_DATA0__QSPI1_B_DATA_0 0x01A0 0x04E8 0x0000 0x0 0x0 986 - #define MX6SX_PAD_QSPI1B_DATA0__UART3_CTS_B 0x01A0 0x04E8 0x0000 0x1 0x0 970 + #define MX6SX_PAD_QSPI1B_DATA0__UART3_DCE_CTS 0x01A0 0x04E8 0x0000 0x1 0x0 971 + #define MX6SX_PAD_QSPI1B_DATA0__UART3_DTE_RTS 0x01A0 0x04E8 0x083C 0x1 0x4 987 972 #define MX6SX_PAD_QSPI1B_DATA0__ECSPI3_MOSI 0x01A0 0x04E8 0x0738 0x2 0x1 988 973 #define MX6SX_PAD_QSPI1B_DATA0__ESAI_RX_FS 0x01A0 0x04E8 0x0778 0x3 0x2 989 974 #define MX6SX_PAD_QSPI1B_DATA0__CSI1_DATA_22 0x01A0 0x04E8 0x06F4 0x4 0x1 ··· 992 975 #define MX6SX_PAD_QSPI1B_DATA0__WEIM_DATA_14 0x01A0 0x04E8 0x0000 0x6 0x0 993 976 #define MX6SX_PAD_QSPI1B_DATA0__SIM_M_HADDR_9 0x01A0 0x04E8 0x0000 0x7 0x0 994 977 #define MX6SX_PAD_QSPI1B_DATA1__QSPI1_B_DATA_1 0x01A4 0x04EC 0x0000 0x0 0x0 995 - #define MX6SX_PAD_QSPI1B_DATA1__UART3_RTS_B 0x01A4 0x04EC 0x083C 0x1 0x5 978 + #define MX6SX_PAD_QSPI1B_DATA1__UART3_DCE_RTS 0x01A4 0x04EC 0x083C 0x1 0x5 979 + #define MX6SX_PAD_QSPI1B_DATA1__UART3_DTE_CTS 0x01A4 0x04EC 0x0000 0x1 0x0 996 980 #define MX6SX_PAD_QSPI1B_DATA1__ECSPI3_MISO 0x01A4 0x04EC 0x0734 0x2 0x1 997 981 #define MX6SX_PAD_QSPI1B_DATA1__ESAI_RX_CLK 0x01A4 0x04EC 0x0788 0x3 0x2 998 982 #define MX6SX_PAD_QSPI1B_DATA1__CSI1_DATA_21 0x01A4 0x04EC 0x06F0 0x4 0x1 ··· 1025 1007 #define MX6SX_PAD_QSPI1B_DQS__WEIM_DATA_15 0x01B0 0x04F8 0x0000 0x6 0x0 1026 1008 #define MX6SX_PAD_QSPI1B_DQS__SIM_M_HADDR_15 0x01B0 0x04F8 0x0000 0x7 0x0 1027 1009 #define MX6SX_PAD_QSPI1B_SCLK__QSPI1_B_SCLK 0x01B4 0x04FC 0x0000 0x0 0x0 1028 - #define MX6SX_PAD_QSPI1B_SCLK__UART3_RX 0x01B4 0x04FC 0x0840 0x1 0x4 1029 - #define MX6SX_PAD_QSPI1B_SCLK__UART3_TX 0x01B4 0x04FC 0x0000 0x0 0x0 1010 + #define MX6SX_PAD_QSPI1B_SCLK__UART3_DCE_RX 0x01B4 0x04FC 0x0840 0x1 0x4 1011 + #define MX6SX_PAD_QSPI1B_SCLK__UART3_DTE_TX 0x01B4 0x04FC 0x0000 0x0 0x0 1030 1012 #define MX6SX_PAD_QSPI1B_SCLK__ECSPI3_SCLK 0x01B4 0x04FC 0x0730 0x2 0x1 1031 1013 #define MX6SX_PAD_QSPI1B_SCLK__ESAI_RX_HF_CLK 0x01B4 0x04FC 0x0780 0x3 0x2 1032 1014 #define MX6SX_PAD_QSPI1B_SCLK__CSI1_DATA_16 0x01B4 0x04FC 0x06DC 0x4 0x1 ··· 1034 1016 #define MX6SX_PAD_QSPI1B_SCLK__WEIM_DATA_8 0x01B4 0x04FC 0x0000 0x6 0x0 1035 1017 #define MX6SX_PAD_QSPI1B_SCLK__SIM_M_HADDR_11 0x01B4 0x04FC 0x0000 0x7 0x0 1036 1018 #define MX6SX_PAD_QSPI1B_SS0_B__QSPI1_B_SS0_B 0x01B8 0x0500 0x0000 0x0 0x0 1037 - #define MX6SX_PAD_QSPI1B_SS0_B__UART3_RX 0x01B8 0x0500 0x0840 0x1 0x5 1038 - #define MX6SX_PAD_QSPI1B_SS0_B__UART3_TX 0x01B8 0x0500 0x0000 0x1 0x0 1019 + #define MX6SX_PAD_QSPI1B_SS0_B__UART3_DCE_TX 0x01B8 0x0500 0x0000 0x1 0x0 1020 + #define MX6SX_PAD_QSPI1B_SS0_B__UART3_DTE_RX 0x01B8 0x0500 0x0840 0x1 0x5 1039 1021 #define MX6SX_PAD_QSPI1B_SS0_B__ECSPI3_SS0 0x01B8 0x0500 0x073C 0x2 0x1 1040 1022 #define MX6SX_PAD_QSPI1B_SS0_B__ESAI_TX_HF_CLK 0x01B8 0x0500 0x0784 0x3 0x3 1041 1023 #define MX6SX_PAD_QSPI1B_SS0_B__CSI1_DATA_17 0x01B8 0x0500 0x06E0 0x4 0x1 ··· 1242 1224 #define MX6SX_PAD_SD1_DATA0__AUDMUX_AUD5_RXD 0x0228 0x0570 0x065C 0x1 0x1 1243 1225 #define MX6SX_PAD_SD1_DATA0__CAAM_WRAPPER_RNG_OSC_OBS 0x0228 0x0570 0x0000 0x2 0x0 1244 1226 #define MX6SX_PAD_SD1_DATA0__GPT_CAPTURE1 0x0228 0x0570 0x0000 0x3 0x0 1245 - #define MX6SX_PAD_SD1_DATA0__UART2_RX 0x0228 0x0570 0x0838 0x4 0x2 1246 - #define MX6SX_PAD_SD1_DATA0__UART2_TX 0x0228 0x0570 0x0000 0x4 0x0 1227 + #define MX6SX_PAD_SD1_DATA0__UART2_DCE_RX 0x0228 0x0570 0x0838 0x4 0x2 1228 + #define MX6SX_PAD_SD1_DATA0__UART2_DTE_TX 0x0228 0x0570 0x0000 0x4 0x0 1247 1229 #define MX6SX_PAD_SD1_DATA0__GPIO6_IO_2 0x0228 0x0570 0x0000 0x5 0x0 1248 1230 #define MX6SX_PAD_SD1_DATA0__ENET1_1588_EVENT1_IN 0x0228 0x0570 0x0000 0x6 0x0 1249 1231 #define MX6SX_PAD_SD1_DATA0__CCM_OUT2 0x0228 0x0570 0x0000 0x7 0x0 ··· 1253 1235 #define MX6SX_PAD_SD1_DATA1__AUDMUX_AUD5_TXC 0x022C 0x0574 0x066C 0x1 0x1 1254 1236 #define MX6SX_PAD_SD1_DATA1__PWM4_OUT 0x022C 0x0574 0x0000 0x2 0x0 1255 1237 #define MX6SX_PAD_SD1_DATA1__GPT_CAPTURE2 0x022C 0x0574 0x0000 0x3 0x0 1256 - #define MX6SX_PAD_SD1_DATA1__UART2_RX 0x022C 0x0574 0x0838 0x4 0x3 1257 - #define MX6SX_PAD_SD1_DATA1__UART2_TX 0x022C 0x0574 0x0000 0x4 0x0 1238 + #define MX6SX_PAD_SD1_DATA1__UART2_DCE_TX 0x022C 0x0574 0x0000 0x4 0x0 1239 + #define MX6SX_PAD_SD1_DATA1__UART2_DTE_RX 0x022C 0x0574 0x0838 0x4 0x3 1258 1240 #define MX6SX_PAD_SD1_DATA1__GPIO6_IO_3 0x022C 0x0574 0x0000 0x5 0x0 1259 1241 #define MX6SX_PAD_SD1_DATA1__ENET1_1588_EVENT1_OUT 0x022C 0x0574 0x0000 0x6 0x0 1260 1242 #define MX6SX_PAD_SD1_DATA1__CCM_CLKO2 0x022C 0x0574 0x0000 0x7 0x0 ··· 1264 1246 #define MX6SX_PAD_SD1_DATA2__AUDMUX_AUD5_TXFS 0x0230 0x0578 0x0670 0x1 0x1 1265 1247 #define MX6SX_PAD_SD1_DATA2__PWM3_OUT 0x0230 0x0578 0x0000 0x2 0x0 1266 1248 #define MX6SX_PAD_SD1_DATA2__GPT_COMPARE2 0x0230 0x0578 0x0000 0x3 0x0 1267 - #define MX6SX_PAD_SD1_DATA2__UART2_CTS_B 0x0230 0x0578 0x0000 0x4 0x0 1249 + #define MX6SX_PAD_SD1_DATA2__UART2_DCE_CTS 0x0230 0x0578 0x0000 0x4 0x0 1250 + #define MX6SX_PAD_SD1_DATA2__UART2_DTE_RTS 0x0230 0x0578 0x0834 0x4 0x2 1268 1251 #define MX6SX_PAD_SD1_DATA2__GPIO6_IO_4 0x0230 0x0578 0x0000 0x5 0x0 1269 1252 #define MX6SX_PAD_SD1_DATA2__ECSPI4_RDY 0x0230 0x0578 0x0000 0x6 0x0 1270 1253 #define MX6SX_PAD_SD1_DATA2__CCM_OUT0 0x0230 0x0578 0x0000 0x7 0x0 ··· 1274 1255 #define MX6SX_PAD_SD1_DATA3__AUDMUX_AUD5_TXD 0x0234 0x057C 0x0660 0x1 0x1 1275 1256 #define MX6SX_PAD_SD1_DATA3__AUDMUX_AUD5_RXD 0x0234 0x057C 0x065C 0x2 0x2 1276 1257 #define MX6SX_PAD_SD1_DATA3__GPT_COMPARE3 0x0234 0x057C 0x0000 0x3 0x0 1277 - #define MX6SX_PAD_SD1_DATA3__UART2_RTS_B 0x0234 0x057C 0x0834 0x4 0x3 1258 + #define MX6SX_PAD_SD1_DATA3__UART2_DCE_RTS 0x0234 0x057C 0x0834 0x4 0x3 1259 + #define MX6SX_PAD_SD1_DATA3__UART2_DTE_CTS 0x0234 0x057C 0x0000 0x4 0x0 1278 1260 #define MX6SX_PAD_SD1_DATA3__GPIO6_IO_5 0x0234 0x057C 0x0000 0x5 0x0 1279 1261 #define MX6SX_PAD_SD1_DATA3__ECSPI4_SS1 0x0234 0x057C 0x0000 0x6 0x0 1280 1262 #define MX6SX_PAD_SD1_DATA3__CCM_PMIC_RDY 0x0234 0x057C 0x069C 0x7 0x2 ··· 1307 1287 #define MX6SX_PAD_SD2_DATA0__I2C4_SDA 0x0240 0x0588 0x07C4 0x4 0x3 1308 1288 #define MX6SX_PAD_SD2_DATA0__GPIO6_IO_8 0x0240 0x0588 0x0000 0x5 0x0 1309 1289 #define MX6SX_PAD_SD2_DATA0__ECSPI4_SS3 0x0240 0x0588 0x0000 0x6 0x0 1310 - #define MX6SX_PAD_SD2_DATA0__UART4_RX 0x0240 0x0588 0x0848 0x7 0x4 1311 - #define MX6SX_PAD_SD2_DATA0__UART4_TX 0x0240 0x0588 0x0000 0x7 0x0 1290 + #define MX6SX_PAD_SD2_DATA0__UART4_DCE_RX 0x0240 0x0588 0x0848 0x7 0x4 1291 + #define MX6SX_PAD_SD2_DATA0__UART4_DTE_TX 0x0240 0x0588 0x0000 0x7 0x0 1312 1292 #define MX6SX_PAD_SD2_DATA0__VADC_CLAMP_CURRENT_0 0x0240 0x0588 0x0000 0x8 0x0 1313 1293 #define MX6SX_PAD_SD2_DATA0__MMDC_DEBUG_50 0x0240 0x0588 0x0000 0x9 0x0 1314 1294 #define MX6SX_PAD_SD2_DATA1__USDHC2_DATA1 0x0244 0x058C 0x0000 0x0 0x0 ··· 1318 1298 #define MX6SX_PAD_SD2_DATA1__I2C4_SCL 0x0244 0x058C 0x07C0 0x4 0x3 1319 1299 #define MX6SX_PAD_SD2_DATA1__GPIO6_IO_9 0x0244 0x058C 0x0000 0x5 0x0 1320 1300 #define MX6SX_PAD_SD2_DATA1__ECSPI4_SS2 0x0244 0x058C 0x0000 0x6 0x0 1321 - #define MX6SX_PAD_SD2_DATA1__UART4_RX 0x0244 0x058C 0x0848 0x7 0x5 1322 - #define MX6SX_PAD_SD2_DATA1__UART4_TX 0x0244 0x058C 0x0000 0x7 0x0 1301 + #define MX6SX_PAD_SD2_DATA1__UART4_DCE_TX 0x0244 0x058C 0x0000 0x7 0x0 1302 + #define MX6SX_PAD_SD2_DATA1__UART4_DTE_RX 0x0244 0x058C 0x0848 0x7 0x5 1323 1303 #define MX6SX_PAD_SD2_DATA1__VADC_CLAMP_CURRENT_1 0x0244 0x058C 0x0000 0x8 0x0 1324 1304 #define MX6SX_PAD_SD2_DATA1__MMDC_DEBUG_49 0x0244 0x058C 0x0000 0x9 0x0 1325 1305 #define MX6SX_PAD_SD2_DATA2__USDHC2_DATA2 0x0248 0x0590 0x0000 0x0 0x0 ··· 1329 1309 #define MX6SX_PAD_SD2_DATA2__SDMA_EXT_EVENT_0 0x0248 0x0590 0x081C 0x4 0x2 1330 1310 #define MX6SX_PAD_SD2_DATA2__GPIO6_IO_10 0x0248 0x0590 0x0000 0x5 0x0 1331 1311 #define MX6SX_PAD_SD2_DATA2__SPDIF_OUT 0x0248 0x0590 0x0000 0x6 0x0 1332 - #define MX6SX_PAD_SD2_DATA2__UART6_RX 0x0248 0x0590 0x0858 0x7 0x4 1333 - #define MX6SX_PAD_SD2_DATA2__UART6_TX 0x0248 0x0590 0x0000 0x7 0x0 1312 + #define MX6SX_PAD_SD2_DATA2__UART6_DCE_RX 0x0248 0x0590 0x0858 0x7 0x4 1313 + #define MX6SX_PAD_SD2_DATA2__UART6_DTE_TX 0x0248 0x0590 0x0000 0x7 0x0 1334 1314 #define MX6SX_PAD_SD2_DATA2__VADC_CLAMP_CURRENT_2 0x0248 0x0590 0x0000 0x8 0x0 1335 1315 #define MX6SX_PAD_SD2_DATA2__MMDC_DEBUG_32 0x0248 0x0590 0x0000 0x9 0x0 1336 1316 #define MX6SX_PAD_SD2_DATA3__USDHC2_DATA3 0x024C 0x0594 0x0000 0x0 0x0 ··· 1340 1320 #define MX6SX_PAD_SD2_DATA3__MLB_DATA 0x024C 0x0594 0x07EC 0x4 0x2 1341 1321 #define MX6SX_PAD_SD2_DATA3__GPIO6_IO_11 0x024C 0x0594 0x0000 0x5 0x0 1342 1322 #define MX6SX_PAD_SD2_DATA3__SPDIF_IN 0x024C 0x0594 0x0824 0x6 0x4 1343 - #define MX6SX_PAD_SD2_DATA3__UART6_RX 0x024C 0x0594 0x0858 0x7 0x5 1344 - #define MX6SX_PAD_SD2_DATA3__UART6_TX 0x024C 0x0594 0x0000 0x7 0x0 1323 + #define MX6SX_PAD_SD2_DATA3__UART6_DCE_TX 0x024C 0x0594 0x0000 0x7 0x0 1324 + #define MX6SX_PAD_SD2_DATA3__UART6_DTE_RX 0x024C 0x0594 0x0858 0x7 0x5 1345 1325 #define MX6SX_PAD_SD2_DATA3__VADC_CLAMP_CURRENT_3 0x024C 0x0594 0x0000 0x8 0x0 1346 1326 #define MX6SX_PAD_SD2_DATA3__MMDC_DEBUG_31 0x024C 0x0594 0x0000 0x9 0x0 1347 1327 #define MX6SX_PAD_SD3_CLK__USDHC3_CLK 0x0250 0x0598 0x0000 0x0 0x0 1348 - #define MX6SX_PAD_SD3_CLK__UART4_CTS_B 0x0250 0x0598 0x0000 0x1 0x0 1328 + #define MX6SX_PAD_SD3_CLK__UART4_DCE_CTS 0x0250 0x0598 0x0000 0x1 0x0 1329 + #define MX6SX_PAD_SD3_CLK__UART4_DTE_RTS 0x0250 0x0598 0x0844 0x1 0x0 1349 1330 #define MX6SX_PAD_SD3_CLK__ECSPI4_SCLK 0x0250 0x0598 0x0740 0x2 0x0 1350 1331 #define MX6SX_PAD_SD3_CLK__AUDMUX_AUD6_RXFS 0x0250 0x0598 0x0680 0x3 0x0 1351 1332 #define MX6SX_PAD_SD3_CLK__LCDIF2_VSYNC 0x0250 0x0598 0x0000 0x4 0x0 ··· 1355 1334 #define MX6SX_PAD_SD3_CLK__TPSMP_HDATA_29 0x0250 0x0598 0x0000 0x7 0x0 1356 1335 #define MX6SX_PAD_SD3_CLK__SDMA_DEBUG_EVENT_CHANNEL_5 0x0250 0x0598 0x0000 0x9 0x0 1357 1336 #define MX6SX_PAD_SD3_CMD__USDHC3_CMD 0x0254 0x059C 0x0000 0x0 0x0 1358 - #define MX6SX_PAD_SD3_CMD__UART4_RX 0x0254 0x059C 0x0848 0x1 0x0 1359 - #define MX6SX_PAD_SD3_CMD__UART4_TX 0x0254 0x059C 0x0000 0x1 0x0 1337 + #define MX6SX_PAD_SD3_CMD__UART4_DCE_TX 0x0254 0x059C 0x0000 0x1 0x0 1338 + #define MX6SX_PAD_SD3_CMD__UART4_DTE_RX 0x0254 0x059C 0x0848 0x1 0x0 1360 1339 #define MX6SX_PAD_SD3_CMD__ECSPI4_MOSI 0x0254 0x059C 0x0748 0x2 0x0 1361 1340 #define MX6SX_PAD_SD3_CMD__AUDMUX_AUD6_RXC 0x0254 0x059C 0x067C 0x3 0x0 1362 1341 #define MX6SX_PAD_SD3_CMD__LCDIF2_HSYNC 0x0254 0x059C 0x07E4 0x4 0x1 ··· 1385 1364 #define MX6SX_PAD_SD3_DATA1__GPU_DEBUG_1 0x025C 0x05A4 0x0000 0x8 0x0 1386 1365 #define MX6SX_PAD_SD3_DATA1__SDMA_DEBUG_EVT_CHN_LINES_1 0x025C 0x05A4 0x0000 0x9 0x0 1387 1366 #define MX6SX_PAD_SD3_DATA2__USDHC3_DATA2 0x0260 0x05A8 0x0000 0x0 0x0 1388 - #define MX6SX_PAD_SD3_DATA2__UART4_RTS_B 0x0260 0x05A8 0x0844 0x1 0x1 1367 + #define MX6SX_PAD_SD3_DATA2__UART4_DCE_RTS 0x0260 0x05A8 0x0844 0x1 0x1 1368 + #define MX6SX_PAD_SD3_DATA2__UART4_DTE_CTS 0x0260 0x05A8 0x0000 0x1 0x0 1389 1369 #define MX6SX_PAD_SD3_DATA2__ECSPI4_SS0 0x0260 0x05A8 0x074C 0x2 0x0 1390 1370 #define MX6SX_PAD_SD3_DATA2__AUDMUX_AUD6_TXFS 0x0260 0x05A8 0x0688 0x3 0x0 1391 1371 #define MX6SX_PAD_SD3_DATA2__LCDIF2_CLK 0x0260 0x05A8 0x0000 0x4 0x0 ··· 1396 1374 #define MX6SX_PAD_SD3_DATA2__GPU_DEBUG_2 0x0260 0x05A8 0x0000 0x8 0x0 1397 1375 #define MX6SX_PAD_SD3_DATA2__SDMA_DEBUG_EVENT_CHANNEL_2 0x0260 0x05A8 0x0000 0x9 0x0 1398 1376 #define MX6SX_PAD_SD3_DATA3__USDHC3_DATA3 0x0264 0x05AC 0x0000 0x0 0x0 1399 - #define MX6SX_PAD_SD3_DATA3__UART4_RX 0x0264 0x05AC 0x0848 0x1 0x1 1400 - #define MX6SX_PAD_SD3_DATA3__UART4_TX 0x0264 0x05AC 0x0000 0x1 0x0 1377 + #define MX6SX_PAD_SD3_DATA3__UART4_DCE_RX 0x0264 0x05AC 0x0848 0x1 0x1 1378 + #define MX6SX_PAD_SD3_DATA3__UART4_DTE_TX 0x0264 0x05AC 0x0000 0x1 0x0 1401 1379 #define MX6SX_PAD_SD3_DATA3__ECSPI4_MISO 0x0264 0x05AC 0x0744 0x2 0x0 1402 1380 #define MX6SX_PAD_SD3_DATA3__AUDMUX_AUD6_TXD 0x0264 0x05AC 0x0678 0x3 0x0 1403 1381 #define MX6SX_PAD_SD3_DATA3__LCDIF2_ENABLE 0x0264 0x05AC 0x0000 0x4 0x0 ··· 1409 1387 #define MX6SX_PAD_SD3_DATA4__USDHC3_DATA4 0x0268 0x05B0 0x0000 0x0 0x0 1410 1388 #define MX6SX_PAD_SD3_DATA4__CAN2_RX 0x0268 0x05B0 0x0690 0x1 0x0 1411 1389 #define MX6SX_PAD_SD3_DATA4__CANFD_RX2 0x0268 0x05B0 0x0698 0x2 0x0 1412 - #define MX6SX_PAD_SD3_DATA4__UART3_RX 0x0268 0x05B0 0x0840 0x3 0x2 1413 - #define MX6SX_PAD_SD3_DATA4__UART3_TX 0x0268 0x05B0 0x0000 0x3 0x0 1390 + #define MX6SX_PAD_SD3_DATA4__UART3_DCE_RX 0x0268 0x05B0 0x0840 0x3 0x2 1391 + #define MX6SX_PAD_SD3_DATA4__UART3_DTE_TX 0x0268 0x05B0 0x0000 0x3 0x0 1414 1392 #define MX6SX_PAD_SD3_DATA4__LCDIF2_DATA_3 0x0268 0x05B0 0x0000 0x4 0x0 1415 1393 #define MX6SX_PAD_SD3_DATA4__GPIO7_IO_6 0x0268 0x05B0 0x0000 0x5 0x0 1416 1394 #define MX6SX_PAD_SD3_DATA4__ENET2_1588_EVENT0_IN 0x0268 0x05B0 0x0000 0x6 0x0 ··· 1420 1398 #define MX6SX_PAD_SD3_DATA5__USDHC3_DATA5 0x026C 0x05B4 0x0000 0x0 0x0 1421 1399 #define MX6SX_PAD_SD3_DATA5__CAN1_TX 0x026C 0x05B4 0x0000 0x1 0x0 1422 1400 #define MX6SX_PAD_SD3_DATA5__CANFD_TX1 0x026C 0x05B4 0x0000 0x2 0x0 1423 - #define MX6SX_PAD_SD3_DATA5__UART3_RX 0x026C 0x05B4 0x0840 0x3 0x3 1424 - #define MX6SX_PAD_SD3_DATA5__UART3_TX 0x026C 0x05B4 0x0000 0x3 0x0 1401 + #define MX6SX_PAD_SD3_DATA5__UART3_DCE_TX 0x026C 0x05B4 0x0000 0x3 0x0 1402 + #define MX6SX_PAD_SD3_DATA5__UART3_DTE_RX 0x026C 0x05B4 0x0840 0x3 0x3 1425 1403 #define MX6SX_PAD_SD3_DATA5__LCDIF2_DATA_2 0x026C 0x05B4 0x0000 0x4 0x0 1426 1404 #define MX6SX_PAD_SD3_DATA5__GPIO7_IO_7 0x026C 0x05B4 0x0000 0x5 0x0 1427 1405 #define MX6SX_PAD_SD3_DATA5__ENET2_1588_EVENT0_OUT 0x026C 0x05B4 0x0000 0x6 0x0 ··· 1431 1409 #define MX6SX_PAD_SD3_DATA6__USDHC3_DATA6 0x0270 0x05B8 0x0000 0x0 0x0 1432 1410 #define MX6SX_PAD_SD3_DATA6__CAN2_TX 0x0270 0x05B8 0x0000 0x1 0x0 1433 1411 #define MX6SX_PAD_SD3_DATA6__CANFD_TX2 0x0270 0x05B8 0x0000 0x2 0x0 1434 - #define MX6SX_PAD_SD3_DATA6__UART3_RTS_B 0x0270 0x05B8 0x083C 0x3 0x2 1412 + #define MX6SX_PAD_SD3_DATA6__UART3_DCE_RTS 0x0270 0x05B8 0x083C 0x3 0x2 1413 + #define MX6SX_PAD_SD3_DATA6__UART3_DTE_CTS 0x0270 0x05B8 0x0000 0x3 0x0 1435 1414 #define MX6SX_PAD_SD3_DATA6__LCDIF2_DATA_4 0x0270 0x05B8 0x0000 0x4 0x0 1436 1415 #define MX6SX_PAD_SD3_DATA6__GPIO7_IO_8 0x0270 0x05B8 0x0000 0x5 0x0 1437 1416 #define MX6SX_PAD_SD3_DATA6__ENET1_1588_EVENT0_OUT 0x0270 0x05B8 0x0000 0x6 0x0 ··· 1442 1419 #define MX6SX_PAD_SD3_DATA7__USDHC3_DATA7 0x0274 0x05BC 0x0000 0x0 0x0 1443 1420 #define MX6SX_PAD_SD3_DATA7__CAN1_RX 0x0274 0x05BC 0x068C 0x1 0x0 1444 1421 #define MX6SX_PAD_SD3_DATA7__CANFD_RX1 0x0274 0x05BC 0x0694 0x2 0x0 1445 - #define MX6SX_PAD_SD3_DATA7__UART3_CTS_B 0x0274 0x05BC 0x0000 0x3 0x0 1422 + #define MX6SX_PAD_SD3_DATA7__UART3_DCE_CTS 0x0274 0x05BC 0x0000 0x3 0x0 1423 + #define MX6SX_PAD_SD3_DATA7__UART3_DTE_RTS 0x0274 0x05BC 0x083C 0x3 0x3 1446 1424 #define MX6SX_PAD_SD3_DATA7__LCDIF2_DATA_5 0x0274 0x05BC 0x0000 0x4 0x0 1447 1425 #define MX6SX_PAD_SD3_DATA7__GPIO7_IO_9 0x0274 0x05BC 0x0000 0x5 0x0 1448 1426 #define MX6SX_PAD_SD3_DATA7__ENET1_1588_EVENT0_IN 0x0274 0x05BC 0x0000 0x6 0x0 ··· 1512 1488 #define MX6SX_PAD_SD4_DATA3__SDMA_DEBUG_MATCHED_DMBUS 0x028C 0x05D4 0x0000 0x9 0x0 1513 1489 #define MX6SX_PAD_SD4_DATA4__USDHC4_DATA4 0x0290 0x05D8 0x0000 0x0 0x0 1514 1490 #define MX6SX_PAD_SD4_DATA4__RAWNAND_DATA09 0x0290 0x05D8 0x0000 0x1 0x0 1515 - #define MX6SX_PAD_SD4_DATA4__UART5_RX 0x0290 0x05D8 0x0850 0x2 0x0 1516 - #define MX6SX_PAD_SD4_DATA4__UART5_TX 0x0290 0x05D8 0x0000 0x2 0x0 1491 + #define MX6SX_PAD_SD4_DATA4__UART5_DCE_RX 0x0290 0x05D8 0x0850 0x2 0x0 1492 + #define MX6SX_PAD_SD4_DATA4__UART5_DTE_TX 0x0290 0x05D8 0x0000 0x2 0x0 1517 1493 #define MX6SX_PAD_SD4_DATA4__ECSPI3_SCLK 0x0290 0x05D8 0x0730 0x3 0x0 1518 1494 #define MX6SX_PAD_SD4_DATA4__LCDIF2_DATA_8 0x0290 0x05D8 0x0000 0x4 0x0 1519 1495 #define MX6SX_PAD_SD4_DATA4__GPIO6_IO_18 0x0290 0x05D8 0x0000 0x5 0x0 ··· 1523 1499 #define MX6SX_PAD_SD4_DATA4__SDMA_DEBUG_RTBUFFER_WRITE 0x0290 0x05D8 0x0000 0x9 0x0 1524 1500 #define MX6SX_PAD_SD4_DATA5__USDHC4_DATA5 0x0294 0x05DC 0x0000 0x0 0x0 1525 1501 #define MX6SX_PAD_SD4_DATA5__RAWNAND_CE2_B 0x0294 0x05DC 0x0000 0x1 0x0 1526 - #define MX6SX_PAD_SD4_DATA5__UART5_RX 0x0294 0x05DC 0x0850 0x2 0x1 1527 - #define MX6SX_PAD_SD4_DATA5__UART5_TX 0x0294 0x05DC 0x0000 0x2 0x0 1502 + #define MX6SX_PAD_SD4_DATA5__UART5_DCE_TX 0x0294 0x05DC 0x0000 0x2 0x0 1503 + #define MX6SX_PAD_SD4_DATA5__UART5_DTE_RX 0x0294 0x05DC 0x0850 0x2 0x1 1528 1504 #define MX6SX_PAD_SD4_DATA5__ECSPI3_MOSI 0x0294 0x05DC 0x0738 0x3 0x0 1529 1505 #define MX6SX_PAD_SD4_DATA5__LCDIF2_DATA_7 0x0294 0x05DC 0x0000 0x4 0x0 1530 1506 #define MX6SX_PAD_SD4_DATA5__GPIO6_IO_19 0x0294 0x05DC 0x0000 0x5 0x0 ··· 1534 1510 #define MX6SX_PAD_SD4_DATA5__SDMA_DEBUG_EVENT_CHANNEL_0 0x0294 0x05DC 0x0000 0x9 0x0 1535 1511 #define MX6SX_PAD_SD4_DATA6__USDHC4_DATA6 0x0298 0x05E0 0x0000 0x0 0x0 1536 1512 #define MX6SX_PAD_SD4_DATA6__RAWNAND_CE3_B 0x0298 0x05E0 0x0000 0x1 0x0 1537 - #define MX6SX_PAD_SD4_DATA6__UART5_RTS_B 0x0298 0x05E0 0x084C 0x2 0x0 1513 + #define MX6SX_PAD_SD4_DATA6__UART5_DCE_RTS 0x0298 0x05E0 0x084C 0x2 0x0 1514 + #define MX6SX_PAD_SD4_DATA6__UART5_DTE_CTS 0x0298 0x05E0 0x0000 0x2 0x0 1538 1515 #define MX6SX_PAD_SD4_DATA6__ECSPI3_MISO 0x0298 0x05E0 0x0734 0x3 0x0 1539 1516 #define MX6SX_PAD_SD4_DATA6__LCDIF2_DATA_6 0x0298 0x05E0 0x0000 0x4 0x0 1540 1517 #define MX6SX_PAD_SD4_DATA6__GPIO6_IO_20 0x0298 0x05E0 0x0000 0x5 0x0 ··· 1545 1520 #define MX6SX_PAD_SD4_DATA6__SDMA_DEBUG_EVENT_CHANNEL_1 0x0298 0x05E0 0x0000 0x9 0x0 1546 1521 #define MX6SX_PAD_SD4_DATA7__USDHC4_DATA7 0x029C 0x05E4 0x0000 0x0 0x0 1547 1522 #define MX6SX_PAD_SD4_DATA7__RAWNAND_DATA08 0x029C 0x05E4 0x0000 0x1 0x0 1548 - #define MX6SX_PAD_SD4_DATA7__UART5_CTS_B 0x029C 0x05E4 0x0000 0x2 0x0 1523 + #define MX6SX_PAD_SD4_DATA7__UART5_DCE_CTS 0x029C 0x05E4 0x0000 0x2 0x0 1524 + #define MX6SX_PAD_SD4_DATA7__UART5_DTE_RTS 0x029C 0x05E4 0x084C 0x2 0x1 1549 1525 #define MX6SX_PAD_SD4_DATA7__ECSPI3_SS0 0x029C 0x05E4 0x073C 0x3 0x0 1550 1526 #define MX6SX_PAD_SD4_DATA7__LCDIF2_DATA_15 0x029C 0x05E4 0x0000 0x4 0x0 1551 1527 #define MX6SX_PAD_SD4_DATA7__GPIO6_IO_21 0x029C 0x05E4 0x0000 0x5 0x0 ··· 1576 1550 #define MX6SX_PAD_USB_H_STROBE__I2C4_SCL 0x02A8 0x05F0 0x07C0 0x3 0x1 1577 1551 #define MX6SX_PAD_USB_H_STROBE__WDOG3_WDOG_RST_B_DEB 0x02A8 0x05F0 0x0000 0x4 0x0 1578 1552 #define MX6SX_PAD_USB_H_STROBE__GPIO7_IO_11 0x02A8 0x05F0 0x0000 0x5 0x0 1553 + 1554 + /* these are not supposed to be used any more and remove them after some time */ 1555 + #define MX6SX_PAD_GPIO1_IO04__UART1_RX MX6SX_PAD_GPIO1_IO04__UART1_DTE_RX 1556 + #define MX6SX_PAD_GPIO1_IO04__UART1_TX MX6SX_PAD_GPIO1_IO04__UART1_DCE_TX 1557 + #define MX6SX_PAD_GPIO1_IO05__UART1_RX MX6SX_PAD_GPIO1_IO05__UART1_DCE_RX 1558 + #define MX6SX_PAD_GPIO1_IO05__UART1_TX MX6SX_PAD_GPIO1_IO05__UART1_DTE_TX 1559 + #define MX6SX_PAD_GPIO1_IO06__UART2_RX MX6SX_PAD_GPIO1_IO06__UART2_DTE_RX 1560 + #define MX6SX_PAD_GPIO1_IO06__UART2_TX MX6SX_PAD_GPIO1_IO06__UART2_DCE_TX 1561 + #define MX6SX_PAD_GPIO1_IO06__UART1_RTS_B MX6SX_PAD_GPIO1_IO06__UART1_DCE_RTS 1562 + #define MX6SX_PAD_GPIO1_IO07__UART2_RX MX6SX_PAD_GPIO1_IO07__UART2_DCE_RX 1563 + #define MX6SX_PAD_GPIO1_IO07__UART2_TX MX6SX_PAD_GPIO1_IO07__UART2_DTE_TX 1564 + #define MX6SX_PAD_GPIO1_IO07__UART1_CTS_B MX6SX_PAD_GPIO1_IO07__UART1_DCE_CTS 1565 + #define MX6SX_PAD_GPIO1_IO08__UART2_RTS_B MX6SX_PAD_GPIO1_IO08__UART2_DCE_RTS 1566 + #define MX6SX_PAD_GPIO1_IO09__UART2_CTS_B MX6SX_PAD_GPIO1_IO09__UART2_DCE_CTS 1567 + #define MX6SX_PAD_CSI_DATA04__UART6_RX MX6SX_PAD_CSI_DATA04__UART6_DCE_RX 1568 + #define MX6SX_PAD_CSI_DATA04__UART6_TX MX6SX_PAD_CSI_DATA04__UART6_DTE_TX 1569 + #define MX6SX_PAD_CSI_DATA05__UART6_RX MX6SX_PAD_CSI_DATA05__UART6_DTE_RX 1570 + #define MX6SX_PAD_CSI_DATA05__UART6_TX MX6SX_PAD_CSI_DATA05__UART6_DCE_TX 1571 + #define MX6SX_PAD_CSI_DATA06__UART6_RTS_B MX6SX_PAD_CSI_DATA06__UART6_DCE_RTS 1572 + #define MX6SX_PAD_CSI_DATA07__UART6_CTS_B MX6SX_PAD_CSI_DATA07__UART6_DCE_CTS 1573 + #define MX6SX_PAD_CSI_HSYNC__UART4_RTS_B MX6SX_PAD_CSI_HSYNC__UART4_DCE_RTS 1574 + #define MX6SX_PAD_CSI_MCLK__UART4_RX MX6SX_PAD_CSI_MCLK__UART4_DCE_RX 1575 + #define MX6SX_PAD_CSI_MCLK__UART4_TX MX6SX_PAD_CSI_MCLK__UART4_DTE_TX 1576 + #define MX6SX_PAD_CSI_PIXCLK__UART4_RX MX6SX_PAD_CSI_PIXCLK__UART4_DTE_RX 1577 + #define MX6SX_PAD_CSI_PIXCLK__UART4_TX MX6SX_PAD_CSI_PIXCLK__UART4_DCE_TX 1578 + #define MX6SX_PAD_CSI_VSYNC__UART4_CTS_B MX6SX_PAD_CSI_VSYNC__UART4_DCE_CTS 1579 + #define MX6SX_PAD_ENET2_COL__UART1_RX MX6SX_PAD_ENET2_COL__UART1_DCE_RX 1580 + #define MX6SX_PAD_ENET2_COL__UART1_TX MX6SX_PAD_ENET2_COL__UART1_DTE_TX 1581 + #define MX6SX_PAD_ENET2_CRS__UART1_RX MX6SX_PAD_ENET2_CRS__UART1_DTE_RX 1582 + #define MX6SX_PAD_ENET2_CRS__UART1_TX MX6SX_PAD_ENET2_CRS__UART1_DCE_TX 1583 + #define MX6SX_PAD_ENET2_RX_CLK__UART1_RTS_B MX6SX_PAD_ENET2_RX_CLK__UART1_DCE_RTS 1584 + #define MX6SX_PAD_ENET2_TX_CLK__UART1_CTS_B MX6SX_PAD_ENET2_TX_CLK__UART1_DCE_CTS 1585 + #define MX6SX_PAD_KEY_COL0__UART6_RTS_B MX6SX_PAD_KEY_COL0__UART6_DCE_RTS 1586 + #define MX6SX_PAD_KEY_COL1__UART6_RX MX6SX_PAD_KEY_COL1__UART6_DTE_RX 1587 + #define MX6SX_PAD_KEY_COL1__UART6_TX MX6SX_PAD_KEY_COL1__UART6_DCE_TX 1588 + #define MX6SX_PAD_KEY_COL2__UART5_RTS_B MX6SX_PAD_KEY_COL2__UART5_DCE_RTS 1589 + #define MX6SX_PAD_KEY_COL3__UART5_RX MX6SX_PAD_KEY_COL3__UART5_DTE_RX 1590 + #define MX6SX_PAD_KEY_COL3__UART5_TX MX6SX_PAD_KEY_COL3__UART5_DCE_TX 1591 + #define MX6SX_PAD_KEY_ROW0__UART6_CTS_B MX6SX_PAD_KEY_ROW0__UART6_DCE_CTS 1592 + #define MX6SX_PAD_KEY_ROW1__UART6_RX MX6SX_PAD_KEY_ROW1__UART6_DCE_RX 1593 + #define MX6SX_PAD_KEY_ROW1__UART6_TX MX6SX_PAD_KEY_ROW1__UART6_DTE_TX 1594 + #define MX6SX_PAD_KEY_ROW2__UART5_CTS_B MX6SX_PAD_KEY_ROW2__UART5_DCE_CTS 1595 + #define MX6SX_PAD_KEY_ROW3__UART5_RX MX6SX_PAD_KEY_ROW3__UART5_DCE_RX 1596 + #define MX6SX_PAD_KEY_ROW3__UART5_TX MX6SX_PAD_KEY_ROW3__UART5_DTE_TX 1597 + #define MX6SX_PAD_NAND_DATA04__UART3_RTS_B MX6SX_PAD_NAND_DATA04__UART3_DCE_RTS 1598 + #define MX6SX_PAD_NAND_DATA05__UART3_CTS_B MX6SX_PAD_NAND_DATA05__UART3_DCE_CTS 1599 + #define MX6SX_PAD_NAND_DATA06__UART3_RX MX6SX_PAD_NAND_DATA06__UART3_DCE_RX 1600 + #define MX6SX_PAD_NAND_DATA06__UART3_TX MX6SX_PAD_NAND_DATA06__UART3_DTE_TX 1601 + #define MX6SX_PAD_NAND_DATA07__UART3_RX MX6SX_PAD_NAND_DATA07__UART3_DTE_RX 1602 + #define MX6SX_PAD_NAND_DATA07__UART3_TX MX6SX_PAD_NAND_DATA07__UART3_DCE_TX 1603 + #define MX6SX_PAD_QSPI1B_DATA0__UART3_CTS_B MX6SX_PAD_QSPI1B_DATA0__UART3_DCE_CTS 1604 + #define MX6SX_PAD_QSPI1B_DATA1__UART3_RTS_B MX6SX_PAD_QSPI1B_DATA1__UART3_DCE_RTS 1605 + #define MX6SX_PAD_QSPI1B_SCLK__UART3_RX MX6SX_PAD_QSPI1B_SCLK__UART3_DCE_RX 1606 + #define MX6SX_PAD_QSPI1B_SCLK__UART3_TX MX6SX_PAD_QSPI1B_SCLK__UART3_DTE_TX 1607 + #define MX6SX_PAD_QSPI1B_SS0_B__UART3_RX MX6SX_PAD_QSPI1B_SS0_B__UART3_DTE_RX 1608 + #define MX6SX_PAD_QSPI1B_SS0_B__UART3_TX MX6SX_PAD_QSPI1B_SS0_B__UART3_DCE_TX 1609 + #define MX6SX_PAD_SD1_DATA0__UART2_RX MX6SX_PAD_SD1_DATA0__UART2_DCE_RX 1610 + #define MX6SX_PAD_SD1_DATA0__UART2_TX MX6SX_PAD_SD1_DATA0__UART2_DTE_TX 1611 + #define MX6SX_PAD_SD1_DATA1__UART2_RX MX6SX_PAD_SD1_DATA1__UART2_DTE_RX 1612 + #define MX6SX_PAD_SD1_DATA1__UART2_TX MX6SX_PAD_SD1_DATA1__UART2_DCE_TX 1613 + #define MX6SX_PAD_SD1_DATA2__UART2_CTS_B MX6SX_PAD_SD1_DATA2__UART2_DCE_CTS 1614 + #define MX6SX_PAD_SD1_DATA3__UART2_RTS_B MX6SX_PAD_SD1_DATA3__UART2_DCE_RTS 1615 + #define MX6SX_PAD_SD2_DATA0__UART4_RX MX6SX_PAD_SD2_DATA0__UART4_DCE_RX 1616 + #define MX6SX_PAD_SD2_DATA0__UART4_TX MX6SX_PAD_SD2_DATA0__UART4_DTE_TX 1617 + #define MX6SX_PAD_SD2_DATA1__UART4_RX MX6SX_PAD_SD2_DATA1__UART4_DTE_RX 1618 + #define MX6SX_PAD_SD2_DATA1__UART4_TX MX6SX_PAD_SD2_DATA1__UART4_DCE_TX 1619 + #define MX6SX_PAD_SD2_DATA2__UART6_RX MX6SX_PAD_SD2_DATA2__UART6_DCE_RX 1620 + #define MX6SX_PAD_SD2_DATA2__UART6_TX MX6SX_PAD_SD2_DATA2__UART6_DTE_TX 1621 + #define MX6SX_PAD_SD2_DATA3__UART6_RX MX6SX_PAD_SD2_DATA3__UART6_DTE_RX 1622 + #define MX6SX_PAD_SD2_DATA3__UART6_TX MX6SX_PAD_SD2_DATA3__UART6_DCE_TX 1623 + #define MX6SX_PAD_SD3_CLK__UART4_CTS_B MX6SX_PAD_SD3_CLK__UART4_DCE_CTS 1624 + #define MX6SX_PAD_SD3_CMD__UART4_RX MX6SX_PAD_SD3_CMD__UART4_DTE_RX 1625 + #define MX6SX_PAD_SD3_CMD__UART4_TX MX6SX_PAD_SD3_CMD__UART4_DCE_TX 1626 + #define MX6SX_PAD_SD3_DATA2__UART4_RTS_B MX6SX_PAD_SD3_DATA2__UART4_DCE_RTS 1627 + #define MX6SX_PAD_SD3_DATA3__UART4_RX MX6SX_PAD_SD3_DATA3__UART4_DCE_RX 1628 + #define MX6SX_PAD_SD3_DATA3__UART4_TX MX6SX_PAD_SD3_DATA3__UART4_DTE_TX 1629 + #define MX6SX_PAD_SD3_DATA4__UART3_RX MX6SX_PAD_SD3_DATA4__UART3_DCE_RX 1630 + #define MX6SX_PAD_SD3_DATA4__UART3_TX MX6SX_PAD_SD3_DATA4__UART3_DTE_TX 1631 + #define MX6SX_PAD_SD3_DATA5__UART3_RX MX6SX_PAD_SD3_DATA5__UART3_DTE_RX 1632 + #define MX6SX_PAD_SD3_DATA5__UART3_TX MX6SX_PAD_SD3_DATA5__UART3_DCE_TX 1633 + #define MX6SX_PAD_SD3_DATA6__UART3_RTS_B MX6SX_PAD_SD3_DATA6__UART3_DCE_RTS 1634 + #define MX6SX_PAD_SD3_DATA7__UART3_CTS_B MX6SX_PAD_SD3_DATA7__UART3_DCE_CTS 1635 + #define MX6SX_PAD_SD4_DATA4__UART5_RX MX6SX_PAD_SD4_DATA4__UART5_DCE_RX 1636 + #define MX6SX_PAD_SD4_DATA4__UART5_TX MX6SX_PAD_SD4_DATA4__UART5_DTE_TX 1637 + #define MX6SX_PAD_SD4_DATA5__UART5_RX MX6SX_PAD_SD4_DATA5__UART5_DTE_RX 1638 + #define MX6SX_PAD_SD4_DATA5__UART5_TX MX6SX_PAD_SD4_DATA5__UART5_DCE_TX 1639 + #define MX6SX_PAD_SD4_DATA6__UART5_RTS_B MX6SX_PAD_SD4_DATA6__UART5_DCE_RTS 1640 + #define MX6SX_PAD_SD4_DATA7__UART5_CTS_B MX6SX_PAD_SD4_DATA7__UART5_DCE_CTS 1579 1641 1580 1642 #endif /* __DTS_IMX6SX_PINFUNC_H */
+2 -2
arch/arm/boot/dts/imx6sx-sabreauto.dts
··· 229 229 230 230 pinctrl_uart1: uart1grp { 231 231 fsl,pins = < 232 - MX6SX_PAD_GPIO1_IO04__UART1_TX 0x1b0b1 233 - MX6SX_PAD_GPIO1_IO05__UART1_RX 0x1b0b1 232 + MX6SX_PAD_GPIO1_IO04__UART1_DCE_TX 0x1b0b1 233 + MX6SX_PAD_GPIO1_IO05__UART1_DCE_RX 0x1b0b1 234 234 >; 235 235 }; 236 236
+6 -6
arch/arm/boot/dts/imx6sx-sdb.dtsi
··· 564 564 565 565 pinctrl_uart1: uart1grp { 566 566 fsl,pins = < 567 - MX6SX_PAD_GPIO1_IO04__UART1_TX 0x1b0b1 568 - MX6SX_PAD_GPIO1_IO05__UART1_RX 0x1b0b1 567 + MX6SX_PAD_GPIO1_IO04__UART1_DCE_TX 0x1b0b1 568 + MX6SX_PAD_GPIO1_IO05__UART1_DCE_RX 0x1b0b1 569 569 >; 570 570 }; 571 571 572 572 pinctrl_uart5: uart5grp { 573 573 fsl,pins = < 574 - MX6SX_PAD_KEY_ROW3__UART5_RX 0x1b0b1 575 - MX6SX_PAD_KEY_COL3__UART5_TX 0x1b0b1 576 - MX6SX_PAD_KEY_ROW2__UART5_CTS_B 0x1b0b1 577 - MX6SX_PAD_KEY_COL2__UART5_RTS_B 0x1b0b1 574 + MX6SX_PAD_KEY_ROW3__UART5_DCE_RX 0x1b0b1 575 + MX6SX_PAD_KEY_COL3__UART5_DCE_TX 0x1b0b1 576 + MX6SX_PAD_KEY_ROW2__UART5_DCE_CTS 0x1b0b1 577 + MX6SX_PAD_KEY_COL2__UART5_DCE_RTS 0x1b0b1 578 578 >; 579 579 }; 580 580
+18 -4
arch/arm/boot/dts/imx6sx-softing-vining-2000.dts
··· 352 352 >; 353 353 }; 354 354 355 + pinctrl_pcie: pciegrp { 356 + fsl,pins = < 357 + MX6SX_PAD_NAND_DATA02__GPIO4_IO_6 0x10b0 358 + >; 359 + }; 360 + 355 361 pinctrl_pwm1: pwm1grp-1 { 356 362 fsl,pins = < 357 363 /* blue LED */ ··· 390 384 391 385 pinctrl_uart1: uart1grp { 392 386 fsl,pins = < 393 - MX6SX_PAD_GPIO1_IO04__UART1_TX 0x1b0b1 394 - MX6SX_PAD_GPIO1_IO05__UART1_RX 0x1b0b1 387 + MX6SX_PAD_GPIO1_IO04__UART1_DCE_TX 0x1b0b1 388 + MX6SX_PAD_GPIO1_IO05__UART1_DCE_RX 0x1b0b1 395 389 >; 396 390 }; 397 391 398 392 pinctrl_uart2: uart2grp { 399 393 fsl,pins = < 400 - MX6SX_PAD_GPIO1_IO06__UART2_TX 0x1b0b1 401 - MX6SX_PAD_GPIO1_IO07__UART2_RX 0x1b0b1 394 + MX6SX_PAD_GPIO1_IO06__UART2_DCE_TX 0x1b0b1 395 + MX6SX_PAD_GPIO1_IO07__UART2_DCE_RX 0x1b0b1 402 396 >; 403 397 }; 404 398 ··· 494 488 MX6SX_PAD_SD4_DATA7__USDHC4_DATA7 0x170f9 495 489 >; 496 490 }; 491 + }; 492 + 493 + &pcie { 494 + pinctrl-names = "default"; 495 + pinctrl-0 = <&pinctrl_pcie>; 496 + reset-gpio = <&gpio4 6 GPIO_ACTIVE_HIGH>; 497 + reset-gpio-active-high; 498 + status = "okay"; 497 499 }; 498 500 499 501 &pwm1 {
+14 -14
arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
··· 235 235 236 236 pinctrl_uart1: uart1grp { 237 237 fsl,pins = 238 - <MX6SX_PAD_GPIO1_IO04__UART1_TX 0x1b0b1>, 239 - <MX6SX_PAD_GPIO1_IO05__UART1_RX 0x1b0b1>; 238 + <MX6SX_PAD_GPIO1_IO04__UART1_DCE_TX 0x1b0b1>, 239 + <MX6SX_PAD_GPIO1_IO05__UART1_DCE_RX 0x1b0b1>; 240 240 }; 241 241 242 242 pinctrl_uart2: uart2grp { 243 243 fsl,pins = 244 - <MX6SX_PAD_GPIO1_IO06__UART2_TX 0x1b0b1>, 245 - <MX6SX_PAD_GPIO1_IO07__UART2_RX 0x1b0b1>; 244 + <MX6SX_PAD_GPIO1_IO06__UART2_DCE_TX 0x1b0b1>, 245 + <MX6SX_PAD_GPIO1_IO07__UART2_DCE_RX 0x1b0b1>; 246 246 }; 247 247 248 248 pinctrl_uart3: uart3grp { 249 249 fsl,pins = 250 - <MX6SX_PAD_SD3_DATA4__UART3_RX 0x13059>, 251 - <MX6SX_PAD_SD3_DATA5__UART3_TX 0x13059>, 252 - <MX6SX_PAD_SD3_DATA6__UART3_RTS_B 0x13059>, 253 - <MX6SX_PAD_SD3_DATA7__UART3_CTS_B 0x13059>; 250 + <MX6SX_PAD_SD3_DATA4__UART3_DCE_RX 0x13059>, 251 + <MX6SX_PAD_SD3_DATA5__UART3_DCE_TX 0x13059>, 252 + <MX6SX_PAD_SD3_DATA6__UART3_DCE_RTS 0x13059>, 253 + <MX6SX_PAD_SD3_DATA7__UART3_DCE_CTS 0x13059>; 254 254 }; 255 255 256 256 pinctrl_uart5: uart5grp { 257 257 fsl,pins = 258 - <MX6SX_PAD_SD4_DATA4__UART5_RX 0x1b0b1>, 259 - <MX6SX_PAD_SD4_DATA5__UART5_TX 0x1b0b1>; 258 + <MX6SX_PAD_SD4_DATA4__UART5_DCE_RX 0x1b0b1>, 259 + <MX6SX_PAD_SD4_DATA5__UART5_DCE_TX 0x1b0b1>; 260 260 }; 261 261 262 262 pinctrl_uart6: uart6grp { ··· 265 265 <MX6SX_PAD_CSI_DATA01__UART6_DSR_B 0x1b0b1>, 266 266 <MX6SX_PAD_CSI_DATA02__UART6_DTR_B 0x1b0b1>, 267 267 <MX6SX_PAD_CSI_DATA03__UART6_DCD_B 0x1b0b1>, 268 - <MX6SX_PAD_CSI_DATA04__UART6_RX 0x1b0b1>, 269 - <MX6SX_PAD_CSI_DATA05__UART6_TX 0x1b0b1>, 270 - <MX6SX_PAD_CSI_DATA06__UART6_RTS_B 0x1b0b1>, 271 - <MX6SX_PAD_CSI_DATA07__UART6_CTS_B 0x1b0b1>; 268 + <MX6SX_PAD_CSI_DATA04__UART6_DCE_RX 0x1b0b1>, 269 + <MX6SX_PAD_CSI_DATA05__UART6_DCE_TX 0x1b0b1>, 270 + <MX6SX_PAD_CSI_DATA06__UART6_DCE_RTS 0x1b0b1>, 271 + <MX6SX_PAD_CSI_DATA07__UART6_DCE_CTS 0x1b0b1>; 272 272 }; 273 273 274 274 pinctrl_otg1_reg: otg1grp {
+20 -14
arch/arm/boot/dts/imx6sx.dtsi
··· 87 87 "pll1_sw", "pll1_sys"; 88 88 arm-supply = <&reg_arm>; 89 89 soc-supply = <&reg_soc>; 90 + nvmem-cells = <&cpu_speed_grade>; 91 + nvmem-cell-names = "speed_grade"; 90 92 }; 91 93 }; 92 94 ··· 237 235 status = "disabled"; 238 236 }; 239 237 240 - aips1: aips-bus@2000000 { 238 + aips1: bus@2000000 { 241 239 compatible = "fsl,aips-bus", "simple-bus"; 242 240 #address-cells = <1>; 243 241 #size-cells = <1>; ··· 468 466 status = "disabled"; 469 467 }; 470 468 471 - gpt: gpt@2098000 { 469 + gpt: timer@2098000 { 472 470 compatible = "fsl,imx6sx-gpt", "fsl,imx6dl-gpt"; 473 471 reg = <0x02098000 0x4000>; 474 472 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; ··· 561 559 gpio-ranges = <&iomuxc 0 148 10>, <&iomuxc 10 169 2>; 562 560 }; 563 561 564 - kpp: kpp@20b8000 { 562 + kpp: keypad@20b8000 { 565 563 compatible = "fsl,imx6sx-kpp", "fsl,imx21-kpp"; 566 564 reg = <0x020b8000 0x4000>; 567 565 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; ··· 569 567 status = "disabled"; 570 568 }; 571 569 572 - wdog1: wdog@20bc000 { 570 + wdog1: watchdog@20bc000 { 573 571 compatible = "fsl,imx6sx-wdt", "fsl,imx21-wdt"; 574 572 reg = <0x020bc000 0x4000>; 575 573 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 576 574 clocks = <&clks IMX6SX_CLK_IPG>; 577 575 }; 578 576 579 - wdog2: wdog@20c0000 { 577 + wdog2: watchdog@20c0000 { 580 578 compatible = "fsl,imx6sx-wdt", "fsl,imx21-wdt"; 581 579 reg = <0x020c0000 0x4000>; 582 580 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; ··· 584 582 status = "disabled"; 585 583 }; 586 584 587 - clks: ccm@20c4000 { 585 + clks: clock-controller@20c4000 { 588 586 compatible = "fsl,imx6sx-ccm"; 589 587 reg = <0x020c4000 0x4000>; 590 588 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, ··· 808 806 }; 809 807 }; 810 808 811 - iomuxc: iomuxc@20e0000 { 809 + iomuxc: pinctrl@20e0000 { 812 810 compatible = "fsl,imx6sx-iomuxc"; 813 811 reg = <0x020e0000 0x4000>; 814 812 }; ··· 832 830 }; 833 831 }; 834 832 835 - aips2: aips-bus@2100000 { 833 + aips2: bus@2100000 { 836 834 compatible = "fsl,aips-bus", "simple-bus"; 837 835 #address-cells = <1>; 838 836 #size-cells = <1>; 839 837 reg = <0x02100000 0x100000>; 840 838 ranges; 841 839 842 - crypto: caam@2100000 { 840 + crypto: crypto@2100000 { 843 841 compatible = "fsl,sec-v4.0"; 844 842 #address-cells = <1>; 845 843 #size-cells = <1>; ··· 852 850 <&clks IMX6SX_CLK_EIM_SLOW>; 853 851 clock-names = "mem", "aclk", "ipg", "emi_slow"; 854 852 855 - sec_jr0: jr0@1000 { 853 + sec_jr0: jr@1000 { 856 854 compatible = "fsl,sec-v4.0-job-ring"; 857 855 reg = <0x1000 0x1000>; 858 856 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 859 857 }; 860 858 861 - sec_jr1: jr1@2000 { 859 + sec_jr1: jr@2000 { 862 860 compatible = "fsl,sec-v4.0-job-ring"; 863 861 reg = <0x2000 0x1000>; 864 862 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; ··· 1053 1051 status = "disabled"; 1054 1052 }; 1055 1053 1056 - ocotp: ocotp@21bc000 { 1054 + ocotp: ocotp-ctrl@21bc000 { 1057 1055 #address-cells = <1>; 1058 1056 #size-cells = <1>; 1059 1057 compatible = "fsl,imx6sx-ocotp", "syscon"; 1060 1058 reg = <0x021bc000 0x4000>; 1061 1059 clocks = <&clks IMX6SX_CLK_OCOTP>; 1060 + 1061 + cpu_speed_grade: speed-grade@10 { 1062 + reg = <0x10 4>; 1063 + }; 1062 1064 1063 1065 tempmon_calib: calib@38 { 1064 1066 reg = <0x38 4>; ··· 1194 1188 }; 1195 1189 }; 1196 1190 1197 - aips3: aips-bus@2200000 { 1191 + aips3: bus@2200000 { 1198 1192 compatible = "fsl,aips-bus", "simple-bus"; 1199 1193 #address-cells = <1>; 1200 1194 #size-cells = <1>; ··· 1295 1289 status = "disabled"; 1296 1290 }; 1297 1291 1298 - wdog3: wdog@2288000 { 1292 + wdog3: watchdog@2288000 { 1299 1293 compatible = "fsl,imx6sx-wdt", "fsl,imx21-wdt"; 1300 1294 reg = <0x02288000 0x4000>; 1301 1295 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
+1 -1
arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dts
··· 25 25 }; 26 26 27 27 panel { 28 - compatible = "auo,g101evn010", "simple-panel"; 28 + compatible = "auo,g101evn010"; 29 29 power-supply = <&ldo4_ext>; 30 30 backlight = <&lcd_backlight>; 31 31
+52
arch/arm/boot/dts/imx6ul-pico-dwarf.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0 OR MIT) 2 + // 3 + // Copyright 2015 Technexion Ltd. 4 + // 5 + // Author: Wig Cheng <wig.cheng@technexion.com> 6 + // Richard Hu <richard.hu@technexion.com> 7 + // Tapani Utriainen <tapani@technexion.com> 8 + /dts-v1/; 9 + 10 + #include "imx6ul-pico.dtsi" 11 + / { 12 + model = "TechNexion PICO-IMX6UL and DWARF baseboard"; 13 + compatible = "technexion,imx6ul-pico-dwarf", "fsl,imx6ul"; 14 + 15 + sound { 16 + compatible = "fsl,imx-audio-sgtl5000"; 17 + model = "imx6ul-sgtl5000"; 18 + audio-cpu = <&sai1>; 19 + audio-codec = <&sgtl5000>; 20 + audio-routing = 21 + "LINE_IN", "Line In Jack", 22 + "MIC_IN", "Mic Jack", 23 + "Mic Jack", "Mic Bias", 24 + "Headphone Jack", "HP_OUT"; 25 + }; 26 + 27 + sys_mclk: clock-sys-mclk { 28 + compatible = "fixed-clock"; 29 + #clock-cells = <0>; 30 + clock-frequency = <24576000>; 31 + }; 32 + }; 33 + 34 + &i2c2 { 35 + clock_frequency = <100000>; 36 + pinctrl-names = "default"; 37 + pinctrl-0 = <&pinctrl_i2c2>; 38 + status = "okay"; 39 + 40 + sgtl5000: audio-codec@a { 41 + reg = <0x0a>; 42 + compatible = "fsl,sgtl5000"; 43 + clocks = <&sys_mclk>; 44 + VDDA-supply = <&reg_2p5v>; 45 + VDDIO-supply = <&reg_3p3v>; 46 + }; 47 + 48 + pressure-sensor@60 { 49 + compatible = "fsl,mpl3115"; 50 + reg = <0x60>; 51 + }; 52 + };
+15 -24
arch/arm/boot/dts/imx6ul-pico.dtsi
··· 20 20 stdout-path = &uart6; 21 21 }; 22 22 23 - backlight { 23 + backlight: backlight { 24 24 compatible = "pwm-backlight"; 25 25 pwms = <&pwm3 0 5000000>; 26 26 brightness-levels = <0 4 8 16 32 64 128 255>; ··· 71 71 regulator-min-microvolt = <3300000>; 72 72 regulator-max-microvolt = <3300000>; 73 73 startup-delay-us = <200000>; 74 + }; 75 + 76 + panel { 77 + compatible = "vxt,vl050-8048nt-c01"; 78 + backlight = <&backlight>; 79 + 80 + port { 81 + panel_in: endpoint { 82 + remote-endpoint = <&display_out>; 83 + }; 84 + }; 74 85 }; 75 86 }; 76 87 ··· 165 154 &lcdif { 166 155 pinctrl-names = "default"; 167 156 pinctrl-0 = <&pinctrl_lcdif_dat &pinctrl_lcdif_ctrl>; 168 - display = <&display0>; 169 157 status = "okay"; 170 158 171 - display0: display0 { 172 - bits-per-pixel = <32>; 173 - bus-width = <24>; 174 - 175 - display-timings { 176 - native-mode = <&timing0>; 177 - 178 - timing0: timing0 { 179 - clock-frequency = <33200000>; 180 - hactive = <800>; 181 - vactive = <480>; 182 - hfront-porch = <210>; 183 - hback-porch = <46>; 184 - hsync-len = <1>; 185 - vback-porch = <22>; 186 - vfront-porch = <23>; 187 - vsync-len = <1>; 188 - hsync-active = <0>; 189 - vsync-active = <0>; 190 - de-active = <1>; 191 - pixelclk-active = <0>; 192 - }; 159 + port { 160 + display_out: endpoint { 161 + remote-endpoint = <&panel_in>; 193 162 }; 194 163 }; 195 164 };
+14 -14
arch/arm/boot/dts/imx6ul.dtsi
··· 204 204 status = "disabled"; 205 205 }; 206 206 207 - aips1: aips-bus@2000000 { 207 + aips1: bus@2000000 { 208 208 compatible = "fsl,aips-bus", "simple-bus"; 209 209 #address-cells = <1>; 210 210 #size-cells = <1>; ··· 430 430 status = "disabled"; 431 431 }; 432 432 433 - gpt1: gpt@2098000 { 433 + gpt1: timer@2098000 { 434 434 compatible = "fsl,imx6ul-gpt", "fsl,imx6sx-gpt"; 435 435 reg = <0x02098000 0x4000>; 436 436 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; ··· 523 523 status = "disabled"; 524 524 }; 525 525 526 - kpp: kpp@20b8000 { 526 + kpp: keypad@20b8000 { 527 527 compatible = "fsl,imx6ul-kpp", "fsl,imx6q-kpp", "fsl,imx21-kpp"; 528 528 reg = <0x020b8000 0x4000>; 529 529 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; ··· 531 531 status = "disabled"; 532 532 }; 533 533 534 - wdog1: wdog@20bc000 { 534 + wdog1: watchdog@20bc000 { 535 535 compatible = "fsl,imx6ul-wdt", "fsl,imx21-wdt"; 536 536 reg = <0x020bc000 0x4000>; 537 537 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 538 538 clocks = <&clks IMX6UL_CLK_WDOG1>; 539 539 }; 540 540 541 - wdog2: wdog@20c0000 { 541 + wdog2: watchdog@20c0000 { 542 542 compatible = "fsl,imx6ul-wdt", "fsl,imx21-wdt"; 543 543 reg = <0x020c0000 0x4000>; 544 544 interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; ··· 546 546 status = "disabled"; 547 547 }; 548 548 549 - clks: ccm@20c4000 { 549 + clks: clock-controller@20c4000 { 550 550 compatible = "fsl,imx6ul-ccm"; 551 551 reg = <0x020c4000 0x4000>; 552 552 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>, ··· 693 693 interrupt-parent = <&intc>; 694 694 }; 695 695 696 - iomuxc: iomuxc@20e0000 { 696 + iomuxc: pinctrl@20e0000 { 697 697 compatible = "fsl,imx6ul-iomuxc"; 698 698 reg = <0x020e0000 0x4000>; 699 699 }; ··· 704 704 reg = <0x020e4000 0x4000>; 705 705 }; 706 706 707 - gpt2: gpt@20e8000 { 707 + gpt2: timer@20e8000 { 708 708 compatible = "fsl,imx6ul-gpt", "fsl,imx6sx-gpt"; 709 709 reg = <0x020e8000 0x4000>; 710 710 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; ··· 771 771 }; 772 772 }; 773 773 774 - aips2: aips-bus@2100000 { 774 + aips2: bus@2100000 { 775 775 compatible = "fsl,aips-bus", "simple-bus"; 776 776 #address-cells = <1>; 777 777 #size-cells = <1>; 778 778 reg = <0x02100000 0x100000>; 779 779 ranges; 780 780 781 - crypto: caam@2140000 { 781 + crypto: crypto@2140000 { 782 782 compatible = "fsl,imx6ul-caam", "fsl,sec-v4.0"; 783 783 #address-cells = <1>; 784 784 #size-cells = <1>; ··· 789 789 <&clks IMX6UL_CLK_CAAM_MEM>; 790 790 clock-names = "ipg", "aclk", "mem"; 791 791 792 - sec_jr0: jr0@1000 { 792 + sec_jr0: jr@1000 { 793 793 compatible = "fsl,sec-v4.0-job-ring"; 794 794 reg = <0x1000 0x1000>; 795 795 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 796 796 }; 797 797 798 - sec_jr1: jr1@2000 { 798 + sec_jr1: jr@2000 { 799 799 compatible = "fsl,sec-v4.0-job-ring"; 800 800 reg = <0x2000 0x1000>; 801 801 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 802 802 }; 803 803 804 - sec_jr2: jr2@3000 { 804 + sec_jr2: jr@3000 { 805 805 compatible = "fsl,sec-v4.0-job-ring"; 806 806 reg = <0x3000 0x1000>; 807 807 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; ··· 1007 1007 status = "disabled"; 1008 1008 }; 1009 1009 1010 - wdog3: wdog@21e4000 { 1010 + wdog3: watchdog@21e4000 { 1011 1011 compatible = "fsl,imx6ul-wdt", "fsl,imx21-wdt"; 1012 1012 reg = <0x021e4000 0x4000>; 1013 1013 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
+1 -1
arch/arm/boot/dts/imx6ull.dtsi
··· 51 51 52 52 / { 53 53 soc { 54 - aips3: aips-bus@2200000 { 54 + aips3: bus@2200000 { 55 55 compatible = "fsl,aips-bus", "simple-bus"; 56 56 #address-cells = <1>; 57 57 #size-cells = <1>;
+169
arch/arm/boot/dts/imx7-colibri-aster.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0 OR MIT) 2 + /* 3 + * Copyright 2017-2020 Toradex AG 4 + * 5 + */ 6 + 7 + 8 + #include <dt-bindings/input/input.h> 9 + #include <dt-bindings/pwm/pwm.h> 10 + 11 + / { 12 + chosen { 13 + stdout-path = "serial0:115200n8"; 14 + }; 15 + 16 + gpio-keys { 17 + compatible = "gpio-keys"; 18 + pinctrl-names = "default"; 19 + pinctrl-0 = <&pinctrl_gpiokeys>; 20 + 21 + power { 22 + label = "Wake-Up"; 23 + gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>; 24 + linux,code = <KEY_WAKEUP>; 25 + debounce-interval = <10>; 26 + wakeup-source; 27 + }; 28 + }; 29 + 30 + panel: panel { 31 + compatible = "edt,et057090dhu"; 32 + backlight = <&bl>; 33 + power-supply = <&reg_3v3>; 34 + 35 + port { 36 + panel_in: endpoint { 37 + remote-endpoint = <&lcdif_out>; 38 + }; 39 + }; 40 + }; 41 + 42 + reg_3v3: regulator-3v3 { 43 + compatible = "regulator-fixed"; 44 + regulator-name = "3.3V"; 45 + regulator-min-microvolt = <3300000>; 46 + regulator-max-microvolt = <3300000>; 47 + }; 48 + 49 + reg_5v0: regulator-5v0 { 50 + compatible = "regulator-fixed"; 51 + regulator-name = "5V"; 52 + regulator-min-microvolt = <5000000>; 53 + regulator-max-microvolt = <5000000>; 54 + }; 55 + 56 + reg_usbh_vbus: regulator-usbh-vbus { 57 + compatible = "regulator-fixed"; 58 + pinctrl-names = "default"; 59 + pinctrl-0 = <&pinctrl_usbh_reg>; 60 + regulator-name = "VCC_USB[1-4]"; 61 + regulator-min-microvolt = <5000000>; 62 + regulator-max-microvolt = <5000000>; 63 + gpio = <&gpio4 7 GPIO_ACTIVE_LOW>; 64 + vin-supply = <&reg_5v0>; 65 + }; 66 + }; 67 + 68 + &adc1 { 69 + status = "okay"; 70 + }; 71 + 72 + /* 73 + * ADC2 is not available on the Aster board and 74 + * conflicts with AD7879 resistive touchscreen. 75 + */ 76 + &adc2 { 77 + status = "disabled"; 78 + }; 79 + 80 + &bl { 81 + brightness-levels = <0 4 8 16 32 64 128 255>; 82 + default-brightness-level = <6>; 83 + power-supply = <&reg_3v3>; 84 + status = "okay"; 85 + }; 86 + 87 + &fec1 { 88 + status = "okay"; 89 + }; 90 + 91 + &i2c4 { 92 + status = "okay"; 93 + 94 + /* Microchip/Atmel maxtouch controller */ 95 + touchscreen@4a { 96 + compatible = "atmel,maxtouch"; 97 + pinctrl-names = "default"; 98 + pinctrl-0 = <&pinctrl_gpiotouch>; 99 + reg = <0x4a>; 100 + interrupt-parent = <&gpio2>; 101 + interrupts = <15 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 107 */ 102 + reset-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>; /* SODIMM 106 */ 103 + }; 104 + 105 + /* M41T0M6 real time clock on carrier board */ 106 + rtc: m41t0m6@68 { 107 + compatible = "st,m41t0"; 108 + reg = <0x68>; 109 + }; 110 + }; 111 + 112 + &iomuxc { 113 + pinctrl_gpiotouch: touchgpios { 114 + fsl,pins = < 115 + MX7D_PAD_EPDC_DATA15__GPIO2_IO15 0x74 116 + MX7D_PAD_EPDC_BDR0__GPIO2_IO28 0x14 117 + >; 118 + }; 119 + }; 120 + 121 + &lcdif { 122 + status = "okay"; 123 + 124 + port { 125 + lcdif_out: endpoint { 126 + remote-endpoint = <&panel_in>; 127 + }; 128 + }; 129 + }; 130 + 131 + &pwm1 { 132 + status = "okay"; 133 + }; 134 + 135 + &pwm2 { 136 + status = "okay"; 137 + }; 138 + 139 + &pwm3 { 140 + status = "okay"; 141 + }; 142 + 143 + &pwm4 { 144 + status = "okay"; 145 + }; 146 + 147 + &uart1 { 148 + status = "okay"; 149 + }; 150 + 151 + &uart2 { 152 + status = "okay"; 153 + }; 154 + 155 + &uart3 { 156 + status = "okay"; 157 + }; 158 + 159 + &usbotg1 { 160 + status = "okay"; 161 + }; 162 + 163 + &usdhc1 { 164 + keep-power-in-suspend; 165 + no-1-8-v; 166 + wakeup-source; 167 + vmmc-supply = <&reg_3v3>; 168 + status = "okay"; 169 + };
+7 -39
arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 - * Copyright 2016 Toradex AG 3 - * 4 - * This file is dual-licensed: you can use it either under the terms 5 - * of the GPL or the X11 license, at your option. Note that this dual 6 - * licensing only applies to this file, and not this project as a 7 - * whole. 8 - * 9 - * a) This file is free software; you can redistribute it and/or 10 - * modify it under the terms of the GNU General Public License as 11 - * published by the Free Software Foundation; either version 2 of the 12 - * License, or (at your option) any later version. 13 - * 14 - * This file is distributed in the hope that it will be useful, 15 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 - * GNU General Public License for more details. 18 - * 19 - * Or, alternatively, 20 - * 21 - * b) Permission is hereby granted, free of charge, to any person 22 - * obtaining a copy of this software and associated documentation 23 - * files (the "Software"), to deal in the Software without 24 - * restriction, including without limitation the rights to use, 25 - * copy, modify, merge, publish, distribute, sublicense, and/or 26 - * sell copies of the Software, and to permit persons to whom the 27 - * Software is furnished to do so, subject to the following 28 - * conditions: 29 - * 30 - * The above copyright notice and this permission notice shall be 31 - * included in all copies or substantial portions of the Software. 32 - * 33 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40 - * OTHER DEALINGS IN THE SOFTWARE. 3 + * Copyright 2016-2020 Toradex 41 4 */ 42 5 43 6 / { 7 + aliases { 8 + rtc0 = &rtc; 9 + rtc1 = &snvs_rtc; 10 + }; 11 + 44 12 chosen { 45 13 stdout-path = "serial0:115200n8"; 46 14 };
+187 -43
arch/arm/boot/dts/imx7-colibri.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 - * Copyright 2016 Toradex AG 3 - * 4 - * This file is dual-licensed: you can use it either under the terms 5 - * of the GPL or the X11 license, at your option. Note that this dual 6 - * licensing only applies to this file, and not this project as a 7 - * whole. 8 - * 9 - * a) This file is free software; you can redistribute it and/or 10 - * modify it under the terms of the GNU General Public License as 11 - * published by the Free Software Foundation; either version 2 of the 12 - * License, or (at your option) any later version. 13 - * 14 - * This file is distributed in the hope that it will be useful, 15 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 - * GNU General Public License for more details. 18 - * 19 - * Or, alternatively, 20 - * 21 - * b) Permission is hereby granted, free of charge, to any person 22 - * obtaining a copy of this software and associated documentation 23 - * files (the "Software"), to deal in the Software without 24 - * restriction, including without limitation the rights to use, 25 - * copy, modify, merge, publish, distribute, sublicense, and/or 26 - * sell copies of the Software, and to permit persons to whom the 27 - * Software is furnished to do so, subject to the following 28 - * conditions: 29 - * 30 - * The above copyright notice and this permission notice shall be 31 - * included in all copies or substantial portions of the Software. 32 - * 33 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40 - * OTHER DEALINGS IN THE SOFTWARE. 3 + * Copyright 2016-2020 Toradex 41 4 */ 42 5 43 6 / { ··· 91 128 pinctrl-names = "default"; 92 129 pinctrl-0 = <&pinctrl_flexcan2>; 93 130 status = "disabled"; 131 + }; 132 + 133 + &gpio1 { 134 + gpio-line-names = "SODIMM_43", 135 + "SODIMM_45", 136 + "SODIMM_135", 137 + "SODIMM_22", 138 + "", 139 + "", 140 + "SODIMM_37", 141 + "SODIMM_29", 142 + "SODIMM_59", 143 + "SODIMM_28", 144 + "SODIMM_30", 145 + "SODIMM_67", 146 + "", 147 + "", 148 + "SODIMM_188", 149 + "SODIMM_178"; 150 + }; 151 + 152 + &gpio2 { 153 + gpio-line-names = "SODIMM_111", 154 + "SODIMM_113", 155 + "SODIMM_115", 156 + "SODIMM_117", 157 + "SODIMM_119", 158 + "SODIMM_121", 159 + "SODIMM_123", 160 + "SODIMM_125", 161 + "SODIMM_91", 162 + "SODIMM_89", 163 + "SODIMM_105", 164 + "SODIMM_152", 165 + "SODIMM_150", 166 + "SODIMM_95", 167 + "SODIMM_126", 168 + "SODIMM_107", 169 + "SODIMM_114", 170 + "SODIMM_116", 171 + "SODIMM_118", 172 + "SODIMM_120", 173 + "SODIMM_122", 174 + "SODIMM_124", 175 + "SODIMM_127", 176 + "SODIMM_130", 177 + "SODIMM_132", 178 + "SODIMM_134", 179 + "SODIMM_133", 180 + "SODIMM_104", 181 + "SODIMM_106", 182 + "SODIMM_110", 183 + "SODIMM_112", 184 + "SODIMM_128"; 185 + }; 186 + 187 + &gpio3 { 188 + gpio-line-names = "SODIMM_56", 189 + "SODIMM_44", 190 + "SODIMM_68", 191 + "SODIMM_82", 192 + "SODIMM_93", 193 + "SODIMM_76", 194 + "SODIMM_70", 195 + "SODIMM_60", 196 + "SODIMM_58", 197 + "SODIMM_78", 198 + "SODIMM_72", 199 + "SODIMM_80", 200 + "SODIMM_46", 201 + "SODIMM_62", 202 + "SODIMM_48", 203 + "SODIMM_74", 204 + "SODIMM_50", 205 + "SODIMM_52", 206 + "SODIMM_54", 207 + "SODIMM_66", 208 + "SODIMM_64", 209 + "SODIMM_57", 210 + "SODIMM_61", 211 + "SODIMM_136", 212 + "SODIMM_138", 213 + "SODIMM_140", 214 + "SODIMM_142", 215 + "SODIMM_144", 216 + "SODIMM_146"; 217 + }; 218 + 219 + &gpio4 { 220 + gpio-line-names = "SODIMM_35", 221 + "SODIMM_33", 222 + "SODIMM_38", 223 + "SODIMM_36", 224 + "SODIMM_21", 225 + "SODIMM_19", 226 + "SODIMM_131", 227 + "SODIMM_129", 228 + "SODIMM_90", 229 + "SODIMM_92", 230 + "SODIMM_88", 231 + "SODIMM_86", 232 + "SODIMM_81", 233 + "SODIMM_94", 234 + "SODIMM_96", 235 + "SODIMM_75", 236 + "SODIMM_101", 237 + "SODIMM_103", 238 + "SODIMM_79", 239 + "SODIMM_97", 240 + "SODIMM_67", 241 + "SODIMM_59", 242 + "SODIMM_85", 243 + "SODIMM_65"; 244 + }; 245 + 246 + &gpio5 { 247 + gpio-line-names = "SODIMM_69", 248 + "SODIMM_71", 249 + "SODIMM_73", 250 + "SODIMM_47", 251 + "SODIMM_190", 252 + "SODIMM_192", 253 + "SODIMM_49", 254 + "SODIMM_51", 255 + "SODIMM_53", 256 + "", 257 + "", 258 + "SODIMM_98", 259 + "SODIMM_184", 260 + "SODIMM_186", 261 + "SODIMM_23", 262 + "SODIMM_31", 263 + "SODIMM_100", 264 + "SODIMM_102"; 265 + }; 266 + 267 + &gpio6 { 268 + gpio-line-names = "", 269 + "", 270 + "", 271 + "", 272 + "", 273 + "", 274 + "", 275 + "", 276 + "", 277 + "", 278 + "", 279 + "", 280 + "SODIMM_169", 281 + "", 282 + "", 283 + "", 284 + "SODIMM_77", 285 + "SODIMM_24", 286 + "", 287 + "SODIMM_25", 288 + "SODIMM_27", 289 + "SODIMM_32", 290 + "SODIMM_34"; 291 + }; 292 + 293 + &gpio7 { 294 + gpio-line-names = "", 295 + "", 296 + "SODIMM_63", 297 + "SODIMM_55", 298 + "", 299 + "", 300 + "", 301 + "", 302 + "SODIMM_196", 303 + "SODIMM_194", 304 + "", 305 + "SODIMM_99", 306 + "", 307 + "", 308 + "SODIMM_137"; 94 309 }; 95 310 96 311 &gpmi { ··· 486 345 &iomuxc { 487 346 pinctrl-names = "default"; 488 347 pinctrl-0 = <&pinctrl_gpio1 &pinctrl_gpio2 &pinctrl_gpio3 &pinctrl_gpio4 489 - &pinctrl_gpio7>; 348 + &pinctrl_gpio7 &pinctrl_usbc_det>; 490 349 491 350 pinctrl_gpio1: gpio1-grp { 492 351 fsl,pins = < ··· 497 356 MX7D_PAD_EPDC_DATA13__GPIO2_IO13 0x14 /* SODIMM 95 */ 498 357 MX7D_PAD_ENET1_RGMII_TXC__GPIO7_IO11 0x14 /* SODIMM 99 */ 499 358 MX7D_PAD_EPDC_DATA10__GPIO2_IO10 0x74 /* SODIMM 105 */ 500 - MX7D_PAD_EPDC_DATA15__GPIO2_IO15 0x74 /* SODIMM 107 */ 501 359 MX7D_PAD_EPDC_DATA00__GPIO2_IO0 0x14 /* SODIMM 111 */ 502 360 MX7D_PAD_EPDC_DATA01__GPIO2_IO1 0x14 /* SODIMM 113 */ 503 361 MX7D_PAD_EPDC_DATA02__GPIO2_IO2 0x14 /* SODIMM 115 */ ··· 513 373 MX7D_PAD_SD2_DATA2__GPIO5_IO16 0x14 /* SODIMM 100 */ 514 374 MX7D_PAD_SD2_DATA3__GPIO5_IO17 0x14 /* SODIMM 102 */ 515 375 MX7D_PAD_EPDC_GDSP__GPIO2_IO27 0x14 /* SODIMM 104 */ 516 - MX7D_PAD_EPDC_BDR0__GPIO2_IO28 0x74 /* SODIMM 106 */ 517 376 MX7D_PAD_EPDC_BDR1__GPIO2_IO29 0x14 /* SODIMM 110 */ 518 377 MX7D_PAD_EPDC_PWR_COM__GPIO2_IO30 0x14 /* SODIMM 112 */ 519 378 MX7D_PAD_EPDC_SDCLK__GPIO2_IO16 0x14 /* SODIMM 114 */ ··· 589 450 590 451 pinctrl_enet1: enet1grp { 591 452 fsl,pins = < 592 - MX7D_PAD_ENET1_CRS__GPIO7_IO14 0x14 593 453 MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL 0x73 594 454 MX7D_PAD_ENET1_RGMII_RD0__ENET1_RGMII_RD0 0x73 595 455 MX7D_PAD_ENET1_RGMII_RD1__ENET1_RGMII_RD1 0x73 ··· 783 645 fsl,pins = < 784 646 MX7D_PAD_UART3_TX_DATA__UART3_DTE_RX 0x79 785 647 MX7D_PAD_UART3_RX_DATA__UART3_DTE_TX 0x79 648 + >; 649 + }; 650 + 651 + pinctrl_usbc_det: gpio-usbc-det { 652 + fsl,pins = < 653 + MX7D_PAD_ENET1_CRS__GPIO7_IO14 0x14 786 654 >; 787 655 }; 788 656
+2 -2
arch/arm/boot/dts/imx7d-cl-som-imx7.dts
··· 85 85 86 86 pmic: pmic@8 { 87 87 compatible = "fsl,pfuze3000"; 88 - reg = <0x08>; 88 + reg = <0x8>; 89 89 90 90 regulators { 91 91 sw1a_reg: sw1a { 92 92 regulator-min-microvolt = <700000>; 93 - regulator-max-microvolt = <1475000>; 93 + regulator-max-microvolt = <3300000>; 94 94 regulator-boot-on; 95 95 regulator-always-on; 96 96 regulator-ramp-delay = <6250>;
+20
arch/arm/boot/dts/imx7d-colibri-aster.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0 OR MIT) 2 + /* 3 + * Copyright 2017-2020 Toradex AG 4 + * 5 + */ 6 + 7 + /dts-v1/; 8 + #include "imx7d-colibri.dtsi" 9 + #include "imx7-colibri-aster.dtsi" 10 + 11 + / { 12 + model = "Toradex Colibri iMX7D on Aster Carrier Board"; 13 + compatible = "toradex,colibri-imx7d-aster", "toradex,colibri-imx7d", 14 + "fsl,imx7d"; 15 + }; 16 + 17 + &usbotg2 { 18 + vbus-supply = <&reg_usbh_vbus>; 19 + status = "okay"; 20 + };
+20
arch/arm/boot/dts/imx7d-colibri-emmc-aster.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0 OR MIT) 2 + /* 3 + * Copyright 2017-2020 Toradex AG 4 + * 5 + */ 6 + 7 + /dts-v1/; 8 + #include "imx7d-colibri-emmc.dtsi" 9 + #include "imx7-colibri-aster.dtsi" 10 + 11 + / { 12 + model = "Toradex Colibri iMX7D 1GB (eMMC) on Aster Carrier Board"; 13 + compatible = "toradex,colibri-imx7d-emmc-aster", 14 + "toradex,colibri-imx7d-emmc", "fsl,imx7d"; 15 + }; 16 + 17 + &usbotg2 { 18 + vbus-supply = <&reg_usbh_vbus>; 19 + status = "okay"; 20 + };
+26
arch/arm/boot/dts/imx7d-colibri-emmc.dtsi
··· 13 13 }; 14 14 }; 15 15 16 + &gpio6 { 17 + gpio-line-names = "", 18 + "", 19 + "", 20 + "", 21 + "", 22 + "", 23 + "", 24 + "", 25 + "", 26 + "", 27 + "", 28 + "", 29 + "SODIMM_169", 30 + "SODIMM_157", 31 + "", 32 + "SODIMM_163", 33 + "SODIMM_77", 34 + "SODIMM_24", 35 + "", 36 + "SODIMM_25", 37 + "SODIMM_27", 38 + "SODIMM_32", 39 + "SODIMM_34"; 40 + }; 41 + 16 42 &usbotg2 { 17 43 dr_mode = "host"; 18 44 };
+2 -39
arch/arm/boot/dts/imx7d-colibri-eval-v3.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 - * Copyright 2016 Toradex AG 3 - * 4 - * This file is dual-licensed: you can use it either under the terms 5 - * of the GPL or the X11 license, at your option. Note that this dual 6 - * licensing only applies to this file, and not this project as a 7 - * whole. 8 - * 9 - * a) This file is free software; you can redistribute it and/or 10 - * modify it under the terms of the GNU General Public License as 11 - * published by the Free Software Foundation; either version 2 of the 12 - * License, or (at your option) any later version. 13 - * 14 - * This file is distributed in the hope that it will be useful, 15 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 - * GNU General Public License for more details. 18 - * 19 - * Or, alternatively, 20 - * 21 - * b) Permission is hereby granted, free of charge, to any person 22 - * obtaining a copy of this software and associated documentation 23 - * files (the "Software"), to deal in the Software without 24 - * restriction, including without limitation the rights to use, 25 - * copy, modify, merge, publish, distribute, sublicense, and/or 26 - * sell copies of the Software, and to permit persons to whom the 27 - * Software is furnished to do so, subject to the following 28 - * conditions: 29 - * 30 - * The above copyright notice and this permission notice shall be 31 - * included in all copies or substantial portions of the Software. 32 - * 33 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40 - * OTHER DEALINGS IN THE SOFTWARE. 3 + * Copyright 2016-2020 Toradex 41 4 */ 42 5 43 6 /dts-v1/;
+2 -39
arch/arm/boot/dts/imx7d-colibri.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 - * Copyright 2016 Toradex AG 3 - * 4 - * This file is dual-licensed: you can use it either under the terms 5 - * of the GPL or the X11 license, at your option. Note that this dual 6 - * licensing only applies to this file, and not this project as a 7 - * whole. 8 - * 9 - * a) This file is free software; you can redistribute it and/or 10 - * modify it under the terms of the GNU General Public License as 11 - * published by the Free Software Foundation; either version 2 of the 12 - * License, or (at your option) any later version. 13 - * 14 - * This file is distributed in the hope that it will be useful, 15 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 - * GNU General Public License for more details. 18 - * 19 - * Or, alternatively, 20 - * 21 - * b) Permission is hereby granted, free of charge, to any person 22 - * obtaining a copy of this software and associated documentation 23 - * files (the "Software"), to deal in the Software without 24 - * restriction, including without limitation the rights to use, 25 - * copy, modify, merge, publish, distribute, sublicense, and/or 26 - * sell copies of the Software, and to permit persons to whom the 27 - * Software is furnished to do so, subject to the following 28 - * conditions: 29 - * 30 - * The above copyright notice and this permission notice shall be 31 - * included in all copies or substantial portions of the Software. 32 - * 33 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40 - * OTHER DEALINGS IN THE SOFTWARE. 3 + * Copyright 2016-2020 Toradex 41 4 */ 42 5 43 6 #include "imx7d.dtsi"
+87
arch/arm/boot/dts/imx7d-pico-dwarf.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0 OR MIT) 2 + // 3 + // Copyright 2015 Technexion Ltd. 4 + // 5 + // Author: Wig Cheng <wig.cheng@technexion.com> 6 + // Richard Hu <richard.hu@technexion.com> 7 + // Tapani Utriainen <tapani@technexion.com> 8 + /dts-v1/; 9 + 10 + #include "imx7d-pico.dtsi" 11 + / { 12 + model = "TechNexion PICO-IMX7D and DWARF baseboard"; 13 + compatible = "technexion,imx7d-pico-dwarf", "fsl,imx7d"; 14 + 15 + sound { 16 + compatible = "fsl,imx-audio-sgtl5000"; 17 + model = "imx7d-sgtl5000"; 18 + audio-cpu = <&sai1>; 19 + audio-codec = <&sgtl5000>; 20 + audio-routing = 21 + "LINE_IN", "Line In Jack", 22 + "MIC_IN", "Mic Jack", 23 + "Mic Jack", "Mic Bias", 24 + "Headphone Jack", "HP_OUT"; 25 + }; 26 + 27 + sys_mclk: clock-sys-mclk { 28 + compatible = "fixed-clock"; 29 + #clock-cells = <0>; 30 + clock-frequency = <24576000>; 31 + }; 32 + }; 33 + 34 + &i2c1 { 35 + clock_frequency = <100000>; 36 + pinctrl-names = "default"; 37 + pinctrl-0 = <&pinctrl_i2c1>; 38 + status = "okay"; 39 + 40 + sgtl5000: audio-codec@a { 41 + reg = <0x0a>; 42 + compatible = "fsl,sgtl5000"; 43 + clocks = <&sys_mclk>; 44 + VDDA-supply = <&reg_2p5v>; 45 + VDDIO-supply = <&reg_3p3v>; 46 + }; 47 + 48 + pressure-sensor@60 { 49 + compatible = "fsl,mpl3115"; 50 + reg = <0x60>; 51 + }; 52 + }; 53 + 54 + &i2c4 { 55 + clock_frequency = <100000>; 56 + pinctrl-names = "default"; 57 + pinctrl-0 = <&pinctrl_i2c1>; 58 + status = "okay"; 59 + 60 + pca9554: io-expander@25 { 61 + compatible = "nxp,pca9554"; 62 + gpio-controller; 63 + #gpio-cells = <2>; 64 + #interrupt-cells = <2>; 65 + reg = <0x25>; 66 + }; 67 + 68 + touchscreen@38 { 69 + compatible = "edt,edt-ft5x06"; 70 + reg = <0x38>; 71 + pinctrl-names = "default"; 72 + pinctrl-0 = <&pinctrl_touchscreen>; 73 + interrupt-parent = <&gpio2>; 74 + interrupts = <13 IRQ_TYPE_EDGE_FALLING>; 75 + reset-gpios = <&pca9554 4 GPIO_ACTIVE_LOW>; 76 + touchscreen-size-x = <800>; 77 + touchscreen-size-y = <480>; 78 + }; 79 + }; 80 + 81 + &iomuxc { 82 + pinctrl_touchscreen: touchscreengrp { 83 + fsl,pins = < 84 + MX7D_PAD_EPDC_DATA13__GPIO2_IO13 0x14 85 + >; 86 + }; 87 + };
+84
arch/arm/boot/dts/imx7d-pico-nymph.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0 OR MIT) 2 + // 3 + // Copyright 2015 Technexion Ltd. 4 + // 5 + // Author: Wig Cheng <wig.cheng@technexion.com> 6 + // Richard Hu <richard.hu@technexion.com> 7 + // Tapani Utriainen <tapani@technexion.com> 8 + /dts-v1/; 9 + 10 + #include "imx7d-pico.dtsi" 11 + / { 12 + model = "TechNexion PICO-IMX7 and NYMPH baseboard"; 13 + compatible = "technexion,imx7d-pico-nymph", "fsl,imx7d"; 14 + 15 + leds { 16 + compatible = "gpio-leds"; 17 + pinctrl-names = "default"; 18 + pinctrl-0 = <&pinctrl_gpio_leds>; 19 + 20 + led { 21 + label = "gpio-led"; 22 + gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>; 23 + }; 24 + }; 25 + 26 + sound { 27 + compatible = "fsl,imx-audio-sgtl5000"; 28 + model = "imx7d-sgtl5000"; 29 + audio-cpu = <&sai1>; 30 + audio-codec = <&sgtl5000>; 31 + audio-routing = 32 + "LINE_IN", "Line In Jack", 33 + "MIC_IN", "Mic Jack", 34 + "Mic Jack", "Mic Bias", 35 + "Headphone Jack", "HP_OUT"; 36 + }; 37 + 38 + sys_mclk: clock-sys-mclk { 39 + compatible = "fixed-clock"; 40 + #clock-cells = <0>; 41 + clock-frequency = <24576000>; 42 + }; 43 + }; 44 + 45 + &i2c1 { 46 + clock_frequency = <100000>; 47 + pinctrl-names = "default"; 48 + pinctrl-0 = <&pinctrl_i2c1>; 49 + status = "okay"; 50 + 51 + sgtl5000: audio-codec@a { 52 + reg = <0x0a>; 53 + compatible = "fsl,sgtl5000"; 54 + clocks = <&sys_mclk>; 55 + VDDA-supply = <&reg_2p5v>; 56 + VDDIO-supply = <&reg_3p3v>; 57 + }; 58 + 59 + adc@52 { 60 + compatible = "ti,adc081c"; 61 + reg = <0x52>; 62 + vref-supply = <&reg_2p5v>; 63 + }; 64 + }; 65 + 66 + &i2c2 { 67 + clock_frequency = <100000>; 68 + pinctrl-names = "default"; 69 + pinctrl-0 = <&pinctrl_i2c2>; 70 + status = "okay"; 71 + 72 + rtc@68 { 73 + compatible = "dallas,ds1337"; 74 + reg = <0x68>; 75 + }; 76 + }; 77 + 78 + &iomuxc { 79 + pinctrl_gpio_leds: gpioledsgrp { 80 + fsl,pins = < 81 + MX7D_PAD_EPDC_DATA13__GPIO2_IO13 0x14 82 + >; 83 + }; 84 + };
+15
arch/arm/boot/dts/imx7s-colibri-aster.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0 OR MIT) 2 + /* 3 + * Copyright 2017-2020 Toradex AG 4 + * 5 + */ 6 + 7 + /dts-v1/; 8 + #include "imx7s-colibri.dtsi" 9 + #include "imx7-colibri-aster.dtsi" 10 + 11 + / { 12 + model = "Toradex Colibri iMX7S on Aster Carrier Board"; 13 + compatible = "toradex,colibri-imx7s-aster", "toradex,colibri-imx7s", 14 + "fsl,imx7s"; 15 + };
+2 -39
arch/arm/boot/dts/imx7s-colibri-eval-v3.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 - * Copyright 2016 Toradex AG 3 - * 4 - * This file is dual-licensed: you can use it either under the terms 5 - * of the GPL or the X11 license, at your option. Note that this dual 6 - * licensing only applies to this file, and not this project as a 7 - * whole. 8 - * 9 - * a) This file is free software; you can redistribute it and/or 10 - * modify it under the terms of the GNU General Public License as 11 - * published by the Free Software Foundation; either version 2 of the 12 - * License, or (at your option) any later version. 13 - * 14 - * This file is distributed in the hope that it will be useful, 15 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 - * GNU General Public License for more details. 18 - * 19 - * Or, alternatively, 20 - * 21 - * b) Permission is hereby granted, free of charge, to any person 22 - * obtaining a copy of this software and associated documentation 23 - * files (the "Software"), to deal in the Software without 24 - * restriction, including without limitation the rights to use, 25 - * copy, modify, merge, publish, distribute, sublicense, and/or 26 - * sell copies of the Software, and to permit persons to whom the 27 - * Software is furnished to do so, subject to the following 28 - * conditions: 29 - * 30 - * The above copyright notice and this permission notice shall be 31 - * included in all copies or substantial portions of the Software. 32 - * 33 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40 - * OTHER DEALINGS IN THE SOFTWARE. 3 + * Copyright 2016-2020 Toradex 41 4 */ 42 5 43 6 /dts-v1/;
+2 -39
arch/arm/boot/dts/imx7s-colibri.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 - * Copyright 2016 Toradex AG 3 - * 4 - * This file is dual-licensed: you can use it either under the terms 5 - * of the GPL or the X11 license, at your option. Note that this dual 6 - * licensing only applies to this file, and not this project as a 7 - * whole. 8 - * 9 - * a) This file is free software; you can redistribute it and/or 10 - * modify it under the terms of the GNU General Public License as 11 - * published by the Free Software Foundation; either version 2 of the 12 - * License, or (at your option) any later version. 13 - * 14 - * This file is distributed in the hope that it will be useful, 15 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 - * GNU General Public License for more details. 18 - * 19 - * Or, alternatively, 20 - * 21 - * b) Permission is hereby granted, free of charge, to any person 22 - * obtaining a copy of this software and associated documentation 23 - * files (the "Software"), to deal in the Software without 24 - * restriction, including without limitation the rights to use, 25 - * copy, modify, merge, publish, distribute, sublicense, and/or 26 - * sell copies of the Software, and to permit persons to whom the 27 - * Software is furnished to do so, subject to the following 28 - * conditions: 29 - * 30 - * The above copyright notice and this permission notice shall be 31 - * included in all copies or substantial portions of the Software. 32 - * 33 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40 - * OTHER DEALINGS IN THE SOFTWARE. 3 + * Copyright 2016-2020 Toradex 41 4 */ 42 5 43 6 #include "imx7s.dtsi"
+20 -18
arch/arm/boot/dts/imx7s.dtsi
··· 315 315 <0x31006000 0x2000>; 316 316 }; 317 317 318 - aips1: aips-bus@30000000 { 318 + aips1: bus@30000000 { 319 319 compatible = "fsl,aips-bus", "simple-bus"; 320 320 #address-cells = <1>; 321 321 #size-cells = <1>; ··· 406 406 gpio-ranges = <&iomuxc 0 139 16>; 407 407 }; 408 408 409 - wdog1: wdog@30280000 { 409 + wdog1: watchdog@30280000 { 410 410 compatible = "fsl,imx7d-wdt", "fsl,imx21-wdt"; 411 411 reg = <0x30280000 0x10000>; 412 412 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 413 413 clocks = <&clks IMX7D_WDOG1_ROOT_CLK>; 414 414 }; 415 415 416 - wdog2: wdog@30290000 { 416 + wdog2: watchdog@30290000 { 417 417 compatible = "fsl,imx7d-wdt", "fsl,imx21-wdt"; 418 418 reg = <0x30290000 0x10000>; 419 419 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; ··· 421 421 status = "disabled"; 422 422 }; 423 423 424 - wdog3: wdog@302a0000 { 424 + wdog3: watchdog@302a0000 { 425 425 compatible = "fsl,imx7d-wdt", "fsl,imx21-wdt"; 426 426 reg = <0x302a0000 0x10000>; 427 427 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; ··· 429 429 status = "disabled"; 430 430 }; 431 431 432 - wdog4: wdog@302b0000 { 432 + wdog4: watchdog@302b0000 { 433 433 compatible = "fsl,imx7d-wdt", "fsl,imx21-wdt"; 434 434 reg = <0x302b0000 0x10000>; 435 435 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; ··· 443 443 fsl,input-sel = <&iomuxc>; 444 444 }; 445 445 446 - gpt1: gpt@302d0000 { 446 + gpt1: timer@302d0000 { 447 447 compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; 448 448 reg = <0x302d0000 0x10000>; 449 449 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; ··· 452 452 clock-names = "ipg", "per"; 453 453 }; 454 454 455 - gpt2: gpt@302e0000 { 455 + gpt2: timer@302e0000 { 456 456 compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; 457 457 reg = <0x302e0000 0x10000>; 458 458 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; ··· 462 462 status = "disabled"; 463 463 }; 464 464 465 - gpt3: gpt@302f0000 { 465 + gpt3: timer@302f0000 { 466 466 compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; 467 467 reg = <0x302f0000 0x10000>; 468 468 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; ··· 472 472 status = "disabled"; 473 473 }; 474 474 475 - gpt4: gpt@30300000 { 475 + gpt4: timer@30300000 { 476 476 compatible = "fsl,imx7d-gpt", "fsl,imx6sx-gpt"; 477 477 reg = <0x30300000 0x10000>; 478 478 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; ··· 482 482 status = "disabled"; 483 483 }; 484 484 485 - kpp: kpp@30320000 { 485 + kpp: keypad@30320000 { 486 486 compatible = "fsl,imx7d-kpp", "fsl,imx21-kpp"; 487 487 reg = <0x30320000 0x10000>; 488 488 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; ··· 490 490 status = "disabled"; 491 491 }; 492 492 493 - iomuxc: iomuxc@30330000 { 493 + iomuxc: pinctrl@30330000 { 494 494 compatible = "fsl,imx7d-iomuxc"; 495 495 reg = <0x30330000 0x10000>; 496 496 }; ··· 606 606 compatible = "fsl,sec-v4.0-pwrkey"; 607 607 regmap = <&snvs>; 608 608 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 609 + clocks = <&clks IMX7D_SNVS_CLK>; 610 + clock-names = "snvs-pwrkey"; 609 611 linux,keycode = <KEY_POWER>; 610 612 wakeup-source; 611 613 status = "disabled"; 612 614 }; 613 615 }; 614 616 615 - clks: ccm@30380000 { 617 + clks: clock-controller@30380000 { 616 618 compatible = "fsl,imx7d-ccm"; 617 619 reg = <0x30380000 0x10000>; 618 620 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>, ··· 665 663 }; 666 664 }; 667 665 668 - aips2: aips-bus@30400000 { 666 + aips2: bus@30400000 { 669 667 compatible = "fsl,aips-bus", "simple-bus"; 670 668 #address-cells = <1>; 671 669 #size-cells = <1>; ··· 805 803 }; 806 804 }; 807 805 808 - aips3: aips-bus@30800000 { 806 + aips3: bus@30800000 { 809 807 compatible = "fsl,aips-bus", "simple-bus"; 810 808 #address-cells = <1>; 811 809 #size-cells = <1>; ··· 934 932 }; 935 933 }; 936 934 937 - crypto: caam@30900000 { 935 + crypto: crypto@30900000 { 938 936 compatible = "fsl,sec-v4.0"; 939 937 #address-cells = <1>; 940 938 #size-cells = <1>; ··· 945 943 <&clks IMX7D_AHB_CHANNEL_ROOT_CLK>; 946 944 clock-names = "ipg", "aclk"; 947 945 948 - sec_jr0: jr0@1000 { 946 + sec_jr0: jr@1000 { 949 947 compatible = "fsl,sec-v4.0-job-ring"; 950 948 reg = <0x1000 0x1000>; 951 949 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 952 950 }; 953 951 954 - sec_jr1: jr1@2000 { 952 + sec_jr1: jr@2000 { 955 953 compatible = "fsl,sec-v4.0-job-ring"; 956 954 reg = <0x2000 0x1000>; 957 955 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 958 956 }; 959 957 960 - sec_jr2: jr1@3000 { 958 + sec_jr2: jr@3000 { 961 959 compatible = "fsl,sec-v4.0-job-ring"; 962 960 reg = <0x3000 0x1000>; 963 961 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
+1 -2
arch/arm/boot/dts/imx7ulp-evk.dts
··· 72 72 srp-disable; 73 73 hnp-disable; 74 74 adp-disable; 75 - over-current-active-low; 75 + disable-over-current; 76 76 status = "okay"; 77 77 }; 78 78 ··· 110 110 pinctrl_usbotg1_id: otg1idgrp { 111 111 fsl,pins = < 112 112 IMX7ULP_PAD_PTC13__USB0_ID 0x10003 113 - IMX7ULP_PAD_PTC16__USB1_OC2 0x10003 114 113 >; 115 114 }; 116 115
+2 -2
arch/arm/boot/dts/imx7ulp.dtsi
··· 132 132 <&scg1 IMX7ULP_CLK_NIC1_BUS_DIV>; 133 133 clock-names = "aclk", "ipg"; 134 134 135 - sec_jr0: jr0@1000 { 135 + sec_jr0: jr@1000 { 136 136 compatible = "fsl,sec-v4.0-job-ring"; 137 137 reg = <0x1000 0x1000>; 138 138 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 139 139 }; 140 140 141 - sec_jr1: jr1@2000 { 141 + sec_jr1: jr@2000 { 142 142 compatible = "fsl,sec-v4.0-job-ring"; 143 143 reg = <0x2000 0x1000>; 144 144 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
-1
arch/arm/boot/dts/integratorap.dts
··· 9 9 / { 10 10 model = "ARM Integrator/AP"; 11 11 compatible = "arm,integrator-ap"; 12 - dma-ranges = <0x80000000 0x0 0x80000000>; 13 12 14 13 cpus { 15 14 #address-cells = <1>;
+1 -1
arch/arm/boot/dts/mt2701.dtsi
··· 148 148 reg = <0 0x10005000 0 0x1000>; 149 149 }; 150 150 151 - scpsys: scpsys@10006000 { 151 + scpsys: power-controller@10006000 { 152 152 compatible = "mediatek,mt2701-scpsys", "syscon"; 153 153 #power-domain-cells = <1>; 154 154 reg = <0 0x10006000 0 0x1000>;
+1 -1
arch/arm/boot/dts/mt7623.dtsi
··· 268 268 reg = <0 0x10005000 0 0x1000>; 269 269 }; 270 270 271 - scpsys: scpsys@10006000 { 271 + scpsys: power-controller@10006000 { 272 272 compatible = "mediatek,mt7623-scpsys", 273 273 "mediatek,mt2701-scpsys", 274 274 "syscon";
+15 -1
arch/arm/boot/dts/mt7629.dtsi
··· 90 90 #clock-cells = <1>; 91 91 }; 92 92 93 - scpsys: scpsys@10006000 { 93 + scpsys: power-controller@10006000 { 94 94 compatible = "mediatek,mt7629-scpsys", 95 95 "mediatek,mt7622-scpsys"; 96 96 #power-domain-cells = <1>; ··· 238 238 clocks = <&topckgen CLK_TOP_UART_SEL>, 239 239 <&pericfg CLK_PERI_UART2_PD>; 240 240 clock-names = "baud", "bus"; 241 + status = "disabled"; 242 + }; 243 + 244 + pwm: pwm@11006000 { 245 + compatible = "mediatek,mt7629-pwm"; 246 + reg = <0x11006000 0x1000>; 247 + #pwm-cells = <2>; 248 + clocks = <&topckgen CLK_TOP_PWM_SEL>, 249 + <&pericfg CLK_PERI_PWM_PD>, 250 + <&pericfg CLK_PERI_PWM1_PD>; 251 + clock-names = "top", "main", "pwm1"; 252 + assigned-clocks = <&topckgen CLK_TOP_PWM_SEL>; 253 + assigned-clock-parents = 254 + <&topckgen CLK_TOP_UNIVPLL2_D4>; 241 255 status = "disabled"; 242 256 }; 243 257
+1
arch/arm/boot/dts/omap4-l4.dtsi
··· 1529 1529 }; 1530 1530 }; 1531 1531 1532 + /* Unused DSS L4 access, see L3 instead */ 1532 1533 target-module@40000 { /* 0x48040000, ap 13 0a.0 */ 1533 1534 compatible = "ti,sysc"; 1534 1535 status = "disabled";
+197 -72
arch/arm/boot/dts/omap4.dtsi
··· 108 108 109 109 dsp { 110 110 compatible = "ti,omap3-c64"; 111 - ti,hwmods = "dsp"; 112 111 }; 113 112 114 113 iva { ··· 414 415 */ 415 416 }; 416 417 417 - dss: dss@58000000 { 418 - compatible = "ti,omap4-dss"; 419 - reg = <0x58000000 0x80>; 420 - status = "disabled"; 421 - ti,hwmods = "dss_core"; 422 - clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>; 423 - clock-names = "fck"; 418 + /* 419 + * DSS is only using l3 mapping without l4 as noted in the TRM 420 + * "10.1.3 DSS Register Manual" for omap4460. 421 + */ 422 + target-module@58000000 { 423 + compatible = "ti,sysc-omap2", "ti,sysc"; 424 + reg = <0x58000000 4>, 425 + <0x58000014 4>; 426 + reg-names = "rev", "syss"; 427 + ti,syss-mask = <1>; 428 + clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 0>, 429 + <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>, 430 + <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>, 431 + <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 11>; 432 + clock-names = "fck", "hdmi_clk", "sys_clk", "tv_clk"; 424 433 #address-cells = <1>; 425 434 #size-cells = <1>; 426 - ranges; 435 + ranges = <0 0x58000000 0x1000000>; 427 436 428 - dispc@58001000 { 429 - compatible = "ti,omap4-dispc"; 430 - reg = <0x58001000 0x1000>; 431 - interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 432 - ti,hwmods = "dss_dispc"; 437 + dss: dss@0 { 438 + compatible = "ti,omap4-dss"; 439 + reg = <0 0x80>; 440 + status = "disabled"; 433 441 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>; 434 442 clock-names = "fck"; 435 - }; 443 + #address-cells = <1>; 444 + #size-cells = <1>; 445 + ranges = <0 0 0x1000000>; 436 446 437 - rfbi: encoder@58002000 { 438 - compatible = "ti,omap4-rfbi"; 439 - reg = <0x58002000 0x1000>; 440 - status = "disabled"; 441 - ti,hwmods = "dss_rfbi"; 442 - clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, <&l3_div_ck>; 443 - clock-names = "fck", "ick"; 444 - }; 447 + target-module@1000 { 448 + compatible = "ti,sysc-omap2", "ti,sysc"; 449 + reg = <0x1000 0x4>, 450 + <0x1010 0x4>, 451 + <0x1014 0x4>; 452 + reg-names = "rev", "sysc", "syss"; 453 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 454 + <SYSC_IDLE_NO>, 455 + <SYSC_IDLE_SMART>; 456 + ti,sysc-midle = <SYSC_IDLE_FORCE>, 457 + <SYSC_IDLE_NO>, 458 + <SYSC_IDLE_SMART>; 459 + ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 460 + SYSC_OMAP2_ENAWAKEUP | 461 + SYSC_OMAP2_SOFTRESET | 462 + SYSC_OMAP2_AUTOIDLE)>; 463 + ti,syss-mask = <1>; 464 + clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, 465 + <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>; 466 + clock-names = "fck", "sys_clk"; 467 + #address-cells = <1>; 468 + #size-cells = <1>; 469 + ranges = <0 0x1000 0x1000>; 445 470 446 - venc: encoder@58003000 { 447 - compatible = "ti,omap4-venc"; 448 - reg = <0x58003000 0x1000>; 449 - status = "disabled"; 450 - ti,hwmods = "dss_venc"; 451 - clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 11>; 452 - clock-names = "fck"; 453 - }; 471 + dispc@0 { 472 + compatible = "ti,omap4-dispc"; 473 + reg = <0 0x1000>; 474 + interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 475 + clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>; 476 + clock-names = "fck"; 477 + }; 478 + }; 454 479 455 - dsi1: encoder@58004000 { 456 - compatible = "ti,omap4-dsi"; 457 - reg = <0x58004000 0x200>, 458 - <0x58004200 0x40>, 459 - <0x58004300 0x20>; 460 - reg-names = "proto", "phy", "pll"; 461 - interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 462 - status = "disabled"; 463 - ti,hwmods = "dss_dsi1"; 464 - clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, 465 - <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>; 466 - clock-names = "fck", "sys_clk"; 467 - }; 480 + target-module@2000 { 481 + compatible = "ti,sysc-omap2", "ti,sysc"; 482 + reg = <0x2000 0x4>, 483 + <0x2010 0x4>, 484 + <0x2014 0x4>; 485 + reg-names = "rev", "sysc", "syss"; 486 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 487 + <SYSC_IDLE_NO>, 488 + <SYSC_IDLE_SMART>; 489 + ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | 490 + SYSC_OMAP2_AUTOIDLE)>; 491 + ti,syss-mask = <1>; 492 + clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, 493 + <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>; 494 + clock-names = "fck", "sys_clk"; 495 + #address-cells = <1>; 496 + #size-cells = <1>; 497 + ranges = <0 0x2000 0x1000>; 468 498 469 - dsi2: encoder@58005000 { 470 - compatible = "ti,omap4-dsi"; 471 - reg = <0x58005000 0x200>, 472 - <0x58005200 0x40>, 473 - <0x58005300 0x20>; 474 - reg-names = "proto", "phy", "pll"; 475 - interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 476 - status = "disabled"; 477 - ti,hwmods = "dss_dsi2"; 478 - clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, 479 - <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>; 480 - clock-names = "fck", "sys_clk"; 481 - }; 499 + rfbi: encoder@0 { 500 + reg = <0 0x1000>; 501 + status = "disabled"; 502 + clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, <&l3_div_ck>; 503 + clock-names = "fck", "ick"; 504 + }; 505 + }; 482 506 483 - hdmi: encoder@58006000 { 484 - compatible = "ti,omap4-hdmi"; 485 - reg = <0x58006000 0x200>, 486 - <0x58006200 0x100>, 487 - <0x58006300 0x100>, 488 - <0x58006400 0x1000>; 489 - reg-names = "wp", "pll", "phy", "core"; 490 - interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 491 - status = "disabled"; 492 - ti,hwmods = "dss_hdmi"; 493 - clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>, 494 - <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>; 495 - clock-names = "fck", "sys_clk"; 496 - dmas = <&sdma 76>; 497 - dma-names = "audio_tx"; 507 + target-module@3000 { 508 + compatible = "ti,sysc-omap2", "ti,sysc"; 509 + reg = <0x3000 0x4>; 510 + reg-names = "rev"; 511 + clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>; 512 + clock-names = "sys_clk"; 513 + #address-cells = <1>; 514 + #size-cells = <1>; 515 + ranges = <0 0x3000 0x1000>; 516 + 517 + venc: encoder@0 { 518 + compatible = "ti,omap4-venc"; 519 + reg = <0 0x1000>; 520 + status = "disabled"; 521 + clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 11>; 522 + clock-names = "fck"; 523 + }; 524 + }; 525 + 526 + target-module@4000 { 527 + compatible = "ti,sysc-omap2", "ti,sysc"; 528 + reg = <0x4000 0x4>, 529 + <0x4010 0x4>, 530 + <0x4014 0x4>; 531 + reg-names = "rev", "sysc", "syss"; 532 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 533 + <SYSC_IDLE_NO>, 534 + <SYSC_IDLE_SMART>; 535 + ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 536 + SYSC_OMAP2_ENAWAKEUP | 537 + SYSC_OMAP2_SOFTRESET | 538 + SYSC_OMAP2_AUTOIDLE)>; 539 + ti,syss-mask = <1>; 540 + #address-cells = <1>; 541 + #size-cells = <1>; 542 + ranges = <0 0x4000 0x1000>; 543 + 544 + dsi1: encoder@0 { 545 + compatible = "ti,omap4-dsi"; 546 + reg = <0 0x200>, 547 + <0x200 0x40>, 548 + <0x300 0x20>; 549 + reg-names = "proto", "phy", "pll"; 550 + interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 551 + status = "disabled"; 552 + clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, 553 + <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>; 554 + clock-names = "fck", "sys_clk"; 555 + }; 556 + }; 557 + 558 + target-module@5000 { 559 + compatible = "ti,sysc-omap2", "ti,sysc"; 560 + reg = <0x5000 0x4>, 561 + <0x5010 0x4>, 562 + <0x5014 0x4>; 563 + reg-names = "rev", "sysc", "syss"; 564 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 565 + <SYSC_IDLE_NO>, 566 + <SYSC_IDLE_SMART>; 567 + ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 568 + SYSC_OMAP2_ENAWAKEUP | 569 + SYSC_OMAP2_SOFTRESET | 570 + SYSC_OMAP2_AUTOIDLE)>; 571 + ti,syss-mask = <1>; 572 + #address-cells = <1>; 573 + #size-cells = <1>; 574 + ranges = <0 0x5000 0x1000>; 575 + 576 + dsi2: encoder@0 { 577 + compatible = "ti,omap4-dsi"; 578 + reg = <0 0x200>, 579 + <0x200 0x40>, 580 + <0x300 0x20>; 581 + reg-names = "proto", "phy", "pll"; 582 + interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 583 + status = "disabled"; 584 + clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, 585 + <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>; 586 + clock-names = "fck", "sys_clk"; 587 + }; 588 + }; 589 + 590 + target-module@6000 { 591 + compatible = "ti,sysc-omap4", "ti,sysc"; 592 + reg = <0x6000 0x4>, 593 + <0x6010 0x4>; 594 + reg-names = "rev", "sysc"; 595 + /* 596 + * Has SYSC_IDLE_SMART and SYSC_IDLE_SMART_WKUP 597 + * but HDMI audio will fail with them. 598 + */ 599 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 600 + <SYSC_IDLE_NO>; 601 + ti,sysc-mask = <(SYSC_OMAP4_SOFTRESET)>; 602 + clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>, 603 + <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>; 604 + clock-names = "fck", "dss_clk"; 605 + #address-cells = <1>; 606 + #size-cells = <1>; 607 + ranges = <0 0x6000 0x2000>; 608 + 609 + hdmi: encoder@0 { 610 + compatible = "ti,omap4-hdmi"; 611 + reg = <0 0x200>, 612 + <0x200 0x100>, 613 + <0x300 0x100>, 614 + <0x400 0x1000>; 615 + reg-names = "wp", "pll", "phy", "core"; 616 + interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 617 + status = "disabled"; 618 + clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>, 619 + <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>; 620 + clock-names = "fck", "sys_clk"; 621 + dmas = <&sdma 76>; 622 + dma-names = "audio_tx"; 623 + }; 624 + }; 498 625 }; 499 626 }; 500 627 };
+14 -2
arch/arm/boot/dts/omap5-l4-abe.dtsi
··· 426 426 }; 427 427 428 428 target-module@f1000 { /* 0x401f1000, ap 32 20.0 */ 429 - compatible = "ti,sysc"; 430 - status = "disabled"; 429 + compatible = "ti,sysc-omap4", "ti,sysc"; 430 + reg = <0xf1000 0x4>, 431 + <0xf1010 0x4>; 432 + reg-names = "rev", "sysc"; 433 + ti,sysc-midle = <SYSC_IDLE_FORCE>, 434 + <SYSC_IDLE_NO>, 435 + <SYSC_IDLE_SMART>, 436 + <SYSC_IDLE_SMART_WKUP>; 437 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 438 + <SYSC_IDLE_NO>, 439 + <SYSC_IDLE_SMART>; 440 + /* Domains (V, P, C): iva, abe_pwrdm, abe_clkdm */ 441 + clocks = <&abe_clkctrl OMAP5_AESS_CLKCTRL 0>; 442 + clock-names = "fck"; 431 443 #address-cells = <1>; 432 444 #size-cells = <1>; 433 445 ranges = <0x0 0xf1000 0x1000>,
+170 -63
arch/arm/boot/dts/omap5.dtsi
··· 293 293 */ 294 294 }; 295 295 296 - dss: dss@58000000 { 297 - compatible = "ti,omap5-dss"; 298 - reg = <0x58000000 0x80>; 299 - status = "disabled"; 300 - ti,hwmods = "dss_core"; 301 - clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>; 302 - clock-names = "fck"; 296 + target-module@58000000 { 297 + compatible = "ti,sysc-omap2", "ti,sysc"; 298 + reg = <0x58000000 4>, 299 + <0x58000014 4>; 300 + reg-names = "rev", "syss"; 301 + ti,syss-mask = <1>; 302 + clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 0>, 303 + <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 9>, 304 + <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 10>, 305 + <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 11>; 306 + clock-names = "fck", "hdmi_clk", "sys_clk", "tv_clk"; 303 307 #address-cells = <1>; 304 308 #size-cells = <1>; 305 - ranges; 309 + ranges = <0 0x58000000 0x1000000>; 306 310 307 - dispc@58001000 { 308 - compatible = "ti,omap5-dispc"; 309 - reg = <0x58001000 0x1000>; 310 - interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 311 - ti,hwmods = "dss_dispc"; 311 + dss: dss@0 { 312 + compatible = "ti,omap5-dss"; 313 + reg = <0 0x80>; 314 + status = "disabled"; 312 315 clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>; 313 316 clock-names = "fck"; 314 - }; 317 + #address-cells = <1>; 318 + #size-cells = <1>; 319 + ranges = <0 0 0x1000000>; 315 320 316 - rfbi: encoder@58002000 { 317 - compatible = "ti,omap5-rfbi"; 318 - reg = <0x58002000 0x100>; 319 - status = "disabled"; 320 - ti,hwmods = "dss_rfbi"; 321 - clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>, <&l3_iclk_div>; 322 - clock-names = "fck", "ick"; 323 - }; 321 + target-module@1000 { 322 + compatible = "ti,sysc-omap2", "ti,sysc"; 323 + reg = <0x1000 0x4>, 324 + <0x1010 0x4>, 325 + <0x1014 0x4>; 326 + reg-names = "rev", "sysc", "syss"; 327 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 328 + <SYSC_IDLE_NO>, 329 + <SYSC_IDLE_SMART>; 330 + ti,sysc-midle = <SYSC_IDLE_FORCE>, 331 + <SYSC_IDLE_NO>, 332 + <SYSC_IDLE_SMART>; 333 + ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 334 + SYSC_OMAP2_ENAWAKEUP | 335 + SYSC_OMAP2_SOFTRESET | 336 + SYSC_OMAP2_AUTOIDLE)>; 337 + ti,syss-mask = <1>; 338 + clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>; 339 + clock-names = "fck"; 340 + #address-cells = <1>; 341 + #size-cells = <1>; 342 + ranges = <0 0x1000 0x1000>; 324 343 325 - dsi1: encoder@58004000 { 326 - compatible = "ti,omap5-dsi"; 327 - reg = <0x58004000 0x200>, 328 - <0x58004200 0x40>, 329 - <0x58004300 0x40>; 330 - reg-names = "proto", "phy", "pll"; 331 - interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 332 - status = "disabled"; 333 - ti,hwmods = "dss_dsi1"; 334 - clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>, 335 - <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 10>; 336 - clock-names = "fck", "sys_clk"; 337 - }; 344 + dispc@0 { 345 + compatible = "ti,omap5-dispc"; 346 + reg = <0 0x1000>; 347 + interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 348 + clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>; 349 + clock-names = "fck"; 350 + }; 351 + }; 338 352 339 - dsi2: encoder@58005000 { 340 - compatible = "ti,omap5-dsi"; 341 - reg = <0x58009000 0x200>, 342 - <0x58009200 0x40>, 343 - <0x58009300 0x40>; 344 - reg-names = "proto", "phy", "pll"; 345 - interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 346 - status = "disabled"; 347 - ti,hwmods = "dss_dsi2"; 348 - clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>, 349 - <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 10>; 350 - clock-names = "fck", "sys_clk"; 351 - }; 353 + target-module@2000 { 354 + compatible = "ti,sysc-omap2", "ti,sysc"; 355 + reg = <0x2000 0x4>, 356 + <0x2010 0x4>, 357 + <0x2014 0x4>; 358 + reg-names = "rev", "sysc", "syss"; 359 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 360 + <SYSC_IDLE_NO>, 361 + <SYSC_IDLE_SMART>; 362 + ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | 363 + SYSC_OMAP2_AUTOIDLE)>; 364 + ti,syss-mask = <1>; 365 + clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>; 366 + clock-names = "fck"; 367 + #address-cells = <1>; 368 + #size-cells = <1>; 369 + ranges = <0 0x2000 0x1000>; 352 370 353 - hdmi: encoder@58060000 { 354 - compatible = "ti,omap5-hdmi"; 355 - reg = <0x58040000 0x200>, 356 - <0x58040200 0x80>, 357 - <0x58040300 0x80>, 358 - <0x58060000 0x19000>; 359 - reg-names = "wp", "pll", "phy", "core"; 360 - interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 361 - status = "disabled"; 362 - ti,hwmods = "dss_hdmi"; 363 - clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 9>, 364 - <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 10>; 365 - clock-names = "fck", "sys_clk"; 366 - dmas = <&sdma 76>; 367 - dma-names = "audio_tx"; 371 + rfbi: encoder@0 { 372 + compatible = "ti,omap5-rfbi"; 373 + reg = <0 0x100>; 374 + status = "disabled"; 375 + clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>, <&l3_iclk_div>; 376 + clock-names = "fck", "ick"; 377 + }; 378 + }; 379 + 380 + target-module@5000 { 381 + compatible = "ti,sysc-omap2", "ti,sysc"; 382 + reg = <0x5000 0x4>, 383 + <0x5010 0x4>, 384 + <0x5014 0x4>; 385 + reg-names = "rev", "sysc", "syss"; 386 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 387 + <SYSC_IDLE_NO>, 388 + <SYSC_IDLE_SMART>; 389 + ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 390 + SYSC_OMAP2_ENAWAKEUP | 391 + SYSC_OMAP2_SOFTRESET | 392 + SYSC_OMAP2_AUTOIDLE)>; 393 + ti,syss-mask = <1>; 394 + #address-cells = <1>; 395 + #size-cells = <1>; 396 + ranges = <0 0x5000 0x1000>; 397 + 398 + dsi1: encoder@0 { 399 + compatible = "ti,omap5-dsi"; 400 + reg = <0 0x200>, 401 + <0x200 0x40>, 402 + <0x300 0x40>; 403 + reg-names = "proto", "phy", "pll"; 404 + interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 405 + status = "disabled"; 406 + clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>; 407 + clock-names = "fck"; 408 + }; 409 + }; 410 + 411 + target-module@9000 { 412 + compatible = "ti,sysc-omap2", "ti,sysc"; 413 + reg = <0x9000 0x4>, 414 + <0x9010 0x4>, 415 + <0x9014 0x4>; 416 + reg-names = "rev", "sysc", "syss"; 417 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 418 + <SYSC_IDLE_NO>, 419 + <SYSC_IDLE_SMART>; 420 + ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY | 421 + SYSC_OMAP2_ENAWAKEUP | 422 + SYSC_OMAP2_SOFTRESET | 423 + SYSC_OMAP2_AUTOIDLE)>; 424 + ti,syss-mask = <1>; 425 + #address-cells = <1>; 426 + #size-cells = <1>; 427 + ranges = <0 0x9000 0x1000>; 428 + 429 + dsi2: encoder@0 { 430 + compatible = "ti,omap5-dsi"; 431 + reg = <0 0x200>, 432 + <0x200 0x40>, 433 + <0x300 0x40>; 434 + reg-names = "proto", "phy", "pll"; 435 + interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 436 + status = "disabled"; 437 + clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>; 438 + clock-names = "fck"; 439 + }; 440 + }; 441 + 442 + target-module@40000 { 443 + compatible = "ti,sysc-omap4", "ti,sysc"; 444 + reg = <0x40000 0x4>, 445 + <0x40010 0x4>; 446 + reg-names = "rev", "sysc"; 447 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 448 + <SYSC_IDLE_NO>, 449 + <SYSC_IDLE_SMART>, 450 + <SYSC_IDLE_SMART_WKUP>; 451 + ti,sysc-mask = <(SYSC_OMAP4_SOFTRESET)>; 452 + clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 9>, 453 + <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 8>; 454 + clock-names = "fck", "dss_clk"; 455 + #address-cells = <1>; 456 + #size-cells = <1>; 457 + ranges = <0 0x40000 0x40000>; 458 + 459 + hdmi: encoder@0 { 460 + compatible = "ti,omap5-hdmi"; 461 + reg = <0 0x200>, 462 + <0x200 0x80>, 463 + <0x300 0x80>, 464 + <0x20000 0x19000>; 465 + reg-names = "wp", "pll", "phy", "core"; 466 + interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 467 + status = "disabled"; 468 + clocks = <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 9>, 469 + <&dss_clkctrl OMAP5_DSS_CORE_CLKCTRL 10>; 470 + clock-names = "fck", "sys_clk"; 471 + dmas = <&sdma 76>; 472 + dma-names = "audio_tx"; 473 + }; 474 + }; 368 475 }; 369 476 }; 370 477
+1
arch/arm/boot/dts/qcom-apq8064.dtsi
··· 350 350 reg = <0x800000 0x4000>; 351 351 352 352 gpio-controller; 353 + gpio-ranges = <&tlmm_pinmux 0 0 90>; 353 354 #gpio-cells = <2>; 354 355 interrupt-controller; 355 356 #interrupt-cells = <2>;
+1
arch/arm/boot/dts/qcom-apq8084.dtsi
··· 403 403 compatible = "qcom,apq8084-pinctrl"; 404 404 reg = <0xfd510000 0x4000>; 405 405 gpio-controller; 406 + gpio-ranges = <&tlmm 0 0 147>; 406 407 #gpio-cells = <2>; 407 408 interrupt-controller; 408 409 #interrupt-cells = <2>;
+1
arch/arm/boot/dts/qcom-ipq4019.dtsi
··· 201 201 compatible = "qcom,ipq4019-pinctrl"; 202 202 reg = <0x01000000 0x300000>; 203 203 gpio-controller; 204 + gpio-ranges = <&tlmm 0 0 100>; 204 205 #gpio-cells = <2>; 205 206 interrupt-controller; 206 207 #interrupt-cells = <2>;
+1
arch/arm/boot/dts/qcom-ipq8064.dtsi
··· 119 119 reg = <0x800000 0x4000>; 120 120 121 121 gpio-controller; 122 + gpio-ranges = <&qcom_pinmux 0 0 69>; 122 123 #gpio-cells = <2>; 123 124 interrupt-controller; 124 125 #interrupt-cells = <2>;
+1
arch/arm/boot/dts/qcom-mdm9615.dtsi
··· 128 128 msmgpio: pinctrl@800000 { 129 129 compatible = "qcom,mdm9615-pinctrl"; 130 130 gpio-controller; 131 + gpio-ranges = <&msmgpio 0 0 88>; 131 132 #gpio-cells = <2>; 132 133 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 133 134 interrupt-controller;
+1
arch/arm/boot/dts/qcom-msm8660.dtsi
··· 115 115 reg = <0x800000 0x4000>; 116 116 117 117 gpio-controller; 118 + gpio-ranges = <&tlmm 0 0 173>; 118 119 #gpio-cells = <2>; 119 120 interrupts = <0 16 0x4>; 120 121 interrupt-controller;
+1
arch/arm/boot/dts/qcom-msm8960.dtsi
··· 107 107 msmgpio: pinctrl@800000 { 108 108 compatible = "qcom,msm8960-pinctrl"; 109 109 gpio-controller; 110 + gpio-ranges = <&msmgpio 0 0 152>; 110 111 #gpio-cells = <2>; 111 112 interrupts = <0 16 0x4>; 112 113 interrupt-controller;
+71
arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts
··· 12 12 13 13 aliases { 14 14 serial0 = &blsp1_uart1; 15 + serial1 = &blsp2_uart10; 15 16 }; 16 17 17 18 chosen { ··· 356 355 bias-disable; 357 356 }; 358 357 }; 358 + 359 + bt_pin: bt { 360 + hostwake { 361 + pins = "gpio42"; 362 + function = "gpio"; 363 + }; 364 + 365 + devwake { 366 + pins = "gpio62"; 367 + function = "gpio"; 368 + }; 369 + 370 + shutdown { 371 + pins = "gpio41"; 372 + function = "gpio"; 373 + }; 374 + }; 375 + 376 + blsp2_uart10_pin_a: blsp2-uart10-pin-active { 377 + tx { 378 + pins = "gpio53"; 379 + function = "blsp_uart10"; 380 + 381 + drive-strength = <2>; 382 + bias-disable; 383 + }; 384 + 385 + rx { 386 + pins = "gpio54"; 387 + function = "blsp_uart10"; 388 + 389 + drive-strength = <2>; 390 + bias-pull-up; 391 + }; 392 + 393 + cts { 394 + pins = "gpio55"; 395 + function = "blsp_uart10"; 396 + 397 + drive-strength = <2>; 398 + bias-pull-up; 399 + }; 400 + 401 + rts { 402 + pins = "gpio56"; 403 + function = "blsp_uart10"; 404 + 405 + drive-strength = <2>; 406 + bias-disable; 407 + }; 408 + }; 359 409 }; 360 410 361 411 sdhci@f9824900 { ··· 467 415 gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>; 468 416 linux,input-type = <1>; 469 417 linux,code = <KEY_VOLUMEDOWN>; 418 + }; 419 + }; 420 + 421 + serial@f9960000 { 422 + status = "ok"; 423 + 424 + pinctrl-names = "default"; 425 + pinctrl-0 = <&blsp2_uart10_pin_a>; 426 + 427 + bluetooth { 428 + compatible = "brcm,bcm43438-bt"; 429 + max-speed = <3000000>; 430 + 431 + pinctrl-names = "default"; 432 + pinctrl-0 = <&bt_pin>; 433 + 434 + host-wakeup-gpios = <&msmgpio 42 GPIO_ACTIVE_HIGH>; 435 + device-wakeup-gpios = <&msmgpio 62 GPIO_ACTIVE_HIGH>; 436 + shutdown-gpios = <&msmgpio 41 GPIO_ACTIVE_HIGH>; 470 437 }; 471 438 }; 472 439
+25
arch/arm/boot/dts/qcom-msm8974-sony-xperia-honami.dts
··· 260 260 }; 261 261 262 262 &soc { 263 + usb@f9a55000 { 264 + status = "ok"; 265 + 266 + phys = <&usb_hs1_phy>; 267 + phy-select = <&tcsr 0xb000 0>; 268 + extcon = <&smbb>, <&usb_id>; 269 + vbus-supply = <&chg_otg>; 270 + 271 + hnp-disable; 272 + srp-disable; 273 + adp-disable; 274 + 275 + ulpi { 276 + phy@a { 277 + status = "ok"; 278 + 279 + v1p8-supply = <&pm8941_l6>; 280 + v3p3-supply = <&pm8941_l24>; 281 + 282 + extcon = <&smbb>; 283 + qcom,init-seq = /bits/ 8 <0x1 0x64>; 284 + }; 285 + }; 286 + }; 287 + 263 288 sdhci@f9824900 { 264 289 status = "ok"; 265 290
+10
arch/arm/boot/dts/qcom-msm8974.dtsi
··· 715 715 status = "disabled"; 716 716 }; 717 717 718 + blsp2_uart10: serial@f9960000 { 719 + compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 720 + reg = <0xf9960000 0x1000>; 721 + interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 722 + clocks = <&gcc GCC_BLSP2_UART4_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>; 723 + clock-names = "core", "iface"; 724 + status = "disabled"; 725 + }; 726 + 718 727 sdhci@f9824900 { 719 728 compatible = "qcom,msm8974-sdhci", "qcom,sdhci-msm-v4"; 720 729 reg = <0xf9824900 0x11c>, <0xf9824000 0x800>; ··· 934 925 compatible = "qcom,msm8974-pinctrl"; 935 926 reg = <0xfd510000 0x4000>; 936 927 gpio-controller; 928 + gpio-ranges = <&msmgpio 0 0 146>; 937 929 #gpio-cells = <2>; 938 930 interrupt-controller; 939 931 #interrupt-cells = <2>;
+3
arch/arm/boot/dts/r7s72100-gr-peach.dts
··· 41 41 bank-width = <4>; 42 42 device-width = <1>; 43 43 44 + clocks = <&mstp9_clks R7S72100_CLK_SPIBSC0>; 45 + power-domains = <&cpg_clocks>; 46 + 44 47 #address-cells = <1>; 45 48 #size-cells = <1>; 46 49
+3 -2
arch/arm/boot/dts/r7s72100.dtsi
··· 467 467 #clock-cells = <1>; 468 468 compatible = "renesas,r7s72100-mstp-clocks", "renesas,cpg-mstp-clocks"; 469 469 reg = <0xfcfe0438 4>; 470 - clocks = <&p0_clk>, <&p0_clk>, <&p0_clk>, <&p0_clk>; 470 + clocks = <&p0_clk>, <&p0_clk>, <&p0_clk>, <&p0_clk>, <&b_clk>, <&b_clk>; 471 471 clock-indices = < 472 472 R7S72100_CLK_I2C0 R7S72100_CLK_I2C1 R7S72100_CLK_I2C2 R7S72100_CLK_I2C3 473 + R7S72100_CLK_SPIBSC0 R7S72100_CLK_SPIBSC1 473 474 >; 474 - clock-output-names = "i2c0", "i2c1", "i2c2", "i2c3"; 475 + clock-output-names = "i2c0", "i2c1", "i2c2", "i2c3", "spibsc0", "spibsc1"; 475 476 }; 476 477 477 478 mstp10_clks: mstp10_clks@fcfe043c {
+2 -5
arch/arm/boot/dts/r8a73a4-ape6evm.dts
··· 157 157 158 158 &cpu0 { 159 159 cpu0-supply = <&vdd_dvfs>; 160 - operating-points = < 161 - /* kHz uV */ 162 - 1950000 1115000 163 - 1462500 995000 164 - >; 160 + operating-points = <1950000 1115000>, /* kHz uV */ 161 + <1462500 995000>; 165 162 voltage-tolerance = <1>; /* 1% */ 166 163 }; 167 164
+3 -2
arch/arm/boot/dts/r8a7743.dtsi
··· 1669 1669 reg = <0 0xfeb00000 0 0x40000>; 1670 1670 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 1671 1671 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; 1672 - clocks = <&cpg CPG_MOD 724>, 1673 - <&cpg CPG_MOD 723>; 1672 + clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>; 1674 1673 clock-names = "du.0", "du.1"; 1674 + resets = <&cpg 724>; 1675 + reset-names = "du.0"; 1675 1676 status = "disabled"; 1676 1677 1677 1678 ports {
+3 -2
arch/arm/boot/dts/r8a7744.dtsi
··· 1655 1655 reg = <0 0xfeb00000 0 0x40000>; 1656 1656 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 1657 1657 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; 1658 - clocks = <&cpg CPG_MOD 724>, 1659 - <&cpg CPG_MOD 723>; 1658 + clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>; 1660 1659 clock-names = "du.0", "du.1"; 1660 + resets = <&cpg 724>; 1661 + reset-names = "du.0"; 1661 1662 status = "disabled"; 1662 1663 1663 1664 ports {
+6
arch/arm/boot/dts/r8a7745-iwg22d-sodimm-dbhd-ca.dts
··· 108 108 }; 109 109 }; 110 110 111 + &lcd_panel { 112 + status = "disabled"; 113 + 114 + /delete-node/ port; 115 + }; 116 + 111 117 &pfc { 112 118 can1_pins: can1 { 113 119 groups = "can1_data_b";
+93
arch/arm/boot/dts/r8a7745-iwg22d-sodimm.dts
··· 30 30 31 31 /dts-v1/; 32 32 #include "r8a7745-iwg22m.dtsi" 33 + #include <dt-bindings/pwm/pwm.h> 33 34 34 35 / { 35 36 model = "iWave Systems RainboW-G22D-SODIMM board based on RZ/G1E"; ··· 78 77 gpios = <&gpio0 20 GPIO_ACTIVE_LOW>; 79 78 gpios-states = <1>; 80 79 states = <3300000 1>, <1800000 0>; 80 + }; 81 + 82 + vccq_panel: regulator-vccq-panel { 83 + compatible = "regulator-fixed"; 84 + regulator-name = "Panel VccQ"; 85 + regulator-min-microvolt = <3300000>; 86 + regulator-max-microvolt = <3300000>; 87 + gpio = <&gpio1 13 GPIO_ACTIVE_LOW>; 88 + enable-active-high; 89 + }; 90 + 91 + backlight_lcd: backlight { 92 + compatible = "pwm-backlight"; 93 + pwms = <&tpu 3 5000000 PWM_POLARITY_INVERTED>; 94 + brightness-levels = <0 4 8 16 32 64 128 255>; 95 + default-brightness-level = <7>; 96 + }; 97 + 98 + lcd_panel: lcd { 99 + compatible = "edt,etm043080dh6gp"; 100 + power-supply = <&vccq_panel>; 101 + backlight = <&backlight_lcd>; 102 + 103 + port { 104 + lcd_in: endpoint { 105 + remote-endpoint = <&du_out_rgb0>; 106 + }; 107 + }; 108 + }; 109 + }; 110 + 111 + &du { 112 + pinctrl-0 = <&du0_pins>; 113 + pinctrl-names = "default"; 114 + 115 + status = "okay"; 116 + 117 + ports { 118 + port@0 { 119 + endpoint { 120 + remote-endpoint = <&lcd_in>; 121 + }; 122 + }; 81 123 }; 82 124 }; 83 125 ··· 171 127 status = "okay"; 172 128 clock-frequency = <400000>; 173 129 130 + stmpe811@44 { 131 + compatible = "st,stmpe811"; 132 + reg = <0x44>; 133 + interrupt-parent = <&gpio4>; 134 + interrupts = <4 IRQ_TYPE_LEVEL_LOW>; 135 + 136 + /* 3.25 MHz ADC clock speed */ 137 + st,adc-freq = <1>; 138 + /* ADC converstion time: 80 clocks */ 139 + st,sample-time = <4>; 140 + /* 12-bit ADC */ 141 + st,mod-12b = <1>; 142 + /* internal ADC reference */ 143 + st,ref-sel = <0>; 144 + 145 + stmpe_touchscreen { 146 + compatible = "st,stmpe-ts"; 147 + /* 8 sample average control */ 148 + st,ave-ctrl = <3>; 149 + /* 7 length fractional part in z */ 150 + st,fraction-z = <7>; 151 + /* 152 + * 50 mA typical 80 mA max touchscreen drivers 153 + * current limit value 154 + */ 155 + st,i-drive = <1>; 156 + /* 1 ms panel driver settling time */ 157 + st,settling = <3>; 158 + /* 5 ms touch detect interrupt delay */ 159 + st,touch-det-delay = <5>; 160 + }; 161 + }; 162 + 174 163 sgtl5000: codec@a { 175 164 compatible = "fsl,sgtl5000"; 176 165 #sound-dai-cells = <0>; ··· 226 149 function = "avb"; 227 150 }; 228 151 152 + backlight_pins: backlight { 153 + groups = "tpu_to3_c"; 154 + function = "tpu"; 155 + }; 156 + 229 157 can0_pins: can0 { 230 158 groups = "can0_data"; 231 159 function = "can0"; 160 + }; 161 + 162 + du0_pins: du0 { 163 + groups = "du0_rgb666", "du0_sync", "du0_disp", "du0_clk0_out"; 164 + function = "du0"; 232 165 }; 233 166 234 167 hscif1_pins: hscif1 { ··· 314 227 315 228 &ssi4 { 316 229 shared-pin; 230 + }; 231 + 232 + &tpu { 233 + pinctrl-0 = <&backlight_pins>; 234 + pinctrl-names = "default"; 235 + status = "okay"; 317 236 }; 318 237 319 238 &usbphy {
+2 -1
arch/arm/boot/dts/r8a7745.dtsi
··· 1506 1506 du: display@feb00000 { 1507 1507 compatible = "renesas,du-r8a7745"; 1508 1508 reg = <0 0xfeb00000 0 0x40000>; 1509 - reg-names = "du"; 1510 1509 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 1511 1510 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; 1512 1511 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>; 1513 1512 clock-names = "du.0", "du.1"; 1513 + resets = <&cpg 724>; 1514 + reset-names = "du.0"; 1514 1515 status = "disabled"; 1515 1516 1516 1517 ports {
+3 -2
arch/arm/boot/dts/r8a77470.dtsi
··· 942 942 reg = <0 0xfeb00000 0 0x40000>; 943 943 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 944 944 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; 945 - clocks = <&cpg CPG_MOD 724>, 946 - <&cpg CPG_MOD 723>; 945 + clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>; 947 946 clock-names = "du.0", "du.1"; 947 + resets = <&cpg 724>; 948 + reset-names = "du.0"; 948 949 status = "disabled"; 949 950 950 951 ports {
+1
arch/arm/boot/dts/r8a7790-lager.dts
··· 674 674 interrupt-parent = <&irqc0>; 675 675 interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 676 676 micrel,led-mode = <1>; 677 + reset-gpios = <&gpio5 31 GPIO_ACTIVE_LOW>; 677 678 }; 678 679 }; 679 680
+1
arch/arm/boot/dts/r8a7790-stout.dts
··· 203 203 interrupt-parent = <&irqc0>; 204 204 interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 205 205 micrel,led-mode = <1>; 206 + reset-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>; 206 207 }; 207 208 }; 208 209
+2
arch/arm/boot/dts/r8a7790.dtsi
··· 1719 1719 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, 1720 1720 <&cpg CPG_MOD 722>; 1721 1721 clock-names = "du.0", "du.1", "du.2"; 1722 + resets = <&cpg 724>; 1723 + reset-names = "du.0"; 1722 1724 status = "disabled"; 1723 1725 1724 1726 ports {
+1
arch/arm/boot/dts/r8a7791-koelsch.dts
··· 633 633 interrupt-parent = <&irqc0>; 634 634 interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 635 635 micrel,led-mode = <1>; 636 + reset-gpios = <&gpio5 22 GPIO_ACTIVE_LOW>; 636 637 }; 637 638 }; 638 639
+1
arch/arm/boot/dts/r8a7791-porter.dts
··· 307 307 interrupt-parent = <&irqc0>; 308 308 interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 309 309 micrel,led-mode = <1>; 310 + reset-gpios = <&gpio5 22 GPIO_ACTIVE_LOW>; 310 311 }; 311 312 }; 312 313
+3 -2
arch/arm/boot/dts/r8a7791.dtsi
··· 1681 1681 reg = <0 0xfeb00000 0 0x40000>; 1682 1682 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 1683 1683 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; 1684 - clocks = <&cpg CPG_MOD 724>, 1685 - <&cpg CPG_MOD 723>; 1684 + clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>; 1686 1685 clock-names = "du.0", "du.1"; 1686 + resets = <&cpg 724>; 1687 + reset-names = "du.0"; 1687 1688 status = "disabled"; 1688 1689 1689 1690 ports {
+3 -2
arch/arm/boot/dts/r8a7792.dtsi
··· 852 852 reg = <0 0xfeb00000 0 0x40000>; 853 853 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 854 854 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; 855 - clocks = <&cpg CPG_MOD 724>, 856 - <&cpg CPG_MOD 723>; 855 + clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>; 857 856 clock-names = "du.0", "du.1"; 857 + resets = <&cpg 724>; 858 + reset-names = "du.0"; 858 859 status = "disabled"; 859 860 860 861 ports {
+1
arch/arm/boot/dts/r8a7793-gose.dts
··· 591 591 interrupt-parent = <&irqc0>; 592 592 interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 593 593 micrel,led-mode = <1>; 594 + reset-gpios = <&gpio5 22 GPIO_ACTIVE_LOW>; 594 595 }; 595 596 }; 596 597
+3 -2
arch/arm/boot/dts/r8a7793.dtsi
··· 1341 1341 reg = <0 0xfeb00000 0 0x40000>; 1342 1342 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 1343 1343 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; 1344 - clocks = <&cpg CPG_MOD 724>, 1345 - <&cpg CPG_MOD 723>; 1344 + clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>; 1346 1345 clock-names = "du.0", "du.1"; 1346 + resets = <&cpg 724>; 1347 + reset-names = "du.0"; 1347 1348 status = "disabled"; 1348 1349 1349 1350 ports {
+1
arch/arm/boot/dts/r8a7794-alt.dts
··· 343 343 interrupt-parent = <&irqc0>; 344 344 interrupts = <8 IRQ_TYPE_LEVEL_LOW>; 345 345 micrel,led-mode = <1>; 346 + reset-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; 346 347 }; 347 348 }; 348 349
+1
arch/arm/boot/dts/r8a7794-silk.dts
··· 394 394 interrupt-parent = <&irqc0>; 395 395 interrupts = <8 IRQ_TYPE_LEVEL_LOW>; 396 396 micrel,led-mode = <1>; 397 + reset-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; 397 398 }; 398 399 }; 399 400
+2
arch/arm/boot/dts/r8a7794.dtsi
··· 1356 1356 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; 1357 1357 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>; 1358 1358 clock-names = "du.0", "du.1"; 1359 + resets = <&cpg 724>; 1360 + reset-names = "du.0"; 1359 1361 status = "disabled"; 1360 1362 1361 1363 ports {
+1 -1
arch/arm/boot/dts/rk3036-kylin.dts
··· 319 319 bus-width = <4>; 320 320 cap-sd-highspeed; 321 321 cap-sdio-irq; 322 - default-sample-phase = <90>; 322 + rockchip,default-sample-phase = <90>; 323 323 keep-power-in-suspend; 324 324 mmc-pwrseq = <&sdio_pwrseq>; 325 325 non-removable;
+3 -5
arch/arm/boot/dts/rk3036.dtsi
··· 54 54 }; 55 55 }; 56 56 57 - amba { 57 + amba: bus { 58 58 compatible = "simple-bus"; 59 59 #address-cells = <1>; 60 60 #size-cells = <1>; ··· 101 101 #clock-cells = <0>; 102 102 }; 103 103 104 - bus_intmem@10080000 { 104 + bus_intmem: sram@10080000 { 105 105 compatible = "mmio-sram"; 106 106 reg = <0x10080000 0x2000>; 107 107 #address-cells = <1>; ··· 263 263 clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>, 264 264 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; 265 265 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 266 - default-sample-phase = <158>; 266 + rockchip,default-sample-phase = <158>; 267 267 disable-wp; 268 268 dmas = <&pdma 12>; 269 269 dma-names = "rx-tx"; ··· 281 281 compatible = "rockchip,rk3036-i2s", "rockchip,rk3066-i2s"; 282 282 reg = <0x10220000 0x4000>; 283 283 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 284 - #address-cells = <1>; 285 - #size-cells = <0>; 286 284 clock-names = "i2s_clk", "i2s_hclk"; 287 285 clocks = <&cru SCLK_I2S>, <&cru HCLK_I2S>; 288 286 dmas = <&pdma 0>, <&pdma 1>;
+6 -12
arch/arm/boot/dts/rk3066a.dtsi
··· 156 156 compatible = "rockchip,rk3066-i2s"; 157 157 reg = <0x10118000 0x2000>; 158 158 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 159 - #address-cells = <1>; 160 - #size-cells = <0>; 161 159 pinctrl-names = "default"; 162 160 pinctrl-0 = <&i2s0_bus>; 161 + clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0>; 162 + clock-names = "i2s_clk", "i2s_hclk"; 163 163 dmas = <&dmac1_s 4>, <&dmac1_s 5>; 164 164 dma-names = "tx", "rx"; 165 - clock-names = "i2s_hclk", "i2s_clk"; 166 - clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>; 167 165 rockchip,playback-channels = <8>; 168 166 rockchip,capture-channels = <2>; 169 167 #sound-dai-cells = <0>; ··· 172 174 compatible = "rockchip,rk3066-i2s"; 173 175 reg = <0x1011a000 0x2000>; 174 176 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 175 - #address-cells = <1>; 176 - #size-cells = <0>; 177 177 pinctrl-names = "default"; 178 178 pinctrl-0 = <&i2s1_bus>; 179 + clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1>; 180 + clock-names = "i2s_clk", "i2s_hclk"; 179 181 dmas = <&dmac1_s 6>, <&dmac1_s 7>; 180 182 dma-names = "tx", "rx"; 181 - clock-names = "i2s_hclk", "i2s_clk"; 182 - clocks = <&cru HCLK_I2S1>, <&cru SCLK_I2S1>; 183 183 rockchip,playback-channels = <2>; 184 184 rockchip,capture-channels = <2>; 185 185 #sound-dai-cells = <0>; ··· 188 192 compatible = "rockchip,rk3066-i2s"; 189 193 reg = <0x1011c000 0x2000>; 190 194 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 191 - #address-cells = <1>; 192 - #size-cells = <0>; 193 195 pinctrl-names = "default"; 194 196 pinctrl-0 = <&i2s2_bus>; 197 + clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2>; 198 + clock-names = "i2s_clk", "i2s_hclk"; 195 199 dmas = <&dmac1_s 9>, <&dmac1_s 10>; 196 200 dma-names = "tx", "rx"; 197 - clock-names = "i2s_hclk", "i2s_clk"; 198 - clocks = <&cru HCLK_I2S2>, <&cru SCLK_I2S2>; 199 201 rockchip,playback-channels = <2>; 200 202 rockchip,capture-channels = <2>; 201 203 #sound-dai-cells = <0>;
+17 -12
arch/arm/boot/dts/rk3188-bqedison2qc.dts
··· 58 58 59 59 lvds-encoder { 60 60 compatible = "ti,sn75lvds83", "lvds-encoder"; 61 - #address-cells = <1>; 62 - #size-cells = <0>; 63 61 64 - port@0 { 65 - reg = <0>; 66 - lvds_in_vop0: endpoint { 67 - remote-endpoint = <&vop0_out_lvds>; 62 + ports { 63 + #address-cells = <1>; 64 + #size-cells = <0>; 65 + 66 + port@0 { 67 + reg = <0>; 68 + 69 + lvds_in_vop0: endpoint { 70 + remote-endpoint = <&vop0_out_lvds>; 71 + }; 68 72 }; 69 - }; 70 73 71 - port@1 { 72 - reg = <1>; 73 - lvds_out_panel: endpoint { 74 - remote-endpoint = <&panel_in_lvds>; 74 + port@1 { 75 + reg = <1>; 76 + 77 + lvds_out_panel: endpoint { 78 + remote-endpoint = <&panel_in_lvds>; 79 + }; 75 80 }; 76 81 }; 77 82 }; ··· 470 465 non-removable; 471 466 pinctrl-names = "default"; 472 467 pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_bus4>; 473 - vmmcq-supply = <&vccio_wl>; 468 + vqmmc-supply = <&vccio_wl>; 474 469 #address-cells = <1>; 475 470 #size-cells = <0>; 476 471 status = "okay";
+4 -6
arch/arm/boot/dts/rk3188.dtsi
··· 166 166 compatible = "rockchip,rk3188-i2s", "rockchip,rk3066-i2s"; 167 167 reg = <0x1011a000 0x2000>; 168 168 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 169 - #address-cells = <1>; 170 - #size-cells = <0>; 171 169 pinctrl-names = "default"; 172 170 pinctrl-0 = <&i2s0_bus>; 171 + clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0>; 172 + clock-names = "i2s_clk", "i2s_hclk"; 173 173 dmas = <&dmac1_s 6>, <&dmac1_s 7>; 174 174 dma-names = "tx", "rx"; 175 - clock-names = "i2s_hclk", "i2s_clk"; 176 - clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>; 177 175 rockchip,playback-channels = <2>; 178 176 rockchip,capture-channels = <2>; 179 177 #sound-dai-cells = <0>; ··· 182 184 compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif"; 183 185 reg = <0x1011e000 0x2000>; 184 186 #sound-dai-cells = <0>; 185 - clock-names = "hclk", "mclk"; 186 - clocks = <&cru HCLK_SPDIF>, <&cru SCLK_SPDIF>; 187 + clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF>; 188 + clock-names = "mclk", "hclk"; 187 189 dmas = <&dmac1_s 8>; 188 190 dma-names = "tx"; 189 191 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+2 -15
arch/arm/boot/dts/rk322x.dtsi
··· 95 95 }; 96 96 }; 97 97 98 - amba { 98 + amba: bus { 99 99 compatible = "simple-bus"; 100 100 #address-cells = <1>; 101 101 #size-cells = <1>; ··· 152 152 compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s"; 153 153 reg = <0x100b0000 0x4000>; 154 154 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 155 - #address-cells = <1>; 156 - #size-cells = <0>; 157 155 clock-names = "i2s_clk", "i2s_hclk"; 158 156 clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1_8CH>; 159 157 dmas = <&pdma 14>, <&pdma 15>; ··· 165 167 compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s"; 166 168 reg = <0x100c0000 0x4000>; 167 169 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 168 - #address-cells = <1>; 169 - #size-cells = <0>; 170 170 clock-names = "i2s_clk", "i2s_hclk"; 171 171 clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0_8CH>; 172 172 dmas = <&pdma 11>, <&pdma 12>; ··· 189 193 compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s"; 190 194 reg = <0x100e0000 0x4000>; 191 195 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 192 - #address-cells = <1>; 193 - #size-cells = <0>; 194 196 clock-names = "i2s_clk", "i2s_hclk"; 195 197 clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2_2CH>; 196 198 dmas = <&pdma 0>, <&pdma 1>; ··· 692 698 <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; 693 699 clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 694 700 bus-width = <8>; 695 - default-sample-phase = <158>; 701 + rockchip,default-sample-phase = <158>; 696 702 fifo-depth = <0x100>; 697 703 pinctrl-names = "default"; 698 704 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; ··· 712 718 g-np-tx-fifo-size = <16>; 713 719 g-rx-fifo-size = <280>; 714 720 g-tx-fifo-size = <256 128 128 64 32 16>; 715 - g-use-dma; 716 721 phys = <&u2phy0_otg>; 717 722 phy-names = "usb2-phy"; 718 723 status = "disabled"; ··· 722 729 reg = <0x30080000 0x20000>; 723 730 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 724 731 clocks = <&cru HCLK_HOST0>, <&u2phy0>; 725 - clock-names = "usbhost", "utmi"; 726 732 phys = <&u2phy0_host>; 727 733 phy-names = "usb"; 728 734 status = "disabled"; ··· 732 740 reg = <0x300a0000 0x20000>; 733 741 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 734 742 clocks = <&cru HCLK_HOST0>, <&u2phy0>; 735 - clock-names = "usbhost", "utmi"; 736 743 phys = <&u2phy0_host>; 737 744 phy-names = "usb"; 738 745 status = "disabled"; ··· 742 751 reg = <0x300c0000 0x20000>; 743 752 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 744 753 clocks = <&cru HCLK_HOST1>, <&u2phy1>; 745 - clock-names = "usbhost", "utmi"; 746 754 phys = <&u2phy1_otg>; 747 755 phy-names = "usb"; 748 756 status = "disabled"; ··· 752 762 reg = <0x300e0000 0x20000>; 753 763 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 754 764 clocks = <&cru HCLK_HOST1>, <&u2phy1>; 755 - clock-names = "usbhost", "utmi"; 756 765 phys = <&u2phy1_otg>; 757 766 phy-names = "usb"; 758 767 status = "disabled"; ··· 764 775 clocks = <&cru HCLK_HOST2>, <&u2phy1>; 765 776 phys = <&u2phy1_host>; 766 777 phy-names = "usb"; 767 - clock-names = "usbhost", "utmi"; 768 778 status = "disabled"; 769 779 }; 770 780 ··· 772 784 reg = <0x30120000 0x20000>; 773 785 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 774 786 clocks = <&cru HCLK_HOST2>, <&u2phy1>; 775 - clock-names = "usbhost", "utmi"; 776 787 phys = <&u2phy1_host>; 777 788 phy-names = "usb"; 778 789 status = "disabled";
+1
arch/arm/boot/dts/rk3288-evb-act8846.dts
··· 4 4 #include "rk3288-evb.dtsi" 5 5 6 6 / { 7 + model = "Rockchip RK3288 EVB ACT8846"; 7 8 compatible = "rockchip,rk3288-evb-act8846", "rockchip,rk3288"; 8 9 9 10 vcc_lcd: vcc-lcd {
+1
arch/arm/boot/dts/rk3288-evb-rk808.dts
··· 4 4 #include "rk3288-evb.dtsi" 5 5 6 6 / { 7 + model = "Rockchip RK3288 EVB RK808"; 7 8 compatible = "rockchip,rk3288-evb-rk808", "rockchip,rk3288"; 8 9 }; 9 10
+1
arch/arm/boot/dts/rk3288-firefly-reload.dts
··· 234 234 }; 235 235 236 236 &saradc { 237 + vref-supply = <&vcc_18>; 237 238 status = "okay"; 238 239 }; 239 240
+1
arch/arm/boot/dts/rk3288-r89.dts
··· 9 9 #include "rk3288.dtsi" 10 10 11 11 / { 12 + model = "Netxeon R89"; 12 13 compatible = "netxeon,r89", "rockchip,rk3288"; 13 14 14 15 memory@0 {
+1
arch/arm/boot/dts/rk3288-tinker.dtsi
··· 276 276 }; 277 277 278 278 vccio_sd: LDO_REG5 { 279 + regulator-always-on; 279 280 regulator-boot-on; 280 281 regulator-min-microvolt = <1800000>; 281 282 regulator-max-microvolt = <3300000>;
+23 -5
arch/arm/boot/dts/rk3288-vyasa.dts
··· 78 78 vin-supply = <&vcc_io>; 79 79 }; 80 80 81 + vcc50_hdmi: vcc50-hdmi { 82 + compatible = "regulator-fixed"; 83 + regulator-name = "vcc50_hdmi"; 84 + enable-active-high; 85 + gpio = <&gpio7 RK_PB4 GPIO_ACTIVE_HIGH>; /* HDMI_EN */ 86 + pinctrl-names = "default"; 87 + pinctrl-0 = <&vcc50_hdmi_en>; 88 + regulator-always-on; 89 + regulator-boot-on; 90 + vin-supply = <&vsus_5v>; 91 + }; 92 + 81 93 vusb1_5v: vusb1-5v { 82 94 compatible = "regulator-fixed"; 83 95 regulator-name = "vusb1_5v"; ··· 162 150 }; 163 151 164 152 &hdmi { 165 - ddc-i2c-bus = <&i2c2>; 153 + ddc-i2c-bus = <&i2c5>; 166 154 status = "okay"; 167 155 }; 168 156 ··· 298 286 }; 299 287 }; 300 288 301 - vcc10_lcd: LDO_REG6 { 302 - regulator-name = "vcc10_lcd"; 289 + vdd10_lcd: LDO_REG6 { 290 + regulator-name = "vdd10_lcd"; 303 291 regulator-min-microvolt = <1000000>; 304 292 regulator-max-microvolt = <1000000>; 305 293 regulator-always-on; 306 294 regulator-boot-on; 307 295 regulator-state-mem { 308 296 regulator-on-in-suspend; 309 - regulator-suspend-microvolt = <1800000>; 297 + regulator-suspend-microvolt = <1000000>; 310 298 }; 311 299 }; 312 300 ··· 359 347 }; 360 348 }; 361 349 362 - &i2c2 { 350 + &i2c5 { 363 351 status = "okay"; 364 352 }; 365 353 ··· 455 443 456 444 phy_rst: phy-rst { 457 445 rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_output_high>; 446 + }; 447 + }; 448 + 449 + hdmi { 450 + vcc50_hdmi_en: vcc50-hdmi-en { 451 + rockchip,pins = <7 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; 458 452 }; 459 453 }; 460 454
+15 -11
arch/arm/boot/dts/rk3288.dtsi
··· 155 155 }; 156 156 }; 157 157 158 - amba { 158 + amba: bus { 159 159 compatible = "simple-bus"; 160 160 #address-cells = <2>; 161 161 #size-cells = <2>; ··· 420 420 reg-io-width = <4>; 421 421 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 422 422 clock-names = "baudclk", "apb_pclk"; 423 + dmas = <&dmac_peri 1>, <&dmac_peri 2>; 424 + dma-names = "tx", "rx"; 423 425 pinctrl-names = "default"; 424 426 pinctrl-0 = <&uart0_xfer>; 425 427 status = "disabled"; ··· 435 433 reg-io-width = <4>; 436 434 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 437 435 clock-names = "baudclk", "apb_pclk"; 436 + dmas = <&dmac_peri 3>, <&dmac_peri 4>; 437 + dma-names = "tx", "rx"; 438 438 pinctrl-names = "default"; 439 439 pinctrl-0 = <&uart1_xfer>; 440 440 status = "disabled"; ··· 463 459 reg-io-width = <4>; 464 460 clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 465 461 clock-names = "baudclk", "apb_pclk"; 462 + dmas = <&dmac_peri 7>, <&dmac_peri 8>; 463 + dma-names = "tx", "rx"; 466 464 pinctrl-names = "default"; 467 465 pinctrl-0 = <&uart3_xfer>; 468 466 status = "disabled"; ··· 478 472 reg-io-width = <4>; 479 473 clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; 480 474 clock-names = "baudclk", "apb_pclk"; 475 + dmas = <&dmac_peri 9>, <&dmac_peri 10>; 476 + dma-names = "tx", "rx"; 481 477 pinctrl-names = "default"; 482 478 pinctrl-0 = <&uart4_xfer>; 483 479 status = "disabled"; ··· 609 601 reg = <0x0 0xff500000 0x0 0x100>; 610 602 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 611 603 clocks = <&cru HCLK_USBHOST0>; 612 - clock-names = "usbhost"; 613 604 phys = <&usbphy1>; 614 605 phy-names = "usb"; 615 606 status = "disabled"; ··· 651 644 reg = <0x0 0xff5c0000 0x0 0x100>; 652 645 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 653 646 clocks = <&cru HCLK_HSIC>; 654 - clock-names = "usbhost"; 655 647 status = "disabled"; 656 648 }; 657 649 ··· 724 718 status = "disabled"; 725 719 }; 726 720 727 - bus_intmem@ff700000 { 721 + bus_intmem: sram@ff700000 { 728 722 compatible = "mmio-sram"; 729 723 reg = <0x0 0xff700000 0x0 0x18000>; 730 724 #address-cells = <1>; ··· 736 730 }; 737 731 }; 738 732 739 - sram@ff720000 { 733 + pmu_sram: sram@ff720000 { 740 734 compatible = "rockchip,rk3288-pmu-sram", "mmio-sram"; 741 735 reg = <0x0 0xff720000 0x0 0x1000>; 742 736 }; ··· 952 946 compatible = "rockchip,rk3288-spdif", "rockchip,rk3066-spdif"; 953 947 reg = <0x0 0xff8b0000 0x0 0x10000>; 954 948 #sound-dai-cells = <0>; 955 - clock-names = "hclk", "mclk"; 956 - clocks = <&cru HCLK_SPDIF8CH>, <&cru SCLK_SPDIF8CH>; 949 + clocks = <&cru SCLK_SPDIF8CH>, <&cru HCLK_SPDIF8CH>; 950 + clock-names = "mclk", "hclk"; 957 951 dmas = <&dmac_bus_s 3>; 958 952 dma-names = "tx"; 959 953 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; ··· 968 962 reg = <0x0 0xff890000 0x0 0x10000>; 969 963 #sound-dai-cells = <0>; 970 964 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 971 - #address-cells = <1>; 972 - #size-cells = <0>; 965 + clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0>; 966 + clock-names = "i2s_clk", "i2s_hclk"; 973 967 dmas = <&dmac_bus_s 0>, <&dmac_bus_s 1>; 974 968 dma-names = "tx", "rx"; 975 - clock-names = "i2s_hclk", "i2s_clk"; 976 - clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>; 977 969 pinctrl-names = "default"; 978 970 pinctrl-0 = <&i2s0_bus>; 979 971 rockchip,playback-channels = <8>;
+2 -2
arch/arm/boot/dts/rk3xxx.dtsi
··· 32 32 spi1 = &spi1; 33 33 }; 34 34 35 - amba { 35 + amba: bus { 36 36 compatible = "simple-bus"; 37 37 #address-cells = <1>; 38 38 #size-cells = <1>; ··· 91 91 status = "disabled"; 92 92 }; 93 93 94 - L2: l2-cache-controller@10138000 { 94 + L2: cache-controller@10138000 { 95 95 compatible = "arm,pl310-cache"; 96 96 reg = <0x10138000 0x1000>; 97 97 cache-unified;
+2 -10
arch/arm/boot/dts/rv1108.dtsi
··· 85 85 #clock-cells = <0>; 86 86 }; 87 87 88 - amba { 88 + amba: bus { 89 89 compatible = "simple-bus"; 90 90 #address-cells = <1>; 91 91 #size-cells = <1>; ··· 102 102 }; 103 103 }; 104 104 105 - bus_intmem@10080000 { 105 + bus_intmem: sram@10080000 { 106 106 compatible = "mmio-sram"; 107 107 reg = <0x10080000 0x2000>; 108 108 #address-cells = <1>; ··· 120 120 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 121 121 clock-names = "baudclk", "apb_pclk"; 122 122 dmas = <&pdma 6>, <&pdma 7>; 123 - #dma-cells = <2>; 124 123 pinctrl-names = "default"; 125 124 pinctrl-0 = <&uart2m0_xfer>; 126 125 status = "disabled"; ··· 135 136 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 136 137 clock-names = "baudclk", "apb_pclk"; 137 138 dmas = <&pdma 4>, <&pdma 5>; 138 - #dma-cells = <2>; 139 139 pinctrl-names = "default"; 140 140 pinctrl-0 = <&uart1_xfer>; 141 141 status = "disabled"; ··· 150 152 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 151 153 clock-names = "baudclk", "apb_pclk"; 152 154 dmas = <&pdma 2>, <&pdma 3>; 153 - #dma-cells = <2>; 154 155 pinctrl-names = "default"; 155 156 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 156 157 status = "disabled"; ··· 205 208 clock-names = "spiclk", "apb_pclk"; 206 209 dmas = <&pdma 8>, <&pdma 9>; 207 210 dma-names = "tx", "rx"; 208 - #dma-cells = <2>; 209 211 #address-cells = <1>; 210 212 #size-cells = <0>; 211 213 status = "disabled"; ··· 366 370 reg = <0x1038c000 0x100>; 367 371 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 368 372 #io-channel-cells = <1>; 369 - clock-frequency = <1000000>; 370 373 clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>; 371 374 clock-names = "saradc", "apb_pclk"; 372 375 status = "disabled"; ··· 494 499 reg = <0x30140000 0x20000>; 495 500 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 496 501 clocks = <&cru HCLK_HOST0>, <&u2phy>; 497 - clock-names = "usbhost", "utmi"; 498 502 phys = <&u2phy_host>; 499 503 phy-names = "usb"; 500 504 status = "disabled"; ··· 504 510 reg = <0x30160000 0x20000>; 505 511 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 506 512 clocks = <&cru HCLK_HOST0>, <&u2phy>; 507 - clock-names = "usbhost", "utmi"; 508 513 phys = <&u2phy_host>; 509 514 phy-names = "usb"; 510 515 status = "disabled"; ··· 520 527 g-np-tx-fifo-size = <16>; 521 528 g-rx-fifo-size = <280>; 522 529 g-tx-fifo-size = <256 128 128 64 32 16>; 523 - g-use-dma; 524 530 phys = <&u2phy_otg>; 525 531 phy-names = "usb2-phy"; 526 532 status = "disabled";
+8
arch/arm/boot/dts/sam9x60.dtsi
··· 686 686 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 687 687 clocks = <&clk32k 0>; 688 688 }; 689 + 690 + watchdog: watchdog@ffffff80 { 691 + compatible = "microchip,sam9x60-wdt"; 692 + reg = <0xffffff80 0x24>; 693 + interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 694 + clocks = <&clk32k 0>; 695 + status = "disabled"; 696 + }; 689 697 }; 690 698 }; 691 699 };
+1 -1
arch/arm/boot/dts/sama5d2.dtsi
··· 695 695 }; 696 696 697 697 rtc: rtc@f80480b0 { 698 - compatible = "atmel,at91rm9200-rtc"; 698 + compatible = "atmel,sama5d2-rtc"; 699 699 reg = <0xf80480b0 0x30>; 700 700 interrupts = <74 IRQ_TYPE_LEVEL_HIGH 7>; 701 701 clocks = <&clk32k>;
+30 -3
arch/arm/boot/dts/sama5d3.dtsi
··· 159 159 dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(7)>, 160 160 <&dma0 2 AT91_DMA_CFG_PER_ID(8)>; 161 161 dma-names = "tx", "rx"; 162 - pinctrl-names = "default"; 162 + pinctrl-names = "default", "gpio"; 163 163 pinctrl-0 = <&pinctrl_i2c0>; 164 + pinctrl-1 = <&pinctrl_i2c0_gpio>; 165 + sda-gpios = <&pioA 30 GPIO_ACTIVE_HIGH>; 166 + scl-gpios = <&pioA 31 GPIO_ACTIVE_HIGH>; 164 167 #address-cells = <1>; 165 168 #size-cells = <0>; 166 169 clocks = <&twi0_clk>; ··· 177 174 dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(9)>, 178 175 <&dma0 2 AT91_DMA_CFG_PER_ID(10)>; 179 176 dma-names = "tx", "rx"; 180 - pinctrl-names = "default"; 177 + pinctrl-names = "default", "gpio"; 181 178 pinctrl-0 = <&pinctrl_i2c1>; 179 + pinctrl-1 = <&pinctrl_i2c1_gpio>; 180 + sda-gpios = <&pioC 26 GPIO_ACTIVE_HIGH>; 181 + scl-gpios = <&pioC 27 GPIO_ACTIVE_HIGH>; 182 182 #address-cells = <1>; 183 183 #size-cells = <0>; 184 184 clocks = <&twi1_clk>; ··· 363 357 dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(11)>, 364 358 <&dma1 2 AT91_DMA_CFG_PER_ID(12)>; 365 359 dma-names = "tx", "rx"; 366 - pinctrl-names = "default"; 360 + pinctrl-names = "default", "gpio"; 367 361 pinctrl-0 = <&pinctrl_i2c2>; 362 + pinctrl-1 = <&pinctrl_i2c2_gpio>; 363 + sda-gpios = <&pioA 18 GPIO_ACTIVE_HIGH>; 364 + scl-gpios = <&pioA 19 GPIO_ACTIVE_HIGH>; 368 365 #address-cells = <1>; 369 366 #size-cells = <0>; 370 367 clocks = <&twi2_clk>; ··· 648 639 <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA30 periph A TWD0 pin, conflicts with URXD1, ISI_VSYNC */ 649 640 AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA31 periph A TWCK0 pin, conflicts with UTXD1, ISI_HSYNC */ 650 641 }; 642 + 643 + pinctrl_i2c0_gpio: i2c0-gpio { 644 + atmel,pins = 645 + <AT91_PIOA 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE 646 + AT91_PIOA 31 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 647 + }; 651 648 }; 652 649 653 650 i2c1 { ··· 662 647 <AT91_PIOC 26 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC26 periph B TWD1 pin, conflicts with SPI1_NPCS1, ISI_D11 */ 663 648 AT91_PIOC 27 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC27 periph B TWCK1 pin, conflicts with SPI1_NPCS2, ISI_D10 */ 664 649 }; 650 + 651 + pinctrl_i2c1_gpio: i2c1-gpio { 652 + atmel,pins = 653 + <AT91_PIOC 26 AT91_PERIPH_GPIO AT91_PINCTRL_NONE 654 + AT91_PIOC 27 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 655 + }; 665 656 }; 666 657 667 658 i2c2 { ··· 675 654 atmel,pins = 676 655 <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_NONE /* TWD2 pin, conflicts with LCDDAT18, ISI_D2 */ 677 656 AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* TWCK2 pin, conflicts with LCDDAT19, ISI_D3 */ 657 + }; 658 + 659 + pinctrl_i2c2_gpio: i2c2-gpio { 660 + atmel,pins = 661 + <AT91_PIOA 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE 662 + AT91_PIOA 19 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 678 663 }; 679 664 }; 680 665
+31 -4
arch/arm/boot/dts/sama5d4.dtsi
··· 458 458 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) 459 459 | AT91_XDMAC_DT_PERID(3))>; 460 460 dma-names = "tx", "rx"; 461 - pinctrl-names = "default"; 461 + pinctrl-names = "default", "gpio"; 462 462 pinctrl-0 = <&pinctrl_i2c0>; 463 + pinctrl-1 = <&pinctrl_i2c0_gpio>; 464 + sda-gpios = <&pioA 30 GPIO_ACTIVE_HIGH>; 465 + scl-gpios = <&pioA 31 GPIO_ACTIVE_HIGH>; 463 466 #address-cells = <1>; 464 467 #size-cells = <0>; 465 468 clocks = <&pmc PMC_TYPE_PERIPHERAL 32>; ··· 480 477 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) 481 478 | AT91_XDMAC_DT_PERID(5))>; 482 479 dma-names = "tx", "rx"; 483 - pinctrl-names = "default"; 480 + pinctrl-names = "default", "gpio"; 484 481 pinctrl-0 = <&pinctrl_i2c1>; 482 + pinctrl-1 = <&pinctrl_i2c1_gpio>; 483 + sda-gpios = <&pioE 29 GPIO_ACTIVE_HIGH>; 484 + scl-gpios = <&pioE 30 GPIO_ACTIVE_HIGH>; 485 485 #address-cells = <1>; 486 486 #size-cells = <0>; 487 487 clocks = <&pmc PMC_TYPE_PERIPHERAL 33>; ··· 525 519 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) 526 520 | AT91_XDMAC_DT_PERID(7))>; 527 521 dma-names = "tx", "rx"; 528 - pinctrl-names = "default"; 522 + pinctrl-names = "default", "gpio"; 529 523 pinctrl-0 = <&pinctrl_i2c2>; 524 + pinctrl-1 = <&pinctrl_i2c2_gpio>; 525 + sda-gpios = <&pioB 29 GPIO_ACTIVE_HIGH>; 526 + scl-gpios = <&pioB 30 GPIO_ACTIVE_HIGH>; 530 527 #address-cells = <1>; 531 528 #size-cells = <0>; 532 529 clocks = <&pmc PMC_TYPE_PERIPHERAL 34>; ··· 893 884 }; 894 885 895 886 rtc@fc0686b0 { 896 - compatible = "atmel,at91rm9200-rtc"; 887 + compatible = "atmel,sama5d4-rtc"; 897 888 reg = <0xfc0686b0 0x30>; 898 889 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 899 890 clocks = <&clk32k>; ··· 1131 1122 <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_NONE 1132 1123 AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_NONE>; 1133 1124 }; 1125 + 1126 + pinctrl_i2c0_gpio: i2c0-gpio { 1127 + atmel,pins = 1128 + <AT91_PIOA 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE 1129 + AT91_PIOA 31 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 1130 + }; 1134 1131 }; 1135 1132 1136 1133 i2c1 { ··· 1145 1130 <AT91_PIOE 29 AT91_PERIPH_C AT91_PINCTRL_NONE /* TWD1, conflicts with UART0 RX and DIBP */ 1146 1131 AT91_PIOE 30 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* TWCK1, conflicts with UART0 TX and DIBN */ 1147 1132 }; 1133 + 1134 + pinctrl_i2c1_gpio: i2c1-gpio { 1135 + atmel,pins = 1136 + <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_NONE 1137 + AT91_PIOE 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 1138 + }; 1148 1139 }; 1149 1140 1150 1141 i2c2 { ··· 1158 1137 atmel,pins = 1159 1138 <AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_NONE /* TWD2, conflicts with RD0 and PWML1 */ 1160 1139 AT91_PIOB 30 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* TWCK2, conflicts with RF0 */ 1140 + }; 1141 + 1142 + pinctrl_i2c2_gpio: i2c2-gpio { 1143 + atmel,pins = 1144 + <AT91_PIOB 29 AT91_PERIPH_GPIO AT91_PINCTRL_NONE 1145 + AT91_PIOB 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 1161 1146 }; 1162 1147 }; 1163 1148
+3 -6
arch/arm/boot/dts/sh73a0-kzm9g.dts
··· 25 25 cpus { 26 26 cpu@0 { 27 27 cpu0-supply = <&vdd_dvfs>; 28 - operating-points = < 29 - /* kHz uV */ 30 - 1196000 1315000 31 - 598000 1175000 32 - 398667 1065000 33 - >; 28 + operating-points = <1196000 1315000>, /* kHz uV */ 29 + < 598000 1175000>, 30 + < 398667 1065000>; 34 31 voltage-tolerance = <1>; /* 1% */ 35 32 }; 36 33 };
+6 -6
arch/arm/boot/dts/socfpga_arria10.dtsi
··· 431 431 snps,perfect-filter-entries = <128>; 432 432 tx-fifo-depth = <4096>; 433 433 rx-fifo-depth = <16384>; 434 - clocks = <&l4_mp_clk>; 435 - clock-names = "stmmaceth"; 434 + clocks = <&l4_mp_clk>, <&peri_emac_ptp_clk>; 435 + clock-names = "stmmaceth", "ptp_ref"; 436 436 resets = <&rst EMAC0_RESET>, <&rst EMAC0_OCP_RESET>; 437 437 reset-names = "stmmaceth", "stmmaceth-ocp"; 438 438 snps,axi-config = <&socfpga_axi_setup>; ··· 451 451 snps,perfect-filter-entries = <128>; 452 452 tx-fifo-depth = <4096>; 453 453 rx-fifo-depth = <16384>; 454 - clocks = <&l4_mp_clk>; 455 - clock-names = "stmmaceth"; 454 + clocks = <&l4_mp_clk>, <&peri_emac_ptp_clk>; 455 + clock-names = "stmmaceth", "ptp_ref"; 456 456 resets = <&rst EMAC1_RESET>, <&rst EMAC1_OCP_RESET>; 457 457 reset-names = "stmmaceth", "stmmaceth-ocp"; 458 458 snps,axi-config = <&socfpga_axi_setup>; ··· 471 471 snps,perfect-filter-entries = <128>; 472 472 tx-fifo-depth = <4096>; 473 473 rx-fifo-depth = <16384>; 474 - clocks = <&l4_mp_clk>; 475 - clock-names = "stmmaceth"; 474 + clocks = <&l4_mp_clk>, <&peri_emac_ptp_clk>; 475 + clock-names = "stmmaceth", "ptp_ref"; 476 476 resets = <&rst EMAC2_RESET>, <&rst EMAC2_OCP_RESET>; 477 477 reset-names = "stmmaceth", "stmmaceth-ocp"; 478 478 snps,axi-config = <&socfpga_axi_setup>;
+2 -2
arch/arm/boot/dts/socfpga_arria10_socdk_nand.dts
··· 16 16 17 17 partition@0 { 18 18 label = "Boot and fpga data"; 19 - reg = <0x0 0x1C00000>; 19 + reg = <0x0 0x02000000>; 20 20 }; 21 21 partition@1c00000 { 22 22 label = "Root Filesystem - JFFS2"; 23 - reg = <0x1C00000 0x6400000>; 23 + reg = <0x02000000 0x06000000>; 24 24 }; 25 25 }; 26 26 };
+3 -3
arch/arm/boot/dts/ste-ab8500.dtsi
··· 314 314 mcde@a0350000 { 315 315 vana-supply = <&ab8500_ldo_ana_reg>; 316 316 317 - dsi@a0351000 { 317 + dsi-controller@a0351000 { 318 318 vana-supply = <&ab8500_ldo_ana_reg>; 319 319 }; 320 - dsi@a0352000 { 320 + dsi-controller@a0352000 { 321 321 vana-supply = <&ab8500_ldo_ana_reg>; 322 322 }; 323 - dsi@a0353000 { 323 + dsi-controller@a0353000 { 324 324 vana-supply = <&ab8500_ldo_ana_reg>; 325 325 }; 326 326 };
+3 -3
arch/arm/boot/dts/ste-ab8505.dtsi
··· 261 261 mcde@a0350000 { 262 262 vana-supply = <&ab8500_ldo_ana_reg>; 263 263 264 - dsi@a0351000 { 264 + dsi-controller@a0351000 { 265 265 vana-supply = <&ab8500_ldo_ana_reg>; 266 266 }; 267 - dsi@a0352000 { 267 + dsi-controller@a0352000 { 268 268 vana-supply = <&ab8500_ldo_ana_reg>; 269 269 }; 270 - dsi@a0353000 { 270 + dsi-controller@a0353000 { 271 271 vana-supply = <&ab8500_ldo_ana_reg>; 272 272 }; 273 273 };
+3 -3
arch/arm/boot/dts/ste-dbx5x0.dtsi
··· 1097 1097 ranges; 1098 1098 status = "disabled"; 1099 1099 1100 - dsi0: dsi@a0351000 { 1100 + dsi0: dsi-controller@a0351000 { 1101 1101 compatible = "ste,mcde-dsi"; 1102 1102 reg = <0xa0351000 0x1000>; 1103 1103 clocks = <&prcmu_clk PRCMU_DSI0CLK>, <&prcmu_clk PRCMU_DSI0ESCCLK>; ··· 1105 1105 #address-cells = <1>; 1106 1106 #size-cells = <0>; 1107 1107 }; 1108 - dsi1: dsi@a0352000 { 1108 + dsi1: dsi-controller@a0352000 { 1109 1109 compatible = "ste,mcde-dsi"; 1110 1110 reg = <0xa0352000 0x1000>; 1111 1111 clocks = <&prcmu_clk PRCMU_DSI1CLK>, <&prcmu_clk PRCMU_DSI1ESCCLK>; ··· 1113 1113 #address-cells = <1>; 1114 1114 #size-cells = <0>; 1115 1115 }; 1116 - dsi2: dsi@a0353000 { 1116 + dsi2: dsi-controller@a0353000 { 1117 1117 compatible = "ste,mcde-dsi"; 1118 1118 reg = <0xa0353000 0x1000>; 1119 1119 /* This DSI port only has the Low Power / Energy Save clock */
+1 -1
arch/arm/boot/dts/ste-href-stuib.dtsi
··· 199 199 mcde@a0350000 { 200 200 status = "okay"; 201 201 202 - dsi@a0351000 { 202 + dsi-controller@a0351000 { 203 203 panel { 204 204 compatible = "samsung,s6d16d0"; 205 205 reg = <0>;
+1 -1
arch/arm/boot/dts/ste-href-tvk1281618-r2.dtsi
··· 66 66 mcde@a0350000 { 67 67 status = "okay"; 68 68 69 - dsi@a0351000 { 69 + dsi-controller@a0351000 { 70 70 panel { 71 71 compatible = "samsung,s6d16d0"; 72 72 reg = <0>;
+1 -1
arch/arm/boot/dts/ste-href-tvk1281618-r3.dtsi
··· 45 45 mcde@a0350000 { 46 46 status = "okay"; 47 47 48 - dsi@a0351000 { 48 + dsi-controller@a0351000 { 49 49 panel { 50 50 compatible = "sony,acx424akp"; 51 51 reg = <0>;
+581
arch/arm/boot/dts/ste-ux500-samsung-skomer.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0-only 2 + /* 3 + * Devicetree for the Samsung XCover 2 GT-S7710 also known as Skomer. 4 + */ 5 + 6 + /dts-v1/; 7 + #include "ste-db8500.dtsi" 8 + #include "ste-ab8505.dtsi" 9 + #include "ste-dbx5x0-pinctrl.dtsi" 10 + #include <dt-bindings/gpio/gpio.h> 11 + #include <dt-bindings/input/input.h> 12 + #include <dt-bindings/interrupt-controller/irq.h> 13 + 14 + / { 15 + model = "Samsung XCover 2 (GT-S7710)"; 16 + compatible = "samsung,skomer", "st-ericsson,u8500"; 17 + 18 + chosen { 19 + stdout-path = &serial2; 20 + }; 21 + 22 + /* TI TXS0206 level translator for 2.9 V */ 23 + sd_level_translator: regulator-gpio { 24 + compatible = "regulator-fixed"; 25 + 26 + /* GPIO87 EN */ 27 + gpios = <&gpio2 23 GPIO_ACTIVE_HIGH>; 28 + enable-active-high; 29 + 30 + regulator-name = "sd-level-translator"; 31 + regulator-min-microvolt = <2900000>; 32 + regulator-max-microvolt = <2900000>; 33 + regulator-type = "voltage"; 34 + 35 + startup-delay-us = <200>; 36 + 37 + pinctrl-names = "default"; 38 + pinctrl-0 = <&sd_level_translator_default>; 39 + }; 40 + 41 + /* External LDO MIC5366-3.3YMT for eMMC */ 42 + ldo_3v3_reg: regulator-gpio-ldo-3v3 { 43 + compatible = "regulator-fixed"; 44 + regulator-name = "en-3v3-fixed-supply"; 45 + regulator-min-microvolt = <3300000>; 46 + regulator-max-microvolt = <3300000>; 47 + gpio = <&gpio6 31 GPIO_ACTIVE_HIGH>; 48 + startup-delay-us = <5000>; 49 + enable-active-high; 50 + pinctrl-names = "default"; 51 + pinctrl-0 = <&emmc_ldo_en_default_mode>; 52 + }; 53 + 54 + wlan_en: regulator-gpio-wlan-en { 55 + compatible = "regulator-fixed"; 56 + regulator-name = "wl-reg-on"; 57 + regulator-min-microvolt = <3000000>; 58 + regulator-max-microvolt = <3000000>; 59 + startup-delay-us = <200000>; 60 + /* GPIO215 WLAN_EN */ 61 + gpio = <&gpio6 23 GPIO_ACTIVE_HIGH>; 62 + enable-active-high; 63 + pinctrl-names = "default"; 64 + pinctrl-0 = <&wlan_en_default_mode>; 65 + }; 66 + 67 + vibrator { 68 + compatible = "gpio-vibrator"; 69 + enable-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; 70 + pinctrl-names = "default"; 71 + pinctrl-0 = <&vibrator_default>; 72 + }; 73 + 74 + gpio-keys { 75 + compatible = "gpio-keys"; 76 + pinctrl-names = "default"; 77 + pinctrl-0 = <&gpio_keys_default_mode>; 78 + 79 + button-home { 80 + linux,code = <KEY_HOME>; 81 + label = "HOME"; 82 + /* GPIO91 */ 83 + gpios = <&gpio2 27 GPIO_ACTIVE_LOW>; 84 + }; 85 + button-volup { 86 + linux,code = <KEY_VOLUMEUP>; 87 + label = "VOL+"; 88 + /* GPIO67 */ 89 + gpios = <&gpio2 3 GPIO_ACTIVE_LOW>; 90 + }; 91 + button-voldown { 92 + linux,code = <KEY_VOLUMEDOWN>; 93 + label = "VOL-"; 94 + /* GPIO92 */ 95 + gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; 96 + }; 97 + button-menu { 98 + linux,code = <KEY_MENU>; 99 + label = "MENU"; 100 + /* GPIO204 */ 101 + gpios = <&gpio6 12 GPIO_ACTIVE_LOW>; 102 + }; 103 + button-back { 104 + linux,code = <KEY_BACK>; 105 + label = "BACK"; 106 + /* GPIO205 */ 107 + gpios = <&gpio6 13 GPIO_ACTIVE_LOW>; 108 + }; 109 + }; 110 + 111 + /* 112 + * FIXME: this is not quite GPIO backlight. This is a 113 + * KTD253 one-wire GPIO-controlled backlight. It can 114 + * work as a GPIO backlight. 115 + */ 116 + gpio_bl: backlight { 117 + compatible = "gpio-backlight"; 118 + /* GPIO 69 */ 119 + gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; 120 + pinctrl-names = "default"; 121 + pinctrl-0 = <&gpio_backlight_default_mode>; 122 + }; 123 + 124 + i2c-gpio-0 { 125 + compatible = "i2c-gpio"; 126 + sda-gpios = <&gpio4 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 127 + scl-gpios = <&gpio4 15 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 128 + pinctrl-names = "default"; 129 + pinctrl-0 = <&i2c_gpio_0_default>; 130 + #address-cells = <1>; 131 + #size-cells = <0>; 132 + /* TODO: this should be used by the NCP6914 Camera power management unit */ 133 + }; 134 + 135 + i2c-gpio-1 { 136 + compatible = "i2c-gpio"; 137 + sda-gpios = <&gpio4 24 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 138 + scl-gpios = <&gpio4 23 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 139 + pinctrl-names = "default"; 140 + pinctrl-0 = <&i2c_gpio_1_default>; 141 + #address-cells = <1>; 142 + #size-cells = <0>; 143 + /* TODO: this should be used by the ALPS HSCDTD008A compass sensor */ 144 + }; 145 + 146 + soc { 147 + // External Micro SD slot 148 + sdi0_per1@80126000 { 149 + arm,primecell-periphid = <0x10480180>; 150 + max-frequency = <100000000>; 151 + bus-width = <4>; 152 + cap-sd-highspeed; 153 + cap-mmc-highspeed; 154 + /* All direction control is used */ 155 + st,sig-dir-cmd; 156 + st,sig-dir-dat0; 157 + st,sig-dir-dat2; 158 + st,sig-dir-dat31; 159 + st,sig-pin-fbclk; 160 + full-pwr-cycle; 161 + vmmc-supply = <&ab8500_ldo_aux3_reg>; 162 + vqmmc-supply = <&sd_level_translator>; 163 + pinctrl-names = "default", "sleep"; 164 + pinctrl-0 = <&mc0_a_1_default>; 165 + pinctrl-1 = <&mc0_a_1_sleep>; 166 + status = "okay"; 167 + }; 168 + 169 + // WLAN SDIO channel 170 + sdi1_per2@80118000 { 171 + arm,primecell-periphid = <0x10480180>; 172 + max-frequency = <50000000>; 173 + bus-width = <4>; 174 + non-removable; 175 + cap-sd-highspeed; 176 + vmmc-supply = <&wlan_en>; 177 + pinctrl-names = "default", "sleep"; 178 + pinctrl-0 = <&mc1_a_2_default>; 179 + pinctrl-1 = <&mc1_a_2_sleep>; 180 + status = "okay"; 181 + #address-cells = <1>; 182 + #size-cells = <0>; 183 + 184 + wifi@1 { 185 + compatible = "brcm,bcm4329-fmac"; 186 + reg = <1>; 187 + /* GPIO216 WL_HOST_WAKE */ 188 + interrupt-parent = <&gpio6>; 189 + interrupts = <24 IRQ_TYPE_EDGE_FALLING>; 190 + interrupt-names = "host-wake"; 191 + pinctrl-names = "default"; 192 + pinctrl-0 = <&wlan_default_mode>; 193 + }; 194 + }; 195 + 196 + // eMMC 197 + sdi2_per3@80005000 { 198 + arm,primecell-periphid = <0x10480180>; 199 + max-frequency = <100000000>; 200 + bus-width = <8>; 201 + non-removable; 202 + cap-mmc-highspeed; 203 + mmc-ddr-1_8v; 204 + vmmc-supply = <&ldo_3v3_reg>; 205 + pinctrl-names = "default", "sleep"; 206 + pinctrl-0 = <&mc2_a_1_default>; 207 + pinctrl-1 = <&mc2_a_1_sleep>; 208 + 209 + status = "okay"; 210 + }; 211 + 212 + /* GBF (Bluetooth) UART */ 213 + uart@80120000 { 214 + pinctrl-names = "default", "sleep"; 215 + pinctrl-0 = <&u0_a_1_default>; 216 + pinctrl-1 = <&u0_a_1_sleep>; 217 + status = "okay"; 218 + 219 + /* FIXME: not quite working yet, probably needs regulators */ 220 + bluetooth { 221 + compatible = "brcm,bcm4330-bt"; 222 + shutdown-gpios = <&gpio6 30 GPIO_ACTIVE_HIGH>; 223 + device-wakeup-gpios = <&gpio6 7 GPIO_ACTIVE_HIGH>; 224 + host-wakeup-gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>; 225 + pinctrl-names = "default"; 226 + pinctrl-0 = <&bluetooth_default_mode>; 227 + }; 228 + }; 229 + 230 + /* GPF UART */ 231 + uart@80121000 { 232 + status = "okay"; 233 + pinctrl-names = "default", "sleep"; 234 + pinctrl-0 = <&u1rxtx_a_1_default &u1ctsrts_a_1_default>; 235 + pinctrl-1 = <&u1rxtx_a_1_sleep &u1ctsrts_a_1_sleep>; 236 + }; 237 + 238 + /* Debugging console UART connected to AB8505 USB */ 239 + uart@80007000 { 240 + status = "okay"; 241 + pinctrl-names = "default", "sleep"; 242 + pinctrl-0 = <&u2rxtx_c_1_default>; 243 + pinctrl-1 = <&u2rxtx_c_1_sleep>; 244 + }; 245 + 246 + prcmu@80157000 { 247 + ab8505 { 248 + ab8500_usb { 249 + pinctrl-names = "default", "sleep"; 250 + pinctrl-0 = <&usb_a_1_default>; 251 + pinctrl-1 = <&usb_a_1_sleep>; 252 + }; 253 + 254 + ab8505-regulators { 255 + ab8500_ldo_aux1 { 256 + /* Used for VDD for sensors */ 257 + regulator-name = "AUX1"; 258 + regulator-min-microvolt = <3000000>; 259 + regulator-max-microvolt = <3300000>; 260 + }; 261 + 262 + ab8500_ldo_aux2 { 263 + /* Supplies the Cypress TMA140 touchscreen only with 3.3V */ 264 + regulator-name = "AUX2"; 265 + regulator-min-microvolt = <3300000>; 266 + regulator-max-microvolt = <3300000>; 267 + }; 268 + 269 + ab8500_ldo_aux3 { 270 + /* Used for voltage for external MMC/SD card */ 271 + regulator-name = "AUX3"; 272 + regulator-min-microvolt = <1100000>; 273 + regulator-max-microvolt = <3300000>; 274 + }; 275 + 276 + ab8500_ldo_aux4 { 277 + regulator-name = "AUX4"; 278 + /* Hammer to 3.0V for the display */ 279 + regulator-min-microvolt = <3000000>; 280 + regulator-max-microvolt = <3000000>; 281 + }; 282 + 283 + ab8500_ldo_aux5 { 284 + regulator-name = "AUX5"; 285 + regulator-min-microvolt = <1050000>; 286 + regulator-max-microvolt = <2790000>; 287 + regulator-always-on; 288 + }; 289 + 290 + ab8500_ldo_aux6 { 291 + regulator-name = "AUX6"; 292 + /* Hammer to 1.8V for the display */ 293 + regulator-min-microvolt = <1800000>; 294 + regulator-max-microvolt = <1800000>; 295 + }; 296 + 297 + ab8500_ldo_aux8 { 298 + /* Mostly VIO for sensors */ 299 + regulator-name = "AUX8"; 300 + }; 301 + }; 302 + }; 303 + }; 304 + 305 + /* I2C0 */ 306 + i2c@80004000 { 307 + status = "okay"; 308 + 309 + pinctrl-names = "default", "sleep"; 310 + pinctrl-0 = <&i2c0_a_1_default>; 311 + pinctrl-1 = <&i2c0_a_1_sleep>; 312 + 313 + proximity@44 { 314 + compatible = "sharp,gp2ap002s00f"; 315 + clock-frequency = <400000>; 316 + reg = <0x44>; 317 + 318 + interrupt-parent = <&gpio4>; 319 + interrupts = <18 IRQ_TYPE_EDGE_FALLING>; 320 + vdd-supply = <&ab8500_ldo_aux1_reg>; 321 + vio-supply = <&ab8500_ldo_aux8_reg>; 322 + pinctrl-names = "default"; 323 + pinctrl-0 = <&gp2ap002_skomer_default>; 324 + sharp,proximity-far-hysteresis = /bits/ 8 <0x2f>; 325 + sharp,proximity-close-hysteresis = /bits/ 8 <0x0f>; 326 + }; 327 + }; 328 + 329 + 330 + /* I2C2 */ 331 + i2c@80128000 { 332 + status = "okay"; 333 + 334 + pinctrl-names = "default", "sleep"; 335 + pinctrl-0 = <&i2c2_b_2_default>; 336 + pinctrl-1 = <&i2c2_b_2_sleep>; 337 + 338 + accel@18 { 339 + compatible = "bosch,bma254"; 340 + clock-frequency = <400000>; 341 + reg = <0x18>; 342 + 343 + /* GPIO224 used as "smart alert" interrupt */ 344 + interrupt-parent = <&gpio7>; 345 + interrupts = <0 IRQ_TYPE_EDGE_RISING>; 346 + 347 + mount-matrix = "0", "1", "0", 348 + "-1", "0", "0", 349 + "0", "0", "1"; 350 + vdd-supply = <&ab8500_ldo_aux1_reg>; 351 + vddio-supply = <&ab8500_ldo_aux8_reg>; 352 + pinctrl-names = "default"; 353 + pinctrl-0 = <&bma254_skomer_default>; 354 + }; 355 + }; 356 + 357 + /* I2C3 */ 358 + i2c@80110000 { 359 + status = "okay"; 360 + 361 + pinctrl-names = "default", "sleep"; 362 + pinctrl-0 = <&i2c3_c_2_default>; 363 + pinctrl-1 = <&i2c3_c_2_sleep>; 364 + 365 + /* TODO: this should be used by the Cypress TMA140 touchscreen */ 366 + }; 367 + 368 + mcde@a0350000 { 369 + status = "okay"; 370 + pinctrl-names = "default"; 371 + pinctrl-0 = <&dsi_default_mode>; 372 + 373 + dsi-controller@a0351000 { 374 + panel { 375 + /* NT35510-based Hydis HVA40WV1 */ 376 + compatible = "hydis,hva40wv1", "novatek,nt35510"; 377 + reg = <0>; 378 + /* v_lcd_3v0 2.3-4.8V */ 379 + vdd-supply = <&ab8500_ldo_aux4_reg>; 380 + /* v_lcd_1v8 1.65-3.3V */ 381 + vddi-supply = <&ab8500_ldo_aux6_reg>; 382 + /* GPIO 139 */ 383 + reset-gpios = <&gpio4 11 GPIO_ACTIVE_LOW>; 384 + pinctrl-names = "default"; 385 + pinctrl-0 = <&display_default_mode>; 386 + backlight = <&gpio_bl>; 387 + }; 388 + }; 389 + }; 390 + }; 391 + }; 392 + 393 + &pinctrl { 394 + /* 395 + * This extends the MC0 default config to include DAT32DIR 396 + * which is used by this machine. If we don't do this the 397 + * SD card does not work. 398 + */ 399 + sdi0 { 400 + mc0_a_1_default { 401 + default_mux { 402 + function = "mc0"; 403 + /* This machine uses the DAT31 pin */ 404 + groups = "mc0_a_1", "mc0dat31dir_a_1"; 405 + }; 406 + default_cfg5 { 407 + pins = "GPIO21_AB3"; /* DAT31DIR */ 408 + ste,config = <&out_hi>; 409 + }; 410 + }; 411 + }; 412 + 413 + mcde { 414 + dsi_default_mode: dsi_default { 415 + default_mux1 { 416 + /* Mux in VSI0 used for DSI TE */ 417 + function = "lcd"; 418 + groups = "lcdvsi0_a_1"; /* VSI0 for LCD */ 419 + }; 420 + default_cfg1 { 421 + pins = "GPIO68_E1"; /* VSI0 */ 422 + ste,config = <&in_nopull>; 423 + }; 424 + }; 425 + }; 426 + 427 + /* Two GPIO lines used by the display */ 428 + display { 429 + display_default_mode: display_default { 430 + skomer_cfg1 { 431 + /* 432 + * OLED DETECT or check_pba, this appears to be high 433 + * on "PBA" which I guess is "prototype board A". 434 + */ 435 + pins = "GPIO93_B7"; 436 + ste,config = <&gpio_in_nopull>; 437 + }; 438 + skomer_cfg2 { 439 + pins = "GPIO139_C9"; 440 + /* 441 + * MIPI_DSI0_RESET_N resets the display, leave high 442 + * (de-asserted) so we only assert reset explicitly 443 + * from the display driver. 444 + */ 445 + ste,config = <&gpio_out_hi>; 446 + }; 447 + }; 448 + }; 449 + backlight { 450 + gpio_backlight_default_mode: backlight_default { 451 + skomer_cfg1 { 452 + pins = "GPIO69_E2"; /* LCD_BL_CTRL */ 453 + ste,config = <&gpio_out_lo>; 454 + }; 455 + }; 456 + }; 457 + /* GPIO that enables the 2.9V SD card level translator */ 458 + sd-level-translator { 459 + sd_level_translator_default: sd_level_translator_default { 460 + /* level shifter on GPIO87 */ 461 + skomer_cfg1 { 462 + pins = "GPIO87_B3"; 463 + ste,config = <&gpio_out_hi>; 464 + }; 465 + }; 466 + }; 467 + /* GPIO that enables the LDO regulator for the eMMC */ 468 + emmc-ldo { 469 + emmc_ldo_en_default_mode: emmc_ldo_default { 470 + /* LDO enable on GPIO223 */ 471 + skomer_cfg1 { 472 + pins = "GPIO223_AH9"; 473 + ste,config = <&gpio_out_hi>; 474 + }; 475 + }; 476 + }; 477 + /* GPIO keys */ 478 + gpio-keys { 479 + gpio_keys_default_mode: gpio_keys_default { 480 + skomer_cfg1 { 481 + pins = "GPIO67_G2", /* VOL UP */ 482 + "GPIO91_B6", /* HOME */ 483 + "GPIO92_D6", /* VOL DOWN */ 484 + "GPIO204_AF23", /* MENU */ 485 + "GPIO205_AG23"; /* BACK */ 486 + ste,config = <&gpio_in_pu>; 487 + }; 488 + }; 489 + }; 490 + /* Interrupt line for BMA254 */ 491 + bma254 { 492 + bma254_skomer_default: bma254_skomer { 493 + skomer_cfg1 { 494 + pins = "GPIO224_AG9"; 495 + ste,config = <&gpio_in_pd>; 496 + }; 497 + }; 498 + }; 499 + /* Interrupt line for light/proximity sensor GP2AP002 */ 500 + gp2ap002 { 501 + gp2ap002_skomer_default: gp2ap002_skomer { 502 + skomer_cfg1 { 503 + pins = "GPIO146_D13"; 504 + ste,config = <&gpio_in_nopull>; 505 + }; 506 + }; 507 + }; 508 + /* GPIO-based I2C bus for NCP6914 */ 509 + i2c-gpio-0 { 510 + i2c_gpio_0_default: i2c_gpio_0 { 511 + skomer_cfg1 { 512 + pins = "GPIO143_D12", "GPIO144_B13"; 513 + ste,config = <&gpio_in_nopull>; 514 + }; 515 + }; 516 + }; 517 + /* GPIO-based I2C bus for ALPS HSCD compass */ 518 + i2c-gpio-1 { 519 + i2c_gpio_1_default: i2c_gpio_1 { 520 + skomer_cfg1 { 521 + pins = "GPIO151_B17", "GPIO152_D16"; 522 + ste,config = <&gpio_in_nopull>; 523 + }; 524 + }; 525 + }; 526 + wlan { 527 + wlan_default_mode: wlan_default { 528 + skomer_cfg1 { 529 + pins = "GPIO216_AG12"; 530 + ste,config = <&gpio_in_pd>; 531 + }; 532 + }; 533 + wlan_en_default_mode: wlan_en_default { 534 + skomer_cfg2 { 535 + pins = "GPIO215_AH13"; 536 + ste,config = <&gpio_out_lo>; 537 + }; 538 + }; 539 + }; 540 + bluetooth { 541 + bluetooth_default_mode: bluetooth_default { 542 + skomer_cfg1 { 543 + pins = "GPIO199_AH23", "GPIO222_AJ9"; 544 + ste,config = <&gpio_out_lo>; 545 + }; 546 + skomer_cfg2 { 547 + pins = "GPIO97_D9"; 548 + ste,config = <&gpio_in_nopull>; 549 + }; 550 + }; 551 + }; 552 + vibrator { 553 + vibrator_default: vibrator_default { 554 + skomer_cfg1 { 555 + pins = "GPIO195_AG28"; /* MOT_EN */ 556 + ste,config = <&gpio_out_lo>; 557 + }; 558 + }; 559 + }; 560 + }; 561 + 562 + &ab8505_gpio { 563 + /* Hog a few default settings */ 564 + pinctrl-names = "default"; 565 + pinctrl-0 = <&gpio_default>; 566 + 567 + gpio { 568 + gpio_default: gpio_default { 569 + skomer_mux { 570 + /* Change unused pins to GPIO mode */ 571 + function = "gpio"; 572 + groups = "gpio3_a_1", /* default: SysClkReq4 */ 573 + "gpio14_a_1"; /* default: PWMOut1 */ 574 + }; 575 + skomer_cfg1 { 576 + pins = "GPIO11_B17", "GPIO13_D17", "GPIO50_L4"; 577 + bias-disable; 578 + }; 579 + }; 580 + }; 581 + };
+1 -1
arch/arm/boot/dts/stm32746g-eval.dts
··· 165 165 interrupts = <8 IRQ_TYPE_EDGE_RISING>; 166 166 interrupt-parent = <&gpioi>; 167 167 168 - stmfx_pinctrl: stmfx-pin-controller { 168 + stmfx_pinctrl: pinctrl { 169 169 compatible = "st,stmfx-0300-pinctrl"; 170 170 gpio-controller; 171 171 #gpio-cells = <2>;
+93
arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
··· 162 162 }; 163 163 }; 164 164 165 + ethernet0_rmii_pins_a: rmii-0 { 166 + pins1 { 167 + pinmux = <STM32_PINMUX('G', 13, AF11)>, /* ETH1_RMII_TXD0 */ 168 + <STM32_PINMUX('G', 14, AF11)>, /* ETH1_RMII_TXD1 */ 169 + <STM32_PINMUX('B', 11, AF11)>, /* ETH1_RMII_TX_EN */ 170 + <STM32_PINMUX('A', 1, AF0)>, /* ETH1_RMII_REF_CLK */ 171 + <STM32_PINMUX('A', 2, AF11)>, /* ETH1_MDIO */ 172 + <STM32_PINMUX('C', 1, AF11)>; /* ETH1_MDC */ 173 + bias-disable; 174 + drive-push-pull; 175 + slew-rate = <2>; 176 + }; 177 + pins2 { 178 + pinmux = <STM32_PINMUX('C', 4, AF11)>, /* ETH1_RMII_RXD0 */ 179 + <STM32_PINMUX('C', 5, AF11)>, /* ETH1_RMII_RXD1 */ 180 + <STM32_PINMUX('A', 7, AF11)>; /* ETH1_RMII_CRS_DV */ 181 + bias-disable; 182 + }; 183 + }; 184 + 185 + ethernet0_rmii_pins_sleep_a: rmii-sleep-0 { 186 + pins1 { 187 + pinmux = <STM32_PINMUX('G', 13, ANALOG)>, /* ETH1_RMII_TXD0 */ 188 + <STM32_PINMUX('G', 14, ANALOG)>, /* ETH1_RMII_TXD1 */ 189 + <STM32_PINMUX('B', 11, ANALOG)>, /* ETH1_RMII_TX_EN */ 190 + <STM32_PINMUX('A', 2, ANALOG)>, /* ETH1_MDIO */ 191 + <STM32_PINMUX('C', 1, ANALOG)>, /* ETH1_MDC */ 192 + <STM32_PINMUX('C', 4, ANALOG)>, /* ETH1_RMII_RXD0 */ 193 + <STM32_PINMUX('C', 5, ANALOG)>, /* ETH1_RMII_RXD1 */ 194 + <STM32_PINMUX('A', 1, ANALOG)>, /* ETH1_RMII_REF_CLK */ 195 + <STM32_PINMUX('A', 7, ANALOG)>; /* ETH1_RMII_CRS_DV */ 196 + }; 197 + }; 198 + 165 199 fmc_pins_a: fmc-0 { 166 200 pins1 { 167 201 pinmux = <STM32_PINMUX('D', 4, AF12)>, /* FMC_NOE */ ··· 719 685 }; 720 686 }; 721 687 688 + 689 + sai2a_pins_b: sai2a-2 { 690 + pins1 { 691 + pinmux = <STM32_PINMUX('I', 6, AF10)>, /* SAI2_SD_A */ 692 + <STM32_PINMUX('I', 7, AF10)>, /* SAI2_FS_A */ 693 + <STM32_PINMUX('D', 13, AF10)>; /* SAI2_SCK_A */ 694 + slew-rate = <0>; 695 + drive-push-pull; 696 + bias-disable; 697 + }; 698 + }; 699 + 700 + sai2a_sleep_pins_b: sai2a-sleep-3 { 701 + pins { 702 + pinmux = <STM32_PINMUX('I', 6, ANALOG)>, /* SAI2_SD_A */ 703 + <STM32_PINMUX('I', 7, ANALOG)>, /* SAI2_FS_A */ 704 + <STM32_PINMUX('D', 13, ANALOG)>; /* SAI2_SCK_A */ 705 + }; 706 + }; 707 + 722 708 sai2b_pins_a: sai2b-0 { 723 709 pins1 { 724 710 pinmux = <STM32_PINMUX('E', 12, AF10)>, /* SAI2_SCK_B */ ··· 1054 1000 }; 1055 1001 }; 1056 1002 1003 + usart3_pins_a: usart3-0 { 1004 + pins1 { 1005 + pinmux = <STM32_PINMUX('B', 10, AF7)>; /* USART3_TX */ 1006 + bias-disable; 1007 + drive-push-pull; 1008 + slew-rate = <0>; 1009 + }; 1010 + pins2 { 1011 + pinmux = <STM32_PINMUX('B', 12, AF8)>; /* USART3_RX */ 1012 + bias-disable; 1013 + }; 1014 + }; 1015 + 1057 1016 uart4_pins_a: uart4-0 { 1058 1017 pins1 { 1059 1018 pinmux = <STM32_PINMUX('G', 11, AF6)>; /* UART4_TX */ ··· 1105 1038 <STM32_PINMUX('E', 10, AF7)>, /* UART4_CTS */ 1106 1039 <STM32_PINMUX('E', 9, AF7)>; /* UART4_RTS */ 1107 1040 bias-disable; 1041 + }; 1042 + }; 1043 + 1044 + uart8_pins_a: uart8-0 { 1045 + pins1 { 1046 + pinmux = <STM32_PINMUX('E', 1, AF8)>; /* UART8_TX */ 1047 + bias-disable; 1048 + drive-push-pull; 1049 + slew-rate = <0>; 1050 + }; 1051 + pins2 { 1052 + pinmux = <STM32_PINMUX('E', 0, AF8)>; /* UART8_RX */ 1053 + bias-disable; 1054 + }; 1055 + }; 1056 + 1057 + usbotg_hs_pins_a: usbotg-hs-0 { 1058 + pins { 1059 + pinmux = <STM32_PINMUX('A', 10, ANALOG)>; /* OTG_ID */ 1060 + }; 1061 + }; 1062 + 1063 + usbotg_fs_dp_dm_pins_a: usbotg-fs-dp-dm-0 { 1064 + pins { 1065 + pinmux = <STM32_PINMUX('A', 11, ANALOG)>, /* OTG_FS_DM */ 1066 + <STM32_PINMUX('A', 12, ANALOG)>; /* OTG_FS_DP */ 1108 1067 }; 1109 1068 }; 1110 1069 };
+15 -1
arch/arm/boot/dts/stm32mp151.dtsi
··· 17 17 18 18 cpu0: cpu@0 { 19 19 compatible = "arm,cortex-a7"; 20 + clock-frequency = <650000000>; 20 21 device_type = "cpu"; 21 22 reg = <0>; 22 23 }; ··· 484 483 resets = <&rcc I2C1_R>; 485 484 #address-cells = <1>; 486 485 #size-cells = <0>; 486 + wakeup-source; 487 487 status = "disabled"; 488 488 }; 489 489 ··· 498 496 resets = <&rcc I2C2_R>; 499 497 #address-cells = <1>; 500 498 #size-cells = <0>; 499 + wakeup-source; 501 500 status = "disabled"; 502 501 }; 503 502 ··· 512 509 resets = <&rcc I2C3_R>; 513 510 #address-cells = <1>; 514 511 #size-cells = <0>; 512 + wakeup-source; 515 513 status = "disabled"; 516 514 }; 517 515 ··· 526 522 resets = <&rcc I2C5_R>; 527 523 #address-cells = <1>; 528 524 #size-cells = <0>; 525 + wakeup-source; 529 526 status = "disabled"; 530 527 }; 531 528 ··· 964 959 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, 965 960 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 966 961 clocks = <&rcc DMA1>; 962 + resets = <&rcc DMA1_R>; 967 963 #dma-cells = <4>; 968 964 st,mem2mem; 969 965 dma-requests = <8>; ··· 982 976 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 983 977 <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 984 978 clocks = <&rcc DMA2>; 979 + resets = <&rcc DMA2_R>; 985 980 #dma-cells = <4>; 986 981 st,mem2mem; 987 982 dma-requests = <8>; ··· 996 989 dma-masters = <&dma1 &dma2>; 997 990 dma-channels = <16>; 998 991 clocks = <&rcc DMAMUX>; 992 + resets = <&rcc DMAMUX_R>; 999 993 }; 1000 994 1001 995 adc: adc@48003000 { ··· 1052 1044 }; 1053 1045 1054 1046 usbotg_hs: usb-otg@49000000 { 1055 - compatible = "snps,dwc2"; 1047 + compatible = "st,stm32mp15-hsotg", "snps,dwc2"; 1056 1048 reg = <0x49000000 0x10000>; 1057 1049 clocks = <&rcc USBO_K>; 1058 1050 clock-names = "otg"; ··· 1063 1055 g-np-tx-fifo-size = <32>; 1064 1056 g-tx-fifo-size = <128 128 64 64 64 64 32 32>; 1065 1057 dr_mode = "otg"; 1058 + usb33d-supply = <&usb33>; 1066 1059 status = "disabled"; 1067 1060 }; 1068 1061 ··· 1289 1280 reg = <0x58000000 0x1000>; 1290 1281 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 1291 1282 clocks = <&rcc MDMA>; 1283 + resets = <&rcc MDMA_R>; 1292 1284 #dma-cells = <5>; 1293 1285 dma-channels = <32>; 1294 1286 dma-requests = <48>; ··· 1379 1369 clock-names = "stmmaceth", 1380 1370 "mac-clk-tx", 1381 1371 "mac-clk-rx", 1372 + "eth-ck", 1382 1373 "ethstp"; 1383 1374 clocks = <&rcc ETHMAC>, 1384 1375 <&rcc ETHTX>, 1385 1376 <&rcc ETHRX>, 1377 + <&rcc ETHCK_K>, 1386 1378 <&rcc ETHSTP>; 1387 1379 st,syscon = <&syscfg 0x4>; 1388 1380 snps,mixed-burst; ··· 1485 1473 resets = <&rcc I2C4_R>; 1486 1474 #address-cells = <1>; 1487 1475 #size-cells = <0>; 1476 + wakeup-source; 1488 1477 status = "disabled"; 1489 1478 }; 1490 1479 ··· 1521 1508 resets = <&rcc I2C6_R>; 1522 1509 #address-cells = <1>; 1523 1510 #size-cells = <0>; 1511 + wakeup-source; 1524 1512 status = "disabled"; 1525 1513 }; 1526 1514
+1
arch/arm/boot/dts/stm32mp153.dtsi
··· 10 10 cpus { 11 11 cpu1: cpu@1 { 12 12 compatible = "arm,cortex-a7"; 13 + clock-frequency = <650000000>; 13 14 device_type = "cpu"; 14 15 reg = <1>; 15 16 };
+2 -9
arch/arm/boot/dts/stm32mp157a-avenger96.dts
··· 135 135 #interrupt-cells = <2>; 136 136 status = "okay"; 137 137 138 - st,main-control-register = <0x04>; 139 - st,vin-control-register = <0xc0>; 140 - st,usb-control-register = <0x30>; 141 - 142 138 regulators { 143 139 compatible = "st,stpmic1-regulators"; 144 140 ··· 169 173 regulator-min-microvolt = <3300000>; 170 174 regulator-max-microvolt = <3300000>; 171 175 regulator-always-on; 172 - st,mask_reset; 173 176 regulator-initial-mode = <0>; 174 177 regulator-over-current-protection; 175 178 }; ··· 208 213 209 214 vdd_usb: ldo4 { 210 215 regulator-name = "vdd_usb"; 211 - regulator-min-microvolt = <3300000>; 212 - regulator-max-microvolt = <3300000>; 213 216 interrupts = <IT_CURLIM_LDO4 0>; 214 217 interrupt-parent = <&pmic>; 215 218 }; ··· 233 240 vref_ddr: vref_ddr { 234 241 regulator-name = "vref_ddr"; 235 242 regulator-always-on; 236 - regulator-over-current-protection; 237 243 }; 238 244 239 245 bst_out: boost { ··· 292 300 pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>; 293 301 pinctrl-1 = <&sdmmc1_b4_od_pins_a>; 294 302 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 295 - broken-cd; 303 + cd-gpios = <&gpioi 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 304 + disable-wp; 296 305 st,sig-dir; 297 306 st,neg-edge; 298 307 st,use-ckin;
+265
arch/arm/boot/dts/stm32mp157c-dhcom-pdk2.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause 2 + /* 3 + * Copyright (C) 2019 Marek Vasut <marex@denx.de> 4 + */ 5 + 6 + #include "stm32mp157c-dhcom-som.dtsi" 7 + #include <dt-bindings/pwm/pwm.h> 8 + 9 + / { 10 + model = "STMicroelectronics STM32MP157C DHCOM Premium Developer Kit (2)"; 11 + compatible = "dh,stm32mp157c-dhcom-pdk2", "st,stm32mp157"; 12 + 13 + aliases { 14 + serial0 = &uart4; 15 + serial1 = &usart3; 16 + serial2 = &uart8; 17 + ethernet0 = &ethernet0; 18 + }; 19 + 20 + chosen { 21 + stdout-path = "serial0:115200n8"; 22 + }; 23 + 24 + clk_ext_audio_codec: clock-codec { 25 + compatible = "fixed-clock"; 26 + #clock-cells = <0>; 27 + clock-frequency = <24000000>; 28 + }; 29 + 30 + display_bl: display-bl { 31 + compatible = "pwm-backlight"; 32 + pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>; 33 + brightness-levels = <0 16 22 30 40 55 75 102 138 188 255>; 34 + default-brightness-level = <8>; 35 + enable-gpios = <&gpioi 0 GPIO_ACTIVE_HIGH>; 36 + status = "okay"; 37 + }; 38 + 39 + ethernet_vio: vioregulator { 40 + compatible = "regulator-fixed"; 41 + regulator-name = "vio"; 42 + regulator-min-microvolt = <3300000>; 43 + regulator-max-microvolt = <3300000>; 44 + gpio = <&gpiog 3 GPIO_ACTIVE_LOW>; 45 + regulator-always-on; 46 + regulator-boot-on; 47 + }; 48 + 49 + panel { 50 + compatible = "edt,etm0700g0edh6"; 51 + backlight = <&display_bl>; 52 + 53 + port { 54 + lcd_panel_in: endpoint { 55 + remote-endpoint = <&lcd_display_out>; 56 + }; 57 + }; 58 + }; 59 + 60 + sound { 61 + compatible = "audio-graph-card"; 62 + routing = 63 + "MIC_IN", "Capture", 64 + "Capture", "Mic Bias", 65 + "Playback", "HP_OUT"; 66 + dais = <&sai2a_port &sai2b_port>; 67 + status = "okay"; 68 + }; 69 + }; 70 + 71 + &cec { 72 + pinctrl-names = "default"; 73 + pinctrl-0 = <&cec_pins_a>; 74 + status = "okay"; 75 + }; 76 + 77 + &ethernet0 { 78 + status = "okay"; 79 + pinctrl-0 = <&ethernet0_rmii_pins_a>; 80 + pinctrl-1 = <&ethernet0_rmii_pins_sleep_a>; 81 + pinctrl-names = "default", "sleep"; 82 + phy-mode = "rmii"; 83 + max-speed = <100>; 84 + phy-handle = <&phy0>; 85 + st,eth-ref-clk-sel; 86 + phy-reset-gpios = <&gpioh 15 GPIO_ACTIVE_LOW>; 87 + 88 + mdio0 { 89 + #address-cells = <1>; 90 + #size-cells = <0>; 91 + compatible = "snps,dwmac-mdio"; 92 + 93 + phy0: ethernet-phy@1 { 94 + reg = <1>; 95 + }; 96 + }; 97 + }; 98 + 99 + &i2c5 { 100 + pinctrl-names = "default"; 101 + pinctrl-0 = <&i2c5_pins_a>; 102 + i2c-scl-rising-time-ns = <185>; 103 + i2c-scl-falling-time-ns = <20>; 104 + status = "okay"; 105 + /* spare dmas for other usage */ 106 + /delete-property/dmas; 107 + /delete-property/dma-names; 108 + 109 + sgtl5000: codec@a { 110 + compatible = "fsl,sgtl5000"; 111 + reg = <0x0a>; 112 + #sound-dai-cells = <0>; 113 + clocks = <&clk_ext_audio_codec>; 114 + VDDA-supply = <&v3v3>; 115 + VDDIO-supply = <&vdd>; 116 + 117 + sgtl5000_port: port { 118 + #address-cells = <1>; 119 + #size-cells = <0>; 120 + 121 + sgtl5000_tx_endpoint: endpoint@0 { 122 + reg = <0>; 123 + remote-endpoint = <&sai2a_endpoint>; 124 + frame-master; 125 + bitclock-master; 126 + }; 127 + 128 + sgtl5000_rx_endpoint: endpoint@1 { 129 + reg = <1>; 130 + remote-endpoint = <&sai2b_endpoint>; 131 + frame-master; 132 + bitclock-master; 133 + }; 134 + }; 135 + 136 + }; 137 + 138 + polytouch@38 { 139 + compatible = "edt,edt-ft5x06"; 140 + reg = <0x38>; 141 + interrupt-parent = <&gpiog>; 142 + interrupts = <2 IRQ_TYPE_EDGE_FALLING>; /* GPIO E */ 143 + linux,wakeup; 144 + }; 145 + }; 146 + 147 + &ltdc { 148 + pinctrl-names = "default", "sleep"; 149 + pinctrl-0 = <&ltdc_pins_b>; 150 + pinctrl-1 = <&ltdc_pins_sleep_b>; 151 + status = "okay"; 152 + 153 + port { 154 + lcd_display_out: endpoint { 155 + remote-endpoint = <&lcd_panel_in>; 156 + }; 157 + }; 158 + }; 159 + 160 + &m_can1 { 161 + pinctrl-names = "default", "sleep"; 162 + pinctrl-0 = <&m_can1_pins_a>; 163 + pinctrl-1 = <&m_can1_sleep_pins_a>; 164 + status = "okay"; 165 + }; 166 + 167 + &sai2 { 168 + clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>; 169 + clock-names = "pclk", "x8k", "x11k"; 170 + pinctrl-names = "default", "sleep"; 171 + pinctrl-0 = <&sai2a_pins_b &sai2b_pins_b>; 172 + pinctrl-1 = <&sai2a_sleep_pins_b &sai2b_sleep_pins_b>; 173 + status = "okay"; 174 + 175 + sai2a: audio-controller@4400b004 { 176 + #clock-cells = <0>; 177 + dma-names = "tx"; 178 + clocks = <&rcc SAI2_K>; 179 + clock-names = "sai_ck"; 180 + status = "okay"; 181 + 182 + sai2a_port: port { 183 + sai2a_endpoint: endpoint { 184 + remote-endpoint = <&sgtl5000_tx_endpoint>; 185 + format = "i2s"; 186 + mclk-fs = <512>; 187 + dai-tdm-slot-num = <2>; 188 + dai-tdm-slot-width = <16>; 189 + }; 190 + }; 191 + }; 192 + 193 + sai2b: audio-controller@4400b024 { 194 + dma-names = "rx"; 195 + st,sync = <&sai2a 2>; 196 + clocks = <&rcc SAI2_K>, <&sai2a>; 197 + clock-names = "sai_ck", "MCLK"; 198 + status = "okay"; 199 + 200 + sai2b_port: port { 201 + sai2b_endpoint: endpoint { 202 + remote-endpoint = <&sgtl5000_rx_endpoint>; 203 + format = "i2s"; 204 + mclk-fs = <512>; 205 + dai-tdm-slot-num = <2>; 206 + dai-tdm-slot-width = <16>; 207 + }; 208 + }; 209 + }; 210 + }; 211 + 212 + &timers2 { 213 + /* spare dmas for other usage (un-delete to enable pwm capture) */ 214 + /delete-property/dmas; 215 + /delete-property/dma-names; 216 + status = "okay"; 217 + pwm2: pwm { 218 + pinctrl-0 = <&pwm2_pins_a>; 219 + pinctrl-names = "default"; 220 + status = "okay"; 221 + }; 222 + timer@1 { 223 + status = "okay"; 224 + }; 225 + }; 226 + 227 + &usart3 { 228 + pinctrl-names = "default"; 229 + pinctrl-0 = <&usart3_pins_a>; 230 + status = "okay"; 231 + }; 232 + 233 + &uart8 { 234 + pinctrl-names = "default"; 235 + pinctrl-0 = <&uart8_pins_a>; 236 + status = "okay"; 237 + }; 238 + 239 + &usbh_ehci { 240 + phys = <&usbphyc_port0>; 241 + status = "okay"; 242 + }; 243 + 244 + &usbotg_hs { 245 + dr_mode = "peripheral"; 246 + phys = <&usbphyc_port1 0>; 247 + phy-names = "usb2-phy"; 248 + status = "okay"; 249 + }; 250 + 251 + &usbphyc { 252 + status = "okay"; 253 + }; 254 + 255 + &usbphyc_port0 { 256 + phy-supply = <&vdd_usb>; 257 + vdda1v1-supply = <&reg11>; 258 + vdda1v8-supply = <&reg18>; 259 + }; 260 + 261 + &usbphyc_port1 { 262 + phy-supply = <&vdd_usb>; 263 + vdda1v1-supply = <&reg11>; 264 + vdda1v8-supply = <&reg18>; 265 + };
+368
arch/arm/boot/dts/stm32mp157c-dhcom-som.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2 + /* 3 + * Copyright (C) 2019 Marek Vasut <marex@denx.de> 4 + */ 5 + /dts-v1/; 6 + 7 + #include "stm32mp157.dtsi" 8 + #include "stm32mp15xc.dtsi" 9 + #include "stm32mp15-pinctrl.dtsi" 10 + #include "stm32mp15xxaa-pinctrl.dtsi" 11 + #include <dt-bindings/gpio/gpio.h> 12 + #include <dt-bindings/mfd/st,stpmic1.h> 13 + 14 + / { 15 + memory@c0000000 { 16 + device_type = "memory"; 17 + reg = <0xC0000000 0x40000000>; 18 + }; 19 + 20 + reserved-memory { 21 + #address-cells = <1>; 22 + #size-cells = <1>; 23 + ranges; 24 + 25 + mcuram2: mcuram2@10000000 { 26 + compatible = "shared-dma-pool"; 27 + reg = <0x10000000 0x40000>; 28 + no-map; 29 + }; 30 + 31 + vdev0vring0: vdev0vring0@10040000 { 32 + compatible = "shared-dma-pool"; 33 + reg = <0x10040000 0x1000>; 34 + no-map; 35 + }; 36 + 37 + vdev0vring1: vdev0vring1@10041000 { 38 + compatible = "shared-dma-pool"; 39 + reg = <0x10041000 0x1000>; 40 + no-map; 41 + }; 42 + 43 + vdev0buffer: vdev0buffer@10042000 { 44 + compatible = "shared-dma-pool"; 45 + reg = <0x10042000 0x4000>; 46 + no-map; 47 + }; 48 + 49 + mcuram: mcuram@30000000 { 50 + compatible = "shared-dma-pool"; 51 + reg = <0x30000000 0x40000>; 52 + no-map; 53 + }; 54 + 55 + retram: retram@38000000 { 56 + compatible = "shared-dma-pool"; 57 + reg = <0x38000000 0x10000>; 58 + no-map; 59 + }; 60 + }; 61 + }; 62 + 63 + &adc { 64 + vdd-supply = <&vdd>; 65 + vdda-supply = <&vdda>; 66 + vref-supply = <&vdda>; 67 + status = "okay"; 68 + 69 + adc1: adc@0 { 70 + st,min-sample-time-nsecs = <5000>; 71 + st,adc-channels = <0>; 72 + status = "okay"; 73 + }; 74 + 75 + adc2: adc@100 { 76 + st,adc-channels = <1>; 77 + st,min-sample-time-nsecs = <5000>; 78 + status = "okay"; 79 + }; 80 + }; 81 + 82 + &dac { 83 + pinctrl-names = "default"; 84 + pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>; 85 + vref-supply = <&vdda>; 86 + status = "okay"; 87 + 88 + dac1: dac@1 { 89 + status = "okay"; 90 + }; 91 + dac2: dac@2 { 92 + status = "okay"; 93 + }; 94 + }; 95 + 96 + &dts { 97 + status = "okay"; 98 + }; 99 + 100 + &gpu { 101 + status = "okay"; 102 + }; 103 + 104 + &i2c4 { 105 + pinctrl-names = "default"; 106 + pinctrl-0 = <&i2c4_pins_a>; 107 + i2c-scl-rising-time-ns = <185>; 108 + i2c-scl-falling-time-ns = <20>; 109 + status = "okay"; 110 + /* spare dmas for other usage */ 111 + /delete-property/dmas; 112 + /delete-property/dma-names; 113 + 114 + rtc@32 { 115 + compatible = "microcrystal,rv8803"; 116 + reg = <0x32>; 117 + }; 118 + 119 + pmic: stpmic@33 { 120 + compatible = "st,stpmic1"; 121 + reg = <0x33>; 122 + interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>; 123 + interrupt-controller; 124 + #interrupt-cells = <2>; 125 + status = "okay"; 126 + 127 + regulators { 128 + compatible = "st,stpmic1-regulators"; 129 + ldo1-supply = <&v3v3>; 130 + ldo2-supply = <&v3v3>; 131 + ldo3-supply = <&vdd_ddr>; 132 + ldo5-supply = <&v3v3>; 133 + ldo6-supply = <&v3v3>; 134 + pwr_sw1-supply = <&bst_out>; 135 + pwr_sw2-supply = <&bst_out>; 136 + 137 + vddcore: buck1 { 138 + regulator-name = "vddcore"; 139 + regulator-min-microvolt = <800000>; 140 + regulator-max-microvolt = <1350000>; 141 + regulator-always-on; 142 + regulator-initial-mode = <0>; 143 + regulator-over-current-protection; 144 + }; 145 + 146 + vdd_ddr: buck2 { 147 + regulator-name = "vdd_ddr"; 148 + regulator-min-microvolt = <1350000>; 149 + regulator-max-microvolt = <1350000>; 150 + regulator-always-on; 151 + regulator-initial-mode = <0>; 152 + regulator-over-current-protection; 153 + }; 154 + 155 + vdd: buck3 { 156 + regulator-name = "vdd"; 157 + regulator-min-microvolt = <3300000>; 158 + regulator-max-microvolt = <3300000>; 159 + regulator-always-on; 160 + st,mask-reset; 161 + regulator-initial-mode = <0>; 162 + regulator-over-current-protection; 163 + }; 164 + 165 + v3v3: buck4 { 166 + regulator-name = "v3v3"; 167 + regulator-min-microvolt = <3300000>; 168 + regulator-max-microvolt = <3300000>; 169 + regulator-always-on; 170 + regulator-over-current-protection; 171 + regulator-initial-mode = <0>; 172 + }; 173 + 174 + vdda: ldo1 { 175 + regulator-name = "vdda"; 176 + regulator-min-microvolt = <2900000>; 177 + regulator-max-microvolt = <2900000>; 178 + interrupts = <IT_CURLIM_LDO1 0>; 179 + }; 180 + 181 + v2v8: ldo2 { 182 + regulator-name = "v2v8"; 183 + regulator-min-microvolt = <2800000>; 184 + regulator-max-microvolt = <2800000>; 185 + interrupts = <IT_CURLIM_LDO2 0>; 186 + }; 187 + 188 + vtt_ddr: ldo3 { 189 + regulator-name = "vtt_ddr"; 190 + regulator-min-microvolt = <500000>; 191 + regulator-max-microvolt = <750000>; 192 + regulator-always-on; 193 + regulator-over-current-protection; 194 + }; 195 + 196 + vdd_usb: ldo4 { 197 + regulator-name = "vdd_usb"; 198 + regulator-min-microvolt = <3300000>; 199 + regulator-max-microvolt = <3300000>; 200 + interrupts = <IT_CURLIM_LDO4 0>; 201 + }; 202 + 203 + vdd_sd: ldo5 { 204 + regulator-name = "vdd_sd"; 205 + regulator-min-microvolt = <2900000>; 206 + regulator-max-microvolt = <2900000>; 207 + interrupts = <IT_CURLIM_LDO5 0>; 208 + regulator-boot-on; 209 + }; 210 + 211 + v1v8: ldo6 { 212 + regulator-name = "v1v8"; 213 + regulator-min-microvolt = <1800000>; 214 + regulator-max-microvolt = <1800000>; 215 + interrupts = <IT_CURLIM_LDO6 0>; 216 + }; 217 + 218 + vref_ddr: vref_ddr { 219 + regulator-name = "vref_ddr"; 220 + regulator-always-on; 221 + regulator-over-current-protection; 222 + }; 223 + 224 + bst_out: boost { 225 + regulator-name = "bst_out"; 226 + interrupts = <IT_OCP_BOOST 0>; 227 + }; 228 + 229 + vbus_otg: pwr_sw1 { 230 + regulator-name = "vbus_otg"; 231 + interrupts = <IT_OCP_OTG 0>; 232 + }; 233 + 234 + vbus_sw: pwr_sw2 { 235 + regulator-name = "vbus_sw"; 236 + interrupts = <IT_OCP_SWOUT 0>; 237 + regulator-active-discharge; 238 + }; 239 + }; 240 + 241 + onkey { 242 + compatible = "st,stpmic1-onkey"; 243 + interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>; 244 + interrupt-names = "onkey-falling", "onkey-rising"; 245 + power-off-time-sec = <10>; 246 + status = "okay"; 247 + }; 248 + 249 + watchdog { 250 + compatible = "st,stpmic1-wdt"; 251 + status = "disabled"; 252 + }; 253 + }; 254 + 255 + touchscreen@49 { 256 + compatible = "ti,tsc2004"; 257 + reg = <0x49>; 258 + vio-supply = <&v3v3>; 259 + interrupts-extended = <&gpioh 3 IRQ_TYPE_EDGE_FALLING>; 260 + }; 261 + 262 + eeprom@50 { 263 + compatible = "atmel,24c02"; 264 + reg = <0x50>; 265 + pagesize = <16>; 266 + }; 267 + }; 268 + 269 + &ipcc { 270 + status = "okay"; 271 + }; 272 + 273 + &iwdg2 { 274 + timeout-sec = <32>; 275 + status = "okay"; 276 + }; 277 + 278 + &m4_rproc { 279 + memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, 280 + <&vdev0vring1>, <&vdev0buffer>; 281 + mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>; 282 + mbox-names = "vq0", "vq1", "shutdown"; 283 + interrupt-parent = <&exti>; 284 + interrupts = <68 1>; 285 + status = "okay"; 286 + }; 287 + 288 + &pwr_regulators { 289 + vdd-supply = <&vdd>; 290 + vdd_3v3_usbfs-supply = <&vdd_usb>; 291 + }; 292 + 293 + &qspi { 294 + pinctrl-names = "default", "sleep"; 295 + pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a &qspi_bk2_pins_a>; 296 + pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a &qspi_bk2_sleep_pins_a>; 297 + reg = <0x58003000 0x1000>, <0x70000000 0x4000000>; 298 + #address-cells = <1>; 299 + #size-cells = <0>; 300 + status = "okay"; 301 + 302 + flash0: mx66l51235l@0 { 303 + compatible = "jedec,spi-nor"; 304 + reg = <0>; 305 + spi-rx-bus-width = <4>; 306 + spi-max-frequency = <108000000>; 307 + #address-cells = <1>; 308 + #size-cells = <1>; 309 + }; 310 + }; 311 + 312 + &rng1 { 313 + status = "okay"; 314 + }; 315 + 316 + &rtc { 317 + status = "okay"; 318 + }; 319 + 320 + &sdmmc1 { 321 + pinctrl-names = "default", "opendrain", "sleep"; 322 + pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>; 323 + pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>; 324 + pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>; 325 + broken-cd; 326 + st,sig-dir; 327 + st,neg-edge; 328 + st,use-ckin; 329 + bus-width = <4>; 330 + vmmc-supply = <&vdd_sd>; 331 + status = "okay"; 332 + }; 333 + 334 + &sdmmc2 { 335 + pinctrl-names = "default", "opendrain", "sleep"; 336 + pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>; 337 + pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_a>; 338 + pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_a>; 339 + non-removable; 340 + no-sd; 341 + no-sdio; 342 + st,neg-edge; 343 + bus-width = <8>; 344 + vmmc-supply = <&v3v3>; 345 + vqmmc-supply = <&v3v3>; 346 + mmc-ddr-3_3v; 347 + status = "okay"; 348 + }; 349 + 350 + &sdmmc3 { 351 + pinctrl-names = "default", "opendrain", "sleep"; 352 + pinctrl-0 = <&sdmmc3_b4_pins_a>; 353 + pinctrl-1 = <&sdmmc3_b4_od_pins_a>; 354 + pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>; 355 + broken-cd; 356 + st,neg-edge; 357 + bus-width = <4>; 358 + vmmc-supply = <&v3v3>; 359 + vqmmc-supply = <&v3v3>; 360 + mmc-ddr-3_3v; 361 + status = "okay"; 362 + }; 363 + 364 + &uart4 { 365 + pinctrl-names = "default"; 366 + pinctrl-0 = <&uart4_pins_a>; 367 + status = "okay"; 368 + };
+10 -6
arch/arm/boot/dts/stm32mp157c-ed1.dts
··· 130 130 }; 131 131 132 132 &i2c4 { 133 - pinctrl-names = "default"; 133 + pinctrl-names = "default", "sleep"; 134 134 pinctrl-0 = <&i2c4_pins_a>; 135 + pinctrl-1 = <&i2c4_pins_sleep_a>; 135 136 i2c-scl-rising-time-ns = <185>; 136 137 i2c-scl-falling-time-ns = <20>; 138 + clock-frequency = <400000>; 137 139 status = "okay"; 138 140 /* spare dmas for other usage */ 139 141 /delete-property/dmas; ··· 220 218 221 219 vdd_usb: ldo4 { 222 220 regulator-name = "vdd_usb"; 223 - regulator-min-microvolt = <3300000>; 224 - regulator-max-microvolt = <3300000>; 225 221 interrupts = <IT_CURLIM_LDO4 0>; 226 222 }; 227 223 ··· 241 241 vref_ddr: vref_ddr { 242 242 regulator-name = "vref_ddr"; 243 243 regulator-always-on; 244 - regulator-over-current-protection; 245 244 }; 246 245 247 246 bst_out: boost { ··· 312 313 pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>; 313 314 pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>; 314 315 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>; 315 - broken-cd; 316 + cd-gpios = <&gpiog 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 317 + disable-wp; 316 318 st,sig-dir; 317 319 st,neg-edge; 318 320 st,use-ckin; ··· 334 334 st,neg-edge; 335 335 bus-width = <8>; 336 336 vmmc-supply = <&v3v3>; 337 - vqmmc-supply = <&v3v3>; 337 + vqmmc-supply = <&vdd>; 338 338 mmc-ddr-3_3v; 339 339 status = "okay"; 340 340 }; ··· 353 353 pinctrl-names = "default"; 354 354 pinctrl-0 = <&uart4_pins_a>; 355 355 status = "okay"; 356 + }; 357 + 358 + &usbotg_hs { 359 + vbus-supply = <&vbus_otg>; 356 360 }; 357 361 358 362 &usbphyc_port0 {
+8 -5
arch/arm/boot/dts/stm32mp157c-ev1.dts
··· 174 174 }; 175 175 176 176 &i2c2 { 177 - pinctrl-names = "default"; 177 + pinctrl-names = "default", "sleep"; 178 178 pinctrl-0 = <&i2c2_pins_a>; 179 + pinctrl-1 = <&i2c2_pins_sleep_a>; 179 180 i2c-scl-rising-time-ns = <185>; 180 181 i2c-scl-falling-time-ns = <20>; 181 182 status = "okay"; ··· 211 210 interrupt-parent = <&gpioi>; 212 211 vdd-supply = <&v3v3>; 213 212 214 - stmfx_pinctrl: stmfx-pin-controller { 213 + stmfx_pinctrl: pinctrl { 215 214 compatible = "st,stmfx-0300-pinctrl"; 216 215 gpio-controller; 217 216 #gpio-cells = <2>; ··· 219 218 #interrupt-cells = <2>; 220 219 gpio-ranges = <&stmfx_pinctrl 0 0 24>; 221 220 222 - joystick_pins: joystick { 221 + joystick_pins: joystick-pins { 223 222 pins = "gpio0", "gpio1", "gpio2", "gpio3", "gpio4"; 224 223 bias-pull-down; 225 224 }; ··· 228 227 }; 229 228 230 229 &i2c5 { 231 - pinctrl-names = "default"; 230 + pinctrl-names = "default", "sleep"; 232 231 pinctrl-0 = <&i2c5_pins_a>; 232 + pinctrl-1 = <&i2c5_pins_sleep_a>; 233 233 i2c-scl-rising-time-ns = <185>; 234 234 i2c-scl-falling-time-ns = <20>; 235 235 status = "okay"; ··· 355 353 }; 356 354 357 355 &usbotg_hs { 358 - dr_mode = "peripheral"; 356 + pinctrl-0 = <&usbotg_hs_pins_a>; 357 + pinctrl-names = "default"; 359 358 phys = <&usbphyc_port1 0>; 360 359 phy-names = "usb2-phy"; 361 360 status = "okay";
+5 -5
arch/arm/boot/dts/stm32mp15xx-dkx.dtsi
··· 216 216 }; 217 217 218 218 &i2c4 { 219 - pinctrl-names = "default"; 219 + pinctrl-names = "default", "sleep"; 220 220 pinctrl-0 = <&i2c4_pins_a>; 221 + pinctrl-1 = <&i2c4_pins_sleep_a>; 221 222 i2c-scl-rising-time-ns = <185>; 222 223 i2c-scl-falling-time-ns = <20>; 224 + clock-frequency = <400000>; 223 225 status = "okay"; 224 226 /* spare dmas for other usage */ 225 227 /delete-property/dmas; ··· 306 304 307 305 vdd_usb: ldo4 { 308 306 regulator-name = "vdd_usb"; 309 - regulator-min-microvolt = <3300000>; 310 - regulator-max-microvolt = <3300000>; 311 307 interrupts = <IT_CURLIM_LDO4 0>; 312 308 }; 313 309 ··· 328 328 vref_ddr: vref_ddr { 329 329 regulator-name = "vref_ddr"; 330 330 regulator-always-on; 331 - regulator-over-current-protection; 332 331 }; 333 332 334 333 bst_out: boost { ··· 478 479 pinctrl-0 = <&sdmmc1_b4_pins_a>; 479 480 pinctrl-1 = <&sdmmc1_b4_od_pins_a>; 480 481 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 481 - broken-cd; 482 + cd-gpios = <&gpiob 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 483 + disable-wp; 482 484 st,neg-edge; 483 485 bus-width = <4>; 484 486 vmmc-supply = <&v3v3>;
+257
arch/arm/boot/dts/sun5i-a13-pocketbook-touch-lux-3.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 OR MIT 2 + /* 3 + * Copyright 2019 Ondrej Jirman <megous@megous.com> 4 + */ 5 + 6 + /dts-v1/; 7 + #include "sun5i-a13.dtsi" 8 + #include "sunxi-common-regulators.dtsi" 9 + #include <dt-bindings/gpio/gpio.h> 10 + #include <dt-bindings/input/input.h> 11 + #include <dt-bindings/interrupt-controller/irq.h> 12 + #include <dt-bindings/pwm/pwm.h> 13 + 14 + / { 15 + model = "PocketBook Touch Lux 3"; 16 + compatible = "pocketbook,touch-lux-3", "allwinner,sun5i-a13"; 17 + 18 + aliases { 19 + serial0 = &uart1; 20 + i2c0 = &i2c0; 21 + i2c1 = &i2c1; 22 + i2c2 = &i2c2; 23 + }; 24 + 25 + backlight { 26 + compatible = "pwm-backlight"; 27 + pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>; 28 + enable-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */ 29 + brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>; 30 + default-brightness-level = <8>; 31 + }; 32 + 33 + chosen { 34 + stdout-path = "serial0:115200n8"; 35 + }; 36 + 37 + leds { 38 + compatible = "gpio-leds"; 39 + 40 + power { 41 + gpios = <&pio 4 8 GPIO_ACTIVE_LOW>; /* PE8 */ 42 + default-state = "on"; 43 + }; 44 + }; 45 + 46 + gpio-keys { 47 + compatible = "gpio-keys"; 48 + autorepeat; 49 + label = "GPIO Keys"; 50 + 51 + key-right { 52 + label = "Right"; 53 + linux,code = <KEY_RIGHT>; 54 + gpios = <&pio 6 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PG9 */ 55 + }; 56 + 57 + key-left { 58 + label = "Left"; 59 + linux,code = <KEY_LEFT>; 60 + gpios = <&pio 6 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* PG10 */ 61 + }; 62 + }; 63 + 64 + reg_1v8: regulator-1v8 { 65 + compatible = "regulator-fixed"; 66 + regulator-name = "vdd-1v8-nor-ctp"; 67 + regulator-min-microvolt = <1800000>; 68 + regulator-max-microvolt = <1800000>; 69 + gpio = <&pio 2 15 GPIO_ACTIVE_HIGH>; 70 + enable-active-high; 71 + }; 72 + 73 + reg_1v8_nor: regulator-nor { 74 + compatible = "regulator-fixed"; 75 + regulator-name = "vdd-nor"; 76 + regulator-min-microvolt = <1800000>; 77 + regulator-max-microvolt = <1800000>; 78 + gpio = <&pio 2 14 GPIO_ACTIVE_HIGH>; 79 + enable-active-high; 80 + vin-supply = <&reg_1v8>; 81 + regulator-always-on; 82 + }; 83 + 84 + reg_1v8_ctp: regulator-ctp { 85 + compatible = "regulator-fixed"; 86 + regulator-name = "vdd-ctp"; 87 + regulator-min-microvolt = <1800000>; 88 + regulator-max-microvolt = <1800000>; 89 + gpio = <&pio 2 13 GPIO_ACTIVE_HIGH>; 90 + enable-active-high; 91 + vin-supply = <&reg_1v8>; 92 + }; 93 + 94 + reg_3v3_mmc0: regulator-mmc0 { 95 + compatible = "regulator-fixed"; 96 + regulator-name = "vdd-mmc0"; 97 + regulator-min-microvolt = <3300000>; 98 + regulator-max-microvolt = <3300000>; 99 + gpio = <&pio 4 4 GPIO_ACTIVE_LOW>; /* PE4 */ 100 + vin-supply = <&reg_vcc3v3>; 101 + }; 102 + }; 103 + 104 + &cpu0 { 105 + cpu-supply = <&reg_dcdc2>; 106 + }; 107 + 108 + &ehci0 { 109 + status = "okay"; 110 + }; 111 + 112 + &i2c0 { 113 + status = "okay"; 114 + 115 + axp209: pmic@34 { 116 + reg = <0x34>; 117 + interrupts = <0>; 118 + }; 119 + }; 120 + 121 + #include "axp209.dtsi" 122 + 123 + &i2c1 { 124 + status = "okay"; 125 + 126 + pcf8563: rtc@51 { 127 + compatible = "nxp,pcf8563"; 128 + reg = <0x51>; 129 + }; 130 + }; 131 + 132 + &i2c2 { 133 + status = "okay"; 134 + 135 + /* Touchpanel is connected here. */ 136 + }; 137 + 138 + &lradc { 139 + vref-supply = <&reg_ldo2>; 140 + status = "okay"; 141 + 142 + button-200 { 143 + label = "Home"; 144 + linux,code = <KEY_HOME>; 145 + channel = <0>; 146 + voltage = <200000>; 147 + }; 148 + 149 + button-400 { 150 + label = "Menu"; 151 + linux,code = <KEY_MENU>; 152 + channel = <0>; 153 + voltage = <400000>; 154 + }; 155 + }; 156 + 157 + &mmc0 { 158 + vmmc-supply = <&reg_3v3_mmc0>; 159 + bus-width = <4>; 160 + cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */ 161 + status = "okay"; 162 + }; 163 + 164 + &mmc2 { 165 + pinctrl-names = "default"; 166 + pinctrl-0 = <&mmc2_4bit_pc_pins>; 167 + vmmc-supply = <&reg_vcc3v3>; 168 + bus-width = <4>; 169 + non-removable; 170 + status = "okay"; 171 + }; 172 + 173 + &ohci0 { 174 + status = "okay"; 175 + }; 176 + 177 + &otg_sram { 178 + status = "okay"; 179 + }; 180 + 181 + &pwm { 182 + pinctrl-names = "default"; 183 + pinctrl-0 = <&pwm0_pin>; 184 + status = "okay"; 185 + }; 186 + 187 + &reg_dcdc2 { 188 + regulator-always-on; 189 + regulator-min-microvolt = <1000000>; 190 + regulator-max-microvolt = <1400000>; 191 + regulator-name = "vdd-cpu"; 192 + }; 193 + 194 + &reg_dcdc3 { 195 + regulator-always-on; 196 + regulator-min-microvolt = <1200000>; 197 + regulator-max-microvolt = <1200000>; 198 + regulator-name = "vdd-int-pll"; 199 + }; 200 + 201 + &reg_ldo1 { 202 + regulator-name = "vdd-rtc"; 203 + }; 204 + 205 + &reg_ldo2 { 206 + regulator-always-on; 207 + regulator-min-microvolt = <3000000>; 208 + regulator-max-microvolt = <3000000>; 209 + regulator-name = "avcc"; 210 + }; 211 + 212 + &reg_ldo3 { 213 + regulator-min-microvolt = <3300000>; 214 + regulator-max-microvolt = <3300000>; 215 + regulator-name = "vcc-wifi"; 216 + /* We need this otherwise the LDO3 would overload */ 217 + regulator-soft-start; 218 + regulator-ramp-delay = <1600>; 219 + }; 220 + 221 + &spi2 { 222 + pinctrl-names = "default"; 223 + pinctrl-0 = <&spi2_pe_pins>, <&spi2_cs0_pe_pin>; 224 + status = "okay"; 225 + 226 + epd_flash: flash@0 { 227 + #address-cells = <1>; 228 + #size-cells = <1>; 229 + compatible = "macronix,mx25u4033", "jedec,spi-nor"; 230 + reg = <0>; 231 + spi-max-frequency = <4000000>; 232 + }; 233 + }; 234 + 235 + &uart1 { 236 + pinctrl-names = "default"; 237 + pinctrl-0 = <&uart1_pg_pins>; 238 + status = "okay"; 239 + }; 240 + 241 + &usb_otg { 242 + dr_mode = "peripheral"; 243 + status = "okay"; 244 + }; 245 + 246 + &battery_power_supply { 247 + status = "okay"; 248 + }; 249 + 250 + &usb_power_supply { 251 + status = "okay"; 252 + }; 253 + 254 + &usbphy { 255 + usb1_vbus-supply = <&reg_ldo3>; 256 + status = "okay"; 257 + };
-3
arch/arm/boot/dts/sun5i.dtsi
··· 773 773 interconnect-names = "dma-mem"; 774 774 status = "disabled"; 775 775 776 - assigned-clocks = <&ccu CLK_DE_BE>; 777 - assigned-clock-rates = <300000000>; 778 - 779 776 ports { 780 777 #address-cells = <1>; 781 778 #size-cells = <0>;
-12
arch/arm/boot/dts/sun6i-a31.dtsi
··· 1139 1139 "ram"; 1140 1140 resets = <&ccu RST_AHB1_BE1>; 1141 1141 1142 - assigned-clocks = <&ccu CLK_BE1>; 1143 - assigned-clock-rates = <300000000>; 1144 - 1145 1142 ports { 1146 1143 #address-cells = <1>; 1147 1144 #size-cells = <0>; ··· 1181 1184 clock-names = "ahb", "mod", 1182 1185 "ram"; 1183 1186 resets = <&ccu RST_AHB1_DRC1>; 1184 - 1185 - assigned-clocks = <&ccu CLK_IEP_DRC1>; 1186 - assigned-clock-rates = <300000000>; 1187 1187 1188 1188 ports { 1189 1189 #address-cells = <1>; ··· 1225 1231 "ram"; 1226 1232 resets = <&ccu RST_AHB1_BE0>; 1227 1233 1228 - assigned-clocks = <&ccu CLK_BE0>; 1229 - assigned-clock-rates = <300000000>; 1230 - 1231 1234 ports { 1232 1235 #address-cells = <1>; 1233 1236 #size-cells = <0>; ··· 1264 1273 clock-names = "ahb", "mod", 1265 1274 "ram"; 1266 1275 resets = <&ccu RST_AHB1_DRC0>; 1267 - 1268 - assigned-clocks = <&ccu CLK_IEP_DRC0>; 1269 - assigned-clock-rates = <300000000>; 1270 1276 1271 1277 ports { 1272 1278 #address-cells = <1>;
+47
arch/arm/boot/dts/sun7i-a20-linutronix-testbox-v2.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later 2 + /* 3 + * Copyright 2020 Linutronix GmbH 4 + * Author: Benedikt Spranger <b.spranger@linutronix.de> 5 + */ 6 + 7 + /dts-v1/; 8 + #include "sun7i-a20-lamobo-r1.dts" 9 + 10 + / { 11 + model = "Lamobo R1"; 12 + compatible = "linutronix,testbox-v2", "lamobo,lamobo-r1", "allwinner,sun7i-a20"; 13 + 14 + leds { 15 + led-opto1 { 16 + label = "lamobo_r1:opto:powerswitch"; 17 + gpios = <&pio 7 3 GPIO_ACTIVE_HIGH>; 18 + }; 19 + 20 + led-opto2 { 21 + label = "lamobo_r1:opto:relay"; 22 + gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; 23 + }; 24 + }; 25 + }; 26 + 27 + &i2c2 { 28 + clock-frequency = <100000>; 29 + status = "okay"; 30 + 31 + eeprom: eeprom@50 { 32 + compatible = "atmel,24c08"; 33 + reg = <0x50>; 34 + status = "okay"; 35 + }; 36 + 37 + atecc508a@60 { 38 + compatible = "atmel,atecc508a"; 39 + reg = <0x60>; 40 + }; 41 + }; 42 + 43 + &can0 { 44 + pinctrl-names = "default"; 45 + pinctrl-0 = <&can_ph_pins>; 46 + status = "okay"; 47 + };
+21 -4
arch/arm/boot/dts/sun7i-a20.dtsi
··· 47 47 #include <dt-bindings/dma/sun4i-a10.h> 48 48 #include <dt-bindings/clock/sun7i-a20-ccu.h> 49 49 #include <dt-bindings/reset/sun4i-a10-ccu.h> 50 + #include <dt-bindings/pinctrl/sun4i-a10.h> 50 51 51 52 / { 52 53 interrupt-parent = <&gic>; ··· 405 404 }; 406 405 407 406 tcon0: lcd-controller@1c0c000 { 408 - compatible = "allwinner,sun7i-a20-tcon"; 407 + compatible = "allwinner,sun7i-a20-tcon0", 408 + "allwinner,sun7i-a20-tcon"; 409 409 reg = <0x01c0c000 0x1000>; 410 410 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 411 - resets = <&ccu RST_TCON0>; 412 - reset-names = "lcd"; 411 + resets = <&ccu RST_TCON0>, <&ccu RST_LVDS>; 412 + reset-names = "lcd", "lvds"; 413 413 clocks = <&ccu CLK_AHB_LCD0>, 414 414 <&ccu CLK_TCON0_CH0>, 415 415 <&ccu CLK_TCON0_CH1>; ··· 456 454 }; 457 455 458 456 tcon1: lcd-controller@1c0d000 { 459 - compatible = "allwinner,sun7i-a20-tcon"; 457 + compatible = "allwinner,sun7i-a20-tcon1", 458 + "allwinner,sun7i-a20-tcon"; 460 459 reg = <0x01c0d000 0x1000>; 461 460 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 462 461 resets = <&ccu RST_TCON1>; ··· 932 929 ir1_tx_pin: ir1-tx-pin { 933 930 pins = "PB22"; 934 931 function = "ir1"; 932 + }; 933 + 934 + /omit-if-no-ref/ 935 + lcd_lvds0_pins: lcd-lvds0-pins { 936 + pins = "PD0", "PD1", "PD2", "PD3", "PD4", 937 + "PD5", "PD6", "PD7", "PD8", "PD9"; 938 + function = "lvds0"; 939 + }; 940 + 941 + /omit-if-no-ref/ 942 + lcd_lvds1_pins: lcd-lvds1-pins { 943 + pins = "PD10", "PD11", "PD12", "PD13", "PD14", 944 + "PD15", "PD16", "PD17", "PD18", "PD19"; 945 + function = "lvds1"; 935 946 }; 936 947 937 948 /omit-if-no-ref/
-3
arch/arm/boot/dts/sun8i-a23-a33.dtsi
··· 684 684 clock-names = "ahb", "mod", "ram"; 685 685 resets = <&ccu RST_BUS_DRC>; 686 686 687 - assigned-clocks = <&ccu CLK_DRC>; 688 - assigned-clock-rates = <300000000>; 689 - 690 687 ports { 691 688 #address-cells = <1>; 692 689 #size-cells = <0>;
-2
arch/arm/boot/dts/sun8i-a33.dtsi
··· 372 372 "ram", "sat"; 373 373 resets = <&ccu RST_BUS_DE_BE>, <&ccu RST_BUS_SAT>; 374 374 reset-names = "be", "sat"; 375 - assigned-clocks = <&ccu CLK_DE_BE>; 376 - assigned-clock-rates = <300000000>; 377 375 }; 378 376 379 377 &ccu {
-1
arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
··· 493 493 }; 494 494 495 495 &usb_otg { 496 - dr_mode = "otg"; 497 496 status = "okay"; 498 497 }; 499 498
+66 -7
arch/arm/boot/dts/sun8i-a83t.dtsi
··· 72 72 #cooling-cells = <2>; 73 73 }; 74 74 75 - cpu@1 { 75 + cpu1: cpu@1 { 76 76 compatible = "arm,cortex-a7"; 77 77 device_type = "cpu"; 78 78 clocks = <&ccu CLK_C0CPUX>; ··· 83 83 #cooling-cells = <2>; 84 84 }; 85 85 86 - cpu@2 { 86 + cpu2: cpu@2 { 87 87 compatible = "arm,cortex-a7"; 88 88 device_type = "cpu"; 89 89 clocks = <&ccu CLK_C0CPUX>; ··· 94 94 #cooling-cells = <2>; 95 95 }; 96 96 97 - cpu@3 { 97 + cpu3: cpu@3 { 98 98 compatible = "arm,cortex-a7"; 99 99 device_type = "cpu"; 100 100 clocks = <&ccu CLK_C0CPUX>; ··· 116 116 #cooling-cells = <2>; 117 117 }; 118 118 119 - cpu@101 { 119 + cpu101: cpu@101 { 120 120 compatible = "arm,cortex-a7"; 121 121 device_type = "cpu"; 122 122 clocks = <&ccu CLK_C1CPUX>; ··· 127 127 #cooling-cells = <2>; 128 128 }; 129 129 130 - cpu@102 { 130 + cpu102: cpu@102 { 131 131 compatible = "arm,cortex-a7"; 132 132 device_type = "cpu"; 133 133 clocks = <&ccu CLK_C1CPUX>; ··· 138 138 #cooling-cells = <2>; 139 139 }; 140 140 141 - cpu@103 { 141 + cpu103: cpu@103 { 142 142 compatible = "arm,cortex-a7"; 143 143 device_type = "cpu"; 144 144 clocks = <&ccu CLK_C1CPUX>; ··· 314 314 315 315 display_clocks: clock@1000000 { 316 316 compatible = "allwinner,sun8i-a83t-de2-clk"; 317 - reg = <0x01000000 0x100000>; 317 + reg = <0x01000000 0x10000>; 318 318 clocks = <&ccu CLK_BUS_DE>, 319 319 <&ccu CLK_PLL_DE>; 320 320 clock-names = "bus", ··· 322 322 resets = <&ccu RST_BUS_DE>; 323 323 #clock-cells = <1>; 324 324 #reset-cells = <1>; 325 + }; 326 + 327 + rotate: rotate@1020000 { 328 + compatible = "allwinner,sun8i-a83t-de2-rotate"; 329 + reg = <0x1020000 0x10000>; 330 + interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 331 + clocks = <&display_clocks CLK_BUS_ROT>, 332 + <&display_clocks CLK_ROT>; 333 + clock-names = "bus", 334 + "mod"; 335 + resets = <&display_clocks RST_ROT>; 325 336 }; 326 337 327 338 mixer0: mixer@1100000 { ··· 1199 1188 polling-delay-passive = <0>; 1200 1189 polling-delay = <0>; 1201 1190 thermal-sensors = <&ths 0>; 1191 + 1192 + trips { 1193 + cpu0_hot: cpu-hot { 1194 + temperature = <80000>; 1195 + hysteresis = <2000>; 1196 + type = "passive"; 1197 + }; 1198 + 1199 + cpu0_very_hot: cpu-very-hot { 1200 + temperature = <100000>; 1201 + hysteresis = <0>; 1202 + type = "critical"; 1203 + }; 1204 + }; 1205 + 1206 + cooling-maps { 1207 + cpu-hot-limit { 1208 + trip = <&cpu0_hot>; 1209 + cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1210 + <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1211 + <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1212 + <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1213 + }; 1214 + }; 1202 1215 }; 1203 1216 1204 1217 cpu1_thermal: cpu1-thermal { 1205 1218 polling-delay-passive = <0>; 1206 1219 polling-delay = <0>; 1207 1220 thermal-sensors = <&ths 1>; 1221 + 1222 + trips { 1223 + cpu1_hot: cpu-hot { 1224 + temperature = <80000>; 1225 + hysteresis = <2000>; 1226 + type = "passive"; 1227 + }; 1228 + 1229 + cpu1_very_hot: cpu-very-hot { 1230 + temperature = <100000>; 1231 + hysteresis = <0>; 1232 + type = "critical"; 1233 + }; 1234 + }; 1235 + 1236 + cooling-maps { 1237 + cpu-hot-limit { 1238 + trip = <&cpu1_hot>; 1239 + cooling-device = <&cpu100 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1240 + <&cpu101 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1241 + <&cpu102 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 1242 + <&cpu103 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 1243 + }; 1244 + }; 1208 1245 }; 1209 1246 1210 1247 gpu_thermal: gpu-thermal {
+25
arch/arm/boot/dts/sun8i-h3.dtsi
··· 41 41 */ 42 42 43 43 #include "sunxi-h3-h5.dtsi" 44 + #include <dt-bindings/thermal/thermal.h> 44 45 45 46 / { 46 47 cpu0_opp_table: opp_table0 { ··· 228 227 polling-delay-passive = <0>; 229 228 polling-delay = <0>; 230 229 thermal-sensors = <&ths 0>; 230 + 231 + trips { 232 + cpu_hot_trip: cpu-hot { 233 + temperature = <80000>; 234 + hysteresis = <2000>; 235 + type = "passive"; 236 + }; 237 + 238 + cpu_very_hot_trip: cpu-very-hot { 239 + temperature = <100000>; 240 + hysteresis = <0>; 241 + type = "critical"; 242 + }; 243 + }; 244 + 245 + cooling-maps { 246 + cpu-hot-limit { 247 + trip = <&cpu_hot_trip>; 248 + cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 249 + <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 250 + <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 251 + <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 252 + }; 253 + }; 231 254 }; 232 255 }; 233 256 };
+29 -1
arch/arm/boot/dts/sun8i-r40.dtsi
··· 47 47 #include <dt-bindings/clock/sun8i-tcon-top.h> 48 48 #include <dt-bindings/reset/sun8i-r40-ccu.h> 49 49 #include <dt-bindings/reset/sun8i-de2.h> 50 + #include <dt-bindings/thermal/thermal.h> 50 51 51 52 / { 52 53 #address-cells = <1>; ··· 111 110 status = "disabled"; 112 111 }; 113 112 113 + thermal-zones { 114 + cpu_thermal: cpu0-thermal { 115 + /* milliseconds */ 116 + polling-delay-passive = <0>; 117 + polling-delay = <0>; 118 + thermal-sensors = <&ths 0>; 119 + }; 120 + 121 + gpu_thermal: gpu-thermal { 122 + /* milliseconds */ 123 + polling-delay-passive = <0>; 124 + polling-delay = <0>; 125 + thermal-sensors = <&ths 1>; 126 + }; 127 + }; 128 + 114 129 soc { 115 130 compatible = "simple-bus"; 116 131 #address-cells = <1>; ··· 136 119 display_clocks: clock@1000000 { 137 120 compatible = "allwinner,sun8i-r40-de2-clk", 138 121 "allwinner,sun8i-h3-de2-clk"; 139 - reg = <0x01000000 0x100000>; 122 + reg = <0x01000000 0x10000>; 140 123 clocks = <&ccu CLK_BUS_DE>, 141 124 <&ccu CLK_DE>; 142 125 clock-names = "bus", ··· 577 560 reg = <0x01c20c90 0x10>; 578 561 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 579 562 clocks = <&osc24M>; 563 + }; 564 + 565 + ths: thermal-sensor@1c24c00 { 566 + compatible = "allwinner,sun8i-r40-ths"; 567 + reg = <0x01c24c00 0x100>; 568 + clocks = <&ccu CLK_BUS_THS>, <&ccu CLK_THS>; 569 + clock-names = "bus", "mod"; 570 + interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 571 + resets = <&ccu RST_BUS_THS>; 572 + /* TODO: add nvmem-cells for calibration */ 573 + #thermal-sensor-cells = <1>; 580 574 }; 581 575 582 576 uart0: serial@1c28000 {
+1 -1
arch/arm/boot/dts/sun8i-v3s.dtsi
··· 105 105 106 106 display_clocks: clock@1000000 { 107 107 compatible = "allwinner,sun8i-v3s-de2-clk"; 108 - reg = <0x01000000 0x100000>; 108 + reg = <0x01000000 0x10000>; 109 109 clocks = <&ccu CLK_BUS_DE>, 110 110 <&ccu CLK_DE>; 111 111 clock-names = "bus",
+16 -1
arch/arm/boot/dts/sunxi-h3-h5.dtsi
··· 114 114 115 115 display_clocks: clock@1000000 { 116 116 /* compatible is in per SoC .dtsi file */ 117 - reg = <0x01000000 0x100000>; 117 + reg = <0x01000000 0x10000>; 118 118 clocks = <&ccu CLK_BUS_DE>, 119 119 <&ccu CLK_DE>; 120 120 clock-names = "bus", ··· 894 894 pins = "PL0", "PL1"; 895 895 function = "s_i2c"; 896 896 }; 897 + 898 + r_pwm_pin: r-pwm-pin { 899 + pins = "PL10"; 900 + function = "s_pwm"; 901 + }; 902 + }; 903 + 904 + r_pwm: pwm@1f03800 { 905 + compatible = "allwinner,sun8i-h3-pwm"; 906 + reg = <0x01f03800 0x8>; 907 + pinctrl-names = "default"; 908 + pinctrl-0 = <&r_pwm_pin>; 909 + clocks = <&osc24M>; 910 + #pwm-cells = <3>; 911 + status = "disabled"; 897 912 }; 898 913 }; 899 914 };
+7 -1
arch/arm/boot/dts/tegra114-dalmore.dts
··· 1296 1296 1297 1297 clocks = <&tegra_car TEGRA114_CLK_PLL_A>, 1298 1298 <&tegra_car TEGRA114_CLK_PLL_A_OUT0>, 1299 - <&tegra_car TEGRA114_CLK_EXTERN1>; 1299 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 1300 1300 clock-names = "pll_a", "pll_a_out0", "mclk"; 1301 + 1302 + assigned-clocks = <&tegra_car TEGRA114_CLK_EXTERN1>, 1303 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 1304 + 1305 + assigned-clock-parents = <&tegra_car TEGRA114_CLK_PLL_A_OUT0>, 1306 + <&tegra_car TEGRA114_CLK_EXTERN1>; 1301 1307 }; 1302 1308 };
+3 -1
arch/arm/boot/dts/tegra114.dtsi
··· 4 4 #include <dt-bindings/memory/tegra114-mc.h> 5 5 #include <dt-bindings/pinctrl/pinctrl-tegra.h> 6 6 #include <dt-bindings/interrupt-controller/arm-gic.h> 7 + #include <dt-bindings/soc/tegra-pmc.h> 7 8 8 9 / { 9 10 compatible = "nvidia,tegra114"; ··· 515 514 status = "disabled"; 516 515 }; 517 516 518 - pmc@7000e400 { 517 + tegra_pmc: pmc@7000e400 { 519 518 compatible = "nvidia,tegra114-pmc"; 520 519 reg = <0x7000e400 0x400>; 521 520 clocks = <&tegra_car TEGRA114_CLK_PCLK>, <&clk32k_in>; 522 521 clock-names = "pclk", "clk32k_in"; 522 + #clock-cells = <1>; 523 523 }; 524 524 525 525 fuse@7000f800 {
+7 -1
arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi
··· 2009 2009 nvidia,audio-codec = <&sgtl5000>; 2010 2010 clocks = <&tegra_car TEGRA124_CLK_PLL_A>, 2011 2011 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>, 2012 - <&tegra_car TEGRA124_CLK_EXTERN1>; 2012 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 2013 2013 clock-names = "pll_a", "pll_a_out0", "mclk"; 2014 + 2015 + assigned-clocks = <&tegra_car TEGRA124_CLK_EXTERN1>, 2016 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 2017 + 2018 + assigned-clock-parents = <&tegra_car TEGRA124_CLK_PLL_A_OUT0>, 2019 + <&tegra_car TEGRA124_CLK_EXTERN1>; 2014 2020 }; 2015 2021 2016 2022 thermal-zones {
+7 -1
arch/arm/boot/dts/tegra124-apalis.dtsi
··· 2001 2001 nvidia,audio-codec = <&sgtl5000>; 2002 2002 clocks = <&tegra_car TEGRA124_CLK_PLL_A>, 2003 2003 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>, 2004 - <&tegra_car TEGRA124_CLK_EXTERN1>; 2004 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 2005 2005 clock-names = "pll_a", "pll_a_out0", "mclk"; 2006 + 2007 + assigned-clocks = <&tegra_car TEGRA124_CLK_EXTERN1>, 2008 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 2009 + 2010 + assigned-clock-parents = <&tegra_car TEGRA124_CLK_PLL_A_OUT0>, 2011 + <&tegra_car TEGRA124_CLK_EXTERN1>; 2006 2012 }; 2007 2013 2008 2014 thermal-zones {
+7 -7
arch/arm/boot/dts/tegra124-jetson-tk1.dts
··· 1782 1782 }; 1783 1783 1784 1784 ports { 1785 - /* Micro A/B */ 1786 - usb2-0 { 1787 - status = "okay"; 1788 - mode = "otg"; 1789 - }; 1790 - 1791 1785 /* Mini PCIe */ 1792 1786 usb2-1 { 1793 1787 status = "okay"; ··· 2052 2058 2053 2059 clocks = <&tegra_car TEGRA124_CLK_PLL_A>, 2054 2060 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>, 2055 - <&tegra_car TEGRA124_CLK_EXTERN1>; 2061 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 2056 2062 clock-names = "pll_a", "pll_a_out0", "mclk"; 2063 + 2064 + assigned-clocks = <&tegra_car TEGRA124_CLK_EXTERN1>, 2065 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 2066 + 2067 + assigned-clock-parents = <&tegra_car TEGRA124_CLK_PLL_A_OUT0>, 2068 + <&tegra_car TEGRA124_CLK_EXTERN1>; 2057 2069 }; 2058 2070 2059 2071 thermal-zones {
+7 -1
arch/arm/boot/dts/tegra124-nyan.dtsi
··· 788 788 789 789 clocks = <&tegra_car TEGRA124_CLK_PLL_A>, 790 790 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>, 791 - <&tegra_car TEGRA124_CLK_EXTERN1>; 791 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 792 792 clock-names = "pll_a", "pll_a_out0", "mclk"; 793 + 794 + assigned-clocks = <&tegra_car TEGRA124_CLK_EXTERN1>, 795 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 796 + 797 + assigned-clock-parents = <&tegra_car TEGRA124_CLK_PLL_A_OUT0>, 798 + <&tegra_car TEGRA124_CLK_EXTERN1>; 793 799 794 800 nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(I, 7) GPIO_ACTIVE_HIGH>; 795 801 nvidia,mic-det-gpios =
+7 -1
arch/arm/boot/dts/tegra124-venice2.dts
··· 1266 1266 1267 1267 clocks = <&tegra_car TEGRA124_CLK_PLL_A>, 1268 1268 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>, 1269 - <&tegra_car TEGRA124_CLK_EXTERN1>; 1269 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 1270 1270 clock-names = "pll_a", "pll_a_out0", "mclk"; 1271 + 1272 + assigned-clocks = <&tegra_car TEGRA124_CLK_EXTERN1>, 1273 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 1274 + 1275 + assigned-clock-parents = <&tegra_car TEGRA124_CLK_PLL_A_OUT0>, 1276 + <&tegra_car TEGRA124_CLK_EXTERN1>; 1271 1277 }; 1272 1278 }; 1273 1279
+3 -1
arch/arm/boot/dts/tegra124.dtsi
··· 6 6 #include <dt-bindings/interrupt-controller/arm-gic.h> 7 7 #include <dt-bindings/reset/tegra124-car.h> 8 8 #include <dt-bindings/thermal/tegra124-soctherm.h> 9 + #include <dt-bindings/soc/tegra-pmc.h> 9 10 10 11 / { 11 12 compatible = "nvidia,tegra124"; ··· 596 595 clocks = <&tegra_car TEGRA124_CLK_RTC>; 597 596 }; 598 597 599 - pmc@7000e400 { 598 + tegra_pmc: pmc@7000e400 { 600 599 compatible = "nvidia,tegra124-pmc"; 601 600 reg = <0x0 0x7000e400 0x0 0x400>; 602 601 clocks = <&tegra_car TEGRA124_CLK_PCLK>, <&clk32k_in>; 603 602 clock-names = "pclk", "clk32k_in"; 603 + #clock-cells = <1>; 604 604 }; 605 605 606 606 fuse@7000f800 {
+3 -1
arch/arm/boot/dts/tegra20.dtsi
··· 4 4 #include <dt-bindings/memory/tegra20-mc.h> 5 5 #include <dt-bindings/pinctrl/pinctrl-tegra.h> 6 6 #include <dt-bindings/interrupt-controller/arm-gic.h> 7 + #include <dt-bindings/soc/tegra-pmc.h> 7 8 8 9 / { 9 10 compatible = "nvidia,tegra20"; ··· 609 608 status = "disabled"; 610 609 }; 611 610 612 - pmc@7000e400 { 611 + tegra_pmc: pmc@7000e400 { 613 612 compatible = "nvidia,tegra20-pmc"; 614 613 reg = <0x7000e400 0x400>; 615 614 clocks = <&tegra_car TEGRA20_CLK_PCLK>, <&clk32k_in>; 616 615 clock-names = "pclk", "clk32k_in"; 616 + #clock-cells = <1>; 617 617 }; 618 618 619 619 mc: memory-controller@7000f000 {
+7 -1
arch/arm/boot/dts/tegra30-apalis-v1.1.dtsi
··· 1189 1189 nvidia,audio-codec = <&sgtl5000>; 1190 1190 clocks = <&tegra_car TEGRA30_CLK_PLL_A>, 1191 1191 <&tegra_car TEGRA30_CLK_PLL_A_OUT0>, 1192 - <&tegra_car TEGRA30_CLK_EXTERN1>; 1192 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 1193 1193 clock-names = "pll_a", "pll_a_out0", "mclk"; 1194 + 1195 + assigned-clocks = <&tegra_car TEGRA30_CLK_EXTERN1>, 1196 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 1197 + 1198 + assigned-clock-parents = <&tegra_car TEGRA30_CLK_PLL_A_OUT0>, 1199 + <&tegra_car TEGRA30_CLK_EXTERN1>; 1194 1200 }; 1195 1201 };
+7 -1
arch/arm/boot/dts/tegra30-apalis.dtsi
··· 1171 1171 nvidia,audio-codec = <&sgtl5000>; 1172 1172 clocks = <&tegra_car TEGRA30_CLK_PLL_A>, 1173 1173 <&tegra_car TEGRA30_CLK_PLL_A_OUT0>, 1174 - <&tegra_car TEGRA30_CLK_EXTERN1>; 1174 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 1175 1175 clock-names = "pll_a", "pll_a_out0", "mclk"; 1176 + 1177 + assigned-clocks = <&tegra_car TEGRA30_CLK_EXTERN1>, 1178 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 1179 + 1180 + assigned-clock-parents = <&tegra_car TEGRA30_CLK_PLL_A_OUT0>, 1181 + <&tegra_car TEGRA30_CLK_EXTERN1>; 1176 1182 }; 1177 1183 };
+7 -1
arch/arm/boot/dts/tegra30-beaver.dts
··· 2111 2111 2112 2112 clocks = <&tegra_car TEGRA30_CLK_PLL_A>, 2113 2113 <&tegra_car TEGRA30_CLK_PLL_A_OUT0>, 2114 - <&tegra_car TEGRA30_CLK_EXTERN1>; 2114 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 2115 2115 clock-names = "pll_a", "pll_a_out0", "mclk"; 2116 + 2117 + assigned-clocks = <&tegra_car TEGRA30_CLK_EXTERN1>, 2118 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 2119 + 2120 + assigned-clock-parents = <&tegra_car TEGRA30_CLK_PLL_A_OUT0>, 2121 + <&tegra_car TEGRA30_CLK_EXTERN1>; 2116 2122 }; 2117 2123 };
+7 -1
arch/arm/boot/dts/tegra30-cardhu.dtsi
··· 619 619 620 620 clocks = <&tegra_car TEGRA30_CLK_PLL_A>, 621 621 <&tegra_car TEGRA30_CLK_PLL_A_OUT0>, 622 - <&tegra_car TEGRA30_CLK_EXTERN1>; 622 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 623 623 clock-names = "pll_a", "pll_a_out0", "mclk"; 624 + 625 + assigned-clocks = <&tegra_car TEGRA30_CLK_EXTERN1>, 626 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 627 + 628 + assigned-clock-parents = <&tegra_car TEGRA30_CLK_PLL_A_OUT0>, 629 + <&tegra_car TEGRA30_CLK_EXTERN1>; 624 630 }; 625 631 626 632 gpio-keys {
+7 -1
arch/arm/boot/dts/tegra30-colibri.dtsi
··· 1030 1030 nvidia,audio-codec = <&sgtl5000>; 1031 1031 clocks = <&tegra_car TEGRA30_CLK_PLL_A>, 1032 1032 <&tegra_car TEGRA30_CLK_PLL_A_OUT0>, 1033 - <&tegra_car TEGRA30_CLK_EXTERN1>; 1033 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 1034 1034 clock-names = "pll_a", "pll_a_out0", "mclk"; 1035 + 1036 + assigned-clocks = <&tegra_car TEGRA30_CLK_EXTERN1>, 1037 + <&tegra_pmc TEGRA_PMC_CLK_OUT_1>; 1038 + 1039 + assigned-clock-parents = <&tegra_car TEGRA30_CLK_PLL_A_OUT0>, 1040 + <&tegra_car TEGRA30_CLK_EXTERN1>; 1035 1041 }; 1036 1042 }; 1037 1043
+3 -1
arch/arm/boot/dts/tegra30.dtsi
··· 4 4 #include <dt-bindings/memory/tegra30-mc.h> 5 5 #include <dt-bindings/pinctrl/pinctrl-tegra.h> 6 6 #include <dt-bindings/interrupt-controller/arm-gic.h> 7 + #include <dt-bindings/soc/tegra-pmc.h> 7 8 8 9 / { 9 10 compatible = "nvidia,tegra30"; ··· 715 714 status = "disabled"; 716 715 }; 717 716 718 - pmc@7000e400 { 717 + tegra_pmc: pmc@7000e400 { 719 718 compatible = "nvidia,tegra30-pmc"; 720 719 reg = <0x7000e400 0x400>; 721 720 clocks = <&tegra_car TEGRA30_CLK_PCLK>, <&clk32k_in>; 722 721 clock-names = "pclk", "clk32k_in"; 722 + #clock-cells = <1>; 723 723 }; 724 724 725 725 mc: memory-controller@7000f000 {
+5 -5
arch/arm/boot/dts/uniphier-ld4.dtsi
··· 51 51 ranges; 52 52 interrupt-parent = <&intc>; 53 53 54 - l2: l2-cache@500c0000 { 54 + l2: cache-controller@500c0000 { 55 55 compatible = "socionext,uniphier-system-cache"; 56 56 reg = <0x500c0000 0x2000>, <0x503c0100 0x4>, 57 57 <0x506c0000 0x400>; ··· 245 245 #dma-cells = <1>; 246 246 }; 247 247 248 - sd: sdhc@5a400000 { 248 + sd: mmc@5a400000 { 249 249 compatible = "socionext,uniphier-sd-v2.91"; 250 250 status = "disabled"; 251 251 reg = <0x5a400000 0x200>; ··· 265 265 sd-uhs-sdr50; 266 266 }; 267 267 268 - emmc: sdhc@5a500000 { 268 + emmc: mmc@5a500000 { 269 269 compatible = "socionext,uniphier-sd-v2.91"; 270 270 status = "disabled"; 271 271 reg = <0x5a500000 0x200>; ··· 375 375 interrupt-controller; 376 376 }; 377 377 378 - aidet: aidet@61830000 { 378 + aidet: interrupt-controller@61830000 { 379 379 compatible = "socionext,uniphier-ld4-aidet"; 380 380 reg = <0x61830000 0x200>; 381 381 interrupt-controller; ··· 398 398 }; 399 399 }; 400 400 401 - nand: nand@68000000 { 401 + nand: nand-controller@68000000 { 402 402 compatible = "socionext,uniphier-denali-nand-v5a"; 403 403 status = "disabled"; 404 404 reg-names = "nand_data", "denali_reg";
+6 -6
arch/arm/boot/dts/uniphier-pro4.dtsi
··· 59 59 ranges; 60 60 interrupt-parent = <&intc>; 61 61 62 - l2: l2-cache@500c0000 { 62 + l2: cache-controller@500c0000 { 63 63 compatible = "socionext,uniphier-system-cache"; 64 64 reg = <0x500c0000 0x2000>, <0x503c0100 0x4>, 65 65 <0x506c0000 0x400>; ··· 279 279 #dma-cells = <1>; 280 280 }; 281 281 282 - sd: sdhc@5a400000 { 282 + sd: mmc@5a400000 { 283 283 compatible = "socionext,uniphier-sd-v2.91"; 284 284 status = "disabled"; 285 285 reg = <0x5a400000 0x200>; ··· 299 299 sd-uhs-sdr50; 300 300 }; 301 301 302 - emmc: sdhc@5a500000 { 302 + emmc: mmc@5a500000 { 303 303 compatible = "socionext,uniphier-sd-v2.91"; 304 304 status = "disabled"; 305 305 reg = <0x5a500000 0x200>; ··· 317 317 non-removable; 318 318 }; 319 319 320 - sd1: sdhc@5a600000 { 320 + sd1: mmc@5a600000 { 321 321 compatible = "socionext,uniphier-sd-v2.91"; 322 322 status = "disabled"; 323 323 reg = <0x5a600000 0x200>; ··· 426 426 }; 427 427 }; 428 428 429 - aidet: aidet@5fc20000 { 429 + aidet: interrupt-controller@5fc20000 { 430 430 compatible = "socionext,uniphier-pro4-aidet"; 431 431 reg = <0x5fc20000 0x200>; 432 432 interrupt-controller; ··· 588 588 }; 589 589 }; 590 590 591 - nand: nand@68000000 { 591 + nand: nand-controller@68000000 { 592 592 compatible = "socionext,uniphier-denali-nand-v5a"; 593 593 status = "disabled"; 594 594 reg-names = "nand_data", "denali_reg";
+156 -8
arch/arm/boot/dts/uniphier-pro5.dtsi
··· 131 131 ranges; 132 132 interrupt-parent = <&intc>; 133 133 134 - l2: l2-cache@500c0000 { 134 + l2: cache-controller@500c0000 { 135 135 compatible = "socionext,uniphier-system-cache"; 136 136 reg = <0x500c0000 0x2000>, <0x503c0100 0x8>, 137 137 <0x506c0000 0x400>; ··· 144 144 next-level-cache = <&l3>; 145 145 }; 146 146 147 - l3: l3-cache@500c8000 { 147 + l3: cache-controller@500c8000 { 148 148 compatible = "socionext,uniphier-system-cache"; 149 149 reg = <0x500c8000 0x2000>, <0x503c8100 0x8>, 150 150 <0x506c8000 0x400>; ··· 174 174 interrupts = <0 216 4>; 175 175 pinctrl-names = "default"; 176 176 pinctrl-0 = <&pinctrl_spi1>; 177 - clocks = <&peri_clk 11>; 178 - resets = <&peri_rst 11>; 177 + clocks = <&peri_clk 11>; /* common with spi0 */ 178 + resets = <&peri_rst 12>; 179 179 }; 180 180 181 181 serial0: serial@54006800 { ··· 408 408 }; 409 409 }; 410 410 411 - aidet: aidet@5fc20000 { 411 + aidet: interrupt-controller@5fc20000 { 412 412 compatible = "socionext,uniphier-pro5-aidet"; 413 413 reg = <0x5fc20000 0x200>; 414 414 interrupt-controller; ··· 453 453 }; 454 454 }; 455 455 456 - nand: nand@68000000 { 456 + usb0: usb@65a00000 { 457 + compatible = "socionext,uniphier-dwc3", "snps,dwc3"; 458 + status = "disabled"; 459 + reg = <0x65a00000 0xcd00>; 460 + interrupt-names = "host"; 461 + interrupts = <0 134 4>; 462 + pinctrl-names = "default"; 463 + pinctrl-0 = <&pinctrl_usb0>; 464 + clock-names = "ref", "bus_early", "suspend"; 465 + clocks = <&sys_clk 12>, <&sys_clk 12>, <&sys_clk 12>; 466 + resets = <&usb0_rst 15>; 467 + phys = <&usb0_hsphy0>, <&usb0_ssphy0>; 468 + dr_mode = "host"; 469 + }; 470 + 471 + usb-glue@65b00000 { 472 + compatible = "socionext,uniphier-pro5-dwc3-glue", 473 + "simple-mfd"; 474 + #address-cells = <1>; 475 + #size-cells = <1>; 476 + ranges = <0 0x65b00000 0x400>; 477 + 478 + usb0_rst: reset@0 { 479 + compatible = "socionext,uniphier-pro5-usb3-reset"; 480 + reg = <0x0 0x4>; 481 + #reset-cells = <1>; 482 + clock-names = "gio", "link"; 483 + clocks = <&sys_clk 12>, <&sys_clk 14>; 484 + reset-names = "gio", "link"; 485 + resets = <&sys_rst 12>, <&sys_rst 14>; 486 + }; 487 + 488 + usb0_vbus0: regulator@100 { 489 + compatible = "socionext,uniphier-pro5-usb3-regulator"; 490 + reg = <0x100 0x10>; 491 + clock-names = "gio", "link"; 492 + clocks = <&sys_clk 12>, <&sys_clk 14>; 493 + reset-names = "gio", "link"; 494 + resets = <&sys_rst 12>, <&sys_rst 14>; 495 + }; 496 + 497 + usb0_hsphy0: hs-phy@280 { 498 + compatible = "socionext,uniphier-pro5-usb3-hsphy"; 499 + reg = <0x280 0x10>; 500 + #phy-cells = <0>; 501 + clock-names = "gio", "link"; 502 + clocks = <&sys_clk 12>, <&sys_clk 14>; 503 + reset-names = "gio", "link"; 504 + resets = <&sys_rst 12>, <&sys_rst 14>; 505 + vbus-supply = <&usb0_vbus0>; 506 + }; 507 + 508 + usb0_ssphy0: ss-phy@380 { 509 + compatible = "socionext,uniphier-pro5-usb3-ssphy"; 510 + reg = <0x380 0x10>; 511 + #phy-cells = <0>; 512 + clock-names = "gio", "link"; 513 + clocks = <&sys_clk 12>, <&sys_clk 14>; 514 + reset-names = "gio", "link"; 515 + resets = <&sys_rst 12>, <&sys_rst 14>; 516 + vbus-supply = <&usb0_vbus0>; 517 + }; 518 + }; 519 + 520 + usb1: usb@65c00000 { 521 + compatible = "socionext,uniphier-dwc3", "snps,dwc3"; 522 + status = "disabled"; 523 + reg = <0x65c00000 0xcd00>; 524 + interrupt-names = "host"; 525 + interrupts = <0 137 4>; 526 + pinctrl-names = "default"; 527 + pinctrl-0 = <&pinctrl_usb1>, <&pinctrl_usb2>; 528 + clock-names = "ref", "bus_early", "suspend"; 529 + clocks = <&sys_clk 12>, <&sys_clk 12>, <&sys_clk 12>; 530 + resets = <&usb1_rst 15>; 531 + phys = <&usb1_hsphy0>, <&usb1_hsphy1>, <&usb1_ssphy0>; 532 + dr_mode = "host"; 533 + }; 534 + 535 + usb-glue@65d00000 { 536 + compatible = "socionext,uniphier-pro5-dwc3-glue", 537 + "simple-mfd"; 538 + #address-cells = <1>; 539 + #size-cells = <1>; 540 + ranges = <0 0x65d00000 0x400>; 541 + 542 + usb1_rst: reset@0 { 543 + compatible = "socionext,uniphier-pro5-usb3-reset"; 544 + reg = <0x0 0x4>; 545 + #reset-cells = <1>; 546 + clock-names = "gio", "link"; 547 + clocks = <&sys_clk 12>, <&sys_clk 15>; 548 + reset-names = "gio", "link"; 549 + resets = <&sys_rst 12>, <&sys_rst 15>; 550 + }; 551 + 552 + usb1_vbus0: regulator@100 { 553 + compatible = "socionext,uniphier-pro5-usb3-regulator"; 554 + reg = <0x100 0x10>; 555 + clock-names = "gio", "link"; 556 + clocks = <&sys_clk 12>, <&sys_clk 15>; 557 + reset-names = "gio", "link"; 558 + resets = <&sys_rst 12>, <&sys_rst 15>; 559 + }; 560 + 561 + usb1_vbus1: regulator@110 { 562 + compatible = "socionext,uniphier-pro5-usb3-regulator"; 563 + reg = <0x110 0x10>; 564 + clock-names = "gio", "link"; 565 + clocks = <&sys_clk 12>, <&sys_clk 15>; 566 + reset-names = "gio", "link"; 567 + resets = <&sys_rst 12>, <&sys_rst 15>; 568 + }; 569 + 570 + usb1_hsphy0: hs-phy@280 { 571 + compatible = "socionext,uniphier-pro5-usb3-hsphy"; 572 + reg = <0x280 0x10>; 573 + #phy-cells = <0>; 574 + clock-names = "gio", "link"; 575 + clocks = <&sys_clk 12>, <&sys_clk 15>; 576 + reset-names = "gio", "link"; 577 + resets = <&sys_rst 12>, <&sys_rst 15>; 578 + vbus-supply = <&usb1_vbus0>; 579 + }; 580 + 581 + usb1_hsphy1: hs-phy@290 { 582 + compatible = "socionext,uniphier-pro5-usb3-hsphy"; 583 + reg = <0x290 0x10>; 584 + #phy-cells = <0>; 585 + clock-names = "gio", "link"; 586 + clocks = <&sys_clk 12>, <&sys_clk 15>; 587 + reset-names = "gio", "link"; 588 + resets = <&sys_rst 12>, <&sys_rst 15>; 589 + vbus-supply = <&usb1_vbus1>; 590 + }; 591 + 592 + usb1_ssphy0: ss-phy@380 { 593 + compatible = "socionext,uniphier-pro5-usb3-ssphy"; 594 + reg = <0x380 0x10>; 595 + #phy-cells = <0>; 596 + clock-names = "gio", "link"; 597 + clocks = <&sys_clk 12>, <&sys_clk 15>; 598 + reset-names = "gio", "link"; 599 + resets = <&sys_rst 12>, <&sys_rst 15>; 600 + vbus-supply = <&usb1_vbus0>; 601 + }; 602 + }; 603 + 604 + nand: nand-controller@68000000 { 457 605 compatible = "socionext,uniphier-denali-nand-v5b"; 458 606 status = "disabled"; 459 607 reg-names = "nand_data", "denali_reg"; ··· 617 469 resets = <&sys_rst 2>, <&sys_rst 2>; 618 470 }; 619 471 620 - emmc: sdhc@68400000 { 472 + emmc: mmc@68400000 { 621 473 compatible = "socionext,uniphier-sd-v3.1"; 622 474 status = "disabled"; 623 475 reg = <0x68400000 0x800>; ··· 633 485 non-removable; 634 486 }; 635 487 636 - sd: sdhc@68800000 { 488 + sd: mmc@68800000 { 637 489 compatible = "socionext,uniphier-sd-v3.1"; 638 490 status = "disabled"; 639 491 reg = <0x68800000 0x800>;
+7 -7
arch/arm/boot/dts/uniphier-pxs2.dtsi
··· 157 157 ranges; 158 158 interrupt-parent = <&intc>; 159 159 160 - l2: l2-cache@500c0000 { 160 + l2: cache-controller@500c0000 { 161 161 compatible = "socionext,uniphier-system-cache"; 162 162 reg = <0x500c0000 0x2000>, <0x503c0100 0x8>, 163 163 <0x506c0000 0x400>; ··· 187 187 interrupts = <0 216 4>; 188 188 pinctrl-names = "default"; 189 189 pinctrl-0 = <&pinctrl_spi1>; 190 - clocks = <&peri_clk 11>; 191 - resets = <&peri_rst 11>; 190 + clocks = <&peri_clk 12>; 191 + resets = <&peri_rst 12>; 192 192 }; 193 193 194 194 serial0: serial@54006800 { ··· 446 446 }; 447 447 }; 448 448 449 - emmc: sdhc@5a000000 { 449 + emmc: mmc@5a000000 { 450 450 compatible = "socionext,uniphier-sd-v3.1.1"; 451 451 status = "disabled"; 452 452 reg = <0x5a000000 0x800>; ··· 462 462 non-removable; 463 463 }; 464 464 465 - sd: sdhc@5a400000 { 465 + sd: mmc@5a400000 { 466 466 compatible = "socionext,uniphier-sd-v3.1.1"; 467 467 status = "disabled"; 468 468 reg = <0x5a400000 0x800>; ··· 508 508 }; 509 509 }; 510 510 511 - aidet: aidet@5fc20000 { 511 + aidet: interrupt-controller@5fc20000 { 512 512 compatible = "socionext,uniphier-pxs2-aidet"; 513 513 reg = <0x5fc20000 0x200>; 514 514 interrupt-controller; ··· 761 761 }; 762 762 }; 763 763 764 - nand: nand@68000000 { 764 + nand: nand-controller@68000000 { 765 765 compatible = "socionext,uniphier-denali-nand-v5b"; 766 766 status = "disabled"; 767 767 reg-names = "nand_data", "denali_reg";
+1 -1
arch/arm/boot/dts/uniphier-ref-daughter.dtsi
··· 7 7 8 8 &i2c0 { 9 9 eeprom@50 { 10 - compatible = "microchip,24lc128"; 10 + compatible = "microchip,24lc128", "atmel,24c128"; 11 11 reg = <0x50>; 12 12 pagesize = <64>; 13 13 };
+5 -5
arch/arm/boot/dts/uniphier-sld8.dtsi
··· 51 51 ranges; 52 52 interrupt-parent = <&intc>; 53 53 54 - l2: l2-cache@500c0000 { 54 + l2: cache-controller@500c0000 { 55 55 compatible = "socionext,uniphier-system-cache"; 56 56 reg = <0x500c0000 0x2000>, <0x503c0100 0x4>, 57 57 <0x506c0000 0x400>; ··· 249 249 #dma-cells = <1>; 250 250 }; 251 251 252 - sd: sdhc@5a400000 { 252 + sd: mmc@5a400000 { 253 253 compatible = "socionext,uniphier-sd-v2.91"; 254 254 status = "disabled"; 255 255 reg = <0x5a400000 0x200>; ··· 269 269 sd-uhs-sdr50; 270 270 }; 271 271 272 - emmc: sdhc@5a500000 { 272 + emmc: mmc@5a500000 { 273 273 compatible = "socionext,uniphier-sd-v2.91"; 274 274 status = "disabled"; 275 275 reg = <0x5a500000 0x200>; ··· 379 379 interrupt-controller; 380 380 }; 381 381 382 - aidet: aidet@61830000 { 382 + aidet: interrupt-controller@61830000 { 383 383 compatible = "socionext,uniphier-sld8-aidet"; 384 384 reg = <0x61830000 0x200>; 385 385 interrupt-controller; ··· 402 402 }; 403 403 }; 404 404 405 - nand: nand@68000000 { 405 + nand: nand-controller@68000000 { 406 406 compatible = "socionext,uniphier-denali-nand-v5a"; 407 407 status = "disabled"; 408 408 reg-names = "nand_data", "denali_reg";
+1 -1
arch/arm/boot/dts/versatile-ab-ib2.dts
··· 10 10 model = "ARM Versatile AB + IB2 board"; 11 11 12 12 /* Special IB2 control register */ 13 - ib2_syscon@27000000 { 13 + syscon@27000000 { 14 14 compatible = "arm,versatile-ib2-syscon", "syscon", "simple-mfd"; 15 15 reg = <0x27000000 0x4>; 16 16
+1 -1
arch/arm/boot/dts/vexpress-v2m-rs1.dtsi
··· 19 19 */ 20 20 21 21 / { 22 - smb@8000000 { 22 + bus@8000000 { 23 23 motherboard { 24 24 model = "V2M-P1"; 25 25 arm,hbi = <0x190>;
+1 -1
arch/arm/boot/dts/vexpress-v2m.dtsi
··· 19 19 */ 20 20 21 21 / { 22 - smb@4000000 { 22 + bus@4000000 { 23 23 motherboard { 24 24 model = "V2M-P1"; 25 25 arm,hbi = <0x190>;
+1 -1
arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts
··· 236 236 }; 237 237 }; 238 238 239 - smb@8000000 { 239 + bus@8000000 { 240 240 compatible = "simple-bus"; 241 241 242 242 #address-cells = <2>;
+1 -1
arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts
··· 608 608 }; 609 609 }; 610 610 611 - smb: smb@8000000 { 611 + smb: bus@8000000 { 612 612 compatible = "simple-bus"; 613 613 614 614 #address-cells = <2>;
+1 -1
arch/arm/boot/dts/vexpress-v2p-ca5s.dts
··· 206 206 }; 207 207 }; 208 208 209 - smb: smb@8000000 { 209 + smb: bus@8000000 { 210 210 compatible = "simple-bus"; 211 211 212 212 #address-cells = <2>;
+1 -1
arch/arm/boot/dts/vexpress-v2p-ca9.dts
··· 295 295 }; 296 296 }; 297 297 298 - smb: smb@4000000 { 298 + smb: bus@4000000 { 299 299 compatible = "simple-bus"; 300 300 301 301 #address-cells = <2>;
+2 -38
arch/arm/boot/dts/vf-colibri-eval-v3.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 - * Copyright 2014 Toradex AG 3 - * 4 - * This file is dual-licensed: you can use it either under the terms 5 - * of the GPL or the X11 license, at your option. Note that this dual 6 - * licensing only applies to this file, and not this project as a 7 - * whole. 8 - * 9 - * a) This file is free software; you can redistribute it and/or 10 - * modify it under the terms of the GNU General Public License 11 - * version 2 as published by the Free Software Foundation. 12 - * 13 - * This file is distributed in the hope that it will be useful, 14 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 - * GNU General Public License for more details. 17 - * 18 - * Or, alternatively, 19 - * 20 - * b) Permission is hereby granted, free of charge, to any person 21 - * obtaining a copy of this software and associated documentation 22 - * files (the "Software"), to deal in the Software without 23 - * restriction, including without limitation the rights to use, 24 - * copy, modify, merge, publish, distribute, sublicense, and/or 25 - * sell copies of the Software, and to permit persons to whom the 26 - * Software is furnished to do so, subject to the following 27 - * conditions: 28 - * 29 - * The above copyright notice and this permission notice shall be 30 - * included in all copies or substantial portions of the Software. 31 - * 32 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 33 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 34 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 35 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 36 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 37 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 38 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 39 - * OTHER DEALINGS IN THE SOFTWARE. 3 + * Copyright 2014-2020 Toradex 40 4 */ 41 5 42 6 / {
+2 -37
arch/arm/boot/dts/vf-colibri.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 - * Copyright 2014 Toradex AG 3 + * Copyright 2014-2020 Toradex 3 4 * 4 - * This file is dual-licensed: you can use it either under the terms 5 - * of the GPL or the X11 license, at your option. Note that this dual 6 - * licensing only applies to this file, and not this project as a 7 - * whole. 8 - * 9 - * a) This file is free software; you can redistribute it and/or 10 - * modify it under the terms of the GNU General Public License 11 - * version 2 as published by the Free Software Foundation. 12 - * 13 - * This file is distributed in the hope that it will be useful, 14 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 - * GNU General Public License for more details. 17 - * 18 - * Or, alternatively, 19 - * 20 - * b) Permission is hereby granted, free of charge, to any person 21 - * obtaining a copy of this software and associated documentation 22 - * files (the "Software"), to deal in the Software without 23 - * restriction, including without limitation the rights to use, 24 - * copy, modify, merge, publish, distribute, sublicense, and/or 25 - * sell copies of the Software, and to permit persons to whom the 26 - * Software is furnished to do so, subject to the following 27 - * conditions: 28 - * 29 - * The above copyright notice and this permission notice shall be 30 - * included in all copies or substantial portions of the Software. 31 - * 32 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 33 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 34 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 35 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 36 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 37 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 38 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 39 - * OTHER DEALINGS IN THE SOFTWARE. 40 5 */ 41 6 42 7 / {
+2 -38
arch/arm/boot/dts/vf500-colibri-eval-v3.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 - * Copyright 2014 Toradex AG 3 - * 4 - * This file is dual-licensed: you can use it either under the terms 5 - * of the GPL or the X11 license, at your option. Note that this dual 6 - * licensing only applies to this file, and not this project as a 7 - * whole. 8 - * 9 - * a) This file is free software; you can redistribute it and/or 10 - * modify it under the terms of the GNU General Public License 11 - * version 2 as published by the Free Software Foundation. 12 - * 13 - * This file is distributed in the hope that it will be useful, 14 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 - * GNU General Public License for more details. 17 - * 18 - * Or, alternatively, 19 - * 20 - * b) Permission is hereby granted, free of charge, to any person 21 - * obtaining a copy of this software and associated documentation 22 - * files (the "Software"), to deal in the Software without 23 - * restriction, including without limitation the rights to use, 24 - * copy, modify, merge, publish, distribute, sublicense, and/or 25 - * sell copies of the Software, and to permit persons to whom the 26 - * Software is furnished to do so, subject to the following 27 - * conditions: 28 - * 29 - * The above copyright notice and this permission notice shall be 30 - * included in all copies or substantial portions of the Software. 31 - * 32 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 33 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 34 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 35 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 36 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 37 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 38 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 39 - * OTHER DEALINGS IN THE SOFTWARE. 3 + * Copyright 2014-2020 Toradex 40 4 */ 41 5 42 6 /dts-v1/;
+2 -38
arch/arm/boot/dts/vf500-colibri.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 - * Copyright 2014 Toradex AG 3 - * 4 - * This file is dual-licensed: you can use it either under the terms 5 - * of the GPL or the X11 license, at your option. Note that this dual 6 - * licensing only applies to this file, and not this project as a 7 - * whole. 8 - * 9 - * a) This file is free software; you can redistribute it and/or 10 - * modify it under the terms of the GNU General Public License 11 - * version 2 as published by the Free Software Foundation. 12 - * 13 - * This file is distributed in the hope that it will be useful, 14 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 - * GNU General Public License for more details. 17 - * 18 - * Or, alternatively, 19 - * 20 - * b) Permission is hereby granted, free of charge, to any person 21 - * obtaining a copy of this software and associated documentation 22 - * files (the "Software"), to deal in the Software without 23 - * restriction, including without limitation the rights to use, 24 - * copy, modify, merge, publish, distribute, sublicense, and/or 25 - * sell copies of the Software, and to permit persons to whom the 26 - * Software is furnished to do so, subject to the following 27 - * conditions: 28 - * 29 - * The above copyright notice and this permission notice shall be 30 - * included in all copies or substantial portions of the Software. 31 - * 32 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 33 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 34 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 35 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 36 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 37 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 38 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 39 - * OTHER DEALINGS IN THE SOFTWARE. 3 + * Copyright 2014-2020 Toradex 40 4 */ 41 5 42 6 #include "vf500.dtsi"
+2 -2
arch/arm/boot/dts/vf500.dtsi
··· 23 23 }; 24 24 25 25 soc { 26 - aips-bus@40000000 { 26 + bus@40000000 { 27 27 28 28 intc: interrupt-controller@40003000 { 29 29 compatible = "arm,cortex-a9-gic"; ··· 43 43 }; 44 44 }; 45 45 46 - aips-bus@40080000 { 46 + bus@40080000 { 47 47 pmu@40089000 { 48 48 compatible = "arm,cortex-a5-pmu"; 49 49 interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
+2 -38
arch/arm/boot/dts/vf610-colibri-eval-v3.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 - * Copyright 2014 Toradex AG 3 - * 4 - * This file is dual-licensed: you can use it either under the terms 5 - * of the GPL or the X11 license, at your option. Note that this dual 6 - * licensing only applies to this file, and not this project as a 7 - * whole. 8 - * 9 - * a) This file is free software; you can redistribute it and/or 10 - * modify it under the terms of the GNU General Public License 11 - * version 2 as published by the Free Software Foundation. 12 - * 13 - * This file is distributed in the hope that it will be useful, 14 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 - * GNU General Public License for more details. 17 - * 18 - * Or, alternatively, 19 - * 20 - * b) Permission is hereby granted, free of charge, to any person 21 - * obtaining a copy of this software and associated documentation 22 - * files (the "Software"), to deal in the Software without 23 - * restriction, including without limitation the rights to use, 24 - * copy, modify, merge, publish, distribute, sublicense, and/or 25 - * sell copies of the Software, and to permit persons to whom the 26 - * Software is furnished to do so, subject to the following 27 - * conditions: 28 - * 29 - * The above copyright notice and this permission notice shall be 30 - * included in all copies or substantial portions of the Software. 31 - * 32 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 33 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 34 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 35 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 36 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 37 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 38 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 39 - * OTHER DEALINGS IN THE SOFTWARE. 3 + * Copyright 2014-2020 Toradex 40 4 */ 41 5 42 6 /dts-v1/;
+2 -38
arch/arm/boot/dts/vf610-colibri.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 - * Copyright 2014 Toradex AG 3 - * 4 - * This file is dual-licensed: you can use it either under the terms 5 - * of the GPL or the X11 license, at your option. Note that this dual 6 - * licensing only applies to this file, and not this project as a 7 - * whole. 8 - * 9 - * a) This file is free software; you can redistribute it and/or 10 - * modify it under the terms of the GNU General Public License 11 - * version 2 as published by the Free Software Foundation. 12 - * 13 - * This file is distributed in the hope that it will be useful, 14 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 - * GNU General Public License for more details. 17 - * 18 - * Or, alternatively, 19 - * 20 - * b) Permission is hereby granted, free of charge, to any person 21 - * obtaining a copy of this software and associated documentation 22 - * files (the "Software"), to deal in the Software without 23 - * restriction, including without limitation the rights to use, 24 - * copy, modify, merge, publish, distribute, sublicense, and/or 25 - * sell copies of the Software, and to permit persons to whom the 26 - * Software is furnished to do so, subject to the following 27 - * conditions: 28 - * 29 - * The above copyright notice and this permission notice shall be 30 - * included in all copies or substantial portions of the Software. 31 - * 32 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 33 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 34 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 35 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 36 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 37 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 38 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 39 - * OTHER DEALINGS IN THE SOFTWARE. 3 + * Copyright 2014-2020 Toradex 40 4 */ 41 5 42 6 #include "vf610.dtsi"
+8
arch/arm/boot/dts/vf610-zii-cfu1.dts
··· 71 71 los-gpio = <&gpio4 4 GPIO_ACTIVE_HIGH>; 72 72 tx-disable-gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; 73 73 }; 74 + 75 + supply-voltage-monitor { 76 + compatible = "iio-hwmon"; 77 + io-channels = <&adc0 8>, /* 28VDC_IN */ 78 + <&adc0 9>, /* +3.3V */ 79 + <&adc1 8>, /* VCC_1V5 */ 80 + <&adc1 9>; /* VCC_1V2 */ 81 + }; 74 82 }; 75 83 76 84 &adc0 {
+8
arch/arm/boot/dts/vf610-zii-dev.dtsi
··· 84 84 regulator-boot-on; 85 85 gpio = <&gpio0 6 0>; 86 86 }; 87 + 88 + supply-voltage-monitor { 89 + compatible = "iio-hwmon"; 90 + io-channels = <&adc0 8>, /* VCC_1V5 */ 91 + <&adc0 9>, /* VCC_1V8 */ 92 + <&adc1 8>, /* VCC_1V0 */ 93 + <&adc1 9>; /* VCC_1V2 */ 94 + }; 87 95 }; 88 96 89 97 &adc0 {
+8
arch/arm/boot/dts/vf610-zii-spb4.dts
··· 42 42 regulator-min-microvolt = <3300000>; 43 43 regulator-max-microvolt = <3300000>; 44 44 }; 45 + 46 + supply-voltage-monitor { 47 + compatible = "iio-hwmon"; 48 + io-channels = <&adc0 8>, /* 28V_SW */ 49 + <&adc0 9>, /* +3.3V */ 50 + <&adc1 8>, /* VCC_1V5 */ 51 + <&adc1 9>; /* VCC_1V2 */ 52 + }; 45 53 }; 46 54 47 55 &adc0 {
+8
arch/arm/boot/dts/vf610-zii-ssmb-dtu.dts
··· 46 46 regulator-min-microvolt = <3300000>; 47 47 regulator-max-microvolt = <3300000>; 48 48 }; 49 + 50 + supply-voltage-monitor { 51 + compatible = "iio-hwmon"; 52 + io-channels = <&adc0 8>, /* 12V_MAIN */ 53 + <&adc0 9>, /* +3.3V */ 54 + <&adc1 8>, /* VCC_1V5 */ 55 + <&adc1 9>; /* VCC_1V2 */ 56 + }; 49 57 }; 50 58 51 59 &adc0 {
+8
arch/arm/boot/dts/vf610-zii-ssmb-spu3.dts
··· 46 46 regulator-min-microvolt = <3300000>; 47 47 regulator-max-microvolt = <3300000>; 48 48 }; 49 + 50 + supply-voltage-monitor { 51 + compatible = "iio-hwmon"; 52 + io-channels = <&adc0 8>, /* 12V_MAIN */ 53 + <&adc0 9>, /* +3.3V */ 54 + <&adc1 8>, /* VCC_1V5 */ 55 + <&adc1 9>; /* VCC_1V2 */ 56 + }; 49 57 }; 50 58 51 59 &adc0 {
+1 -38
arch/arm/boot/dts/vf610m4-colibri.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0+ OR MIT 1 2 /* 2 3 * Device tree for Colibri VF61 Cortex-M4 support 3 4 * 4 5 * Copyright (C) 2015 Stefan Agner 5 - * 6 - * This file is dual-licensed: you can use it either under the terms 7 - * of the GPL or the X11 license, at your option. Note that this dual 8 - * licensing only applies to this file, and not this project as a 9 - * whole. 10 - * 11 - * a) This file is free software; you can redistribute it and/or 12 - * modify it under the terms of the GNU General Public License as 13 - * published by the Free Software Foundation; either version 2 of the 14 - * License, or (at your option) any later version. 15 - * 16 - * This file is distributed in the hope that it will be useful, 17 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 - * GNU General Public License for more details. 20 - * 21 - * Or, alternatively, 22 - * 23 - * b) Permission is hereby granted, free of charge, to any person 24 - * obtaining a copy of this software and associated documentation 25 - * files (the "Software"), to deal in the Software without 26 - * restriction, including without limitation the rights to use, 27 - * copy, modify, merge, publish, distribute, sublicense, and/or 28 - * sell copies of the Software, and to permit persons to whom the 29 - * Software is furnished to do so, subject to the following 30 - * conditions: 31 - * 32 - * The above copyright notice and this permission notice shall be 33 - * included in all copies or substantial portions of the Software. 34 - * 35 - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 36 - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 37 - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 38 - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 39 - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 40 - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 41 - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 42 - * OTHER DEALINGS IN THE SOFTWARE. 43 6 */ 44 7 45 8 /dts-v1/;
+2 -2
arch/arm/boot/dts/vfxxx.dtsi
··· 59 59 interrupt-parent = <&mscm_ir>; 60 60 ranges; 61 61 62 - aips0: aips-bus@40000000 { 62 + aips0: bus@40000000 { 63 63 compatible = "fsl,aips-bus", "simple-bus"; 64 64 #address-cells = <1>; 65 65 #size-cells = <1>; ··· 471 471 }; 472 472 }; 473 473 474 - aips1: aips-bus@40080000 { 474 + aips1: bus@40080000 { 475 475 compatible = "fsl,aips-bus", "simple-bus"; 476 476 #address-cells = <1>; 477 477 #size-cells = <1>;
-10
arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h
··· 24 24 extern struct omap_hwmod_ocp_if am33xx_l3_main__l3_instr; 25 25 extern struct omap_hwmod_ocp_if am33xx_mpu__prcm; 26 26 extern struct omap_hwmod_ocp_if am33xx_l3_s__l3_main; 27 - extern struct omap_hwmod_ocp_if am33xx_pruss__l3_main; 28 27 extern struct omap_hwmod_ocp_if am33xx_gfx__l3_main; 29 28 extern struct omap_hwmod_ocp_if am33xx_l3_main__gfx; 30 29 extern struct omap_hwmod_ocp_if am33xx_l4_wkup__rtc; 31 30 extern struct omap_hwmod_ocp_if am33xx_l3_s__gpmc; 32 31 extern struct omap_hwmod_ocp_if am33xx_l4_ls__timer2; 33 - extern struct omap_hwmod_ocp_if am33xx_l3_main__tpcc; 34 - extern struct omap_hwmod_ocp_if am33xx_l3_main__tptc0; 35 - extern struct omap_hwmod_ocp_if am33xx_l3_main__tptc1; 36 - extern struct omap_hwmod_ocp_if am33xx_l3_main__tptc2; 37 32 extern struct omap_hwmod_ocp_if am33xx_l3_main__ocmc; 38 33 39 34 extern struct omap_hwmod am33xx_l3_main_hwmod; ··· 37 42 extern struct omap_hwmod am33xx_l4_ls_hwmod; 38 43 extern struct omap_hwmod am33xx_l4_wkup_hwmod; 39 44 extern struct omap_hwmod am33xx_mpu_hwmod; 40 - extern struct omap_hwmod am33xx_pruss_hwmod; 41 45 extern struct omap_hwmod am33xx_gfx_hwmod; 42 46 extern struct omap_hwmod am33xx_prcm_hwmod; 43 47 extern struct omap_hwmod am33xx_ocmcram_hwmod; ··· 46 52 extern struct omap_hwmod am33xx_rtc_hwmod; 47 53 extern struct omap_hwmod am33xx_timer1_hwmod; 48 54 extern struct omap_hwmod am33xx_timer2_hwmod; 49 - extern struct omap_hwmod am33xx_tpcc_hwmod; 50 - extern struct omap_hwmod am33xx_tptc0_hwmod; 51 - extern struct omap_hwmod am33xx_tptc1_hwmod; 52 - extern struct omap_hwmod am33xx_tptc2_hwmod; 53 55 54 56 extern struct omap_hwmod_class am33xx_emif_hwmod_class; 55 57 extern struct omap_hwmod_class am33xx_l4_hwmod_class;
-40
arch/arm/mach-omap2/omap_hwmod_33xx_43xx_interconnect_data.c
··· 74 74 .user = OCP_USER_MPU | OCP_USER_SDMA, 75 75 }; 76 76 77 - /* pru-icss -> l3 main */ 78 - struct omap_hwmod_ocp_if am33xx_pruss__l3_main = { 79 - .master = &am33xx_pruss_hwmod, 80 - .slave = &am33xx_l3_main_hwmod, 81 - .clk = "l3_gclk", 82 - .user = OCP_USER_MPU | OCP_USER_SDMA, 83 - }; 84 - 85 77 /* gfx -> l3 main */ 86 78 struct omap_hwmod_ocp_if am33xx_gfx__l3_main = { 87 79 .master = &am33xx_gfx_hwmod, ··· 111 119 .master = &am33xx_l4_ls_hwmod, 112 120 .slave = &am33xx_timer2_hwmod, 113 121 .clk = "l4ls_gclk", 114 - .user = OCP_USER_MPU, 115 - }; 116 - 117 - /* l3 main -> tpcc */ 118 - struct omap_hwmod_ocp_if am33xx_l3_main__tpcc = { 119 - .master = &am33xx_l3_main_hwmod, 120 - .slave = &am33xx_tpcc_hwmod, 121 - .clk = "l3_gclk", 122 - .user = OCP_USER_MPU, 123 - }; 124 - 125 - /* l3 main -> tpcc0 */ 126 - struct omap_hwmod_ocp_if am33xx_l3_main__tptc0 = { 127 - .master = &am33xx_l3_main_hwmod, 128 - .slave = &am33xx_tptc0_hwmod, 129 - .clk = "l3_gclk", 130 - .user = OCP_USER_MPU, 131 - }; 132 - 133 - /* l3 main -> tpcc1 */ 134 - struct omap_hwmod_ocp_if am33xx_l3_main__tptc1 = { 135 - .master = &am33xx_l3_main_hwmod, 136 - .slave = &am33xx_tptc1_hwmod, 137 - .clk = "l3_gclk", 138 - .user = OCP_USER_MPU, 139 - }; 140 - 141 - /* l3 main -> tpcc2 */ 142 - struct omap_hwmod_ocp_if am33xx_l3_main__tptc2 = { 143 - .master = &am33xx_l3_main_hwmod, 144 - .slave = &am33xx_tptc2_hwmod, 145 - .clk = "l3_gclk", 146 122 .user = OCP_USER_MPU, 147 123 }; 148 124
-115
arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
··· 133 133 .name = "wkup_m3", 134 134 }; 135 135 136 - /* 137 - * 'pru-icss' class 138 - * Programmable Real-Time Unit and Industrial Communication Subsystem 139 - */ 140 - static struct omap_hwmod_class am33xx_pruss_hwmod_class = { 141 - .name = "pruss", 142 - }; 143 - 144 - static struct omap_hwmod_rst_info am33xx_pruss_resets[] = { 145 - { .name = "pruss", .rst_shift = 1 }, 146 - }; 147 - 148 - /* pru-icss */ 149 - /* Pseudo hwmod for reset control purpose only */ 150 - struct omap_hwmod am33xx_pruss_hwmod = { 151 - .name = "pruss", 152 - .class = &am33xx_pruss_hwmod_class, 153 - .clkdm_name = "pruss_ocp_clkdm", 154 - .main_clk = "pruss_ocp_gclk", 155 - .prcm = { 156 - .omap4 = { 157 - .modulemode = MODULEMODE_SWCTRL, 158 - }, 159 - }, 160 - .rst_lines = am33xx_pruss_resets, 161 - .rst_lines_cnt = ARRAY_SIZE(am33xx_pruss_resets), 162 - }; 163 - 164 136 /* gfx */ 165 137 /* Pseudo hwmod for reset control purpose only */ 166 138 static struct omap_hwmod_class am33xx_gfx_hwmod_class = { ··· 365 393 }, 366 394 }; 367 395 368 - /* tpcc */ 369 - static struct omap_hwmod_class am33xx_tpcc_hwmod_class = { 370 - .name = "tpcc", 371 - }; 372 - 373 - struct omap_hwmod am33xx_tpcc_hwmod = { 374 - .name = "tpcc", 375 - .class = &am33xx_tpcc_hwmod_class, 376 - .clkdm_name = "l3_clkdm", 377 - .main_clk = "l3_gclk", 378 - .prcm = { 379 - .omap4 = { 380 - .modulemode = MODULEMODE_SWCTRL, 381 - }, 382 - }, 383 - }; 384 - 385 - static struct omap_hwmod_class_sysconfig am33xx_tptc_sysc = { 386 - .rev_offs = 0x0, 387 - .sysc_offs = 0x10, 388 - .sysc_flags = (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET | 389 - SYSC_HAS_MIDLEMODE), 390 - .idlemodes = (SIDLE_FORCE | SIDLE_SMART | MSTANDBY_FORCE), 391 - .sysc_fields = &omap_hwmod_sysc_type2, 392 - }; 393 - 394 - /* 'tptc' class */ 395 - static struct omap_hwmod_class am33xx_tptc_hwmod_class = { 396 - .name = "tptc", 397 - .sysc = &am33xx_tptc_sysc, 398 - }; 399 - 400 - /* tptc0 */ 401 - struct omap_hwmod am33xx_tptc0_hwmod = { 402 - .name = "tptc0", 403 - .class = &am33xx_tptc_hwmod_class, 404 - .clkdm_name = "l3_clkdm", 405 - .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY, 406 - .main_clk = "l3_gclk", 407 - .prcm = { 408 - .omap4 = { 409 - .modulemode = MODULEMODE_SWCTRL, 410 - }, 411 - }, 412 - }; 413 - 414 - /* tptc1 */ 415 - struct omap_hwmod am33xx_tptc1_hwmod = { 416 - .name = "tptc1", 417 - .class = &am33xx_tptc_hwmod_class, 418 - .clkdm_name = "l3_clkdm", 419 - .flags = (HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY), 420 - .main_clk = "l3_gclk", 421 - .prcm = { 422 - .omap4 = { 423 - .modulemode = MODULEMODE_SWCTRL, 424 - }, 425 - }, 426 - }; 427 - 428 - /* tptc2 */ 429 - struct omap_hwmod am33xx_tptc2_hwmod = { 430 - .name = "tptc2", 431 - .class = &am33xx_tptc_hwmod_class, 432 - .clkdm_name = "l3_clkdm", 433 - .flags = (HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY), 434 - .main_clk = "l3_gclk", 435 - .prcm = { 436 - .omap4 = { 437 - .modulemode = MODULEMODE_SWCTRL, 438 - }, 439 - }, 440 - }; 441 - 442 396 static void omap_hwmod_am33xx_clkctrl(void) 443 397 { 444 398 CLKCTRL(am33xx_timer2_hwmod, AM33XX_CM_PER_TIMER2_CLKCTRL_OFFSET); ··· 379 481 CLKCTRL(am33xx_l4_ls_hwmod, AM33XX_CM_PER_L4LS_CLKCTRL_OFFSET); 380 482 CLKCTRL(am33xx_l4_wkup_hwmod, AM33XX_CM_WKUP_L4WKUP_CLKCTRL_OFFSET); 381 483 CLKCTRL(am33xx_l3_main_hwmod, AM33XX_CM_PER_L3_CLKCTRL_OFFSET); 382 - CLKCTRL(am33xx_tpcc_hwmod, AM33XX_CM_PER_TPCC_CLKCTRL_OFFSET); 383 - CLKCTRL(am33xx_tptc0_hwmod, AM33XX_CM_PER_TPTC0_CLKCTRL_OFFSET); 384 - CLKCTRL(am33xx_tptc1_hwmod, AM33XX_CM_PER_TPTC1_CLKCTRL_OFFSET); 385 - CLKCTRL(am33xx_tptc2_hwmod, AM33XX_CM_PER_TPTC2_CLKCTRL_OFFSET); 386 484 CLKCTRL(am33xx_gfx_hwmod, AM33XX_CM_GFX_GFX_CLKCTRL_OFFSET); 387 - CLKCTRL(am33xx_pruss_hwmod, AM33XX_CM_PER_PRUSS_CLKCTRL_OFFSET); 388 485 CLKCTRL(am33xx_mpu_hwmod , AM33XX_CM_MPU_MPU_CLKCTRL_OFFSET); 389 486 CLKCTRL(am33xx_l3_instr_hwmod , AM33XX_CM_PER_L3_INSTR_CLKCTRL_OFFSET); 390 487 CLKCTRL(am33xx_ocmcram_hwmod , AM33XX_CM_PER_OCMCRAM_CLKCTRL_OFFSET); ··· 387 494 388 495 static void omap_hwmod_am33xx_rst(void) 389 496 { 390 - RSTCTRL(am33xx_pruss_hwmod, AM33XX_RM_PER_RSTCTRL_OFFSET); 391 497 RSTCTRL(am33xx_gfx_hwmod, AM33XX_RM_GFX_RSTCTRL_OFFSET); 392 498 RSTST(am33xx_gfx_hwmod, AM33XX_RM_GFX_RSTST_OFFSET); 393 499 } ··· 410 518 CLKCTRL(am33xx_l4_ls_hwmod, AM43XX_CM_PER_L4LS_CLKCTRL_OFFSET); 411 519 CLKCTRL(am33xx_l4_wkup_hwmod, AM43XX_CM_WKUP_L4WKUP_CLKCTRL_OFFSET); 412 520 CLKCTRL(am33xx_l3_main_hwmod, AM43XX_CM_PER_L3_CLKCTRL_OFFSET); 413 - CLKCTRL(am33xx_tpcc_hwmod, AM43XX_CM_PER_TPCC_CLKCTRL_OFFSET); 414 - CLKCTRL(am33xx_tptc0_hwmod, AM43XX_CM_PER_TPTC0_CLKCTRL_OFFSET); 415 - CLKCTRL(am33xx_tptc1_hwmod, AM43XX_CM_PER_TPTC1_CLKCTRL_OFFSET); 416 - CLKCTRL(am33xx_tptc2_hwmod, AM43XX_CM_PER_TPTC2_CLKCTRL_OFFSET); 417 521 CLKCTRL(am33xx_gfx_hwmod, AM43XX_CM_GFX_GFX_CLKCTRL_OFFSET); 418 - CLKCTRL(am33xx_pruss_hwmod, AM43XX_CM_PER_PRUSS_CLKCTRL_OFFSET); 419 522 CLKCTRL(am33xx_mpu_hwmod , AM43XX_CM_MPU_MPU_CLKCTRL_OFFSET); 420 523 CLKCTRL(am33xx_l3_instr_hwmod , AM43XX_CM_PER_L3_INSTR_CLKCTRL_OFFSET); 421 524 CLKCTRL(am33xx_ocmcram_hwmod , AM43XX_CM_PER_OCMCRAM_CLKCTRL_OFFSET); ··· 418 531 419 532 static void omap_hwmod_am43xx_rst(void) 420 533 { 421 - RSTCTRL(am33xx_pruss_hwmod, AM43XX_RM_PER_RSTCTRL_OFFSET); 422 534 RSTCTRL(am33xx_gfx_hwmod, AM43XX_RM_GFX_RSTCTRL_OFFSET); 423 - RSTST(am33xx_pruss_hwmod, AM43XX_RM_PER_RSTST_OFFSET); 424 535 RSTST(am33xx_gfx_hwmod, AM43XX_RM_GFX_RSTST_OFFSET); 425 536 } 426 537
-14
arch/arm/mach-omap2/omap_hwmod_33xx_data.c
··· 233 233 .user = OCP_USER_MPU | OCP_USER_SDMA, 234 234 }; 235 235 236 - /* l4 hs -> pru-icss */ 237 - static struct omap_hwmod_ocp_if am33xx_l4_hs__pruss = { 238 - .master = &am33xx_l4_hs_hwmod, 239 - .slave = &am33xx_pruss_hwmod, 240 - .clk = "dpll_core_m4_ck", 241 - .user = OCP_USER_MPU | OCP_USER_SDMA, 242 - }; 243 - 244 236 /* l3_main -> debugss */ 245 237 static struct omap_hwmod_ocp_if am33xx_l3_main__debugss = { 246 238 .master = &am33xx_l3_main_hwmod, ··· 284 292 &am33xx_l3_main__l3_instr, 285 293 &am33xx_l3_main__gfx, 286 294 &am33xx_l3_s__l3_main, 287 - &am33xx_pruss__l3_main, 288 295 &am33xx_wkup_m3__l4_wkup, 289 296 &am33xx_gfx__l3_main, 290 297 &am33xx_l3_main__debugss, ··· 293 302 &am33xx_l4_wkup__smartreflex1, 294 303 &am33xx_l4_wkup__timer1, 295 304 &am33xx_l4_wkup__rtc, 296 - &am33xx_l4_hs__pruss, 297 305 &am33xx_l4_ls__timer2, 298 - &am33xx_l3_main__tpcc, 299 306 &am33xx_l3_s__gpmc, 300 - &am33xx_l3_main__tptc0, 301 - &am33xx_l3_main__tptc1, 302 - &am33xx_l3_main__tptc2, 303 307 &am33xx_l3_main__ocmc, 304 308 NULL, 305 309 };
-114
arch/arm/mach-omap2/omap_hwmod_43xx_data.c
··· 156 156 }, 157 157 }; 158 158 159 - /* dss */ 160 - 161 - static struct omap_hwmod am43xx_dss_core_hwmod = { 162 - .name = "dss_core", 163 - .class = &omap2_dss_hwmod_class, 164 - .clkdm_name = "dss_clkdm", 165 - .main_clk = "disp_clk", 166 - .prcm = { 167 - .omap4 = { 168 - .clkctrl_offs = AM43XX_CM_PER_DSS_CLKCTRL_OFFSET, 169 - .modulemode = MODULEMODE_SWCTRL, 170 - }, 171 - }, 172 - }; 173 - 174 - /* dispc */ 175 - 176 - static struct omap_dss_dispc_dev_attr am43xx_dss_dispc_dev_attr = { 177 - .manager_count = 1, 178 - .has_framedonetv_irq = 0 179 - }; 180 - 181 - static struct omap_hwmod_class_sysconfig am43xx_dispc_sysc = { 182 - .rev_offs = 0x0000, 183 - .sysc_offs = 0x0010, 184 - .syss_offs = 0x0014, 185 - .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SOFTRESET | 186 - SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE | 187 - SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_MIDLEMODE), 188 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | 189 - MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART), 190 - .sysc_fields = &omap_hwmod_sysc_type1, 191 - }; 192 - 193 - static struct omap_hwmod_class am43xx_dispc_hwmod_class = { 194 - .name = "dispc", 195 - .sysc = &am43xx_dispc_sysc, 196 - }; 197 - 198 - static struct omap_hwmod am43xx_dss_dispc_hwmod = { 199 - .name = "dss_dispc", 200 - .class = &am43xx_dispc_hwmod_class, 201 - .clkdm_name = "dss_clkdm", 202 - .main_clk = "disp_clk", 203 - .prcm = { 204 - .omap4 = { 205 - .clkctrl_offs = AM43XX_CM_PER_DSS_CLKCTRL_OFFSET, 206 - }, 207 - }, 208 - .dev_attr = &am43xx_dss_dispc_dev_attr, 209 - .parent_hwmod = &am43xx_dss_core_hwmod, 210 - }; 211 - 212 - /* rfbi */ 213 - 214 - static struct omap_hwmod am43xx_dss_rfbi_hwmod = { 215 - .name = "dss_rfbi", 216 - .class = &omap2_rfbi_hwmod_class, 217 - .clkdm_name = "dss_clkdm", 218 - .main_clk = "disp_clk", 219 - .prcm = { 220 - .omap4 = { 221 - .clkctrl_offs = AM43XX_CM_PER_DSS_CLKCTRL_OFFSET, 222 - }, 223 - }, 224 - .parent_hwmod = &am43xx_dss_core_hwmod, 225 - }; 226 - 227 - 228 159 /* Interfaces */ 229 160 static struct omap_hwmod_ocp_if am43xx_l3_main__emif = { 230 161 .master = &am33xx_l3_main_hwmod, ··· 183 252 .slave = &am43xx_wkup_m3_hwmod, 184 253 .clk = "sys_clkin_ck", 185 254 .user = OCP_USER_MPU | OCP_USER_SDMA, 186 - }; 187 - 188 - static struct omap_hwmod_ocp_if am43xx_l3_main__pruss = { 189 - .master = &am33xx_l3_main_hwmod, 190 - .slave = &am33xx_pruss_hwmod, 191 - .clk = "dpll_core_m4_ck", 192 - .user = OCP_USER_MPU, 193 255 }; 194 256 195 257 static struct omap_hwmod_ocp_if am43xx_l4_wkup__smartreflex0 = { ··· 234 310 .user = OCP_USER_MPU | OCP_USER_SDMA, 235 311 }; 236 312 237 - static struct omap_hwmod_ocp_if am43xx_dss__l3_main = { 238 - .master = &am43xx_dss_core_hwmod, 239 - .slave = &am33xx_l3_main_hwmod, 240 - .clk = "l3_gclk", 241 - .user = OCP_USER_MPU | OCP_USER_SDMA, 242 - }; 243 - 244 - static struct omap_hwmod_ocp_if am43xx_l4_ls__dss = { 245 - .master = &am33xx_l4_ls_hwmod, 246 - .slave = &am43xx_dss_core_hwmod, 247 - .clk = "l4ls_gclk", 248 - .user = OCP_USER_MPU | OCP_USER_SDMA, 249 - }; 250 - 251 - static struct omap_hwmod_ocp_if am43xx_l4_ls__dss_dispc = { 252 - .master = &am33xx_l4_ls_hwmod, 253 - .slave = &am43xx_dss_dispc_hwmod, 254 - .clk = "l4ls_gclk", 255 - .user = OCP_USER_MPU | OCP_USER_SDMA, 256 - }; 257 - 258 - static struct omap_hwmod_ocp_if am43xx_l4_ls__dss_rfbi = { 259 - .master = &am33xx_l4_ls_hwmod, 260 - .slave = &am43xx_dss_rfbi_hwmod, 261 - .clk = "l4ls_gclk", 262 - .user = OCP_USER_MPU | OCP_USER_SDMA, 263 - }; 264 - 265 313 static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = { 266 314 &am33xx_l4_wkup__synctimer, 267 - &am43xx_l3_main__pruss, 268 315 &am33xx_mpu__l3_main, 269 316 &am33xx_mpu__prcm, 270 317 &am33xx_l3_s__l4_ls, ··· 246 351 &am33xx_l3_main__gfx, 247 352 &am33xx_l3_s__l3_main, 248 353 &am43xx_l3_main__emif, 249 - &am33xx_pruss__l3_main, 250 354 &am43xx_wkup_m3__l4_wkup, 251 355 &am33xx_gfx__l3_main, 252 356 &am43xx_l4_wkup__wkup_m3, ··· 254 360 &am43xx_l4_wkup__smartreflex1, 255 361 &am43xx_l4_wkup__timer1, 256 362 &am33xx_l4_ls__timer2, 257 - &am33xx_l3_main__tpcc, 258 363 &am33xx_l3_s__gpmc, 259 - &am33xx_l3_main__tptc0, 260 - &am33xx_l3_main__tptc1, 261 - &am33xx_l3_main__tptc2, 262 364 &am33xx_l3_main__ocmc, 263 365 &am43xx_l3_s__usbotgss0, 264 366 &am43xx_l3_s__usbotgss1, 265 - &am43xx_dss__l3_main, 266 - &am43xx_l4_ls__dss, 267 - &am43xx_l4_ls__dss_dispc, 268 - &am43xx_l4_ls__dss_rfbi, 269 367 NULL, 270 368 }; 271 369
-531
arch/arm/mach-omap2/omap_hwmod_44xx_data.c
··· 356 356 }; 357 357 358 358 /* 359 - * 'dsp' class 360 - * dsp sub-system 361 - */ 362 - 363 - static struct omap_hwmod_class omap44xx_dsp_hwmod_class = { 364 - .name = "dsp", 365 - }; 366 - 367 - /* dsp */ 368 - static struct omap_hwmod_rst_info omap44xx_dsp_resets[] = { 369 - { .name = "dsp", .rst_shift = 0 }, 370 - }; 371 - 372 - static struct omap_hwmod omap44xx_dsp_hwmod = { 373 - .name = "dsp", 374 - .class = &omap44xx_dsp_hwmod_class, 375 - .clkdm_name = "tesla_clkdm", 376 - .rst_lines = omap44xx_dsp_resets, 377 - .rst_lines_cnt = ARRAY_SIZE(omap44xx_dsp_resets), 378 - .main_clk = "dpll_iva_m4x2_ck", 379 - .prcm = { 380 - .omap4 = { 381 - .clkctrl_offs = OMAP4_CM_TESLA_TESLA_CLKCTRL_OFFSET, 382 - .rstctrl_offs = OMAP4_RM_TESLA_RSTCTRL_OFFSET, 383 - .context_offs = OMAP4_RM_TESLA_TESLA_CONTEXT_OFFSET, 384 - .modulemode = MODULEMODE_HWCTRL, 385 - }, 386 - }, 387 - }; 388 - 389 - /* 390 - * 'dss' class 391 - * display sub-system 392 - */ 393 - 394 - static struct omap_hwmod_class_sysconfig omap44xx_dss_sysc = { 395 - .rev_offs = 0x0000, 396 - .syss_offs = 0x0014, 397 - .sysc_flags = SYSS_HAS_RESET_STATUS, 398 - }; 399 - 400 - static struct omap_hwmod_class omap44xx_dss_hwmod_class = { 401 - .name = "dss", 402 - .sysc = &omap44xx_dss_sysc, 403 - .reset = omap_dss_reset, 404 - }; 405 - 406 - /* dss */ 407 - static struct omap_hwmod_opt_clk dss_opt_clks[] = { 408 - { .role = "sys_clk", .clk = "dss_sys_clk" }, 409 - { .role = "tv_clk", .clk = "dss_tv_clk" }, 410 - { .role = "hdmi_clk", .clk = "dss_48mhz_clk" }, 411 - }; 412 - 413 - static struct omap_hwmod omap44xx_dss_hwmod = { 414 - .name = "dss_core", 415 - .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, 416 - .class = &omap44xx_dss_hwmod_class, 417 - .clkdm_name = "l3_dss_clkdm", 418 - .main_clk = "dss_dss_clk", 419 - .prcm = { 420 - .omap4 = { 421 - .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET, 422 - .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET, 423 - .modulemode = MODULEMODE_SWCTRL, 424 - }, 425 - }, 426 - .opt_clks = dss_opt_clks, 427 - .opt_clks_cnt = ARRAY_SIZE(dss_opt_clks), 428 - }; 429 - 430 - /* 431 - * 'dispc' class 432 - * display controller 433 - */ 434 - 435 - static struct omap_hwmod_class_sysconfig omap44xx_dispc_sysc = { 436 - .rev_offs = 0x0000, 437 - .sysc_offs = 0x0010, 438 - .syss_offs = 0x0014, 439 - .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY | 440 - SYSC_HAS_ENAWAKEUP | SYSC_HAS_MIDLEMODE | 441 - SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET | 442 - SYSS_HAS_RESET_STATUS), 443 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | 444 - MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART), 445 - .sysc_fields = &omap_hwmod_sysc_type1, 446 - }; 447 - 448 - static struct omap_hwmod_class omap44xx_dispc_hwmod_class = { 449 - .name = "dispc", 450 - .sysc = &omap44xx_dispc_sysc, 451 - }; 452 - 453 - /* dss_dispc */ 454 - static struct omap_dss_dispc_dev_attr omap44xx_dss_dispc_dev_attr = { 455 - .manager_count = 3, 456 - .has_framedonetv_irq = 1 457 - }; 458 - 459 - static struct omap_hwmod omap44xx_dss_dispc_hwmod = { 460 - .name = "dss_dispc", 461 - .class = &omap44xx_dispc_hwmod_class, 462 - .clkdm_name = "l3_dss_clkdm", 463 - .main_clk = "dss_dss_clk", 464 - .prcm = { 465 - .omap4 = { 466 - .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET, 467 - .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET, 468 - }, 469 - }, 470 - .dev_attr = &omap44xx_dss_dispc_dev_attr, 471 - .parent_hwmod = &omap44xx_dss_hwmod, 472 - }; 473 - 474 - /* 475 - * 'dsi' class 476 - * display serial interface controller 477 - */ 478 - 479 - static struct omap_hwmod_class_sysconfig omap44xx_dsi_sysc = { 480 - .rev_offs = 0x0000, 481 - .sysc_offs = 0x0010, 482 - .syss_offs = 0x0014, 483 - .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY | 484 - SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE | 485 - SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS), 486 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), 487 - .sysc_fields = &omap_hwmod_sysc_type1, 488 - }; 489 - 490 - static struct omap_hwmod_class omap44xx_dsi_hwmod_class = { 491 - .name = "dsi", 492 - .sysc = &omap44xx_dsi_sysc, 493 - }; 494 - 495 - /* dss_dsi1 */ 496 - static struct omap_hwmod_opt_clk dss_dsi1_opt_clks[] = { 497 - { .role = "sys_clk", .clk = "dss_sys_clk" }, 498 - }; 499 - 500 - static struct omap_hwmod omap44xx_dss_dsi1_hwmod = { 501 - .name = "dss_dsi1", 502 - .class = &omap44xx_dsi_hwmod_class, 503 - .clkdm_name = "l3_dss_clkdm", 504 - .main_clk = "dss_dss_clk", 505 - .prcm = { 506 - .omap4 = { 507 - .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET, 508 - .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET, 509 - }, 510 - }, 511 - .opt_clks = dss_dsi1_opt_clks, 512 - .opt_clks_cnt = ARRAY_SIZE(dss_dsi1_opt_clks), 513 - .parent_hwmod = &omap44xx_dss_hwmod, 514 - }; 515 - 516 - /* dss_dsi2 */ 517 - static struct omap_hwmod_opt_clk dss_dsi2_opt_clks[] = { 518 - { .role = "sys_clk", .clk = "dss_sys_clk" }, 519 - }; 520 - 521 - static struct omap_hwmod omap44xx_dss_dsi2_hwmod = { 522 - .name = "dss_dsi2", 523 - .class = &omap44xx_dsi_hwmod_class, 524 - .clkdm_name = "l3_dss_clkdm", 525 - .main_clk = "dss_dss_clk", 526 - .prcm = { 527 - .omap4 = { 528 - .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET, 529 - .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET, 530 - }, 531 - }, 532 - .opt_clks = dss_dsi2_opt_clks, 533 - .opt_clks_cnt = ARRAY_SIZE(dss_dsi2_opt_clks), 534 - .parent_hwmod = &omap44xx_dss_hwmod, 535 - }; 536 - 537 - /* 538 - * 'hdmi' class 539 - * hdmi controller 540 - */ 541 - 542 - static struct omap_hwmod_class_sysconfig omap44xx_hdmi_sysc = { 543 - .rev_offs = 0x0000, 544 - .sysc_offs = 0x0010, 545 - .sysc_flags = (SYSC_HAS_RESET_STATUS | SYSC_HAS_SIDLEMODE | 546 - SYSC_HAS_SOFTRESET), 547 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | 548 - SIDLE_SMART_WKUP), 549 - .sysc_fields = &omap_hwmod_sysc_type2, 550 - }; 551 - 552 - static struct omap_hwmod_class omap44xx_hdmi_hwmod_class = { 553 - .name = "hdmi", 554 - .sysc = &omap44xx_hdmi_sysc, 555 - }; 556 - 557 - /* dss_hdmi */ 558 - static struct omap_hwmod_opt_clk dss_hdmi_opt_clks[] = { 559 - { .role = "sys_clk", .clk = "dss_sys_clk" }, 560 - { .role = "hdmi_clk", .clk = "dss_48mhz_clk" }, 561 - }; 562 - 563 - static struct omap_hwmod omap44xx_dss_hdmi_hwmod = { 564 - .name = "dss_hdmi", 565 - .class = &omap44xx_hdmi_hwmod_class, 566 - .clkdm_name = "l3_dss_clkdm", 567 - /* 568 - * HDMI audio requires to use no-idle mode. Hence, 569 - * set idle mode by software. 570 - */ 571 - .flags = HWMOD_SWSUP_SIDLE | HWMOD_OPT_CLKS_NEEDED, 572 - .main_clk = "dss_48mhz_clk", 573 - .prcm = { 574 - .omap4 = { 575 - .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET, 576 - .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET, 577 - }, 578 - }, 579 - .opt_clks = dss_hdmi_opt_clks, 580 - .opt_clks_cnt = ARRAY_SIZE(dss_hdmi_opt_clks), 581 - .parent_hwmod = &omap44xx_dss_hwmod, 582 - }; 583 - 584 - /* 585 - * 'rfbi' class 586 - * remote frame buffer interface 587 - */ 588 - 589 - static struct omap_hwmod_class_sysconfig omap44xx_rfbi_sysc = { 590 - .rev_offs = 0x0000, 591 - .sysc_offs = 0x0010, 592 - .syss_offs = 0x0014, 593 - .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SIDLEMODE | 594 - SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS), 595 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), 596 - .sysc_fields = &omap_hwmod_sysc_type1, 597 - }; 598 - 599 - static struct omap_hwmod_class omap44xx_rfbi_hwmod_class = { 600 - .name = "rfbi", 601 - .sysc = &omap44xx_rfbi_sysc, 602 - }; 603 - 604 - /* dss_rfbi */ 605 - static struct omap_hwmod_opt_clk dss_rfbi_opt_clks[] = { 606 - { .role = "ick", .clk = "l3_div_ck" }, 607 - }; 608 - 609 - static struct omap_hwmod omap44xx_dss_rfbi_hwmod = { 610 - .name = "dss_rfbi", 611 - .class = &omap44xx_rfbi_hwmod_class, 612 - .clkdm_name = "l3_dss_clkdm", 613 - .main_clk = "dss_dss_clk", 614 - .prcm = { 615 - .omap4 = { 616 - .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET, 617 - .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET, 618 - }, 619 - }, 620 - .opt_clks = dss_rfbi_opt_clks, 621 - .opt_clks_cnt = ARRAY_SIZE(dss_rfbi_opt_clks), 622 - .parent_hwmod = &omap44xx_dss_hwmod, 623 - }; 624 - 625 - /* 626 - * 'venc' class 627 - * video encoder 628 - */ 629 - 630 - static struct omap_hwmod_class omap44xx_venc_hwmod_class = { 631 - .name = "venc", 632 - }; 633 - 634 - /* dss_venc */ 635 - static struct omap_hwmod_opt_clk dss_venc_opt_clks[] = { 636 - { .role = "tv_clk", .clk = "dss_tv_clk" }, 637 - }; 638 - 639 - static struct omap_hwmod omap44xx_dss_venc_hwmod = { 640 - .name = "dss_venc", 641 - .class = &omap44xx_venc_hwmod_class, 642 - .clkdm_name = "l3_dss_clkdm", 643 - .main_clk = "dss_tv_clk", 644 - .flags = HWMOD_OPT_CLKS_NEEDED, 645 - .prcm = { 646 - .omap4 = { 647 - .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET, 648 - .context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET, 649 - }, 650 - }, 651 - .parent_hwmod = &omap44xx_dss_hwmod, 652 - .opt_clks = dss_venc_opt_clks, 653 - .opt_clks_cnt = ARRAY_SIZE(dss_venc_opt_clks), 654 - }; 655 - 656 - 657 - 658 - /* 659 359 * 'emif' class 660 360 * external memory interface no1 661 361 */ ··· 432 732 .omap4 = { 433 733 .clkctrl_offs = OMAP4_CM_L3_2_GPMC_CLKCTRL_OFFSET, 434 734 .context_offs = OMAP4_RM_L3_2_GPMC_CONTEXT_OFFSET, 435 - .modulemode = MODULEMODE_HWCTRL, 436 - }, 437 - }, 438 - }; 439 - 440 - 441 - /* 442 - * 'ipu' class 443 - * imaging processor unit 444 - */ 445 - 446 - static struct omap_hwmod_class omap44xx_ipu_hwmod_class = { 447 - .name = "ipu", 448 - }; 449 - 450 - /* ipu */ 451 - static struct omap_hwmod_rst_info omap44xx_ipu_resets[] = { 452 - { .name = "cpu0", .rst_shift = 0 }, 453 - { .name = "cpu1", .rst_shift = 1 }, 454 - }; 455 - 456 - static struct omap_hwmod omap44xx_ipu_hwmod = { 457 - .name = "ipu", 458 - .class = &omap44xx_ipu_hwmod_class, 459 - .clkdm_name = "ducati_clkdm", 460 - .rst_lines = omap44xx_ipu_resets, 461 - .rst_lines_cnt = ARRAY_SIZE(omap44xx_ipu_resets), 462 - .main_clk = "ducati_clk_mux_ck", 463 - .prcm = { 464 - .omap4 = { 465 - .clkctrl_offs = OMAP4_CM_DUCATI_DUCATI_CLKCTRL_OFFSET, 466 - .rstctrl_offs = OMAP4_RM_DUCATI_RSTCTRL_OFFSET, 467 - .context_offs = OMAP4_RM_DUCATI_DUCATI_CONTEXT_OFFSET, 468 735 .modulemode = MODULEMODE_HWCTRL, 469 736 }, 470 737 }, ··· 903 1236 .user = OCP_USER_MPU | OCP_USER_SDMA, 904 1237 }; 905 1238 906 - /* dsp -> l3_main_1 */ 907 - static struct omap_hwmod_ocp_if omap44xx_dsp__l3_main_1 = { 908 - .master = &omap44xx_dsp_hwmod, 909 - .slave = &omap44xx_l3_main_1_hwmod, 910 - .clk = "l3_div_ck", 911 - .user = OCP_USER_MPU | OCP_USER_SDMA, 912 - }; 913 - 914 - /* dss -> l3_main_1 */ 915 - static struct omap_hwmod_ocp_if omap44xx_dss__l3_main_1 = { 916 - .master = &omap44xx_dss_hwmod, 917 - .slave = &omap44xx_l3_main_1_hwmod, 918 - .clk = "l3_div_ck", 919 - .user = OCP_USER_MPU | OCP_USER_SDMA, 920 - }; 921 - 922 1239 /* l3_main_2 -> l3_main_1 */ 923 1240 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__l3_main_1 = { 924 1241 .master = &omap44xx_l3_main_2_hwmod, ··· 932 1281 .master = &omap44xx_debugss_hwmod, 933 1282 .slave = &omap44xx_l3_main_2_hwmod, 934 1283 .clk = "dbgclk_mux_ck", 935 - .user = OCP_USER_MPU | OCP_USER_SDMA, 936 - }; 937 - 938 - /* ipu -> l3_main_2 */ 939 - static struct omap_hwmod_ocp_if omap44xx_ipu__l3_main_2 = { 940 - .master = &omap44xx_ipu_hwmod, 941 - .slave = &omap44xx_l3_main_2_hwmod, 942 - .clk = "l3_div_ck", 943 1284 .user = OCP_USER_MPU | OCP_USER_SDMA, 944 1285 }; 945 1286 ··· 1004 1361 .master = &omap44xx_l4_cfg_hwmod, 1005 1362 .slave = &omap44xx_l3_main_3_hwmod, 1006 1363 .clk = "l4_div_ck", 1007 - .user = OCP_USER_MPU | OCP_USER_SDMA, 1008 - }; 1009 - 1010 - /* dsp -> l4_abe */ 1011 - static struct omap_hwmod_ocp_if omap44xx_dsp__l4_abe = { 1012 - .master = &omap44xx_dsp_hwmod, 1013 - .slave = &omap44xx_l4_abe_hwmod, 1014 - .clk = "ocp_abe_iclk", 1015 1364 .user = OCP_USER_MPU | OCP_USER_SDMA, 1016 1365 }; 1017 1366 ··· 1111 1476 .user = OCP_USER_MPU | OCP_USER_SDMA, 1112 1477 }; 1113 1478 1114 - /* dsp -> iva */ 1115 - static struct omap_hwmod_ocp_if omap44xx_dsp__iva = { 1116 - .master = &omap44xx_dsp_hwmod, 1117 - .slave = &omap44xx_iva_hwmod, 1118 - .clk = "dpll_iva_m5x2_ck", 1119 - .user = OCP_USER_DSP, 1120 - }; 1121 - 1122 - /* dsp -> sl2if */ 1123 - static struct omap_hwmod_ocp_if __maybe_unused omap44xx_dsp__sl2if = { 1124 - .master = &omap44xx_dsp_hwmod, 1125 - .slave = &omap44xx_sl2if_hwmod, 1126 - .clk = "dpll_iva_m5x2_ck", 1127 - .user = OCP_USER_DSP, 1128 - }; 1129 - 1130 - /* l4_cfg -> dsp */ 1131 - static struct omap_hwmod_ocp_if omap44xx_l4_cfg__dsp = { 1132 - .master = &omap44xx_l4_cfg_hwmod, 1133 - .slave = &omap44xx_dsp_hwmod, 1134 - .clk = "l4_div_ck", 1135 - .user = OCP_USER_MPU | OCP_USER_SDMA, 1136 - }; 1137 - 1138 - /* l3_main_2 -> dss */ 1139 - static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss = { 1140 - .master = &omap44xx_l3_main_2_hwmod, 1141 - .slave = &omap44xx_dss_hwmod, 1142 - .clk = "l3_div_ck", 1143 - .user = OCP_USER_SDMA, 1144 - }; 1145 - 1146 - /* l4_per -> dss */ 1147 - static struct omap_hwmod_ocp_if omap44xx_l4_per__dss = { 1148 - .master = &omap44xx_l4_per_hwmod, 1149 - .slave = &omap44xx_dss_hwmod, 1150 - .clk = "l4_div_ck", 1151 - .user = OCP_USER_MPU, 1152 - }; 1153 - 1154 - /* l3_main_2 -> dss_dispc */ 1155 - static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dispc = { 1156 - .master = &omap44xx_l3_main_2_hwmod, 1157 - .slave = &omap44xx_dss_dispc_hwmod, 1158 - .clk = "l3_div_ck", 1159 - .user = OCP_USER_SDMA, 1160 - }; 1161 - 1162 - /* l4_per -> dss_dispc */ 1163 - static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_dispc = { 1164 - .master = &omap44xx_l4_per_hwmod, 1165 - .slave = &omap44xx_dss_dispc_hwmod, 1166 - .clk = "l4_div_ck", 1167 - .user = OCP_USER_MPU, 1168 - }; 1169 - 1170 - /* l3_main_2 -> dss_dsi1 */ 1171 - static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dsi1 = { 1172 - .master = &omap44xx_l3_main_2_hwmod, 1173 - .slave = &omap44xx_dss_dsi1_hwmod, 1174 - .clk = "l3_div_ck", 1175 - .user = OCP_USER_SDMA, 1176 - }; 1177 - 1178 - /* l4_per -> dss_dsi1 */ 1179 - static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_dsi1 = { 1180 - .master = &omap44xx_l4_per_hwmod, 1181 - .slave = &omap44xx_dss_dsi1_hwmod, 1182 - .clk = "l4_div_ck", 1183 - .user = OCP_USER_MPU, 1184 - }; 1185 - 1186 - /* l3_main_2 -> dss_dsi2 */ 1187 - static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dsi2 = { 1188 - .master = &omap44xx_l3_main_2_hwmod, 1189 - .slave = &omap44xx_dss_dsi2_hwmod, 1190 - .clk = "l3_div_ck", 1191 - .user = OCP_USER_SDMA, 1192 - }; 1193 - 1194 - /* l4_per -> dss_dsi2 */ 1195 - static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_dsi2 = { 1196 - .master = &omap44xx_l4_per_hwmod, 1197 - .slave = &omap44xx_dss_dsi2_hwmod, 1198 - .clk = "l4_div_ck", 1199 - .user = OCP_USER_MPU, 1200 - }; 1201 - 1202 - /* l3_main_2 -> dss_hdmi */ 1203 - static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_hdmi = { 1204 - .master = &omap44xx_l3_main_2_hwmod, 1205 - .slave = &omap44xx_dss_hdmi_hwmod, 1206 - .clk = "l3_div_ck", 1207 - .user = OCP_USER_SDMA, 1208 - }; 1209 - 1210 - /* l4_per -> dss_hdmi */ 1211 - static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_hdmi = { 1212 - .master = &omap44xx_l4_per_hwmod, 1213 - .slave = &omap44xx_dss_hdmi_hwmod, 1214 - .clk = "l4_div_ck", 1215 - .user = OCP_USER_MPU, 1216 - }; 1217 - 1218 - /* l3_main_2 -> dss_rfbi */ 1219 - static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_rfbi = { 1220 - .master = &omap44xx_l3_main_2_hwmod, 1221 - .slave = &omap44xx_dss_rfbi_hwmod, 1222 - .clk = "l3_div_ck", 1223 - .user = OCP_USER_SDMA, 1224 - }; 1225 - 1226 - /* l4_per -> dss_rfbi */ 1227 - static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_rfbi = { 1228 - .master = &omap44xx_l4_per_hwmod, 1229 - .slave = &omap44xx_dss_rfbi_hwmod, 1230 - .clk = "l4_div_ck", 1231 - .user = OCP_USER_MPU, 1232 - }; 1233 - 1234 - /* l3_main_2 -> dss_venc */ 1235 - static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_venc = { 1236 - .master = &omap44xx_l3_main_2_hwmod, 1237 - .slave = &omap44xx_dss_venc_hwmod, 1238 - .clk = "l3_div_ck", 1239 - .user = OCP_USER_SDMA, 1240 - }; 1241 - 1242 - /* l4_per -> dss_venc */ 1243 - static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_venc = { 1244 - .master = &omap44xx_l4_per_hwmod, 1245 - .slave = &omap44xx_dss_venc_hwmod, 1246 - .clk = "l4_div_ck", 1247 - .user = OCP_USER_MPU, 1248 - }; 1249 - 1250 1479 /* l3_main_2 -> gpmc */ 1251 1480 static struct omap_hwmod_ocp_if omap44xx_l3_main_2__gpmc = { 1252 1481 .master = &omap44xx_l3_main_2_hwmod, 1253 1482 .slave = &omap44xx_gpmc_hwmod, 1254 - .clk = "l3_div_ck", 1255 - .user = OCP_USER_MPU | OCP_USER_SDMA, 1256 - }; 1257 - 1258 - /* l3_main_2 -> ipu */ 1259 - static struct omap_hwmod_ocp_if omap44xx_l3_main_2__ipu = { 1260 - .master = &omap44xx_l3_main_2_hwmod, 1261 - .slave = &omap44xx_ipu_hwmod, 1262 1483 .clk = "l3_div_ck", 1263 1484 .user = OCP_USER_MPU | OCP_USER_SDMA, 1264 1485 }; ··· 1253 1762 &omap44xx_iva__l3_instr, 1254 1763 &omap44xx_l3_main_3__l3_instr, 1255 1764 &omap44xx_ocp_wp_noc__l3_instr, 1256 - &omap44xx_dsp__l3_main_1, 1257 - &omap44xx_dss__l3_main_1, 1258 1765 &omap44xx_l3_main_2__l3_main_1, 1259 1766 &omap44xx_l4_cfg__l3_main_1, 1260 1767 &omap44xx_mpu__l3_main_1, 1261 1768 &omap44xx_debugss__l3_main_2, 1262 - &omap44xx_ipu__l3_main_2, 1263 1769 &omap44xx_iss__l3_main_2, 1264 1770 &omap44xx_iva__l3_main_2, 1265 1771 &omap44xx_l3_main_1__l3_main_2, ··· 1266 1778 &omap44xx_l3_main_1__l3_main_3, 1267 1779 &omap44xx_l3_main_2__l3_main_3, 1268 1780 &omap44xx_l4_cfg__l3_main_3, 1269 - &omap44xx_dsp__l4_abe, 1270 1781 &omap44xx_l3_main_1__l4_abe, 1271 1782 &omap44xx_mpu__l4_abe, 1272 1783 &omap44xx_l3_main_1__l4_cfg, ··· 1279 1792 &omap44xx_l4_wkup__ctrl_module_wkup, 1280 1793 &omap44xx_l4_wkup__ctrl_module_pad_wkup, 1281 1794 &omap44xx_l3_instr__debugss, 1282 - &omap44xx_dsp__iva, 1283 - /* &omap44xx_dsp__sl2if, */ 1284 - &omap44xx_l4_cfg__dsp, 1285 - &omap44xx_l3_main_2__dss, 1286 - &omap44xx_l4_per__dss, 1287 - &omap44xx_l3_main_2__dss_dispc, 1288 - &omap44xx_l4_per__dss_dispc, 1289 - &omap44xx_l3_main_2__dss_dsi1, 1290 - &omap44xx_l4_per__dss_dsi1, 1291 - &omap44xx_l3_main_2__dss_dsi2, 1292 - &omap44xx_l4_per__dss_dsi2, 1293 - &omap44xx_l3_main_2__dss_hdmi, 1294 - &omap44xx_l4_per__dss_hdmi, 1295 - &omap44xx_l3_main_2__dss_rfbi, 1296 - &omap44xx_l4_per__dss_rfbi, 1297 - &omap44xx_l3_main_2__dss_venc, 1298 - &omap44xx_l4_per__dss_venc, 1299 1795 &omap44xx_l3_main_2__gpmc, 1300 - &omap44xx_l3_main_2__ipu, 1301 1796 &omap44xx_l3_main_2__iss, 1302 1797 /* &omap44xx_iva__sl2if, */ 1303 1798 &omap44xx_l3_main_2__iva,
-288
arch/arm/mach-omap2/omap_hwmod_54xx_data.c
··· 227 227 }; 228 228 229 229 /* 230 - * 'dss' class 231 - * display sub-system 232 - */ 233 - static struct omap_hwmod_class_sysconfig omap54xx_dss_sysc = { 234 - .rev_offs = 0x0000, 235 - .syss_offs = 0x0014, 236 - .sysc_flags = SYSS_HAS_RESET_STATUS, 237 - }; 238 - 239 - static struct omap_hwmod_class omap54xx_dss_hwmod_class = { 240 - .name = "dss", 241 - .sysc = &omap54xx_dss_sysc, 242 - .reset = omap_dss_reset, 243 - }; 244 - 245 - /* dss */ 246 - static struct omap_hwmod_opt_clk dss_opt_clks[] = { 247 - { .role = "32khz_clk", .clk = "dss_32khz_clk" }, 248 - { .role = "sys_clk", .clk = "dss_sys_clk" }, 249 - { .role = "hdmi_clk", .clk = "dss_48mhz_clk" }, 250 - }; 251 - 252 - static struct omap_hwmod omap54xx_dss_hwmod = { 253 - .name = "dss_core", 254 - .class = &omap54xx_dss_hwmod_class, 255 - .clkdm_name = "dss_clkdm", 256 - .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, 257 - .main_clk = "dss_dss_clk", 258 - .prcm = { 259 - .omap4 = { 260 - .clkctrl_offs = OMAP54XX_CM_DSS_DSS_CLKCTRL_OFFSET, 261 - .context_offs = OMAP54XX_RM_DSS_DSS_CONTEXT_OFFSET, 262 - .modulemode = MODULEMODE_SWCTRL, 263 - }, 264 - }, 265 - .opt_clks = dss_opt_clks, 266 - .opt_clks_cnt = ARRAY_SIZE(dss_opt_clks), 267 - }; 268 - 269 - /* 270 - * 'dispc' class 271 - * display controller 272 - */ 273 - 274 - static struct omap_hwmod_class_sysconfig omap54xx_dispc_sysc = { 275 - .rev_offs = 0x0000, 276 - .sysc_offs = 0x0010, 277 - .syss_offs = 0x0014, 278 - .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY | 279 - SYSC_HAS_ENAWAKEUP | SYSC_HAS_MIDLEMODE | 280 - SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET | 281 - SYSS_HAS_RESET_STATUS), 282 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | 283 - MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART), 284 - .sysc_fields = &omap_hwmod_sysc_type1, 285 - }; 286 - 287 - static struct omap_hwmod_class omap54xx_dispc_hwmod_class = { 288 - .name = "dispc", 289 - .sysc = &omap54xx_dispc_sysc, 290 - }; 291 - 292 - /* dss_dispc */ 293 - static struct omap_hwmod_opt_clk dss_dispc_opt_clks[] = { 294 - { .role = "sys_clk", .clk = "dss_sys_clk" }, 295 - }; 296 - 297 - /* dss_dispc dev_attr */ 298 - static struct omap_dss_dispc_dev_attr dss_dispc_dev_attr = { 299 - .has_framedonetv_irq = 1, 300 - .manager_count = 4, 301 - }; 302 - 303 - static struct omap_hwmod omap54xx_dss_dispc_hwmod = { 304 - .name = "dss_dispc", 305 - .class = &omap54xx_dispc_hwmod_class, 306 - .clkdm_name = "dss_clkdm", 307 - .main_clk = "dss_dss_clk", 308 - .prcm = { 309 - .omap4 = { 310 - .clkctrl_offs = OMAP54XX_CM_DSS_DSS_CLKCTRL_OFFSET, 311 - .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT, 312 - }, 313 - }, 314 - .opt_clks = dss_dispc_opt_clks, 315 - .opt_clks_cnt = ARRAY_SIZE(dss_dispc_opt_clks), 316 - .dev_attr = &dss_dispc_dev_attr, 317 - .parent_hwmod = &omap54xx_dss_hwmod, 318 - }; 319 - 320 - /* 321 - * 'dsi1' class 322 - * display serial interface controller 323 - */ 324 - 325 - static struct omap_hwmod_class_sysconfig omap54xx_dsi1_sysc = { 326 - .rev_offs = 0x0000, 327 - .sysc_offs = 0x0010, 328 - .syss_offs = 0x0014, 329 - .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY | 330 - SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE | 331 - SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS), 332 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), 333 - .sysc_fields = &omap_hwmod_sysc_type1, 334 - }; 335 - 336 - static struct omap_hwmod_class omap54xx_dsi1_hwmod_class = { 337 - .name = "dsi1", 338 - .sysc = &omap54xx_dsi1_sysc, 339 - }; 340 - 341 - /* dss_dsi1_a */ 342 - static struct omap_hwmod_opt_clk dss_dsi1_a_opt_clks[] = { 343 - { .role = "sys_clk", .clk = "dss_sys_clk" }, 344 - }; 345 - 346 - static struct omap_hwmod omap54xx_dss_dsi1_a_hwmod = { 347 - .name = "dss_dsi1", 348 - .class = &omap54xx_dsi1_hwmod_class, 349 - .clkdm_name = "dss_clkdm", 350 - .main_clk = "dss_dss_clk", 351 - .prcm = { 352 - .omap4 = { 353 - .clkctrl_offs = OMAP54XX_CM_DSS_DSS_CLKCTRL_OFFSET, 354 - .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT, 355 - }, 356 - }, 357 - .opt_clks = dss_dsi1_a_opt_clks, 358 - .opt_clks_cnt = ARRAY_SIZE(dss_dsi1_a_opt_clks), 359 - .parent_hwmod = &omap54xx_dss_hwmod, 360 - }; 361 - 362 - /* dss_dsi1_c */ 363 - static struct omap_hwmod_opt_clk dss_dsi1_c_opt_clks[] = { 364 - { .role = "sys_clk", .clk = "dss_sys_clk" }, 365 - }; 366 - 367 - static struct omap_hwmod omap54xx_dss_dsi1_c_hwmod = { 368 - .name = "dss_dsi2", 369 - .class = &omap54xx_dsi1_hwmod_class, 370 - .clkdm_name = "dss_clkdm", 371 - .main_clk = "dss_dss_clk", 372 - .prcm = { 373 - .omap4 = { 374 - .clkctrl_offs = OMAP54XX_CM_DSS_DSS_CLKCTRL_OFFSET, 375 - .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT, 376 - }, 377 - }, 378 - .opt_clks = dss_dsi1_c_opt_clks, 379 - .opt_clks_cnt = ARRAY_SIZE(dss_dsi1_c_opt_clks), 380 - .parent_hwmod = &omap54xx_dss_hwmod, 381 - }; 382 - 383 - /* 384 - * 'hdmi' class 385 - * hdmi controller 386 - */ 387 - 388 - static struct omap_hwmod_class_sysconfig omap54xx_hdmi_sysc = { 389 - .rev_offs = 0x0000, 390 - .sysc_offs = 0x0010, 391 - .sysc_flags = (SYSC_HAS_RESET_STATUS | SYSC_HAS_SIDLEMODE | 392 - SYSC_HAS_SOFTRESET), 393 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | 394 - SIDLE_SMART_WKUP), 395 - .sysc_fields = &omap_hwmod_sysc_type2, 396 - }; 397 - 398 - static struct omap_hwmod_class omap54xx_hdmi_hwmod_class = { 399 - .name = "hdmi", 400 - .sysc = &omap54xx_hdmi_sysc, 401 - }; 402 - 403 - static struct omap_hwmod_opt_clk dss_hdmi_opt_clks[] = { 404 - { .role = "sys_clk", .clk = "dss_sys_clk" }, 405 - }; 406 - 407 - static struct omap_hwmod omap54xx_dss_hdmi_hwmod = { 408 - .name = "dss_hdmi", 409 - .class = &omap54xx_hdmi_hwmod_class, 410 - .clkdm_name = "dss_clkdm", 411 - .main_clk = "dss_48mhz_clk", 412 - .prcm = { 413 - .omap4 = { 414 - .clkctrl_offs = OMAP54XX_CM_DSS_DSS_CLKCTRL_OFFSET, 415 - .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT, 416 - }, 417 - }, 418 - .opt_clks = dss_hdmi_opt_clks, 419 - .opt_clks_cnt = ARRAY_SIZE(dss_hdmi_opt_clks), 420 - .parent_hwmod = &omap54xx_dss_hwmod, 421 - }; 422 - 423 - /* 424 - * 'rfbi' class 425 - * remote frame buffer interface 426 - */ 427 - 428 - static struct omap_hwmod_class_sysconfig omap54xx_rfbi_sysc = { 429 - .rev_offs = 0x0000, 430 - .sysc_offs = 0x0010, 431 - .syss_offs = 0x0014, 432 - .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_SIDLEMODE | 433 - SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS), 434 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART), 435 - .sysc_fields = &omap_hwmod_sysc_type1, 436 - }; 437 - 438 - static struct omap_hwmod_class omap54xx_rfbi_hwmod_class = { 439 - .name = "rfbi", 440 - .sysc = &omap54xx_rfbi_sysc, 441 - }; 442 - 443 - /* dss_rfbi */ 444 - static struct omap_hwmod_opt_clk dss_rfbi_opt_clks[] = { 445 - { .role = "ick", .clk = "l3_iclk_div" }, 446 - }; 447 - 448 - static struct omap_hwmod omap54xx_dss_rfbi_hwmod = { 449 - .name = "dss_rfbi", 450 - .class = &omap54xx_rfbi_hwmod_class, 451 - .clkdm_name = "dss_clkdm", 452 - .prcm = { 453 - .omap4 = { 454 - .clkctrl_offs = OMAP54XX_CM_DSS_DSS_CLKCTRL_OFFSET, 455 - .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT, 456 - }, 457 - }, 458 - .opt_clks = dss_rfbi_opt_clks, 459 - .opt_clks_cnt = ARRAY_SIZE(dss_rfbi_opt_clks), 460 - .parent_hwmod = &omap54xx_dss_hwmod, 461 - }; 462 - 463 - /* 464 230 * 'emif' class 465 231 * external memory interface no1 (wrapper) 466 232 */ ··· 674 908 .user = OCP_USER_MPU | OCP_USER_SDMA, 675 909 }; 676 910 677 - /* l3_main_2 -> dss */ 678 - static struct omap_hwmod_ocp_if omap54xx_l3_main_2__dss = { 679 - .master = &omap54xx_l3_main_2_hwmod, 680 - .slave = &omap54xx_dss_hwmod, 681 - .clk = "l3_iclk_div", 682 - .user = OCP_USER_MPU | OCP_USER_SDMA, 683 - }; 684 - 685 - /* l3_main_2 -> dss_dispc */ 686 - static struct omap_hwmod_ocp_if omap54xx_l3_main_2__dss_dispc = { 687 - .master = &omap54xx_l3_main_2_hwmod, 688 - .slave = &omap54xx_dss_dispc_hwmod, 689 - .clk = "l3_iclk_div", 690 - .user = OCP_USER_MPU | OCP_USER_SDMA, 691 - }; 692 - 693 - /* l3_main_2 -> dss_dsi1_a */ 694 - static struct omap_hwmod_ocp_if omap54xx_l3_main_2__dss_dsi1_a = { 695 - .master = &omap54xx_l3_main_2_hwmod, 696 - .slave = &omap54xx_dss_dsi1_a_hwmod, 697 - .clk = "l3_iclk_div", 698 - .user = OCP_USER_MPU | OCP_USER_SDMA, 699 - }; 700 - 701 - /* l3_main_2 -> dss_dsi1_c */ 702 - static struct omap_hwmod_ocp_if omap54xx_l3_main_2__dss_dsi1_c = { 703 - .master = &omap54xx_l3_main_2_hwmod, 704 - .slave = &omap54xx_dss_dsi1_c_hwmod, 705 - .clk = "l3_iclk_div", 706 - .user = OCP_USER_MPU | OCP_USER_SDMA, 707 - }; 708 - 709 - /* l3_main_2 -> dss_hdmi */ 710 - static struct omap_hwmod_ocp_if omap54xx_l3_main_2__dss_hdmi = { 711 - .master = &omap54xx_l3_main_2_hwmod, 712 - .slave = &omap54xx_dss_hdmi_hwmod, 713 - .clk = "l3_iclk_div", 714 - .user = OCP_USER_MPU | OCP_USER_SDMA, 715 - }; 716 - 717 - /* l3_main_2 -> dss_rfbi */ 718 - static struct omap_hwmod_ocp_if omap54xx_l3_main_2__dss_rfbi = { 719 - .master = &omap54xx_l3_main_2_hwmod, 720 - .slave = &omap54xx_dss_rfbi_hwmod, 721 - .clk = "l3_iclk_div", 722 - .user = OCP_USER_MPU | OCP_USER_SDMA, 723 - }; 724 - 725 911 /* mpu -> emif1 */ 726 912 static struct omap_hwmod_ocp_if omap54xx_mpu__emif1 = { 727 913 .master = &omap54xx_mpu_hwmod, ··· 748 1030 &omap54xx_l3_main_1__l4_wkup, 749 1031 &omap54xx_mpu__mpu_private, 750 1032 &omap54xx_l4_wkup__counter_32k, 751 - &omap54xx_l3_main_2__dss, 752 - &omap54xx_l3_main_2__dss_dispc, 753 - &omap54xx_l3_main_2__dss_dsi1_a, 754 - &omap54xx_l3_main_2__dss_dsi1_c, 755 - &omap54xx_l3_main_2__dss_hdmi, 756 - &omap54xx_l3_main_2__dss_rfbi, 757 1033 &omap54xx_mpu__emif1, 758 1034 &omap54xx_mpu__emif2, 759 1035 &omap54xx_l4_cfg__mpu,
-251
arch/arm/mach-omap2/omap_hwmod_7xx_data.c
··· 277 277 }; 278 278 279 279 /* 280 - * 'tpcc' class 281 - * 282 - */ 283 - static struct omap_hwmod_class dra7xx_tpcc_hwmod_class = { 284 - .name = "tpcc", 285 - }; 286 - 287 - static struct omap_hwmod dra7xx_tpcc_hwmod = { 288 - .name = "tpcc", 289 - .class = &dra7xx_tpcc_hwmod_class, 290 - .clkdm_name = "l3main1_clkdm", 291 - .main_clk = "l3_iclk_div", 292 - .prcm = { 293 - .omap4 = { 294 - .clkctrl_offs = DRA7XX_CM_L3MAIN1_TPCC_CLKCTRL_OFFSET, 295 - .context_offs = DRA7XX_RM_L3MAIN1_TPCC_CONTEXT_OFFSET, 296 - }, 297 - }, 298 - }; 299 - 300 - /* 301 - * 'tptc' class 302 - * 303 - */ 304 - static struct omap_hwmod_class dra7xx_tptc_hwmod_class = { 305 - .name = "tptc", 306 - }; 307 - 308 - /* tptc0 */ 309 - static struct omap_hwmod dra7xx_tptc0_hwmod = { 310 - .name = "tptc0", 311 - .class = &dra7xx_tptc_hwmod_class, 312 - .clkdm_name = "l3main1_clkdm", 313 - .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY, 314 - .main_clk = "l3_iclk_div", 315 - .prcm = { 316 - .omap4 = { 317 - .clkctrl_offs = DRA7XX_CM_L3MAIN1_TPTC1_CLKCTRL_OFFSET, 318 - .context_offs = DRA7XX_RM_L3MAIN1_TPTC1_CONTEXT_OFFSET, 319 - .modulemode = MODULEMODE_HWCTRL, 320 - }, 321 - }, 322 - }; 323 - 324 - /* tptc1 */ 325 - static struct omap_hwmod dra7xx_tptc1_hwmod = { 326 - .name = "tptc1", 327 - .class = &dra7xx_tptc_hwmod_class, 328 - .clkdm_name = "l3main1_clkdm", 329 - .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY, 330 - .main_clk = "l3_iclk_div", 331 - .prcm = { 332 - .omap4 = { 333 - .clkctrl_offs = DRA7XX_CM_L3MAIN1_TPTC2_CLKCTRL_OFFSET, 334 - .context_offs = DRA7XX_RM_L3MAIN1_TPTC2_CONTEXT_OFFSET, 335 - .modulemode = MODULEMODE_HWCTRL, 336 - }, 337 - }, 338 - }; 339 - 340 - /* 341 - * 'dss' class 342 - * 343 - */ 344 - 345 - static struct omap_hwmod_class_sysconfig dra7xx_dss_sysc = { 346 - .rev_offs = 0x0000, 347 - .syss_offs = 0x0014, 348 - .sysc_flags = SYSS_HAS_RESET_STATUS, 349 - }; 350 - 351 - static struct omap_hwmod_class dra7xx_dss_hwmod_class = { 352 - .name = "dss", 353 - .sysc = &dra7xx_dss_sysc, 354 - .reset = omap_dss_reset, 355 - }; 356 - 357 - /* dss */ 358 - static struct omap_hwmod_opt_clk dss_opt_clks[] = { 359 - { .role = "dss_clk", .clk = "dss_dss_clk" }, 360 - { .role = "hdmi_phy_clk", .clk = "dss_48mhz_clk" }, 361 - { .role = "32khz_clk", .clk = "dss_32khz_clk" }, 362 - { .role = "video2_clk", .clk = "dss_video2_clk" }, 363 - { .role = "video1_clk", .clk = "dss_video1_clk" }, 364 - { .role = "hdmi_clk", .clk = "dss_hdmi_clk" }, 365 - { .role = "hdcp_clk", .clk = "dss_deshdcp_clk" }, 366 - }; 367 - 368 - static struct omap_hwmod dra7xx_dss_hwmod = { 369 - .name = "dss_core", 370 - .class = &dra7xx_dss_hwmod_class, 371 - .clkdm_name = "dss_clkdm", 372 - .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, 373 - .main_clk = "dss_dss_clk", 374 - .prcm = { 375 - .omap4 = { 376 - .clkctrl_offs = DRA7XX_CM_DSS_DSS_CLKCTRL_OFFSET, 377 - .context_offs = DRA7XX_RM_DSS_DSS_CONTEXT_OFFSET, 378 - .modulemode = MODULEMODE_SWCTRL, 379 - }, 380 - }, 381 - .opt_clks = dss_opt_clks, 382 - .opt_clks_cnt = ARRAY_SIZE(dss_opt_clks), 383 - }; 384 - 385 - /* 386 - * 'dispc' class 387 - * display controller 388 - */ 389 - 390 - static struct omap_hwmod_class_sysconfig dra7xx_dispc_sysc = { 391 - .rev_offs = 0x0000, 392 - .sysc_offs = 0x0010, 393 - .syss_offs = 0x0014, 394 - .sysc_flags = (SYSC_HAS_AUTOIDLE | SYSC_HAS_CLOCKACTIVITY | 395 - SYSC_HAS_ENAWAKEUP | SYSC_HAS_MIDLEMODE | 396 - SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET | 397 - SYSS_HAS_RESET_STATUS), 398 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | 399 - MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART), 400 - .sysc_fields = &omap_hwmod_sysc_type1, 401 - }; 402 - 403 - static struct omap_hwmod_class dra7xx_dispc_hwmod_class = { 404 - .name = "dispc", 405 - .sysc = &dra7xx_dispc_sysc, 406 - }; 407 - 408 - /* dss_dispc */ 409 - /* dss_dispc dev_attr */ 410 - static struct omap_dss_dispc_dev_attr dss_dispc_dev_attr = { 411 - .has_framedonetv_irq = 1, 412 - .manager_count = 4, 413 - }; 414 - 415 - static struct omap_hwmod dra7xx_dss_dispc_hwmod = { 416 - .name = "dss_dispc", 417 - .class = &dra7xx_dispc_hwmod_class, 418 - .clkdm_name = "dss_clkdm", 419 - .main_clk = "dss_dss_clk", 420 - .prcm = { 421 - .omap4 = { 422 - .clkctrl_offs = DRA7XX_CM_DSS_DSS_CLKCTRL_OFFSET, 423 - .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT, 424 - }, 425 - }, 426 - .dev_attr = &dss_dispc_dev_attr, 427 - .parent_hwmod = &dra7xx_dss_hwmod, 428 - }; 429 - 430 - /* 431 - * 'hdmi' class 432 - * hdmi controller 433 - */ 434 - 435 - static struct omap_hwmod_class_sysconfig dra7xx_hdmi_sysc = { 436 - .rev_offs = 0x0000, 437 - .sysc_offs = 0x0010, 438 - .sysc_flags = (SYSC_HAS_RESET_STATUS | SYSC_HAS_SIDLEMODE | 439 - SYSC_HAS_SOFTRESET), 440 - .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | 441 - SIDLE_SMART_WKUP), 442 - .sysc_fields = &omap_hwmod_sysc_type2, 443 - }; 444 - 445 - static struct omap_hwmod_class dra7xx_hdmi_hwmod_class = { 446 - .name = "hdmi", 447 - .sysc = &dra7xx_hdmi_sysc, 448 - }; 449 - 450 - /* dss_hdmi */ 451 - 452 - static struct omap_hwmod_opt_clk dss_hdmi_opt_clks[] = { 453 - { .role = "sys_clk", .clk = "dss_hdmi_clk" }, 454 - }; 455 - 456 - static struct omap_hwmod dra7xx_dss_hdmi_hwmod = { 457 - .name = "dss_hdmi", 458 - .class = &dra7xx_hdmi_hwmod_class, 459 - .clkdm_name = "dss_clkdm", 460 - .main_clk = "dss_48mhz_clk", 461 - .prcm = { 462 - .omap4 = { 463 - .clkctrl_offs = DRA7XX_CM_DSS_DSS_CLKCTRL_OFFSET, 464 - .flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT, 465 - }, 466 - }, 467 - .opt_clks = dss_hdmi_opt_clks, 468 - .opt_clks_cnt = ARRAY_SIZE(dss_hdmi_opt_clks), 469 - .parent_hwmod = &dra7xx_dss_hwmod, 470 - }; 471 - 472 - 473 - 474 - 475 - 476 - /* 477 280 * 'gpmc' class 478 281 * 479 282 */ ··· 880 1077 .user = OCP_USER_MPU | OCP_USER_SDMA, 881 1078 }; 882 1079 883 - /* l3_main_1 -> tpcc */ 884 - static struct omap_hwmod_ocp_if dra7xx_l3_main_1__tpcc = { 885 - .master = &dra7xx_l3_main_1_hwmod, 886 - .slave = &dra7xx_tpcc_hwmod, 887 - .clk = "l3_iclk_div", 888 - .user = OCP_USER_MPU, 889 - }; 890 - 891 - /* l3_main_1 -> tptc0 */ 892 - static struct omap_hwmod_ocp_if dra7xx_l3_main_1__tptc0 = { 893 - .master = &dra7xx_l3_main_1_hwmod, 894 - .slave = &dra7xx_tptc0_hwmod, 895 - .clk = "l3_iclk_div", 896 - .user = OCP_USER_MPU, 897 - }; 898 - 899 - /* l3_main_1 -> tptc1 */ 900 - static struct omap_hwmod_ocp_if dra7xx_l3_main_1__tptc1 = { 901 - .master = &dra7xx_l3_main_1_hwmod, 902 - .slave = &dra7xx_tptc1_hwmod, 903 - .clk = "l3_iclk_div", 904 - .user = OCP_USER_MPU, 905 - }; 906 - 907 - /* l3_main_1 -> dss */ 908 - static struct omap_hwmod_ocp_if dra7xx_l3_main_1__dss = { 909 - .master = &dra7xx_l3_main_1_hwmod, 910 - .slave = &dra7xx_dss_hwmod, 911 - .clk = "l3_iclk_div", 912 - .user = OCP_USER_MPU | OCP_USER_SDMA, 913 - }; 914 - 915 - /* l3_main_1 -> dispc */ 916 - static struct omap_hwmod_ocp_if dra7xx_l3_main_1__dispc = { 917 - .master = &dra7xx_l3_main_1_hwmod, 918 - .slave = &dra7xx_dss_dispc_hwmod, 919 - .clk = "l3_iclk_div", 920 - .user = OCP_USER_MPU | OCP_USER_SDMA, 921 - }; 922 - 923 - /* l3_main_1 -> dispc */ 924 - static struct omap_hwmod_ocp_if dra7xx_l3_main_1__hdmi = { 925 - .master = &dra7xx_l3_main_1_hwmod, 926 - .slave = &dra7xx_dss_hdmi_hwmod, 927 - .clk = "l3_iclk_div", 928 - .user = OCP_USER_MPU | OCP_USER_SDMA, 929 - }; 930 - 931 1080 /* l3_main_1 -> gpmc */ 932 1081 static struct omap_hwmod_ocp_if dra7xx_l3_main_1__gpmc = { 933 1082 .master = &dra7xx_l3_main_1_hwmod, ··· 1064 1309 &dra7xx_l3_main_1__bb2d, 1065 1310 &dra7xx_l4_wkup__counter_32k, 1066 1311 &dra7xx_l4_wkup__ctrl_module_wkup, 1067 - &dra7xx_l3_main_1__tpcc, 1068 - &dra7xx_l3_main_1__tptc0, 1069 - &dra7xx_l3_main_1__tptc1, 1070 - &dra7xx_l3_main_1__dss, 1071 - &dra7xx_l3_main_1__dispc, 1072 - &dra7xx_l3_main_1__hdmi, 1073 1312 &dra7xx_l3_main_1__gpmc, 1074 1313 &dra7xx_l4_cfg__mpu, 1075 1314 &dra7xx_l3_main_1__pciess1,
-231
arch/arm/mach-omap2/omap_hwmod_81xx_data.c
··· 129 129 .flags = HWMOD_NO_IDLEST, 130 130 }; 131 131 132 - static struct omap_hwmod dm81xx_alwon_l3_fast_hwmod = { 133 - .name = "l3_fast", 134 - .clkdm_name = "alwon_l3_fast_clkdm", 135 - .class = &l3_hwmod_class, 136 - .flags = HWMOD_NO_IDLEST, 137 - }; 138 - 139 132 /* 140 133 * L4 standard peripherals, see TRM table 1-12 for devices using this. 141 134 * See TRM table 1-73 for devices using the 125MHz SYSCLK6 clock. ··· 860 867 .user = OCP_USER_MPU, 861 868 }; 862 869 863 - /* CPSW on dm814x */ 864 - static struct omap_hwmod_class_sysconfig dm814x_cpgmac_sysc = { 865 - .rev_offs = 0x0, 866 - .sysc_offs = 0x8, 867 - .syss_offs = 0x4, 868 - .sysc_flags = SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE | 869 - SYSS_HAS_RESET_STATUS, 870 - .idlemodes = SIDLE_FORCE | SIDLE_NO | MSTANDBY_FORCE | 871 - MSTANDBY_NO, 872 - .sysc_fields = &omap_hwmod_sysc_type3, 873 - }; 874 - 875 - static struct omap_hwmod_class dm814x_cpgmac0_hwmod_class = { 876 - .name = "cpgmac0", 877 - .sysc = &dm814x_cpgmac_sysc, 878 - }; 879 - 880 - static struct omap_hwmod dm814x_cpgmac0_hwmod = { 881 - .name = "cpgmac0", 882 - .class = &dm814x_cpgmac0_hwmod_class, 883 - .clkdm_name = "alwon_ethernet_clkdm", 884 - .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY, 885 - .main_clk = "cpsw_125mhz_gclk", 886 - .prcm = { 887 - .omap4 = { 888 - .clkctrl_offs = DM81XX_CM_ALWON_ETHERNET_0_CLKCTRL, 889 - .modulemode = MODULEMODE_SWCTRL, 890 - }, 891 - }, 892 - }; 893 - 894 - static struct omap_hwmod_class dm814x_mdio_hwmod_class = { 895 - .name = "davinci_mdio", 896 - }; 897 - 898 - static struct omap_hwmod dm814x_mdio_hwmod = { 899 - .name = "davinci_mdio", 900 - .class = &dm814x_mdio_hwmod_class, 901 - .clkdm_name = "alwon_ethernet_clkdm", 902 - .main_clk = "cpsw_125mhz_gclk", 903 - }; 904 - 905 - static struct omap_hwmod_ocp_if dm814x_l4_hs__cpgmac0 = { 906 - .master = &dm81xx_l4_hs_hwmod, 907 - .slave = &dm814x_cpgmac0_hwmod, 908 - .clk = "cpsw_125mhz_gclk", 909 - .user = OCP_USER_MPU, 910 - }; 911 - 912 - static struct omap_hwmod_ocp_if dm814x_cpgmac0__mdio = { 913 - .master = &dm814x_cpgmac0_hwmod, 914 - .slave = &dm814x_mdio_hwmod, 915 - .user = OCP_USER_MPU, 916 - .flags = HWMOD_NO_IDLEST, 917 - }; 918 - 919 870 /* EMAC Ethernet */ 920 871 static struct omap_hwmod_class_sysconfig dm816x_emac_sysc = { 921 872 .rev_offs = 0x0, ··· 1258 1321 .user = OCP_USER_MPU, 1259 1322 }; 1260 1323 1261 - static struct omap_hwmod_class dm81xx_tpcc_hwmod_class = { 1262 - .name = "tpcc", 1263 - }; 1264 - 1265 - static struct omap_hwmod dm81xx_tpcc_hwmod = { 1266 - .name = "tpcc", 1267 - .class = &dm81xx_tpcc_hwmod_class, 1268 - .clkdm_name = "alwon_l3s_clkdm", 1269 - .main_clk = "sysclk4_ck", 1270 - .prcm = { 1271 - .omap4 = { 1272 - .clkctrl_offs = DM81XX_CM_ALWON_TPCC_CLKCTRL, 1273 - .modulemode = MODULEMODE_SWCTRL, 1274 - }, 1275 - }, 1276 - }; 1277 - 1278 - static struct omap_hwmod_ocp_if dm81xx_alwon_l3_fast__tpcc = { 1279 - .master = &dm81xx_alwon_l3_fast_hwmod, 1280 - .slave = &dm81xx_tpcc_hwmod, 1281 - .clk = "sysclk4_ck", 1282 - .user = OCP_USER_MPU, 1283 - }; 1284 - 1285 - static struct omap_hwmod_class dm81xx_tptc0_hwmod_class = { 1286 - .name = "tptc0", 1287 - }; 1288 - 1289 - static struct omap_hwmod dm81xx_tptc0_hwmod = { 1290 - .name = "tptc0", 1291 - .class = &dm81xx_tptc0_hwmod_class, 1292 - .clkdm_name = "alwon_l3s_clkdm", 1293 - .main_clk = "sysclk4_ck", 1294 - .prcm = { 1295 - .omap4 = { 1296 - .clkctrl_offs = DM81XX_CM_ALWON_TPTC0_CLKCTRL, 1297 - .modulemode = MODULEMODE_SWCTRL, 1298 - }, 1299 - }, 1300 - }; 1301 - 1302 - static struct omap_hwmod_ocp_if dm81xx_alwon_l3_fast__tptc0 = { 1303 - .master = &dm81xx_alwon_l3_fast_hwmod, 1304 - .slave = &dm81xx_tptc0_hwmod, 1305 - .clk = "sysclk4_ck", 1306 - .user = OCP_USER_MPU, 1307 - }; 1308 - 1309 - static struct omap_hwmod_ocp_if dm81xx_tptc0__alwon_l3_fast = { 1310 - .master = &dm81xx_tptc0_hwmod, 1311 - .slave = &dm81xx_alwon_l3_fast_hwmod, 1312 - .clk = "sysclk4_ck", 1313 - .user = OCP_USER_MPU, 1314 - }; 1315 - 1316 - static struct omap_hwmod_class dm81xx_tptc1_hwmod_class = { 1317 - .name = "tptc1", 1318 - }; 1319 - 1320 - static struct omap_hwmod dm81xx_tptc1_hwmod = { 1321 - .name = "tptc1", 1322 - .class = &dm81xx_tptc1_hwmod_class, 1323 - .clkdm_name = "alwon_l3s_clkdm", 1324 - .main_clk = "sysclk4_ck", 1325 - .prcm = { 1326 - .omap4 = { 1327 - .clkctrl_offs = DM81XX_CM_ALWON_TPTC1_CLKCTRL, 1328 - .modulemode = MODULEMODE_SWCTRL, 1329 - }, 1330 - }, 1331 - }; 1332 - 1333 - static struct omap_hwmod_ocp_if dm81xx_alwon_l3_fast__tptc1 = { 1334 - .master = &dm81xx_alwon_l3_fast_hwmod, 1335 - .slave = &dm81xx_tptc1_hwmod, 1336 - .clk = "sysclk4_ck", 1337 - .user = OCP_USER_MPU, 1338 - }; 1339 - 1340 - static struct omap_hwmod_ocp_if dm81xx_tptc1__alwon_l3_fast = { 1341 - .master = &dm81xx_tptc1_hwmod, 1342 - .slave = &dm81xx_alwon_l3_fast_hwmod, 1343 - .clk = "sysclk4_ck", 1344 - .user = OCP_USER_MPU, 1345 - }; 1346 - 1347 - static struct omap_hwmod_class dm81xx_tptc2_hwmod_class = { 1348 - .name = "tptc2", 1349 - }; 1350 - 1351 - static struct omap_hwmod dm81xx_tptc2_hwmod = { 1352 - .name = "tptc2", 1353 - .class = &dm81xx_tptc2_hwmod_class, 1354 - .clkdm_name = "alwon_l3s_clkdm", 1355 - .main_clk = "sysclk4_ck", 1356 - .prcm = { 1357 - .omap4 = { 1358 - .clkctrl_offs = DM81XX_CM_ALWON_TPTC2_CLKCTRL, 1359 - .modulemode = MODULEMODE_SWCTRL, 1360 - }, 1361 - }, 1362 - }; 1363 - 1364 - static struct omap_hwmod_ocp_if dm81xx_alwon_l3_fast__tptc2 = { 1365 - .master = &dm81xx_alwon_l3_fast_hwmod, 1366 - .slave = &dm81xx_tptc2_hwmod, 1367 - .clk = "sysclk4_ck", 1368 - .user = OCP_USER_MPU, 1369 - }; 1370 - 1371 - static struct omap_hwmod_ocp_if dm81xx_tptc2__alwon_l3_fast = { 1372 - .master = &dm81xx_tptc2_hwmod, 1373 - .slave = &dm81xx_alwon_l3_fast_hwmod, 1374 - .clk = "sysclk4_ck", 1375 - .user = OCP_USER_MPU, 1376 - }; 1377 - 1378 - static struct omap_hwmod_class dm81xx_tptc3_hwmod_class = { 1379 - .name = "tptc3", 1380 - }; 1381 - 1382 - static struct omap_hwmod dm81xx_tptc3_hwmod = { 1383 - .name = "tptc3", 1384 - .class = &dm81xx_tptc3_hwmod_class, 1385 - .clkdm_name = "alwon_l3s_clkdm", 1386 - .main_clk = "sysclk4_ck", 1387 - .prcm = { 1388 - .omap4 = { 1389 - .clkctrl_offs = DM81XX_CM_ALWON_TPTC3_CLKCTRL, 1390 - .modulemode = MODULEMODE_SWCTRL, 1391 - }, 1392 - }, 1393 - }; 1394 - 1395 - static struct omap_hwmod_ocp_if dm81xx_alwon_l3_fast__tptc3 = { 1396 - .master = &dm81xx_alwon_l3_fast_hwmod, 1397 - .slave = &dm81xx_tptc3_hwmod, 1398 - .clk = "sysclk4_ck", 1399 - .user = OCP_USER_MPU, 1400 - }; 1401 - 1402 - static struct omap_hwmod_ocp_if dm81xx_tptc3__alwon_l3_fast = { 1403 - .master = &dm81xx_tptc3_hwmod, 1404 - .slave = &dm81xx_alwon_l3_fast_hwmod, 1405 - .clk = "sysclk4_ck", 1406 - .user = OCP_USER_MPU, 1407 - }; 1408 - 1409 1324 /* 1410 1325 * REVISIT: Test and enable the following once clocks work: 1411 1326 * dm81xx_l4_ls__mailbox ··· 1288 1499 &dm814x_l4_ls__mmc1, 1289 1500 &dm814x_l4_ls__mmc2, 1290 1501 &ti81xx_l4_ls__rtc, 1291 - &dm81xx_alwon_l3_fast__tpcc, 1292 - &dm81xx_alwon_l3_fast__tptc0, 1293 - &dm81xx_alwon_l3_fast__tptc1, 1294 - &dm81xx_alwon_l3_fast__tptc2, 1295 - &dm81xx_alwon_l3_fast__tptc3, 1296 - &dm81xx_tptc0__alwon_l3_fast, 1297 - &dm81xx_tptc1__alwon_l3_fast, 1298 - &dm81xx_tptc2__alwon_l3_fast, 1299 - &dm81xx_tptc3__alwon_l3_fast, 1300 1502 &dm814x_l4_ls__timer1, 1301 1503 &dm814x_l4_ls__timer2, 1302 - &dm814x_l4_hs__cpgmac0, 1303 - &dm814x_cpgmac0__mdio, 1304 1504 &dm81xx_alwon_l3_slow__gpmc, 1305 1505 &dm814x_default_l3_slow__usbss, 1306 1506 &dm814x_alwon_l3_med__mmc3, ··· 1332 1554 &dm81xx_emac0__mdio, 1333 1555 &dm816x_l4_hs__emac1, 1334 1556 &dm81xx_l4_hs__sata, 1335 - &dm81xx_alwon_l3_fast__tpcc, 1336 - &dm81xx_alwon_l3_fast__tptc0, 1337 - &dm81xx_alwon_l3_fast__tptc1, 1338 - &dm81xx_alwon_l3_fast__tptc2, 1339 - &dm81xx_alwon_l3_fast__tptc3, 1340 - &dm81xx_tptc0__alwon_l3_fast, 1341 - &dm81xx_tptc1__alwon_l3_fast, 1342 - &dm81xx_tptc2__alwon_l3_fast, 1343 - &dm81xx_tptc3__alwon_l3_fast, 1344 1557 &dm81xx_alwon_l3_slow__gpmc, 1345 1558 &dm816x_default_l3_slow__usbss, 1346 1559 NULL,
+3
arch/arm64/boot/dts/allwinner/Makefile
··· 9 9 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-lts.dtb 10 10 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb 11 11 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinebook.dtb 12 + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.0.dtb 13 + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinephone-1.1.dtb 14 + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab.dtb 12 15 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb 13 16 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb 14 17 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus.dtb
+17
arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
··· 158 158 */ 159 159 }; 160 160 161 + &pio { 162 + vcc-pa-supply = <&reg_dcdc1>; 163 + vcc-pb-supply = <&reg_dcdc1>; 164 + vcc-pc-supply = <&reg_dcdc1>; 165 + vcc-pd-supply = <&reg_dcdc1>; 166 + vcc-pe-supply = <&reg_aldo1>; 167 + vcc-pf-supply = <&reg_dcdc1>; 168 + vcc-pg-supply = <&reg_dldo4>; 169 + vcc-ph-supply = <&reg_dcdc1>; 170 + }; 171 + 161 172 &r_rsb { 162 173 status = "okay"; 163 174 ··· 180 169 x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */ 181 170 }; 182 171 }; 172 + 173 + /* VCC-PL is powered by aldo2 but we cannot add it as the RSB */ 174 + /* interface used to talk to the PMIC in on the PL pins */ 175 + /* &r_pio { */ 176 + /* vcc-pl-supply = <&reg_aldo2>; */ 177 + /* }; */ 183 178 184 179 #include "axp803.dtsi" 185 180
+111 -59
arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
··· 21 21 ethernet0 = &rtl8723cs; 22 22 }; 23 23 24 - vdd_bl: regulator@0 { 25 - compatible = "regulator-fixed"; 26 - regulator-name = "bl-3v3"; 27 - regulator-min-microvolt = <3300000>; 28 - regulator-max-microvolt = <3300000>; 29 - gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */ 30 - enable-active-high; 31 - }; 32 - 33 24 backlight: backlight { 34 25 compatible = "pwm-backlight"; 35 26 pwms = <&pwm 0 50000 0>; 36 27 brightness-levels = <0 5 10 15 20 30 40 55 70 85 100>; 37 28 default-brightness-level = <2>; 38 29 enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */ 39 - power-supply = <&vdd_bl>; 30 + power-supply = <&reg_vbklt>; 40 31 }; 41 32 42 33 chosen { 43 34 stdout-path = "serial0:115200n8"; 44 - 45 - framebuffer-lcd { 46 - panel-supply = <&reg_dc1sw>; 47 - dvdd25-supply = <&reg_dldo2>; 48 - dvdd12-supply = <&reg_fldo1>; 49 - }; 50 35 }; 51 36 52 37 gpio_keys { ··· 48 63 }; 49 64 }; 50 65 51 - reg_vcc3v3: vcc3v3 { 66 + panel_edp: panel-edp { 67 + compatible = "neweast,wjfh116008a"; 68 + backlight = <&backlight>; 69 + power-supply = <&reg_dc1sw>; 70 + 71 + port { 72 + panel_edp_in: endpoint { 73 + remote-endpoint = <&anx6345_out_edp>; 74 + }; 75 + }; 76 + }; 77 + 78 + reg_vbklt: vbklt { 52 79 compatible = "regulator-fixed"; 53 - regulator-name = "vcc3v3"; 54 - regulator-min-microvolt = <3300000>; 55 - regulator-max-microvolt = <3300000>; 80 + regulator-name = "vbklt"; 81 + regulator-min-microvolt = <18000000>; 82 + regulator-max-microvolt = <18000000>; 83 + gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */ 84 + enable-active-high; 85 + }; 86 + 87 + reg_vcc5v0: vcc5v0 { 88 + compatible = "regulator-fixed"; 89 + regulator-name = "vcc5v0"; 90 + regulator-min-microvolt = <5000000>; 91 + regulator-max-microvolt = <5000000>; 92 + gpio = <&axp_gpio 0 GPIO_ACTIVE_HIGH>; 93 + enable-active-high; 56 94 }; 57 95 58 96 wifi_pwrseq: wifi_pwrseq { ··· 85 77 86 78 speaker_amp: audio-amplifier { 87 79 compatible = "simple-audio-amplifier"; 88 - /* 89 - * TODO This is actually a fixed regulator controlled by 90 - * the GPIO line on the PMIC. This should be corrected 91 - * once GPIO support is added for this PMIC. 92 - */ 93 - VCC-supply = <&reg_ldo_io0>; 80 + VCC-supply = <&reg_vcc5v0>; 94 81 enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ 95 82 sound-name-prefix = "Speaker Amp"; 96 83 }; ··· 121 118 status = "okay"; 122 119 }; 123 120 121 + &de { 122 + status = "okay"; 123 + }; 124 + 124 125 &ehci0 { 125 126 phys = <&usbphy 0>; 126 127 phy-names = "usb"; ··· 135 128 status = "okay"; 136 129 }; 137 130 131 + &mixer0 { 132 + status = "okay"; 133 + }; 134 + 138 135 &mmc0 { 139 136 pinctrl-names = "default"; 140 137 pinctrl-0 = <&mmc0_pins>; 141 138 vmmc-supply = <&reg_dcdc1>; 142 - cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 139 + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 143 140 disable-wp; 144 141 bus-width = <4>; 145 142 status = "okay"; ··· 186 175 status = "okay"; 187 176 }; 188 177 178 + &pio { 179 + vcc-pc-supply = <&reg_eldo1>; 180 + vcc-pd-supply = <&reg_dcdc1>; 181 + vcc-pe-supply = <&reg_aldo1>; 182 + vcc-pg-supply = <&reg_eldo1>; 183 + }; 184 + 189 185 &pwm { 190 186 status = "okay"; 187 + }; 188 + 189 + &r_i2c { 190 + clock-frequency = <100000>; 191 + pinctrl-names = "default"; 192 + pinctrl-0 = <&r_i2c_pl89_pins>; 193 + status = "okay"; 194 + 195 + anx6345: anx6345@38 { 196 + compatible = "analogix,anx6345"; 197 + reg = <0x38>; 198 + reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */ 199 + dvdd25-supply = <&reg_dldo2>; 200 + dvdd12-supply = <&reg_fldo1>; 201 + 202 + ports { 203 + #address-cells = <1>; 204 + #size-cells = <0>; 205 + 206 + anx6345_in: port@0 { 207 + reg = <0>; 208 + anx6345_in_tcon0: endpoint { 209 + remote-endpoint = <&tcon0_out_anx6345>; 210 + }; 211 + }; 212 + 213 + anx6345_out: port@1 { 214 + reg = <1>; 215 + anx6345_out_edp: endpoint { 216 + remote-endpoint = <&panel_edp_in>; 217 + }; 218 + }; 219 + }; 220 + }; 221 + }; 222 + 223 + &r_pio { 224 + /* 225 + * FIXME: We can't add that supply for now since it would 226 + * create a circular dependency between pinctrl, the regulator 227 + * and the RSB Bus. 228 + * 229 + * vcc-pl-supply = <&reg_aldo2>; 230 + */ 191 231 }; 192 232 193 233 &r_rsb { ··· 252 190 }; 253 191 }; 254 192 255 - /* The ANX6345 eDP-bridge is on r_i2c */ 256 - &r_i2c { 257 - clock-frequency = <100000>; 258 - pinctrl-names = "default"; 259 - pinctrl-0 = <&r_i2c_pl89_pins>; 260 - status = "okay"; 261 - }; 262 - 263 193 #include "axp803.dtsi" 264 194 265 195 &ac_power_supply { ··· 263 209 }; 264 210 265 211 &reg_aldo1 { 266 - regulator-min-microvolt = <2800000>; 267 - regulator-max-microvolt = <2800000>; 268 - regulator-name = "vcc-csi"; 212 + regulator-name = "vcc-pe"; 269 213 }; 270 214 271 215 &reg_aldo2 { ··· 326 274 regulator-name = "vcc-edp"; 327 275 }; 328 276 329 - &reg_dldo3 { 330 - regulator-min-microvolt = <3300000>; 331 - regulator-max-microvolt = <3300000>; 332 - regulator-name = "avdd-csi"; 333 - }; 334 - 335 277 &reg_dldo4 { 336 278 regulator-min-microvolt = <3300000>; 337 279 regulator-max-microvolt = <3300000>; ··· 337 291 regulator-min-microvolt = <1800000>; 338 292 regulator-max-microvolt = <1800000>; 339 293 regulator-name = "cpvdd"; 340 - }; 341 - 342 - &reg_eldo3 { 343 - regulator-min-microvolt = <1800000>; 344 - regulator-max-microvolt = <1800000>; 345 - regulator-name = "vdd-1v8-csi"; 346 294 }; 347 295 348 296 &reg_fldo1 { ··· 352 312 regulator-name = "vdd-cpus"; 353 313 }; 354 314 355 - &reg_ldo_io0 { 356 - regulator-min-microvolt = <3300000>; 357 - regulator-max-microvolt = <3300000>; 358 - regulator-name = "vcc-usb"; 359 - status = "okay"; 360 - }; 361 - 362 315 &reg_rtc_ldo { 363 316 regulator-name = "vcc-rtc"; 317 + }; 318 + 319 + &simplefb_lcd { 320 + panel-supply = <&reg_dc1sw>; 321 + dvdd25-supply = <&reg_dldo2>; 322 + dvdd12-supply = <&reg_fldo1>; 364 323 }; 365 324 366 325 &simplefb_hdmi { ··· 389 350 "MIC2", "Internal Microphone Right"; 390 351 }; 391 352 353 + &tcon0 { 354 + pinctrl-names = "default"; 355 + pinctrl-0 = <&lcd_rgb666_pins>; 356 + 357 + status = "okay"; 358 + }; 359 + 360 + &tcon0_out { 361 + tcon0_out_anx6345: endpoint { 362 + remote-endpoint = <&anx6345_in_tcon0>; 363 + }; 364 + }; 365 + 392 366 &uart0 { 393 367 pinctrl-names = "default"; 394 368 pinctrl-0 = <&uart0_pb_pins>; ··· 413 361 }; 414 362 415 363 &usbphy { 416 - usb0_vbus-supply = <&reg_ldo_io0>; 417 - usb1_vbus-supply = <&reg_ldo_io0>; 364 + usb0_vbus-supply = <&reg_vcc5v0>; 365 + usb1_vbus-supply = <&reg_vcc5v0>; 418 366 status = "okay"; 419 367 };
+11
arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.0.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + // Copyright (C) 2020 Ondrej Jirman <megous@megous.com> 3 + 4 + /dts-v1/; 5 + 6 + #include "sun50i-a64-pinephone.dtsi" 7 + 8 + / { 9 + model = "Pine64 PinePhone Developer Batch (1.0)"; 10 + compatible = "pine64,pinephone-1.0", "allwinner,sun50i-a64"; 11 + };
+11
arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone-1.1.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + // Copyright (C) 2020 Ondrej Jirman <megous@megous.com> 3 + 4 + /dts-v1/; 5 + 6 + #include "sun50i-a64-pinephone.dtsi" 7 + 8 + / { 9 + model = "Pine64 PinePhone Braveheart (1.1)"; 10 + compatible = "pine64,pinephone-1.1", "allwinner,sun50i-a64"; 11 + };
+379
arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + // Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.xyz> 3 + // Copyright (C) 2020 Martijn Braam <martijn@brixit.nl> 4 + // Copyright (C) 2020 Ondrej Jirman <megous@megous.com> 5 + 6 + #include "sun50i-a64.dtsi" 7 + #include "sun50i-a64-cpu-opp.dtsi" 8 + 9 + #include <dt-bindings/gpio/gpio.h> 10 + #include <dt-bindings/input/input.h> 11 + #include <dt-bindings/leds/common.h> 12 + #include <dt-bindings/pwm/pwm.h> 13 + 14 + / { 15 + aliases { 16 + serial0 = &uart0; 17 + }; 18 + 19 + chosen { 20 + stdout-path = "serial0:115200n8"; 21 + }; 22 + 23 + leds { 24 + compatible = "gpio-leds"; 25 + 26 + blue { 27 + function = LED_FUNCTION_INDICATOR; 28 + color = <LED_COLOR_ID_BLUE>; 29 + gpios = <&pio 3 20 GPIO_ACTIVE_HIGH>; /* PD20 */ 30 + }; 31 + 32 + green { 33 + function = LED_FUNCTION_INDICATOR; 34 + color = <LED_COLOR_ID_GREEN>; 35 + gpios = <&pio 3 18 GPIO_ACTIVE_HIGH>; /* PD18 */ 36 + }; 37 + 38 + red { 39 + function = LED_FUNCTION_INDICATOR; 40 + color = <LED_COLOR_ID_RED>; 41 + gpios = <&pio 3 19 GPIO_ACTIVE_HIGH>; /* PD19 */ 42 + }; 43 + }; 44 + 45 + speaker_amp: audio-amplifier { 46 + compatible = "simple-audio-amplifier"; 47 + enable-gpios = <&pio 2 7 GPIO_ACTIVE_HIGH>; /* PC7 */ 48 + sound-name-prefix = "Speaker Amp"; 49 + }; 50 + 51 + vibrator { 52 + compatible = "gpio-vibrator"; 53 + enable-gpios = <&pio 3 2 GPIO_ACTIVE_HIGH>; /* PD2 */ 54 + vcc-supply = <&reg_dcdc1>; 55 + }; 56 + }; 57 + 58 + &codec { 59 + status = "okay"; 60 + }; 61 + 62 + &codec_analog { 63 + cpvdd-supply = <&reg_eldo1>; 64 + status = "okay"; 65 + }; 66 + 67 + &cpu0 { 68 + cpu-supply = <&reg_dcdc2>; 69 + }; 70 + 71 + &cpu1 { 72 + cpu-supply = <&reg_dcdc2>; 73 + }; 74 + 75 + &cpu2 { 76 + cpu-supply = <&reg_dcdc2>; 77 + }; 78 + 79 + &cpu3 { 80 + cpu-supply = <&reg_dcdc2>; 81 + }; 82 + 83 + &dai { 84 + status = "okay"; 85 + }; 86 + 87 + &ehci0 { 88 + status = "okay"; 89 + }; 90 + 91 + &ehci1 { 92 + status = "okay"; 93 + }; 94 + 95 + &i2c1 { 96 + status = "okay"; 97 + 98 + /* Magnetometer */ 99 + lis3mdl@1e { 100 + compatible = "st,lis3mdl-magn"; 101 + reg = <0x1e>; 102 + vdd-supply = <&reg_dldo1>; 103 + vddio-supply = <&reg_dldo1>; 104 + }; 105 + 106 + /* Accelerometer/gyroscope */ 107 + mpu6050@68 { 108 + compatible = "invensense,mpu6050"; 109 + reg = <0x68>; 110 + interrupt-parent = <&pio>; 111 + interrupts = <7 5 IRQ_TYPE_EDGE_RISING>; /* PH5 */ 112 + vdd-supply = <&reg_dldo1>; 113 + vddio-supply = <&reg_dldo1>; 114 + }; 115 + }; 116 + 117 + /* Connected to pogo pins (external spring based pinheader for user addons) */ 118 + &i2c2 { 119 + status = "okay"; 120 + }; 121 + 122 + &lradc { 123 + vref-supply = <&reg_aldo3>; 124 + status = "okay"; 125 + 126 + button-200 { 127 + label = "Volume Up"; 128 + linux,code = <KEY_VOLUMEUP>; 129 + channel = <0>; 130 + voltage = <200000>; 131 + }; 132 + 133 + button-400 { 134 + label = "Volume Down"; 135 + linux,code = <KEY_VOLUMEDOWN>; 136 + channel = <0>; 137 + voltage = <400000>; 138 + }; 139 + }; 140 + 141 + &mmc0 { 142 + pinctrl-names = "default"; 143 + pinctrl-0 = <&mmc0_pins>; 144 + vmmc-supply = <&reg_dcdc1>; 145 + vqmmc-supply = <&reg_dcdc1>; 146 + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 147 + disable-wp; 148 + bus-width = <4>; 149 + status = "okay"; 150 + }; 151 + 152 + &mmc2 { 153 + pinctrl-names = "default"; 154 + pinctrl-0 = <&mmc2_pins>; 155 + vmmc-supply = <&reg_dcdc1>; 156 + vqmmc-supply = <&reg_dcdc1>; 157 + bus-width = <8>; 158 + non-removable; 159 + cap-mmc-hw-reset; 160 + status = "okay"; 161 + }; 162 + 163 + &ohci0 { 164 + status = "okay"; 165 + }; 166 + 167 + &ohci1 { 168 + status = "okay"; 169 + }; 170 + 171 + &pio { 172 + vcc-pb-supply = <&reg_dcdc1>; 173 + vcc-pc-supply = <&reg_dcdc1>; 174 + vcc-pd-supply = <&reg_dcdc1>; 175 + vcc-pe-supply = <&reg_aldo1>; 176 + vcc-pf-supply = <&reg_dcdc1>; 177 + vcc-pg-supply = <&reg_dldo4>; 178 + vcc-ph-supply = <&reg_dcdc1>; 179 + }; 180 + 181 + &r_pio { 182 + /* 183 + * FIXME: We can't add that supply for now since it would 184 + * create a circular dependency between pinctrl, the regulator 185 + * and the RSB Bus. 186 + * 187 + * vcc-pl-supply = <&reg_aldo2>; 188 + */ 189 + }; 190 + 191 + &r_rsb { 192 + status = "okay"; 193 + 194 + axp803: pmic@3a3 { 195 + compatible = "x-powers,axp803"; 196 + reg = <0x3a3>; 197 + interrupt-parent = <&r_intc>; 198 + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 199 + }; 200 + }; 201 + 202 + #include "axp803.dtsi" 203 + 204 + &ac_power_supply { 205 + status = "okay"; 206 + }; 207 + 208 + &battery_power_supply { 209 + status = "okay"; 210 + }; 211 + 212 + &reg_aldo1 { 213 + regulator-min-microvolt = <1800000>; 214 + regulator-max-microvolt = <1800000>; 215 + regulator-name = "dovdd-csi"; 216 + }; 217 + 218 + &reg_aldo2 { 219 + regulator-always-on; 220 + regulator-min-microvolt = <1800000>; 221 + regulator-max-microvolt = <1800000>; 222 + regulator-name = "vcc-pl"; 223 + }; 224 + 225 + &reg_aldo3 { 226 + regulator-always-on; 227 + regulator-min-microvolt = <2700000>; 228 + regulator-max-microvolt = <3300000>; 229 + regulator-name = "vcc-pll-avcc"; 230 + }; 231 + 232 + &reg_dcdc1 { 233 + regulator-always-on; 234 + regulator-min-microvolt = <3300000>; 235 + regulator-max-microvolt = <3300000>; 236 + regulator-name = "vcc-3v3"; 237 + }; 238 + 239 + &reg_dcdc2 { 240 + regulator-always-on; 241 + regulator-min-microvolt = <1000000>; 242 + regulator-max-microvolt = <1300000>; 243 + regulator-name = "vdd-cpux"; 244 + }; 245 + 246 + /* DCDC3 is polyphased with DCDC2 */ 247 + 248 + &reg_dcdc5 { 249 + regulator-always-on; 250 + regulator-min-microvolt = <1200000>; 251 + regulator-max-microvolt = <1200000>; 252 + regulator-name = "vcc-dram"; 253 + }; 254 + 255 + &reg_dcdc6 { 256 + regulator-always-on; 257 + regulator-min-microvolt = <1100000>; 258 + regulator-max-microvolt = <1100000>; 259 + regulator-name = "vdd-sys"; 260 + }; 261 + 262 + &reg_dldo1 { 263 + regulator-min-microvolt = <3300000>; 264 + regulator-max-microvolt = <3300000>; 265 + regulator-name = "vcc-dsi-sensor"; 266 + }; 267 + 268 + &reg_dldo2 { 269 + regulator-min-microvolt = <1800000>; 270 + regulator-max-microvolt = <1800000>; 271 + regulator-name = "vcc-mipi-io"; 272 + }; 273 + 274 + &reg_dldo3 { 275 + regulator-min-microvolt = <2800000>; 276 + regulator-max-microvolt = <2800000>; 277 + regulator-name = "avdd-csi"; 278 + }; 279 + 280 + &reg_dldo4 { 281 + regulator-min-microvolt = <1800000>; 282 + regulator-max-microvolt = <3300000>; 283 + regulator-name = "vcc-wifi-io"; 284 + }; 285 + 286 + &reg_eldo1 { 287 + regulator-always-on; 288 + regulator-min-microvolt = <1800000>; 289 + regulator-max-microvolt = <1800000>; 290 + regulator-name = "vcc-lpddr"; 291 + }; 292 + 293 + &reg_eldo3 { 294 + regulator-min-microvolt = <1800000>; 295 + regulator-max-microvolt = <1800000>; 296 + regulator-name = "dvdd-1v8-csi"; 297 + }; 298 + 299 + &reg_fldo1 { 300 + regulator-min-microvolt = <1200000>; 301 + regulator-max-microvolt = <1200000>; 302 + regulator-name = "vcc-1v2-hsic"; 303 + }; 304 + 305 + &reg_fldo2 { 306 + regulator-always-on; 307 + regulator-min-microvolt = <1100000>; 308 + regulator-max-microvolt = <1100000>; 309 + regulator-name = "vdd-cpus"; 310 + }; 311 + 312 + &reg_ldo_io0 { 313 + regulator-min-microvolt = <3300000>; 314 + regulator-max-microvolt = <3300000>; 315 + regulator-name = "vcc-lcd-ctp-stk"; 316 + status = "okay"; 317 + }; 318 + 319 + &reg_ldo_io1 { 320 + regulator-min-microvolt = <1800000>; 321 + regulator-max-microvolt = <1800000>; 322 + regulator-name = "vcc-1v8-typec"; 323 + status = "okay"; 324 + }; 325 + 326 + &reg_rtc_ldo { 327 + regulator-name = "vcc-rtc"; 328 + }; 329 + 330 + &sound { 331 + status = "okay"; 332 + simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>; 333 + simple-audio-card,widgets = "Microphone", "Headset Microphone", 334 + "Microphone", "Internal Microphone", 335 + "Headphone", "Headphone Jack", 336 + "Speaker", "Internal Earpiece", 337 + "Speaker", "Internal Speaker"; 338 + simple-audio-card,routing = 339 + "Headphone Jack", "HP", 340 + "Internal Earpiece", "EARPIECE", 341 + "Internal Speaker", "Speaker Amp OUTL", 342 + "Internal Speaker", "Speaker Amp OUTR", 343 + "Speaker Amp INL", "LINEOUT", 344 + "Speaker Amp INR", "LINEOUT", 345 + "Left DAC", "AIF1 Slot 0 Left", 346 + "Right DAC", "AIF1 Slot 0 Right", 347 + "AIF1 Slot 0 Left ADC", "Left ADC", 348 + "AIF1 Slot 0 Right ADC", "Right ADC", 349 + "Internal Microphone", "MBIAS", 350 + "MIC1", "Internal Microphone", 351 + "Headset Microphone", "HBIAS", 352 + "MIC2", "Headset Microphone"; 353 + }; 354 + 355 + &uart0 { 356 + pinctrl-names = "default"; 357 + pinctrl-0 = <&uart0_pb_pins>; 358 + status = "okay"; 359 + }; 360 + 361 + /* Connected to the modem (hardware flow control can't be used) */ 362 + &uart3 { 363 + pinctrl-names = "default"; 364 + pinctrl-0 = <&uart3_pins>; 365 + status = "okay"; 366 + }; 367 + 368 + &usb_otg { 369 + dr_mode = "peripheral"; 370 + status = "okay"; 371 + }; 372 + 373 + &usb_power_supply { 374 + status = "okay"; 375 + }; 376 + 377 + &usbphy { 378 + status = "okay"; 379 + };
+460
arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.xyz> 4 + * 5 + */ 6 + 7 + /dts-v1/; 8 + 9 + #include "sun50i-a64.dtsi" 10 + #include "sun50i-a64-cpu-opp.dtsi" 11 + 12 + #include <dt-bindings/gpio/gpio.h> 13 + #include <dt-bindings/input/input.h> 14 + #include <dt-bindings/pwm/pwm.h> 15 + 16 + / { 17 + model = "PineTab"; 18 + compatible = "pine64,pinetab", "allwinner,sun50i-a64"; 19 + 20 + aliases { 21 + serial0 = &uart0; 22 + ethernet0 = &rtl8723cs; 23 + }; 24 + 25 + backlight: backlight { 26 + compatible = "pwm-backlight"; 27 + pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>; 28 + brightness-levels = <0 16 18 20 22 24 26 29 32 35 38 42 46 51 56 62 68 75 83 91 100>; 29 + default-brightness-level = <15>; 30 + enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */ 31 + power-supply = <&vdd_bl>; 32 + }; 33 + 34 + chosen { 35 + stdout-path = "serial0:115200n8"; 36 + }; 37 + 38 + i2c-csi { 39 + compatible = "i2c-gpio"; 40 + sda-gpios = <&pio 4 13 GPIO_ACTIVE_HIGH>; /* PE13 */ 41 + scl-gpios = <&pio 4 12 GPIO_ACTIVE_HIGH>; /* PE12 */ 42 + i2c-gpio,delay-us = <5>; 43 + #address-cells = <1>; 44 + #size-cells = <0>; 45 + 46 + /* Rear camera */ 47 + ov5640: camera@3c { 48 + compatible = "ovti,ov5640"; 49 + reg = <0x3c>; 50 + pinctrl-names = "default"; 51 + pinctrl-0 = <&csi_mclk_pin>; 52 + clocks = <&ccu CLK_CSI_MCLK>; 53 + clock-names = "xclk"; 54 + 55 + AVDD-supply = <&reg_dldo3>; 56 + DOVDD-supply = <&reg_aldo1>; 57 + DVDD-supply = <&reg_eldo3>; 58 + reset-gpios = <&pio 4 14 GPIO_ACTIVE_LOW>; /* PE14 */ 59 + powerdown-gpios = <&pio 4 15 GPIO_ACTIVE_HIGH>; /* PE15 */ 60 + 61 + port { 62 + ov5640_ep: endpoint { 63 + remote-endpoint = <&csi_ep>; 64 + bus-width = <8>; 65 + hsync-active = <1>; /* Active high */ 66 + vsync-active = <0>; /* Active low */ 67 + data-active = <1>; /* Active high */ 68 + pclk-sample = <1>; /* Rising */ 69 + }; 70 + }; 71 + }; 72 + }; 73 + 74 + speaker_amp: audio-amplifier { 75 + compatible = "simple-audio-amplifier"; 76 + enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ 77 + sound-name-prefix = "Speaker Amp"; 78 + }; 79 + 80 + vdd_bl: regulator@0 { 81 + compatible = "regulator-fixed"; 82 + regulator-name = "bl-3v3"; 83 + regulator-min-microvolt = <3300000>; 84 + regulator-max-microvolt = <3300000>; 85 + gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */ 86 + enable-active-high; 87 + }; 88 + 89 + wifi_pwrseq: wifi_pwrseq { 90 + compatible = "mmc-pwrseq-simple"; 91 + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ 92 + post-power-on-delay-ms = <200>; 93 + }; 94 + }; 95 + 96 + &codec { 97 + status = "okay"; 98 + }; 99 + 100 + &codec_analog { 101 + hpvcc-supply = <&reg_eldo1>; 102 + status = "okay"; 103 + }; 104 + 105 + &cpu0 { 106 + cpu-supply = <&reg_dcdc2>; 107 + }; 108 + 109 + &cpu1 { 110 + cpu-supply = <&reg_dcdc2>; 111 + }; 112 + 113 + &cpu2 { 114 + cpu-supply = <&reg_dcdc2>; 115 + }; 116 + 117 + &cpu3 { 118 + cpu-supply = <&reg_dcdc2>; 119 + }; 120 + 121 + &csi { 122 + status = "okay"; 123 + 124 + port { 125 + #address-cells = <1>; 126 + #size-cells = <0>; 127 + 128 + csi_ep: endpoint { 129 + remote-endpoint = <&ov5640_ep>; 130 + bus-width = <8>; 131 + hsync-active = <1>; /* Active high */ 132 + vsync-active = <0>; /* Active low */ 133 + data-active = <1>; /* Active high */ 134 + pclk-sample = <1>; /* Rising */ 135 + }; 136 + }; 137 + }; 138 + 139 + &dai { 140 + status = "okay"; 141 + }; 142 + 143 + &de { 144 + status = "okay"; 145 + }; 146 + 147 + &dphy { 148 + status = "okay"; 149 + }; 150 + 151 + &dsi { 152 + vcc-dsi-supply = <&reg_dldo1>; 153 + status = "okay"; 154 + 155 + panel@0 { 156 + compatible = "feixin,k101-im2ba02"; 157 + reg = <0>; 158 + avdd-supply = <&reg_dc1sw>; 159 + dvdd-supply = <&reg_dc1sw>; 160 + cvdd-supply = <&reg_ldo_io1>; 161 + reset-gpios = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */ 162 + backlight = <&backlight>; 163 + }; 164 + }; 165 + 166 + &ehci0 { 167 + status = "okay"; 168 + }; 169 + 170 + &ehci1 { 171 + status = "okay"; 172 + }; 173 + 174 + &i2c0 { 175 + status = "okay"; 176 + 177 + touchscreen@5d { 178 + compatible = "goodix,gt9271"; 179 + reg = <0x5d>; 180 + interrupt-parent = <&pio>; 181 + interrupts = <7 4 IRQ_TYPE_LEVEL_HIGH>; /* PH4 */ 182 + irq-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ 183 + reset-gpios = <&pio 7 8 GPIO_ACTIVE_HIGH>; /* PH8 */ 184 + AVDD28-supply = <&reg_ldo_io1>; 185 + }; 186 + }; 187 + 188 + &i2c0_pins { 189 + bias-pull-up; 190 + }; 191 + 192 + &i2c1 { 193 + status = "okay"; 194 + 195 + /* TODO: add Bochs BMA223 accelerometer here */ 196 + }; 197 + 198 + &lradc { 199 + vref-supply = <&reg_aldo3>; 200 + status = "okay"; 201 + 202 + button-200 { 203 + label = "Volume Up"; 204 + linux,code = <KEY_VOLUMEUP>; 205 + channel = <0>; 206 + voltage = <200000>; 207 + }; 208 + 209 + button-400 { 210 + label = "Volume Down"; 211 + linux,code = <KEY_VOLUMEDOWN>; 212 + channel = <0>; 213 + voltage = <400000>; 214 + }; 215 + }; 216 + 217 + &mixer1 { 218 + status = "okay"; 219 + }; 220 + 221 + &mmc0 { 222 + pinctrl-names = "default"; 223 + pinctrl-0 = <&mmc0_pins>; 224 + vmmc-supply = <&reg_dcdc1>; 225 + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 226 + disable-wp; 227 + bus-width = <4>; 228 + status = "okay"; 229 + }; 230 + 231 + &mmc1 { 232 + pinctrl-names = "default"; 233 + pinctrl-0 = <&mmc1_pins>; 234 + vmmc-supply = <&reg_dldo4>; 235 + vqmmc-supply = <&reg_eldo1>; 236 + mmc-pwrseq = <&wifi_pwrseq>; 237 + bus-width = <4>; 238 + non-removable; 239 + status = "okay"; 240 + 241 + rtl8723cs: wifi@1 { 242 + reg = <1>; 243 + }; 244 + }; 245 + 246 + &mmc2 { 247 + pinctrl-names = "default"; 248 + pinctrl-0 = <&mmc2_pins>; 249 + vmmc-supply = <&reg_dcdc1>; 250 + vqmmc-supply = <&reg_dcdc1>; 251 + bus-width = <8>; 252 + non-removable; 253 + cap-mmc-hw-reset; 254 + status = "okay"; 255 + }; 256 + 257 + &ohci0 { 258 + status = "okay"; 259 + }; 260 + 261 + &pwm { 262 + status = "okay"; 263 + }; 264 + 265 + &r_rsb { 266 + status = "okay"; 267 + 268 + axp803: pmic@3a3 { 269 + compatible = "x-powers,axp803"; 270 + reg = <0x3a3>; 271 + interrupt-parent = <&r_intc>; 272 + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 273 + x-powers,drive-vbus-en; 274 + }; 275 + }; 276 + 277 + #include "axp803.dtsi" 278 + 279 + &ac_power_supply { 280 + status = "okay"; 281 + }; 282 + 283 + &battery_power_supply { 284 + status = "okay"; 285 + }; 286 + 287 + &reg_aldo1 { 288 + regulator-min-microvolt = <2800000>; 289 + regulator-max-microvolt = <2800000>; 290 + regulator-name = "dovdd-csi"; 291 + }; 292 + 293 + &reg_aldo2 { 294 + regulator-always-on; 295 + regulator-min-microvolt = <1800000>; 296 + regulator-max-microvolt = <3300000>; 297 + regulator-name = "vcc-pl"; 298 + }; 299 + 300 + &reg_aldo3 { 301 + regulator-always-on; 302 + regulator-min-microvolt = <2700000>; 303 + regulator-max-microvolt = <3300000>; 304 + regulator-name = "vcc-pll-avcc"; 305 + }; 306 + 307 + &reg_dc1sw { 308 + regulator-name = "vcc-lcd"; 309 + }; 310 + 311 + &reg_dcdc1 { 312 + regulator-always-on; 313 + regulator-min-microvolt = <3300000>; 314 + regulator-max-microvolt = <3300000>; 315 + regulator-name = "vcc-3v3"; 316 + }; 317 + 318 + &reg_dcdc2 { 319 + regulator-always-on; 320 + regulator-min-microvolt = <1000000>; 321 + regulator-max-microvolt = <1300000>; 322 + regulator-name = "vdd-cpux"; 323 + }; 324 + 325 + /* DCDC3 is polyphased with DCDC2 */ 326 + 327 + &reg_dcdc5 { 328 + regulator-always-on; 329 + regulator-min-microvolt = <1200000>; 330 + regulator-max-microvolt = <1200000>; 331 + regulator-name = "vcc-dram"; 332 + }; 333 + 334 + &reg_dcdc6 { 335 + regulator-always-on; 336 + regulator-min-microvolt = <1100000>; 337 + regulator-max-microvolt = <1100000>; 338 + regulator-name = "vdd-sys"; 339 + }; 340 + 341 + &reg_dldo1 { 342 + regulator-always-on; 343 + regulator-min-microvolt = <3300000>; 344 + regulator-max-microvolt = <3300000>; 345 + regulator-name = "vcc-hdmi-dsi-sensor"; 346 + }; 347 + 348 + &reg_dldo3 { 349 + regulator-min-microvolt = <2800000>; 350 + regulator-max-microvolt = <2800000>; 351 + regulator-name = "avdd-csi"; 352 + }; 353 + 354 + &reg_dldo4 { 355 + regulator-min-microvolt = <3300000>; 356 + regulator-max-microvolt = <3300000>; 357 + regulator-name = "vcc-wifi"; 358 + }; 359 + 360 + &reg_drivevbus { 361 + regulator-name = "usb0-vbus"; 362 + status = "okay"; 363 + }; 364 + 365 + &reg_eldo1 { 366 + regulator-always-on; 367 + regulator-min-microvolt = <1800000>; 368 + regulator-max-microvolt = <1800000>; 369 + regulator-name = "cpvdd"; 370 + }; 371 + 372 + &reg_eldo2 { 373 + regulator-min-microvolt = <1800000>; 374 + regulator-max-microvolt = <1800000>; 375 + regulator-name = "vcca-1v8"; 376 + }; 377 + 378 + &reg_eldo3 { 379 + regulator-min-microvolt = <1800000>; 380 + regulator-max-microvolt = <1800000>; 381 + regulator-name = "dvdd-1v8-csi"; 382 + }; 383 + 384 + &reg_fldo1 { 385 + regulator-min-microvolt = <1200000>; 386 + regulator-max-microvolt = <1200000>; 387 + regulator-name = "vcc-1v2-hsic"; 388 + }; 389 + 390 + &reg_fldo2 { 391 + regulator-always-on; 392 + regulator-min-microvolt = <1100000>; 393 + regulator-max-microvolt = <1100000>; 394 + regulator-name = "vdd-cpus"; 395 + }; 396 + 397 + &reg_ldo_io0 { 398 + regulator-min-microvolt = <3300000>; 399 + regulator-max-microvolt = <3300000>; 400 + regulator-name = "vcc-usb"; 401 + status = "okay"; 402 + }; 403 + 404 + &reg_ldo_io1 { 405 + regulator-min-microvolt = <3300000>; 406 + regulator-max-microvolt = <3300000>; 407 + regulator-enable-ramp-delay = <3500000>; 408 + regulator-name = "vcc-touchscreen"; 409 + status = "okay"; 410 + }; 411 + 412 + &reg_rtc_ldo { 413 + regulator-name = "vcc-rtc"; 414 + }; 415 + 416 + &sound { 417 + status = "okay"; 418 + simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>; 419 + simple-audio-card,widgets = "Microphone", "Internal Microphone Left", 420 + "Microphone", "Internal Microphone Right", 421 + "Headphone", "Headphone Jack", 422 + "Speaker", "Internal Speaker"; 423 + simple-audio-card,routing = 424 + "Left DAC", "AIF1 Slot 0 Left", 425 + "Right DAC", "AIF1 Slot 0 Right", 426 + "Speaker Amp INL", "LINEOUT", 427 + "Speaker Amp INR", "LINEOUT", 428 + "Internal Speaker", "Speaker Amp OUTL", 429 + "Internal Speaker", "Speaker Amp OUTR", 430 + "Headphone Jack", "HP", 431 + "AIF1 Slot 0 Left ADC", "Left ADC", 432 + "AIF1 Slot 0 Right ADC", "Right ADC", 433 + "Internal Microphone Left", "MBIAS", 434 + "MIC1", "Internal Microphone Left", 435 + "Internal Microphone Right", "HBIAS", 436 + "MIC2", "Internal Microphone Right"; 437 + }; 438 + 439 + &uart0 { 440 + pinctrl-names = "default"; 441 + pinctrl-0 = <&uart0_pb_pins>; 442 + status = "okay"; 443 + }; 444 + 445 + &usb_otg { 446 + dr_mode = "otg"; 447 + status = "okay"; 448 + }; 449 + 450 + &usb_power_supply { 451 + status = "okay"; 452 + }; 453 + 454 + &usbphy { 455 + usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */ 456 + usb0_vbus_power-supply = <&usb_power_supply>; 457 + usb0_vbus-supply = <&reg_drivevbus>; 458 + usb1_vbus-supply = <&reg_ldo_io0>; 459 + status = "okay"; 460 + };
+42 -2
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
··· 264 264 265 265 display_clocks: clock@0 { 266 266 compatible = "allwinner,sun50i-a64-de2-clk"; 267 - reg = <0x0 0x100000>; 267 + reg = <0x0 0x10000>; 268 268 clocks = <&ccu CLK_BUS_DE>, 269 269 <&ccu CLK_DE>; 270 270 clock-names = "bus", ··· 272 272 resets = <&ccu RST_BUS_DE>; 273 273 #clock-cells = <1>; 274 274 #reset-cells = <1>; 275 + }; 276 + 277 + rotate: rotate@20000 { 278 + compatible = "allwinner,sun50i-a64-de2-rotate", 279 + "allwinner,sun8i-a83t-de2-rotate"; 280 + reg = <0x20000 0x10000>; 281 + interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 282 + clocks = <&display_clocks CLK_BUS_ROT>, 283 + <&display_clocks CLK_ROT>; 284 + clock-names = "bus", 285 + "mod"; 286 + resets = <&display_clocks RST_ROT>; 275 287 }; 276 288 277 289 mixer0: mixer@100000 { ··· 683 671 function = "i2c1"; 684 672 }; 685 673 674 + i2c2_pins: i2c2-pins { 675 + pins = "PE14", "PE15"; 676 + function = "i2c2"; 677 + }; 678 + 686 679 /omit-if-no-ref/ 687 680 lcd_rgb666_pins: lcd-rgb666-pins { 688 681 pins = "PD0", "PD1", "PD2", "PD3", "PD4", ··· 975 958 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 976 959 clocks = <&ccu CLK_BUS_I2C2>; 977 960 resets = <&ccu RST_BUS_I2C2>; 961 + pinctrl-names = "default"; 962 + pinctrl-0 = <&i2c2_pins>; 978 963 status = "disabled"; 979 964 #address-cells = <1>; 980 965 #size-cells = <0>; 981 966 }; 982 - 983 967 984 968 spi0: spi@1c68000 { 985 969 compatible = "allwinner,sun8i-h3-spi"; ··· 1079 1061 status = "disabled"; 1080 1062 }; 1081 1063 1064 + mbus: dram-controller@1c62000 { 1065 + compatible = "allwinner,sun50i-a64-mbus"; 1066 + reg = <0x01c62000 0x1000>; 1067 + clocks = <&ccu 112>; 1068 + dma-ranges = <0x00000000 0x40000000 0xc0000000>; 1069 + #interconnect-cells = <1>; 1070 + }; 1071 + 1082 1072 csi: csi@1cb0000 { 1083 1073 compatible = "allwinner,sun50i-a64-csi"; 1084 1074 reg = <0x01cb0000 0x1000>; ··· 1130 1104 resets = <&ccu RST_BUS_MIPI_DSI>; 1131 1105 status = "disabled"; 1132 1106 #phy-cells = <0>; 1107 + }; 1108 + 1109 + deinterlace: deinterlace@1e00000 { 1110 + compatible = "allwinner,sun50i-a64-deinterlace", 1111 + "allwinner,sun8i-h3-deinterlace"; 1112 + reg = <0x01e00000 0x20000>; 1113 + clocks = <&ccu CLK_BUS_DEINTERLACE>, 1114 + <&ccu CLK_DEINTERLACE>, 1115 + <&ccu CLK_DRAM_DEINTERLACE>; 1116 + clock-names = "bus", "mod", "ram"; 1117 + resets = <&ccu RST_BUS_DEINTERLACE>; 1118 + interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 1119 + interconnects = <&mbus 9>; 1120 + interconnect-names = "dma-mem"; 1133 1121 }; 1134 1122 1135 1123 hdmi: hdmi@1ee0000 {
+21
arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
··· 61 61 label = "sw4"; 62 62 linux,code = <BTN_0>; 63 63 gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; 64 + wakeup-source; 64 65 }; 65 66 }; 66 67 ··· 92 91 "MIC1", "Mic", 93 92 "Mic", "MBIAS"; 94 93 status = "okay"; 94 + }; 95 + 96 + &cpu0 { 97 + cpu-supply = <&reg_vdd_cpux>; 95 98 }; 96 99 97 100 &de { ··· 171 166 172 167 &ohci3 { 173 168 status = "okay"; 169 + }; 170 + 171 + &r_i2c { 172 + status = "okay"; 173 + 174 + reg_vdd_cpux: regulator@65 { 175 + compatible = "silergy,sy8106a"; 176 + reg = <0x65>; 177 + regulator-name = "vdd-cpux"; 178 + silergy,fixed-microvolt = <1100000>; 179 + regulator-min-microvolt = <1000000>; 180 + regulator-max-microvolt = <1400000>; 181 + regulator-ramp-delay = <200>; 182 + regulator-boot-on; 183 + regulator-always-on; 184 + }; 174 185 }; 175 186 176 187 &spi0 {
+1 -2
arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
··· 38 38 }; 39 39 40 40 pmu { 41 - compatible = "arm,cortex-a53-pmu", 42 - "arm,armv8-pmuv3"; 41 + compatible = "arm,cortex-a53-pmu"; 43 42 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 44 43 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, 45 44 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
+20
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
··· 32 32 }; 33 33 }; 34 34 35 + ext_osc32k: ext_osc32k_clk { 36 + #clock-cells = <0>; 37 + compatible = "fixed-clock"; 38 + clock-frequency = <32768>; 39 + clock-output-names = "ext_osc32k"; 40 + }; 41 + 35 42 leds { 36 43 compatible = "gpio-leds"; 37 44 ··· 149 142 interrupts = <1 0 IRQ_TYPE_LEVEL_LOW>; /* PM0 */ 150 143 interrupt-names = "host-wake"; 151 144 }; 145 + }; 146 + 147 + &mmc2 { 148 + vmmc-supply = <&reg_cldo1>; 149 + vqmmc-supply = <&reg_bldo2>; 150 + cap-mmc-hw-reset; 151 + non-removable; 152 + bus-width = <8>; 153 + status = "okay"; 152 154 }; 153 155 154 156 &ohci0 { ··· 290 274 291 275 &r_ir { 292 276 status = "okay"; 277 + }; 278 + 279 + &rtc { 280 + clocks = <&ext_osc32k>; 293 281 }; 294 282 295 283 &uart0 {
+33
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts
··· 7 7 / { 8 8 model = "OrangePi One Plus"; 9 9 compatible = "xunlong,orangepi-one-plus", "allwinner,sun50i-h6"; 10 + 11 + aliases { 12 + ethernet0 = &emac; 13 + }; 14 + 15 + reg_gmac_3v3: gmac-3v3 { 16 + compatible = "regulator-fixed"; 17 + regulator-name = "vcc-gmac-3v3"; 18 + regulator-min-microvolt = <3300000>; 19 + regulator-max-microvolt = <3300000>; 20 + startup-delay-us = <100000>; 21 + enable-active-high; 22 + gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */ 23 + vin-supply = <&reg_aldo2>; 24 + }; 25 + }; 26 + 27 + &emac { 28 + pinctrl-names = "default"; 29 + pinctrl-0 = <&ext_rgmii_pins>; 30 + phy-mode = "rgmii"; 31 + phy-handle = <&ext_rgmii_phy>; 32 + phy-supply = <&reg_gmac_3v3>; 33 + allwinner,rx-delay-ps = <200>; 34 + allwinner,tx-delay-ps = <200>; 35 + status = "okay"; 36 + }; 37 + 38 + &mdio { 39 + ext_rgmii_phy: ethernet-phy@1 { 40 + compatible = "ethernet-phy-ieee802.3-c22"; 41 + reg = <1>; 42 + }; 10 43 };
+37
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
··· 20 20 stdout-path = "serial0:115200n8"; 21 21 }; 22 22 23 + connector { 24 + compatible = "hdmi-connector"; 25 + type = "a"; 26 + ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ 27 + 28 + port { 29 + hdmi_con_in: endpoint { 30 + remote-endpoint = <&hdmi_out_con>; 31 + }; 32 + }; 33 + }; 34 + 35 + ext_osc32k: ext_osc32k_clk { 36 + #clock-cells = <0>; 37 + compatible = "fixed-clock"; 38 + clock-frequency = <32768>; 39 + clock-output-names = "ext_osc32k"; 40 + }; 41 + 23 42 leds { 24 43 compatible = "gpio-leds"; 25 44 ··· 64 45 }; 65 46 }; 66 47 48 + &de { 49 + status = "okay"; 50 + }; 51 + 67 52 &ehci0 { 68 53 status = "okay"; 69 54 }; ··· 79 56 &gpu { 80 57 mali-supply = <&reg_dcdcc>; 81 58 status = "okay"; 59 + }; 60 + 61 + &hdmi { 62 + status = "okay"; 63 + }; 64 + 65 + &hdmi_out { 66 + hdmi_out_con: endpoint { 67 + remote-endpoint = <&hdmi_con_in>; 68 + }; 82 69 }; 83 70 84 71 &mmc0 { ··· 228 195 229 196 &r_ir { 230 197 status = "okay"; 198 + }; 199 + 200 + &rtc { 201 + clocks = <&ext_osc32k>; 231 202 }; 232 203 233 204 &uart0 {
+30
arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
··· 14 14 aliases { 15 15 ethernet0 = &emac; 16 16 serial0 = &uart0; 17 + spi0 = &spi0; 17 18 }; 18 19 19 20 chosen { 20 21 stdout-path = "serial0:115200n8"; 22 + }; 23 + 24 + ext_osc32k: ext_osc32k_clk { 25 + #clock-cells = <0>; 26 + compatible = "fixed-clock"; 27 + clock-frequency = <32768>; 28 + clock-output-names = "ext_osc32k"; 21 29 }; 22 30 23 31 hdmi_connector: connector { ··· 284 276 285 277 &r_pio { 286 278 vcc-pm-supply = <&reg_aldo1>; 279 + }; 280 + 281 + &rtc { 282 + clocks = <&ext_osc32k>; 283 + }; 284 + 285 + /* 286 + * The CS pin is shared with the MMC2 CMD pin, so we cannot have the SPI 287 + * flash and eMMC at the same time, as one of them would fail probing. 288 + * Disable SPI0 in here, to prefer the more useful eMMC. U-Boot can 289 + * fix this up in no eMMC is connected. 290 + */ 291 + &spi0 { 292 + pinctrl-0 = <&spi0_pins>, <&spi0_cs_pin>; 293 + pinctrl-names = "default"; 294 + status = "disabled"; 295 + 296 + flash@0 { 297 + compatible = "winbond,w25q128", "jedec,spi-nor"; 298 + reg = <0>; 299 + spi-max-frequency = <4000000>; 300 + }; 287 301 }; 288 302 289 303 &uart0 {
+56 -10
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
··· 62 62 clock-output-names = "osc24M"; 63 63 }; 64 64 65 - ext_osc32k: ext_osc32k_clk { 66 - #clock-cells = <0>; 67 - compatible = "fixed-clock"; 68 - clock-frequency = <32768>; 69 - clock-output-names = "ext_osc32k"; 70 - }; 71 - 72 65 pmu { 73 - compatible = "arm,cortex-a53-pmu", 74 - "arm,armv8-pmuv3"; 66 + compatible = "arm,cortex-a53-pmu"; 75 67 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>, 76 68 <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, 77 69 <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, ··· 330 338 bias-pull-up; 331 339 }; 332 340 341 + /omit-if-no-ref/ 342 + spi0_pins: spi0-pins { 343 + pins = "PC0", "PC2", "PC3"; 344 + function = "spi0"; 345 + }; 346 + 347 + /* pin shared with MMC2-CMD (eMMC) */ 348 + /omit-if-no-ref/ 349 + spi0_cs_pin: spi0-cs-pin { 350 + pins = "PC5"; 351 + function = "spi0"; 352 + }; 353 + 354 + /omit-if-no-ref/ 355 + spi1_pins: spi1-pins { 356 + pins = "PH4", "PH5", "PH6"; 357 + function = "spi1"; 358 + }; 359 + 360 + /omit-if-no-ref/ 361 + spi1_cs_pin: spi1-cs-pin { 362 + pins = "PH3"; 363 + function = "spi1"; 364 + }; 365 + 333 366 spdif_tx_pin: spdif-tx-pin { 334 367 pins = "PH7"; 335 368 function = "spdif"; ··· 516 499 resets = <&ccu RST_BUS_I2C2>; 517 500 pinctrl-names = "default"; 518 501 pinctrl-0 = <&i2c2_pins>; 502 + status = "disabled"; 503 + #address-cells = <1>; 504 + #size-cells = <0>; 505 + }; 506 + 507 + spi0: spi@5010000 { 508 + compatible = "allwinner,sun50i-h6-spi", 509 + "allwinner,sun8i-h3-spi"; 510 + reg = <0x05010000 0x1000>; 511 + interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 512 + clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>; 513 + clock-names = "ahb", "mod"; 514 + dmas = <&dma 22>, <&dma 22>; 515 + dma-names = "rx", "tx"; 516 + resets = <&ccu RST_BUS_SPI0>; 517 + status = "disabled"; 518 + #address-cells = <1>; 519 + #size-cells = <0>; 520 + }; 521 + 522 + spi1: spi@5011000 { 523 + compatible = "allwinner,sun50i-h6-spi", 524 + "allwinner,sun8i-h3-spi"; 525 + reg = <0x05011000 0x1000>; 526 + interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 527 + clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>; 528 + clock-names = "ahb", "mod"; 529 + dmas = <&dma 23>, <&dma 23>; 530 + dma-names = "rx", "tx"; 531 + resets = <&ccu RST_BUS_SPI1>; 519 532 status = "disabled"; 520 533 #address-cells = <1>; 521 534 #size-cells = <0>; ··· 847 800 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 848 801 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 849 802 clock-output-names = "osc32k", "osc32k-out", "iosc"; 850 - clocks = <&ext_osc32k>; 851 803 #clock-cells = <1>; 852 804 }; 853 805
+3 -3
arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts
··· 178 178 179 179 qspi_boot: partition@0 { 180 180 label = "Boot and fpga data"; 181 - reg = <0x0 0x034B0000>; 181 + reg = <0x0 0x03FE0000>; 182 182 }; 183 183 184 - qspi_rootfs: partition@4000000 { 184 + qspi_rootfs: partition@3FE0000 { 185 185 label = "Root Filesystem - JFFS2"; 186 - reg = <0x034B0000 0x0EB50000>; 186 + reg = <0x03FE0000 0x0C020000>; 187 187 }; 188 188 }; 189 189 };
+6
arch/arm64/boot/dts/amlogic/meson-a1.dtsi
··· 60 60 61 61 sm: secure-monitor { 62 62 compatible = "amlogic,meson-gxbb-sm"; 63 + 64 + pwrc: power-controller { 65 + compatible = "amlogic,meson-a1-pwrc"; 66 + #power-domain-cells = <1>; 67 + status = "okay"; 68 + }; 63 69 }; 64 70 65 71 soc {
+3 -3
arch/arm64/boot/dts/amlogic/meson-axg-s400.dts
··· 313 313 dai-tdm-slot-rx-mask-1 = <1 1>; 314 314 mclk-fs = <256>; 315 315 316 - codec@0 { 316 + codec-0 { 317 317 sound-dai = <&lineout>; 318 318 }; 319 319 320 - codec@1 { 320 + codec-1 { 321 321 sound-dai = <&speaker_amp1>; 322 322 }; 323 323 324 - codec@2 { 324 + codec-2 { 325 325 sound-dai = <&linein>; 326 326 }; 327 327
+126 -10
arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
··· 295 295 }; 296 296 }; 297 297 298 - emmc_pins: emmc { 298 + emmc_ctrl_pins: emmc-ctrl { 299 299 mux-0 { 300 - groups = "emmc_nand_d0", 301 - "emmc_nand_d1", 302 - "emmc_nand_d2", 303 - "emmc_nand_d3", 304 - "emmc_nand_d4", 305 - "emmc_nand_d5", 306 - "emmc_nand_d6", 307 - "emmc_nand_d7", 308 - "emmc_cmd"; 300 + groups = "emmc_cmd"; 309 301 function = "emmc"; 310 302 bias-pull-up; 311 303 drive-strength-microamp = <4000>; ··· 307 315 groups = "emmc_clk"; 308 316 function = "emmc"; 309 317 bias-disable; 318 + drive-strength-microamp = <4000>; 319 + }; 320 + }; 321 + 322 + emmc_data_4b_pins: emmc-data-4b { 323 + mux-0 { 324 + groups = "emmc_nand_d0", 325 + "emmc_nand_d1", 326 + "emmc_nand_d2", 327 + "emmc_nand_d3"; 328 + function = "emmc"; 329 + bias-pull-up; 330 + drive-strength-microamp = <4000>; 331 + }; 332 + }; 333 + 334 + emmc_data_8b_pins: emmc-data-8b { 335 + mux-0 { 336 + groups = "emmc_nand_d0", 337 + "emmc_nand_d1", 338 + "emmc_nand_d2", 339 + "emmc_nand_d3", 340 + "emmc_nand_d4", 341 + "emmc_nand_d5", 342 + "emmc_nand_d6", 343 + "emmc_nand_d7"; 344 + function = "emmc"; 345 + bias-pull-up; 310 346 drive-strength-microamp = <4000>; 311 347 }; 312 348 }; ··· 590 570 function = "mclk1"; 591 571 bias-disable; 592 572 drive-strength-microamp = <3000>; 573 + }; 574 + }; 575 + 576 + nor_pins: nor { 577 + mux { 578 + groups = "nor_d", 579 + "nor_q", 580 + "nor_c", 581 + "nor_cs"; 582 + function = "nor"; 583 + bias-disable; 593 584 }; 594 585 }; 595 586 ··· 984 953 groups = "spdif_out_a13"; 985 954 function = "spdif_out"; 986 955 drive-strength-microamp = <500>; 956 + bias-disable; 957 + }; 958 + }; 959 + 960 + spicc0_x_pins: spicc0-x { 961 + mux { 962 + groups = "spi0_mosi_x", 963 + "spi0_miso_x", 964 + "spi0_clk_x"; 965 + function = "spi0"; 966 + drive-strength-microamp = <4000>; 967 + bias-disable; 968 + }; 969 + }; 970 + 971 + spicc0_ss0_x_pins: spicc0-ss0-x { 972 + mux { 973 + groups = "spi0_ss0_x"; 974 + function = "spi0"; 975 + drive-strength-microamp = <4000>; 976 + bias-disable; 977 + }; 978 + }; 979 + 980 + spicc0_c_pins: spicc0-c { 981 + mux { 982 + groups = "spi0_mosi_c", 983 + "spi0_miso_c", 984 + "spi0_ss0_c", 985 + "spi0_clk_c"; 986 + function = "spi0"; 987 + drive-strength-microamp = <4000>; 988 + bias-disable; 989 + }; 990 + }; 991 + 992 + spicc1_pins: spicc1 { 993 + mux { 994 + groups = "spi1_mosi", 995 + "spi1_miso", 996 + "spi1_clk"; 997 + function = "spi1"; 998 + drive-strength-microamp = <4000>; 999 + }; 1000 + }; 1001 + 1002 + spicc1_ss0_pins: spicc1-ss0 { 1003 + mux { 1004 + groups = "spi1_ss0"; 1005 + function = "spi1"; 1006 + drive-strength-microamp = <4000>; 987 1007 bias-disable; 988 1008 }; 989 1009 }; ··· 2133 2051 amlogic,channel-interrupts = <64 65 66 67 68 69 70 71>; 2134 2052 }; 2135 2053 2054 + spicc0: spi@13000 { 2055 + compatible = "amlogic,meson-g12a-spicc"; 2056 + reg = <0x0 0x13000 0x0 0x44>; 2057 + interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 2058 + clocks = <&clkc CLKID_SPICC0>, 2059 + <&clkc CLKID_SPICC0_SCLK>; 2060 + clock-names = "core", "pclk"; 2061 + #address-cells = <1>; 2062 + #size-cells = <0>; 2063 + status = "disabled"; 2064 + }; 2065 + 2066 + spicc1: spi@15000 { 2067 + compatible = "amlogic,meson-g12a-spicc"; 2068 + reg = <0x0 0x15000 0x0 0x44>; 2069 + interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 2070 + clocks = <&clkc CLKID_SPICC1>, 2071 + <&clkc CLKID_SPICC1_SCLK>; 2072 + clock-names = "core", "pclk"; 2073 + #address-cells = <1>; 2074 + #size-cells = <0>; 2075 + status = "disabled"; 2076 + }; 2077 + 2078 + spifc: spi@14000 { 2079 + compatible = "amlogic,meson-gxbb-spifc"; 2080 + status = "disabled"; 2081 + reg = <0x0 0x14000 0x0 0x80>; 2082 + #address-cells = <1>; 2083 + #size-cells = <0>; 2084 + clocks = <&clkc CLKID_CLK81>; 2085 + }; 2086 + 2136 2087 pwm_ef: pwm@19000 { 2137 2088 compatible = "amlogic,meson-g12a-ee-pwm"; 2138 2089 reg = <0x0 0x19000 0x0 0x20>; ··· 2335 2220 dr_mode = "host"; 2336 2221 snps,dis_u2_susphy_quirk; 2337 2222 snps,quirk-frame-length-adjustment; 2223 + snps,parkmode-disable-ss-quirk; 2338 2224 }; 2339 2225 }; 2340 2226
+2
arch/arm64/boot/dts/amlogic/meson-g12.dtsi
··· 1 + 1 2 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 3 /* 3 4 * Copyright (c) 2019 BayLibre, SAS ··· 57 56 <&clkc_audio AUD_CLKID_PDM_DCLK>, 58 57 <&clkc_audio AUD_CLKID_PDM_SYSCLK>; 59 58 clock-names = "pclk", "dclk", "sysclk"; 59 + resets = <&clkc_audio AUD_RESET_PDM>; 60 60 status = "disabled"; 61 61 }; 62 62
+2 -2
arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts
··· 269 269 dai-tdm-slot-tx-mask-3 = <1 1>; 270 270 mclk-fs = <256>; 271 271 272 - codec@0 { 272 + codec { 273 273 sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; 274 274 }; 275 275 }; ··· 472 472 /* eMMC */ 473 473 &sd_emmc_c { 474 474 status = "okay"; 475 - pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 475 + pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; 476 476 pinctrl-1 = <&emmc_clk_gate_pins>; 477 477 pinctrl-names = "default", "clk-gate"; 478 478
+1 -1
arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts
··· 271 271 /* eMMC */ 272 272 &sd_emmc_c { 273 273 status = "okay"; 274 - pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 274 + pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; 275 275 pinctrl-1 = <&emmc_clk_gate_pins>; 276 276 pinctrl-names = "default", "clk-gate"; 277 277
+1 -1
arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts
··· 443 443 /* eMMC */ 444 444 &sd_emmc_c { 445 445 status = "okay"; 446 - pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 446 + pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; 447 447 pinctrl-1 = <&emmc_clk_gate_pins>; 448 448 pinctrl-names = "default", "clk-gate"; 449 449
+3 -1
arch/arm64/boot/dts/amlogic/meson-g12b-khadas-vim3.dtsi
··· 8 8 #include <dt-bindings/sound/meson-g12a-tohdmitx.h> 9 9 10 10 / { 11 + model = "Khadas VIM3"; 12 + 11 13 vddcpu_a: regulator-vddcpu-a { 12 14 /* 13 15 * MP8756GD Regulator. ··· 50 48 51 49 sound { 52 50 compatible = "amlogic,axg-sound-card"; 53 - model = "G12A-KHADAS-VIM3"; 51 + model = "G12B-KHADAS-VIM3"; 54 52 audio-aux-devs = <&tdmout_b>; 55 53 audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1", 56 54 "TDMOUT_B IN 1", "FRDDR_B OUT 1",
+23 -2
arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
··· 208 208 209 209 sound { 210 210 compatible = "amlogic,axg-sound-card"; 211 - model = "G12A-ODROIDN2"; 211 + model = "G12B-ODROID-N2"; 212 212 audio-aux-devs = <&tdmout_b>; 213 213 audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1", 214 214 "TDMOUT_B IN 1", "FRDDR_B OUT 1", ··· 435 435 /* eMMC */ 436 436 &sd_emmc_c { 437 437 status = "okay"; 438 - pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 438 + pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; 439 439 pinctrl-1 = <&emmc_clk_gate_pins>; 440 440 pinctrl-names = "default", "clk-gate"; 441 441 ··· 449 449 mmc-pwrseq = <&emmc_pwrseq>; 450 450 vmmc-supply = <&vcc_3v3>; 451 451 vqmmc-supply = <&flash_1v8>; 452 + }; 453 + 454 + /* 455 + * EMMC_D4, EMMC_D5, EMMC_D6 and EMMC_D7 pins are shared between SPI NOR pins 456 + * and eMMC Data 4 to 7 pins. 457 + * Replace emmc_data_8b_pins to emmc_data_4b_pins from sd_emmc_c pinctrl-0, 458 + * and change bus-width to 4 then spifc can be enabled. 459 + * The SW1 slide should also be set to the correct position. 460 + */ 461 + &spifc { 462 + status = "disabled"; 463 + pinctrl-0 = <&nor_pins>; 464 + pinctrl-names = "default"; 465 + 466 + mx25u64: spi-flash@0 { 467 + #address-cells = <1>; 468 + #size-cells = <1>; 469 + compatible = "mxicy,mx25u6435f", "jedec,spi-nor"; 470 + reg = <0>; 471 + spi-max-frequency = <104000000>; 472 + }; 452 473 }; 453 474 454 475 &tdmif_b {
+1 -1
arch/arm64/boot/dts/amlogic/meson-g12b-ugoos-am6.dts
··· 485 485 /* eMMC */ 486 486 &sd_emmc_c { 487 487 status = "okay"; 488 - pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 488 + pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; 489 489 pinctrl-1 = <&emmc_clk_gate_pins>; 490 490 pinctrl-names = "default", "clk-gate"; 491 491
+52
arch/arm64/boot/dts/amlogic/meson-gx.dtsi
··· 12 12 #include <dt-bindings/gpio/gpio.h> 13 13 #include <dt-bindings/interrupt-controller/irq.h> 14 14 #include <dt-bindings/interrupt-controller/arm-gic.h> 15 + #include <dt-bindings/thermal/thermal.h> 15 16 16 17 / { 17 18 interrupt-parent = <&gic>; ··· 84 83 enable-method = "psci"; 85 84 next-level-cache = <&l2>; 86 85 clocks = <&scpi_dvfs 0>; 86 + #cooling-cells = <2>; 87 87 }; 88 88 89 89 cpu1: cpu@1 { ··· 94 92 enable-method = "psci"; 95 93 next-level-cache = <&l2>; 96 94 clocks = <&scpi_dvfs 0>; 95 + #cooling-cells = <2>; 97 96 }; 98 97 99 98 cpu2: cpu@2 { ··· 104 101 enable-method = "psci"; 105 102 next-level-cache = <&l2>; 106 103 clocks = <&scpi_dvfs 0>; 104 + #cooling-cells = <2>; 107 105 }; 108 106 109 107 cpu3: cpu@3 { ··· 114 110 enable-method = "psci"; 115 111 next-level-cache = <&l2>; 116 112 clocks = <&scpi_dvfs 0>; 113 + #cooling-cells = <2>; 117 114 }; 118 115 119 116 l2: l2-cache0 { 120 117 compatible = "cache"; 118 + }; 119 + }; 120 + 121 + thermal-zones { 122 + cpu-thermal { 123 + polling-delay-passive = <250>; /* milliseconds */ 124 + polling-delay = <1000>; /* milliseconds */ 125 + 126 + thermal-sensors = <&scpi_sensors 0>; 127 + 128 + trips { 129 + cpu_passive: cpu-passive { 130 + temperature = <80000>; /* millicelsius */ 131 + hysteresis = <2000>; /* millicelsius */ 132 + type = "passive"; 133 + }; 134 + 135 + cpu_hot: cpu-hot { 136 + temperature = <90000>; /* millicelsius */ 137 + hysteresis = <2000>; /* millicelsius */ 138 + type = "hot"; 139 + }; 140 + 141 + cpu_critical: cpu-critical { 142 + temperature = <110000>; /* millicelsius */ 143 + hysteresis = <2000>; /* millicelsius */ 144 + type = "critical"; 145 + }; 146 + }; 147 + 148 + cpu_cooling_maps: cooling-maps { 149 + map0 { 150 + trip = <&cpu_passive>; 151 + cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 152 + <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 153 + <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 154 + <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 155 + }; 156 + 157 + map1 { 158 + trip = <&cpu_hot>; 159 + cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 160 + <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 161 + <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 162 + <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 163 + }; 164 + }; 121 165 }; 122 166 }; 123 167
+1
arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
··· 248 248 status = "okay"; 249 249 pinctrl-0 = <&remote_input_ao_pins>; 250 250 pinctrl-names = "default"; 251 + linux,rc-map-name = "rc-odroid"; 251 252 }; 252 253 253 254 &gpio_ao {
+3
arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
··· 245 245 bluetooth { 246 246 compatible = "brcm,bcm43438-bt"; 247 247 shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>; 248 + max-speed = <2000000>; 249 + clocks = <&wifi32k>; 250 + clock-names = "lpo"; 248 251 }; 249 252 }; 250 253
+8 -1
arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
··· 15 15 / { 16 16 aliases { 17 17 serial0 = &uart_AO; 18 - serial1 = &uart_A; 19 18 ethernet0 = &ethmac; 20 19 }; 21 20 ··· 179 180 pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 180 181 pinctrl-names = "default"; 181 182 uart-has-rtscts; 183 + 184 + bluetooth { 185 + compatible = "brcm,bcm43438-bt"; 186 + shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; 187 + max-speed = <2000000>; 188 + clocks = <&wifi32k>; 189 + clock-names = "lpo"; 190 + }; 182 191 }; 183 192 184 193 &uart_AO {
+15 -72
arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
··· 8 8 /dts-v1/; 9 9 10 10 #include <dt-bindings/input/input.h> 11 - #include <dt-bindings/thermal/thermal.h> 12 11 13 12 #include "meson-gxm.dtsi" 14 13 ··· 99 100 clock-names = "ext_clock"; 100 101 }; 101 102 102 - thermal-zones { 103 - cpu-thermal { 104 - polling-delay-passive = <250>; /* milliseconds */ 105 - polling-delay = <1000>; /* milliseconds */ 106 - 107 - thermal-sensors = <&scpi_sensors 0>; 108 - 109 - trips { 110 - cpu_alert0: cpu-alert0 { 111 - temperature = <70000>; /* millicelsius */ 112 - hysteresis = <2000>; /* millicelsius */ 113 - type = "active"; 114 - }; 115 - 116 - cpu_alert1: cpu-alert1 { 117 - temperature = <80000>; /* millicelsius */ 118 - hysteresis = <2000>; /* millicelsius */ 119 - type = "passive"; 120 - }; 121 - }; 122 - 123 - cooling-maps { 124 - map0 { 125 - trip = <&cpu_alert0>; 126 - cooling-device = <&gpio_fan THERMAL_NO_LIMIT 1>; 127 - }; 128 - 129 - map1 { 130 - trip = <&cpu_alert1>; 131 - cooling-device = <&gpio_fan 2 THERMAL_NO_LIMIT>, 132 - <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 133 - <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 134 - <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 135 - <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 136 - <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 137 - <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 138 - <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 139 - <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 140 - }; 141 - }; 142 - }; 143 - }; 144 - 145 103 hdmi_5v: regulator-hdmi-5v { 146 104 compatible = "regulator-fixed"; 147 105 ··· 154 198 hdmi-phandle = <&hdmi_tx>; 155 199 }; 156 200 157 - &cpu0 { 158 - #cooling-cells = <2>; 159 - }; 160 201 161 - &cpu1 { 162 - #cooling-cells = <2>; 163 - }; 202 + &cpu_cooling_maps { 203 + map0 { 204 + cooling-device = <&gpio_fan THERMAL_NO_LIMIT 1>; 205 + }; 164 206 165 - &cpu2 { 166 - #cooling-cells = <2>; 167 - }; 168 - 169 - &cpu3 { 170 - #cooling-cells = <2>; 171 - }; 172 - 173 - &cpu4 { 174 - #cooling-cells = <2>; 175 - }; 176 - 177 - &cpu5 { 178 - #cooling-cells = <2>; 179 - }; 180 - 181 - &cpu6 { 182 - #cooling-cells = <2>; 183 - }; 184 - 185 - &cpu7 { 186 - #cooling-cells = <2>; 207 + map1 { 208 + cooling-device = <&gpio_fan 2 THERMAL_NO_LIMIT>, 209 + <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 210 + <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 211 + <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 212 + <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 213 + <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 214 + <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 215 + <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 216 + <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 217 + }; 187 218 }; 188 219 189 220 &ethmac {
+28
arch/arm64/boot/dts/amlogic/meson-gxm.dtsi
··· 49 49 enable-method = "psci"; 50 50 next-level-cache = <&l2>; 51 51 clocks = <&scpi_dvfs 1>; 52 + #cooling-cells = <2>; 52 53 }; 53 54 54 55 cpu5: cpu@101 { ··· 59 58 enable-method = "psci"; 60 59 next-level-cache = <&l2>; 61 60 clocks = <&scpi_dvfs 1>; 61 + #cooling-cells = <2>; 62 62 }; 63 63 64 64 cpu6: cpu@102 { ··· 69 67 enable-method = "psci"; 70 68 next-level-cache = <&l2>; 71 69 clocks = <&scpi_dvfs 1>; 70 + #cooling-cells = <2>; 72 71 }; 73 72 74 73 cpu7: cpu@103 { ··· 79 76 enable-method = "psci"; 80 77 next-level-cache = <&l2>; 81 78 clocks = <&scpi_dvfs 1>; 79 + #cooling-cells = <2>; 82 80 }; 83 81 }; 84 82 }; ··· 126 122 127 123 &clkc_AO { 128 124 compatible = "amlogic,meson-gxm-aoclkc", "amlogic,meson-gx-aoclkc"; 125 + }; 126 + 127 + &cpu_cooling_maps { 128 + map0 { 129 + cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 130 + <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 131 + <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 132 + <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 133 + <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 134 + <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 135 + <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 136 + <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 137 + }; 138 + 139 + map1 { 140 + cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 141 + <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 142 + <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 143 + <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 144 + <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 145 + <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 146 + <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 147 + <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 148 + }; 129 149 }; 130 150 131 151 &saradc {
+21 -3
arch/arm64/boot/dts/amlogic/meson-khadas-vim3.dtsi
··· 9 9 #include <dt-bindings/gpio/meson-g12a-gpio.h> 10 10 11 11 / { 12 - model = "Khadas VIM3"; 13 - 14 12 aliases { 15 13 serial0 = &uart_AO; 16 14 ethernet0 = &ethmac; ··· 310 312 /* eMMC */ 311 313 &sd_emmc_c { 312 314 status = "okay"; 313 - pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 315 + pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; 314 316 pinctrl-1 = <&emmc_clk_gate_pins>; 315 317 pinctrl-names = "default", "clk-gate"; 316 318 ··· 324 326 mmc-pwrseq = <&emmc_pwrseq>; 325 327 vmmc-supply = <&vcc_3v3>; 326 328 vqmmc-supply = <&emmc_1v8>; 329 + }; 330 + 331 + /* 332 + * EMMC_D4, EMMC_D5, EMMC_D6 and EMMC_D7 pins are shared between SPI NOR CS 333 + * and eMMC Data 4 to 7 pins. 334 + * Replace emmc_data_8b_pins to emmc_data_4b_pins from sd_emmc_c pinctrl-0, 335 + * and change bus-width to 4 then spifc can be enabled. 336 + */ 337 + &spifc { 338 + status = "disabled"; 339 + pinctrl-0 = <&nor_pins>; 340 + pinctrl-names = "default"; 341 + 342 + w25q32: spi-flash@0 { 343 + #address-cells = <1>; 344 + #size-cells = <1>; 345 + compatible = "winbond,w25q128fw", "jedec,spi-nor"; 346 + reg = <0>; 347 + spi-max-frequency = <104000000>; 348 + }; 327 349 }; 328 350 329 351 &uart_A {
+1 -1
arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts
··· 518 518 /* eMMC */ 519 519 &sd_emmc_c { 520 520 status = "okay"; 521 - pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 521 + pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>; 522 522 pinctrl-1 = <&emmc_clk_gate_pins>; 523 523 pinctrl-names = "default", "clk-gate"; 524 524
+1
arch/arm64/boot/dts/amlogic/meson-sm1.dtsi
··· 448 448 <&clkc_audio AUD_CLKID_PDM_DCLK>, 449 449 <&clkc_audio AUD_CLKID_PDM_SYSCLK>; 450 450 clock-names = "pclk", "dclk", "sysclk"; 451 + resets = <&clkc_audio AUD_RESET_PDM>; 451 452 status = "disabled"; 452 453 }; 453 454 };
+1 -1
arch/arm64/boot/dts/arm/foundation-v8.dtsi
··· 92 92 timeout-sec = <30>; 93 93 }; 94 94 95 - smb@8000000 { 95 + bus@8000000 { 96 96 compatible = "arm,vexpress,v2m-p1", "simple-bus"; 97 97 arm,v2m-memory-map = "rs1"; 98 98 #address-cells = <2>; /* SMB chipselect number and offset */
+1 -1
arch/arm64/boot/dts/arm/fvp-base-revc.dts
··· 206 206 }; 207 207 }; 208 208 209 - smb@8000000 { 209 + bus@8000000 { 210 210 compatible = "simple-bus"; 211 211 212 212 #address-cells = <2>;
+1 -1
arch/arm64/boot/dts/arm/juno-base.dtsi
··· 800 800 <0x00000008 0x80000000 0x1 0x80000000>; 801 801 }; 802 802 803 - smb@8000000 { 803 + bus@8000000 { 804 804 compatible = "simple-bus"; 805 805 #address-cells = <2>; 806 806 #size-cells = <1>;
+1 -1
arch/arm64/boot/dts/arm/juno-motherboard.dtsi
··· 8 8 */ 9 9 10 10 / { 11 - smb@8000000 { 11 + bus@8000000 { 12 12 mb_clk24mhz: clk24mhz { 13 13 compatible = "fixed-clock"; 14 14 #clock-cells = <0>;
+1 -1
arch/arm64/boot/dts/arm/rtsm_ve-aemv8a.dts
··· 132 132 }; 133 133 }; 134 134 135 - smb@8000000 { 135 + bus@8000000 { 136 136 compatible = "simple-bus"; 137 137 138 138 #address-cells = <2>;
+1 -1
arch/arm64/boot/dts/arm/rtsm_ve-motherboard-rs2.dtsi
··· 5 5 * "rs2" extension for the v2m motherboard 6 6 */ 7 7 / { 8 - smb@8000000 { 8 + bus@8000000 { 9 9 motherboard { 10 10 arm,v2m-memory-map = "rs2"; 11 11
+1 -1
arch/arm64/boot/dts/arm/rtsm_ve-motherboard.dtsi
··· 8 8 * VEMotherBoard.lisa 9 9 */ 10 10 / { 11 - smb@8000000 { 11 + bus@8000000 { 12 12 motherboard { 13 13 arm,v2m-memory-map = "rs1"; 14 14 compatible = "arm,vexpress,v2m-p1", "simple-bus";
+1 -1
arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts
··· 144 144 }; 145 145 }; 146 146 147 - smb: smb@8000000 { 147 + smb: bus@8000000 { 148 148 compatible = "simple-bus"; 149 149 150 150 #address-cells = <2>;
+6
arch/arm64/boot/dts/freescale/Makefile
··· 4 4 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-oxalis.dtb 5 5 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-qds.dtb 6 6 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-rdb.dtb 7 + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-kbox-a-230-ls.dtb 8 + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28.dtb 9 + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var2.dtb 10 + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var3-ads2.dtb 11 + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var4.dtb 7 12 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds.dtb 8 13 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-rdb.dtb 9 14 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb ··· 31 26 dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk.dtb 32 27 dtb-$(CONFIG_ARCH_MXC) += imx8mn-evk.dtb 33 28 dtb-$(CONFIG_ARCH_MXC) += imx8mn-ddr4-evk.dtb 29 + dtb-$(CONFIG_ARCH_MXC) += imx8mp-evk.dtb 34 30 dtb-$(CONFIG_ARCH_MXC) += imx8mq-evk.dtb 35 31 dtb-$(CONFIG_ARCH_MXC) += imx8mq-hummingboard-pulse.dtb 36 32 dtb-$(CONFIG_ARCH_MXC) += imx8mq-librem5-devkit.dtb
+91
arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-kbox-a-230-ls.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 2 + /* 3 + * Device Tree File for the Kontron KBox A-230-LS. 4 + * 5 + * This consists of a Kontron SMARC-sAL28 (Dual PHY) and a special 6 + * carrier (s1914). 7 + * 8 + * Copyright (C) 2019 Michael Walle <michael@walle.cc> 9 + * 10 + */ 11 + 12 + /dts-v1/; 13 + #include "fsl-ls1028a-kontron-sl28-var4.dts" 14 + 15 + / { 16 + model = "Kontron KBox A-230-LS"; 17 + compatible = "kontron,kbox-a-230-ls", "kontron,sl28-var4", 18 + "kontron,sl28", "fsl,ls1028a"; 19 + }; 20 + 21 + &enetc_mdio_pf3 { 22 + /* BCM54140 QSGMII quad PHY */ 23 + qsgmii_phy0: ethernet-phy@7 { 24 + reg = <7>; 25 + }; 26 + 27 + qsgmii_phy1: ethernet-phy@8 { 28 + reg = <8>; 29 + }; 30 + 31 + qsgmii_phy2: ethernet-phy@9 { 32 + reg = <9>; 33 + }; 34 + 35 + qsgmii_phy3: ethernet-phy@10 { 36 + reg = <10>; 37 + }; 38 + }; 39 + 40 + &enetc_port2 { 41 + status = "okay"; 42 + }; 43 + 44 + &i2c3 { 45 + eeprom@57 { 46 + compatible = "atmel,24c32"; 47 + reg = <0x57>; 48 + pagesize = <32>; 49 + }; 50 + }; 51 + 52 + &mscc_felix { 53 + status = "okay"; 54 + }; 55 + 56 + &mscc_felix_port0 { 57 + label = "swp0"; 58 + managed = "in-band-status"; 59 + phy-handle = <&qsgmii_phy0>; 60 + phy-mode = "qsgmii"; 61 + status = "okay"; 62 + }; 63 + 64 + &mscc_felix_port1 { 65 + label = "swp1"; 66 + managed = "in-band-status"; 67 + phy-handle = <&qsgmii_phy1>; 68 + phy-mode = "qsgmii"; 69 + status = "okay"; 70 + }; 71 + 72 + &mscc_felix_port2 { 73 + label = "swp2"; 74 + managed = "in-band-status"; 75 + phy-handle = <&qsgmii_phy2>; 76 + phy-mode = "qsgmii"; 77 + status = "okay"; 78 + }; 79 + 80 + &mscc_felix_port3 { 81 + label = "swp3"; 82 + managed = "in-band-status"; 83 + phy-handle = <&qsgmii_phy3>; 84 + phy-mode = "qsgmii"; 85 + status = "okay"; 86 + }; 87 + 88 + &mscc_felix_port4 { 89 + ethernet = <&enetc_port2>; 90 + status = "okay"; 91 + };
+72
arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var2.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 2 + /* 3 + * Device Tree file for the Kontron SMARC-sAL28 board. 4 + * 5 + * This is for the network variant 2 which has two ethernet ports. These 6 + * ports are connected to the internal switch. 7 + * 8 + * Copyright (C) 2020 Michael Walle <michael@walle.cc> 9 + * 10 + */ 11 + 12 + /dts-v1/; 13 + #include "fsl-ls1028a-kontron-sl28.dts" 14 + 15 + / { 16 + model = "Kontron SMARC-sAL28 (TSN-on-module)"; 17 + compatible = "kontron,sl28-var2", "kontron,sl28", "fsl,ls1028a"; 18 + }; 19 + 20 + &enetc_mdio_pf3 { 21 + phy0: ethernet-phy@5 { 22 + reg = <0x5>; 23 + eee-broken-1000t; 24 + eee-broken-100tx; 25 + }; 26 + 27 + phy1: ethernet-phy@4 { 28 + reg = <0x4>; 29 + eee-broken-1000t; 30 + eee-broken-100tx; 31 + }; 32 + }; 33 + 34 + &enetc_port0 { 35 + status = "disabled"; 36 + /* 37 + * In the base device tree the PHY was registered in the mdio 38 + * subnode as it is PHY for this port. On this module this PHY 39 + * is connected to a switch port instead and registered above. 40 + * Therefore, delete the mdio subnode as well as the phy-handle 41 + * property here. 42 + */ 43 + /delete-property/ phy-handle; 44 + /delete-node/ mdio; 45 + }; 46 + 47 + &enetc_port2 { 48 + status = "okay"; 49 + }; 50 + 51 + &mscc_felix { 52 + status = "okay"; 53 + }; 54 + 55 + &mscc_felix_port0 { 56 + label = "gbe0"; 57 + phy-handle = <&phy0>; 58 + phy-mode = "sgmii"; 59 + status = "okay"; 60 + }; 61 + 62 + &mscc_felix_port1 { 63 + label = "gbe1"; 64 + phy-handle = <&phy1>; 65 + phy-mode = "sgmii"; 66 + status = "okay"; 67 + }; 68 + 69 + &mscc_felix_port4 { 70 + ethernet = <&enetc_port2>; 71 + status = "okay"; 72 + };
+117
arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var3-ads2.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 2 + /* 3 + * Device Tree file for the Kontron SMARC-sAL28 board on a SMARC Eval 2.0 4 + * carrier (ADS2). 5 + * 6 + * Copyright (C) 2019 Michael Walle <michael@walle.cc> 7 + * 8 + */ 9 + 10 + /dts-v1/; 11 + #include "fsl-ls1028a-kontron-sl28.dts" 12 + 13 + / { 14 + model = "Kontron SMARC-sAL28 (Single PHY) on SMARC Eval 2.0 carrier"; 15 + compatible = "kontron,sl28-var3-ads2", "kontron,sl28-var3", 16 + "kontron,sl28", "fsl,ls1028a"; 17 + 18 + sound { 19 + #address-cells = <1>; 20 + #size-cells = <0>; 21 + compatible = "simple-audio-card"; 22 + simple-audio-card,widgets = 23 + "Headphone", "Headphone Jack", 24 + "Line", "Line Out Jack", 25 + "Microphone", "Microphone Jack", 26 + "Line", "Line In Jack"; 27 + simple-audio-card,routing = 28 + "Line Out Jack", "LINEOUTR", 29 + "Line Out Jack", "LINEOUTL", 30 + "Headphone Jack", "HPOUTR", 31 + "Headphone Jack", "HPOUTL", 32 + "IN1L", "Line In Jack", 33 + "IN1R", "Line In Jack", 34 + "Microphone Jack", "MICBIAS", 35 + "IN2L", "Microphone Jack", 36 + "IN2R", "Microphone Jack"; 37 + simple-audio-card,mclk-fs = <256>; 38 + 39 + simple-audio-card,dai-link@0 { 40 + reg = <0>; 41 + bitclock-master = <&dailink0_master>; 42 + frame-master = <&dailink0_master>; 43 + format = "i2s"; 44 + 45 + cpu { 46 + sound-dai = <&sai6>; 47 + }; 48 + 49 + dailink0_master: codec { 50 + sound-dai = <&wm8904>; 51 + }; 52 + }; 53 + 54 + simple-audio-card,dai-link@1 { 55 + reg = <1>; 56 + bitclock-master = <&dailink1_master>; 57 + frame-master = <&dailink1_master>; 58 + format = "i2s"; 59 + 60 + cpu { 61 + sound-dai = <&sai5>; 62 + }; 63 + 64 + dailink1_master: codec { 65 + sound-dai = <&wm8904>; 66 + }; 67 + }; 68 + }; 69 + }; 70 + 71 + &dspi2 { 72 + flash@0 { 73 + compatible = "jedec,spi-nor"; 74 + m25p,fast-read; 75 + spi-max-frequency = <100000000>; 76 + reg = <0>; 77 + }; 78 + }; 79 + 80 + &i2c3 { 81 + eeprom@57 { 82 + compatible = "atmel,24c64"; 83 + reg = <0x57>; 84 + pagesize = <32>; 85 + }; 86 + }; 87 + 88 + &i2c4 { 89 + status = "okay"; 90 + 91 + wm8904: audio-codec@1a { 92 + #sound-dai-cells = <0>; 93 + compatible = "wlf,wm8904"; 94 + reg = <0x1a>; 95 + clocks = <&mclk>; 96 + clock-names = "mclk"; 97 + assigned-clocks = <&mclk>; 98 + assigned-clock-rates = <1250000>; 99 + }; 100 + }; 101 + 102 + &sai5 { 103 + status = "okay"; 104 + }; 105 + 106 + &sai6 { 107 + status = "okay"; 108 + }; 109 + 110 + &soc { 111 + mclk: clock-mclk@f130080 { 112 + compatible = "fsl,vf610-sai-clock"; 113 + reg = <0x0 0xf130080 0x0 0x80>; 114 + clocks = <&clockgen 4 1>; 115 + #clock-cells = <0>; 116 + }; 117 + };
+51
arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var4.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 2 + /* 3 + * Device Tree file for the Kontron SMARC-sAL28 board. 4 + * 5 + * This is for the network variant 4 which has two ethernet ports. It 6 + * extends the base and provides one more port connected via RGMII. 7 + * 8 + * Copyright (C) 2019 Michael Walle <michael@walle.cc> 9 + * 10 + */ 11 + 12 + /dts-v1/; 13 + #include "fsl-ls1028a-kontron-sl28.dts" 14 + #include <dt-bindings/net/qca-ar803x.h> 15 + 16 + / { 17 + model = "Kontron SMARC-sAL28 (Dual PHY)"; 18 + compatible = "kontron,sl28-var4", "kontron,sl28", "fsl,ls1028a"; 19 + }; 20 + 21 + &enetc_port1 { 22 + phy-handle = <&phy1>; 23 + phy-connection-type = "rgmii-id"; 24 + status = "okay"; 25 + 26 + mdio { 27 + #address-cells = <1>; 28 + #size-cells = <0>; 29 + 30 + phy1: ethernet-phy@4 { 31 + reg = <0x4>; 32 + eee-broken-1000t; 33 + eee-broken-100tx; 34 + 35 + qca,clk-out-frequency = <125000000>; 36 + qca,clk-out-strength = <AR803X_STRENGTH_FULL>; 37 + 38 + vddio-supply = <&vddh>; 39 + 40 + vddio: vddio-regulator { 41 + regulator-name = "VDDIO"; 42 + regulator-min-microvolt = <1800000>; 43 + regulator-max-microvolt = <1800000>; 44 + }; 45 + 46 + vddh: vddh-regulator { 47 + regulator-name = "VDDH"; 48 + }; 49 + }; 50 + }; 51 + };
+187
arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 2 + /* 3 + * Device Tree file for the Kontron SMARC-sAL28 board. 4 + * 5 + * Copyright (C) 2019 Michael Walle <michael@walle.cc> 6 + * 7 + */ 8 + 9 + /dts-v1/; 10 + #include "fsl-ls1028a.dtsi" 11 + 12 + / { 13 + model = "Kontron SMARC-sAL28"; 14 + compatible = "kontron,sl28", "fsl,ls1028a"; 15 + 16 + aliases { 17 + crypto = &crypto; 18 + serial0 = &duart0; 19 + serial1 = &duart1; 20 + spi0 = &fspi; 21 + spi1 = &dspi2; 22 + }; 23 + 24 + chosen { 25 + stdout-path = "serial0:115200n8"; 26 + }; 27 + }; 28 + 29 + &dspi2 { 30 + status = "okay"; 31 + }; 32 + 33 + &duart0 { 34 + status = "okay"; 35 + }; 36 + 37 + &duart1 { 38 + status = "okay"; 39 + }; 40 + 41 + &enetc_port0 { 42 + phy-handle = <&phy0>; 43 + phy-connection-type = "sgmii"; 44 + status = "okay"; 45 + 46 + mdio { 47 + #address-cells = <1>; 48 + #size-cells = <0>; 49 + 50 + phy0: ethernet-phy@5 { 51 + reg = <0x5>; 52 + eee-broken-1000t; 53 + eee-broken-100tx; 54 + }; 55 + }; 56 + }; 57 + 58 + &esdhc { 59 + sd-uhs-sdr104; 60 + sd-uhs-sdr50; 61 + sd-uhs-sdr25; 62 + sd-uhs-sdr12; 63 + status = "okay"; 64 + }; 65 + 66 + &esdhc1 { 67 + mmc-hs200-1_8v; 68 + mmc-hs400-1_8v; 69 + bus-width = <8>; 70 + status = "okay"; 71 + }; 72 + 73 + &fspi { 74 + status = "okay"; 75 + 76 + flash@0 { 77 + #address-cells = <1>; 78 + #size-cells = <1>; 79 + compatible = "jedec,spi-nor"; 80 + m25p,fast-read; 81 + spi-max-frequency = <133000000>; 82 + reg = <0>; 83 + /* The following setting enables 1-1-2 (CMD-ADDR-DATA) mode */ 84 + spi-rx-bus-width = <2>; /* 2 SPI Rx lines */ 85 + spi-tx-bus-width = <1>; /* 1 SPI Tx line */ 86 + 87 + partition@0 { 88 + reg = <0x000000 0x010000>; 89 + label = "rcw"; 90 + read-only; 91 + }; 92 + 93 + partition@10000 { 94 + reg = <0x010000 0x0f0000>; 95 + label = "failsafe bootloader"; 96 + read-only; 97 + }; 98 + 99 + partition@100000 { 100 + reg = <0x100000 0x040000>; 101 + label = "failsafe DP firmware"; 102 + read-only; 103 + }; 104 + 105 + partition@140000 { 106 + reg = <0x140000 0x0a0000>; 107 + label = "failsafe trusted firmware"; 108 + read-only; 109 + }; 110 + 111 + partition@1e0000 { 112 + reg = <0x1e0000 0x020000>; 113 + label = "reserved"; 114 + read-only; 115 + }; 116 + 117 + partition@200000 { 118 + reg = <0x200000 0x010000>; 119 + label = "configuration store"; 120 + }; 121 + 122 + partition@210000 { 123 + reg = <0x210000 0x0f0000>; 124 + label = "bootloader"; 125 + }; 126 + 127 + partition@300000 { 128 + reg = <0x300000 0x040000>; 129 + label = "DP firmware"; 130 + }; 131 + 132 + partition@340000 { 133 + reg = <0x340000 0x0a0000>; 134 + label = "trusted firmware"; 135 + }; 136 + 137 + partition@3e0000 { 138 + reg = <0x3e0000 0x020000>; 139 + label = "bootloader environment"; 140 + }; 141 + }; 142 + }; 143 + 144 + &gpio1 { 145 + gpio-line-names = 146 + "", "", "", "", "", "", "", "", 147 + "", "", "", "", "", "", "", "", 148 + "", "", "", "", "", "", "TDO", "TCK", 149 + "", "", "", "", "", "", "", ""; 150 + }; 151 + 152 + &gpio2 { 153 + gpio-line-names = 154 + "", "", "", "", "", "", "TMS", "TDI", 155 + "", "", "", "", "", "", "", "", 156 + "", "", "", "", "", "", "", "", 157 + "", "", "", "", "", "", "", ""; 158 + }; 159 + 160 + &i2c0 { 161 + status = "okay"; 162 + 163 + rtc@32 { 164 + compatible = "microcrystal,rv8803"; 165 + reg = <0x32>; 166 + }; 167 + 168 + eeprom@50 { 169 + compatible = "atmel,24c32"; 170 + reg = <0x50>; 171 + pagesize = <32>; 172 + }; 173 + }; 174 + 175 + &i2c3 { 176 + status = "okay"; 177 + }; 178 + 179 + &i2c4 { 180 + status = "okay"; 181 + 182 + eeprom@50 { 183 + compatible = "atmel,24c32"; 184 + reg = <0x50>; 185 + pagesize = <32>; 186 + }; 187 + };
+1
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts
··· 225 225 &enetc_port1 { 226 226 phy-handle = <&qds_phy1>; 227 227 phy-connection-type = "rgmii-id"; 228 + status = "okay"; 228 229 }; 229 230 230 231 &sai1 {
+63 -2
arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts
··· 177 177 status = "okay"; 178 178 }; 179 179 180 + &enetc_mdio_pf3 { 181 + /* VSC8514 QSGMII quad PHY */ 182 + qsgmii_phy0: ethernet-phy@10 { 183 + reg = <0x10>; 184 + }; 185 + 186 + qsgmii_phy1: ethernet-phy@11 { 187 + reg = <0x11>; 188 + }; 189 + 190 + qsgmii_phy2: ethernet-phy@12 { 191 + reg = <0x12>; 192 + }; 193 + 194 + qsgmii_phy3: ethernet-phy@13 { 195 + reg = <0x13>; 196 + }; 197 + }; 198 + 180 199 &enetc_port0 { 181 200 phy-handle = <&sgmii_phy0>; 182 201 phy-connection-type = "sgmii"; 202 + status = "okay"; 183 203 184 204 mdio { 185 205 #address-cells = <1>; ··· 210 190 }; 211 191 }; 212 192 213 - &enetc_port1 { 214 - status = "disabled"; 193 + &enetc_port2 { 194 + status = "okay"; 195 + }; 196 + 197 + &mscc_felix { 198 + status = "okay"; 199 + }; 200 + 201 + &mscc_felix_port0 { 202 + label = "swp0"; 203 + managed = "in-band-status"; 204 + phy-handle = <&qsgmii_phy0>; 205 + phy-mode = "qsgmii"; 206 + status = "okay"; 207 + }; 208 + 209 + &mscc_felix_port1 { 210 + label = "swp1"; 211 + managed = "in-band-status"; 212 + phy-handle = <&qsgmii_phy1>; 213 + phy-mode = "qsgmii"; 214 + status = "okay"; 215 + }; 216 + 217 + &mscc_felix_port2 { 218 + label = "swp2"; 219 + managed = "in-band-status"; 220 + phy-handle = <&qsgmii_phy2>; 221 + phy-mode = "qsgmii"; 222 + status = "okay"; 223 + }; 224 + 225 + &mscc_felix_port3 { 226 + label = "swp3"; 227 + managed = "in-band-status"; 228 + phy-handle = <&qsgmii_phy3>; 229 + phy-mode = "qsgmii"; 230 + status = "okay"; 231 + }; 232 + 233 + &mscc_felix_port4 { 234 + ethernet = <&enetc_port2>; 235 + status = "okay"; 215 236 }; 216 237 217 238 &sai4 {
+182 -2
arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
··· 290 290 status = "disabled"; 291 291 }; 292 292 293 + dspi0: spi@2100000 { 294 + compatible = "fsl,ls1028a-dspi", "fsl,ls1021a-v1.0-dspi"; 295 + #address-cells = <1>; 296 + #size-cells = <0>; 297 + reg = <0x0 0x2100000 0x0 0x10000>; 298 + interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 299 + clock-names = "dspi"; 300 + clocks = <&clockgen 4 1>; 301 + spi-num-chipselects = <4>; 302 + little-endian; 303 + status = "disabled"; 304 + }; 305 + 306 + dspi1: spi@2110000 { 307 + compatible = "fsl,ls1028a-dspi", "fsl,ls1021a-v1.0-dspi"; 308 + #address-cells = <1>; 309 + #size-cells = <0>; 310 + reg = <0x0 0x2110000 0x0 0x10000>; 311 + interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 312 + clock-names = "dspi"; 313 + clocks = <&clockgen 4 1>; 314 + spi-num-chipselects = <4>; 315 + little-endian; 316 + status = "disabled"; 317 + }; 318 + 319 + dspi2: spi@2120000 { 320 + compatible = "fsl,ls1028a-dspi", "fsl,ls1021a-v1.0-dspi"; 321 + #address-cells = <1>; 322 + #size-cells = <0>; 323 + reg = <0x0 0x2120000 0x0 0x10000>; 324 + interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 325 + clock-names = "dspi"; 326 + clocks = <&clockgen 4 1>; 327 + spi-num-chipselects = <3>; 328 + little-endian; 329 + status = "disabled"; 330 + }; 331 + 293 332 esdhc: mmc@2140000 { 294 333 compatible = "fsl,ls1028a-esdhc", "fsl,esdhc"; 295 334 reg = <0x0 0x2140000 0x0 0x10000>; ··· 520 481 reg-names = "ahci", "sata-ecc"; 521 482 interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 522 483 clocks = <&clockgen 4 1>; 484 + status = "disabled"; 485 + }; 486 + 487 + pcie@3400000 { 488 + compatible = "fsl,ls1028a-pcie"; 489 + reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */ 490 + 0x80 0x00000000 0x0 0x00002000>; /* configuration space */ 491 + reg-names = "regs", "config"; 492 + interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */ 493 + <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */ 494 + interrupt-names = "pme", "aer"; 495 + #address-cells = <3>; 496 + #size-cells = <2>; 497 + device_type = "pci"; 498 + dma-coherent; 499 + num-viewport = <8>; 500 + bus-range = <0x0 0xff>; 501 + ranges = <0x81000000 0x0 0x00000000 0x80 0x00010000 0x0 0x00010000 /* downstream I/O */ 502 + 0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ 503 + msi-parent = <&its>; 504 + #interrupt-cells = <1>; 505 + interrupt-map-mask = <0 0 0 7>; 506 + interrupt-map = <0000 0 0 1 &gic 0 0 GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, 507 + <0000 0 0 2 &gic 0 0 GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 508 + <0000 0 0 3 &gic 0 0 GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, 509 + <0000 0 0 4 &gic 0 0 GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 510 + iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */ 511 + status = "disabled"; 512 + }; 513 + 514 + pcie@3500000 { 515 + compatible = "fsl,ls1028a-pcie"; 516 + reg = <0x00 0x03500000 0x0 0x00100000 /* controller registers */ 517 + 0x88 0x00000000 0x0 0x00002000>; /* configuration space */ 518 + reg-names = "regs", "config"; 519 + interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 520 + <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 521 + interrupt-names = "pme", "aer"; 522 + #address-cells = <3>; 523 + #size-cells = <2>; 524 + device_type = "pci"; 525 + dma-coherent; 526 + num-viewport = <8>; 527 + bus-range = <0x0 0xff>; 528 + ranges = <0x81000000 0x0 0x00000000 0x88 0x00010000 0x0 0x00010000 /* downstream I/O */ 529 + 0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ 530 + msi-parent = <&its>; 531 + #interrupt-cells = <1>; 532 + interrupt-map-mask = <0 0 0 7>; 533 + interrupt-map = <0000 0 0 1 &gic 0 0 GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, 534 + <0000 0 0 2 &gic 0 0 GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 535 + <0000 0 0 3 &gic 0 0 GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 536 + <0000 0 0 4 &gic 0 0 GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 537 + iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */ 523 538 status = "disabled"; 524 539 }; 525 540 ··· 849 756 reg = <0x01 0xf0000000 0x0 0x100000>; 850 757 #address-cells = <3>; 851 758 #size-cells = <2>; 852 - #interrupt-cells = <1>; 853 759 msi-parent = <&its>; 854 760 device_type = "pci"; 855 761 bus-range = <0x0 0x0>; ··· 866 774 /* PF1: VF0-1 BAR0 - non-prefetchable memory */ 867 775 0x82000000 0x0 0x00000000 0x1 0xf8210000 0x0 0x020000 868 776 /* PF1: VF0-1 BAR2 - prefetchable memory */ 869 - 0xc2000000 0x0 0x00000000 0x1 0xf8230000 0x0 0x020000>; 777 + 0xc2000000 0x0 0x00000000 0x1 0xf8230000 0x0 0x020000 778 + /* BAR4 (PF5) - non-prefetchable memory */ 779 + 0x82000000 0x0 0x00000000 0x1 0xfc000000 0x0 0x400000>; 870 780 871 781 enetc_port0: ethernet@0,0 { 872 782 compatible = "fsl,enetc"; 873 783 reg = <0x000000 0 0 0 0>; 784 + status = "disabled"; 874 785 }; 786 + 875 787 enetc_port1: ethernet@0,1 { 876 788 compatible = "fsl,enetc"; 877 789 reg = <0x000100 0 0 0 0>; 790 + status = "disabled"; 878 791 }; 792 + 793 + enetc_port2: ethernet@0,2 { 794 + compatible = "fsl,enetc"; 795 + reg = <0x000200 0 0 0 0>; 796 + phy-mode = "internal"; 797 + status = "disabled"; 798 + 799 + fixed-link { 800 + speed = <1000>; 801 + full-duplex; 802 + }; 803 + }; 804 + 879 805 enetc_mdio_pf3: mdio@0,3 { 880 806 compatible = "fsl,enetc-mdio"; 881 807 reg = <0x000300 0 0 0 0>; 882 808 #address-cells = <1>; 883 809 #size-cells = <0>; 884 810 }; 811 + 885 812 ethernet@0,4 { 886 813 compatible = "fsl,enetc-ptp"; 887 814 reg = <0x000400 0 0 0 0>; 888 815 clocks = <&clockgen 4 0>; 889 816 little-endian; 817 + fsl,extts-fifo; 818 + }; 819 + 820 + mscc_felix: ethernet-switch@0,5 { 821 + reg = <0x000500 0 0 0 0>; 822 + /* IEP INT_B */ 823 + interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 824 + status = "disabled"; 825 + 826 + ports { 827 + #address-cells = <1>; 828 + #size-cells = <0>; 829 + 830 + /* External ports */ 831 + mscc_felix_port0: port@0 { 832 + reg = <0>; 833 + status = "disabled"; 834 + }; 835 + 836 + mscc_felix_port1: port@1 { 837 + reg = <1>; 838 + status = "disabled"; 839 + }; 840 + 841 + mscc_felix_port2: port@2 { 842 + reg = <2>; 843 + status = "disabled"; 844 + }; 845 + 846 + mscc_felix_port3: port@3 { 847 + reg = <3>; 848 + status = "disabled"; 849 + }; 850 + 851 + /* Internal ports */ 852 + mscc_felix_port4: port@4 { 853 + reg = <4>; 854 + phy-mode = "internal"; 855 + status = "disabled"; 856 + 857 + fixed-link { 858 + speed = <2500>; 859 + full-duplex; 860 + }; 861 + }; 862 + 863 + mscc_felix_port5: port@5 { 864 + reg = <5>; 865 + phy-mode = "internal"; 866 + status = "disabled"; 867 + 868 + fixed-link { 869 + speed = <1000>; 870 + full-duplex; 871 + }; 872 + }; 873 + }; 874 + }; 875 + 876 + enetc_port3: ethernet@0,6 { 877 + compatible = "fsl,enetc"; 878 + reg = <0x000600 0 0 0 0>; 879 + phy-mode = "internal"; 880 + status = "disabled"; 881 + 882 + fixed-link { 883 + speed = <1000>; 884 + full-duplex; 885 + }; 890 886 }; 891 887 }; 892 888 };
+1
arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts
··· 83 83 }; 84 84 85 85 &esdhc { 86 + mmc-hs200-1_8v; 86 87 status = "okay"; 87 88 }; 88 89
+4
arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
··· 393 393 reg = <0x0 0x2140000 0x0 0x10000>; 394 394 interrupts = <0 28 0x4>; /* Level high type */ 395 395 clock-frequency = <0>; 396 + clocks = <&clockgen 2 1>; 396 397 voltage-ranges = <1800 1800 3300 3300>; 397 398 sdhci,auto-cmd12; 398 399 little-endian; ··· 494 493 <0000 0 0 2 &gic 0 0 0 110 IRQ_TYPE_LEVEL_HIGH>, 495 494 <0000 0 0 3 &gic 0 0 0 111 IRQ_TYPE_LEVEL_HIGH>, 496 495 <0000 0 0 4 &gic 0 0 0 112 IRQ_TYPE_LEVEL_HIGH>; 496 + iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */ 497 497 status = "disabled"; 498 498 }; 499 499 ··· 520 518 <0000 0 0 2 &gic 0 0 0 115 IRQ_TYPE_LEVEL_HIGH>, 521 519 <0000 0 0 3 &gic 0 0 0 116 IRQ_TYPE_LEVEL_HIGH>, 522 520 <0000 0 0 4 &gic 0 0 0 117 IRQ_TYPE_LEVEL_HIGH>; 521 + iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */ 523 522 status = "disabled"; 524 523 }; 525 524 ··· 546 543 <0000 0 0 2 &gic 0 0 0 120 IRQ_TYPE_LEVEL_HIGH>, 547 544 <0000 0 0 3 &gic 0 0 0 121 IRQ_TYPE_LEVEL_HIGH>, 548 545 <0000 0 0 4 &gic 0 0 0 122 IRQ_TYPE_LEVEL_HIGH>; 546 + iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */ 549 547 status = "disabled"; 550 548 }; 551 549
+4
arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
··· 648 648 <0000 0 0 2 &gic 0 0 0 110 4>, 649 649 <0000 0 0 3 &gic 0 0 0 111 4>, 650 650 <0000 0 0 4 &gic 0 0 0 112 4>; 651 + iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */ 651 652 status = "disabled"; 652 653 }; 653 654 ··· 670 669 <0000 0 0 2 &gic 0 0 0 115 4>, 671 670 <0000 0 0 3 &gic 0 0 0 116 4>, 672 671 <0000 0 0 4 &gic 0 0 0 117 4>; 672 + iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */ 673 673 status = "disabled"; 674 674 }; 675 675 ··· 692 690 <0000 0 0 2 &gic 0 0 0 120 4>, 693 691 <0000 0 0 3 &gic 0 0 0 121 4>, 694 692 <0000 0 0 4 &gic 0 0 0 122 4>; 693 + iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */ 695 694 status = "disabled"; 696 695 }; 697 696 ··· 714 711 <0000 0 0 2 &gic 0 0 0 125 4>, 715 712 <0000 0 0 3 &gic 0 0 0 126 4>, 716 713 <0000 0 0 4 &gic 0 0 0 127 4>; 714 + iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */ 717 715 status = "disabled"; 718 716 }; 719 717
+37
arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi
··· 59 59 #size-cells = <0>; 60 60 reg = <0x77>; 61 61 62 + i2c@0 { 63 + #address-cells = <1>; 64 + #size-cells = <0>; 65 + reg = <0>; 66 + 67 + eeprom@50 { 68 + compatible = "atmel,24c512"; 69 + reg = <0x50>; 70 + }; 71 + 72 + eeprom@51 { 73 + compatible = "atmel,spd"; 74 + reg = <0x51>; 75 + }; 76 + 77 + eeprom@53 { 78 + compatible = "atmel,spd"; 79 + reg = <0x53>; 80 + }; 81 + 82 + eeprom@57 { 83 + compatible = "atmel,24c02"; 84 + reg = <0x57>; 85 + }; 86 + }; 87 + 62 88 i2c@1 { 63 89 #address-cells = <1>; 64 90 #size-cells = <0>; ··· 96 70 cooling-min-state = <0>; 97 71 cooling-max-state = <9>; 98 72 #cooling-cells = <2>; 73 + }; 74 + }; 75 + 76 + i2c@2 { 77 + #address-cells = <1>; 78 + #size-cells = <0>; 79 + reg = <2>; 80 + 81 + regulator@5c { 82 + compatible = "lltc,ltc3882"; 83 + reg = <0x5c>; 99 84 }; 100 85 }; 101 86
+15
arch/arm64/boot/dts/freescale/fsl-lx2160a-qds.dts
··· 43 43 status = "okay"; 44 44 }; 45 45 46 + &fspi { 47 + status = "okay"; 48 + 49 + mt35xu512aba0: flash@0 { 50 + #address-cells = <1>; 51 + #size-cells = <1>; 52 + compatible = "jedec,spi-nor"; 53 + m25p,fast-read; 54 + spi-max-frequency = <50000000>; 55 + reg = <0>; 56 + spi-rx-bus-width = <8>; 57 + spi-tx-bus-width = <8>; 58 + }; 59 + }; 60 + 46 61 &i2c0 { 47 62 status = "okay"; 48 63
+2 -2
arch/arm64/boot/dts/freescale/fsl-lx2160a-rdb.dts
··· 84 84 mt35xu512aba0: flash@0 { 85 85 #address-cells = <1>; 86 86 #size-cells = <1>; 87 - compatible = "spansion,m25p80"; 87 + compatible = "jedec,spi-nor"; 88 88 m25p,fast-read; 89 89 spi-max-frequency = <50000000>; 90 90 reg = <0>; ··· 95 95 mt35xu512aba1: flash@1 { 96 96 #address-cells = <1>; 97 97 #size-cells = <1>; 98 - compatible = "spansion,m25p80"; 98 + compatible = "jedec,spi-nor"; 99 99 m25p,fast-read; 100 100 spi-max-frequency = <50000000>; 101 101 reg = <1>;
+168
arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
··· 834 834 status = "disabled"; 835 835 }; 836 836 837 + pcie@3400000 { 838 + compatible = "fsl,lx2160a-pcie"; 839 + reg = <0x00 0x03400000 0x0 0x00100000 /* controller registers */ 840 + 0x80 0x00000000 0x0 0x00001000>; /* configuration space */ 841 + reg-names = "csr_axi_slave", "config_axi_slave"; 842 + interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, /* AER interrupt */ 843 + <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */ 844 + <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */ 845 + interrupt-names = "aer", "pme", "intr"; 846 + #address-cells = <3>; 847 + #size-cells = <2>; 848 + device_type = "pci"; 849 + dma-coherent; 850 + apio-wins = <8>; 851 + ppio-wins = <8>; 852 + bus-range = <0x0 0xff>; 853 + ranges = <0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ 854 + msi-parent = <&its>; 855 + #interrupt-cells = <1>; 856 + interrupt-map-mask = <0 0 0 7>; 857 + interrupt-map = <0000 0 0 1 &gic 0 0 GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, 858 + <0000 0 0 2 &gic 0 0 GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, 859 + <0000 0 0 3 &gic 0 0 GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, 860 + <0000 0 0 4 &gic 0 0 GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 861 + iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */ 862 + status = "disabled"; 863 + }; 864 + 865 + pcie@3500000 { 866 + compatible = "fsl,lx2160a-pcie"; 867 + reg = <0x00 0x03500000 0x0 0x00100000 /* controller registers */ 868 + 0x88 0x00000000 0x0 0x00001000>; /* configuration space */ 869 + reg-names = "csr_axi_slave", "config_axi_slave"; 870 + interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, /* AER interrupt */ 871 + <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */ 872 + <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */ 873 + interrupt-names = "aer", "pme", "intr"; 874 + #address-cells = <3>; 875 + #size-cells = <2>; 876 + device_type = "pci"; 877 + dma-coherent; 878 + apio-wins = <8>; 879 + ppio-wins = <8>; 880 + bus-range = <0x0 0xff>; 881 + ranges = <0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ 882 + msi-parent = <&its>; 883 + #interrupt-cells = <1>; 884 + interrupt-map-mask = <0 0 0 7>; 885 + interrupt-map = <0000 0 0 1 &gic 0 0 GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, 886 + <0000 0 0 2 &gic 0 0 GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 887 + <0000 0 0 3 &gic 0 0 GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, 888 + <0000 0 0 4 &gic 0 0 GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 889 + iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */ 890 + status = "disabled"; 891 + }; 892 + 893 + pcie@3600000 { 894 + compatible = "fsl,lx2160a-pcie"; 895 + reg = <0x00 0x03600000 0x0 0x00100000 /* controller registers */ 896 + 0x90 0x00000000 0x0 0x00001000>; /* configuration space */ 897 + reg-names = "csr_axi_slave", "config_axi_slave"; 898 + interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, /* AER interrupt */ 899 + <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */ 900 + <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */ 901 + interrupt-names = "aer", "pme", "intr"; 902 + #address-cells = <3>; 903 + #size-cells = <2>; 904 + device_type = "pci"; 905 + dma-coherent; 906 + apio-wins = <256>; 907 + ppio-wins = <24>; 908 + bus-range = <0x0 0xff>; 909 + ranges = <0x82000000 0x0 0x40000000 0x90 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ 910 + msi-parent = <&its>; 911 + #interrupt-cells = <1>; 912 + interrupt-map-mask = <0 0 0 7>; 913 + interrupt-map = <0000 0 0 1 &gic 0 0 GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>, 914 + <0000 0 0 2 &gic 0 0 GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 915 + <0000 0 0 3 &gic 0 0 GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 916 + <0000 0 0 4 &gic 0 0 GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 917 + iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */ 918 + status = "disabled"; 919 + }; 920 + 921 + pcie@3700000 { 922 + compatible = "fsl,lx2160a-pcie"; 923 + reg = <0x00 0x03700000 0x0 0x00100000 /* controller registers */ 924 + 0x98 0x00000000 0x0 0x00001000>; /* configuration space */ 925 + reg-names = "csr_axi_slave", "config_axi_slave"; 926 + interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, /* AER interrupt */ 927 + <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */ 928 + <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */ 929 + interrupt-names = "aer", "pme", "intr"; 930 + #address-cells = <3>; 931 + #size-cells = <2>; 932 + device_type = "pci"; 933 + dma-coherent; 934 + apio-wins = <8>; 935 + ppio-wins = <8>; 936 + bus-range = <0x0 0xff>; 937 + ranges = <0x82000000 0x0 0x40000000 0x98 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ 938 + msi-parent = <&its>; 939 + #interrupt-cells = <1>; 940 + interrupt-map-mask = <0 0 0 7>; 941 + interrupt-map = <0000 0 0 1 &gic 0 0 GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>, 942 + <0000 0 0 2 &gic 0 0 GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 943 + <0000 0 0 3 &gic 0 0 GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>, 944 + <0000 0 0 4 &gic 0 0 GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 945 + iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */ 946 + status = "disabled"; 947 + }; 948 + 949 + pcie@3800000 { 950 + compatible = "fsl,lx2160a-pcie"; 951 + reg = <0x00 0x03800000 0x0 0x00100000 /* controller registers */ 952 + 0xa0 0x00000000 0x0 0x00001000>; /* configuration space */ 953 + reg-names = "csr_axi_slave", "config_axi_slave"; 954 + interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>, /* AER interrupt */ 955 + <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */ 956 + <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */ 957 + interrupt-names = "aer", "pme", "intr"; 958 + #address-cells = <3>; 959 + #size-cells = <2>; 960 + device_type = "pci"; 961 + dma-coherent; 962 + apio-wins = <256>; 963 + ppio-wins = <24>; 964 + bus-range = <0x0 0xff>; 965 + ranges = <0x82000000 0x0 0x40000000 0xa0 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ 966 + msi-parent = <&its>; 967 + #interrupt-cells = <1>; 968 + interrupt-map-mask = <0 0 0 7>; 969 + interrupt-map = <0000 0 0 1 &gic 0 0 GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>, 970 + <0000 0 0 2 &gic 0 0 GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>, 971 + <0000 0 0 3 &gic 0 0 GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, 972 + <0000 0 0 4 &gic 0 0 GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>; 973 + iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */ 974 + status = "disabled"; 975 + }; 976 + 977 + pcie@3900000 { 978 + compatible = "fsl,lx2160a-pcie"; 979 + reg = <0x00 0x03900000 0x0 0x00100000 /* controller registers */ 980 + 0xa8 0x00000000 0x0 0x00001000>; /* configuration space */ 981 + reg-names = "csr_axi_slave", "config_axi_slave"; 982 + interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, /* AER interrupt */ 983 + <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, /* PME interrupt */ 984 + <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */ 985 + interrupt-names = "aer", "pme", "intr"; 986 + #address-cells = <3>; 987 + #size-cells = <2>; 988 + device_type = "pci"; 989 + dma-coherent; 990 + apio-wins = <8>; 991 + ppio-wins = <8>; 992 + bus-range = <0x0 0xff>; 993 + ranges = <0x82000000 0x0 0x40000000 0xa8 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ 994 + msi-parent = <&its>; 995 + #interrupt-cells = <1>; 996 + interrupt-map-mask = <0 0 0 7>; 997 + interrupt-map = <0000 0 0 1 &gic 0 0 GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, 998 + <0000 0 0 2 &gic 0 0 GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 999 + <0000 0 0 3 &gic 0 0 GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, 1000 + <0000 0 0 4 &gic 0 0 GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 1001 + iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */ 1002 + status = "disabled"; 1003 + }; 1004 + 837 1005 smmu: iommu@5000000 { 838 1006 compatible = "arm,mmu-500"; 839 1007 reg = <0 0x5000000 0 0x800000>;
+2
arch/arm64/boot/dts/freescale/imx8mm-evk.dts
··· 107 107 pinctrl-0 = <&pinctrl_fec1>; 108 108 phy-mode = "rgmii-id"; 109 109 phy-handle = <&ethphy0>; 110 + phy-reset-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>; 111 + phy-reset-duration = <10>; 110 112 fsl,magic-packet; 111 113 status = "okay"; 112 114
+68 -6
arch/arm64/boot/dts/freescale/imx8mm.dtsi
··· 68 68 nvmem-cells = <&cpu_speed_grade>; 69 69 nvmem-cell-names = "speed_grade"; 70 70 cpu-idle-states = <&cpu_pd_wait>; 71 + #cooling-cells = <2>; 71 72 }; 72 73 73 74 A53_1: cpu@1 { ··· 81 80 next-level-cache = <&A53_L2>; 82 81 operating-points-v2 = <&a53_opp_table>; 83 82 cpu-idle-states = <&cpu_pd_wait>; 83 + #cooling-cells = <2>; 84 84 }; 85 85 86 86 A53_2: cpu@2 { ··· 94 92 next-level-cache = <&A53_L2>; 95 93 operating-points-v2 = <&a53_opp_table>; 96 94 cpu-idle-states = <&cpu_pd_wait>; 95 + #cooling-cells = <2>; 97 96 }; 98 97 99 98 A53_3: cpu@3 { ··· 107 104 next-level-cache = <&A53_L2>; 108 105 operating-points-v2 = <&a53_opp_table>; 109 106 cpu-idle-states = <&cpu_pd_wait>; 107 + #cooling-cells = <2>; 110 108 }; 111 109 112 110 A53_L2: l2-cache0 { ··· 208 204 arm,no-tick-in-suspend; 209 205 }; 210 206 207 + thermal-zones { 208 + cpu-thermal { 209 + polling-delay-passive = <250>; 210 + polling-delay = <2000>; 211 + thermal-sensors = <&tmu>; 212 + trips { 213 + cpu_alert0: trip0 { 214 + temperature = <85000>; 215 + hysteresis = <2000>; 216 + type = "passive"; 217 + }; 218 + 219 + cpu_crit0: trip1 { 220 + temperature = <95000>; 221 + hysteresis = <2000>; 222 + type = "critical"; 223 + }; 224 + }; 225 + 226 + cooling-maps { 227 + map0 { 228 + trip = <&cpu_alert0>; 229 + cooling-device = 230 + <&A53_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 231 + <&A53_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 232 + <&A53_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 233 + <&A53_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 234 + }; 235 + }; 236 + }; 237 + }; 238 + 211 239 usbphynop1: usbphynop1 { 212 240 compatible = "usb-nop-xceiv"; 213 241 clocks = <&clk IMX8MM_CLK_USB_PHY_REF>; ··· 263 227 ranges = <0x0 0x0 0x0 0x3e000000>; 264 228 265 229 aips1: bus@30000000 { 266 - compatible = "simple-bus"; 230 + compatible = "fsl,aips-bus", "simple-bus"; 231 + reg = <0x301f0000 0x10000>; 267 232 #address-cells = <1>; 268 233 #size-cells = <1>; 269 234 ranges = <0x30000000 0x30000000 0x400000>; ··· 400 363 gpio-ranges = <&iomuxc 0 119 30>; 401 364 }; 402 365 366 + tmu: tmu@30260000 { 367 + compatible = "fsl,imx8mm-tmu"; 368 + reg = <0x30260000 0x10000>; 369 + clocks = <&clk IMX8MM_CLK_TMU_ROOT>; 370 + #thermal-sensor-cells = <0>; 371 + }; 372 + 403 373 wdog1: watchdog@30280000 { 404 374 compatible = "fsl,imx8mm-wdt", "fsl,imx21-wdt"; 405 375 reg = <0x30280000 0x10000>; ··· 499 455 compatible = "fsl,sec-v4.0-pwrkey"; 500 456 regmap = <&snvs>; 501 457 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 458 + clocks = <&clk IMX8MM_CLK_SNVS_ROOT>; 459 + clock-names = "snvs-pwrkey"; 502 460 linux,keycode = <KEY_POWER>; 503 461 wakeup-source; 504 462 status = "disabled"; ··· 542 496 }; 543 497 544 498 aips2: bus@30400000 { 545 - compatible = "simple-bus"; 499 + compatible = "fsl,aips-bus", "simple-bus"; 500 + reg = <0x305f0000 0x10000>; 546 501 #address-cells = <1>; 547 502 #size-cells = <1>; 548 503 ranges = <0x30400000 0x30400000 0x400000>; ··· 602 555 }; 603 556 604 557 aips3: bus@30800000 { 605 - compatible = "simple-bus"; 558 + compatible = "fsl,aips-bus", "simple-bus"; 559 + reg = <0x309f0000 0x10000>; 606 560 #address-cells = <1>; 607 561 #size-cells = <1>; 608 - ranges = <0x30800000 0x30800000 0x400000>; 562 + ranges = <0x30800000 0x30800000 0x400000>, 563 + <0x8000000 0x8000000 0x10000000>; 609 564 610 565 ecspi1: spi@30820000 { 611 566 compatible = "fsl,imx8mm-ecspi", "fsl,imx51-ecspi"; ··· 809 760 status = "disabled"; 810 761 }; 811 762 763 + flexspi: spi@30bb0000 { 764 + #address-cells = <1>; 765 + #size-cells = <0>; 766 + compatible = "nxp,imx8mm-fspi"; 767 + reg = <0x30bb0000 0x10000>, <0x8000000 0x10000000>; 768 + reg-names = "fspi_base", "fspi_mmap"; 769 + interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 770 + clocks = <&clk IMX8MM_CLK_QSPI_ROOT>, 771 + <&clk IMX8MM_CLK_QSPI_ROOT>; 772 + clock-names = "fspi", "fspi_en"; 773 + status = "disabled"; 774 + }; 775 + 812 776 sdma1: dma-controller@30bd0000 { 813 777 compatible = "fsl,imx8mm-sdma", "fsl,imx8mq-sdma"; 814 778 reg = <0x30bd0000 0x10000>; ··· 862 800 }; 863 801 864 802 aips4: bus@32c00000 { 865 - compatible = "simple-bus"; 803 + compatible = "fsl,aips-bus", "simple-bus"; 804 + reg = <0x32df0000 0x10000>; 866 805 #address-cells = <1>; 867 806 #size-cells = <1>; 868 807 ranges = <0x32c00000 0x32c00000 0x400000>; ··· 959 896 ddr-pmu@3d800000 { 960 897 compatible = "fsl,imx8mm-ddr-pmu", "fsl,imx8m-ddr-pmu"; 961 898 reg = <0x3d800000 0x400000>; 962 - interrupt-parent = <&gic>; 963 899 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 964 900 }; 965 901 };
+21
arch/arm64/boot/dts/freescale/imx8mn-evk.dtsi
··· 102 102 }; 103 103 }; 104 104 105 + &i2c3 { 106 + clock-frequency = <400000>; 107 + pinctrl-names = "default"; 108 + pinctrl-0 = <&pinctrl_i2c3>; 109 + status = "okay"; 110 + 111 + pca6416: gpio@20 { 112 + compatible = "ti,tca6416"; 113 + reg = <0x20>; 114 + gpio-controller; 115 + #gpio-cells = <2>; 116 + }; 117 + }; 118 + 105 119 &snvs_pwrkey { 106 120 status = "okay"; 107 121 }; ··· 213 199 fsl,pins = < 214 200 MX8MN_IOMUXC_I2C2_SCL_I2C2_SCL 0x400001c3 215 201 MX8MN_IOMUXC_I2C2_SDA_I2C2_SDA 0x400001c3 202 + >; 203 + }; 204 + 205 + pinctrl_i2c3: i2c3grp { 206 + fsl,pins = < 207 + MX8MN_IOMUXC_I2C3_SCL_I2C3_SCL 0x400001c3 208 + MX8MN_IOMUXC_I2C3_SDA_I2C3_SDA 0x400001c3 216 209 >; 217 210 }; 218 211
+69 -12
arch/arm64/boot/dts/freescale/imx8mn.dtsi
··· 7 7 #include <dt-bindings/gpio/gpio.h> 8 8 #include <dt-bindings/input/input.h> 9 9 #include <dt-bindings/interrupt-controller/arm-gic.h> 10 + #include <dt-bindings/thermal/thermal.h> 10 11 11 12 #include "imx8mn-pinfunc.h" 12 13 ··· 68 67 nvmem-cells = <&cpu_speed_grade>; 69 68 nvmem-cell-names = "speed_grade"; 70 69 cpu-idle-states = <&cpu_pd_wait>; 70 + #cooling-cells = <2>; 71 71 }; 72 72 73 73 A53_1: cpu@1 { ··· 81 79 next-level-cache = <&A53_L2>; 82 80 operating-points-v2 = <&a53_opp_table>; 83 81 cpu-idle-states = <&cpu_pd_wait>; 82 + #cooling-cells = <2>; 84 83 }; 85 84 86 85 A53_2: cpu@2 { ··· 94 91 next-level-cache = <&A53_L2>; 95 92 operating-points-v2 = <&a53_opp_table>; 96 93 cpu-idle-states = <&cpu_pd_wait>; 94 + #cooling-cells = <2>; 97 95 }; 98 96 99 97 A53_3: cpu@3 { ··· 107 103 next-level-cache = <&A53_L2>; 108 104 operating-points-v2 = <&a53_opp_table>; 109 105 cpu-idle-states = <&cpu_pd_wait>; 106 + #cooling-cells = <2>; 110 107 }; 111 108 112 109 A53_L2: l2-cache0 { ··· 121 116 122 117 opp-1200000000 { 123 118 opp-hz = /bits/ 64 <1200000000>; 124 - opp-microvolt = <850000>; 119 + opp-microvolt = <950000>; 125 120 opp-supported-hw = <0xb00>, <0x7>; 126 121 clock-latency-ns = <150000>; 127 122 opp-suspend; ··· 191 186 method = "smc"; 192 187 }; 193 188 189 + thermal-zones { 190 + cpu-thermal { 191 + polling-delay-passive = <250>; 192 + polling-delay = <2000>; 193 + thermal-sensors = <&tmu>; 194 + trips { 195 + cpu_alert0: trip0 { 196 + temperature = <85000>; 197 + hysteresis = <2000>; 198 + type = "passive"; 199 + }; 200 + 201 + cpu_crit0: trip1 { 202 + temperature = <95000>; 203 + hysteresis = <2000>; 204 + type = "critical"; 205 + }; 206 + }; 207 + 208 + cooling-maps { 209 + map0 { 210 + trip = <&cpu_alert0>; 211 + cooling-device = 212 + <&A53_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 213 + <&A53_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 214 + <&A53_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 215 + <&A53_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 216 + }; 217 + }; 218 + }; 219 + }; 220 + 194 221 timer { 195 222 compatible = "arm,armv8-timer"; 196 223 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, ··· 240 203 ranges = <0x0 0x0 0x0 0x3e000000>; 241 204 242 205 aips1: bus@30000000 { 243 - compatible = "simple-bus"; 244 - reg = <0x30000000 0x400000>; 206 + compatible = "fsl,aips-bus", "simple-bus"; 207 + reg = <0x301f0000 0x10000>; 245 208 #address-cells = <1>; 246 209 #size-cells = <1>; 247 210 ranges; ··· 309 272 interrupt-controller; 310 273 #interrupt-cells = <2>; 311 274 gpio-ranges = <&iomuxc 0 119 30>; 275 + }; 276 + 277 + tmu: tmu@30260000 { 278 + compatible = "fsl,imx8mn-tmu", "fsl,imx8mm-tmu"; 279 + reg = <0x30260000 0x10000>; 280 + clocks = <&clk IMX8MN_CLK_TMU_ROOT>; 281 + #thermal-sensor-cells = <0>; 312 282 }; 313 283 314 284 wdog1: watchdog@30280000 { ··· 402 358 offset = <0x34>; 403 359 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 404 360 <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 361 + clocks = <&clk IMX8MN_CLK_SNVS_ROOT>; 405 362 clock-names = "snvs-rtc"; 406 363 }; 407 364 ··· 410 365 compatible = "fsl,sec-v4.0-pwrkey"; 411 366 regmap = <&snvs>; 412 367 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 368 + clocks = <&clk IMX8MN_CLK_SNVS_ROOT>; 369 + clock-names = "snvs-pwrkey"; 413 370 linux,keycode = <KEY_POWER>; 414 371 wakeup-source; 415 372 status = "disabled"; ··· 426 379 <&clk_ext3>, <&clk_ext4>; 427 380 clock-names = "osc_32k", "osc_24m", "clk_ext1", "clk_ext2", 428 381 "clk_ext3", "clk_ext4"; 382 + assigned-clocks = <&clk IMX8MN_CLK_NOC>, 383 + <&clk IMX8MN_CLK_AUDIO_AHB>, 384 + <&clk IMX8MN_CLK_IPG_AUDIO_ROOT>, 385 + <&clk IMX8MN_SYS_PLL3>; 386 + assigned-clock-parents = <&clk IMX8MN_SYS_PLL3_OUT>, 387 + <&clk IMX8MN_SYS_PLL1_800M>; 388 + assigned-clock-rates = <0>, 389 + <400000000>, 390 + <400000000>, 391 + <600000000>; 429 392 }; 430 393 431 394 src: reset-controller@30390000 { ··· 447 390 }; 448 391 449 392 aips2: bus@30400000 { 450 - compatible = "simple-bus"; 451 - reg = <0x30400000 0x400000>; 393 + compatible = "fsl,aips-bus", "simple-bus"; 394 + reg = <0x305f0000 0x10000>; 452 395 #address-cells = <1>; 453 396 #size-cells = <1>; 454 397 ranges; ··· 507 450 }; 508 451 509 452 aips3: bus@30800000 { 510 - compatible = "simple-bus"; 511 - reg = <0x30800000 0x400000>; 453 + compatible = "fsl,aips-bus", "simple-bus"; 454 + reg = <0x309f0000 0x10000>; 512 455 #address-cells = <1>; 513 456 #size-cells = <1>; 514 457 ranges; ··· 600 543 <&clk IMX8MN_CLK_IPG_ROOT>; 601 544 clock-names = "aclk", "ipg"; 602 545 603 - sec_jr0: jr0@1000 { 546 + sec_jr0: jr@1000 { 604 547 compatible = "fsl,sec-v4.0-job-ring"; 605 548 reg = <0x1000 0x1000>; 606 549 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 607 550 }; 608 551 609 - sec_jr1: jr1@2000 { 552 + sec_jr1: jr@2000 { 610 553 compatible = "fsl,sec-v4.0-job-ring"; 611 554 reg = <0x2000 0x1000>; 612 555 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 613 556 }; 614 557 615 - sec_jr2: jr2@3000 { 558 + sec_jr2: jr@3000 { 616 559 compatible = "fsl,sec-v4.0-job-ring"; 617 560 reg = <0x3000 0x1000>; 618 561 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; ··· 753 696 }; 754 697 755 698 aips4: bus@32c00000 { 756 - compatible = "simple-bus"; 757 - reg = <0x32c00000 0x400000>; 699 + compatible = "fsl,aips-bus", "simple-bus"; 700 + reg = <0x32df0000 0x10000>; 758 701 #address-cells = <1>; 759 702 #size-cells = <1>; 760 703 ranges;
+270
arch/arm64/boot/dts/freescale/imx8mp-evk.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright 2019 NXP 4 + */ 5 + 6 + /dts-v1/; 7 + 8 + #include "imx8mp.dtsi" 9 + 10 + / { 11 + model = "NXP i.MX8MPlus EVK board"; 12 + compatible = "fsl,imx8mp-evk", "fsl,imx8mp"; 13 + 14 + chosen { 15 + stdout-path = &uart2; 16 + }; 17 + 18 + gpio-leds { 19 + compatible = "gpio-leds"; 20 + pinctrl-names = "default"; 21 + pinctrl-0 = <&pinctrl_gpio_led>; 22 + 23 + status { 24 + label = "yellow:status"; 25 + gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>; 26 + default-state = "on"; 27 + }; 28 + }; 29 + 30 + memory@40000000 { 31 + device_type = "memory"; 32 + reg = <0x0 0x40000000 0 0xc0000000>, 33 + <0x1 0x00000000 0 0xc0000000>; 34 + }; 35 + 36 + reg_usdhc2_vmmc: regulator-usdhc2 { 37 + compatible = "regulator-fixed"; 38 + pinctrl-names = "default"; 39 + pinctrl-0 = <&pinctrl_reg_usdhc2_vmmc>; 40 + regulator-name = "VSD_3V3"; 41 + regulator-min-microvolt = <3300000>; 42 + regulator-max-microvolt = <3300000>; 43 + gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 44 + enable-active-high; 45 + }; 46 + }; 47 + 48 + &fec { 49 + pinctrl-names = "default"; 50 + pinctrl-0 = <&pinctrl_fec>; 51 + phy-mode = "rgmii-id"; 52 + phy-handle = <&ethphy1>; 53 + fsl,magic-packet; 54 + status = "okay"; 55 + 56 + mdio { 57 + #address-cells = <1>; 58 + #size-cells = <0>; 59 + 60 + ethphy1: ethernet-phy@1 { 61 + compatible = "ethernet-phy-ieee802.3-c22"; 62 + reg = <1>; 63 + eee-broken-1000t; 64 + reset-gpios = <&gpio4 2 GPIO_ACTIVE_LOW>; 65 + }; 66 + }; 67 + }; 68 + 69 + &i2c3 { 70 + clock-frequency = <400000>; 71 + pinctrl-names = "default"; 72 + pinctrl-0 = <&pinctrl_i2c3>; 73 + status = "okay"; 74 + 75 + pca6416: gpio@20 { 76 + compatible = "ti,tca6416"; 77 + reg = <0x20>; 78 + gpio-controller; 79 + #gpio-cells = <2>; 80 + }; 81 + }; 82 + 83 + &snvs_pwrkey { 84 + status = "okay"; 85 + }; 86 + 87 + &uart2 { 88 + /* console */ 89 + pinctrl-names = "default"; 90 + pinctrl-0 = <&pinctrl_uart2>; 91 + status = "okay"; 92 + }; 93 + 94 + &usdhc2 { 95 + assigned-clocks = <&clk IMX8MP_CLK_USDHC2>; 96 + assigned-clock-rates = <400000000>; 97 + pinctrl-names = "default", "state_100mhz", "state_200mhz"; 98 + pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; 99 + pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; 100 + pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; 101 + cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; 102 + vmmc-supply = <&reg_usdhc2_vmmc>; 103 + bus-width = <4>; 104 + status = "okay"; 105 + }; 106 + 107 + &usdhc3 { 108 + assigned-clocks = <&clk IMX8MP_CLK_USDHC3>; 109 + assigned-clock-rates = <400000000>; 110 + pinctrl-names = "default", "state_100mhz", "state_200mhz"; 111 + pinctrl-0 = <&pinctrl_usdhc3>; 112 + pinctrl-1 = <&pinctrl_usdhc3_100mhz>; 113 + pinctrl-2 = <&pinctrl_usdhc3_200mhz>; 114 + bus-width = <8>; 115 + non-removable; 116 + status = "okay"; 117 + }; 118 + 119 + &wdog1 { 120 + pinctrl-names = "default"; 121 + pinctrl-0 = <&pinctrl_wdog>; 122 + fsl,ext-reset-output; 123 + status = "okay"; 124 + }; 125 + 126 + &iomuxc { 127 + pinctrl-names = "default"; 128 + 129 + pinctrl_fec: fecgrp { 130 + fsl,pins = < 131 + MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC 0x3 132 + MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO 0x3 133 + MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0 0x91 134 + MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1 0x91 135 + MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2 0x91 136 + MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3 0x91 137 + MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC 0x91 138 + MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL 0x91 139 + MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0 0x1f 140 + MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1 0x1f 141 + MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2 0x1f 142 + MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3 0x1f 143 + MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL 0x1f 144 + MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC 0x1f 145 + MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02 0x19 146 + >; 147 + }; 148 + 149 + pinctrl_gpio_led: gpioledgrp { 150 + fsl,pins = < 151 + MX8MP_IOMUXC_NAND_READY_B__GPIO3_IO16 0x19 152 + >; 153 + }; 154 + 155 + pinctrl_i2c3: i2c3grp { 156 + fsl,pins = < 157 + MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL 0x400001c3 158 + MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA 0x400001c3 159 + >; 160 + }; 161 + 162 + pinctrl_reg_usdhc2_vmmc: regusdhc2vmmc { 163 + fsl,pins = < 164 + MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x41 165 + >; 166 + }; 167 + 168 + pinctrl_uart2: uart2grp { 169 + fsl,pins = < 170 + MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x49 171 + MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x49 172 + >; 173 + }; 174 + 175 + pinctrl_usdhc2: usdhc2grp { 176 + fsl,pins = < 177 + MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x190 178 + MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d0 179 + MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d0 180 + MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d0 181 + MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d0 182 + MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d0 183 + MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1 184 + >; 185 + }; 186 + 187 + pinctrl_usdhc2_100mhz: usdhc2grp-100mhz { 188 + fsl,pins = < 189 + MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x194 190 + MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d4 191 + MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d4 192 + MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d4 193 + MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d4 194 + MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d4 195 + MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1 196 + >; 197 + }; 198 + 199 + pinctrl_usdhc2_200mhz: usdhc2grp-200mhz { 200 + fsl,pins = < 201 + MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x196 202 + MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x1d6 203 + MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x1d6 204 + MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x1d6 205 + MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x1d6 206 + MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x1d6 207 + MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0xc1 208 + >; 209 + }; 210 + 211 + pinctrl_usdhc2_gpio: usdhc2grp-gpio { 212 + fsl,pins = < 213 + MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 0x1c4 214 + >; 215 + }; 216 + 217 + pinctrl_usdhc3: usdhc3grp { 218 + fsl,pins = < 219 + MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x190 220 + MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d0 221 + MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d0 222 + MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d0 223 + MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d0 224 + MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d0 225 + MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d0 226 + MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d0 227 + MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d0 228 + MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d0 229 + MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x190 230 + >; 231 + }; 232 + 233 + pinctrl_usdhc3_100mhz: usdhc3grp-100mhz { 234 + fsl,pins = < 235 + MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x194 236 + MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d4 237 + MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d4 238 + MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d4 239 + MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d4 240 + MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d4 241 + MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d4 242 + MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d4 243 + MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d4 244 + MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d4 245 + MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x194 246 + >; 247 + }; 248 + 249 + pinctrl_usdhc3_200mhz: usdhc3grp-200mhz { 250 + fsl,pins = < 251 + MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x196 252 + MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x1d6 253 + MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x1d6 254 + MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x1d6 255 + MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x1d6 256 + MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x1d6 257 + MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x1d6 258 + MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x1d6 259 + MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x1d6 260 + MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x1d6 261 + MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x196 262 + >; 263 + }; 264 + 265 + pinctrl_wdog: wdoggrp { 266 + fsl,pins = < 267 + MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B 0xc6 268 + >; 269 + }; 270 + };
+931
arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0+ */ 2 + /* 3 + * Copyright 2019 NXP 4 + */ 5 + 6 + #ifndef __DTS_IMX8MP_PINFUNC_H 7 + #define __DTS_IMX8MP_PINFUNC_H 8 + 9 + /* 10 + * The pin function ID is a tuple of 11 + * <mux_reg conf_reg input_reg mux_mode input_val> 12 + */ 13 + #define MX8MP_IOMUXC_GPIO1_IO00__GPIO1_IO00 0x014 0x274 0x000 0x0 0x0 14 + #define MX8MP_IOMUXC_GPIO1_IO00__CCMSRCGPCMIX_ENET_PHY_REF_CLK_ROOT 0x014 0x274 0x000 0x1 0x0 15 + #define MX8MP_IOMUXC_GPIO1_IO00__MEDIAMIX_ISP_FL_TRIG_0 0x014 0x274 0x5D4 0x3 0x0 16 + #define MX8MP_IOMUXC_GPIO1_IO00__ANAMIX_REF_CLK_32K 0x014 0x274 0x000 0x5 0x0 17 + #define MX8MP_IOMUXC_GPIO1_IO00__CCMSRCGPCMIX_EXT_CLK1 0x014 0x274 0x000 0x6 0x0 18 + #define MX8MP_IOMUXC_GPIO1_IO00__SJC_FAIL 0x014 0x274 0x000 0x7 0x0 19 + #define MX8MP_IOMUXC_GPIO1_IO01__GPIO1_IO01 0x018 0x278 0x000 0x0 0x0 20 + #define MX8MP_IOMUXC_GPIO1_IO01__PWM1_OUT 0x018 0x278 0x000 0x1 0x0 21 + #define MX8MP_IOMUXC_GPIO1_IO01__MEDIAMIX_ISP_SHUTTER_TRIG_0 0x018 0x278 0x5DC 0x3 0x0 22 + #define MX8MP_IOMUXC_GPIO1_IO01__ANAMIX_REF_CLK_24M 0x018 0x278 0x000 0x5 0x0 23 + #define MX8MP_IOMUXC_GPIO1_IO01__CCMSRCGPCMIX_EXT_CLK2 0x018 0x278 0x000 0x6 0x0 24 + #define MX8MP_IOMUXC_GPIO1_IO01__SJC_ACTIVE 0x018 0x278 0x000 0x7 0x0 25 + #define MX8MP_IOMUXC_GPIO1_IO02__GPIO1_IO02 0x01C 0x27C 0x000 0x0 0x0 26 + #define MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_B 0x01C 0x27C 0x000 0x1 0x0 27 + #define MX8MP_IOMUXC_GPIO1_IO02__MEDIAMIX_ISP_FLASH_TRIG_0 0x01C 0x27C 0x000 0x3 0x0 28 + #define MX8MP_IOMUXC_GPIO1_IO02__WDOG1_WDOG_ANY 0x01C 0x27C 0x000 0x5 0x0 29 + #define MX8MP_IOMUXC_GPIO1_IO02__SJC_DE_B 0x01C 0x27C 0x000 0x7 0x0 30 + #define MX8MP_IOMUXC_GPIO1_IO03__GPIO1_IO03 0x020 0x280 0x000 0x0 0x0 31 + #define MX8MP_IOMUXC_GPIO1_IO03__USDHC1_VSELECT 0x020 0x280 0x000 0x1 0x0 32 + #define MX8MP_IOMUXC_GPIO1_IO03__MEDIAMIX_ISP_PRELIGHT_TRIG_0 0x020 0x280 0x000 0x3 0x0 33 + #define MX8MP_IOMUXC_GPIO1_IO03__SDMA1_EXT_EVENT00 0x020 0x280 0x000 0x5 0x0 34 + #define MX8MP_IOMUXC_GPIO1_IO03__ANAMIX_XTAL_OK 0x020 0x280 0x000 0x6 0x0 35 + #define MX8MP_IOMUXC_GPIO1_IO03__SJC_DONE 0x020 0x280 0x000 0x7 0x0 36 + #define MX8MP_IOMUXC_GPIO1_IO04__GPIO1_IO04 0x024 0x284 0x000 0x0 0x0 37 + #define MX8MP_IOMUXC_GPIO1_IO04__USDHC2_VSELECT 0x024 0x284 0x000 0x1 0x0 38 + #define MX8MP_IOMUXC_GPIO1_IO04__MEDIAMIX_ISP_SHUTTER_OPEN_0 0x024 0x284 0x000 0x3 0x0 39 + #define MX8MP_IOMUXC_GPIO1_IO04__SDMA1_EXT_EVENT01 0x024 0x284 0x000 0x5 0x0 40 + #define MX8MP_IOMUXC_GPIO1_IO04__ANAMIX_XTAL_OK_LV 0x024 0x284 0x000 0x6 0x0 41 + #define MX8MP_IOMUXC_GPIO1_IO04__USDHC1_TEST_TRIG 0x024 0x284 0x000 0x7 0x0 42 + #define MX8MP_IOMUXC_GPIO1_IO05__GPIO1_IO05 0x028 0x288 0x000 0x0 0x0 43 + #define MX8MP_IOMUXC_GPIO1_IO05__M7_NMI 0x028 0x288 0x000 0x1 0x0 44 + #define MX8MP_IOMUXC_GPIO1_IO05__MEDIAMIX_ISP_FL_TRIG_1 0x028 0x288 0x5D8 0x3 0x0 45 + #define MX8MP_IOMUXC_GPIO1_IO05__CCMSRCGPCMIX_PMIC_READY 0x028 0x288 0x554 0x5 0x0 46 + #define MX8MP_IOMUXC_GPIO1_IO05__CCMSRCGPCMIX_INT_BOOT 0x028 0x288 0x000 0x6 0x0 47 + #define MX8MP_IOMUXC_GPIO1_IO05__USDHC2_TEST_TRIG 0x028 0x288 0x000 0x7 0x0 48 + #define MX8MP_IOMUXC_GPIO1_IO06__GPIO1_IO06 0x02C 0x28C 0x000 0x0 0x0 49 + #define MX8MP_IOMUXC_GPIO1_IO06__ENET_QOS_MDC 0x02C 0x28C 0x000 0x1 0x0 50 + #define MX8MP_IOMUXC_GPIO1_IO06__MEDIAMIX_ISP_SHUTTER_TRIG_1 0x02C 0x28C 0x5E0 0x3 0x0 51 + #define MX8MP_IOMUXC_GPIO1_IO06__USDHC1_CD_B 0x02C 0x28C 0x000 0x5 0x0 52 + #define MX8MP_IOMUXC_GPIO1_IO06__CCMSRCGPCMIX_EXT_CLK3 0x02C 0x28C 0x000 0x6 0x0 53 + #define MX8MP_IOMUXC_GPIO1_IO06__ECSPI1_TEST_TRIG 0x02C 0x28C 0x000 0x7 0x0 54 + #define MX8MP_IOMUXC_GPIO1_IO07__GPIO1_IO07 0x030 0x290 0x000 0x0 0x0 55 + #define MX8MP_IOMUXC_GPIO1_IO07__ENET_QOS_MDIO 0x030 0x290 0x590 0x1 0x0 56 + #define MX8MP_IOMUXC_GPIO1_IO07__MEDIAMIX_ISP_FLASH_TRIG_1 0x030 0x290 0x000 0x3 0x0 57 + #define MX8MP_IOMUXC_GPIO1_IO07__USDHC1_WP 0x030 0x290 0x000 0x5 0x0 58 + #define MX8MP_IOMUXC_GPIO1_IO07__CCMSRCGPCMIX_EXT_CLK4 0x030 0x290 0x000 0x6 0x0 59 + #define MX8MP_IOMUXC_GPIO1_IO07__ECSPI2_TEST_TRIG 0x030 0x290 0x000 0x7 0x0 60 + #define MX8MP_IOMUXC_GPIO1_IO08__GPIO1_IO08 0x034 0x294 0x000 0x0 0x0 61 + #define MX8MP_IOMUXC_GPIO1_IO08__ENET_QOS_1588_EVENT0_IN 0x034 0x294 0x000 0x1 0x0 62 + #define MX8MP_IOMUXC_GPIO1_IO08__PWM1_OUT 0x034 0x294 0x000 0x2 0x0 63 + #define MX8MP_IOMUXC_GPIO1_IO08__MEDIAMIX_ISP_PRELIGHT_TRIG_1 0x034 0x294 0x000 0x3 0x0 64 + #define MX8MP_IOMUXC_GPIO1_IO08__ENET_QOS_1588_EVENT0_AUX_IN 0x034 0x294 0x000 0x4 0x0 65 + #define MX8MP_IOMUXC_GPIO1_IO08__USDHC2_RESET_B 0x034 0x294 0x000 0x5 0x0 66 + #define MX8MP_IOMUXC_GPIO1_IO08__CCMSRCGPCMIX_WAIT 0x034 0x294 0x000 0x6 0x0 67 + #define MX8MP_IOMUXC_GPIO1_IO08__FLEXSPI_TEST_TRIG 0x034 0x294 0x000 0x7 0x0 68 + #define MX8MP_IOMUXC_GPIO1_IO09__GPIO1_IO09 0x038 0x298 0x000 0x0 0x0 69 + #define MX8MP_IOMUXC_GPIO1_IO09__ENET_QOS_1588_EVENT0_OUT 0x038 0x298 0x000 0x1 0x0 70 + #define MX8MP_IOMUXC_GPIO1_IO09__PWM2_OUT 0x038 0x298 0x000 0x2 0x0 71 + #define MX8MP_IOMUXC_GPIO1_IO09__MEDIAMIX_ISP_SHUTTER_OPEN_1 0x038 0x298 0x000 0x3 0x0 72 + #define MX8MP_IOMUXC_GPIO1_IO09__USDHC3_RESET_B 0x038 0x298 0x000 0x4 0x0 73 + #define MX8MP_IOMUXC_GPIO1_IO09__AUDIOMIX_EXT_EVENT00 0x038 0x298 0x000 0x5 0x0 74 + #define MX8MP_IOMUXC_GPIO1_IO09__CCMSRCGPCMIX_STOP 0x038 0x298 0x000 0x6 0x0 75 + #define MX8MP_IOMUXC_GPIO1_IO09__RAWNAND_TEST_TRIG 0x038 0x298 0x000 0x7 0x0 76 + #define MX8MP_IOMUXC_GPIO1_IO10__GPIO1_IO10 0x03C 0x29C 0x000 0x0 0x0 77 + #define MX8MP_IOMUXC_GPIO1_IO10__HSIOMIX_usb1_OTG_ID 0x03C 0x29C 0x000 0x1 0x0 78 + #define MX8MP_IOMUXC_GPIO1_IO10__PWM3_OUT 0x03C 0x29C 0x000 0x2 0x0 79 + #define MX8MP_IOMUXC_GPIO1_IO10__OCOTP_FUSE_LATCHED 0x03C 0x29C 0x000 0x7 0x0 80 + #define MX8MP_IOMUXC_GPIO1_IO11__GPIO1_IO11 0x040 0x2A0 0x000 0x0 0x0 81 + #define MX8MP_IOMUXC_GPIO1_IO11__HSIOMIX_usb2_OTG_ID 0x040 0x2A0 0x000 0x1 0x0 82 + #define MX8MP_IOMUXC_GPIO1_IO11__PWM2_OUT 0x040 0x2A0 0x000 0x2 0x0 83 + #define MX8MP_IOMUXC_GPIO1_IO11__USDHC3_VSELECT 0x040 0x2A0 0x000 0x4 0x0 84 + #define MX8MP_IOMUXC_GPIO1_IO11__CCMSRCGPCMIX_PMIC_READY 0x040 0x2A0 0x554 0x5 0x1 85 + #define MX8MP_IOMUXC_GPIO1_IO11__CCMSRCGPCMIX_OUT0 0x040 0x2A0 0x000 0x6 0x0 86 + #define MX8MP_IOMUXC_GPIO1_IO11__CAAM_RNG_OSC_OBS 0x040 0x2A0 0x000 0x7 0x0 87 + #define MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12 0x044 0x2A4 0x000 0x0 0x0 88 + #define MX8MP_IOMUXC_GPIO1_IO12__HSIOMIX_usb1_OTG_PWR 0x044 0x2A4 0x000 0x1 0x0 89 + #define MX8MP_IOMUXC_GPIO1_IO12__AUDIOMIX_EXT_EVENT01 0x044 0x2A4 0x000 0x5 0x0 90 + #define MX8MP_IOMUXC_GPIO1_IO12__CCMSRCGPCMIX_OUT1 0x044 0x2A4 0x000 0x6 0x0 91 + #define MX8MP_IOMUXC_GPIO1_IO12__CSU_CSU_ALARM_AUT00 0x044 0x2A4 0x000 0x7 0x0 92 + #define MX8MP_IOMUXC_GPIO1_IO13__GPIO1_IO13 0x048 0x2A8 0x000 0x0 0x0 93 + #define MX8MP_IOMUXC_GPIO1_IO13__HSIOMIX_usb1_OTG_OC 0x048 0x2A8 0x000 0x1 0x0 94 + #define MX8MP_IOMUXC_GPIO1_IO13__PWM2_OUT 0x048 0x2A8 0x000 0x5 0x0 95 + #define MX8MP_IOMUXC_GPIO1_IO13__CCMSRCGPCMIX_OUT2 0x048 0x2A8 0x000 0x6 0x0 96 + #define MX8MP_IOMUXC_GPIO1_IO13__CSU_CSU_ALARM_AUT01 0x048 0x2A8 0x000 0x7 0x0 97 + #define MX8MP_IOMUXC_GPIO1_IO14__GPIO1_IO14 0x04C 0x2AC 0x000 0x0 0x0 98 + #define MX8MP_IOMUXC_GPIO1_IO14__HSIOMIX_usb2_OTG_PWR 0x04C 0x2AC 0x000 0x1 0x0 99 + #define MX8MP_IOMUXC_GPIO1_IO14__USDHC3_CD_B 0x04C 0x2AC 0x608 0x4 0x0 100 + #define MX8MP_IOMUXC_GPIO1_IO14__PWM3_OUT 0x04C 0x2AC 0x000 0x5 0x0 101 + #define MX8MP_IOMUXC_GPIO1_IO14__CCMSRCGPCMIX_CLKO1 0x04C 0x2AC 0x000 0x6 0x0 102 + #define MX8MP_IOMUXC_GPIO1_IO14__CSU_CSU_ALARM_AUT02 0x04C 0x2AC 0x000 0x7 0x0 103 + #define MX8MP_IOMUXC_GPIO1_IO15__GPIO1_IO15 0x050 0x2B0 0x000 0x0 0x0 104 + #define MX8MP_IOMUXC_GPIO1_IO15__HSIOMIX_usb2_OTG_OC 0x050 0x2B0 0x000 0x1 0x0 105 + #define MX8MP_IOMUXC_GPIO1_IO15__USDHC3_WP 0x050 0x2B0 0x634 0x4 0x0 106 + #define MX8MP_IOMUXC_GPIO1_IO15__PWM4_OUT 0x050 0x2B0 0x000 0x5 0x0 107 + #define MX8MP_IOMUXC_GPIO1_IO15__CCMSRCGPCMIX_CLKO2 0x050 0x2B0 0x000 0x6 0x0 108 + #define MX8MP_IOMUXC_GPIO1_IO15__CSU_CSU_INT_DEB 0x050 0x2B0 0x000 0x7 0x0 109 + #define MX8MP_IOMUXC_ENET_MDC__ENET_QOS_MDC 0x054 0x2B4 0x000 0x0 0x0 110 + #define MX8MP_IOMUXC_ENET_MDC__AUDIOMIX_SAI6_TX_DATA00 0x054 0x2B4 0x000 0x2 0x0 111 + #define MX8MP_IOMUXC_ENET_MDC__GPIO1_IO16 0x054 0x2B4 0x000 0x5 0x0 112 + #define MX8MP_IOMUXC_ENET_MDC__USDHC3_STROBE 0x054 0x2B4 0x630 0x6 0x0 113 + #define MX8MP_IOMUXC_ENET_MDC__SIM_M_HADDR15 0x054 0x2B4 0x000 0x7 0x0 114 + #define MX8MP_IOMUXC_ENET_MDIO__ENET_QOS_MDIO 0x058 0x2B8 0x590 0x0 0x1 115 + #define MX8MP_IOMUXC_ENET_MDIO__AUDIOMIX_SAI6_TX_SYNC 0x058 0x2B8 0x528 0x2 0x0 116 + #define MX8MP_IOMUXC_ENET_MDIO__GPIO1_IO17 0x058 0x2B8 0x000 0x5 0x0 117 + #define MX8MP_IOMUXC_ENET_MDIO__USDHC3_DATA5 0x058 0x2B8 0x624 0x6 0x0 118 + #define MX8MP_IOMUXC_ENET_MDIO__SIM_M_HADDR16 0x058 0x2B8 0x000 0x7 0x0 119 + #define MX8MP_IOMUXC_ENET_TD3__ENET_QOS_RGMII_TD3 0x05C 0x2BC 0x000 0x0 0x0 120 + #define MX8MP_IOMUXC_ENET_TD3__AUDIOMIX_SAI6_TX_BCLK 0x05C 0x2BC 0x524 0x2 0x0 121 + #define MX8MP_IOMUXC_ENET_TD3__GPIO1_IO18 0x05C 0x2BC 0x000 0x5 0x0 122 + #define MX8MP_IOMUXC_ENET_TD3__USDHC3_DATA6 0x05C 0x2BC 0x628 0x6 0x0 123 + #define MX8MP_IOMUXC_ENET_TD3__SIM_M_HADDR17 0x05C 0x2BC 0x000 0x7 0x0 124 + #define MX8MP_IOMUXC_ENET_TD2__ENET_QOS_RGMII_TD2 0x060 0x2C0 0x000 0x0 0x0 125 + #define MX8MP_IOMUXC_ENET_TD2__CCM_ENET_QOS_CLOCK_GENERATE_REF_CLK 0x060 0x2C0 0x000 0x1 0x0 126 + #define MX8MP_IOMUXC_ENET_TD2__AUDIOMIX_SAI6_RX_DATA00 0x060 0x2C0 0x51C 0x2 0x0 127 + #define MX8MP_IOMUXC_ENET_TD2__GPIO1_IO19 0x060 0x2C0 0x000 0x5 0x0 128 + #define MX8MP_IOMUXC_ENET_TD2__USDHC3_DATA7 0x060 0x2C0 0x62C 0x6 0x0 129 + #define MX8MP_IOMUXC_ENET_TD2__SIM_M_HADDR18 0x060 0x2C0 0x000 0x7 0x0 130 + #define MX8MP_IOMUXC_ENET_TD1__ENET_QOS_RGMII_TD1 0x064 0x2C4 0x000 0x0 0x0 131 + #define MX8MP_IOMUXC_ENET_TD1__AUDIOMIX_SAI6_RX_SYNC 0x064 0x2C4 0x520 0x2 0x0 132 + #define MX8MP_IOMUXC_ENET_TD1__GPIO1_IO20 0x064 0x2C4 0x000 0x5 0x0 133 + #define MX8MP_IOMUXC_ENET_TD1__USDHC3_CD_B 0x064 0x2C4 0x608 0x6 0x1 134 + #define MX8MP_IOMUXC_ENET_TD1__SIM_M_HADDR19 0x064 0x2C4 0x000 0x7 0x0 135 + #define MX8MP_IOMUXC_ENET_TD0__ENET_QOS_RGMII_TD0 0x068 0x2C8 0x000 0x0 0x0 136 + #define MX8MP_IOMUXC_ENET_TD0__AUDIOMIX_SAI6_RX_BCLK 0x068 0x2C8 0x518 0x2 0x0 137 + #define MX8MP_IOMUXC_ENET_TD0__GPIO1_IO21 0x068 0x2C8 0x000 0x5 0x0 138 + #define MX8MP_IOMUXC_ENET_TD0__USDHC3_WP 0x068 0x2C8 0x634 0x6 0x1 139 + #define MX8MP_IOMUXC_ENET_TD0__SIM_M_HADDR20 0x068 0x2C8 0x000 0x7 0x0 140 + #define MX8MP_IOMUXC_ENET_TX_CTL__ENET_QOS_RGMII_TX_CTL 0x06C 0x2CC 0x000 0x0 0x0 141 + #define MX8MP_IOMUXC_ENET_TX_CTL__AUDIOMIX_SAI6_MCLK 0x06C 0x2CC 0x514 0x2 0x0 142 + #define MX8MP_IOMUXC_ENET_TX_CTL__AUDIOMIX_SPDIF_OUT 0x06C 0x2CC 0x000 0x3 0x0 143 + #define MX8MP_IOMUXC_ENET_TX_CTL__GPIO1_IO22 0x06C 0x2CC 0x000 0x5 0x0 144 + #define MX8MP_IOMUXC_ENET_TX_CTL__USDHC3_DATA0 0x06C 0x2CC 0x610 0x6 0x0 145 + #define MX8MP_IOMUXC_ENET_TX_CTL__SIM_M_HADDR21 0x06C 0x2CC 0x000 0x7 0x0 146 + #define MX8MP_IOMUXC_ENET_TXC__CCM_ENET_QOS_CLOCK_GENERATE_TX_CLK 0x070 0x2D0 0x000 0x0 0x0 147 + #define MX8MP_IOMUXC_ENET_TXC__ENET_QOS_TX_ER 0x070 0x2D0 0x000 0x1 0x0 148 + #define MX8MP_IOMUXC_ENET_TXC__AUDIOMIX_SAI7_TX_DATA00 0x070 0x2D0 0x000 0x2 0x0 149 + #define MX8MP_IOMUXC_ENET_TXC__GPIO1_IO23 0x070 0x2D0 0x000 0x5 0x0 150 + #define MX8MP_IOMUXC_ENET_TXC__USDHC3_DATA1 0x070 0x2D0 0x614 0x6 0x0 151 + #define MX8MP_IOMUXC_ENET_TXC__SIM_M_HADDR22 0x070 0x2D0 0x000 0x7 0x0 152 + #define MX8MP_IOMUXC_ENET_RX_CTL__ENET_QOS_RGMII_RX_CTL 0x074 0x2D4 0x000 0x0 0x0 153 + #define MX8MP_IOMUXC_ENET_RX_CTL__AUDIOMIX_SAI7_TX_SYNC 0x074 0x2D4 0x540 0x2 0x0 154 + #define MX8MP_IOMUXC_ENET_RX_CTL__AUDIOMIX_BIT_STREAM03 0x074 0x2D4 0x4CC 0x3 0x0 155 + #define MX8MP_IOMUXC_ENET_RX_CTL__GPIO1_IO24 0x074 0x2D4 0x000 0x5 0x0 156 + #define MX8MP_IOMUXC_ENET_RX_CTL__USDHC3_DATA2 0x074 0x2D4 0x618 0x6 0x0 157 + #define MX8MP_IOMUXC_ENET_RX_CTL__SIM_M_HADDR23 0x074 0x2D4 0x000 0x7 0x0 158 + #define MX8MP_IOMUXC_ENET_RXC__CCM_ENET_QOS_CLOCK_GENERATE_RX_CLK 0x078 0x2D8 0x000 0x0 0x0 159 + #define MX8MP_IOMUXC_ENET_RXC__ENET_QOS_RX_ER 0x078 0x2D8 0x000 0x1 0x0 160 + #define MX8MP_IOMUXC_ENET_RXC__AUDIOMIX_SAI7_TX_BCLK 0x078 0x2D8 0x53C 0x2 0x0 161 + #define MX8MP_IOMUXC_ENET_RXC__AUDIOMIX_BIT_STREAM02 0x078 0x2D8 0x4C8 0x3 0x0 162 + #define MX8MP_IOMUXC_ENET_RXC__GPIO1_IO25 0x078 0x2D8 0x000 0x5 0x0 163 + #define MX8MP_IOMUXC_ENET_RXC__USDHC3_DATA3 0x078 0x2D8 0x61C 0x6 0x0 164 + #define MX8MP_IOMUXC_ENET_RXC__SIM_M_HADDR24 0x078 0x2D8 0x000 0x7 0x0 165 + #define MX8MP_IOMUXC_ENET_RD0__ENET_QOS_RGMII_RD0 0x07C 0x2DC 0x000 0x0 0x0 166 + #define MX8MP_IOMUXC_ENET_RD0__AUDIOMIX_SAI7_RX_DATA00 0x07C 0x2DC 0x534 0x2 0x0 167 + #define MX8MP_IOMUXC_ENET_RD0__AUDIOMIX_BIT_STREAM01 0x07C 0x2DC 0x4C4 0x3 0x0 168 + #define MX8MP_IOMUXC_ENET_RD0__GPIO1_IO26 0x07C 0x2DC 0x000 0x5 0x0 169 + #define MX8MP_IOMUXC_ENET_RD0__USDHC3_DATA4 0x07C 0x2DC 0x620 0x6 0x0 170 + #define MX8MP_IOMUXC_ENET_RD0__SIM_M_HADDR25 0x07C 0x2DC 0x000 0x7 0x0 171 + #define MX8MP_IOMUXC_ENET_RD1__ENET_QOS_RGMII_RD1 0x080 0x2E0 0x000 0x0 0x0 172 + #define MX8MP_IOMUXC_ENET_RD1__AUDIOMIX_SAI7_RX_SYNC 0x080 0x2E0 0x538 0x2 0x0 173 + #define MX8MP_IOMUXC_ENET_RD1__AUDIOMIX_BIT_STREAM00 0x080 0x2E0 0x4C0 0x3 0x0 174 + #define MX8MP_IOMUXC_ENET_RD1__GPIO1_IO27 0x080 0x2E0 0x000 0x5 0x0 175 + #define MX8MP_IOMUXC_ENET_RD1__USDHC3_RESET_B 0x080 0x2E0 0x000 0x6 0x0 176 + #define MX8MP_IOMUXC_ENET_RD1__SIM_M_HADDR26 0x080 0x2E0 0x000 0x7 0x0 177 + #define MX8MP_IOMUXC_ENET_RD2__ENET_QOS_RGMII_RD2 0x084 0x2E4 0x000 0x0 0x0 178 + #define MX8MP_IOMUXC_ENET_RD2__AUDIOMIX_SAI7_RX_BCLK 0x084 0x2E4 0x530 0x2 0x0 179 + #define MX8MP_IOMUXC_ENET_RD2__AUDIOMIX_CLK 0x084 0x2E4 0x000 0x3 0x0 180 + #define MX8MP_IOMUXC_ENET_RD2__GPIO1_IO28 0x084 0x2E4 0x000 0x5 0x0 181 + #define MX8MP_IOMUXC_ENET_RD2__USDHC3_CLK 0x084 0x2E4 0x604 0x6 0x0 182 + #define MX8MP_IOMUXC_ENET_RD2__SIM_M_HADDR27 0x084 0x2E4 0x000 0x7 0x0 183 + #define MX8MP_IOMUXC_ENET_RD3__ENET_QOS_RGMII_RD3 0x088 0x2E8 0x000 0x0 0x0 184 + #define MX8MP_IOMUXC_ENET_RD3__AUDIOMIX_SAI7_MCLK 0x088 0x2E8 0x52C 0x2 0x0 185 + #define MX8MP_IOMUXC_ENET_RD3__AUDIOMIX_SPDIF_IN 0x088 0x2E8 0x544 0x3 0x0 186 + #define MX8MP_IOMUXC_ENET_RD3__GPIO1_IO29 0x088 0x2E8 0x000 0x5 0x0 187 + #define MX8MP_IOMUXC_ENET_RD3__USDHC3_CMD 0x088 0x2E8 0x60C 0x6 0x0 188 + #define MX8MP_IOMUXC_ENET_RD3__SIM_M_HADDR28 0x088 0x2E8 0x000 0x7 0x0 189 + #define MX8MP_IOMUXC_SD1_CLK__USDHC1_CLK 0x08C 0x2EC 0x000 0x0 0x0 190 + #define MX8MP_IOMUXC_SD1_CLK__ENET1_MDC 0x08C 0x2EC 0x000 0x1 0x0 191 + #define MX8MP_IOMUXC_SD1_CLK__I2C5_SCL 0x08C 0x2EC 0x5C4 0x3 0x0 192 + #define MX8MP_IOMUXC_SD1_CLK__UART1_DCE_TX 0x08C 0x2EC 0x000 0x4 0x0 193 + #define MX8MP_IOMUXC_SD1_CLK__UART1_DTE_RX 0x08C 0x2EC 0x5E8 0x4 0x0 194 + #define MX8MP_IOMUXC_SD1_CLK__GPIO2_IO00 0x08C 0x2EC 0x000 0x5 0x0 195 + #define MX8MP_IOMUXC_SD1_CLK__SIM_M_HADDR29 0x08C 0x2EC 0x000 0x7 0x0 196 + #define MX8MP_IOMUXC_SD1_CMD__USDHC1_CMD 0x090 0x2F0 0x000 0x0 0x0 197 + #define MX8MP_IOMUXC_SD1_CMD__ENET1_MDIO 0x090 0x2F0 0x57C 0x1 0x0 198 + #define MX8MP_IOMUXC_SD1_CMD__I2C5_SDA 0x090 0x2F0 0x5C8 0x3 0x0 199 + #define MX8MP_IOMUXC_SD1_CMD__UART1_DCE_RX 0x090 0x2F0 0x5E8 0x4 0x1 200 + #define MX8MP_IOMUXC_SD1_CMD__UART1_DTE_TX 0x090 0x2F0 0x000 0x4 0x0 201 + #define MX8MP_IOMUXC_SD1_CMD__GPIO2_IO01 0x090 0x2F0 0x000 0x5 0x0 202 + #define MX8MP_IOMUXC_SD1_CMD__SIM_M_HADDR30 0x090 0x2F0 0x000 0x7 0x0 203 + #define MX8MP_IOMUXC_SD1_DATA0__USDHC1_DATA0 0x094 0x2F4 0x000 0x0 0x0 204 + #define MX8MP_IOMUXC_SD1_DATA0__ENET1_RGMII_TD1 0x094 0x2F4 0x000 0x1 0x0 205 + #define MX8MP_IOMUXC_SD1_DATA0__I2C6_SCL 0x094 0x2F4 0x5CC 0x3 0x0 206 + #define MX8MP_IOMUXC_SD1_DATA0__UART1_DCE_RTS 0x094 0x2F4 0x5E4 0x4 0x0 207 + #define MX8MP_IOMUXC_SD1_DATA0__UART1_DTE_CTS 0x094 0x2F4 0x000 0x4 0x0 208 + #define MX8MP_IOMUXC_SD1_DATA0__GPIO2_IO02 0x094 0x2F4 0x000 0x5 0x0 209 + #define MX8MP_IOMUXC_SD1_DATA0__SIM_M_HADDR31 0x094 0x2F4 0x000 0x7 0x0 210 + #define MX8MP_IOMUXC_SD1_DATA1__USDHC1_DATA1 0x098 0x2F8 0x000 0x0 0x0 211 + #define MX8MP_IOMUXC_SD1_DATA1__ENET1_RGMII_TD0 0x098 0x2F8 0x000 0x1 0x0 212 + #define MX8MP_IOMUXC_SD1_DATA1__I2C6_SDA 0x098 0x2F8 0x5D0 0x3 0x0 213 + #define MX8MP_IOMUXC_SD1_DATA1__UART1_DCE_CTS 0x098 0x2F8 0x000 0x4 0x0 214 + #define MX8MP_IOMUXC_SD1_DATA1__UART1_DTE_RTS 0x098 0x2F8 0x5E4 0x4 0x1 215 + #define MX8MP_IOMUXC_SD1_DATA1__GPIO2_IO03 0x098 0x2F8 0x000 0x5 0x0 216 + #define MX8MP_IOMUXC_SD1_DATA1__SIM_M_HBURST00 0x098 0x2F8 0x000 0x7 0x0 217 + #define MX8MP_IOMUXC_SD1_DATA2__USDHC1_DATA2 0x09C 0x2FC 0x000 0x0 0x0 218 + #define MX8MP_IOMUXC_SD1_DATA2__ENET1_RGMII_RD0 0x09C 0x2FC 0x580 0x1 0x0 219 + #define MX8MP_IOMUXC_SD1_DATA2__I2C4_SCL 0x09C 0x2FC 0x5BC 0x3 0x0 220 + #define MX8MP_IOMUXC_SD1_DATA2__UART2_DCE_TX 0x09C 0x2FC 0x000 0x4 0x0 221 + #define MX8MP_IOMUXC_SD1_DATA2__UART2_DTE_RX 0x09C 0x2FC 0x5F0 0x4 0x0 222 + #define MX8MP_IOMUXC_SD1_DATA2__GPIO2_IO04 0x09C 0x2FC 0x000 0x5 0x0 223 + #define MX8MP_IOMUXC_SD1_DATA2__SIM_M_HBURST01 0x09C 0x2FC 0x000 0x7 0x0 224 + #define MX8MP_IOMUXC_SD1_DATA3__USDHC1_DATA3 0x0A0 0x300 0x000 0x0 0x0 225 + #define MX8MP_IOMUXC_SD1_DATA3__ENET1_RGMII_RD1 0x0A0 0x300 0x584 0x1 0x0 226 + #define MX8MP_IOMUXC_SD1_DATA3__I2C4_SDA 0x0A0 0x300 0x5C0 0x3 0x0 227 + #define MX8MP_IOMUXC_SD1_DATA3__UART2_DCE_RX 0x0A0 0x300 0x5F0 0x4 0x1 228 + #define MX8MP_IOMUXC_SD1_DATA3__UART2_DTE_TX 0x0A0 0x300 0x000 0x4 0x0 229 + #define MX8MP_IOMUXC_SD1_DATA3__GPIO2_IO05 0x0A0 0x300 0x000 0x5 0x0 230 + #define MX8MP_IOMUXC_SD1_DATA3__SIM_M_HBURST02 0x0A0 0x300 0x000 0x7 0x0 231 + #define MX8MP_IOMUXC_SD1_DATA4__USDHC1_DATA4 0x0A4 0x304 0x000 0x0 0x0 232 + #define MX8MP_IOMUXC_SD1_DATA4__ENET1_RGMII_TX_CTL 0x0A4 0x304 0x000 0x1 0x0 233 + #define MX8MP_IOMUXC_SD1_DATA4__I2C1_SCL 0x0A4 0x304 0x5A4 0x3 0x0 234 + #define MX8MP_IOMUXC_SD1_DATA4__UART2_DCE_RTS 0x0A4 0x304 0x5EC 0x4 0x0 235 + #define MX8MP_IOMUXC_SD1_DATA4__UART2_DTE_CTS 0x0A4 0x304 0x000 0x4 0x0 236 + #define MX8MP_IOMUXC_SD1_DATA4__GPIO2_IO06 0x0A4 0x304 0x000 0x5 0x0 237 + #define MX8MP_IOMUXC_SD1_DATA4__SIM_M_HRESP 0x0A4 0x304 0x000 0x7 0x0 238 + #define MX8MP_IOMUXC_SD1_DATA5__USDHC1_DATA5 0x0A8 0x308 0x000 0x0 0x0 239 + #define MX8MP_IOMUXC_SD1_DATA5__ENET1_TX_ER 0x0A8 0x308 0x000 0x1 0x0 240 + #define MX8MP_IOMUXC_SD1_DATA5__I2C1_SDA 0x0A8 0x308 0x5A8 0x3 0x0 241 + #define MX8MP_IOMUXC_SD1_DATA5__UART2_DCE_CTS 0x0A8 0x308 0x000 0x4 0x0 242 + #define MX8MP_IOMUXC_SD1_DATA5__UART2_DTE_RTS 0x0A8 0x308 0x5EC 0x4 0x1 243 + #define MX8MP_IOMUXC_SD1_DATA5__GPIO2_IO07 0x0A8 0x308 0x000 0x5 0x0 244 + #define MX8MP_IOMUXC_SD1_DATA5__TPSMP_HDATA05 0x0A8 0x308 0x000 0x7 0x0 245 + #define MX8MP_IOMUXC_SD1_DATA6__USDHC1_DATA6 0x0AC 0x30C 0x000 0x0 0x0 246 + #define MX8MP_IOMUXC_SD1_DATA6__ENET1_RGMII_RX_CTL 0x0AC 0x30C 0x588 0x1 0x0 247 + #define MX8MP_IOMUXC_SD1_DATA6__I2C2_SCL 0x0AC 0x30C 0x5AC 0x3 0x0 248 + #define MX8MP_IOMUXC_SD1_DATA6__UART3_DCE_TX 0x0AC 0x30C 0x000 0x4 0x0 249 + #define MX8MP_IOMUXC_SD1_DATA6__UART3_DTE_RX 0x0AC 0x30C 0x5F8 0x4 0x0 250 + #define MX8MP_IOMUXC_SD1_DATA6__GPIO2_IO08 0x0AC 0x30C 0x000 0x5 0x0 251 + #define MX8MP_IOMUXC_SD1_DATA6__TPSMP_HDATA06 0x0AC 0x30C 0x000 0x7 0x0 252 + #define MX8MP_IOMUXC_SD1_DATA7__USDHC1_DATA7 0x0B0 0x310 0x000 0x0 0x0 253 + #define MX8MP_IOMUXC_SD1_DATA7__ENET1_RX_ER 0x0B0 0x310 0x58C 0x1 0x0 254 + #define MX8MP_IOMUXC_SD1_DATA7__I2C2_SDA 0x0B0 0x310 0x5B0 0x3 0x0 255 + #define MX8MP_IOMUXC_SD1_DATA7__UART3_DCE_RX 0x0B0 0x310 0x5F8 0x4 0x1 256 + #define MX8MP_IOMUXC_SD1_DATA7__UART3_DTE_TX 0x0B0 0x310 0x000 0x4 0x0 257 + #define MX8MP_IOMUXC_SD1_DATA7__GPIO2_IO09 0x0B0 0x310 0x000 0x5 0x0 258 + #define MX8MP_IOMUXC_SD1_DATA7__TPSMP_HDATA07 0x0B0 0x310 0x000 0x7 0x0 259 + #define MX8MP_IOMUXC_SD1_RESET_B__USDHC1_RESET_B 0x0B4 0x314 0x000 0x0 0x0 260 + #define MX8MP_IOMUXC_SD1_RESET_B__ENET1_TX_CLK 0x0B4 0x314 0x578 0x1 0x0 261 + #define MX8MP_IOMUXC_SD1_RESET_B__I2C3_SCL 0x0B4 0x314 0x5B4 0x3 0x0 262 + #define MX8MP_IOMUXC_SD1_RESET_B__UART3_DCE_RTS 0x0B4 0x314 0x5F4 0x4 0x0 263 + #define MX8MP_IOMUXC_SD1_RESET_B__UART3_DTE_CTS 0x0B4 0x314 0x000 0x4 0x0 264 + #define MX8MP_IOMUXC_SD1_RESET_B__GPIO2_IO10 0x0B4 0x314 0x000 0x5 0x0 265 + #define MX8MP_IOMUXC_SD1_RESET_B__ECSPI3_TEST_TRIG 0x0B4 0x314 0x000 0x7 0x0 266 + #define MX8MP_IOMUXC_SD1_STROBE__USDHC1_STROBE 0x0B8 0x318 0x000 0x0 0x0 267 + #define MX8MP_IOMUXC_SD1_STROBE__I2C3_SDA 0x0B8 0x318 0x5B8 0x3 0x0 268 + #define MX8MP_IOMUXC_SD1_STROBE__UART3_DCE_CTS 0x0B8 0x318 0x000 0x4 0x0 269 + #define MX8MP_IOMUXC_SD1_STROBE__UART3_DTE_RTS 0x0B8 0x318 0x5F4 0x4 0x1 270 + #define MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11 0x0B8 0x318 0x000 0x5 0x0 271 + #define MX8MP_IOMUXC_SD1_STROBE__USDHC3_TEST_TRIG 0x0B8 0x318 0x000 0x7 0x0 272 + #define MX8MP_IOMUXC_SD2_CD_B__USDHC2_CD_B 0x0BC 0x31C 0x000 0x0 0x0 273 + #define MX8MP_IOMUXC_SD2_CD_B__GPIO2_IO12 0x0BC 0x31C 0x000 0x5 0x0 274 + #define MX8MP_IOMUXC_SD2_CD_B__CCMSRCGPCMIX_TESTER_ACK 0x0BC 0x31C 0x000 0x6 0x0 275 + #define MX8MP_IOMUXC_SD2_CLK__USDHC2_CLK 0x0C0 0x320 0x000 0x0 0x0 276 + #define MX8MP_IOMUXC_SD2_CLK__ECSPI2_SCLK 0x0C0 0x320 0x568 0x2 0x0 277 + #define MX8MP_IOMUXC_SD2_CLK__UART4_DCE_RX 0x0C0 0x320 0x600 0x3 0x0 278 + #define MX8MP_IOMUXC_SD2_CLK__UART4_DTE_TX 0x0C0 0x320 0x000 0x3 0x0 279 + #define MX8MP_IOMUXC_SD2_CLK__GPIO2_IO13 0x0C0 0x320 0x000 0x5 0x0 280 + #define MX8MP_IOMUXC_SD2_CLK__CCMSRCGPCMIX_OBSERVE0 0x0C0 0x320 0x000 0x6 0x0 281 + #define MX8MP_IOMUXC_SD2_CLK__OBSERVE_MUX_OUT00 0x0C0 0x320 0x000 0x7 0x0 282 + #define MX8MP_IOMUXC_SD2_CMD__USDHC2_CMD 0x0C4 0x324 0x000 0x0 0x0 283 + #define MX8MP_IOMUXC_SD2_CMD__ECSPI2_MOSI 0x0C4 0x324 0x570 0x2 0x0 284 + #define MX8MP_IOMUXC_SD2_CMD__UART4_DCE_TX 0x0C4 0x324 0x000 0x3 0x0 285 + #define MX8MP_IOMUXC_SD2_CMD__UART4_DTE_RX 0x0C4 0x324 0x600 0x3 0x1 286 + #define MX8MP_IOMUXC_SD2_CMD__AUDIOMIX_CLK 0x0C4 0x324 0x000 0x4 0x0 287 + #define MX8MP_IOMUXC_SD2_CMD__GPIO2_IO14 0x0C4 0x324 0x000 0x5 0x0 288 + #define MX8MP_IOMUXC_SD2_CMD__CCMSRCGPCMIX_OBSERVE1 0x0C4 0x324 0x000 0x6 0x0 289 + #define MX8MP_IOMUXC_SD2_CMD__OBSERVE_MUX_OUT01 0x0C4 0x324 0x000 0x7 0x0 290 + #define MX8MP_IOMUXC_SD2_DATA0__USDHC2_DATA0 0x0C8 0x328 0x000 0x0 0x0 291 + #define MX8MP_IOMUXC_SD2_DATA0__I2C4_SDA 0x0C8 0x328 0x5C0 0x2 0x1 292 + #define MX8MP_IOMUXC_SD2_DATA0__UART2_DCE_RX 0x0C8 0x328 0x5F0 0x3 0x2 293 + #define MX8MP_IOMUXC_SD2_DATA0__UART2_DTE_TX 0x0C8 0x328 0x000 0x3 0x0 294 + #define MX8MP_IOMUXC_SD2_DATA0__AUDIOMIX_BIT_STREAM00 0x0C8 0x328 0x4C0 0x4 0x1 295 + #define MX8MP_IOMUXC_SD2_DATA0__GPIO2_IO15 0x0C8 0x328 0x000 0x5 0x0 296 + #define MX8MP_IOMUXC_SD2_DATA0__CCMSRCGPCMIX_OBSERVE2 0x0C8 0x328 0x000 0x6 0x0 297 + #define MX8MP_IOMUXC_SD2_DATA0__OBSERVE_MUX_OUT02 0x0C8 0x328 0x000 0x7 0x0 298 + #define MX8MP_IOMUXC_SD2_DATA1__USDHC2_DATA1 0x0CC 0x32C 0x000 0x0 0x0 299 + #define MX8MP_IOMUXC_SD2_DATA1__I2C4_SCL 0x0CC 0x32C 0x5BC 0x2 0x1 300 + #define MX8MP_IOMUXC_SD2_DATA1__UART2_DCE_TX 0x0CC 0x32C 0x000 0x3 0x0 301 + #define MX8MP_IOMUXC_SD2_DATA1__UART2_DTE_RX 0x0CC 0x32C 0x5F0 0x3 0x3 302 + #define MX8MP_IOMUXC_SD2_DATA1__AUDIOMIX_BIT_STREAM01 0x0CC 0x32C 0x4C4 0x4 0x1 303 + #define MX8MP_IOMUXC_SD2_DATA1__GPIO2_IO16 0x0CC 0x32C 0x000 0x5 0x0 304 + #define MX8MP_IOMUXC_SD2_DATA1__CCMSRCGPCMIX_WAIT 0x0CC 0x32C 0x000 0x6 0x0 305 + #define MX8MP_IOMUXC_SD2_DATA1__OBSERVE_MUX_OUT03 0x0CC 0x32C 0x000 0x7 0x0 306 + #define MX8MP_IOMUXC_SD2_DATA2__USDHC2_DATA2 0x0D0 0x330 0x000 0x0 0x0 307 + #define MX8MP_IOMUXC_SD2_DATA2__ECSPI2_SS0 0x0D0 0x330 0x574 0x2 0x0 308 + #define MX8MP_IOMUXC_SD2_DATA2__AUDIOMIX_SPDIF_OUT 0x0D0 0x330 0x000 0x3 0x0 309 + #define MX8MP_IOMUXC_SD2_DATA2__AUDIOMIX_BIT_STREAM02 0x0D0 0x330 0x4C8 0x4 0x1 310 + #define MX8MP_IOMUXC_SD2_DATA2__GPIO2_IO17 0x0D0 0x330 0x000 0x5 0x0 311 + #define MX8MP_IOMUXC_SD2_DATA2__CCMSRCGPCMIX_STOP 0x0D0 0x330 0x000 0x6 0x0 312 + #define MX8MP_IOMUXC_SD2_DATA2__OBSERVE_MUX_OUT04 0x0D0 0x330 0x000 0x7 0x0 313 + #define MX8MP_IOMUXC_SD2_DATA3__USDHC2_DATA3 0x0D4 0x334 0x000 0x0 0x0 314 + #define MX8MP_IOMUXC_SD2_DATA3__ECSPI2_MISO 0x0D4 0x334 0x56C 0x2 0x0 315 + #define MX8MP_IOMUXC_SD2_DATA3__AUDIOMIX_SPDIF_IN 0x0D4 0x334 0x544 0x3 0x1 316 + #define MX8MP_IOMUXC_SD2_DATA3__AUDIOMIX_BIT_STREAM03 0x0D4 0x334 0x4CC 0x4 0x1 317 + #define MX8MP_IOMUXC_SD2_DATA3__GPIO2_IO18 0x0D4 0x334 0x000 0x5 0x0 318 + #define MX8MP_IOMUXC_SD2_DATA3__CCMSRCGPCMIX_EARLY_RESET 0x0D4 0x334 0x000 0x6 0x0 319 + #define MX8MP_IOMUXC_SD2_RESET_B__USDHC2_RESET_B 0x0D8 0x338 0x000 0x0 0x0 320 + #define MX8MP_IOMUXC_SD2_RESET_B__GPIO2_IO19 0x0D8 0x338 0x000 0x5 0x0 321 + #define MX8MP_IOMUXC_SD2_RESET_B__CCMSRCGPCMIX_SYSTEM_RESET 0x0D8 0x338 0x000 0x6 0x0 322 + #define MX8MP_IOMUXC_SD2_WP__USDHC2_WP 0x0DC 0x33C 0x000 0x0 0x0 323 + #define MX8MP_IOMUXC_SD2_WP__GPIO2_IO20 0x0DC 0x33C 0x000 0x5 0x0 324 + #define MX8MP_IOMUXC_SD2_WP__CORESIGHT_EVENTI 0x0DC 0x33C 0x000 0x6 0x0 325 + #define MX8MP_IOMUXC_SD2_WP__SIM_M_HMASTLOCK 0x0DC 0x33C 0x000 0x7 0x0 326 + #define MX8MP_IOMUXC_NAND_ALE__RAWNAND_ALE 0x0E0 0x340 0x000 0x0 0x0 327 + #define MX8MP_IOMUXC_NAND_ALE__FLEXSPI_A_SCLK 0x0E0 0x340 0x000 0x1 0x0 328 + #define MX8MP_IOMUXC_NAND_ALE__AUDIOMIX_SAI3_TX_BCLK 0x0E0 0x340 0x4E8 0x2 0x0 329 + #define MX8MP_IOMUXC_NAND_ALE__MEDIAMIX_ISP_FL_TRIG_0 0x0E0 0x340 0x5D4 0x3 0x1 330 + #define MX8MP_IOMUXC_NAND_ALE__UART3_DCE_RX 0x0E0 0x340 0x5F8 0x4 0x2 331 + #define MX8MP_IOMUXC_NAND_ALE__UART3_DTE_TX 0x0E0 0x340 0x000 0x4 0x0 332 + #define MX8MP_IOMUXC_NAND_ALE__GPIO3_IO00 0x0E0 0x340 0x000 0x5 0x0 333 + #define MX8MP_IOMUXC_NAND_ALE__CORESIGHT_TRACE_CLK 0x0E0 0x340 0x000 0x6 0x0 334 + #define MX8MP_IOMUXC_NAND_ALE__SIM_M_HPROT00 0x0E0 0x340 0x000 0x7 0x0 335 + #define MX8MP_IOMUXC_NAND_CE0_B__RAWNAND_CE0_B 0x0E4 0x344 0x000 0x0 0x0 336 + #define MX8MP_IOMUXC_NAND_CE0_B__FLEXSPI_A_SS0_B 0x0E4 0x344 0x000 0x1 0x0 337 + #define MX8MP_IOMUXC_NAND_CE0_B__AUDIOMIX_SAI3_TX_DATA00 0x0E4 0x344 0x000 0x2 0x0 338 + #define MX8MP_IOMUXC_NAND_CE0_B__MEDIAMIX_ISP_SHUTTER_TRIG_0 0x0E4 0x344 0x5DC 0x3 0x1 339 + #define MX8MP_IOMUXC_NAND_CE0_B__UART3_DCE_TX 0x0E4 0x344 0x000 0x4 0x0 340 + #define MX8MP_IOMUXC_NAND_CE0_B__UART3_DTE_RX 0x0E4 0x344 0x5F8 0x4 0x3 341 + #define MX8MP_IOMUXC_NAND_CE0_B__GPIO3_IO01 0x0E4 0x344 0x000 0x5 0x0 342 + #define MX8MP_IOMUXC_NAND_CE0_B__CORESIGHT_TRACE_CTL 0x0E4 0x344 0x000 0x6 0x0 343 + #define MX8MP_IOMUXC_NAND_CE0_B__SIM_M_HPROT01 0x0E4 0x344 0x000 0x7 0x0 344 + #define MX8MP_IOMUXC_NAND_CE1_B__RAWNAND_CE1_B 0x0E8 0x348 0x000 0x0 0x0 345 + #define MX8MP_IOMUXC_NAND_CE1_B__FLEXSPI_A_SS1_B 0x0E8 0x348 0x000 0x1 0x0 346 + #define MX8MP_IOMUXC_NAND_CE1_B__USDHC3_STROBE 0x0E8 0x348 0x630 0x2 0x1 347 + #define MX8MP_IOMUXC_NAND_CE1_B__I2C4_SCL 0x0E8 0x348 0x5BC 0x4 0x2 348 + #define MX8MP_IOMUXC_NAND_CE1_B__GPIO3_IO02 0x0E8 0x348 0x000 0x5 0x0 349 + #define MX8MP_IOMUXC_NAND_CE1_B__CORESIGHT_TRACE00 0x0E8 0x348 0x000 0x6 0x0 350 + #define MX8MP_IOMUXC_NAND_CE1_B__SIM_M_HPROT02 0x0E8 0x348 0x000 0x7 0x0 351 + #define MX8MP_IOMUXC_NAND_CE2_B__RAWNAND_CE2_B 0x0EC 0x34C 0x000 0x0 0x0 352 + #define MX8MP_IOMUXC_NAND_CE2_B__FLEXSPI_B_SS0_B 0x0EC 0x34C 0x000 0x1 0x0 353 + #define MX8MP_IOMUXC_NAND_CE2_B__USDHC3_DATA5 0x0EC 0x34C 0x624 0x2 0x1 354 + #define MX8MP_IOMUXC_NAND_CE2_B__I2C4_SDA 0x0EC 0x34C 0x5C0 0x4 0x2 355 + #define MX8MP_IOMUXC_NAND_CE2_B__GPIO3_IO03 0x0EC 0x34C 0x000 0x5 0x0 356 + #define MX8MP_IOMUXC_NAND_CE2_B__CORESIGHT_TRACE01 0x0EC 0x34C 0x000 0x6 0x0 357 + #define MX8MP_IOMUXC_NAND_CE2_B__SIM_M_HPROT03 0x0EC 0x34C 0x000 0x7 0x0 358 + #define MX8MP_IOMUXC_NAND_CE3_B__RAWNAND_CE3_B 0x0F0 0x350 0x000 0x0 0x0 359 + #define MX8MP_IOMUXC_NAND_CE3_B__FLEXSPI_B_SS1_B 0x0F0 0x350 0x000 0x1 0x0 360 + #define MX8MP_IOMUXC_NAND_CE3_B__USDHC3_DATA6 0x0F0 0x350 0x628 0x2 0x1 361 + #define MX8MP_IOMUXC_NAND_CE3_B__I2C3_SDA 0x0F0 0x350 0x5B8 0x4 0x1 362 + #define MX8MP_IOMUXC_NAND_CE3_B__GPIO3_IO04 0x0F0 0x350 0x000 0x5 0x0 363 + #define MX8MP_IOMUXC_NAND_CE3_B__CORESIGHT_TRACE02 0x0F0 0x350 0x000 0x6 0x0 364 + #define MX8MP_IOMUXC_NAND_CE3_B__SIM_M_HADDR00 0x0F0 0x350 0x000 0x7 0x0 365 + #define MX8MP_IOMUXC_NAND_CLE__RAWNAND_CLE 0x0F4 0x354 0x000 0x0 0x0 366 + #define MX8MP_IOMUXC_NAND_CLE__FLEXSPI_B_SCLK 0x0F4 0x354 0x000 0x1 0x0 367 + #define MX8MP_IOMUXC_NAND_CLE__USDHC3_DATA7 0x0F4 0x354 0x62C 0x2 0x1 368 + #define MX8MP_IOMUXC_NAND_CLE__UART4_DCE_RX 0x0F4 0x354 0x600 0x4 0x2 369 + #define MX8MP_IOMUXC_NAND_CLE__UART4_DTE_TX 0x0F4 0x354 0x000 0x4 0x0 370 + #define MX8MP_IOMUXC_NAND_CLE__GPIO3_IO05 0x0F4 0x354 0x000 0x5 0x0 371 + #define MX8MP_IOMUXC_NAND_CLE__CORESIGHT_TRACE03 0x0F4 0x354 0x000 0x6 0x0 372 + #define MX8MP_IOMUXC_NAND_CLE__SIM_M_HADDR01 0x0F4 0x354 0x000 0x7 0x0 373 + #define MX8MP_IOMUXC_NAND_DATA00__RAWNAND_DATA00 0x0F8 0x358 0x000 0x0 0x0 374 + #define MX8MP_IOMUXC_NAND_DATA00__FLEXSPI_A_DATA00 0x0F8 0x358 0x000 0x1 0x0 375 + #define MX8MP_IOMUXC_NAND_DATA00__AUDIOMIX_SAI3_RX_DATA00 0x0F8 0x358 0x4E4 0x2 0x0 376 + #define MX8MP_IOMUXC_NAND_DATA00__MEDIAMIX_ISP_FLASH_TRIG_0 0x0F8 0x358 0x000 0x3 0x0 377 + #define MX8MP_IOMUXC_NAND_DATA00__UART4_DCE_RX 0x0F8 0x358 0x600 0x4 0x3 378 + #define MX8MP_IOMUXC_NAND_DATA00__UART4_DTE_TX 0x0F8 0x358 0x000 0x4 0x0 379 + #define MX8MP_IOMUXC_NAND_DATA00__GPIO3_IO06 0x0F8 0x358 0x000 0x5 0x0 380 + #define MX8MP_IOMUXC_NAND_DATA00__CORESIGHT_TRACE04 0x0F8 0x358 0x000 0x6 0x0 381 + #define MX8MP_IOMUXC_NAND_DATA00__SIM_M_HADDR02 0x0F8 0x358 0x000 0x7 0x0 382 + #define MX8MP_IOMUXC_NAND_DATA01__RAWNAND_DATA01 0x0FC 0x35C 0x000 0x0 0x0 383 + #define MX8MP_IOMUXC_NAND_DATA01__FLEXSPI_A_DATA01 0x0FC 0x35C 0x000 0x1 0x0 384 + #define MX8MP_IOMUXC_NAND_DATA01__AUDIOMIX_SAI3_TX_SYNC 0x0FC 0x35C 0x4EC 0x2 0x0 385 + #define MX8MP_IOMUXC_NAND_DATA01__MEDIAMIX_ISP_PRELIGHT_TRIG_0 0x0FC 0x35C 0x000 0x3 0x0 386 + #define MX8MP_IOMUXC_NAND_DATA01__UART4_DCE_TX 0x0FC 0x35C 0x000 0x4 0x0 387 + #define MX8MP_IOMUXC_NAND_DATA01__UART4_DTE_RX 0x0FC 0x35C 0x600 0x4 0x4 388 + #define MX8MP_IOMUXC_NAND_DATA01__GPIO3_IO07 0x0FC 0x35C 0x000 0x5 0x0 389 + #define MX8MP_IOMUXC_NAND_DATA01__CORESIGHT_TRACE05 0x0FC 0x35C 0x000 0x6 0x0 390 + #define MX8MP_IOMUXC_NAND_DATA01__SIM_M_HADDR03 0x0FC 0x35C 0x000 0x7 0x0 391 + #define MX8MP_IOMUXC_NAND_DATA02__RAWNAND_DATA02 0x100 0x360 0x000 0x0 0x0 392 + #define MX8MP_IOMUXC_NAND_DATA02__FLEXSPI_A_DATA02 0x100 0x360 0x000 0x1 0x0 393 + #define MX8MP_IOMUXC_NAND_DATA02__USDHC3_CD_B 0x100 0x360 0x608 0x2 0x2 394 + #define MX8MP_IOMUXC_NAND_DATA02__UART4_DCE_CTS 0x100 0x360 0x000 0x3 0x0 395 + #define MX8MP_IOMUXC_NAND_DATA02__UART4_DTE_RTS 0x100 0x360 0x5FC 0x3 0x0 396 + #define MX8MP_IOMUXC_NAND_DATA02__I2C4_SDA 0x100 0x360 0x5C0 0x4 0x3 397 + #define MX8MP_IOMUXC_NAND_DATA02__GPIO3_IO08 0x100 0x360 0x000 0x5 0x0 398 + #define MX8MP_IOMUXC_NAND_DATA02__CORESIGHT_TRACE06 0x100 0x360 0x000 0x6 0x0 399 + #define MX8MP_IOMUXC_NAND_DATA02__SIM_M_HADDR04 0x100 0x360 0x000 0x7 0x0 400 + #define MX8MP_IOMUXC_NAND_DATA03__RAWNAND_DATA03 0x104 0x364 0x000 0x0 0x0 401 + #define MX8MP_IOMUXC_NAND_DATA03__FLEXSPI_A_DATA03 0x104 0x364 0x000 0x1 0x0 402 + #define MX8MP_IOMUXC_NAND_DATA03__USDHC3_WP 0x104 0x364 0x634 0x2 0x2 403 + #define MX8MP_IOMUXC_NAND_DATA03__UART4_DCE_RTS 0x104 0x364 0x5FC 0x3 0x1 404 + #define MX8MP_IOMUXC_NAND_DATA03__UART4_DTE_CTS 0x104 0x364 0x000 0x3 0x0 405 + #define MX8MP_IOMUXC_NAND_DATA03__MEDIAMIX_ISP_FL_TRIG_1 0x104 0x364 0x5D8 0x4 0x1 406 + #define MX8MP_IOMUXC_NAND_DATA03__GPIO3_IO09 0x104 0x364 0x000 0x5 0x0 407 + #define MX8MP_IOMUXC_NAND_DATA03__CORESIGHT_TRACE07 0x104 0x364 0x000 0x6 0x0 408 + #define MX8MP_IOMUXC_NAND_DATA03__SIM_M_HADDR05 0x104 0x364 0x000 0x7 0x0 409 + #define MX8MP_IOMUXC_NAND_DATA04__RAWNAND_DATA04 0x108 0x368 0x000 0x0 0x0 410 + #define MX8MP_IOMUXC_NAND_DATA04__FLEXSPI_B_DATA00 0x108 0x368 0x000 0x1 0x0 411 + #define MX8MP_IOMUXC_NAND_DATA04__USDHC3_DATA0 0x108 0x368 0x610 0x2 0x1 412 + #define MX8MP_IOMUXC_NAND_DATA04__FLEXSPI_A_DATA04 0x108 0x368 0x000 0x3 0x0 413 + #define MX8MP_IOMUXC_NAND_DATA04__MEDIAMIX_ISP_SHUTTER_TRIG_1 0x108 0x368 0x5E0 0x4 0x1 414 + #define MX8MP_IOMUXC_NAND_DATA04__GPIO3_IO10 0x108 0x368 0x000 0x5 0x0 415 + #define MX8MP_IOMUXC_NAND_DATA04__CORESIGHT_TRACE08 0x108 0x368 0x000 0x6 0x0 416 + #define MX8MP_IOMUXC_NAND_DATA04__SIM_M_HADDR06 0x108 0x368 0x000 0x7 0x0 417 + #define MX8MP_IOMUXC_NAND_DATA05__RAWNAND_DATA05 0x10C 0x36C 0x000 0x0 0x0 418 + #define MX8MP_IOMUXC_NAND_DATA05__FLEXSPI_B_DATA01 0x10C 0x36C 0x000 0x1 0x0 419 + #define MX8MP_IOMUXC_NAND_DATA05__USDHC3_DATA1 0x10C 0x36C 0x614 0x2 0x1 420 + #define MX8MP_IOMUXC_NAND_DATA05__FLEXSPI_A_DATA05 0x10C 0x36C 0x000 0x3 0x0 421 + #define MX8MP_IOMUXC_NAND_DATA05__MEDIAMIX_ISP_FLASH_TRIG_1 0x10C 0x36C 0x000 0x4 0x0 422 + #define MX8MP_IOMUXC_NAND_DATA05__GPIO3_IO11 0x10C 0x36C 0x000 0x5 0x0 423 + #define MX8MP_IOMUXC_NAND_DATA05__CORESIGHT_TRACE09 0x10C 0x36C 0x000 0x6 0x0 424 + #define MX8MP_IOMUXC_NAND_DATA05__SIM_M_HADDR07 0x10C 0x36C 0x000 0x7 0x0 425 + #define MX8MP_IOMUXC_NAND_DATA06__RAWNAND_DATA06 0x110 0x370 0x000 0x0 0x0 426 + #define MX8MP_IOMUXC_NAND_DATA06__FLEXSPI_B_DATA02 0x110 0x370 0x000 0x1 0x0 427 + #define MX8MP_IOMUXC_NAND_DATA06__USDHC3_DATA2 0x110 0x370 0x618 0x2 0x1 428 + #define MX8MP_IOMUXC_NAND_DATA06__FLEXSPI_A_DATA06 0x110 0x370 0x000 0x3 0x0 429 + #define MX8MP_IOMUXC_NAND_DATA06__MEDIAMIX_ISP_PRELIGHT_TRIG_1 0x110 0x370 0x000 0x4 0x0 430 + #define MX8MP_IOMUXC_NAND_DATA06__GPIO3_IO12 0x110 0x370 0x000 0x5 0x0 431 + #define MX8MP_IOMUXC_NAND_DATA06__CORESIGHT_TRACE10 0x110 0x370 0x000 0x6 0x0 432 + #define MX8MP_IOMUXC_NAND_DATA06__SIM_M_HADDR08 0x110 0x370 0x000 0x7 0x0 433 + #define MX8MP_IOMUXC_NAND_DATA07__RAWNAND_DATA07 0x114 0x374 0x000 0x0 0x0 434 + #define MX8MP_IOMUXC_NAND_DATA07__FLEXSPI_B_DATA03 0x114 0x374 0x000 0x1 0x0 435 + #define MX8MP_IOMUXC_NAND_DATA07__USDHC3_DATA3 0x114 0x374 0x61C 0x2 0x1 436 + #define MX8MP_IOMUXC_NAND_DATA07__FLEXSPI_A_DATA07 0x114 0x374 0x000 0x3 0x0 437 + #define MX8MP_IOMUXC_NAND_DATA07__MEDIAMIX_ISP_SHUTTER_OPEN_1 0x114 0x374 0x000 0x4 0x0 438 + #define MX8MP_IOMUXC_NAND_DATA07__GPIO3_IO13 0x114 0x374 0x000 0x5 0x0 439 + #define MX8MP_IOMUXC_NAND_DATA07__CORESIGHT_TRACE11 0x114 0x374 0x000 0x6 0x0 440 + #define MX8MP_IOMUXC_NAND_DATA07__SIM_M_HADDR09 0x114 0x374 0x000 0x7 0x0 441 + #define MX8MP_IOMUXC_NAND_DQS__RAWNAND_DQS 0x118 0x378 0x000 0x0 0x0 442 + #define MX8MP_IOMUXC_NAND_DQS__FLEXSPI_A_DQS 0x118 0x378 0x000 0x1 0x0 443 + #define MX8MP_IOMUXC_NAND_DQS__AUDIOMIX_SAI3_MCLK 0x118 0x378 0x4E0 0x2 0x0 444 + #define MX8MP_IOMUXC_NAND_DQS__MEDIAMIX_ISP_SHUTTER_OPEN_0 0x118 0x378 0x000 0x3 0x0 445 + #define MX8MP_IOMUXC_NAND_DQS__I2C3_SCL 0x118 0x378 0x5B4 0x4 0x1 446 + #define MX8MP_IOMUXC_NAND_DQS__GPIO3_IO14 0x118 0x378 0x000 0x5 0x0 447 + #define MX8MP_IOMUXC_NAND_DQS__CORESIGHT_TRACE12 0x118 0x378 0x000 0x6 0x0 448 + #define MX8MP_IOMUXC_NAND_DQS__SIM_M_HADDR10 0x118 0x378 0x000 0x7 0x0 449 + #define MX8MP_IOMUXC_NAND_RE_B__RAWNAND_RE_B 0x11C 0x37C 0x000 0x0 0x0 450 + #define MX8MP_IOMUXC_NAND_RE_B__FLEXSPI_B_DQS 0x11C 0x37C 0x000 0x1 0x0 451 + #define MX8MP_IOMUXC_NAND_RE_B__USDHC3_DATA4 0x11C 0x37C 0x620 0x2 0x1 452 + #define MX8MP_IOMUXC_NAND_RE_B__UART4_DCE_TX 0x11C 0x37C 0x000 0x4 0x0 453 + #define MX8MP_IOMUXC_NAND_RE_B__UART4_DTE_RX 0x11C 0x37C 0x600 0x4 0x5 454 + #define MX8MP_IOMUXC_NAND_RE_B__GPIO3_IO15 0x11C 0x37C 0x000 0x5 0x0 455 + #define MX8MP_IOMUXC_NAND_RE_B__CORESIGHT_TRACE13 0x11C 0x37C 0x000 0x6 0x0 456 + #define MX8MP_IOMUXC_NAND_RE_B__SIM_M_HADDR11 0x11C 0x37C 0x000 0x7 0x0 457 + #define MX8MP_IOMUXC_NAND_READY_B__RAWNAND_READY_B 0x120 0x380 0x000 0x0 0x0 458 + #define MX8MP_IOMUXC_NAND_READY_B__USDHC3_RESET_B 0x120 0x380 0x000 0x2 0x0 459 + #define MX8MP_IOMUXC_NAND_READY_B__I2C3_SCL 0x120 0x380 0x5B4 0x4 0x2 460 + #define MX8MP_IOMUXC_NAND_READY_B__GPIO3_IO16 0x120 0x380 0x000 0x5 0x0 461 + #define MX8MP_IOMUXC_NAND_READY_B__CORESIGHT_TRACE14 0x120 0x380 0x000 0x6 0x0 462 + #define MX8MP_IOMUXC_NAND_READY_B__SIM_M_HADDR12 0x120 0x380 0x000 0x7 0x0 463 + #define MX8MP_IOMUXC_NAND_WE_B__RAWNAND_WE_B 0x124 0x384 0x000 0x0 0x0 464 + #define MX8MP_IOMUXC_NAND_WE_B__USDHC3_CLK 0x124 0x384 0x604 0x2 0x1 465 + #define MX8MP_IOMUXC_NAND_WE_B__I2C3_SDA 0x124 0x384 0x5B8 0x4 0x2 466 + #define MX8MP_IOMUXC_NAND_WE_B__GPIO3_IO17 0x124 0x384 0x000 0x5 0x0 467 + #define MX8MP_IOMUXC_NAND_WE_B__CORESIGHT_TRACE15 0x124 0x384 0x000 0x6 0x0 468 + #define MX8MP_IOMUXC_NAND_WE_B__SIM_M_HADDR13 0x124 0x384 0x000 0x7 0x0 469 + #define MX8MP_IOMUXC_NAND_WP_B__RAWNAND_WP_B 0x128 0x388 0x000 0x0 0x0 470 + #define MX8MP_IOMUXC_NAND_WP_B__USDHC3_CMD 0x128 0x388 0x60C 0x2 0x1 471 + #define MX8MP_IOMUXC_NAND_WP_B__I2C4_SCL 0x128 0x388 0x5BC 0x4 0x3 472 + #define MX8MP_IOMUXC_NAND_WP_B__GPIO3_IO18 0x128 0x388 0x000 0x5 0x0 473 + #define MX8MP_IOMUXC_NAND_WP_B__CORESIGHT_EVENTO 0x128 0x388 0x000 0x6 0x0 474 + #define MX8MP_IOMUXC_NAND_WP_B__SIM_M_HADDR14 0x128 0x388 0x000 0x7 0x0 475 + #define MX8MP_IOMUXC_SAI5_RXFS__AUDIOMIX_SAI5_RX_SYNC 0x12C 0x38C 0x508 0x0 0x0 476 + #define MX8MP_IOMUXC_SAI5_RXFS__AUDIOMIX_SAI1_TX_DATA00 0x12C 0x38C 0x000 0x1 0x0 477 + #define MX8MP_IOMUXC_SAI5_RXFS__PWM4_OUT 0x12C 0x38C 0x000 0x2 0x0 478 + #define MX8MP_IOMUXC_SAI5_RXFS__I2C6_SCL 0x12C 0x38C 0x5CC 0x3 0x1 479 + #define MX8MP_IOMUXC_SAI5_RXFS__GPIO3_IO19 0x12C 0x38C 0x000 0x5 0x0 480 + #define MX8MP_IOMUXC_SAI5_RXC__AUDIOMIX_SAI5_RX_BCLK 0x130 0x390 0x4F4 0x0 0x0 481 + #define MX8MP_IOMUXC_SAI5_RXC__AUDIOMIX_SAI1_TX_DATA01 0x130 0x390 0x000 0x1 0x0 482 + #define MX8MP_IOMUXC_SAI5_RXC__PWM3_OUT 0x130 0x390 0x000 0x2 0x0 483 + #define MX8MP_IOMUXC_SAI5_RXC__I2C6_SDA 0x130 0x390 0x5D0 0x3 0x1 484 + #define MX8MP_IOMUXC_SAI5_RXC__AUDIOMIX_CLK 0x130 0x390 0x000 0x4 0x0 485 + #define MX8MP_IOMUXC_SAI5_RXC__GPIO3_IO20 0x130 0x390 0x000 0x5 0x0 486 + #define MX8MP_IOMUXC_SAI5_RXD0__AUDIOMIX_SAI5_RX_DATA00 0x134 0x394 0x4F8 0x0 0x0 487 + #define MX8MP_IOMUXC_SAI5_RXD0__AUDIOMIX_SAI1_TX_DATA02 0x134 0x394 0x000 0x1 0x0 488 + #define MX8MP_IOMUXC_SAI5_RXD0__PWM2_OUT 0x134 0x394 0x000 0x2 0x0 489 + #define MX8MP_IOMUXC_SAI5_RXD0__I2C5_SCL 0x134 0x394 0x5C4 0x3 0x1 490 + #define MX8MP_IOMUXC_SAI5_RXD0__AUDIOMIX_BIT_STREAM00 0x134 0x394 0x4C0 0x4 0x2 491 + #define MX8MP_IOMUXC_SAI5_RXD0__GPIO3_IO21 0x134 0x394 0x000 0x5 0x0 492 + #define MX8MP_IOMUXC_SAI5_RXD1__AUDIOMIX_SAI5_RX_DATA01 0x138 0x398 0x4FC 0x0 0x0 493 + #define MX8MP_IOMUXC_SAI5_RXD1__AUDIOMIX_SAI1_TX_DATA03 0x138 0x398 0x000 0x1 0x0 494 + #define MX8MP_IOMUXC_SAI5_RXD1__AUDIOMIX_SAI1_TX_SYNC 0x138 0x398 0x4D8 0x2 0x0 495 + #define MX8MP_IOMUXC_SAI5_RXD1__AUDIOMIX_SAI5_TX_SYNC 0x138 0x398 0x510 0x3 0x0 496 + #define MX8MP_IOMUXC_SAI5_RXD1__AUDIOMIX_BIT_STREAM01 0x138 0x398 0x4C4 0x4 0x2 497 + #define MX8MP_IOMUXC_SAI5_RXD1__GPIO3_IO22 0x138 0x398 0x000 0x5 0x0 498 + #define MX8MP_IOMUXC_SAI5_RXD1__CAN1_TX 0x138 0x398 0x000 0x6 0x0 499 + #define MX8MP_IOMUXC_SAI5_RXD2__AUDIOMIX_SAI5_RX_DATA02 0x13C 0x39C 0x500 0x0 0x0 500 + #define MX8MP_IOMUXC_SAI5_RXD2__AUDIOMIX_SAI1_TX_DATA04 0x13C 0x39C 0x000 0x1 0x0 501 + #define MX8MP_IOMUXC_SAI5_RXD2__AUDIOMIX_SAI1_TX_SYNC 0x13C 0x39C 0x4D8 0x2 0x1 502 + #define MX8MP_IOMUXC_SAI5_RXD2__AUDIOMIX_SAI5_TX_BCLK 0x13C 0x39C 0x50C 0x3 0x0 503 + #define MX8MP_IOMUXC_SAI5_RXD2__AUDIOMIX_BIT_STREAM02 0x13C 0x39C 0x4C8 0x4 0x2 504 + #define MX8MP_IOMUXC_SAI5_RXD2__GPIO3_IO23 0x13C 0x39C 0x000 0x5 0x0 505 + #define MX8MP_IOMUXC_SAI5_RXD2__CAN1_RX 0x13C 0x39C 0x54C 0x6 0x0 506 + #define MX8MP_IOMUXC_SAI5_RXD3__AUDIOMIX_SAI5_RX_DATA03 0x140 0x3A0 0x504 0x0 0x0 507 + #define MX8MP_IOMUXC_SAI5_RXD3__AUDIOMIX_SAI1_TX_DATA05 0x140 0x3A0 0x000 0x1 0x0 508 + #define MX8MP_IOMUXC_SAI5_RXD3__AUDIOMIX_SAI1_TX_SYNC 0x140 0x3A0 0x4D8 0x2 0x2 509 + #define MX8MP_IOMUXC_SAI5_RXD3__AUDIOMIX_SAI5_TX_DATA00 0x140 0x3A0 0x000 0x3 0x0 510 + #define MX8MP_IOMUXC_SAI5_RXD3__AUDIOMIX_BIT_STREAM03 0x140 0x3A0 0x4CC 0x4 0x2 511 + #define MX8MP_IOMUXC_SAI5_RXD3__GPIO3_IO24 0x140 0x3A0 0x000 0x5 0x0 512 + #define MX8MP_IOMUXC_SAI5_RXD3__CAN2_TX 0x140 0x3A0 0x000 0x6 0x0 513 + #define MX8MP_IOMUXC_SAI5_MCLK__AUDIOMIX_SAI5_MCLK 0x144 0x3A4 0x4F0 0x0 0x0 514 + #define MX8MP_IOMUXC_SAI5_MCLK__AUDIOMIX_SAI1_TX_BCLK 0x144 0x3A4 0x4D4 0x1 0x0 515 + #define MX8MP_IOMUXC_SAI5_MCLK__PWM1_OUT 0x144 0x3A4 0x000 0x2 0x0 516 + #define MX8MP_IOMUXC_SAI5_MCLK__I2C5_SDA 0x144 0x3A4 0x5C8 0x3 0x1 517 + #define MX8MP_IOMUXC_SAI5_MCLK__GPIO3_IO25 0x144 0x3A4 0x000 0x5 0x0 518 + #define MX8MP_IOMUXC_SAI5_MCLK__CAN2_RX 0x144 0x3A4 0x550 0x6 0x0 519 + #define MX8MP_IOMUXC_SAI1_RXFS__AUDIOMIX_SAI1_RX_SYNC 0x148 0x3A8 0x4D0 0x0 0x0 520 + #define MX8MP_IOMUXC_SAI1_RXFS__AUDIOMIX_SAI5_RX_SYNC 0x148 0x3A8 0x508 0x1 0x1 521 + #define MX8MP_IOMUXC_SAI1_RXFS__ENET1_1588_EVENT0_IN 0x148 0x3A8 0x000 0x4 0x0 522 + #define MX8MP_IOMUXC_SAI1_RXFS__GPIO4_IO00 0x148 0x3A8 0x000 0x5 0x0 523 + #define MX8MP_IOMUXC_SAI1_RXC__AUDIOMIX_SAI1_RX_BCLK 0x14C 0x3AC 0x000 0x0 0x0 524 + #define MX8MP_IOMUXC_SAI1_RXC__AUDIOMIX_SAI5_RX_BCLK 0x14C 0x3AC 0x4F4 0x1 0x1 525 + #define MX8MP_IOMUXC_SAI1_RXC__AUDIOMIX_CLK 0x14C 0x3AC 0x000 0x3 0x0 526 + #define MX8MP_IOMUXC_SAI1_RXC__ENET1_1588_EVENT0_OUT 0x14C 0x3AC 0x000 0x4 0x0 527 + #define MX8MP_IOMUXC_SAI1_RXC__GPIO4_IO01 0x14C 0x3AC 0x000 0x5 0x0 528 + #define MX8MP_IOMUXC_SAI1_RXD0__AUDIOMIX_SAI1_RX_DATA00 0x150 0x3B0 0x000 0x0 0x0 529 + #define MX8MP_IOMUXC_SAI1_RXD0__AUDIOMIX_SAI5_RX_DATA00 0x150 0x3B0 0x4F8 0x1 0x1 530 + #define MX8MP_IOMUXC_SAI1_RXD0__AUDIOMIX_SAI1_TX_DATA01 0x150 0x3B0 0x000 0x2 0x0 531 + #define MX8MP_IOMUXC_SAI1_RXD0__AUDIOMIX_BIT_STREAM00 0x150 0x3B0 0x4C0 0x3 0x3 532 + #define MX8MP_IOMUXC_SAI1_RXD0__ENET1_1588_EVENT1_IN 0x150 0x3B0 0x000 0x4 0x0 533 + #define MX8MP_IOMUXC_SAI1_RXD0__GPIO4_IO02 0x150 0x3B0 0x000 0x5 0x0 534 + #define MX8MP_IOMUXC_SAI1_RXD1__AUDIOMIX_SAI1_RX_DATA01 0x154 0x3B4 0x000 0x0 0x0 535 + #define MX8MP_IOMUXC_SAI1_RXD1__AUDIOMIX_SAI5_RX_DATA01 0x154 0x3B4 0x4FC 0x1 0x1 536 + #define MX8MP_IOMUXC_SAI1_RXD1__AUDIOMIX_BIT_STREAM01 0x154 0x3B4 0x4C4 0x3 0x3 537 + #define MX8MP_IOMUXC_SAI1_RXD1__ENET1_1588_EVENT1_OUT 0x154 0x3B4 0x000 0x4 0x0 538 + #define MX8MP_IOMUXC_SAI1_RXD1__GPIO4_IO03 0x154 0x3B4 0x000 0x5 0x0 539 + #define MX8MP_IOMUXC_SAI1_RXD2__AUDIOMIX_SAI1_RX_DATA02 0x158 0x3B8 0x000 0x0 0x0 540 + #define MX8MP_IOMUXC_SAI1_RXD2__AUDIOMIX_SAI5_RX_DATA02 0x158 0x3B8 0x500 0x1 0x1 541 + #define MX8MP_IOMUXC_SAI1_RXD2__AUDIOMIX_BIT_STREAM02 0x158 0x3B8 0x4C8 0x3 0x3 542 + #define MX8MP_IOMUXC_SAI1_RXD2__ENET1_MDC 0x158 0x3B8 0x000 0x4 0x0 543 + #define MX8MP_IOMUXC_SAI1_RXD2__GPIO4_IO04 0x158 0x3B8 0x000 0x5 0x0 544 + #define MX8MP_IOMUXC_SAI1_RXD3__AUDIOMIX_SAI1_RX_DATA03 0x15C 0x3BC 0x000 0x0 0x0 545 + #define MX8MP_IOMUXC_SAI1_RXD3__AUDIOMIX_SAI5_RX_DATA03 0x15C 0x3BC 0x504 0x1 0x1 546 + #define MX8MP_IOMUXC_SAI1_RXD3__AUDIOMIX_BIT_STREAM03 0x15C 0x3BC 0x4CC 0x3 0x3 547 + #define MX8MP_IOMUXC_SAI1_RXD3__ENET1_MDIO 0x15C 0x3BC 0x57C 0x4 0x1 548 + #define MX8MP_IOMUXC_SAI1_RXD3__GPIO4_IO05 0x15C 0x3BC 0x000 0x5 0x0 549 + #define MX8MP_IOMUXC_SAI1_RXD4__AUDIOMIX_SAI1_RX_DATA04 0x160 0x3C0 0x000 0x0 0x0 550 + #define MX8MP_IOMUXC_SAI1_RXD4__AUDIOMIX_SAI6_TX_BCLK 0x160 0x3C0 0x524 0x1 0x1 551 + #define MX8MP_IOMUXC_SAI1_RXD4__AUDIOMIX_SAI6_RX_BCLK 0x160 0x3C0 0x518 0x2 0x1 552 + #define MX8MP_IOMUXC_SAI1_RXD4__ENET1_RGMII_RD0 0x160 0x3C0 0x580 0x4 0x1 553 + #define MX8MP_IOMUXC_SAI1_RXD4__GPIO4_IO06 0x160 0x3C0 0x000 0x5 0x0 554 + #define MX8MP_IOMUXC_SAI1_RXD5__AUDIOMIX_SAI1_RX_DATA05 0x164 0x3C4 0x000 0x0 0x0 555 + #define MX8MP_IOMUXC_SAI1_RXD5__AUDIOMIX_SAI6_TX_DATA00 0x164 0x3C4 0x000 0x1 0x0 556 + #define MX8MP_IOMUXC_SAI1_RXD5__AUDIOMIX_SAI6_RX_DATA00 0x164 0x3C4 0x51C 0x2 0x1 557 + #define MX8MP_IOMUXC_SAI1_RXD5__AUDIOMIX_SAI1_RX_SYNC 0x164 0x3C4 0x4D0 0x3 0x1 558 + #define MX8MP_IOMUXC_SAI1_RXD5__ENET1_RGMII_RD1 0x164 0x3C4 0x584 0x4 0x1 559 + #define MX8MP_IOMUXC_SAI1_RXD5__GPIO4_IO07 0x164 0x3C4 0x000 0x5 0x0 560 + #define MX8MP_IOMUXC_SAI1_RXD6__AUDIOMIX_SAI1_RX_DATA06 0x168 0x3C8 0x000 0x0 0x0 561 + #define MX8MP_IOMUXC_SAI1_RXD6__AUDIOMIX_SAI6_TX_SYNC 0x168 0x3C8 0x528 0x1 0x1 562 + #define MX8MP_IOMUXC_SAI1_RXD6__AUDIOMIX_SAI6_RX_SYNC 0x168 0x3C8 0x520 0x2 0x1 563 + #define MX8MP_IOMUXC_SAI1_RXD6__ENET1_RGMII_RD2 0x168 0x3C8 0x000 0x4 0x0 564 + #define MX8MP_IOMUXC_SAI1_RXD6__GPIO4_IO08 0x168 0x3C8 0x000 0x5 0x0 565 + #define MX8MP_IOMUXC_SAI1_RXD7__AUDIOMIX_SAI1_RX_DATA07 0x16C 0x3CC 0x000 0x0 0x0 566 + #define MX8MP_IOMUXC_SAI1_RXD7__AUDIOMIX_SAI6_MCLK 0x16C 0x3CC 0x514 0x1 0x1 567 + #define MX8MP_IOMUXC_SAI1_RXD7__AUDIOMIX_SAI1_TX_SYNC 0x16C 0x3CC 0x4D8 0x2 0x3 568 + #define MX8MP_IOMUXC_SAI1_RXD7__AUDIOMIX_SAI1_TX_DATA04 0x16C 0x3CC 0x000 0x3 0x0 569 + #define MX8MP_IOMUXC_SAI1_RXD7__ENET1_RGMII_RD3 0x16C 0x3CC 0x000 0x4 0x0 570 + #define MX8MP_IOMUXC_SAI1_RXD7__GPIO4_IO09 0x16C 0x3CC 0x000 0x5 0x0 571 + #define MX8MP_IOMUXC_SAI1_TXFS__AUDIOMIX_SAI1_TX_SYNC 0x170 0x3D0 0x4D8 0x0 0x4 572 + #define MX8MP_IOMUXC_SAI1_TXFS__AUDIOMIX_SAI5_TX_SYNC 0x170 0x3D0 0x510 0x1 0x1 573 + #define MX8MP_IOMUXC_SAI1_TXFS__ENET1_RGMII_RX_CTL 0x170 0x3D0 0x588 0x4 0x1 574 + #define MX8MP_IOMUXC_SAI1_TXFS__GPIO4_IO10 0x170 0x3D0 0x000 0x5 0x0 575 + #define MX8MP_IOMUXC_SAI1_TXC__AUDIOMIX_SAI1_TX_BCLK 0x174 0x3D4 0x4D4 0x0 0x1 576 + #define MX8MP_IOMUXC_SAI1_TXC__AUDIOMIX_SAI5_TX_BCLK 0x174 0x3D4 0x50C 0x1 0x1 577 + #define MX8MP_IOMUXC_SAI1_TXC__ENET1_RGMII_RXC 0x174 0x3D4 0x000 0x4 0x0 578 + #define MX8MP_IOMUXC_SAI1_TXC__GPIO4_IO11 0x174 0x3D4 0x000 0x5 0x0 579 + #define MX8MP_IOMUXC_SAI1_TXD0__AUDIOMIX_SAI1_TX_DATA00 0x178 0x3D8 0x000 0x0 0x0 580 + #define MX8MP_IOMUXC_SAI1_TXD0__AUDIOMIX_SAI5_TX_DATA00 0x178 0x3D8 0x000 0x1 0x0 581 + #define MX8MP_IOMUXC_SAI1_TXD0__ENET1_RGMII_TD0 0x178 0x3D8 0x000 0x4 0x0 582 + #define MX8MP_IOMUXC_SAI1_TXD0__GPIO4_IO12 0x178 0x3D8 0x000 0x5 0x0 583 + #define MX8MP_IOMUXC_SAI1_TXD1__AUDIOMIX_SAI1_TX_DATA01 0x17C 0x3DC 0x000 0x0 0x0 584 + #define MX8MP_IOMUXC_SAI1_TXD1__AUDIOMIX_SAI5_TX_DATA01 0x17C 0x3DC 0x000 0x1 0x0 585 + #define MX8MP_IOMUXC_SAI1_TXD1__ENET1_RGMII_TD1 0x17C 0x3DC 0x000 0x4 0x0 586 + #define MX8MP_IOMUXC_SAI1_TXD1__GPIO4_IO13 0x17C 0x3DC 0x000 0x5 0x0 587 + #define MX8MP_IOMUXC_SAI1_TXD2__AUDIOMIX_SAI1_TX_DATA02 0x180 0x3E0 0x000 0x0 0x0 588 + #define MX8MP_IOMUXC_SAI1_TXD2__AUDIOMIX_SAI5_TX_DATA02 0x180 0x3E0 0x000 0x1 0x0 589 + #define MX8MP_IOMUXC_SAI1_TXD2__ENET1_RGMII_TD2 0x180 0x3E0 0x000 0x4 0x0 590 + #define MX8MP_IOMUXC_SAI1_TXD2__GPIO4_IO14 0x180 0x3E0 0x000 0x5 0x0 591 + #define MX8MP_IOMUXC_SAI1_TXD3__AUDIOMIX_SAI1_TX_DATA03 0x184 0x3E4 0x000 0x0 0x0 592 + #define MX8MP_IOMUXC_SAI1_TXD3__AUDIOMIX_SAI5_TX_DATA03 0x184 0x3E4 0x000 0x1 0x0 593 + #define MX8MP_IOMUXC_SAI1_TXD3__ENET1_RGMII_TD3 0x184 0x3E4 0x000 0x4 0x0 594 + #define MX8MP_IOMUXC_SAI1_TXD3__GPIO4_IO15 0x184 0x3E4 0x000 0x5 0x0 595 + #define MX8MP_IOMUXC_SAI1_TXD4__AUDIOMIX_SAI1_TX_DATA04 0x188 0x3E8 0x000 0x0 0x0 596 + #define MX8MP_IOMUXC_SAI1_TXD4__AUDIOMIX_SAI6_RX_BCLK 0x188 0x3E8 0x518 0x1 0x2 597 + #define MX8MP_IOMUXC_SAI1_TXD4__AUDIOMIX_SAI6_TX_BCLK 0x188 0x3E8 0x524 0x2 0x2 598 + #define MX8MP_IOMUXC_SAI1_TXD4__ENET1_RGMII_TX_CTL 0x188 0x3E8 0x000 0x4 0x0 599 + #define MX8MP_IOMUXC_SAI1_TXD4__GPIO4_IO16 0x188 0x3E8 0x000 0x5 0x0 600 + #define MX8MP_IOMUXC_SAI1_TXD5__AUDIOMIX_SAI1_TX_DATA05 0x18C 0x3EC 0x000 0x0 0x0 601 + #define MX8MP_IOMUXC_SAI1_TXD5__AUDIOMIX_SAI6_RX_DATA00 0x18C 0x3EC 0x51C 0x1 0x2 602 + #define MX8MP_IOMUXC_SAI1_TXD5__AUDIOMIX_SAI6_TX_DATA00 0x18C 0x3EC 0x000 0x2 0x0 603 + #define MX8MP_IOMUXC_SAI1_TXD5__ENET1_RGMII_TXC 0x18C 0x3EC 0x000 0x4 0x0 604 + #define MX8MP_IOMUXC_SAI1_TXD5__GPIO4_IO17 0x18C 0x3EC 0x000 0x5 0x0 605 + #define MX8MP_IOMUXC_SAI1_TXD6__AUDIOMIX_SAI1_TX_DATA06 0x190 0x3F0 0x000 0x0 0x0 606 + #define MX8MP_IOMUXC_SAI1_TXD6__AUDIOMIX_SAI6_RX_SYNC 0x190 0x3F0 0x520 0x1 0x2 607 + #define MX8MP_IOMUXC_SAI1_TXD6__AUDIOMIX_SAI6_TX_SYNC 0x190 0x3F0 0x528 0x2 0x2 608 + #define MX8MP_IOMUXC_SAI1_TXD6__ENET1_RX_ER 0x190 0x3F0 0x58C 0x4 0x1 609 + #define MX8MP_IOMUXC_SAI1_TXD6__GPIO4_IO18 0x190 0x3F0 0x000 0x5 0x0 610 + #define MX8MP_IOMUXC_SAI1_TXD7__AUDIOMIX_SAI1_TX_DATA07 0x194 0x3F4 0x000 0x0 0x0 611 + #define MX8MP_IOMUXC_SAI1_TXD7__AUDIOMIX_SAI6_MCLK 0x194 0x3F4 0x514 0x1 0x2 612 + #define MX8MP_IOMUXC_SAI1_TXD7__AUDIOMIX_CLK 0x194 0x3F4 0x000 0x3 0x0 613 + #define MX8MP_IOMUXC_SAI1_TXD7__ENET1_TX_ER 0x194 0x3F4 0x000 0x4 0x0 614 + #define MX8MP_IOMUXC_SAI1_TXD7__GPIO4_IO19 0x194 0x3F4 0x000 0x5 0x0 615 + #define MX8MP_IOMUXC_SAI1_MCLK__AUDIOMIX_SAI1_MCLK 0x198 0x3F8 0x000 0x0 0x0 616 + #define MX8MP_IOMUXC_SAI1_MCLK__AUDIOMIX_SAI5_MCLK 0x198 0x3F8 0x4F0 0x1 0x1 617 + #define MX8MP_IOMUXC_SAI1_MCLK__AUDIOMIX_SAI1_TX_BCLK 0x198 0x3F8 0x4D4 0x2 0x2 618 + #define MX8MP_IOMUXC_SAI1_MCLK__ENET1_TX_CLK 0x198 0x3F8 0x578 0x4 0x1 619 + #define MX8MP_IOMUXC_SAI1_MCLK__GPIO4_IO20 0x198 0x3F8 0x000 0x5 0x0 620 + #define MX8MP_IOMUXC_SAI2_RXFS__AUDIOMIX_SAI2_RX_SYNC 0x19C 0x3FC 0x000 0x0 0x0 621 + #define MX8MP_IOMUXC_SAI2_RXFS__AUDIOMIX_SAI5_TX_SYNC 0x19C 0x3FC 0x510 0x1 0x2 622 + #define MX8MP_IOMUXC_SAI2_RXFS__AUDIOMIX_SAI5_TX_DATA01 0x19C 0x3FC 0x000 0x2 0x0 623 + #define MX8MP_IOMUXC_SAI2_RXFS__AUDIOMIX_SAI2_RX_DATA01 0x19C 0x3FC 0x4DC 0x3 0x0 624 + #define MX8MP_IOMUXC_SAI2_RXFS__UART1_DCE_TX 0x19C 0x3FC 0x000 0x4 0x0 625 + #define MX8MP_IOMUXC_SAI2_RXFS__UART1_DTE_RX 0x19C 0x3FC 0x5E8 0x4 0x2 626 + #define MX8MP_IOMUXC_SAI2_RXFS__GPIO4_IO21 0x19C 0x3FC 0x000 0x5 0x0 627 + #define MX8MP_IOMUXC_SAI2_RXFS__AUDIOMIX_BIT_STREAM02 0x19C 0x3FC 0x4C8 0x6 0x4 628 + #define MX8MP_IOMUXC_SAI2_RXFS__SIM_M_HSIZE00 0x19C 0x3FC 0x000 0x7 0x0 629 + #define MX8MP_IOMUXC_SAI2_RXC__AUDIOMIX_SAI2_RX_BCLK 0x1A0 0x400 0x000 0x0 0x0 630 + #define MX8MP_IOMUXC_SAI2_RXC__AUDIOMIX_SAI5_TX_BCLK 0x1A0 0x400 0x50C 0x1 0x2 631 + #define MX8MP_IOMUXC_SAI2_RXC__CAN1_TX 0x1A0 0x400 0x000 0x3 0x0 632 + #define MX8MP_IOMUXC_SAI2_RXC__UART1_DCE_RX 0x1A0 0x400 0x5E8 0x4 0x3 633 + #define MX8MP_IOMUXC_SAI2_RXC__UART1_DTE_TX 0x1A0 0x400 0x000 0x4 0x0 634 + #define MX8MP_IOMUXC_SAI2_RXC__GPIO4_IO22 0x1A0 0x400 0x000 0x5 0x0 635 + #define MX8MP_IOMUXC_SAI2_RXC__AUDIOMIX_BIT_STREAM01 0x1A0 0x400 0x4C4 0x6 0x4 636 + #define MX8MP_IOMUXC_SAI2_RXC__SIM_M_HSIZE01 0x1A0 0x400 0x000 0x7 0x0 637 + #define MX8MP_IOMUXC_SAI2_RXD0__AUDIOMIX_SAI2_RX_DATA00 0x1A4 0x404 0x000 0x0 0x0 638 + #define MX8MP_IOMUXC_SAI2_RXD0__AUDIOMIX_SAI5_TX_DATA00 0x1A4 0x404 0x000 0x1 0x0 639 + #define MX8MP_IOMUXC_SAI2_RXD0__ENET_QOS_1588_EVENT2_OUT 0x1A4 0x404 0x000 0x2 0x0 640 + #define MX8MP_IOMUXC_SAI2_RXD0__AUDIOMIX_SAI2_TX_DATA01 0x1A4 0x404 0x000 0x3 0x0 641 + #define MX8MP_IOMUXC_SAI2_RXD0__UART1_DCE_RTS 0x1A4 0x404 0x5E4 0x4 0x2 642 + #define MX8MP_IOMUXC_SAI2_RXD0__UART1_DTE_CTS 0x1A4 0x404 0x000 0x4 0x0 643 + #define MX8MP_IOMUXC_SAI2_RXD0__GPIO4_IO23 0x1A4 0x404 0x000 0x5 0x0 644 + #define MX8MP_IOMUXC_SAI2_RXD0__AUDIOMIX_BIT_STREAM03 0x1A4 0x404 0x4CC 0x6 0x4 645 + #define MX8MP_IOMUXC_SAI2_RXD0__SIM_M_HSIZE02 0x1A4 0x404 0x000 0x7 0x0 646 + #define MX8MP_IOMUXC_SAI2_TXFS__AUDIOMIX_SAI2_TX_SYNC 0x1A8 0x408 0x000 0x0 0x0 647 + #define MX8MP_IOMUXC_SAI2_TXFS__AUDIOMIX_SAI5_TX_DATA01 0x1A8 0x408 0x000 0x1 0x0 648 + #define MX8MP_IOMUXC_SAI2_TXFS__ENET_QOS_1588_EVENT3_OUT 0x1A8 0x408 0x000 0x2 0x0 649 + #define MX8MP_IOMUXC_SAI2_TXFS__AUDIOMIX_SAI2_TX_DATA01 0x1A8 0x408 0x000 0x3 0x0 650 + #define MX8MP_IOMUXC_SAI2_TXFS__UART1_DCE_CTS 0x1A8 0x408 0x000 0x4 0x0 651 + #define MX8MP_IOMUXC_SAI2_TXFS__UART1_DTE_RTS 0x1A8 0x408 0x5E4 0x4 0x3 652 + #define MX8MP_IOMUXC_SAI2_TXFS__GPIO4_IO24 0x1A8 0x408 0x000 0x5 0x0 653 + #define MX8MP_IOMUXC_SAI2_TXFS__AUDIOMIX_BIT_STREAM02 0x1A8 0x408 0x4C8 0x6 0x5 654 + #define MX8MP_IOMUXC_SAI2_TXFS__SIM_M_HWRITE 0x1A8 0x408 0x000 0x7 0x0 655 + #define MX8MP_IOMUXC_SAI2_TXC__AUDIOMIX_SAI2_TX_BCLK 0x1AC 0x40C 0x000 0x0 0x0 656 + #define MX8MP_IOMUXC_SAI2_TXC__AUDIOMIX_SAI5_TX_DATA02 0x1AC 0x40C 0x000 0x1 0x0 657 + #define MX8MP_IOMUXC_SAI2_TXC__CAN1_RX 0x1AC 0x40C 0x54C 0x3 0x1 658 + #define MX8MP_IOMUXC_SAI2_TXC__GPIO4_IO25 0x1AC 0x40C 0x000 0x5 0x0 659 + #define MX8MP_IOMUXC_SAI2_TXC__AUDIOMIX_BIT_STREAM01 0x1AC 0x40C 0x4C4 0x6 0x5 660 + #define MX8MP_IOMUXC_SAI2_TXC__SIM_M_HREADYOUT 0x1AC 0x40C 0x000 0x7 0x0 661 + #define MX8MP_IOMUXC_SAI2_TXD0__AUDIOMIX_SAI2_TX_DATA00 0x1B0 0x410 0x000 0x0 0x0 662 + #define MX8MP_IOMUXC_SAI2_TXD0__AUDIOMIX_SAI5_TX_DATA03 0x1B0 0x410 0x000 0x1 0x0 663 + #define MX8MP_IOMUXC_SAI2_TXD0__ENET_QOS_1588_EVENT2_IN 0x1B0 0x410 0x000 0x2 0x0 664 + #define MX8MP_IOMUXC_SAI2_TXD0__CAN2_TX 0x1B0 0x410 0x000 0x3 0x0 665 + #define MX8MP_IOMUXC_SAI2_TXD0__ENET_QOS_1588_EVENT2_AUX_IN 0x1B0 0x410 0x000 0x4 0x0 666 + #define MX8MP_IOMUXC_SAI2_TXD0__GPIO4_IO26 0x1B0 0x410 0x000 0x5 0x0 667 + #define MX8MP_IOMUXC_SAI2_TXD0__CCMSRCGPCMIX_BOOT_MODE04 0x1B0 0x410 0x000 0x6 0x0 668 + #define MX8MP_IOMUXC_SAI2_TXD0__TPSMP_CLK 0x1B0 0x410 0x000 0x7 0x0 669 + #define MX8MP_IOMUXC_SAI2_MCLK__AUDIOMIX_SAI2_MCLK 0x1B4 0x414 0x000 0x0 0x0 670 + #define MX8MP_IOMUXC_SAI2_MCLK__AUDIOMIX_SAI5_MCLK 0x1B4 0x414 0x4F0 0x1 0x2 671 + #define MX8MP_IOMUXC_SAI2_MCLK__ENET_QOS_1588_EVENT3_IN 0x1B4 0x414 0x000 0x2 0x0 672 + #define MX8MP_IOMUXC_SAI2_MCLK__CAN2_RX 0x1B4 0x414 0x550 0x3 0x1 673 + #define MX8MP_IOMUXC_SAI2_MCLK__ENET_QOS_1588_EVENT3_AUX_IN 0x1B4 0x414 0x000 0x4 0x0 674 + #define MX8MP_IOMUXC_SAI2_MCLK__GPIO4_IO27 0x1B4 0x414 0x000 0x5 0x0 675 + #define MX8MP_IOMUXC_SAI2_MCLK__AUDIOMIX_SAI3_MCLK 0x1B4 0x414 0x4E0 0x6 0x1 676 + #define MX8MP_IOMUXC_SAI2_MCLK__TPSMP_HDATA_DIR 0x1B4 0x414 0x000 0x7 0x0 677 + #define MX8MP_IOMUXC_SAI3_RXFS__AUDIOMIX_SAI3_RX_SYNC 0x1B8 0x418 0x000 0x0 0x0 678 + #define MX8MP_IOMUXC_SAI3_RXFS__AUDIOMIX_SAI2_RX_DATA01 0x1B8 0x418 0x4DC 0x1 0x1 679 + #define MX8MP_IOMUXC_SAI3_RXFS__AUDIOMIX_SAI5_RX_SYNC 0x1B8 0x418 0x508 0x2 0x2 680 + #define MX8MP_IOMUXC_SAI3_RXFS__AUDIOMIX_SAI3_RX_DATA01 0x1B8 0x418 0x000 0x3 0x0 681 + #define MX8MP_IOMUXC_SAI3_RXFS__AUDIOMIX_SPDIF_IN 0x1B8 0x418 0x544 0x4 0x2 682 + #define MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28 0x1B8 0x418 0x000 0x5 0x0 683 + #define MX8MP_IOMUXC_SAI3_RXFS__AUDIOMIX_BIT_STREAM00 0x1B8 0x418 0x4C0 0x6 0x4 684 + #define MX8MP_IOMUXC_SAI3_RXFS__TPSMP_HTRANS00 0x1B8 0x418 0x000 0x7 0x0 685 + #define MX8MP_IOMUXC_SAI3_RXC__AUDIOMIX_SAI3_RX_BCLK 0x1BC 0x41C 0x000 0x0 0x0 686 + #define MX8MP_IOMUXC_SAI3_RXC__AUDIOMIX_SAI2_RX_DATA02 0x1BC 0x41C 0x000 0x1 0x0 687 + #define MX8MP_IOMUXC_SAI3_RXC__AUDIOMIX_SAI5_RX_BCLK 0x1BC 0x41C 0x4F4 0x2 0x2 688 + #define MX8MP_IOMUXC_SAI3_RXC__GPT1_CLK 0x1BC 0x41C 0x59C 0x3 0x0 689 + #define MX8MP_IOMUXC_SAI3_RXC__UART2_DCE_CTS 0x1BC 0x41C 0x000 0x4 0x0 690 + #define MX8MP_IOMUXC_SAI3_RXC__UART2_DTE_RTS 0x1BC 0x41C 0x5EC 0x4 0x2 691 + #define MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0x1BC 0x41C 0x000 0x5 0x0 692 + #define MX8MP_IOMUXC_SAI3_RXC__AUDIOMIX_CLK 0x1BC 0x41C 0x000 0x6 0x0 693 + #define MX8MP_IOMUXC_SAI3_RXC__TPSMP_HTRANS01 0x1BC 0x41C 0x000 0x7 0x0 694 + #define MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00 0x1C0 0x420 0x4E4 0x0 0x1 695 + #define MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI2_RX_DATA03 0x1C0 0x420 0x000 0x1 0x0 696 + #define MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI5_RX_DATA00 0x1C0 0x420 0x4F8 0x2 0x2 697 + #define MX8MP_IOMUXC_SAI3_RXD__UART2_DCE_RTS 0x1C0 0x420 0x5EC 0x4 0x3 698 + #define MX8MP_IOMUXC_SAI3_RXD__UART2_DTE_CTS 0x1C0 0x420 0x000 0x4 0x0 699 + #define MX8MP_IOMUXC_SAI3_RXD__GPIO4_IO30 0x1C0 0x420 0x000 0x5 0x0 700 + #define MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_BIT_STREAM01 0x1C0 0x420 0x4C4 0x6 0x6 701 + #define MX8MP_IOMUXC_SAI3_RXD__TPSMP_HDATA00 0x1C0 0x420 0x000 0x7 0x0 702 + #define MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC 0x1C4 0x424 0x4EC 0x0 0x1 703 + #define MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI2_TX_DATA01 0x1C4 0x424 0x000 0x1 0x0 704 + #define MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI5_RX_DATA01 0x1C4 0x424 0x4FC 0x2 0x2 705 + #define MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_DATA01 0x1C4 0x424 0x000 0x3 0x0 706 + #define MX8MP_IOMUXC_SAI3_TXFS__UART2_DCE_RX 0x1C4 0x424 0x5F0 0x4 0x4 707 + #define MX8MP_IOMUXC_SAI3_TXFS__UART2_DTE_TX 0x1C4 0x424 0x000 0x4 0x0 708 + #define MX8MP_IOMUXC_SAI3_TXFS__GPIO4_IO31 0x1C4 0x424 0x000 0x5 0x0 709 + #define MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_BIT_STREAM03 0x1C4 0x424 0x4CC 0x6 0x5 710 + #define MX8MP_IOMUXC_SAI3_TXFS__TPSMP_HDATA01 0x1C4 0x424 0x000 0x7 0x0 711 + #define MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK 0x1C8 0x428 0x4E8 0x0 0x1 712 + #define MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI2_TX_DATA02 0x1C8 0x428 0x000 0x1 0x0 713 + #define MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI5_RX_DATA02 0x1C8 0x428 0x500 0x2 0x2 714 + #define MX8MP_IOMUXC_SAI3_TXC__GPT1_CAPTURE1 0x1C8 0x428 0x594 0x3 0x0 715 + #define MX8MP_IOMUXC_SAI3_TXC__UART2_DCE_TX 0x1C8 0x428 0x000 0x4 0x0 716 + #define MX8MP_IOMUXC_SAI3_TXC__UART2_DTE_RX 0x1C8 0x428 0x5F0 0x4 0x5 717 + #define MX8MP_IOMUXC_SAI3_TXC__GPIO5_IO00 0x1C8 0x428 0x000 0x5 0x0 718 + #define MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_BIT_STREAM02 0x1C8 0x428 0x4C8 0x6 0x6 719 + #define MX8MP_IOMUXC_SAI3_TXC__TPSMP_HDATA02 0x1C8 0x428 0x000 0x7 0x0 720 + #define MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0x1CC 0x42C 0x000 0x0 0x0 721 + #define MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI2_TX_DATA03 0x1CC 0x42C 0x000 0x1 0x0 722 + #define MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI5_RX_DATA03 0x1CC 0x42C 0x504 0x2 0x2 723 + #define MX8MP_IOMUXC_SAI3_TXD__GPT1_CAPTURE2 0x1CC 0x42C 0x598 0x3 0x0 724 + #define MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SPDIF_EXT_CLK 0x1CC 0x42C 0x548 0x4 0x0 725 + #define MX8MP_IOMUXC_SAI3_TXD__GPIO5_IO01 0x1CC 0x42C 0x000 0x5 0x0 726 + #define MX8MP_IOMUXC_SAI3_TXD__CCMSRCGPCMIX_BOOT_MODE05 0x1CC 0x42C 0x000 0x6 0x0 727 + #define MX8MP_IOMUXC_SAI3_TXD__TPSMP_HDATA03 0x1CC 0x42C 0x000 0x7 0x0 728 + #define MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK 0x1D0 0x430 0x4E0 0x0 0x2 729 + #define MX8MP_IOMUXC_SAI3_MCLK__PWM4_OUT 0x1D0 0x430 0x000 0x1 0x0 730 + #define MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI5_MCLK 0x1D0 0x430 0x4F0 0x2 0x3 731 + #define MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SPDIF_OUT 0x1D0 0x430 0x000 0x4 0x0 732 + #define MX8MP_IOMUXC_SAI3_MCLK__GPIO5_IO02 0x1D0 0x430 0x000 0x5 0x0 733 + #define MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SPDIF_IN 0x1D0 0x430 0x544 0x6 0x3 734 + #define MX8MP_IOMUXC_SAI3_MCLK__TPSMP_HDATA04 0x1D0 0x430 0x000 0x7 0x0 735 + #define MX8MP_IOMUXC_SPDIF_TX__AUDIOMIX_SPDIF_OUT 0x1D4 0x434 0x000 0x0 0x0 736 + #define MX8MP_IOMUXC_SPDIF_TX__PWM3_OUT 0x1D4 0x434 0x000 0x1 0x0 737 + #define MX8MP_IOMUXC_SPDIF_TX__I2C5_SCL 0x1D4 0x434 0x5C4 0x2 0x2 738 + #define MX8MP_IOMUXC_SPDIF_TX__GPT1_COMPARE1 0x1D4 0x434 0x000 0x3 0x0 739 + #define MX8MP_IOMUXC_SPDIF_TX__CAN1_TX 0x1D4 0x434 0x000 0x4 0x0 740 + #define MX8MP_IOMUXC_SPDIF_TX__GPIO5_IO03 0x1D4 0x434 0x000 0x5 0x0 741 + #define MX8MP_IOMUXC_SPDIF_RX__AUDIOMIX_SPDIF_IN 0x1D8 0x438 0x544 0x0 0x4 742 + #define MX8MP_IOMUXC_SPDIF_RX__PWM2_OUT 0x1D8 0x438 0x000 0x1 0x0 743 + #define MX8MP_IOMUXC_SPDIF_RX__I2C5_SDA 0x1D8 0x438 0x5C8 0x2 0x2 744 + #define MX8MP_IOMUXC_SPDIF_RX__GPT1_COMPARE2 0x1D8 0x438 0x000 0x3 0x0 745 + #define MX8MP_IOMUXC_SPDIF_RX__CAN1_RX 0x1D8 0x438 0x54C 0x4 0x2 746 + #define MX8MP_IOMUXC_SPDIF_RX__GPIO5_IO04 0x1D8 0x438 0x000 0x5 0x0 747 + #define MX8MP_IOMUXC_SPDIF_EXT_CLK__GPT1_COMPARE3 0x1DC 0x43C 0x000 0x3 0x0 748 + #define MX8MP_IOMUXC_SPDIF_EXT_CLK__GPIO5_IO05 0x1DC 0x43C 0x000 0x5 0x0 749 + #define MX8MP_IOMUXC_SPDIF_EXT_CLK__AUDIOMIX_SPDIF_EXT_CLK 0x1DC 0x43C 0x548 0x0 0x1 750 + #define MX8MP_IOMUXC_SPDIF_EXT_CLK__PWM1_OUT 0x1DC 0x43C 0x000 0x1 0x0 751 + #define MX8MP_IOMUXC_ECSPI1_SCLK__ECSPI1_SCLK 0x1E0 0x440 0x558 0x0 0x0 752 + #define MX8MP_IOMUXC_ECSPI1_SCLK__UART3_DCE_RX 0x1E0 0x440 0x5F8 0x1 0x4 753 + #define MX8MP_IOMUXC_ECSPI1_SCLK__UART3_DTE_TX 0x1E0 0x440 0x000 0x1 0x0 754 + #define MX8MP_IOMUXC_ECSPI1_SCLK__I2C1_SCL 0x1E0 0x440 0x5A4 0x2 0x1 755 + #define MX8MP_IOMUXC_ECSPI1_SCLK__AUDIOMIX_SAI7_RX_SYNC 0x1E0 0x440 0x538 0x3 0x1 756 + #define MX8MP_IOMUXC_ECSPI1_SCLK__GPIO5_IO06 0x1E0 0x440 0x000 0x5 0x0 757 + #define MX8MP_IOMUXC_ECSPI1_SCLK__TPSMP_HDATA08 0x1E0 0x440 0x000 0x7 0x0 758 + #define MX8MP_IOMUXC_ECSPI1_MOSI__ECSPI1_MOSI 0x1E4 0x444 0x560 0x0 0x0 759 + #define MX8MP_IOMUXC_ECSPI1_MOSI__UART3_DCE_TX 0x1E4 0x444 0x000 0x1 0x0 760 + #define MX8MP_IOMUXC_ECSPI1_MOSI__UART3_DTE_RX 0x1E4 0x444 0x5F8 0x1 0x5 761 + #define MX8MP_IOMUXC_ECSPI1_MOSI__I2C1_SDA 0x1E4 0x444 0x5A8 0x2 0x1 762 + #define MX8MP_IOMUXC_ECSPI1_MOSI__AUDIOMIX_SAI7_RX_BCLK 0x1E4 0x444 0x530 0x3 0x1 763 + #define MX8MP_IOMUXC_ECSPI1_MOSI__GPIO5_IO07 0x1E4 0x444 0x000 0x5 0x0 764 + #define MX8MP_IOMUXC_ECSPI1_MOSI__TPSMP_HDATA09 0x1E4 0x444 0x000 0x7 0x0 765 + #define MX8MP_IOMUXC_ECSPI1_MISO__ECSPI1_MISO 0x1E8 0x448 0x55C 0x0 0x0 766 + #define MX8MP_IOMUXC_ECSPI1_MISO__UART3_DCE_CTS 0x1E8 0x448 0x000 0x1 0x0 767 + #define MX8MP_IOMUXC_ECSPI1_MISO__UART3_DTE_RTS 0x1E8 0x448 0x5F4 0x1 0x2 768 + #define MX8MP_IOMUXC_ECSPI1_MISO__I2C2_SCL 0x1E8 0x448 0x5AC 0x2 0x1 769 + #define MX8MP_IOMUXC_ECSPI1_MISO__AUDIOMIX_SAI7_RX_DATA00 0x1E8 0x448 0x534 0x3 0x1 770 + #define MX8MP_IOMUXC_ECSPI1_MISO__GPIO5_IO08 0x1E8 0x448 0x000 0x5 0x0 771 + #define MX8MP_IOMUXC_ECSPI1_MISO__TPSMP_HDATA10 0x1E8 0x448 0x000 0x7 0x0 772 + #define MX8MP_IOMUXC_ECSPI1_SS0__ECSPI1_SS0 0x1EC 0x44C 0x564 0x0 0x0 773 + #define MX8MP_IOMUXC_ECSPI1_SS0__UART3_DCE_RTS 0x1EC 0x44C 0x5F4 0x1 0x3 774 + #define MX8MP_IOMUXC_ECSPI1_SS0__UART3_DTE_CTS 0x1EC 0x44C 0x000 0x1 0x0 775 + #define MX8MP_IOMUXC_ECSPI1_SS0__I2C2_SDA 0x1EC 0x44C 0x5B0 0x2 0x1 776 + #define MX8MP_IOMUXC_ECSPI1_SS0__AUDIOMIX_SAI7_TX_SYNC 0x1EC 0x44C 0x540 0x3 0x1 777 + #define MX8MP_IOMUXC_ECSPI1_SS0__GPIO5_IO09 0x1EC 0x44C 0x000 0x5 0x0 778 + #define MX8MP_IOMUXC_ECSPI1_SS0__TPSMP_HDATA11 0x1EC 0x44C 0x000 0x7 0x0 779 + #define MX8MP_IOMUXC_ECSPI2_SCLK__ECSPI2_SCLK 0x1F0 0x450 0x568 0x0 0x1 780 + #define MX8MP_IOMUXC_ECSPI2_SCLK__UART4_DCE_RX 0x1F0 0x450 0x600 0x1 0x6 781 + #define MX8MP_IOMUXC_ECSPI2_SCLK__UART4_DTE_TX 0x1F0 0x450 0x000 0x1 0x0 782 + #define MX8MP_IOMUXC_ECSPI2_SCLK__I2C3_SCL 0x1F0 0x450 0x5B4 0x2 0x3 783 + #define MX8MP_IOMUXC_ECSPI2_SCLK__AUDIOMIX_SAI7_TX_BCLK 0x1F0 0x450 0x53C 0x3 0x1 784 + #define MX8MP_IOMUXC_ECSPI2_SCLK__GPIO5_IO10 0x1F0 0x450 0x000 0x5 0x0 785 + #define MX8MP_IOMUXC_ECSPI2_SCLK__TPSMP_HDATA12 0x1F0 0x450 0x000 0x7 0x0 786 + #define MX8MP_IOMUXC_ECSPI2_MOSI__ECSPI2_MOSI 0x1F4 0x454 0x570 0x0 0x1 787 + #define MX8MP_IOMUXC_ECSPI2_MOSI__UART4_DCE_TX 0x1F4 0x454 0x000 0x1 0x0 788 + #define MX8MP_IOMUXC_ECSPI2_MOSI__UART4_DTE_RX 0x1F4 0x454 0x600 0x1 0x7 789 + #define MX8MP_IOMUXC_ECSPI2_MOSI__I2C3_SDA 0x1F4 0x454 0x5B8 0x2 0x3 790 + #define MX8MP_IOMUXC_ECSPI2_MOSI__AUDIOMIX_SAI7_TX_DATA00 0x1F4 0x454 0x000 0x3 0x0 791 + #define MX8MP_IOMUXC_ECSPI2_MOSI__GPIO5_IO11 0x1F4 0x454 0x000 0x5 0x0 792 + #define MX8MP_IOMUXC_ECSPI2_MOSI__TPSMP_HDATA13 0x1F4 0x454 0x000 0x7 0x0 793 + #define MX8MP_IOMUXC_ECSPI2_MISO__GPIO5_IO12 0x1F8 0x458 0x000 0x5 0x0 794 + #define MX8MP_IOMUXC_ECSPI2_MISO__TPSMP_HDATA14 0x1F8 0x458 0x000 0x7 0x0 795 + #define MX8MP_IOMUXC_ECSPI2_MISO__ECSPI2_MISO 0x1F8 0x458 0x56C 0x0 0x1 796 + #define MX8MP_IOMUXC_ECSPI2_MISO__UART4_DCE_CTS 0x1F8 0x458 0x000 0x1 0x0 797 + #define MX8MP_IOMUXC_ECSPI2_MISO__UART4_DTE_RTS 0x1F8 0x458 0x5FC 0x1 0x2 798 + #define MX8MP_IOMUXC_ECSPI2_MISO__I2C4_SCL 0x1F8 0x458 0x5BC 0x2 0x4 799 + #define MX8MP_IOMUXC_ECSPI2_MISO__AUDIOMIX_SAI7_MCLK 0x1F8 0x458 0x52C 0x3 0x1 800 + #define MX8MP_IOMUXC_ECSPI2_MISO__CCMSRCGPCMIX_CLKO1 0x1F8 0x458 0x000 0x4 0x0 801 + #define MX8MP_IOMUXC_ECSPI2_SS0__ECSPI2_SS0 0x1FC 0x45C 0x574 0x0 0x1 802 + #define MX8MP_IOMUXC_ECSPI2_SS0__UART4_DCE_RTS 0x1FC 0x45C 0x5FC 0x1 0x3 803 + #define MX8MP_IOMUXC_ECSPI2_SS0__UART4_DTE_CTS 0x1FC 0x45C 0x000 0x1 0x0 804 + #define MX8MP_IOMUXC_ECSPI2_SS0__I2C4_SDA 0x1FC 0x45C 0x5C0 0x2 0x4 805 + #define MX8MP_IOMUXC_ECSPI2_SS0__CCMSRCGPCMIX_CLKO2 0x1FC 0x45C 0x000 0x4 0x0 806 + #define MX8MP_IOMUXC_ECSPI2_SS0__GPIO5_IO13 0x1FC 0x45C 0x000 0x5 0x0 807 + #define MX8MP_IOMUXC_ECSPI2_SS0__TPSMP_HDATA15 0x1FC 0x45C 0x000 0x7 0x0 808 + #define MX8MP_IOMUXC_I2C1_SCL__I2C1_SCL 0x200 0x460 0x5A4 0x0 0x2 809 + #define MX8MP_IOMUXC_I2C1_SCL__ENET_QOS_MDC 0x200 0x460 0x000 0x1 0x0 810 + #define MX8MP_IOMUXC_I2C1_SCL__ECSPI1_SCLK 0x200 0x460 0x558 0x3 0x1 811 + #define MX8MP_IOMUXC_I2C1_SCL__GPIO5_IO14 0x200 0x460 0x000 0x5 0x0 812 + #define MX8MP_IOMUXC_I2C1_SCL__TPSMP_HDATA16 0x200 0x460 0x000 0x7 0x0 813 + #define MX8MP_IOMUXC_I2C1_SDA__I2C1_SDA 0x204 0x464 0x5A8 0x0 0x2 814 + #define MX8MP_IOMUXC_I2C1_SDA__ENET_QOS_MDIO 0x204 0x464 0x590 0x1 0x2 815 + #define MX8MP_IOMUXC_I2C1_SDA__ECSPI1_MOSI 0x204 0x464 0x560 0x3 0x1 816 + #define MX8MP_IOMUXC_I2C1_SDA__GPIO5_IO15 0x204 0x464 0x000 0x5 0x0 817 + #define MX8MP_IOMUXC_I2C1_SDA__TPSMP_HDATA17 0x204 0x464 0x000 0x7 0x0 818 + #define MX8MP_IOMUXC_I2C2_SCL__I2C2_SCL 0x208 0x468 0x5AC 0x0 0x2 819 + #define MX8MP_IOMUXC_I2C2_SCL__ENET_QOS_1588_EVENT1_IN 0x208 0x468 0x000 0x1 0x0 820 + #define MX8MP_IOMUXC_I2C2_SCL__USDHC3_CD_B 0x208 0x468 0x608 0x2 0x3 821 + #define MX8MP_IOMUXC_I2C2_SCL__ECSPI1_MISO 0x208 0x468 0x55C 0x3 0x1 822 + #define MX8MP_IOMUXC_I2C2_SCL__ENET_QOS_1588_EVENT1_AUX_IN 0x208 0x468 0x000 0x4 0x0 823 + #define MX8MP_IOMUXC_I2C2_SCL__GPIO5_IO16 0x208 0x468 0x000 0x5 0x0 824 + #define MX8MP_IOMUXC_I2C2_SCL__TPSMP_HDATA18 0x208 0x468 0x000 0x7 0x0 825 + #define MX8MP_IOMUXC_I2C2_SDA__I2C2_SDA 0x20C 0x46C 0x5B0 0x0 0x2 826 + #define MX8MP_IOMUXC_I2C2_SDA__ENET_QOS_1588_EVENT1_OUT 0x20C 0x46C 0x000 0x1 0x0 827 + #define MX8MP_IOMUXC_I2C2_SDA__USDHC3_WP 0x20C 0x46C 0x634 0x2 0x3 828 + #define MX8MP_IOMUXC_I2C2_SDA__ECSPI1_SS0 0x20C 0x46C 0x564 0x3 0x1 829 + #define MX8MP_IOMUXC_I2C2_SDA__GPIO5_IO17 0x20C 0x46C 0x000 0x5 0x0 830 + #define MX8MP_IOMUXC_I2C2_SDA__TPSMP_HDATA19 0x20C 0x46C 0x000 0x7 0x0 831 + #define MX8MP_IOMUXC_I2C3_SCL__I2C3_SCL 0x210 0x470 0x5B4 0x0 0x4 832 + #define MX8MP_IOMUXC_I2C3_SCL__PWM4_OUT 0x210 0x470 0x000 0x1 0x0 833 + #define MX8MP_IOMUXC_I2C3_SCL__GPT2_CLK 0x210 0x470 0x000 0x2 0x0 834 + #define MX8MP_IOMUXC_I2C3_SCL__ECSPI2_SCLK 0x210 0x470 0x568 0x3 0x2 835 + #define MX8MP_IOMUXC_I2C3_SCL__GPIO5_IO18 0x210 0x470 0x000 0x5 0x0 836 + #define MX8MP_IOMUXC_I2C3_SCL__TPSMP_HDATA20 0x210 0x470 0x000 0x7 0x0 837 + #define MX8MP_IOMUXC_I2C3_SDA__I2C3_SDA 0x214 0x474 0x5B8 0x0 0x4 838 + #define MX8MP_IOMUXC_I2C3_SDA__PWM3_OUT 0x214 0x474 0x000 0x1 0x0 839 + #define MX8MP_IOMUXC_I2C3_SDA__GPT3_CLK 0x214 0x474 0x000 0x2 0x0 840 + #define MX8MP_IOMUXC_I2C3_SDA__ECSPI2_MOSI 0x214 0x474 0x570 0x3 0x2 841 + #define MX8MP_IOMUXC_I2C3_SDA__GPIO5_IO19 0x214 0x474 0x000 0x5 0x0 842 + #define MX8MP_IOMUXC_I2C3_SDA__TPSMP_HDATA21 0x214 0x474 0x000 0x7 0x0 843 + #define MX8MP_IOMUXC_I2C4_SCL__I2C4_SCL 0x218 0x478 0x5BC 0x0 0x5 844 + #define MX8MP_IOMUXC_I2C4_SCL__PWM2_OUT 0x218 0x478 0x000 0x1 0x0 845 + #define MX8MP_IOMUXC_I2C4_SCL__HSIOMIX_PCIE_CLKREQ_B 0x218 0x478 0x5A0 0x2 0x0 846 + #define MX8MP_IOMUXC_I2C4_SCL__ECSPI2_MISO 0x218 0x478 0x56C 0x3 0x2 847 + #define MX8MP_IOMUXC_I2C4_SCL__GPIO5_IO20 0x218 0x478 0x000 0x5 0x0 848 + #define MX8MP_IOMUXC_I2C4_SCL__TPSMP_HDATA22 0x218 0x478 0x000 0x7 0x0 849 + #define MX8MP_IOMUXC_I2C4_SDA__I2C4_SDA 0x21C 0x47C 0x5C0 0x0 0x5 850 + #define MX8MP_IOMUXC_I2C4_SDA__PWM1_OUT 0x21C 0x47C 0x000 0x1 0x0 851 + #define MX8MP_IOMUXC_I2C4_SDA__ECSPI2_SS0 0x21C 0x47C 0x574 0x3 0x2 852 + #define MX8MP_IOMUXC_I2C4_SDA__GPIO5_IO21 0x21C 0x47C 0x000 0x5 0x0 853 + #define MX8MP_IOMUXC_I2C4_SDA__TPSMP_HDATA23 0x21C 0x47C 0x000 0x7 0x0 854 + #define MX8MP_IOMUXC_UART1_RXD__UART1_DCE_RX 0x220 0x480 0x5E8 0x0 0x4 855 + #define MX8MP_IOMUXC_UART1_RXD__UART1_DTE_TX 0x220 0x480 0x000 0x0 0x0 856 + #define MX8MP_IOMUXC_UART1_RXD__ECSPI3_SCLK 0x220 0x480 0x000 0x1 0x0 857 + #define MX8MP_IOMUXC_UART1_RXD__GPIO5_IO22 0x220 0x480 0x000 0x5 0x0 858 + #define MX8MP_IOMUXC_UART1_RXD__TPSMP_HDATA24 0x220 0x480 0x000 0x7 0x0 859 + #define MX8MP_IOMUXC_UART1_TXD__UART1_DCE_TX 0x224 0x484 0x000 0x0 0x0 860 + #define MX8MP_IOMUXC_UART1_TXD__UART1_DTE_RX 0x224 0x484 0x5E8 0x0 0x5 861 + #define MX8MP_IOMUXC_UART1_TXD__ECSPI3_MOSI 0x224 0x484 0x000 0x1 0x0 862 + #define MX8MP_IOMUXC_UART1_TXD__GPIO5_IO23 0x224 0x484 0x000 0x5 0x0 863 + #define MX8MP_IOMUXC_UART1_TXD__TPSMP_HDATA25 0x224 0x484 0x000 0x7 0x0 864 + #define MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x228 0x488 0x5F0 0x0 0x6 865 + #define MX8MP_IOMUXC_UART2_RXD__UART2_DTE_TX 0x228 0x488 0x000 0x0 0x0 866 + #define MX8MP_IOMUXC_UART2_RXD__ECSPI3_MISO 0x228 0x488 0x000 0x1 0x0 867 + #define MX8MP_IOMUXC_UART2_RXD__GPT1_COMPARE3 0x228 0x488 0x000 0x3 0x0 868 + #define MX8MP_IOMUXC_UART2_RXD__GPIO5_IO24 0x228 0x488 0x000 0x5 0x0 869 + #define MX8MP_IOMUXC_UART2_RXD__TPSMP_HDATA26 0x228 0x488 0x000 0x7 0x0 870 + #define MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x22C 0x48C 0x000 0x0 0x0 871 + #define MX8MP_IOMUXC_UART2_TXD__UART2_DTE_RX 0x22C 0x48C 0x5F0 0x0 0x7 872 + #define MX8MP_IOMUXC_UART2_TXD__ECSPI3_SS0 0x22C 0x48C 0x000 0x1 0x0 873 + #define MX8MP_IOMUXC_UART2_TXD__GPT1_COMPARE2 0x22C 0x48C 0x000 0x3 0x0 874 + #define MX8MP_IOMUXC_UART2_TXD__GPIO5_IO25 0x22C 0x48C 0x000 0x5 0x0 875 + #define MX8MP_IOMUXC_UART2_TXD__TPSMP_HDATA27 0x22C 0x48C 0x000 0x7 0x0 876 + #define MX8MP_IOMUXC_UART3_RXD__UART3_DCE_RX 0x230 0x490 0x5F8 0x0 0x6 877 + #define MX8MP_IOMUXC_UART3_RXD__UART3_DTE_TX 0x230 0x490 0x000 0x0 0x0 878 + #define MX8MP_IOMUXC_UART3_RXD__UART1_DCE_CTS 0x230 0x490 0x000 0x1 0x0 879 + #define MX8MP_IOMUXC_UART3_RXD__UART1_DTE_RTS 0x230 0x490 0x5E4 0x1 0x4 880 + #define MX8MP_IOMUXC_UART3_RXD__USDHC3_RESET_B 0x230 0x490 0x000 0x2 0x0 881 + #define MX8MP_IOMUXC_UART3_RXD__GPT1_CAPTURE2 0x230 0x490 0x598 0x3 0x1 882 + #define MX8MP_IOMUXC_UART3_RXD__CAN2_TX 0x230 0x490 0x000 0x4 0x0 883 + #define MX8MP_IOMUXC_UART3_RXD__GPIO5_IO26 0x230 0x490 0x000 0x5 0x0 884 + #define MX8MP_IOMUXC_UART3_RXD__TPSMP_HDATA28 0x230 0x490 0x000 0x7 0x0 885 + #define MX8MP_IOMUXC_UART3_TXD__UART3_DCE_TX 0x234 0x494 0x000 0x0 0x0 886 + #define MX8MP_IOMUXC_UART3_TXD__UART3_DTE_RX 0x234 0x494 0x5F8 0x0 0x7 887 + #define MX8MP_IOMUXC_UART3_TXD__UART1_DCE_RTS 0x234 0x494 0x5E4 0x1 0x5 888 + #define MX8MP_IOMUXC_UART3_TXD__UART1_DTE_CTS 0x234 0x494 0x000 0x1 0x0 889 + #define MX8MP_IOMUXC_UART3_TXD__USDHC3_VSELECT 0x234 0x494 0x000 0x2 0x0 890 + #define MX8MP_IOMUXC_UART3_TXD__GPT1_CLK 0x234 0x494 0x59C 0x3 0x1 891 + #define MX8MP_IOMUXC_UART3_TXD__CAN2_RX 0x234 0x494 0x550 0x4 0x2 892 + #define MX8MP_IOMUXC_UART3_TXD__GPIO5_IO27 0x234 0x494 0x000 0x5 0x0 893 + #define MX8MP_IOMUXC_UART3_TXD__TPSMP_HDATA29 0x234 0x494 0x000 0x7 0x0 894 + #define MX8MP_IOMUXC_UART4_RXD__UART4_DCE_RX 0x238 0x498 0x600 0x0 0x8 895 + #define MX8MP_IOMUXC_UART4_RXD__UART4_DTE_TX 0x238 0x498 0x000 0x0 0x0 896 + #define MX8MP_IOMUXC_UART4_RXD__UART2_DCE_CTS 0x238 0x498 0x000 0x1 0x0 897 + #define MX8MP_IOMUXC_UART4_RXD__UART2_DTE_RTS 0x238 0x498 0x5EC 0x1 0x4 898 + #define MX8MP_IOMUXC_UART4_RXD__HSIOMIX_PCIE_CLKREQ_B 0x238 0x498 0x5A0 0x2 0x1 899 + #define MX8MP_IOMUXC_UART4_RXD__GPT1_COMPARE1 0x238 0x498 0x000 0x3 0x0 900 + #define MX8MP_IOMUXC_UART4_RXD__I2C6_SCL 0x238 0x498 0x5CC 0x4 0x2 901 + #define MX8MP_IOMUXC_UART4_RXD__GPIO5_IO28 0x238 0x498 0x000 0x5 0x0 902 + #define MX8MP_IOMUXC_UART4_RXD__TPSMP_HDATA30 0x238 0x498 0x000 0x7 0x0 903 + #define MX8MP_IOMUXC_UART4_TXD__UART4_DCE_TX 0x23C 0x49C 0x000 0x0 0x0 904 + #define MX8MP_IOMUXC_UART4_TXD__UART4_DTE_RX 0x23C 0x49C 0x600 0x0 0x9 905 + #define MX8MP_IOMUXC_UART4_TXD__UART2_DCE_RTS 0x23C 0x49C 0x5EC 0x1 0x5 906 + #define MX8MP_IOMUXC_UART4_TXD__UART2_DTE_CTS 0x23C 0x49C 0x000 0x1 0x0 907 + #define MX8MP_IOMUXC_UART4_TXD__GPT1_CAPTURE1 0x23C 0x49C 0x594 0x3 0x1 908 + #define MX8MP_IOMUXC_UART4_TXD__I2C6_SDA 0x23C 0x49C 0x5D0 0x4 0x2 909 + #define MX8MP_IOMUXC_UART4_TXD__GPIO5_IO29 0x23C 0x49C 0x000 0x5 0x0 910 + #define MX8MP_IOMUXC_UART4_TXD__TPSMP_HDATA31 0x23C 0x49C 0x000 0x7 0x0 911 + #define MX8MP_IOMUXC_HDMI_DDC_SCL__HDMIMIX_EARC_SCL 0x240 0x4A0 0x000 0x0 0x0 912 + #define MX8MP_IOMUXC_HDMI_DDC_SCL__I2C5_SCL 0x240 0x4A0 0x5C4 0x3 0x3 913 + #define MX8MP_IOMUXC_HDMI_DDC_SCL__CAN1_TX 0x240 0x4A0 0x000 0x4 0x0 914 + #define MX8MP_IOMUXC_HDMI_DDC_SCL__GPIO3_IO26 0x240 0x4A0 0x000 0x5 0x0 915 + #define MX8MP_IOMUXC_HDMI_DDC_SCL__AUDIOMIX_test_out00 0x240 0x4A0 0x000 0x6 0x0 916 + #define MX8MP_IOMUXC_HDMI_DDC_SDA__HDMIMIX_EARC_SDA 0x244 0x4A4 0x000 0x0 0x0 917 + #define MX8MP_IOMUXC_HDMI_DDC_SDA__I2C5_SDA 0x244 0x4A4 0x5C8 0x3 0x3 918 + #define MX8MP_IOMUXC_HDMI_DDC_SDA__CAN1_RX 0x244 0x4A4 0x54C 0x4 0x3 919 + #define MX8MP_IOMUXC_HDMI_DDC_SDA__GPIO3_IO27 0x244 0x4A4 0x000 0x5 0x0 920 + #define MX8MP_IOMUXC_HDMI_DDC_SDA__AUDIOMIX_test_out01 0x244 0x4A4 0x000 0x6 0x0 921 + #define MX8MP_IOMUXC_HDMI_CEC__HDMIMIX_EARC_CEC 0x248 0x4A8 0x000 0x0 0x0 922 + #define MX8MP_IOMUXC_HDMI_CEC__I2C6_SCL 0x248 0x4A8 0x5CC 0x3 0x3 923 + #define MX8MP_IOMUXC_HDMI_CEC__CAN2_TX 0x248 0x4A8 0x000 0x4 0x0 924 + #define MX8MP_IOMUXC_HDMI_CEC__GPIO3_IO28 0x248 0x4A8 0x000 0x5 0x0 925 + #define MX8MP_IOMUXC_HDMI_HPD__HDMIMIX_EARC_DC_HPD 0x24C 0x4AC 0x000 0x0 0x0 926 + #define MX8MP_IOMUXC_HDMI_HPD__AUDIOMIX_EARC_HDMI_HPD_O 0x24C 0x4AC 0x000 0x1 0x0 927 + #define MX8MP_IOMUXC_HDMI_HPD__I2C6_SDA 0x24C 0x4AC 0x5D0 0x3 0x3 928 + #define MX8MP_IOMUXC_HDMI_HPD__CAN2_RX 0x24C 0x4AC 0x550 0x4 0x3 929 + #define MX8MP_IOMUXC_HDMI_HPD__GPIO3_IO29 0x24C 0x4AC 0x000 0x5 0x0 930 + 931 + #endif /* __DTS_IMX8MP_PINFUNC_H */
+654
arch/arm64/boot/dts/freescale/imx8mp.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright 2019 NXP 4 + */ 5 + 6 + #include <dt-bindings/clock/imx8mp-clock.h> 7 + #include <dt-bindings/gpio/gpio.h> 8 + #include <dt-bindings/input/input.h> 9 + #include <dt-bindings/interrupt-controller/arm-gic.h> 10 + 11 + #include "imx8mp-pinfunc.h" 12 + 13 + / { 14 + interrupt-parent = <&gic>; 15 + #address-cells = <2>; 16 + #size-cells = <2>; 17 + 18 + aliases { 19 + ethernet0 = &fec; 20 + gpio0 = &gpio1; 21 + gpio1 = &gpio2; 22 + gpio2 = &gpio3; 23 + gpio3 = &gpio4; 24 + gpio4 = &gpio5; 25 + mmc0 = &usdhc1; 26 + mmc1 = &usdhc2; 27 + mmc2 = &usdhc3; 28 + serial0 = &uart1; 29 + serial1 = &uart2; 30 + serial2 = &uart3; 31 + serial3 = &uart4; 32 + }; 33 + 34 + cpus { 35 + #address-cells = <1>; 36 + #size-cells = <0>; 37 + 38 + A53_0: cpu@0 { 39 + device_type = "cpu"; 40 + compatible = "arm,cortex-a53"; 41 + reg = <0x0>; 42 + clock-latency = <61036>; 43 + clocks = <&clk IMX8MP_CLK_ARM>; 44 + enable-method = "psci"; 45 + next-level-cache = <&A53_L2>; 46 + }; 47 + 48 + A53_1: cpu@1 { 49 + device_type = "cpu"; 50 + compatible = "arm,cortex-a53"; 51 + reg = <0x1>; 52 + clock-latency = <61036>; 53 + clocks = <&clk IMX8MP_CLK_ARM>; 54 + enable-method = "psci"; 55 + next-level-cache = <&A53_L2>; 56 + }; 57 + 58 + A53_2: cpu@2 { 59 + device_type = "cpu"; 60 + compatible = "arm,cortex-a53"; 61 + reg = <0x2>; 62 + clock-latency = <61036>; 63 + clocks = <&clk IMX8MP_CLK_ARM>; 64 + enable-method = "psci"; 65 + next-level-cache = <&A53_L2>; 66 + }; 67 + 68 + A53_3: cpu@3 { 69 + device_type = "cpu"; 70 + compatible = "arm,cortex-a53"; 71 + reg = <0x3>; 72 + clock-latency = <61036>; 73 + clocks = <&clk IMX8MP_CLK_ARM>; 74 + enable-method = "psci"; 75 + next-level-cache = <&A53_L2>; 76 + }; 77 + 78 + A53_L2: l2-cache0 { 79 + compatible = "cache"; 80 + }; 81 + }; 82 + 83 + osc_32k: clock-osc-32k { 84 + compatible = "fixed-clock"; 85 + #clock-cells = <0>; 86 + clock-frequency = <32768>; 87 + clock-output-names = "osc_32k"; 88 + }; 89 + 90 + osc_24m: clock-osc-24m { 91 + compatible = "fixed-clock"; 92 + #clock-cells = <0>; 93 + clock-frequency = <24000000>; 94 + clock-output-names = "osc_24m"; 95 + }; 96 + 97 + clk_ext1: clock-ext1 { 98 + compatible = "fixed-clock"; 99 + #clock-cells = <0>; 100 + clock-frequency = <133000000>; 101 + clock-output-names = "clk_ext1"; 102 + }; 103 + 104 + clk_ext2: clock-ext2 { 105 + compatible = "fixed-clock"; 106 + #clock-cells = <0>; 107 + clock-frequency = <133000000>; 108 + clock-output-names = "clk_ext2"; 109 + }; 110 + 111 + clk_ext3: clock-ext3 { 112 + compatible = "fixed-clock"; 113 + #clock-cells = <0>; 114 + clock-frequency = <133000000>; 115 + clock-output-names = "clk_ext3"; 116 + }; 117 + 118 + clk_ext4: clock-ext4 { 119 + compatible = "fixed-clock"; 120 + #clock-cells = <0>; 121 + clock-frequency= <133000000>; 122 + clock-output-names = "clk_ext4"; 123 + }; 124 + 125 + psci { 126 + compatible = "arm,psci-1.0"; 127 + method = "smc"; 128 + }; 129 + 130 + timer { 131 + compatible = "arm,armv8-timer"; 132 + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, 133 + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, 134 + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>, 135 + <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>; 136 + clock-frequency = <8000000>; 137 + arm,no-tick-in-suspend; 138 + }; 139 + 140 + soc@0 { 141 + compatible = "simple-bus"; 142 + #address-cells = <1>; 143 + #size-cells = <1>; 144 + ranges = <0x0 0x0 0x0 0x3e000000>; 145 + 146 + aips1: bus@30000000 { 147 + compatible = "fsl,aips-bus", "simple-bus"; 148 + reg = <0x301f0000 0x10000>; 149 + #address-cells = <1>; 150 + #size-cells = <1>; 151 + ranges; 152 + 153 + gpio1: gpio@30200000 { 154 + compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio"; 155 + reg = <0x30200000 0x10000>; 156 + interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>, 157 + <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 158 + clocks = <&clk IMX8MP_CLK_GPIO1_ROOT>; 159 + gpio-controller; 160 + #gpio-cells = <2>; 161 + interrupt-controller; 162 + #interrupt-cells = <2>; 163 + gpio-ranges = <&iomuxc 0 5 30>; 164 + }; 165 + 166 + gpio2: gpio@30210000 { 167 + compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio"; 168 + reg = <0x30210000 0x10000>; 169 + interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>, 170 + <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 171 + clocks = <&clk IMX8MP_CLK_GPIO2_ROOT>; 172 + gpio-controller; 173 + #gpio-cells = <2>; 174 + interrupt-controller; 175 + #interrupt-cells = <2>; 176 + gpio-ranges = <&iomuxc 0 35 21>; 177 + }; 178 + 179 + gpio3: gpio@30220000 { 180 + compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio"; 181 + reg = <0x30220000 0x10000>; 182 + interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 183 + <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 184 + clocks = <&clk IMX8MP_CLK_GPIO3_ROOT>; 185 + gpio-controller; 186 + #gpio-cells = <2>; 187 + interrupt-controller; 188 + #interrupt-cells = <2>; 189 + gpio-ranges = <&iomuxc 0 56 26>, <&iomuxc 0 144 4>; 190 + }; 191 + 192 + gpio4: gpio@30230000 { 193 + compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio"; 194 + reg = <0x30230000 0x10000>; 195 + interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 196 + <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 197 + clocks = <&clk IMX8MP_CLK_GPIO4_ROOT>; 198 + gpio-controller; 199 + #gpio-cells = <2>; 200 + interrupt-controller; 201 + #interrupt-cells = <2>; 202 + gpio-ranges = <&iomuxc 0 82 32>; 203 + }; 204 + 205 + gpio5: gpio@30240000 { 206 + compatible = "fsl,imx8mp-gpio", "fsl,imx35-gpio"; 207 + reg = <0x30240000 0x10000>; 208 + interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 209 + <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 210 + clocks = <&clk IMX8MP_CLK_GPIO5_ROOT>; 211 + gpio-controller; 212 + #gpio-cells = <2>; 213 + interrupt-controller; 214 + #interrupt-cells = <2>; 215 + gpio-ranges = <&iomuxc 0 114 30>; 216 + }; 217 + 218 + wdog1: watchdog@30280000 { 219 + compatible = "fsl,imx8mp-wdt", "fsl,imx21-wdt"; 220 + reg = <0x30280000 0x10000>; 221 + interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 222 + clocks = <&clk IMX8MP_CLK_WDOG1_ROOT>; 223 + status = "disabled"; 224 + }; 225 + 226 + iomuxc: pinctrl@30330000 { 227 + compatible = "fsl,imx8mp-iomuxc"; 228 + reg = <0x30330000 0x10000>; 229 + }; 230 + 231 + gpr: iomuxc-gpr@30340000 { 232 + compatible = "fsl,imx8mp-iomuxc-gpr", "syscon"; 233 + reg = <0x30340000 0x10000>; 234 + }; 235 + 236 + ocotp: ocotp-ctrl@30350000 { 237 + compatible = "fsl,imx8mp-ocotp", "syscon"; 238 + reg = <0x30350000 0x10000>; 239 + clocks = <&clk IMX8MP_CLK_OCOTP_ROOT>; 240 + /* For nvmem subnodes */ 241 + #address-cells = <1>; 242 + #size-cells = <1>; 243 + 244 + cpu_speed_grade: speed-grade@10 { 245 + reg = <0x10 4>; 246 + }; 247 + }; 248 + 249 + anatop: anatop@30360000 { 250 + compatible = "fsl,imx8mp-anatop", "fsl,imx8mm-anatop", 251 + "syscon"; 252 + reg = <0x30360000 0x10000>; 253 + }; 254 + 255 + snvs: snvs@30370000 { 256 + compatible = "fsl,sec-v4.0-mon","syscon", "simple-mfd"; 257 + reg = <0x30370000 0x10000>; 258 + 259 + snvs_rtc: snvs-rtc-lp { 260 + compatible = "fsl,sec-v4.0-mon-rtc-lp"; 261 + regmap =<&snvs>; 262 + offset = <0x34>; 263 + interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 264 + <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 265 + clocks = <&clk IMX8MP_CLK_SNVS_ROOT>; 266 + clock-names = "snvs-rtc"; 267 + }; 268 + 269 + snvs_pwrkey: snvs-powerkey { 270 + compatible = "fsl,sec-v4.0-pwrkey"; 271 + regmap = <&snvs>; 272 + interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 273 + clocks = <&clk IMX8MP_CLK_SNVS_ROOT>; 274 + clock-names = "snvs-pwrkey"; 275 + linux,keycode = <KEY_POWER>; 276 + wakeup-source; 277 + status = "disabled"; 278 + }; 279 + }; 280 + 281 + clk: clock-controller@30380000 { 282 + compatible = "fsl,imx8mp-ccm"; 283 + reg = <0x30380000 0x10000>; 284 + #clock-cells = <1>; 285 + clocks = <&osc_32k>, <&osc_24m>, <&clk_ext1>, <&clk_ext2>, 286 + <&clk_ext3>, <&clk_ext4>; 287 + clock-names = "osc_32k", "osc_24m", "clk_ext1", "clk_ext2", 288 + "clk_ext3", "clk_ext4"; 289 + assigned-clocks = <&clk IMX8MP_CLK_NOC>, 290 + <&clk IMX8MP_CLK_NOC_IO>, 291 + <&clk IMX8MP_CLK_GIC>, 292 + <&clk IMX8MP_CLK_AUDIO_AHB>, 293 + <&clk IMX8MP_CLK_AUDIO_AXI_SRC>, 294 + <&clk IMX8MP_CLK_IPG_AUDIO_ROOT>, 295 + <&clk IMX8MP_AUDIO_PLL1>, 296 + <&clk IMX8MP_AUDIO_PLL2>; 297 + assigned-clock-parents = <&clk IMX8MP_SYS_PLL2_1000M>, 298 + <&clk IMX8MP_SYS_PLL1_800M>, 299 + <&clk IMX8MP_SYS_PLL2_500M>, 300 + <&clk IMX8MP_SYS_PLL1_800M>, 301 + <&clk IMX8MP_SYS_PLL1_800M>; 302 + assigned-clock-rates = <1000000000>, 303 + <800000000>, 304 + <500000000>, 305 + <400000000>, 306 + <800000000>, 307 + <400000000>, 308 + <393216000>, 309 + <361267200>; 310 + }; 311 + 312 + src: reset-controller@30390000 { 313 + compatible = "fsl,imx8mp-src", "syscon"; 314 + reg = <0x30390000 0x10000>; 315 + #reset-cells = <1>; 316 + }; 317 + }; 318 + 319 + aips2: bus@30400000 { 320 + compatible = "fsl,aips-bus", "simple-bus"; 321 + reg = <0x305f0000 0x400000>; 322 + #address-cells = <1>; 323 + #size-cells = <1>; 324 + ranges; 325 + 326 + pwm1: pwm@30660000 { 327 + compatible = "fsl,imx8mp-pwm", "fsl,imx27-pwm"; 328 + reg = <0x30660000 0x10000>; 329 + interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 330 + clocks = <&clk IMX8MP_CLK_PWM1_ROOT>, 331 + <&clk IMX8MP_CLK_PWM1_ROOT>; 332 + clock-names = "ipg", "per"; 333 + #pwm-cells = <2>; 334 + status = "disabled"; 335 + }; 336 + 337 + pwm2: pwm@30670000 { 338 + compatible = "fsl,imx8mp-pwm", "fsl,imx27-pwm"; 339 + reg = <0x30670000 0x10000>; 340 + interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 341 + clocks = <&clk IMX8MP_CLK_PWM2_ROOT>, 342 + <&clk IMX8MP_CLK_PWM2_ROOT>; 343 + clock-names = "ipg", "per"; 344 + #pwm-cells = <2>; 345 + status = "disabled"; 346 + }; 347 + 348 + pwm3: pwm@30680000 { 349 + compatible = "fsl,imx8mp-pwm", "fsl,imx27-pwm"; 350 + reg = <0x30680000 0x10000>; 351 + interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 352 + clocks = <&clk IMX8MP_CLK_PWM3_ROOT>, 353 + <&clk IMX8MP_CLK_PWM3_ROOT>; 354 + clock-names = "ipg", "per"; 355 + #pwm-cells = <2>; 356 + status = "disabled"; 357 + }; 358 + 359 + pwm4: pwm@30690000 { 360 + compatible = "fsl,imx8mp-pwm", "fsl,imx27-pwm"; 361 + reg = <0x30690000 0x10000>; 362 + interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 363 + clocks = <&clk IMX8MP_CLK_PWM4_ROOT>, 364 + <&clk IMX8MP_CLK_PWM4_ROOT>; 365 + clock-names = "ipg", "per"; 366 + #pwm-cells = <2>; 367 + status = "disabled"; 368 + }; 369 + 370 + system_counter: timer@306a0000 { 371 + compatible = "nxp,sysctr-timer"; 372 + reg = <0x306a0000 0x20000>; 373 + interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>; 374 + clocks = <&osc_24m>; 375 + clock-names = "per"; 376 + }; 377 + }; 378 + 379 + aips3: bus@30800000 { 380 + compatible = "fsl,aips-bus", "simple-bus"; 381 + reg = <0x309f0000 0x400000>; 382 + #address-cells = <1>; 383 + #size-cells = <1>; 384 + ranges; 385 + 386 + ecspi1: spi@30820000 { 387 + #address-cells = <1>; 388 + #size-cells = <0>; 389 + compatible = "fsl,imx8mp-ecspi", "fsl,imx51-ecspi"; 390 + reg = <0x30820000 0x10000>; 391 + interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 392 + clocks = <&clk IMX8MP_CLK_ECSPI1_ROOT>, 393 + <&clk IMX8MP_CLK_ECSPI1_ROOT>; 394 + clock-names = "ipg", "per"; 395 + dmas = <&sdma1 0 7 1>, <&sdma1 1 7 2>; 396 + dma-names = "rx", "tx"; 397 + status = "disabled"; 398 + }; 399 + 400 + ecspi2: spi@30830000 { 401 + #address-cells = <1>; 402 + #size-cells = <0>; 403 + compatible = "fsl,imx8mp-ecspi", "fsl,imx51-ecspi"; 404 + reg = <0x30830000 0x10000>; 405 + interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 406 + clocks = <&clk IMX8MP_CLK_ECSPI2_ROOT>, 407 + <&clk IMX8MP_CLK_ECSPI2_ROOT>; 408 + clock-names = "ipg", "per"; 409 + dmas = <&sdma1 2 7 1>, <&sdma1 3 7 2>; 410 + dma-names = "rx", "tx"; 411 + status = "disabled"; 412 + }; 413 + 414 + ecspi3: spi@30840000 { 415 + #address-cells = <1>; 416 + #size-cells = <0>; 417 + compatible = "fsl,imx8mp-ecspi", "fsl,imx51-ecspi"; 418 + reg = <0x30840000 0x10000>; 419 + interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 420 + clocks = <&clk IMX8MP_CLK_ECSPI3_ROOT>, 421 + <&clk IMX8MP_CLK_ECSPI3_ROOT>; 422 + clock-names = "ipg", "per"; 423 + dmas = <&sdma1 4 7 1>, <&sdma1 5 7 2>; 424 + dma-names = "rx", "tx"; 425 + status = "disabled"; 426 + }; 427 + 428 + uart1: serial@30860000 { 429 + compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart"; 430 + reg = <0x30860000 0x10000>; 431 + interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 432 + clocks = <&clk IMX8MP_CLK_UART1_ROOT>, 433 + <&clk IMX8MP_CLK_UART1_ROOT>; 434 + clock-names = "ipg", "per"; 435 + dmas = <&sdma1 22 4 0>, <&sdma1 23 4 0>; 436 + dma-names = "rx", "tx"; 437 + status = "disabled"; 438 + }; 439 + 440 + uart3: serial@30880000 { 441 + compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart"; 442 + reg = <0x30880000 0x10000>; 443 + interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 444 + clocks = <&clk IMX8MP_CLK_UART3_ROOT>, 445 + <&clk IMX8MP_CLK_UART3_ROOT>; 446 + clock-names = "ipg", "per"; 447 + dmas = <&sdma1 26 4 0>, <&sdma1 27 4 0>; 448 + dma-names = "rx", "tx"; 449 + status = "disabled"; 450 + }; 451 + 452 + uart2: serial@30890000 { 453 + compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart"; 454 + reg = <0x30890000 0x10000>; 455 + interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 456 + clocks = <&clk IMX8MP_CLK_UART2_ROOT>, 457 + <&clk IMX8MP_CLK_UART2_ROOT>; 458 + clock-names = "ipg", "per"; 459 + status = "disabled"; 460 + }; 461 + 462 + crypto: crypto@30900000 { 463 + compatible = "fsl,sec-v4.0"; 464 + #address-cells = <1>; 465 + #size-cells = <1>; 466 + reg = <0x30900000 0x40000>; 467 + ranges = <0 0x30900000 0x40000>; 468 + interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 469 + clocks = <&clk IMX8MP_CLK_AHB>, 470 + <&clk IMX8MP_CLK_IPG_ROOT>; 471 + clock-names = "aclk", "ipg"; 472 + 473 + sec_jr0: jr@1000 { 474 + compatible = "fsl,sec-v4.0-job-ring"; 475 + reg = <0x1000 0x1000>; 476 + interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 477 + }; 478 + 479 + sec_jr1: jr@2000 { 480 + compatible = "fsl,sec-v4.0-job-ring"; 481 + reg = <0x2000 0x1000>; 482 + interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 483 + }; 484 + 485 + sec_jr2: jr@3000 { 486 + compatible = "fsl,sec-v4.0-job-ring"; 487 + reg = <0x3000 0x1000>; 488 + interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 489 + }; 490 + }; 491 + 492 + i2c1: i2c@30a20000 { 493 + compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c"; 494 + #address-cells = <1>; 495 + #size-cells = <0>; 496 + reg = <0x30a20000 0x10000>; 497 + interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 498 + clocks = <&clk IMX8MP_CLK_I2C1_ROOT>; 499 + status = "disabled"; 500 + }; 501 + 502 + i2c2: i2c@30a30000 { 503 + compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c"; 504 + #address-cells = <1>; 505 + #size-cells = <0>; 506 + reg = <0x30a30000 0x10000>; 507 + interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 508 + clocks = <&clk IMX8MP_CLK_I2C2_ROOT>; 509 + status = "disabled"; 510 + }; 511 + 512 + i2c3: i2c@30a40000 { 513 + compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c"; 514 + #address-cells = <1>; 515 + #size-cells = <0>; 516 + reg = <0x30a40000 0x10000>; 517 + interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 518 + clocks = <&clk IMX8MP_CLK_I2C3_ROOT>; 519 + status = "disabled"; 520 + }; 521 + 522 + i2c4: i2c@30a50000 { 523 + compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c"; 524 + #address-cells = <1>; 525 + #size-cells = <0>; 526 + reg = <0x30a50000 0x10000>; 527 + interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 528 + clocks = <&clk IMX8MP_CLK_I2C4_ROOT>; 529 + status = "disabled"; 530 + }; 531 + 532 + uart4: serial@30a60000 { 533 + compatible = "fsl,imx8mp-uart", "fsl,imx6q-uart"; 534 + reg = <0x30a60000 0x10000>; 535 + interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 536 + clocks = <&clk IMX8MP_CLK_UART4_ROOT>, 537 + <&clk IMX8MP_CLK_UART4_ROOT>; 538 + clock-names = "ipg", "per"; 539 + dmas = <&sdma1 28 4 0>, <&sdma1 29 4 0>; 540 + dma-names = "rx", "tx"; 541 + status = "disabled"; 542 + }; 543 + 544 + i2c5: i2c@30ad0000 { 545 + compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c"; 546 + #address-cells = <1>; 547 + #size-cells = <0>; 548 + reg = <0x30ad0000 0x10000>; 549 + interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 550 + clocks = <&clk IMX8MP_CLK_I2C5_ROOT>; 551 + status = "disabled"; 552 + }; 553 + 554 + i2c6: i2c@30ae0000 { 555 + compatible = "fsl,imx8mp-i2c", "fsl,imx21-i2c"; 556 + #address-cells = <1>; 557 + #size-cells = <0>; 558 + reg = <0x30ae0000 0x10000>; 559 + interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 560 + clocks = <&clk IMX8MP_CLK_I2C6_ROOT>; 561 + status = "disabled"; 562 + }; 563 + 564 + usdhc1: mmc@30b40000 { 565 + compatible = "fsl,imx8mp-usdhc", "fsl,imx7d-usdhc"; 566 + reg = <0x30b40000 0x10000>; 567 + interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 568 + clocks = <&clk IMX8MP_CLK_DUMMY>, 569 + <&clk IMX8MP_CLK_NAND_USDHC_BUS>, 570 + <&clk IMX8MP_CLK_USDHC1_ROOT>; 571 + clock-names = "ipg", "ahb", "per"; 572 + fsl,tuning-start-tap = <20>; 573 + fsl,tuning-step= <2>; 574 + bus-width = <4>; 575 + status = "disabled"; 576 + }; 577 + 578 + usdhc2: mmc@30b50000 { 579 + compatible = "fsl,imx8mp-usdhc", "fsl,imx7d-usdhc"; 580 + reg = <0x30b50000 0x10000>; 581 + interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 582 + clocks = <&clk IMX8MP_CLK_DUMMY>, 583 + <&clk IMX8MP_CLK_NAND_USDHC_BUS>, 584 + <&clk IMX8MP_CLK_USDHC2_ROOT>; 585 + clock-names = "ipg", "ahb", "per"; 586 + fsl,tuning-start-tap = <20>; 587 + fsl,tuning-step= <2>; 588 + bus-width = <4>; 589 + status = "disabled"; 590 + }; 591 + 592 + usdhc3: mmc@30b60000 { 593 + compatible = "fsl,imx8mp-usdhc", "fsl,imx7d-usdhc"; 594 + reg = <0x30b60000 0x10000>; 595 + interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 596 + clocks = <&clk IMX8MP_CLK_DUMMY>, 597 + <&clk IMX8MP_CLK_NAND_USDHC_BUS>, 598 + <&clk IMX8MP_CLK_USDHC3_ROOT>; 599 + clock-names = "ipg", "ahb", "per"; 600 + fsl,tuning-start-tap = <20>; 601 + fsl,tuning-step= <2>; 602 + bus-width = <4>; 603 + status = "disabled"; 604 + }; 605 + 606 + sdma1: dma-controller@30bd0000 { 607 + compatible = "fsl,imx8mp-sdma", "fsl,imx8mq-sdma"; 608 + reg = <0x30bd0000 0x10000>; 609 + interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 610 + clocks = <&clk IMX8MP_CLK_SDMA1_ROOT>, 611 + <&clk IMX8MP_CLK_SDMA1_ROOT>; 612 + clock-names = "ipg", "ahb"; 613 + #dma-cells = <3>; 614 + fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin"; 615 + }; 616 + 617 + fec: ethernet@30be0000 { 618 + compatible = "fsl,imx8mp-fec", "fsl,imx8mq-fec"; 619 + reg = <0x30be0000 0x10000>; 620 + interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, 621 + <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>, 622 + <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 623 + clocks = <&clk IMX8MP_CLK_ENET1_ROOT>, 624 + <&clk IMX8MP_CLK_SIM_ENET_ROOT>, 625 + <&clk IMX8MP_CLK_ENET_TIMER>, 626 + <&clk IMX8MP_CLK_ENET_REF>, 627 + <&clk IMX8MP_CLK_ENET_PHY_REF>; 628 + clock-names = "ipg", "ahb", "ptp", 629 + "enet_clk_ref", "enet_out"; 630 + assigned-clocks = <&clk IMX8MP_CLK_ENET_AXI>, 631 + <&clk IMX8MP_CLK_ENET_TIMER>, 632 + <&clk IMX8MP_CLK_ENET_REF>, 633 + <&clk IMX8MP_CLK_ENET_TIMER>; 634 + assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_266M>, 635 + <&clk IMX8MP_SYS_PLL2_100M>, 636 + <&clk IMX8MP_SYS_PLL2_125M>; 637 + assigned-clock-rates = <0>, <0>, <125000000>, <100000000>; 638 + fsl,num-tx-queues = <3>; 639 + fsl,num-rx-queues = <3>; 640 + status = "disabled"; 641 + }; 642 + }; 643 + 644 + gic: interrupt-controller@38800000 { 645 + compatible = "arm,gic-v3"; 646 + reg = <0x38800000 0x10000>, 647 + <0x38880000 0xc0000>; 648 + #interrupt-cells = <3>; 649 + interrupt-controller; 650 + interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 651 + interrupt-parent = <&gic>; 652 + }; 653 + }; 654 + };
+2
arch/arm64/boot/dts/freescale/imx8mq-evk.dts
··· 137 137 pinctrl-0 = <&pinctrl_fec1>; 138 138 phy-mode = "rgmii-id"; 139 139 phy-handle = <&ethphy0>; 140 + phy-reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>; 141 + phy-reset-duration = <10>; 140 142 fsl,magic-packet; 141 143 status = "okay"; 142 144
+145 -3
arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts
··· 55 55 wakeup-source; 56 56 linux,code = <KEY_HP>; 57 57 }; 58 + 59 + wwan-wake { 60 + label = "WWAN_WAKE"; 61 + gpios = <&gpio3 8 GPIO_ACTIVE_LOW>; 62 + interrupt-parent = <&gpio3>; 63 + interrupts = <8 GPIO_ACTIVE_LOW>; 64 + wakeup-source; 65 + linux,code = <KEY_PHONE>; 66 + }; 58 67 }; 59 68 60 69 leds { ··· 157 148 regulator-always-on; 158 149 }; 159 150 151 + wwan_codec: sound-wwan-codec { 152 + compatible = "option,gtm601"; 153 + #sound-dai-cells = <0>; 154 + }; 155 + 156 + sound { 157 + compatible = "simple-audio-card"; 158 + simple-audio-card,name = "sgtl5000"; 159 + simple-audio-card,format = "i2s"; 160 + simple-audio-card,widgets = 161 + "Microphone", "Microphone Jack", 162 + "Headphone", "Headphone Jack", 163 + "Speaker", "Speaker Ext", 164 + "Line", "Line In Jack"; 165 + simple-audio-card,routing = 166 + "MIC_IN", "Microphone Jack", 167 + "Microphone Jack", "Mic Bias", 168 + "LINE_IN", "Line In Jack", 169 + "Headphone Jack", "HP_OUT", 170 + "Speaker Ext", "LINE_OUT"; 171 + 172 + simple-audio-card,cpu { 173 + sound-dai = <&sai2>; 174 + }; 175 + 176 + simple-audio-card,codec { 177 + sound-dai = <&sgtl5000>; 178 + clocks = <&clk IMX8MQ_CLK_SAI2_ROOT>; 179 + frame-master; 180 + bitclock-master; 181 + }; 182 + }; 183 + 184 + sound-wwan { 185 + compatible = "simple-audio-card"; 186 + simple-audio-card,name = "SIMCom SIM7100"; 187 + simple-audio-card,format = "dsp_a"; 188 + 189 + simple-audio-card,cpu { 190 + sound-dai = <&sai6>; 191 + }; 192 + 193 + telephony_link_master: simple-audio-card,codec { 194 + sound-dai = <&wwan_codec>; 195 + frame-master; 196 + bitclock-master; 197 + }; 198 + }; 199 + 160 200 vibrator { 161 201 compatible = "gpio-vibrator"; 162 202 pinctrl-names = "default"; ··· 225 167 enable-active-high; 226 168 regulator-always-on; 227 169 }; 170 + }; 171 + 172 + &A53_0 { 173 + cpu-supply = <&buck2_reg>; 174 + }; 175 + 176 + &A53_1 { 177 + cpu-supply = <&buck2_reg>; 178 + }; 179 + 180 + &A53_2 { 181 + cpu-supply = <&buck2_reg>; 182 + }; 183 + 184 + &A53_3 { 185 + cpu-supply = <&buck2_reg>; 228 186 }; 229 187 230 188 &clk { ··· 428 354 PDO_FIXED_USB_COMM | 429 355 PDO_FIXED_DUAL_ROLE | 430 356 PDO_FIXED_DATA_SWAP )>; 431 - sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM | 357 + sink-pdos = <PDO_FIXED(5000, 3500, PDO_FIXED_USB_COMM | 432 358 PDO_FIXED_DUAL_ROLE | 433 359 PDO_FIXED_DATA_SWAP ) 434 - PDO_VAR(5000, 3000, 3000)>; 360 + PDO_VAR(5000, 5000, 3500)>; 435 361 op-sink-microwatt = <10000000>; 436 362 437 363 ports { ··· 500 426 vddio-supply = <&reg_3v3_p>; 501 427 }; 502 428 429 + sgtl5000: audio-codec@a { 430 + compatible = "fsl,sgtl5000"; 431 + clocks = <&clk IMX8MQ_CLK_SAI2_ROOT>; 432 + assigned-clocks = <&clk IMX8MQ_CLK_SAI2>; 433 + assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>; 434 + assigned-clock-rates = <24576000>; 435 + #sound-dai-cells = <0>; 436 + reg = <0x0a>; 437 + VDDD-supply = <&reg_1v8_p>; 438 + VDDIO-supply = <&reg_3v3_p>; 439 + VDDA-supply = <&reg_3v3_p>; 440 + }; 441 + 503 442 touchscreen@5d { 504 443 compatible = "goodix,gt5688"; 505 444 reg = <0x5d>; ··· 528 441 VDDIO-supply = <&reg_1v8_p>; 529 442 }; 530 443 444 + proximity-sensor@60 { 445 + compatible = "vishay,vcnl4040"; 446 + reg = <0x60>; 447 + pinctrl-0 = <&pinctrl_prox>; 448 + }; 449 + 531 450 accel-gyro@6a { 532 451 compatible = "st,lsm9ds1-imu"; 533 452 reg = <0x6a>; 534 453 vdd-supply = <&reg_3v3_p>; 535 454 vddio-supply = <&reg_3v3_p>; 455 + mount-matrix = "1", "0", "0", 456 + "0", "1", "0", 457 + "0", "0", "-1"; 536 458 }; 537 459 }; 538 460 ··· 604 508 MX8MQ_IOMUXC_SAI2_RXFS_GPIO4_IO21 0x16 605 509 MX8MQ_IOMUXC_SAI2_RXC_GPIO4_IO22 0x16 606 510 MX8MQ_IOMUXC_SAI5_RXC_GPIO3_IO20 0x180 /* HP_DET */ 511 + MX8MQ_IOMUXC_NAND_DATA02_GPIO3_IO8 0x80 /* nWoWWAN */ 607 512 >; 608 513 }; 609 514 ··· 640 543 >; 641 544 }; 642 545 546 + pinctrl_prox: proxgrp { 547 + fsl,pins = < 548 + MX8MQ_IOMUXC_GPIO1_IO12_GPIO1_IO12 0x80 /* prox intr */ 549 + >; 550 + }; 551 + 643 552 pinctrl_pwr_en: pwrengrp { 644 553 fsl,pins = < 645 554 MX8MQ_IOMUXC_GPIO1_IO08_GPIO1_IO8 0x06 ··· 655 552 pinctrl_rtc: rtcgrp { 656 553 fsl,pins = < 657 554 MX8MQ_IOMUXC_SAI3_RXC_GPIO4_IO29 0x80 /* RTC intr */ 555 + >; 556 + }; 557 + 558 + pinctrl_sai2: sai2grp { 559 + fsl,pins = < 560 + MX8MQ_IOMUXC_SAI2_TXFS_SAI2_TX_SYNC 0xd6 561 + MX8MQ_IOMUXC_SAI2_TXC_SAI2_TX_BCLK 0xd6 562 + MX8MQ_IOMUXC_SAI2_TXD0_SAI2_TX_DATA0 0xd6 563 + MX8MQ_IOMUXC_SAI2_RXD0_SAI2_RX_DATA0 0xd6 564 + MX8MQ_IOMUXC_SAI2_MCLK_SAI2_MCLK 0xd6 565 + >; 566 + }; 567 + 568 + pinctrl_sai6: sai6grp { 569 + fsl,pins = < 570 + MX8MQ_IOMUXC_SAI1_RXD5_SAI6_RX_DATA0 0xd6 571 + MX8MQ_IOMUXC_SAI1_RXD6_SAI6_RX_SYNC 0xd6 572 + MX8MQ_IOMUXC_SAI1_TXD4_SAI6_RX_BCLK 0xd6 573 + MX8MQ_IOMUXC_SAI1_TXD5_SAI6_TX_DATA0 0xd6 658 574 >; 659 575 }; 660 576 ··· 852 730 status = "okay"; 853 731 }; 854 732 733 + &sai2 { 734 + pinctrl-names = "default"; 735 + pinctrl-0 = <&pinctrl_sai2>; 736 + assigned-clocks = <&clk IMX8MQ_CLK_SAI2>; 737 + assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>; 738 + assigned-clock-rates = <24576000>; 739 + status = "okay"; 740 + }; 741 + 742 + &sai6 { 743 + pinctrl-names = "default"; 744 + pinctrl-0 = <&pinctrl_sai6>; 745 + assigned-clocks = <&clk IMX8MQ_CLK_SAI6>; 746 + assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>; 747 + assigned-clock-rates = <24576000>; 748 + fsl,sai-synchronous-rx; 749 + status = "okay"; 750 + }; 751 + 855 752 &uart1 { /* console */ 856 753 pinctrl-names = "default"; 857 754 pinctrl-0 = <&pinctrl_uart1>; ··· 891 750 }; 892 751 893 752 &usb3_phy0 { 753 + vbus-supply = <&reg_5v_p>; 894 754 status = "okay"; 895 755 }; 896 756 ··· 950 808 bus-width = <4>; 951 809 vmmc-supply = <&reg_usdhc2_vmmc>; 952 810 power-supply = <&wifi_pwr_en>; 953 - non-removable; 811 + broken-cd; 954 812 disable-wp; 955 813 cap-sdio-irq; 956 814 keep-power-in-suspend;
+104
arch/arm64/boot/dts/freescale/imx8mq-phanbell.dts
··· 35 35 gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>; 36 36 enable-active-high; 37 37 }; 38 + 39 + fan: gpio-fan { 40 + compatible = "gpio-fan"; 41 + gpio-fan,speed-map = <0 0 8600 1>; 42 + gpios = <&gpio3 5 GPIO_ACTIVE_HIGH>; 43 + #cooling-cells = <2>; 44 + pinctrl-names = "default"; 45 + pinctrl-0 = <&pinctrl_gpio_fan>; 46 + status = "okay"; 47 + }; 38 48 }; 39 49 40 50 &A53_0 { ··· 61 51 62 52 &A53_3 { 63 53 cpu-supply = <&buck2>; 54 + }; 55 + 56 + &cpu_thermal { 57 + trips { 58 + cpu_alert0: trip0 { 59 + temperature = <75000>; 60 + hysteresis = <2000>; 61 + type = "passive"; 62 + }; 63 + 64 + cpu_alert1: trip1 { 65 + temperature = <80000>; 66 + hysteresis = <2000>; 67 + type = "passive"; 68 + }; 69 + 70 + cpu_crit0: trip3 { 71 + temperature = <90000>; 72 + hysteresis = <2000>; 73 + type = "critical"; 74 + }; 75 + 76 + fan_toggle0: trip4 { 77 + temperature = <65000>; 78 + hysteresis = <10000>; 79 + type = "active"; 80 + }; 81 + }; 82 + 83 + cooling-maps { 84 + map0 { 85 + trip = <&cpu_alert0>; 86 + cooling-device = 87 + <&A53_0 0 1>; /* Exclude highest OPP */ 88 + }; 89 + 90 + map1 { 91 + trip = <&cpu_alert1>; 92 + cooling-device = 93 + <&A53_0 0 2>; /* Exclude two highest OPPs */ 94 + }; 95 + 96 + map4 { 97 + trip = <&fan_toggle0>; 98 + cooling-device = <&fan 0 1>; 99 + }; 100 + }; 64 101 }; 65 102 66 103 &i2c1 { ··· 258 201 }; 259 202 }; 260 203 204 + &fec1 { 205 + pinctrl-names = "default"; 206 + pinctrl-0 = <&pinctrl_fec1>; 207 + phy-mode = "rgmii-id"; 208 + phy-reset-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>; 209 + phy-reset-duration = <10>; 210 + phy-reset-post-delay = <50>; 211 + phy-handle = <&ethphy0>; 212 + fsl,magic-packet; 213 + status = "okay"; 214 + 215 + mdio { 216 + #address-cells = <1>; 217 + #size-cells = <0>; 218 + ethphy0: ethernet-phy@0 { 219 + compatible = "ethernet-phy-ieee802.3-c22"; 220 + reg = <0>; 221 + }; 222 + }; 223 + }; 224 + 261 225 &uart1 { 262 226 pinctrl-names = "default"; 263 227 pinctrl-0 = <&pinctrl_uart1>; ··· 332 254 }; 333 255 334 256 &iomuxc { 257 + pinctrl_fec1: fec1grp { 258 + fsl,pins = < 259 + MX8MQ_IOMUXC_ENET_MDC_ENET1_MDC 0x3 260 + MX8MQ_IOMUXC_ENET_MDIO_ENET1_MDIO 0x23 261 + MX8MQ_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f 262 + MX8MQ_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f 263 + MX8MQ_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f 264 + MX8MQ_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f 265 + MX8MQ_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91 266 + MX8MQ_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91 267 + MX8MQ_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91 268 + MX8MQ_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91 269 + MX8MQ_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f 270 + MX8MQ_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91 271 + MX8MQ_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91 272 + MX8MQ_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f 273 + MX8MQ_IOMUXC_GPIO1_IO09_GPIO1_IO9 0x19 274 + >; 275 + }; 276 + 277 + pinctrl_gpio_fan: gpiofangrp { 278 + fsl,pins = < 279 + MX8MQ_IOMUXC_NAND_CLE_GPIO3_IO5 0x16 280 + >; 281 + }; 282 + 335 283 pinctrl_i2c1: i2c1grp { 336 284 fsl,pins = < 337 285 MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL 0x4000007f
+12 -6
arch/arm64/boot/dts/freescale/imx8mq.dtsi
··· 198 198 }; 199 199 200 200 thermal-zones { 201 - cpu-thermal { 201 + cpu_thermal: cpu-thermal { 202 202 polling-delay-passive = <250>; 203 203 polling-delay = <2000>; 204 204 thermal-sensors = <&tmu 0>; ··· 290 290 dma-ranges = <0x40000000 0x0 0x40000000 0xc0000000>; 291 291 292 292 bus@30000000 { /* AIPS1 */ 293 - compatible = "simple-bus"; 293 + compatible = "fsl,aips-bus", "simple-bus"; 294 + reg = <0x301f0000 0x10000>; 294 295 #address-cells = <1>; 295 296 #size-cells = <1>; 296 297 ranges = <0x30000000 0x30000000 0x400000>; ··· 522 521 status = "disabled"; 523 522 }; 524 523 525 - iomuxc: iomuxc@30330000 { 524 + iomuxc: pinctrl@30330000 { 526 525 compatible = "fsl,imx8mq-iomuxc"; 527 526 reg = <0x30330000 0x10000>; 528 527 }; ··· 575 574 compatible = "fsl,sec-v4.0-pwrkey"; 576 575 regmap = <&snvs>; 577 576 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 577 + clocks = <&clk IMX8MQ_CLK_SNVS_ROOT>; 578 + clock-names = "snvs-pwrkey"; 578 579 linux,keycode = <KEY_POWER>; 579 580 wakeup-source; 580 581 status = "disabled"; ··· 695 692 }; 696 693 697 694 bus@30400000 { /* AIPS2 */ 698 - compatible = "simple-bus"; 695 + compatible = "fsl,aips-bus", "simple-bus"; 696 + reg = <0x305f0000 0x10000>; 699 697 #address-cells = <1>; 700 698 #size-cells = <1>; 701 699 ranges = <0x30400000 0x30400000 0x400000>; ··· 755 751 }; 756 752 757 753 bus@30800000 { /* AIPS3 */ 758 - compatible = "simple-bus"; 754 + compatible = "fsl,aips-bus", "simple-bus"; 755 + reg = <0x309f0000 0x10000>; 759 756 #address-cells = <1>; 760 757 #size-cells = <1>; 761 758 ranges = <0x30800000 0x30800000 0x400000>, ··· 1028 1023 }; 1029 1024 1030 1025 bus@32c00000 { /* AIPS4 */ 1031 - compatible = "simple-bus"; 1026 + compatible = "fsl,aips-bus", "simple-bus"; 1027 + reg = <0x32df0000 0x10000>; 1032 1028 #address-cells = <1>; 1033 1029 #size-cells = <1>; 1034 1030 ranges = <0x32c00000 0x32c00000 0x400000>;
+39
arch/arm64/boot/dts/freescale/imx8qxp.dtsi
··· 11 11 #include <dt-bindings/input/input.h> 12 12 #include <dt-bindings/interrupt-controller/arm-gic.h> 13 13 #include <dt-bindings/pinctrl/pads-imx8qxp.h> 14 + #include <dt-bindings/thermal/thermal.h> 14 15 15 16 / { 16 17 interrupt-parent = <&gic>; ··· 189 188 watchdog { 190 189 compatible = "fsl,imx8qxp-sc-wdt", "fsl,imx-sc-wdt"; 191 190 timeout-sec = <60>; 191 + }; 192 + 193 + tsens: thermal-sensor { 194 + compatible = "fsl,imx8qxp-sc-thermal", "fsl,imx-sc-thermal"; 195 + #thermal-sensor-cells = <1>; 192 196 }; 193 197 }; 194 198 ··· 590 584 compatible = "fsl,imx8qxp-lpcg-lsio"; 591 585 reg = <0x5d400000 0x400000>; 592 586 #clock-cells = <1>; 587 + }; 588 + }; 589 + 590 + thermal_zones: thermal-zones { 591 + cpu-thermal0 { 592 + polling-delay-passive = <250>; 593 + polling-delay = <2000>; 594 + thermal-sensors = <&tsens IMX_SC_R_SYSTEM>; 595 + 596 + trips { 597 + cpu_alert0: trip0 { 598 + temperature = <107000>; 599 + hysteresis = <2000>; 600 + type = "passive"; 601 + }; 602 + 603 + cpu_crit0: trip1 { 604 + temperature = <127000>; 605 + hysteresis = <2000>; 606 + type = "critical"; 607 + }; 608 + }; 609 + 610 + cooling-maps { 611 + map0 { 612 + trip = <&cpu_alert0>; 613 + cooling-device = 614 + <&A35_0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 615 + <&A35_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 616 + <&A35_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 617 + <&A35_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 618 + }; 619 + }; 593 620 }; 594 621 }; 595 622 };
+2 -2
arch/arm64/boot/dts/freescale/s32v234.dtsi
··· 104 104 interrupt-parent = <&gic>; 105 105 ranges; 106 106 107 - aips0: aips-bus@40000000 { 107 + aips0: bus@40000000 { 108 108 compatible = "simple-bus"; 109 109 #address-cells = <2>; 110 110 #size-cells = <2>; ··· 120 120 }; 121 121 }; 122 122 123 - aips1: aips-bus@40080000 { 123 + aips1: bus@40080000 { 124 124 compatible = "simple-bus"; 125 125 #address-cells = <2>; 126 126 #size-cells = <2>;
+3 -3
arch/arm64/boot/dts/intel/socfpga_agilex_socdk.dts
··· 121 121 122 122 qspi_boot: partition@0 { 123 123 label = "Boot and fpga data"; 124 - reg = <0x0 0x034B0000>; 124 + reg = <0x0 0x03FE0000>; 125 125 }; 126 126 127 - qspi_rootfs: partition@34B0000 { 127 + qspi_rootfs: partition@3FE0000 { 128 128 label = "Root Filesystem - JFFS2"; 129 - reg = <0x034B0000 0x0EB50000>; 129 + reg = <0x03FE0000 0x0C020000>; 130 130 }; 131 131 }; 132 132 };
+3
arch/arm64/boot/dts/marvell/Makefile
··· 2 2 # Mvebu SoC Family 3 3 dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-db.dtb 4 4 dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin.dtb 5 + dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-emmc.dtb 6 + dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-v7.dtb 7 + dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin-v7-emmc.dtb 5 8 dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-turris-mox.dtb 6 9 dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-uDPU.dtb 7 10 dtb-$(CONFIG_ARCH_MVEBU) += armada-7040-db.dtb
+2
arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dts
··· 11 11 * Schematic available at http://espressobin.net/wp-content/uploads/2017/08/ESPRESSObin_V5_Schematics.pdf 12 12 */ 13 13 14 + /dts-v1/; 15 + 14 16 #include "armada-3720-espressobin.dtsi" 15 17 16 18 / {
+2
arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts
··· 11 11 * Schematic available at http://wiki.espressobin.net/tiki-download_file.php?fileId=200 12 12 */ 13 13 14 + /dts-v1/; 15 + 14 16 #include "armada-3720-espressobin.dtsi" 15 17 16 18 / {
+2
arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts
··· 11 11 * Schematic available at http://wiki.espressobin.net/tiki-download_file.php?fileId=200 12 12 */ 13 13 14 + /dts-v1/; 15 + 14 16 #include "armada-3720-espressobin.dtsi" 15 17 16 18 / {
+6 -2
arch/arm64/boot/dts/marvell/armada-3720-espressobin.dtsi
··· 7 7 * 8 8 */ 9 9 10 - /dts-v1/; 11 - 12 10 #include <dt-bindings/gpio/gpio.h> 13 11 #include "armada-372x.dtsi" 14 12 15 13 / { 14 + aliases { 15 + ethernet0 = &eth0; 16 + serial0 = &uart0; 17 + serial1 = &uart1; 18 + }; 19 + 16 20 chosen { 17 21 stdout-path = "serial0:115200n8"; 18 22 };
+1
arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dts
··· 367 367 pinctrl-0 = <&cp0_copper_eth_phy_reset>; 368 368 reset-gpios = <&cp0_gpio2 11 GPIO_ACTIVE_LOW>; 369 369 reset-assert-us = <10000>; 370 + reset-deassert-us = <10000>; 370 371 }; 371 372 372 373 switch0: switch0@4 {
+3
arch/arm64/boot/dts/marvell/armada-8040-mcbin.dtsi
··· 71 71 tx-fault-gpio = <&cp1_gpio1 26 GPIO_ACTIVE_HIGH>; 72 72 pinctrl-names = "default"; 73 73 pinctrl-0 = <&cp1_sfpp0_pins>; 74 + maximum-power-milliwatt = <2000>; 74 75 }; 75 76 76 77 sfp_eth1: sfp-eth1 { ··· 84 83 tx-fault-gpio = <&cp0_gpio2 30 GPIO_ACTIVE_HIGH>; 85 84 pinctrl-names = "default"; 86 85 pinctrl-0 = <&cp1_sfpp1_pins &cp0_sfpp1_pins>; 86 + maximum-power-milliwatt = <2000>; 87 87 }; 88 88 89 89 sfp_eth3: sfp-eth3 { ··· 97 95 tx-fault-gpio = <&cp0_gpio2 19 GPIO_ACTIVE_HIGH>; 98 96 pinctrl-names = "default"; 99 97 pinctrl-0 = <&cp0_sfp_1g_pins &cp1_sfp_1g_pins>; 98 + maximum-power-milliwatt = <2000>; 100 99 }; 101 100 }; 102 101
+5
arch/arm64/boot/dts/marvell/armada-ap806-dual.dtsi
··· 53 53 cache-sets = <512>; 54 54 }; 55 55 }; 56 + 57 + thermal-zones { 58 + /delete-node/ ap-thermal-cpu2; 59 + /delete-node/ ap-thermal-cpu3; 60 + }; 56 61 };
+4 -4
arch/arm64/boot/dts/marvell/armada-ap807-quad.dtsi
··· 17 17 18 18 cpu0: cpu@0 { 19 19 device_type = "cpu"; 20 - compatible = "arm,cortex-a72", "arm,armv8"; 20 + compatible = "arm,cortex-a72"; 21 21 reg = <0x000>; 22 22 enable-method = "psci"; 23 23 #cooling-cells = <2>; ··· 32 32 }; 33 33 cpu1: cpu@1 { 34 34 device_type = "cpu"; 35 - compatible = "arm,cortex-a72", "arm,armv8"; 35 + compatible = "arm,cortex-a72"; 36 36 reg = <0x001>; 37 37 enable-method = "psci"; 38 38 #cooling-cells = <2>; ··· 47 47 }; 48 48 cpu2: cpu@100 { 49 49 device_type = "cpu"; 50 - compatible = "arm,cortex-a72", "arm,armv8"; 50 + compatible = "arm,cortex-a72"; 51 51 reg = <0x100>; 52 52 enable-method = "psci"; 53 53 #cooling-cells = <2>; ··· 62 62 }; 63 63 cpu3: cpu@101 { 64 64 device_type = "cpu"; 65 - compatible = "arm,cortex-a72", "arm,armv8"; 65 + compatible = "arm,cortex-a72"; 66 66 reg = <0x101>; 67 67 enable-method = "psci"; 68 68 #cooling-cells = <2>;
+1
arch/arm64/boot/dts/mediatek/Makefile
··· 8 8 dtb-$(CONFIG_ARCH_MEDIATEK) += mt7622-bananapi-bpi-r64.dtb 9 9 dtb-$(CONFIG_ARCH_MEDIATEK) += mt8173-evb.dtb 10 10 dtb-$(CONFIG_ARCH_MEDIATEK) += mt8183-evb.dtb 11 + dtb-$(CONFIG_ARCH_MEDIATEK) += mt8516-pumpkin.dtb
+7 -1
arch/arm64/boot/dts/mediatek/mt2712e.dtsi
··· 278 278 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 279 279 }; 280 280 281 - scpsys: scpsys@10006000 { 281 + scpsys: power-controller@10006000 { 282 282 compatible = "mediatek,mt2712-scpsys", "syscon"; 283 283 #power-domain-cells = <1>; 284 284 reg = <0 0x10006000 0 0x1000>; ··· 301 301 clocks = <&baud_clk>, <&sys_clk>; 302 302 clock-names = "baud", "bus"; 303 303 status = "disabled"; 304 + }; 305 + 306 + rtc: rtc@10011000 { 307 + compatible = "mediatek,mt2712-rtc"; 308 + reg = <0 0x10011000 0 0x1000>; 309 + interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_LOW>; 304 310 }; 305 311 306 312 spis1: spi@10013000 {
+1 -1
arch/arm64/boot/dts/mediatek/mt6797.dtsi
··· 157 157 }; 158 158 }; 159 159 160 - scpsys: scpsys@10006000 { 160 + scpsys: power-controller@10006000 { 161 161 compatible = "mediatek,mt6797-scpsys"; 162 162 #power-domain-cells = <1>; 163 163 reg = <0 0x10006000 0 0x1000>;
+1 -1
arch/arm64/boot/dts/mediatek/mt7622.dtsi
··· 230 230 #reset-cells = <1>; 231 231 }; 232 232 233 - scpsys: scpsys@10006000 { 233 + scpsys: power-controller@10006000 { 234 234 compatible = "mediatek,mt7622-scpsys", 235 235 "syscon"; 236 236 #power-domain-cells = <1>;
+2 -1
arch/arm64/boot/dts/mediatek/mt8173.dtsi
··· 331 331 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 332 332 <GIC_PPI 10 333 333 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 334 + arm,no-tick-in-suspend; 334 335 }; 335 336 336 337 soc { ··· 437 436 }; 438 437 }; 439 438 440 - scpsys: scpsys@10006000 { 439 + scpsys: power-controller@10006000 { 441 440 compatible = "mediatek,mt8173-scpsys"; 442 441 #power-domain-cells = <1>; 443 442 reg = <0 0x10006000 0 0x1000>;
+53
arch/arm64/boot/dts/mediatek/mt8183.dtsi
··· 74 74 reg = <0x000>; 75 75 enable-method = "psci"; 76 76 capacity-dmips-mhz = <741>; 77 + cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>; 78 + dynamic-power-coefficient = <84>; 79 + #cooling-cells = <2>; 77 80 }; 78 81 79 82 cpu1: cpu@1 { ··· 85 82 reg = <0x001>; 86 83 enable-method = "psci"; 87 84 capacity-dmips-mhz = <741>; 85 + cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>; 86 + dynamic-power-coefficient = <84>; 87 + #cooling-cells = <2>; 88 88 }; 89 89 90 90 cpu2: cpu@2 { ··· 96 90 reg = <0x002>; 97 91 enable-method = "psci"; 98 92 capacity-dmips-mhz = <741>; 93 + cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>; 94 + dynamic-power-coefficient = <84>; 95 + #cooling-cells = <2>; 99 96 }; 100 97 101 98 cpu3: cpu@3 { ··· 107 98 reg = <0x003>; 108 99 enable-method = "psci"; 109 100 capacity-dmips-mhz = <741>; 101 + cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>; 102 + dynamic-power-coefficient = <84>; 103 + #cooling-cells = <2>; 110 104 }; 111 105 112 106 cpu4: cpu@100 { ··· 118 106 reg = <0x100>; 119 107 enable-method = "psci"; 120 108 capacity-dmips-mhz = <1024>; 109 + cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>; 110 + dynamic-power-coefficient = <211>; 111 + #cooling-cells = <2>; 121 112 }; 122 113 123 114 cpu5: cpu@101 { ··· 129 114 reg = <0x101>; 130 115 enable-method = "psci"; 131 116 capacity-dmips-mhz = <1024>; 117 + cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>; 118 + dynamic-power-coefficient = <211>; 119 + #cooling-cells = <2>; 132 120 }; 133 121 134 122 cpu6: cpu@102 { ··· 140 122 reg = <0x102>; 141 123 enable-method = "psci"; 142 124 capacity-dmips-mhz = <1024>; 125 + cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>; 126 + dynamic-power-coefficient = <211>; 127 + #cooling-cells = <2>; 143 128 }; 144 129 145 130 cpu7: cpu@103 { ··· 151 130 reg = <0x103>; 152 131 enable-method = "psci"; 153 132 capacity-dmips-mhz = <1024>; 133 + cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>; 134 + dynamic-power-coefficient = <211>; 135 + #cooling-cells = <2>; 136 + }; 137 + 138 + idle-states { 139 + entry-method = "psci"; 140 + 141 + CPU_SLEEP: cpu-sleep { 142 + compatible = "arm,idle-state"; 143 + local-timer-stop; 144 + arm,psci-suspend-param = <0x00010001>; 145 + entry-latency-us = <200>; 146 + exit-latency-us = <200>; 147 + min-residency-us = <800>; 148 + }; 149 + 150 + CLUSTER_SLEEP: cluster-sleep { 151 + compatible = "arm,idle-state"; 152 + local-timer-stop; 153 + arm,psci-suspend-param = <0x01010001>; 154 + entry-latency-us = <250>; 155 + exit-latency-us = <400>; 156 + min-residency-us = <1300>; 157 + }; 154 158 }; 155 159 }; 156 160 ··· 299 253 interrupt-controller; 300 254 interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; 301 255 #interrupt-cells = <2>; 256 + }; 257 + 258 + watchdog: watchdog@10007000 { 259 + compatible = "mediatek,mt8183-wdt", 260 + "mediatek,mt6589-wdt"; 261 + reg = <0 0x10007000 0 0x100>; 262 + #reset-cells = <1>; 302 263 }; 303 264 304 265 apmixedsys: syscon@1000c000 {
+663
arch/arm64/boot/dts/mediatek/mt8516-pinfunc.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 2 + /* 3 + * Copyright (C) 2019 MediaTek Inc. 4 + */ 5 + #ifndef __DTS_MT8516_PINFUNC_H 6 + #define __DTS_MT8516_PINFUNC_H 7 + 8 + #include <dt-bindings/pinctrl/mt65xx.h> 9 + 10 + #define MT8516_PIN_0_EINT0__FUNC_GPIO0 (MTK_PIN_NO(0) | 0) 11 + #define MT8516_PIN_0_EINT0__FUNC_PWM_B (MTK_PIN_NO(0) | 1) 12 + #define MT8516_PIN_0_EINT0__FUNC_I2S2_BCK (MTK_PIN_NO(0) | 3) 13 + #define MT8516_PIN_0_EINT0__FUNC_EXT_TXD0 (MTK_PIN_NO(0) | 4) 14 + #define MT8516_PIN_0_EINT0__FUNC_SQICS (MTK_PIN_NO(0) | 6) 15 + #define MT8516_PIN_0_EINT0__FUNC_DBG_MON_A_6 (MTK_PIN_NO(0) | 7) 16 + 17 + #define MT8516_PIN_1_EINT1__FUNC_GPIO1 (MTK_PIN_NO(1) | 0) 18 + #define MT8516_PIN_1_EINT1__FUNC_PWM_C (MTK_PIN_NO(1) | 1) 19 + #define MT8516_PIN_1_EINT1__FUNC_I2S2_DI (MTK_PIN_NO(1) | 3) 20 + #define MT8516_PIN_1_EINT1__FUNC_EXT_TXD1 (MTK_PIN_NO(1) | 4) 21 + #define MT8516_PIN_1_EINT1__FUNC_CONN_MCU_TDO (MTK_PIN_NO(1) | 5) 22 + #define MT8516_PIN_1_EINT1__FUNC_SQISO (MTK_PIN_NO(1) | 6) 23 + #define MT8516_PIN_1_EINT1__FUNC_DBG_MON_A_7 (MTK_PIN_NO(1) | 7) 24 + 25 + #define MT8516_PIN_2_EINT2__FUNC_GPIO2 (MTK_PIN_NO(2) | 0) 26 + #define MT8516_PIN_2_EINT2__FUNC_CLKM0 (MTK_PIN_NO(2) | 1) 27 + #define MT8516_PIN_2_EINT2__FUNC_I2S2_LRCK (MTK_PIN_NO(2) | 3) 28 + #define MT8516_PIN_2_EINT2__FUNC_EXT_TXD2 (MTK_PIN_NO(2) | 4) 29 + #define MT8516_PIN_2_EINT2__FUNC_CONN_MCU_DBGACK_N (MTK_PIN_NO(2) | 5) 30 + #define MT8516_PIN_2_EINT2__FUNC_SQISI (MTK_PIN_NO(2) | 6) 31 + #define MT8516_PIN_2_EINT2__FUNC_DBG_MON_A_8 (MTK_PIN_NO(2) | 7) 32 + 33 + #define MT8516_PIN_3_EINT3__FUNC_GPIO3 (MTK_PIN_NO(3) | 0) 34 + #define MT8516_PIN_3_EINT3__FUNC_CLKM1 (MTK_PIN_NO(3) | 1) 35 + #define MT8516_PIN_3_EINT3__FUNC_SPI_MI (MTK_PIN_NO(3) | 3) 36 + #define MT8516_PIN_3_EINT3__FUNC_EXT_TXD3 (MTK_PIN_NO(3) | 4) 37 + #define MT8516_PIN_3_EINT3__FUNC_CONN_MCU_DBGI_N (MTK_PIN_NO(3) | 5) 38 + #define MT8516_PIN_3_EINT3__FUNC_SQIWP (MTK_PIN_NO(3) | 6) 39 + #define MT8516_PIN_3_EINT3__FUNC_DBG_MON_A_9 (MTK_PIN_NO(3) | 7) 40 + 41 + #define MT8516_PIN_4_EINT4__FUNC_GPIO4 (MTK_PIN_NO(4) | 0) 42 + #define MT8516_PIN_4_EINT4__FUNC_CLKM2 (MTK_PIN_NO(4) | 1) 43 + #define MT8516_PIN_4_EINT4__FUNC_SPI_MO (MTK_PIN_NO(4) | 3) 44 + #define MT8516_PIN_4_EINT4__FUNC_EXT_TXC (MTK_PIN_NO(4) | 4) 45 + #define MT8516_PIN_4_EINT4__FUNC_CONN_MCU_TCK (MTK_PIN_NO(4) | 5) 46 + #define MT8516_PIN_4_EINT4__FUNC_CONN_MCU_AICE_JCKC (MTK_PIN_NO(4) | 6) 47 + #define MT8516_PIN_4_EINT4__FUNC_DBG_MON_A_10 (MTK_PIN_NO(4) | 7) 48 + 49 + #define MT8516_PIN_5_EINT5__FUNC_GPIO5 (MTK_PIN_NO(5) | 0) 50 + #define MT8516_PIN_5_EINT5__FUNC_UCTS2 (MTK_PIN_NO(5) | 1) 51 + #define MT8516_PIN_5_EINT5__FUNC_SPI_CSB (MTK_PIN_NO(5) | 3) 52 + #define MT8516_PIN_5_EINT5__FUNC_EXT_RXER (MTK_PIN_NO(5) | 4) 53 + #define MT8516_PIN_5_EINT5__FUNC_CONN_MCU_TDI (MTK_PIN_NO(5) | 5) 54 + #define MT8516_PIN_5_EINT5__FUNC_CONN_TEST_CK (MTK_PIN_NO(5) | 6) 55 + #define MT8516_PIN_5_EINT5__FUNC_DBG_MON_A_11 (MTK_PIN_NO(5) | 7) 56 + 57 + #define MT8516_PIN_6_EINT6__FUNC_GPIO6 (MTK_PIN_NO(6) | 0) 58 + #define MT8516_PIN_6_EINT6__FUNC_URTS2 (MTK_PIN_NO(6) | 1) 59 + #define MT8516_PIN_6_EINT6__FUNC_SPI_CLK (MTK_PIN_NO(6) | 3) 60 + #define MT8516_PIN_6_EINT6__FUNC_EXT_RXC (MTK_PIN_NO(6) | 4) 61 + #define MT8516_PIN_6_EINT6__FUNC_CONN_MCU_TRST_B (MTK_PIN_NO(6) | 5) 62 + #define MT8516_PIN_6_EINT6__FUNC_DBG_MON_A_12 (MTK_PIN_NO(6) | 7) 63 + 64 + #define MT8516_PIN_7_EINT7__FUNC_GPIO7 (MTK_PIN_NO(7) | 0) 65 + #define MT8516_PIN_7_EINT7__FUNC_SQIRST (MTK_PIN_NO(7) | 1) 66 + #define MT8516_PIN_7_EINT7__FUNC_SDA1_0 (MTK_PIN_NO(7) | 3) 67 + #define MT8516_PIN_7_EINT7__FUNC_EXT_RXDV (MTK_PIN_NO(7) | 4) 68 + #define MT8516_PIN_7_EINT7__FUNC_CONN_MCU_TMS (MTK_PIN_NO(7) | 5) 69 + #define MT8516_PIN_7_EINT7__FUNC_CONN_MCU_AICE_JMSC (MTK_PIN_NO(7) | 6) 70 + #define MT8516_PIN_7_EINT7__FUNC_DBG_MON_A_13 (MTK_PIN_NO(7) | 7) 71 + 72 + #define MT8516_PIN_8_EINT8__FUNC_GPIO8 (MTK_PIN_NO(8) | 0) 73 + #define MT8516_PIN_8_EINT8__FUNC_SQICK (MTK_PIN_NO(8) | 1) 74 + #define MT8516_PIN_8_EINT8__FUNC_CLKM3 (MTK_PIN_NO(8) | 2) 75 + #define MT8516_PIN_8_EINT8__FUNC_SCL1_0 (MTK_PIN_NO(8) | 3) 76 + #define MT8516_PIN_8_EINT8__FUNC_EXT_RXD0 (MTK_PIN_NO(8) | 4) 77 + #define MT8516_PIN_8_EINT8__FUNC_ANT_SEL0 (MTK_PIN_NO(8) | 5) 78 + #define MT8516_PIN_8_EINT8__FUNC_DBG_MON_A_14 (MTK_PIN_NO(8) | 7) 79 + 80 + #define MT8516_PIN_9_EINT9__FUNC_GPIO9 (MTK_PIN_NO(9) | 0) 81 + #define MT8516_PIN_9_EINT9__FUNC_CLKM4 (MTK_PIN_NO(9) | 1) 82 + #define MT8516_PIN_9_EINT9__FUNC_SDA2_0 (MTK_PIN_NO(9) | 2) 83 + #define MT8516_PIN_9_EINT9__FUNC_EXT_FRAME_SYNC (MTK_PIN_NO(9) | 3) 84 + #define MT8516_PIN_9_EINT9__FUNC_EXT_RXD1 (MTK_PIN_NO(9) | 4) 85 + #define MT8516_PIN_9_EINT9__FUNC_ANT_SEL1 (MTK_PIN_NO(9) | 5) 86 + #define MT8516_PIN_9_EINT9__FUNC_DBG_MON_A_15 (MTK_PIN_NO(9) | 7) 87 + 88 + #define MT8516_PIN_10_EINT10__FUNC_GPIO10 (MTK_PIN_NO(10) | 0) 89 + #define MT8516_PIN_10_EINT10__FUNC_CLKM5 (MTK_PIN_NO(10) | 1) 90 + #define MT8516_PIN_10_EINT10__FUNC_SCL2_0 (MTK_PIN_NO(10) | 2) 91 + #define MT8516_PIN_10_EINT10__FUNC_EXT_FRAME_SYNC (MTK_PIN_NO(10) | 3) 92 + #define MT8516_PIN_10_EINT10__FUNC_EXT_RXD2 (MTK_PIN_NO(10) | 4) 93 + #define MT8516_PIN_10_EINT10__FUNC_ANT_SEL2 (MTK_PIN_NO(10) | 5) 94 + #define MT8516_PIN_10_EINT10__FUNC_DBG_MON_A_16 (MTK_PIN_NO(10) | 7) 95 + 96 + #define MT8516_PIN_11_EINT11__FUNC_GPIO11 (MTK_PIN_NO(11) | 0) 97 + #define MT8516_PIN_11_EINT11__FUNC_CLKM4 (MTK_PIN_NO(11) | 1) 98 + #define MT8516_PIN_11_EINT11__FUNC_PWM_C (MTK_PIN_NO(11) | 2) 99 + #define MT8516_PIN_11_EINT11__FUNC_CONN_TEST_CK (MTK_PIN_NO(11) | 3) 100 + #define MT8516_PIN_11_EINT11__FUNC_ANT_SEL3 (MTK_PIN_NO(11) | 4) 101 + #define MT8516_PIN_11_EINT11__FUNC_EXT_RXD3 (MTK_PIN_NO(11) | 6) 102 + #define MT8516_PIN_11_EINT11__FUNC_DBG_MON_A_17 (MTK_PIN_NO(11) | 7) 103 + 104 + #define MT8516_PIN_12_EINT12__FUNC_GPIO12 (MTK_PIN_NO(12) | 0) 105 + #define MT8516_PIN_12_EINT12__FUNC_CLKM5 (MTK_PIN_NO(12) | 1) 106 + #define MT8516_PIN_12_EINT12__FUNC_PWM_A (MTK_PIN_NO(12) | 2) 107 + #define MT8516_PIN_12_EINT12__FUNC_SPDIF_OUT (MTK_PIN_NO(12) | 3) 108 + #define MT8516_PIN_12_EINT12__FUNC_ANT_SEL4 (MTK_PIN_NO(12) | 4) 109 + #define MT8516_PIN_12_EINT12__FUNC_EXT_TXEN (MTK_PIN_NO(12) | 6) 110 + #define MT8516_PIN_12_EINT12__FUNC_DBG_MON_A_18 (MTK_PIN_NO(12) | 7) 111 + 112 + #define MT8516_PIN_13_EINT13__FUNC_GPIO13 (MTK_PIN_NO(13) | 0) 113 + #define MT8516_PIN_13_EINT13__FUNC_TSF_IN (MTK_PIN_NO(13) | 3) 114 + #define MT8516_PIN_13_EINT13__FUNC_ANT_SEL5 (MTK_PIN_NO(13) | 4) 115 + #define MT8516_PIN_13_EINT13__FUNC_SPDIF_IN (MTK_PIN_NO(13) | 6) 116 + #define MT8516_PIN_13_EINT13__FUNC_DBG_MON_A_19 (MTK_PIN_NO(13) | 7) 117 + 118 + #define MT8516_PIN_14_EINT14__FUNC_GPIO14 (MTK_PIN_NO(14) | 0) 119 + #define MT8516_PIN_14_EINT14__FUNC_I2S_8CH_DO1 (MTK_PIN_NO(14) | 2) 120 + #define MT8516_PIN_14_EINT14__FUNC_TDM_RX_MCK (MTK_PIN_NO(14) | 3) 121 + #define MT8516_PIN_14_EINT14__FUNC_ANT_SEL1 (MTK_PIN_NO(14) | 4) 122 + #define MT8516_PIN_14_EINT14__FUNC_CONN_MCU_DBGACK_N (MTK_PIN_NO(14) | 5) 123 + #define MT8516_PIN_14_EINT14__FUNC_NCLE (MTK_PIN_NO(14) | 6) 124 + #define MT8516_PIN_14_EINT14__FUNC_DBG_MON_B_8 (MTK_PIN_NO(14) | 7) 125 + 126 + #define MT8516_PIN_15_EINT15__FUNC_GPIO15 (MTK_PIN_NO(15) | 0) 127 + #define MT8516_PIN_15_EINT15__FUNC_I2S_8CH_LRCK (MTK_PIN_NO(15) | 2) 128 + #define MT8516_PIN_15_EINT15__FUNC_TDM_RX_BCK (MTK_PIN_NO(15) | 3) 129 + #define MT8516_PIN_15_EINT15__FUNC_ANT_SEL2 (MTK_PIN_NO(15) | 4) 130 + #define MT8516_PIN_15_EINT15__FUNC_CONN_MCU_DBGI_N (MTK_PIN_NO(15) | 5) 131 + #define MT8516_PIN_15_EINT15__FUNC_NCEB1 (MTK_PIN_NO(15) | 6) 132 + #define MT8516_PIN_15_EINT15__FUNC_DBG_MON_B_9 (MTK_PIN_NO(15) | 7) 133 + 134 + #define MT8516_PIN_16_EINT16__FUNC_GPIO16 (MTK_PIN_NO(16) | 0) 135 + #define MT8516_PIN_16_EINT16__FUNC_I2S_8CH_BCK (MTK_PIN_NO(16) | 2) 136 + #define MT8516_PIN_16_EINT16__FUNC_TDM_RX_LRCK (MTK_PIN_NO(16) | 3) 137 + #define MT8516_PIN_16_EINT16__FUNC_ANT_SEL3 (MTK_PIN_NO(16) | 4) 138 + #define MT8516_PIN_16_EINT16__FUNC_CONN_MCU_TRST_B (MTK_PIN_NO(16) | 5) 139 + #define MT8516_PIN_16_EINT16__FUNC_NCEB0 (MTK_PIN_NO(16) | 6) 140 + #define MT8516_PIN_16_EINT16__FUNC_DBG_MON_B_10 (MTK_PIN_NO(16) | 7) 141 + 142 + #define MT8516_PIN_17_EINT17__FUNC_GPIO17 (MTK_PIN_NO(17) | 0) 143 + #define MT8516_PIN_17_EINT17__FUNC_I2S_8CH_MCK (MTK_PIN_NO(17) | 2) 144 + #define MT8516_PIN_17_EINT17__FUNC_TDM_RX_DI (MTK_PIN_NO(17) | 3) 145 + #define MT8516_PIN_17_EINT17__FUNC_IDDIG (MTK_PIN_NO(17) | 4) 146 + #define MT8516_PIN_17_EINT17__FUNC_ANT_SEL4 (MTK_PIN_NO(17) | 5) 147 + #define MT8516_PIN_17_EINT17__FUNC_NREB (MTK_PIN_NO(17) | 6) 148 + #define MT8516_PIN_17_EINT17__FUNC_DBG_MON_B_11 (MTK_PIN_NO(17) | 7) 149 + 150 + #define MT8516_PIN_18_EINT18__FUNC_GPIO18 (MTK_PIN_NO(18) | 0) 151 + #define MT8516_PIN_18_EINT18__FUNC_USB_DRVVBUS (MTK_PIN_NO(18) | 2) 152 + #define MT8516_PIN_18_EINT18__FUNC_I2S3_LRCK (MTK_PIN_NO(18) | 3) 153 + #define MT8516_PIN_18_EINT18__FUNC_CLKM1 (MTK_PIN_NO(18) | 4) 154 + #define MT8516_PIN_18_EINT18__FUNC_ANT_SEL3 (MTK_PIN_NO(18) | 5) 155 + #define MT8516_PIN_18_EINT18__FUNC_I2S2_BCK (MTK_PIN_NO(18) | 6) 156 + #define MT8516_PIN_18_EINT18__FUNC_DBG_MON_A_20 (MTK_PIN_NO(18) | 7) 157 + 158 + #define MT8516_PIN_19_EINT19__FUNC_GPIO19 (MTK_PIN_NO(19) | 0) 159 + #define MT8516_PIN_19_EINT19__FUNC_UCTS1 (MTK_PIN_NO(19) | 1) 160 + #define MT8516_PIN_19_EINT19__FUNC_IDDIG (MTK_PIN_NO(19) | 2) 161 + #define MT8516_PIN_19_EINT19__FUNC_I2S3_BCK (MTK_PIN_NO(19) | 3) 162 + #define MT8516_PIN_19_EINT19__FUNC_CLKM2 (MTK_PIN_NO(19) | 4) 163 + #define MT8516_PIN_19_EINT19__FUNC_ANT_SEL4 (MTK_PIN_NO(19) | 5) 164 + #define MT8516_PIN_19_EINT19__FUNC_I2S2_DI (MTK_PIN_NO(19) | 6) 165 + #define MT8516_PIN_19_EINT19__FUNC_DBG_MON_A_21 (MTK_PIN_NO(19) | 7) 166 + 167 + #define MT8516_PIN_20_EINT20__FUNC_GPIO20 (MTK_PIN_NO(20) | 0) 168 + #define MT8516_PIN_20_EINT20__FUNC_URTS1 (MTK_PIN_NO(20) | 1) 169 + #define MT8516_PIN_20_EINT20__FUNC_I2S3_DO (MTK_PIN_NO(20) | 3) 170 + #define MT8516_PIN_20_EINT20__FUNC_CLKM3 (MTK_PIN_NO(20) | 4) 171 + #define MT8516_PIN_20_EINT20__FUNC_ANT_SEL5 (MTK_PIN_NO(20) | 5) 172 + #define MT8516_PIN_20_EINT20__FUNC_I2S2_LRCK (MTK_PIN_NO(20) | 6) 173 + #define MT8516_PIN_20_EINT20__FUNC_DBG_MON_A_22 (MTK_PIN_NO(20) | 7) 174 + 175 + #define MT8516_PIN_21_EINT21__FUNC_GPIO21 (MTK_PIN_NO(21) | 0) 176 + #define MT8516_PIN_21_EINT21__FUNC_NRNB (MTK_PIN_NO(21) | 1) 177 + #define MT8516_PIN_21_EINT21__FUNC_ANT_SEL0 (MTK_PIN_NO(21) | 2) 178 + #define MT8516_PIN_21_EINT21__FUNC_I2S_8CH_DO4 (MTK_PIN_NO(21) | 3) 179 + #define MT8516_PIN_21_EINT21__FUNC_DBG_MON_B_31 (MTK_PIN_NO(21) | 7) 180 + 181 + #define MT8516_PIN_22_EINT22__FUNC_GPIO22 (MTK_PIN_NO(22) | 0) 182 + #define MT8516_PIN_22_EINT22__FUNC_I2S_8CH_DO2 (MTK_PIN_NO(22) | 2) 183 + #define MT8516_PIN_22_EINT22__FUNC_TSF_IN (MTK_PIN_NO(22) | 3) 184 + #define MT8516_PIN_22_EINT22__FUNC_USB_DRVVBUS (MTK_PIN_NO(22) | 4) 185 + #define MT8516_PIN_22_EINT22__FUNC_SPDIF_OUT (MTK_PIN_NO(22) | 5) 186 + #define MT8516_PIN_22_EINT22__FUNC_NRE_C (MTK_PIN_NO(22) | 6) 187 + #define MT8516_PIN_22_EINT22__FUNC_DBG_MON_B_12 (MTK_PIN_NO(22) | 7) 188 + 189 + #define MT8516_PIN_23_EINT23__FUNC_GPIO23 (MTK_PIN_NO(23) | 0) 190 + #define MT8516_PIN_23_EINT23__FUNC_I2S_8CH_DO3 (MTK_PIN_NO(23) | 2) 191 + #define MT8516_PIN_23_EINT23__FUNC_CLKM0 (MTK_PIN_NO(23) | 3) 192 + #define MT8516_PIN_23_EINT23__FUNC_IR (MTK_PIN_NO(23) | 4) 193 + #define MT8516_PIN_23_EINT23__FUNC_SPDIF_IN (MTK_PIN_NO(23) | 5) 194 + #define MT8516_PIN_23_EINT23__FUNC_NDQS_C (MTK_PIN_NO(23) | 6) 195 + #define MT8516_PIN_23_EINT23__FUNC_DBG_MON_B_13 (MTK_PIN_NO(23) | 7) 196 + 197 + #define MT8516_PIN_24_EINT24__FUNC_GPIO24 (MTK_PIN_NO(24) | 0) 198 + #define MT8516_PIN_24_EINT24__FUNC_ANT_SEL1 (MTK_PIN_NO(24) | 3) 199 + #define MT8516_PIN_24_EINT24__FUNC_UCTS2 (MTK_PIN_NO(24) | 4) 200 + #define MT8516_PIN_24_EINT24__FUNC_PWM_A (MTK_PIN_NO(24) | 5) 201 + #define MT8516_PIN_24_EINT24__FUNC_I2S0_MCK (MTK_PIN_NO(24) | 6) 202 + #define MT8516_PIN_24_EINT24__FUNC_DBG_MON_A_0 (MTK_PIN_NO(24) | 7) 203 + 204 + #define MT8516_PIN_25_EINT25__FUNC_GPIO25 (MTK_PIN_NO(25) | 0) 205 + #define MT8516_PIN_25_EINT25__FUNC_ANT_SEL0 (MTK_PIN_NO(25) | 3) 206 + #define MT8516_PIN_25_EINT25__FUNC_URTS2 (MTK_PIN_NO(25) | 4) 207 + #define MT8516_PIN_25_EINT25__FUNC_PWM_B (MTK_PIN_NO(25) | 5) 208 + #define MT8516_PIN_25_EINT25__FUNC_I2S_8CH_MCK (MTK_PIN_NO(25) | 6) 209 + #define MT8516_PIN_25_EINT25__FUNC_DBG_MON_A_1 (MTK_PIN_NO(25) | 7) 210 + 211 + #define MT8516_PIN_26_PWRAP_SPI0_MI__FUNC_GPIO26 (MTK_PIN_NO(26) | 0) 212 + #define MT8516_PIN_26_PWRAP_SPI0_MI__FUNC_PWRAP_SPI0_MO (MTK_PIN_NO(26) | 1) 213 + #define MT8516_PIN_26_PWRAP_SPI0_MI__FUNC_PWRAP_SPI0_MI (MTK_PIN_NO(26) | 2) 214 + 215 + #define MT8516_PIN_27_PWRAP_SPI0_MO__FUNC_GPIO27 (MTK_PIN_NO(27) | 0) 216 + #define MT8516_PIN_27_PWRAP_SPI0_MO__FUNC_PWRAP_SPI0_MI (MTK_PIN_NO(27) | 1) 217 + #define MT8516_PIN_27_PWRAP_SPI0_MO__FUNC_PWRAP_SPI0_MO (MTK_PIN_NO(27) | 2) 218 + 219 + #define MT8516_PIN_28_PWRAP_INT__FUNC_GPIO28 (MTK_PIN_NO(28) | 0) 220 + #define MT8516_PIN_28_PWRAP_INT__FUNC_I2S0_MCK (MTK_PIN_NO(28) | 1) 221 + #define MT8516_PIN_28_PWRAP_INT__FUNC_I2S_8CH_MCK (MTK_PIN_NO(28) | 4) 222 + #define MT8516_PIN_28_PWRAP_INT__FUNC_I2S2_MCK (MTK_PIN_NO(28) | 5) 223 + #define MT8516_PIN_28_PWRAP_INT__FUNC_I2S3_MCK (MTK_PIN_NO(28) | 6) 224 + 225 + #define MT8516_PIN_29_PWRAP_SPI0_CK__FUNC_GPIO29 (MTK_PIN_NO(29) | 0) 226 + #define MT8516_PIN_29_PWRAP_SPI0_CK__FUNC_PWRAP_SPI0_CK (MTK_PIN_NO(29) | 1) 227 + 228 + #define MT8516_PIN_30_PWRAP_SPI0_CSN__FUNC_GPIO30 (MTK_PIN_NO(30) | 0) 229 + #define MT8516_PIN_30_PWRAP_SPI0_CSN__FUNC_PWRAP_SPI0_CSN (MTK_PIN_NO(30) | 1) 230 + 231 + #define MT8516_PIN_31_RTC32K_CK__FUNC_GPIO31 (MTK_PIN_NO(31) | 0) 232 + #define MT8516_PIN_31_RTC32K_CK__FUNC_RTC32K_CK (MTK_PIN_NO(31) | 1) 233 + 234 + #define MT8516_PIN_32_WATCHDOG__FUNC_GPIO32 (MTK_PIN_NO(32) | 0) 235 + #define MT8516_PIN_32_WATCHDOG__FUNC_WATCHDOG (MTK_PIN_NO(32) | 1) 236 + 237 + #define MT8516_PIN_33_SRCLKENA__FUNC_GPIO33 (MTK_PIN_NO(33) | 0) 238 + #define MT8516_PIN_33_SRCLKENA__FUNC_SRCLKENA0 (MTK_PIN_NO(33) | 1) 239 + 240 + #define MT8516_PIN_34_URXD2__FUNC_GPIO34 (MTK_PIN_NO(34) | 0) 241 + #define MT8516_PIN_34_URXD2__FUNC_URXD2 (MTK_PIN_NO(34) | 1) 242 + #define MT8516_PIN_34_URXD2__FUNC_UTXD2 (MTK_PIN_NO(34) | 3) 243 + #define MT8516_PIN_34_URXD2__FUNC_DBG_SCL (MTK_PIN_NO(34) | 4) 244 + #define MT8516_PIN_34_URXD2__FUNC_I2S2_MCK (MTK_PIN_NO(34) | 6) 245 + #define MT8516_PIN_34_URXD2__FUNC_DBG_MON_B_0 (MTK_PIN_NO(34) | 7) 246 + 247 + #define MT8516_PIN_35_UTXD2__FUNC_GPIO35 (MTK_PIN_NO(35) | 0) 248 + #define MT8516_PIN_35_UTXD2__FUNC_UTXD2 (MTK_PIN_NO(35) | 1) 249 + #define MT8516_PIN_35_UTXD2__FUNC_URXD2 (MTK_PIN_NO(35) | 3) 250 + #define MT8516_PIN_35_UTXD2__FUNC_DBG_SDA (MTK_PIN_NO(35) | 4) 251 + #define MT8516_PIN_35_UTXD2__FUNC_I2S3_MCK (MTK_PIN_NO(35) | 6) 252 + #define MT8516_PIN_35_UTXD2__FUNC_DBG_MON_B_1 (MTK_PIN_NO(35) | 7) 253 + 254 + #define MT8516_PIN_36_MRG_CLK__FUNC_GPIO36 (MTK_PIN_NO(36) | 0) 255 + #define MT8516_PIN_36_MRG_CLK__FUNC_MRG_CLK (MTK_PIN_NO(36) | 1) 256 + #define MT8516_PIN_36_MRG_CLK__FUNC_I2S0_BCK (MTK_PIN_NO(36) | 3) 257 + #define MT8516_PIN_36_MRG_CLK__FUNC_I2S3_BCK (MTK_PIN_NO(36) | 4) 258 + #define MT8516_PIN_36_MRG_CLK__FUNC_PCM0_CLK (MTK_PIN_NO(36) | 5) 259 + #define MT8516_PIN_36_MRG_CLK__FUNC_IR (MTK_PIN_NO(36) | 6) 260 + #define MT8516_PIN_36_MRG_CLK__FUNC_DBG_MON_A_2 (MTK_PIN_NO(36) | 7) 261 + 262 + #define MT8516_PIN_37_MRG_SYNC__FUNC_GPIO37 (MTK_PIN_NO(37) | 0) 263 + #define MT8516_PIN_37_MRG_SYNC__FUNC_MRG_SYNC (MTK_PIN_NO(37) | 1) 264 + #define MT8516_PIN_37_MRG_SYNC__FUNC_I2S0_LRCK (MTK_PIN_NO(37) | 3) 265 + #define MT8516_PIN_37_MRG_SYNC__FUNC_I2S3_LRCK (MTK_PIN_NO(37) | 4) 266 + #define MT8516_PIN_37_MRG_SYNC__FUNC_PCM0_SYNC (MTK_PIN_NO(37) | 5) 267 + #define MT8516_PIN_37_MRG_SYNC__FUNC_EXT_COL (MTK_PIN_NO(37) | 6) 268 + #define MT8516_PIN_37_MRG_SYNC__FUNC_DBG_MON_A_3 (MTK_PIN_NO(37) | 7) 269 + 270 + #define MT8516_PIN_38_MRG_DI__FUNC_GPIO38 (MTK_PIN_NO(38) | 0) 271 + #define MT8516_PIN_38_MRG_DI__FUNC_MRG_DI (MTK_PIN_NO(38) | 1) 272 + #define MT8516_PIN_38_MRG_DI__FUNC_I2S0_DI (MTK_PIN_NO(38) | 3) 273 + #define MT8516_PIN_38_MRG_DI__FUNC_I2S3_DO (MTK_PIN_NO(38) | 4) 274 + #define MT8516_PIN_38_MRG_DI__FUNC_PCM0_DI (MTK_PIN_NO(38) | 5) 275 + #define MT8516_PIN_38_MRG_DI__FUNC_EXT_MDIO (MTK_PIN_NO(38) | 6) 276 + #define MT8516_PIN_38_MRG_DI__FUNC_DBG_MON_A_4 (MTK_PIN_NO(38) | 7) 277 + 278 + #define MT8516_PIN_39_MRG_DO__FUNC_GPIO39 (MTK_PIN_NO(39) | 0) 279 + #define MT8516_PIN_39_MRG_DO__FUNC_MRG_DO (MTK_PIN_NO(39) | 1) 280 + #define MT8516_PIN_39_MRG_DO__FUNC_I2S0_MCK (MTK_PIN_NO(39) | 3) 281 + #define MT8516_PIN_39_MRG_DO__FUNC_I2S3_MCK (MTK_PIN_NO(39) | 4) 282 + #define MT8516_PIN_39_MRG_DO__FUNC_PCM0_DO (MTK_PIN_NO(39) | 5) 283 + #define MT8516_PIN_39_MRG_DO__FUNC_EXT_MDC (MTK_PIN_NO(39) | 6) 284 + #define MT8516_PIN_39_MRG_DO__FUNC_DBG_MON_A_5 (MTK_PIN_NO(39) | 7) 285 + 286 + #define MT8516_PIN_40_KPROW0__FUNC_GPIO40 (MTK_PIN_NO(40) | 0) 287 + #define MT8516_PIN_40_KPROW0__FUNC_KPROW0 (MTK_PIN_NO(40) | 1) 288 + #define MT8516_PIN_40_KPROW0__FUNC_DBG_MON_B_4 (MTK_PIN_NO(40) | 7) 289 + 290 + #define MT8516_PIN_41_KPROW1__FUNC_GPIO41 (MTK_PIN_NO(41) | 0) 291 + #define MT8516_PIN_41_KPROW1__FUNC_KPROW1 (MTK_PIN_NO(41) | 1) 292 + #define MT8516_PIN_41_KPROW1__FUNC_IDDIG (MTK_PIN_NO(41) | 2) 293 + #define MT8516_PIN_41_KPROW1__FUNC_EXT_FRAME_SYNC (MTK_PIN_NO(41) | 3) 294 + #define MT8516_PIN_41_KPROW1__FUNC_DBG_MON_B_5 (MTK_PIN_NO(41) | 7) 295 + 296 + #define MT8516_PIN_42_KPCOL0__FUNC_GPIO42 (MTK_PIN_NO(42) | 0) 297 + #define MT8516_PIN_42_KPCOL0__FUNC_KPCOL0 (MTK_PIN_NO(42) | 1) 298 + #define MT8516_PIN_42_KPCOL0__FUNC_DBG_MON_B_6 (MTK_PIN_NO(42) | 7) 299 + 300 + #define MT8516_PIN_43_KPCOL1__FUNC_GPIO43 (MTK_PIN_NO(43) | 0) 301 + #define MT8516_PIN_43_KPCOL1__FUNC_KPCOL1 (MTK_PIN_NO(43) | 1) 302 + #define MT8516_PIN_43_KPCOL1__FUNC_USB_DRVVBUS (MTK_PIN_NO(43) | 2) 303 + #define MT8516_PIN_43_KPCOL1__FUNC_EXT_FRAME_SYNC (MTK_PIN_NO(43) | 3) 304 + #define MT8516_PIN_43_KPCOL1__FUNC_TSF_IN (MTK_PIN_NO(43) | 4) 305 + #define MT8516_PIN_43_KPCOL1__FUNC_DBG_MON_B_7 (MTK_PIN_NO(43) | 7) 306 + 307 + #define MT8516_PIN_44_JTMS__FUNC_GPIO44 (MTK_PIN_NO(44) | 0) 308 + #define MT8516_PIN_44_JTMS__FUNC_JTMS (MTK_PIN_NO(44) | 1) 309 + #define MT8516_PIN_44_JTMS__FUNC_CONN_MCU_TMS (MTK_PIN_NO(44) | 2) 310 + #define MT8516_PIN_44_JTMS__FUNC_CONN_MCU_AICE_JMSC (MTK_PIN_NO(44) | 3) 311 + #define MT8516_PIN_44_JTMS__FUNC_DFD_TMS_XI (MTK_PIN_NO(44) | 5) 312 + #define MT8516_PIN_44_JTMS__FUNC_UDI_TMS_XI (MTK_PIN_NO(44) | 6) 313 + 314 + #define MT8516_PIN_45_JTCK__FUNC_GPIO45 (MTK_PIN_NO(45) | 0) 315 + #define MT8516_PIN_45_JTCK__FUNC_JTCK (MTK_PIN_NO(45) | 1) 316 + #define MT8516_PIN_45_JTCK__FUNC_CONN_MCU_TCK (MTK_PIN_NO(45) | 2) 317 + #define MT8516_PIN_45_JTCK__FUNC_CONN_MCU_AICE_JCKC (MTK_PIN_NO(45) | 3) 318 + 319 + #define MT8516_PIN_46_JTDI__FUNC_GPIO46 (MTK_PIN_NO(46) | 0) 320 + #define MT8516_PIN_46_JTDI__FUNC_JTDI (MTK_PIN_NO(46) | 1) 321 + #define MT8516_PIN_46_JTDI__FUNC_CONN_MCU_TDI (MTK_PIN_NO(46) | 2) 322 + 323 + #define MT8516_PIN_47_JTDO__FUNC_GPIO47 (MTK_PIN_NO(47) | 0) 324 + #define MT8516_PIN_47_JTDO__FUNC_JTDO (MTK_PIN_NO(47) | 1) 325 + #define MT8516_PIN_47_JTDO__FUNC_CONN_MCU_TDO (MTK_PIN_NO(47) | 2) 326 + 327 + #define MT8516_PIN_48_SPI_CS__FUNC_GPIO48 (MTK_PIN_NO(48) | 0) 328 + #define MT8516_PIN_48_SPI_CS__FUNC_SPI_CSB (MTK_PIN_NO(48) | 1) 329 + #define MT8516_PIN_48_SPI_CS__FUNC_I2S0_DI (MTK_PIN_NO(48) | 3) 330 + #define MT8516_PIN_48_SPI_CS__FUNC_I2S2_BCK (MTK_PIN_NO(48) | 4) 331 + #define MT8516_PIN_48_SPI_CS__FUNC_DBG_MON_A_23 (MTK_PIN_NO(48) | 7) 332 + 333 + #define MT8516_PIN_49_SPI_CK__FUNC_GPIO49 (MTK_PIN_NO(49) | 0) 334 + #define MT8516_PIN_49_SPI_CK__FUNC_SPI_CLK (MTK_PIN_NO(49) | 1) 335 + #define MT8516_PIN_49_SPI_CK__FUNC_I2S0_LRCK (MTK_PIN_NO(49) | 3) 336 + #define MT8516_PIN_49_SPI_CK__FUNC_I2S2_DI (MTK_PIN_NO(49) | 4) 337 + #define MT8516_PIN_49_SPI_CK__FUNC_DBG_MON_A_24 (MTK_PIN_NO(49) | 7) 338 + 339 + #define MT8516_PIN_50_SPI_MI__FUNC_GPIO50 (MTK_PIN_NO(50) | 0) 340 + #define MT8516_PIN_50_SPI_MI__FUNC_SPI_MI (MTK_PIN_NO(50) | 1) 341 + #define MT8516_PIN_50_SPI_MI__FUNC_SPI_MO (MTK_PIN_NO(50) | 2) 342 + #define MT8516_PIN_50_SPI_MI__FUNC_I2S0_BCK (MTK_PIN_NO(50) | 3) 343 + #define MT8516_PIN_50_SPI_MI__FUNC_I2S2_LRCK (MTK_PIN_NO(50) | 4) 344 + #define MT8516_PIN_50_SPI_MI__FUNC_DBG_MON_A_25 (MTK_PIN_NO(50) | 7) 345 + 346 + #define MT8516_PIN_51_SPI_MO__FUNC_GPIO51 (MTK_PIN_NO(51) | 0) 347 + #define MT8516_PIN_51_SPI_MO__FUNC_SPI_MO (MTK_PIN_NO(51) | 1) 348 + #define MT8516_PIN_51_SPI_MO__FUNC_SPI_MI (MTK_PIN_NO(51) | 2) 349 + #define MT8516_PIN_51_SPI_MO__FUNC_I2S0_MCK (MTK_PIN_NO(51) | 3) 350 + #define MT8516_PIN_51_SPI_MO__FUNC_I2S2_MCK (MTK_PIN_NO(51) | 4) 351 + #define MT8516_PIN_51_SPI_MO__FUNC_DBG_MON_A_26 (MTK_PIN_NO(51) | 7) 352 + 353 + #define MT8516_PIN_52_SDA1__FUNC_GPIO52 (MTK_PIN_NO(52) | 0) 354 + #define MT8516_PIN_52_SDA1__FUNC_SDA1_0 (MTK_PIN_NO(52) | 1) 355 + 356 + #define MT8516_PIN_53_SCL1__FUNC_GPIO53 (MTK_PIN_NO(53) | 0) 357 + #define MT8516_PIN_53_SCL1__FUNC_SCL1_0 (MTK_PIN_NO(53) | 1) 358 + 359 + #define MT8516_PIN_54_GPIO54__FUNC_GPIO54 (MTK_PIN_NO(54) | 0) 360 + #define MT8516_PIN_54_GPIO54__FUNC_PWM_B (MTK_PIN_NO(54) | 2) 361 + #define MT8516_PIN_54_GPIO54__FUNC_DBG_MON_B_2 (MTK_PIN_NO(54) | 7) 362 + 363 + #define MT8516_PIN_55_I2S_DATA_IN__FUNC_GPIO55 (MTK_PIN_NO(55) | 0) 364 + #define MT8516_PIN_55_I2S_DATA_IN__FUNC_I2S0_DI (MTK_PIN_NO(55) | 1) 365 + #define MT8516_PIN_55_I2S_DATA_IN__FUNC_UCTS0 (MTK_PIN_NO(55) | 2) 366 + #define MT8516_PIN_55_I2S_DATA_IN__FUNC_I2S3_DO (MTK_PIN_NO(55) | 3) 367 + #define MT8516_PIN_55_I2S_DATA_IN__FUNC_I2S_8CH_DO1 (MTK_PIN_NO(55) | 4) 368 + #define MT8516_PIN_55_I2S_DATA_IN__FUNC_PWM_A (MTK_PIN_NO(55) | 5) 369 + #define MT8516_PIN_55_I2S_DATA_IN__FUNC_I2S2_BCK (MTK_PIN_NO(55) | 6) 370 + #define MT8516_PIN_55_I2S_DATA_IN__FUNC_DBG_MON_A_28 (MTK_PIN_NO(55) | 7) 371 + 372 + #define MT8516_PIN_56_I2S_LRCK__FUNC_GPIO56 (MTK_PIN_NO(56) | 0) 373 + #define MT8516_PIN_56_I2S_LRCK__FUNC_I2S0_LRCK (MTK_PIN_NO(56) | 1) 374 + #define MT8516_PIN_56_I2S_LRCK__FUNC_I2S3_LRCK (MTK_PIN_NO(56) | 3) 375 + #define MT8516_PIN_56_I2S_LRCK__FUNC_I2S_8CH_LRCK (MTK_PIN_NO(56) | 4) 376 + #define MT8516_PIN_56_I2S_LRCK__FUNC_PWM_B (MTK_PIN_NO(56) | 5) 377 + #define MT8516_PIN_56_I2S_LRCK__FUNC_I2S2_DI (MTK_PIN_NO(56) | 6) 378 + #define MT8516_PIN_56_I2S_LRCK__FUNC_DBG_MON_A_29 (MTK_PIN_NO(56) | 7) 379 + 380 + #define MT8516_PIN_57_I2S_BCK__FUNC_GPIO57 (MTK_PIN_NO(57) | 0) 381 + #define MT8516_PIN_57_I2S_BCK__FUNC_I2S0_BCK (MTK_PIN_NO(57) | 1) 382 + #define MT8516_PIN_57_I2S_BCK__FUNC_URTS0 (MTK_PIN_NO(57) | 2) 383 + #define MT8516_PIN_57_I2S_BCK__FUNC_I2S3_BCK (MTK_PIN_NO(57) | 3) 384 + #define MT8516_PIN_57_I2S_BCK__FUNC_I2S_8CH_BCK (MTK_PIN_NO(57) | 4) 385 + #define MT8516_PIN_57_I2S_BCK__FUNC_PWM_C (MTK_PIN_NO(57) | 5) 386 + #define MT8516_PIN_57_I2S_BCK__FUNC_I2S2_LRCK (MTK_PIN_NO(57) | 6) 387 + #define MT8516_PIN_57_I2S_BCK__FUNC_DBG_MON_A_30 (MTK_PIN_NO(57) | 7) 388 + 389 + #define MT8516_PIN_58_SDA0__FUNC_GPIO58 (MTK_PIN_NO(58) | 0) 390 + #define MT8516_PIN_58_SDA0__FUNC_SDA0_0 (MTK_PIN_NO(58) | 1) 391 + 392 + #define MT8516_PIN_59_SCL0__FUNC_GPIO59 (MTK_PIN_NO(59) | 0) 393 + #define MT8516_PIN_59_SCL0__FUNC_SCL0_0 (MTK_PIN_NO(59) | 1) 394 + 395 + #define MT8516_PIN_60_SDA2__FUNC_GPIO60 (MTK_PIN_NO(60) | 0) 396 + #define MT8516_PIN_60_SDA2__FUNC_SDA2_0 (MTK_PIN_NO(60) | 1) 397 + #define MT8516_PIN_60_SDA2__FUNC_PWM_B (MTK_PIN_NO(60) | 2) 398 + 399 + #define MT8516_PIN_61_SCL2__FUNC_GPIO61 (MTK_PIN_NO(61) | 0) 400 + #define MT8516_PIN_61_SCL2__FUNC_SCL2_0 (MTK_PIN_NO(61) | 1) 401 + #define MT8516_PIN_61_SCL2__FUNC_PWM_C (MTK_PIN_NO(61) | 2) 402 + 403 + #define MT8516_PIN_62_URXD0__FUNC_GPIO62 (MTK_PIN_NO(62) | 0) 404 + #define MT8516_PIN_62_URXD0__FUNC_URXD0 (MTK_PIN_NO(62) | 1) 405 + #define MT8516_PIN_62_URXD0__FUNC_UTXD0 (MTK_PIN_NO(62) | 2) 406 + 407 + #define MT8516_PIN_63_UTXD0__FUNC_GPIO63 (MTK_PIN_NO(63) | 0) 408 + #define MT8516_PIN_63_UTXD0__FUNC_UTXD0 (MTK_PIN_NO(63) | 1) 409 + #define MT8516_PIN_63_UTXD0__FUNC_URXD0 (MTK_PIN_NO(63) | 2) 410 + 411 + #define MT8516_PIN_64_URXD1__FUNC_GPIO64 (MTK_PIN_NO(64) | 0) 412 + #define MT8516_PIN_64_URXD1__FUNC_URXD1 (MTK_PIN_NO(64) | 1) 413 + #define MT8516_PIN_64_URXD1__FUNC_UTXD1 (MTK_PIN_NO(64) | 2) 414 + #define MT8516_PIN_64_URXD1__FUNC_DBG_MON_A_27 (MTK_PIN_NO(64) | 7) 415 + 416 + #define MT8516_PIN_65_UTXD1__FUNC_GPIO65 (MTK_PIN_NO(65) | 0) 417 + #define MT8516_PIN_65_UTXD1__FUNC_UTXD1 (MTK_PIN_NO(65) | 1) 418 + #define MT8516_PIN_65_UTXD1__FUNC_URXD1 (MTK_PIN_NO(65) | 2) 419 + #define MT8516_PIN_65_UTXD1__FUNC_DBG_MON_A_31 (MTK_PIN_NO(65) | 7) 420 + 421 + #define MT8516_PIN_68_MSDC2_CMD__FUNC_GPIO68 (MTK_PIN_NO(68) | 0) 422 + #define MT8516_PIN_68_MSDC2_CMD__FUNC_MSDC2_CMD (MTK_PIN_NO(68) | 1) 423 + #define MT8516_PIN_68_MSDC2_CMD__FUNC_I2S_8CH_DO4 (MTK_PIN_NO(68) | 2) 424 + #define MT8516_PIN_68_MSDC2_CMD__FUNC_SDA1_0 (MTK_PIN_NO(68) | 3) 425 + #define MT8516_PIN_68_MSDC2_CMD__FUNC_USB_SDA (MTK_PIN_NO(68) | 5) 426 + #define MT8516_PIN_68_MSDC2_CMD__FUNC_I2S3_BCK (MTK_PIN_NO(68) | 6) 427 + #define MT8516_PIN_68_MSDC2_CMD__FUNC_DBG_MON_B_15 (MTK_PIN_NO(68) | 7) 428 + 429 + #define MT8516_PIN_69_MSDC2_CLK__FUNC_GPIO69 (MTK_PIN_NO(69) | 0) 430 + #define MT8516_PIN_69_MSDC2_CLK__FUNC_MSDC2_CLK (MTK_PIN_NO(69) | 1) 431 + #define MT8516_PIN_69_MSDC2_CLK__FUNC_I2S_8CH_DO3 (MTK_PIN_NO(69) | 2) 432 + #define MT8516_PIN_69_MSDC2_CLK__FUNC_SCL1_0 (MTK_PIN_NO(69) | 3) 433 + #define MT8516_PIN_69_MSDC2_CLK__FUNC_USB_SCL (MTK_PIN_NO(69) | 5) 434 + #define MT8516_PIN_69_MSDC2_CLK__FUNC_I2S3_LRCK (MTK_PIN_NO(69) | 6) 435 + #define MT8516_PIN_69_MSDC2_CLK__FUNC_DBG_MON_B_16 (MTK_PIN_NO(69) | 7) 436 + 437 + #define MT8516_PIN_70_MSDC2_DAT0__FUNC_GPIO70 (MTK_PIN_NO(70) | 0) 438 + #define MT8516_PIN_70_MSDC2_DAT0__FUNC_MSDC2_DAT0 (MTK_PIN_NO(70) | 1) 439 + #define MT8516_PIN_70_MSDC2_DAT0__FUNC_I2S_8CH_DO2 (MTK_PIN_NO(70) | 2) 440 + #define MT8516_PIN_70_MSDC2_DAT0__FUNC_UTXD0 (MTK_PIN_NO(70) | 5) 441 + #define MT8516_PIN_70_MSDC2_DAT0__FUNC_I2S3_DO (MTK_PIN_NO(70) | 6) 442 + #define MT8516_PIN_70_MSDC2_DAT0__FUNC_DBG_MON_B_17 (MTK_PIN_NO(70) | 7) 443 + 444 + #define MT8516_PIN_71_MSDC2_DAT1__FUNC_GPIO71 (MTK_PIN_NO(71) | 0) 445 + #define MT8516_PIN_71_MSDC2_DAT1__FUNC_MSDC2_DAT1 (MTK_PIN_NO(71) | 1) 446 + #define MT8516_PIN_71_MSDC2_DAT1__FUNC_I2S_8CH_DO1 (MTK_PIN_NO(71) | 2) 447 + #define MT8516_PIN_71_MSDC2_DAT1__FUNC_PWM_A (MTK_PIN_NO(71) | 3) 448 + #define MT8516_PIN_71_MSDC2_DAT1__FUNC_I2S3_MCK (MTK_PIN_NO(71) | 4) 449 + #define MT8516_PIN_71_MSDC2_DAT1__FUNC_URXD0 (MTK_PIN_NO(71) | 5) 450 + #define MT8516_PIN_71_MSDC2_DAT1__FUNC_PWM_B (MTK_PIN_NO(71) | 6) 451 + #define MT8516_PIN_71_MSDC2_DAT1__FUNC_DBG_MON_B_18 (MTK_PIN_NO(71) | 7) 452 + 453 + #define MT8516_PIN_72_MSDC2_DAT2__FUNC_GPIO72 (MTK_PIN_NO(72) | 0) 454 + #define MT8516_PIN_72_MSDC2_DAT2__FUNC_MSDC2_DAT2 (MTK_PIN_NO(72) | 1) 455 + #define MT8516_PIN_72_MSDC2_DAT2__FUNC_I2S_8CH_LRCK (MTK_PIN_NO(72) | 2) 456 + #define MT8516_PIN_72_MSDC2_DAT2__FUNC_SDA2_0 (MTK_PIN_NO(72) | 3) 457 + #define MT8516_PIN_72_MSDC2_DAT2__FUNC_UTXD1 (MTK_PIN_NO(72) | 5) 458 + #define MT8516_PIN_72_MSDC2_DAT2__FUNC_PWM_C (MTK_PIN_NO(72) | 6) 459 + #define MT8516_PIN_72_MSDC2_DAT2__FUNC_DBG_MON_B_19 (MTK_PIN_NO(72) | 7) 460 + 461 + #define MT8516_PIN_73_MSDC2_DAT3__FUNC_GPIO73 (MTK_PIN_NO(73) | 0) 462 + #define MT8516_PIN_73_MSDC2_DAT3__FUNC_MSDC2_DAT3 (MTK_PIN_NO(73) | 1) 463 + #define MT8516_PIN_73_MSDC2_DAT3__FUNC_I2S_8CH_BCK (MTK_PIN_NO(73) | 2) 464 + #define MT8516_PIN_73_MSDC2_DAT3__FUNC_SCL2_0 (MTK_PIN_NO(73) | 3) 465 + #define MT8516_PIN_73_MSDC2_DAT3__FUNC_EXT_FRAME_SYNC (MTK_PIN_NO(73) | 4) 466 + #define MT8516_PIN_73_MSDC2_DAT3__FUNC_URXD1 (MTK_PIN_NO(73) | 5) 467 + #define MT8516_PIN_73_MSDC2_DAT3__FUNC_PWM_A (MTK_PIN_NO(73) | 6) 468 + #define MT8516_PIN_73_MSDC2_DAT3__FUNC_DBG_MON_B_20 (MTK_PIN_NO(73) | 7) 469 + 470 + #define MT8516_PIN_74_TDN3__FUNC_GPI74 (MTK_PIN_NO(74) | 0) 471 + #define MT8516_PIN_74_TDN3__FUNC_TDN3 (MTK_PIN_NO(74) | 1) 472 + 473 + #define MT8516_PIN_75_TDP3__FUNC_GPI75 (MTK_PIN_NO(75) | 0) 474 + #define MT8516_PIN_75_TDP3__FUNC_TDP3 (MTK_PIN_NO(75) | 1) 475 + 476 + #define MT8516_PIN_76_TDN2__FUNC_GPI76 (MTK_PIN_NO(76) | 0) 477 + #define MT8516_PIN_76_TDN2__FUNC_TDN2 (MTK_PIN_NO(76) | 1) 478 + 479 + #define MT8516_PIN_77_TDP2__FUNC_GPI77 (MTK_PIN_NO(77) | 0) 480 + #define MT8516_PIN_77_TDP2__FUNC_TDP2 (MTK_PIN_NO(77) | 1) 481 + 482 + #define MT8516_PIN_78_TCN__FUNC_GPI78 (MTK_PIN_NO(78) | 0) 483 + #define MT8516_PIN_78_TCN__FUNC_TCN (MTK_PIN_NO(78) | 1) 484 + 485 + #define MT8516_PIN_79_TCP__FUNC_GPI79 (MTK_PIN_NO(79) | 0) 486 + #define MT8516_PIN_79_TCP__FUNC_TCP (MTK_PIN_NO(79) | 1) 487 + 488 + #define MT8516_PIN_80_TDN1__FUNC_GPI80 (MTK_PIN_NO(80) | 0) 489 + #define MT8516_PIN_80_TDN1__FUNC_TDN1 (MTK_PIN_NO(80) | 1) 490 + 491 + #define MT8516_PIN_81_TDP1__FUNC_GPI81 (MTK_PIN_NO(81) | 0) 492 + #define MT8516_PIN_81_TDP1__FUNC_TDP1 (MTK_PIN_NO(81) | 1) 493 + 494 + #define MT8516_PIN_82_TDN0__FUNC_GPI82 (MTK_PIN_NO(82) | 0) 495 + #define MT8516_PIN_82_TDN0__FUNC_TDN0 (MTK_PIN_NO(82) | 1) 496 + 497 + #define MT8516_PIN_83_TDP0__FUNC_GPI83 (MTK_PIN_NO(83) | 0) 498 + #define MT8516_PIN_83_TDP0__FUNC_TDP0 (MTK_PIN_NO(83) | 1) 499 + 500 + #define MT8516_PIN_84_RDN0__FUNC_GPI84 (MTK_PIN_NO(84) | 0) 501 + #define MT8516_PIN_84_RDN0__FUNC_RDN0 (MTK_PIN_NO(84) | 1) 502 + 503 + #define MT8516_PIN_85_RDP0__FUNC_GPI85 (MTK_PIN_NO(85) | 0) 504 + #define MT8516_PIN_85_RDP0__FUNC_RDP0 (MTK_PIN_NO(85) | 1) 505 + 506 + #define MT8516_PIN_86_RDN1__FUNC_GPI86 (MTK_PIN_NO(86) | 0) 507 + #define MT8516_PIN_86_RDN1__FUNC_RDN1 (MTK_PIN_NO(86) | 1) 508 + 509 + #define MT8516_PIN_87_RDP1__FUNC_GPI87 (MTK_PIN_NO(87) | 0) 510 + #define MT8516_PIN_87_RDP1__FUNC_RDP1 (MTK_PIN_NO(87) | 1) 511 + 512 + #define MT8516_PIN_88_RCN__FUNC_GPI88 (MTK_PIN_NO(88) | 0) 513 + #define MT8516_PIN_88_RCN__FUNC_RCN (MTK_PIN_NO(88) | 1) 514 + 515 + #define MT8516_PIN_89_RCP__FUNC_GPI89 (MTK_PIN_NO(89) | 0) 516 + #define MT8516_PIN_89_RCP__FUNC_RCP (MTK_PIN_NO(89) | 1) 517 + 518 + #define MT8516_PIN_90_RDN2__FUNC_GPI90 (MTK_PIN_NO(90) | 0) 519 + #define MT8516_PIN_90_RDN2__FUNC_RDN2 (MTK_PIN_NO(90) | 1) 520 + #define MT8516_PIN_90_RDN2__FUNC_CMDAT8 (MTK_PIN_NO(90) | 2) 521 + 522 + #define MT8516_PIN_91_RDP2__FUNC_GPI91 (MTK_PIN_NO(91) | 0) 523 + #define MT8516_PIN_91_RDP2__FUNC_RDP2 (MTK_PIN_NO(91) | 1) 524 + #define MT8516_PIN_91_RDP2__FUNC_CMDAT9 (MTK_PIN_NO(91) | 2) 525 + 526 + #define MT8516_PIN_92_RDN3__FUNC_GPI92 (MTK_PIN_NO(92) | 0) 527 + #define MT8516_PIN_92_RDN3__FUNC_RDN3 (MTK_PIN_NO(92) | 1) 528 + #define MT8516_PIN_92_RDN3__FUNC_CMDAT4 (MTK_PIN_NO(92) | 2) 529 + 530 + #define MT8516_PIN_93_RDP3__FUNC_GPI93 (MTK_PIN_NO(93) | 0) 531 + #define MT8516_PIN_93_RDP3__FUNC_RDP3 (MTK_PIN_NO(93) | 1) 532 + #define MT8516_PIN_93_RDP3__FUNC_CMDAT5 (MTK_PIN_NO(93) | 2) 533 + 534 + #define MT8516_PIN_94_RCN_A__FUNC_GPI94 (MTK_PIN_NO(94) | 0) 535 + #define MT8516_PIN_94_RCN_A__FUNC_RCN_A (MTK_PIN_NO(94) | 1) 536 + #define MT8516_PIN_94_RCN_A__FUNC_CMDAT6 (MTK_PIN_NO(94) | 2) 537 + 538 + #define MT8516_PIN_95_RCP_A__FUNC_GPI95 (MTK_PIN_NO(95) | 0) 539 + #define MT8516_PIN_95_RCP_A__FUNC_RCP_A (MTK_PIN_NO(95) | 1) 540 + #define MT8516_PIN_95_RCP_A__FUNC_CMDAT7 (MTK_PIN_NO(95) | 2) 541 + 542 + #define MT8516_PIN_96_RDN1_A__FUNC_GPI96 (MTK_PIN_NO(96) | 0) 543 + #define MT8516_PIN_96_RDN1_A__FUNC_RDN1_A (MTK_PIN_NO(96) | 1) 544 + #define MT8516_PIN_96_RDN1_A__FUNC_CMDAT2 (MTK_PIN_NO(96) | 2) 545 + #define MT8516_PIN_96_RDN1_A__FUNC_CMCSD2 (MTK_PIN_NO(96) | 3) 546 + 547 + #define MT8516_PIN_97_RDP1_A__FUNC_GPI97 (MTK_PIN_NO(97) | 0) 548 + #define MT8516_PIN_97_RDP1_A__FUNC_RDP1_A (MTK_PIN_NO(97) | 1) 549 + #define MT8516_PIN_97_RDP1_A__FUNC_CMDAT3 (MTK_PIN_NO(97) | 2) 550 + #define MT8516_PIN_97_RDP1_A__FUNC_CMCSD3 (MTK_PIN_NO(97) | 3) 551 + 552 + #define MT8516_PIN_98_RDN0_A__FUNC_GPI98 (MTK_PIN_NO(98) | 0) 553 + #define MT8516_PIN_98_RDN0_A__FUNC_RDN0_A (MTK_PIN_NO(98) | 1) 554 + #define MT8516_PIN_98_RDN0_A__FUNC_CMHSYNC (MTK_PIN_NO(98) | 2) 555 + 556 + #define MT8516_PIN_99_RDP0_A__FUNC_GPI99 (MTK_PIN_NO(99) | 0) 557 + #define MT8516_PIN_99_RDP0_A__FUNC_RDP0_A (MTK_PIN_NO(99) | 1) 558 + #define MT8516_PIN_99_RDP0_A__FUNC_CMVSYNC (MTK_PIN_NO(99) | 2) 559 + 560 + #define MT8516_PIN_100_CMDAT0__FUNC_GPIO100 (MTK_PIN_NO(100) | 0) 561 + #define MT8516_PIN_100_CMDAT0__FUNC_CMDAT0 (MTK_PIN_NO(100) | 1) 562 + #define MT8516_PIN_100_CMDAT0__FUNC_CMCSD0 (MTK_PIN_NO(100) | 2) 563 + #define MT8516_PIN_100_CMDAT0__FUNC_ANT_SEL2 (MTK_PIN_NO(100) | 3) 564 + #define MT8516_PIN_100_CMDAT0__FUNC_TDM_RX_MCK (MTK_PIN_NO(100) | 5) 565 + #define MT8516_PIN_100_CMDAT0__FUNC_DBG_MON_B_21 (MTK_PIN_NO(100) | 7) 566 + 567 + #define MT8516_PIN_101_CMDAT1__FUNC_GPIO101 (MTK_PIN_NO(101) | 0) 568 + #define MT8516_PIN_101_CMDAT1__FUNC_CMDAT1 (MTK_PIN_NO(101) | 1) 569 + #define MT8516_PIN_101_CMDAT1__FUNC_CMCSD1 (MTK_PIN_NO(101) | 2) 570 + #define MT8516_PIN_101_CMDAT1__FUNC_ANT_SEL3 (MTK_PIN_NO(101) | 3) 571 + #define MT8516_PIN_101_CMDAT1__FUNC_CMFLASH (MTK_PIN_NO(101) | 4) 572 + #define MT8516_PIN_101_CMDAT1__FUNC_TDM_RX_BCK (MTK_PIN_NO(101) | 5) 573 + #define MT8516_PIN_101_CMDAT1__FUNC_DBG_MON_B_22 (MTK_PIN_NO(101) | 7) 574 + 575 + #define MT8516_PIN_102_CMMCLK__FUNC_GPIO102 (MTK_PIN_NO(102) | 0) 576 + #define MT8516_PIN_102_CMMCLK__FUNC_CMMCLK (MTK_PIN_NO(102) | 1) 577 + #define MT8516_PIN_102_CMMCLK__FUNC_ANT_SEL4 (MTK_PIN_NO(102) | 3) 578 + #define MT8516_PIN_102_CMMCLK__FUNC_TDM_RX_LRCK (MTK_PIN_NO(102) | 5) 579 + #define MT8516_PIN_102_CMMCLK__FUNC_DBG_MON_B_23 (MTK_PIN_NO(102) | 7) 580 + 581 + #define MT8516_PIN_103_CMPCLK__FUNC_GPIO103 (MTK_PIN_NO(103) | 0) 582 + #define MT8516_PIN_103_CMPCLK__FUNC_CMPCLK (MTK_PIN_NO(103) | 1) 583 + #define MT8516_PIN_103_CMPCLK__FUNC_CMCSK (MTK_PIN_NO(103) | 2) 584 + #define MT8516_PIN_103_CMPCLK__FUNC_ANT_SEL5 (MTK_PIN_NO(103) | 3) 585 + #define MT8516_PIN_103_CMPCLK__FUNC_TDM_RX_DI (MTK_PIN_NO(103) | 5) 586 + #define MT8516_PIN_103_CMPCLK__FUNC_DBG_MON_B_24 (MTK_PIN_NO(103) | 7) 587 + 588 + #define MT8516_PIN_104_MSDC1_CMD__FUNC_GPIO104 (MTK_PIN_NO(104) | 0) 589 + #define MT8516_PIN_104_MSDC1_CMD__FUNC_MSDC1_CMD (MTK_PIN_NO(104) | 1) 590 + #define MT8516_PIN_104_MSDC1_CMD__FUNC_SQICS (MTK_PIN_NO(104) | 4) 591 + #define MT8516_PIN_104_MSDC1_CMD__FUNC_DBG_MON_B_25 (MTK_PIN_NO(104) | 7) 592 + 593 + #define MT8516_PIN_105_MSDC1_CLK__FUNC_GPIO105 (MTK_PIN_NO(105) | 0) 594 + #define MT8516_PIN_105_MSDC1_CLK__FUNC_MSDC1_CLK (MTK_PIN_NO(105) | 1) 595 + #define MT8516_PIN_105_MSDC1_CLK__FUNC_SQISO (MTK_PIN_NO(105) | 4) 596 + #define MT8516_PIN_105_MSDC1_CLK__FUNC_DBG_MON_B_26 (MTK_PIN_NO(105) | 7) 597 + 598 + #define MT8516_PIN_106_MSDC1_DAT0__FUNC_GPIO106 (MTK_PIN_NO(106) | 0) 599 + #define MT8516_PIN_106_MSDC1_DAT0__FUNC_MSDC1_DAT0 (MTK_PIN_NO(106) | 1) 600 + #define MT8516_PIN_106_MSDC1_DAT0__FUNC_SQISI (MTK_PIN_NO(106) | 4) 601 + #define MT8516_PIN_106_MSDC1_DAT0__FUNC_DBG_MON_B_27 (MTK_PIN_NO(106) | 7) 602 + 603 + #define MT8516_PIN_107_MSDC1_DAT1__FUNC_GPIO107 (MTK_PIN_NO(107) | 0) 604 + #define MT8516_PIN_107_MSDC1_DAT1__FUNC_MSDC1_DAT1 (MTK_PIN_NO(107) | 1) 605 + #define MT8516_PIN_107_MSDC1_DAT1__FUNC_SQIWP (MTK_PIN_NO(107) | 4) 606 + #define MT8516_PIN_107_MSDC1_DAT1__FUNC_DBG_MON_B_28 (MTK_PIN_NO(107) | 7) 607 + 608 + #define MT8516_PIN_108_MSDC1_DAT2__FUNC_GPIO108 (MTK_PIN_NO(108) | 0) 609 + #define MT8516_PIN_108_MSDC1_DAT2__FUNC_MSDC1_DAT2 (MTK_PIN_NO(108) | 1) 610 + #define MT8516_PIN_108_MSDC1_DAT2__FUNC_SQIRST (MTK_PIN_NO(108) | 4) 611 + #define MT8516_PIN_108_MSDC1_DAT2__FUNC_DBG_MON_B_29 (MTK_PIN_NO(108) | 7) 612 + 613 + #define MT8516_PIN_109_MSDC1_DAT3__FUNC_GPIO109 (MTK_PIN_NO(109) | 0) 614 + #define MT8516_PIN_109_MSDC1_DAT3__FUNC_MSDC1_DAT3 (MTK_PIN_NO(109) | 1) 615 + #define MT8516_PIN_109_MSDC1_DAT3__FUNC_SQICK (MTK_PIN_NO(109) | 4) 616 + #define MT8516_PIN_109_MSDC1_DAT3__FUNC_DBG_MON_B_30 (MTK_PIN_NO(109) | 7) 617 + 618 + #define MT8516_PIN_110_MSDC0_DAT7__FUNC_GPIO110 (MTK_PIN_NO(110) | 0) 619 + #define MT8516_PIN_110_MSDC0_DAT7__FUNC_MSDC0_DAT7 (MTK_PIN_NO(110) | 1) 620 + #define MT8516_PIN_110_MSDC0_DAT7__FUNC_NLD7 (MTK_PIN_NO(110) | 4) 621 + 622 + #define MT8516_PIN_111_MSDC0_DAT6__FUNC_GPIO111 (MTK_PIN_NO(111) | 0) 623 + #define MT8516_PIN_111_MSDC0_DAT6__FUNC_MSDC0_DAT6 (MTK_PIN_NO(111) | 1) 624 + #define MT8516_PIN_111_MSDC0_DAT6__FUNC_NLD6 (MTK_PIN_NO(111) | 4) 625 + 626 + #define MT8516_PIN_112_MSDC0_DAT5__FUNC_GPIO112 (MTK_PIN_NO(112) | 0) 627 + #define MT8516_PIN_112_MSDC0_DAT5__FUNC_MSDC0_DAT5 (MTK_PIN_NO(112) | 1) 628 + #define MT8516_PIN_112_MSDC0_DAT5__FUNC_NLD4 (MTK_PIN_NO(112) | 4) 629 + 630 + #define MT8516_PIN_113_MSDC0_DAT4__FUNC_GPIO113 (MTK_PIN_NO(113) | 0) 631 + #define MT8516_PIN_113_MSDC0_DAT4__FUNC_MSDC0_DAT4 (MTK_PIN_NO(113) | 1) 632 + #define MT8516_PIN_113_MSDC0_DAT4__FUNC_NLD3 (MTK_PIN_NO(113) | 4) 633 + 634 + #define MT8516_PIN_114_MSDC0_RSTB__FUNC_GPIO114 (MTK_PIN_NO(114) | 0) 635 + #define MT8516_PIN_114_MSDC0_RSTB__FUNC_MSDC0_RSTB (MTK_PIN_NO(114) | 1) 636 + #define MT8516_PIN_114_MSDC0_RSTB__FUNC_NLD0 (MTK_PIN_NO(114) | 4) 637 + 638 + #define MT8516_PIN_115_MSDC0_CMD__FUNC_GPIO115 (MTK_PIN_NO(115) | 0) 639 + #define MT8516_PIN_115_MSDC0_CMD__FUNC_MSDC0_CMD (MTK_PIN_NO(115) | 1) 640 + #define MT8516_PIN_115_MSDC0_CMD__FUNC_NALE (MTK_PIN_NO(115) | 4) 641 + 642 + #define MT8516_PIN_116_MSDC0_CLK__FUNC_GPIO116 (MTK_PIN_NO(116) | 0) 643 + #define MT8516_PIN_116_MSDC0_CLK__FUNC_MSDC0_CLK (MTK_PIN_NO(116) | 1) 644 + #define MT8516_PIN_116_MSDC0_CLK__FUNC_NWEB (MTK_PIN_NO(116) | 4) 645 + 646 + #define MT8516_PIN_117_MSDC0_DAT3__FUNC_GPIO117 (MTK_PIN_NO(117) | 0) 647 + #define MT8516_PIN_117_MSDC0_DAT3__FUNC_MSDC0_DAT3 (MTK_PIN_NO(117) | 1) 648 + #define MT8516_PIN_117_MSDC0_DAT3__FUNC_NLD1 (MTK_PIN_NO(117) | 4) 649 + 650 + #define MT8516_PIN_118_MSDC0_DAT2__FUNC_GPIO118 (MTK_PIN_NO(118) | 0) 651 + #define MT8516_PIN_118_MSDC0_DAT2__FUNC_MSDC0_DAT2 (MTK_PIN_NO(118) | 1) 652 + #define MT8516_PIN_118_MSDC0_DAT2__FUNC_NLD5 (MTK_PIN_NO(118) | 4) 653 + 654 + #define MT8516_PIN_119_MSDC0_DAT1__FUNC_GPIO119 (MTK_PIN_NO(119) | 0) 655 + #define MT8516_PIN_119_MSDC0_DAT1__FUNC_MSDC0_DAT1 (MTK_PIN_NO(119) | 1) 656 + #define MT8516_PIN_119_MSDC0_DAT1__FUNC_NLD8 (MTK_PIN_NO(119) | 4) 657 + 658 + #define MT8516_PIN_120_MSDC0_DAT0__FUNC_GPIO120 (MTK_PIN_NO(120) | 0) 659 + #define MT8516_PIN_120_MSDC0_DAT0__FUNC_MSDC0_DAT0 (MTK_PIN_NO(120) | 1) 660 + #define MT8516_PIN_120_MSDC0_DAT0__FUNC_WATCHDOG (MTK_PIN_NO(120) | 4) 661 + #define MT8516_PIN_120_MSDC0_DAT0__FUNC_NLD2 (MTK_PIN_NO(120) | 5) 662 + 663 + #endif /* __DTS_MT8516_PINFUNC_H */
+20
arch/arm64/boot/dts/mediatek/mt8516-pumpkin.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * Copyright (c) 2019 BayLibre, SAS. 4 + * Author: Fabien Parent <fparent@baylibre.com> 5 + */ 6 + 7 + /dts-v1/; 8 + 9 + #include "mt8516.dtsi" 10 + #include "pumpkin-common.dtsi" 11 + 12 + / { 13 + model = "Pumpkin MT8516"; 14 + compatible = "mediatek,mt8516"; 15 + 16 + memory@40000000 { 17 + device_type = "memory"; 18 + reg = <0 0x40000000 0 0x40000000>; 19 + }; 20 + };
+457
arch/arm64/boot/dts/mediatek/mt8516.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * Copyright (c) 2019 MediaTek Inc. 4 + * Copyright (c) 2019 BayLibre, SAS. 5 + * Author: Fabien Parent <fparent@baylibre.com> 6 + */ 7 + 8 + #include <dt-bindings/clock/mt8516-clk.h> 9 + #include <dt-bindings/interrupt-controller/arm-gic.h> 10 + #include <dt-bindings/interrupt-controller/irq.h> 11 + #include <dt-bindings/phy/phy.h> 12 + 13 + #include "mt8516-pinfunc.h" 14 + 15 + / { 16 + compatible = "mediatek,mt8516"; 17 + interrupt-parent = <&sysirq>; 18 + #address-cells = <2>; 19 + #size-cells = <2>; 20 + 21 + cluster0_opp: opp-table-0 { 22 + compatible = "operating-points-v2"; 23 + opp-shared; 24 + opp-598000000 { 25 + opp-hz = /bits/ 64 <598000000>; 26 + opp-microvolt = <1150000>; 27 + }; 28 + opp-747500000 { 29 + opp-hz = /bits/ 64 <747500000>; 30 + opp-microvolt = <1150000>; 31 + }; 32 + opp-1040000000 { 33 + opp-hz = /bits/ 64 <1040000000>; 34 + opp-microvolt = <1200000>; 35 + }; 36 + opp-1196000000 { 37 + opp-hz = /bits/ 64 <1196000000>; 38 + opp-microvolt = <1250000>; 39 + }; 40 + opp-1300000000 { 41 + opp-hz = /bits/ 64 <1300000000>; 42 + opp-microvolt = <1300000>; 43 + }; 44 + }; 45 + 46 + cpus { 47 + #address-cells = <1>; 48 + #size-cells = <0>; 49 + 50 + cpu0: cpu@0 { 51 + device_type = "cpu"; 52 + compatible = "arm,cortex-a35"; 53 + reg = <0x0>; 54 + enable-method = "psci"; 55 + cpu-idle-states = <&CLUSTER_SLEEP_0 &CLUSTER_SLEEP_0>, 56 + <&CPU_SLEEP_0_0 &CPU_SLEEP_0_0 &CPU_SLEEP_0_0>; 57 + clocks = <&infracfg CLK_IFR_MUX1_SEL>, 58 + <&topckgen CLK_TOP_MAINPLL_D2>; 59 + clock-names = "cpu", "intermediate"; 60 + operating-points-v2 = <&cluster0_opp>; 61 + }; 62 + 63 + cpu1: cpu@1 { 64 + device_type = "cpu"; 65 + compatible = "arm,cortex-a35"; 66 + reg = <0x1>; 67 + enable-method = "psci"; 68 + cpu-idle-states = <&CLUSTER_SLEEP_0 &CLUSTER_SLEEP_0>, 69 + <&CPU_SLEEP_0_0 &CPU_SLEEP_0_0 &CPU_SLEEP_0_0>; 70 + clocks = <&infracfg CLK_IFR_MUX1_SEL>, 71 + <&topckgen CLK_TOP_MAINPLL_D2>; 72 + clock-names = "cpu", "intermediate"; 73 + operating-points-v2 = <&cluster0_opp>; 74 + }; 75 + 76 + cpu2: cpu@2 { 77 + device_type = "cpu"; 78 + compatible = "arm,cortex-a35"; 79 + reg = <0x2>; 80 + enable-method = "psci"; 81 + cpu-idle-states = <&CLUSTER_SLEEP_0 &CLUSTER_SLEEP_0>, 82 + <&CPU_SLEEP_0_0 &CPU_SLEEP_0_0 &CPU_SLEEP_0_0>; 83 + clocks = <&infracfg CLK_IFR_MUX1_SEL>, 84 + <&topckgen CLK_TOP_MAINPLL_D2>; 85 + clock-names = "cpu", "intermediate"; 86 + operating-points-v2 = <&cluster0_opp>; 87 + }; 88 + 89 + cpu3: cpu@3 { 90 + device_type = "cpu"; 91 + compatible = "arm,cortex-a35"; 92 + reg = <0x3>; 93 + enable-method = "psci"; 94 + cpu-idle-states = <&CLUSTER_SLEEP_0 &CLUSTER_SLEEP_0>, 95 + <&CPU_SLEEP_0_0 &CPU_SLEEP_0_0 &CPU_SLEEP_0_0>; 96 + clocks = <&infracfg CLK_IFR_MUX1_SEL>, 97 + <&topckgen CLK_TOP_MAINPLL_D2>; 98 + clock-names = "cpu", "intermediate", "armpll"; 99 + operating-points-v2 = <&cluster0_opp>; 100 + }; 101 + 102 + idle-states { 103 + entry-method = "psci"; 104 + 105 + CPU_SLEEP_0_0: cpu-sleep-0-0 { 106 + compatible = "arm,idle-state"; 107 + entry-latency-us = <600>; 108 + exit-latency-us = <600>; 109 + min-residency-us = <1200>; 110 + arm,psci-suspend-param = <0x0010000>; 111 + }; 112 + 113 + CLUSTER_SLEEP_0: cluster-sleep-0 { 114 + compatible = "arm,idle-state"; 115 + entry-latency-us = <800>; 116 + exit-latency-us = <1000>; 117 + min-residency-us = <2000>; 118 + arm,psci-suspend-param = <0x2010000>; 119 + }; 120 + }; 121 + }; 122 + 123 + psci { 124 + compatible = "arm,psci-1.0"; 125 + method = "smc"; 126 + }; 127 + 128 + clk26m: clk26m { 129 + compatible = "fixed-clock"; 130 + #clock-cells = <0>; 131 + clock-frequency = <26000000>; 132 + clock-output-names = "clk26m"; 133 + }; 134 + 135 + clk32k: clk32k { 136 + compatible = "fixed-clock"; 137 + #clock-cells = <0>; 138 + clock-frequency = <32000>; 139 + clock-output-names = "clk32k"; 140 + }; 141 + 142 + reserved-memory { 143 + #address-cells = <2>; 144 + #size-cells = <2>; 145 + ranges; 146 + 147 + /* 128 KiB reserved for ARM Trusted Firmware (BL31) */ 148 + bl31_secmon_reserved: secmon@43000000 { 149 + no-map; 150 + reg = <0 0x43000000 0 0x20000>; 151 + }; 152 + }; 153 + 154 + timer { 155 + compatible = "arm,armv8-timer"; 156 + interrupt-parent = <&gic>; 157 + interrupts = <GIC_PPI 13 158 + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 159 + <GIC_PPI 14 160 + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 161 + <GIC_PPI 11 162 + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 163 + <GIC_PPI 10 164 + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 165 + }; 166 + 167 + pmu { 168 + compatible = "arm,armv8-pmuv3"; 169 + interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_LOW>, 170 + <GIC_SPI 5 IRQ_TYPE_LEVEL_LOW>, 171 + <GIC_SPI 6 IRQ_TYPE_LEVEL_LOW>, 172 + <GIC_SPI 7 IRQ_TYPE_LEVEL_LOW>; 173 + interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 174 + }; 175 + 176 + soc { 177 + #address-cells = <2>; 178 + #size-cells = <2>; 179 + compatible = "simple-bus"; 180 + ranges; 181 + 182 + topckgen: topckgen@10000000 { 183 + compatible = "mediatek,mt8516-topckgen", "syscon"; 184 + reg = <0 0x10000000 0 0x1000>; 185 + #clock-cells = <1>; 186 + }; 187 + 188 + infracfg: infracfg@10001000 { 189 + compatible = "mediatek,mt8516-infracfg", "syscon"; 190 + reg = <0 0x10001000 0 0x1000>; 191 + #clock-cells = <1>; 192 + }; 193 + 194 + apmixedsys: apmixedsys@10018000 { 195 + compatible = "mediatek,mt8516-apmixedsys", "syscon"; 196 + reg = <0 0x10018000 0 0x710>; 197 + #clock-cells = <1>; 198 + }; 199 + 200 + toprgu: toprgu@10007000 { 201 + compatible = "mediatek,mt8516-wdt", 202 + "mediatek,mt6589-wdt"; 203 + reg = <0 0x10007000 0 0x1000>; 204 + interrupts = <GIC_SPI 198 IRQ_TYPE_EDGE_FALLING>; 205 + #reset-cells = <1>; 206 + }; 207 + 208 + timer: timer@10008000 { 209 + compatible = "mediatek,mt8516-timer", 210 + "mediatek,mt6577-timer"; 211 + reg = <0 0x10008000 0 0x1000>; 212 + interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_LOW>; 213 + clocks = <&topckgen CLK_TOP_CLK26M_D2>, 214 + <&topckgen CLK_TOP_APXGPT>; 215 + clock-names = "clk13m", "bus"; 216 + }; 217 + 218 + syscfg_pctl: syscfg-pctl@10005000 { 219 + compatible = "syscon"; 220 + reg = <0 0x10005000 0 0x1000>; 221 + }; 222 + 223 + pio: pinctrl@1000b000 { 224 + compatible = "mediatek,mt8516-pinctrl"; 225 + reg = <0 0x1000b000 0 0x1000>; 226 + mediatek,pctl-regmap = <&syscfg_pctl>; 227 + pins-are-numbered; 228 + gpio-controller; 229 + #gpio-cells = <2>; 230 + interrupt-controller; 231 + #interrupt-cells = <2>; 232 + interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>; 233 + }; 234 + 235 + pwrap: pwrap@1000f000 { 236 + compatible = "mediatek,mt8516-pwrap"; 237 + reg = <0 0x1000f000 0 0x1000>; 238 + reg-names = "pwrap"; 239 + interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_LOW>; 240 + clocks = <&topckgen CLK_TOP_PMICWRAP_26M>, 241 + <&topckgen CLK_TOP_PMICWRAP_AP>; 242 + clock-names = "spi", "wrap"; 243 + }; 244 + 245 + sysirq: interrupt-controller@10200620 { 246 + compatible = "mediatek,mt8516-sysirq", 247 + "mediatek,mt6577-sysirq"; 248 + interrupt-controller; 249 + #interrupt-cells = <3>; 250 + interrupt-parent = <&gic>; 251 + reg = <0 0x10200620 0 0x20>; 252 + }; 253 + 254 + gic: interrupt-controller@10310000 { 255 + compatible = "arm,gic-400"; 256 + #interrupt-cells = <3>; 257 + interrupt-parent = <&gic>; 258 + interrupt-controller; 259 + reg = <0 0x10310000 0 0x1000>, 260 + <0 0x10320000 0 0x1000>, 261 + <0 0x10340000 0 0x2000>, 262 + <0 0x10360000 0 0x2000>; 263 + interrupts = <GIC_PPI 9 264 + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 265 + }; 266 + 267 + uart0: serial@11005000 { 268 + compatible = "mediatek,mt8516-uart", 269 + "mediatek,mt6577-uart"; 270 + reg = <0 0x11005000 0 0x1000>; 271 + interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>; 272 + clocks = <&topckgen CLK_TOP_UART0_SEL>, 273 + <&topckgen CLK_TOP_UART0>; 274 + clock-names = "baud", "bus"; 275 + status = "disabled"; 276 + }; 277 + 278 + uart1: serial@11006000 { 279 + compatible = "mediatek,mt8516-uart", 280 + "mediatek,mt6577-uart"; 281 + reg = <0 0x11006000 0 0x1000>; 282 + interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_LOW>; 283 + clocks = <&topckgen CLK_TOP_UART1_SEL>, 284 + <&topckgen CLK_TOP_UART1>; 285 + clock-names = "baud", "bus"; 286 + status = "disabled"; 287 + }; 288 + 289 + uart2: serial@11007000 { 290 + compatible = "mediatek,mt8516-uart", 291 + "mediatek,mt6577-uart"; 292 + reg = <0 0x11007000 0 0x1000>; 293 + interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_LOW>; 294 + clocks = <&topckgen CLK_TOP_UART2_SEL>, 295 + <&topckgen CLK_TOP_UART2>; 296 + clock-names = "baud", "bus"; 297 + status = "disabled"; 298 + }; 299 + 300 + i2c0: i2c@11009000 { 301 + compatible = "mediatek,mt8516-i2c", 302 + "mediatek,mt2712-i2c"; 303 + reg = <0 0x11009000 0 0x90>, 304 + <0 0x11000180 0 0x80>; 305 + interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_LOW>; 306 + clocks = <&topckgen CLK_TOP_AHB_INFRA_D2>, 307 + <&infracfg CLK_IFR_I2C0_SEL>, 308 + <&topckgen CLK_TOP_I2C0>, 309 + <&topckgen CLK_TOP_APDMA>; 310 + clock-names = "main-source", 311 + "main-sel", 312 + "main", 313 + "dma"; 314 + #address-cells = <1>; 315 + #size-cells = <0>; 316 + status = "disabled"; 317 + }; 318 + 319 + i2c1: i2c@1100a000 { 320 + compatible = "mediatek,mt8516-i2c", 321 + "mediatek,mt2712-i2c"; 322 + reg = <0 0x1100a000 0 0x90>, 323 + <0 0x11000200 0 0x80>; 324 + interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_LOW>; 325 + clocks = <&topckgen CLK_TOP_AHB_INFRA_D2>, 326 + <&infracfg CLK_IFR_I2C1_SEL>, 327 + <&topckgen CLK_TOP_I2C1>, 328 + <&topckgen CLK_TOP_APDMA>; 329 + clock-names = "main-source", 330 + "main-sel", 331 + "main", 332 + "dma"; 333 + #address-cells = <1>; 334 + #size-cells = <0>; 335 + status = "disabled"; 336 + }; 337 + 338 + i2c2: i2c@1100b000 { 339 + compatible = "mediatek,mt8516-i2c", 340 + "mediatek,mt2712-i2c"; 341 + reg = <0 0x1100b000 0 0x90>, 342 + <0 0x11000280 0 0x80>; 343 + interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_LOW>; 344 + clocks = <&topckgen CLK_TOP_AHB_INFRA_D2>, 345 + <&infracfg CLK_IFR_I2C2_SEL>, 346 + <&topckgen CLK_TOP_I2C2>, 347 + <&topckgen CLK_TOP_APDMA>; 348 + clock-names = "main-source", 349 + "main-sel", 350 + "main", 351 + "dma"; 352 + #address-cells = <1>; 353 + #size-cells = <0>; 354 + status = "disabled"; 355 + }; 356 + 357 + spi: spi@1100c000 { 358 + compatible = "mediatek,mt8516-spi", 359 + "mediatek,mt2712-spi"; 360 + #address-cells = <1>; 361 + #size-cells = <0>; 362 + reg = <0 0x1100c000 0 0x1000>; 363 + interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_LOW>; 364 + clocks = <&topckgen CLK_TOP_UNIVPLL_D12>, 365 + <&topckgen CLK_TOP_SPI_SEL>, 366 + <&topckgen CLK_TOP_SPI>; 367 + clock-names = "parent-clk", "sel-clk", "spi-clk"; 368 + status = "disabled"; 369 + }; 370 + 371 + mmc0: mmc@11120000 { 372 + compatible = "mediatek,mt8516-mmc"; 373 + reg = <0 0x11120000 0 0x1000>; 374 + interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_LOW>; 375 + clocks = <&topckgen CLK_TOP_MSDC0>, 376 + <&topckgen CLK_TOP_AHB_INFRA_SEL>, 377 + <&topckgen CLK_TOP_MSDC0_INFRA>; 378 + clock-names = "source", "hclk", "source_cg"; 379 + status = "disabled"; 380 + }; 381 + 382 + mmc1: mmc@11130000 { 383 + compatible = "mediatek,mt8516-mmc"; 384 + reg = <0 0x11130000 0 0x1000>; 385 + interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_LOW>; 386 + clocks = <&topckgen CLK_TOP_MSDC1>, 387 + <&topckgen CLK_TOP_AHB_INFRA_SEL>, 388 + <&topckgen CLK_TOP_MSDC1_INFRA>; 389 + clock-names = "source", "hclk", "source_cg"; 390 + status = "disabled"; 391 + }; 392 + 393 + mmc2: mmc@11170000 { 394 + compatible = "mediatek,mt8516-mmc"; 395 + reg = <0 0x11170000 0 0x1000>; 396 + interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_LOW>; 397 + clocks = <&topckgen CLK_TOP_MSDC2>, 398 + <&topckgen CLK_TOP_RG_MSDC2>, 399 + <&topckgen CLK_TOP_MSDC2_INFRA>; 400 + clock-names = "source", "hclk", "source_cg"; 401 + status = "disabled"; 402 + }; 403 + 404 + rng: rng@1020c000 { 405 + compatible = "mediatek,mt8516-rng", 406 + "mediatek,mt7623-rng"; 407 + reg = <0 0x1020c000 0 0x100>; 408 + clocks = <&topckgen CLK_TOP_TRNG>; 409 + clock-names = "rng"; 410 + }; 411 + 412 + pwm: pwm@11008000 { 413 + compatible = "mediatek,mt8516-pwm"; 414 + reg = <0 0x11008000 0 0x1000>; 415 + #pwm-cells = <2>; 416 + interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_LOW>; 417 + clocks = <&topckgen CLK_TOP_PWM>, 418 + <&topckgen CLK_TOP_PWM_B>, 419 + <&topckgen CLK_TOP_PWM1_FB>, 420 + <&topckgen CLK_TOP_PWM2_FB>, 421 + <&topckgen CLK_TOP_PWM3_FB>, 422 + <&topckgen CLK_TOP_PWM4_FB>, 423 + <&topckgen CLK_TOP_PWM5_FB>; 424 + clock-names = "top", "main", "pwm1", "pwm2", "pwm3", 425 + "pwm4", "pwm5"; 426 + }; 427 + 428 + usb0: usb@11100000 { 429 + compatible = "mediatek,mtk-musb"; 430 + reg = <0 0x11100000 0 0x1000>; 431 + interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_LOW>; 432 + interrupt-names = "mc"; 433 + phys = <&usb0_port PHY_TYPE_USB2>; 434 + clocks = <&topckgen CLK_TOP_USB>, 435 + <&topckgen CLK_TOP_USBIF>, 436 + <&topckgen CLK_TOP_USB_1P>; 437 + clock-names = "main","mcu","univpll"; 438 + status = "disabled"; 439 + }; 440 + 441 + usb0_phy: usb@11110000 { 442 + compatible = "mediatek,generic-tphy-v1"; 443 + reg = <0 0x11110000 0 0x800>; 444 + #address-cells = <2>; 445 + #size-cells = <2>; 446 + ranges; 447 + status = "disabled"; 448 + 449 + usb0_port: usb-phy@11110800 { 450 + reg = <0 0x11110800 0 0x100>; 451 + clocks = <&topckgen CLK_TOP_USB_PHY48M>; 452 + clock-names = "ref"; 453 + #phy-cells = <1>; 454 + }; 455 + }; 456 + }; 457 + };
+221
arch/arm64/boot/dts/mediatek/pumpkin-common.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * Copyright (c) 2019 BayLibre, SAS. 4 + * Author: Fabien Parent <fparent@baylibre.com> 5 + */ 6 + 7 + #include <dt-bindings/gpio/gpio.h> 8 + 9 + / { 10 + aliases { 11 + serial0 = &uart0; 12 + }; 13 + 14 + chosen { 15 + stdout-path = "serial0:921600n8"; 16 + }; 17 + 18 + firmware { 19 + optee: optee@4fd00000 { 20 + compatible = "linaro,optee-tz"; 21 + method = "smc"; 22 + }; 23 + }; 24 + 25 + gpio-keys { 26 + compatible = "gpio-keys"; 27 + input-name = "gpio-keys"; 28 + pinctrl-names = "default"; 29 + pinctrl-0 = <&gpio_keys_default>; 30 + 31 + volume-up { 32 + gpios = <&pio 42 GPIO_ACTIVE_LOW>; 33 + label = "volume_up"; 34 + linux,code = <115>; 35 + wakeup-source; 36 + debounce-interval = <15>; 37 + }; 38 + 39 + volume-down { 40 + gpios = <&pio 43 GPIO_ACTIVE_LOW>; 41 + label = "volume_down"; 42 + linux,code = <114>; 43 + wakeup-source; 44 + debounce-interval = <15>; 45 + }; 46 + }; 47 + }; 48 + 49 + &i2c0 { 50 + clock-div = <2>; 51 + pinctrl-names = "default"; 52 + pinctrl-0 = <&i2c0_pins_a>; 53 + status = "okay"; 54 + 55 + tca6416: gpio@20 { 56 + compatible = "ti,tca6416"; 57 + reg = <0x20>; 58 + rst-gpio = <&pio 65 GPIO_ACTIVE_HIGH>; 59 + pinctrl-names = "default"; 60 + pinctrl-0 = <&tca6416_pins>; 61 + 62 + gpio-controller; 63 + #gpio-cells = <2>; 64 + 65 + eint20_mux_sel0 { 66 + gpio-hog; 67 + gpios = <0 0>; 68 + input; 69 + line-name = "eint20_mux_sel0"; 70 + }; 71 + 72 + expcon_mux_sel1 { 73 + gpio-hog; 74 + gpios = <1 0>; 75 + input; 76 + line-name = "expcon_mux_sel1"; 77 + }; 78 + 79 + mrg_di_mux_sel2 { 80 + gpio-hog; 81 + gpios = <2 0>; 82 + input; 83 + line-name = "mrg_di_mux_sel2"; 84 + }; 85 + 86 + sd_sdio_mux_sel3 { 87 + gpio-hog; 88 + gpios = <3 0>; 89 + input; 90 + line-name = "sd_sdio_mux_sel3"; 91 + }; 92 + 93 + sd_sdio_mux_ctrl7 { 94 + gpio-hog; 95 + gpios = <7 0>; 96 + output-low; 97 + line-name = "sd_sdio_mux_ctrl7"; 98 + }; 99 + 100 + hw_id0 { 101 + gpio-hog; 102 + gpios = <8 0>; 103 + input; 104 + line-name = "hw_id0"; 105 + }; 106 + 107 + hw_id1 { 108 + gpio-hog; 109 + gpios = <9 0>; 110 + input; 111 + line-name = "hw_id1"; 112 + }; 113 + 114 + hw_id2 { 115 + gpio-hog; 116 + gpios = <10 0>; 117 + input; 118 + line-name = "hw_id2"; 119 + }; 120 + 121 + fg_int_n { 122 + gpio-hog; 123 + gpios = <11 0>; 124 + input; 125 + line-name = "fg_int_n"; 126 + }; 127 + 128 + usba_pwr_en { 129 + gpio-hog; 130 + gpios = <12 0>; 131 + output-high; 132 + line-name = "usba_pwr_en"; 133 + }; 134 + 135 + wifi_3v3_pg { 136 + gpio-hog; 137 + gpios = <13 0>; 138 + input; 139 + line-name = "wifi_3v3_pg"; 140 + }; 141 + 142 + cam_rst { 143 + gpio-hog; 144 + gpios = <14 0>; 145 + output-low; 146 + line-name = "cam_rst"; 147 + }; 148 + 149 + cam_pwdn { 150 + gpio-hog; 151 + gpios = <15 0>; 152 + output-low; 153 + line-name = "cam_pwdn"; 154 + }; 155 + }; 156 + }; 157 + 158 + &i2c2 { 159 + clock-div = <2>; 160 + pinctrl-names = "default"; 161 + pinctrl-0 = <&i2c2_pins_a>; 162 + status = "okay"; 163 + }; 164 + 165 + &uart0 { 166 + status = "okay"; 167 + }; 168 + 169 + &usb0 { 170 + status = "okay"; 171 + dr_mode = "peripheral"; 172 + 173 + usb_con: connector { 174 + compatible = "usb-c-connector"; 175 + label = "USB-C"; 176 + }; 177 + }; 178 + 179 + &usb0_phy { 180 + status = "okay"; 181 + }; 182 + 183 + &pio { 184 + gpio_keys_default: gpiodefault { 185 + pins_cmd_dat { 186 + pinmux = <MT8516_PIN_42_KPCOL0__FUNC_GPIO42>, 187 + <MT8516_PIN_43_KPCOL1__FUNC_GPIO43>; 188 + bias-pull-up; 189 + input-enable; 190 + }; 191 + }; 192 + 193 + i2c0_pins_a: i2c0@0 { 194 + pins1 { 195 + pinmux = <MT8516_PIN_58_SDA0__FUNC_SDA0_0>, 196 + <MT8516_PIN_59_SCL0__FUNC_SCL0_0>; 197 + bias-disable; 198 + }; 199 + }; 200 + 201 + i2c2_pins_a: i2c2@0 { 202 + pins1 { 203 + pinmux = <MT8516_PIN_60_SDA2__FUNC_SDA2_0>, 204 + <MT8516_PIN_61_SCL2__FUNC_SCL2_0>; 205 + bias-disable; 206 + }; 207 + }; 208 + 209 + tca6416_pins: pinmux_tca6416_pins { 210 + gpio_mux_rst_n_pin { 211 + pinmux = <MT8516_PIN_65_UTXD1__FUNC_GPIO65>; 212 + output-high; 213 + }; 214 + 215 + gpio_mux_int_n_pin { 216 + pinmux = <MT8516_PIN_64_URXD1__FUNC_GPIO64>; 217 + input-enable; 218 + bias-pull-up; 219 + }; 220 + }; 221 + };
+3 -1
arch/arm64/boot/dts/nvidia/tegra132.dtsi
··· 6 6 #include <dt-bindings/pinctrl/pinctrl-tegra-xusb.h> 7 7 #include <dt-bindings/interrupt-controller/arm-gic.h> 8 8 #include <dt-bindings/thermal/tegra124-soctherm.h> 9 + #include <dt-bindings/soc/tegra-pmc.h> 9 10 10 11 / { 11 12 compatible = "nvidia,tegra132", "nvidia,tegra124"; ··· 578 577 clock-names = "rtc"; 579 578 }; 580 579 581 - pmc@7000e400 { 580 + tegra_pmc: pmc@7000e400 { 582 581 compatible = "nvidia,tegra124-pmc"; 583 582 reg = <0x0 0x7000e400 0x0 0x400>; 584 583 clocks = <&tegra_car TEGRA124_CLK_PCLK>, <&clk32k_in>; 585 584 clock-names = "pclk", "clk32k_in"; 585 + #clock-cells = <1>; 586 586 }; 587 587 588 588 fuse@7000f800 {
+23 -3
arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts
··· 131 131 status = "okay"; 132 132 133 133 lanes { 134 - usb2-0 { 134 + micro_b: usb2-0 { 135 135 nvidia,function = "xusb"; 136 136 status = "okay"; 137 137 }; ··· 174 174 usb2-0 { 175 175 status = "okay"; 176 176 mode = "otg"; 177 - 178 177 vbus-supply = <&vdd_usb0>; 178 + 179 + usb-role-switch; 180 + connector { 181 + compatible = "usb-b-connector", 182 + "gpio-usb-b-connector"; 183 + label = "micro-USB"; 184 + type = "micro"; 185 + vbus-gpio = <&gpio 186 + TEGRA186_MAIN_GPIO(X, 7) 187 + GPIO_ACTIVE_LOW>; 188 + id-gpio = <&pmic 0 GPIO_ACTIVE_HIGH>; 189 + }; 190 + 179 191 }; 180 192 181 193 usb2-1 { ··· 213 201 phy-names = "usb2-0", "usb2-1", "usb3-0"; 214 202 }; 215 203 204 + usb@3550000 { 205 + status = "okay"; 206 + 207 + phys = <&micro_b>; 208 + phy-names = "usb2-0"; 209 + }; 210 + 216 211 i2c@c250000 { 217 212 /* carrier board ID EEPROM */ 218 213 eeprom@57 { 219 214 compatible = "atmel,24c02"; 220 215 reg = <0x57>; 221 216 217 + vcc-supply = <&vdd_1v8>; 222 218 address-bits = <8>; 223 219 page-size = <8>; 224 220 size = <256>; ··· 278 258 status = "okay"; 279 259 280 260 avdd-io-hdmi-dp-supply = <&vdd_hdmi_1v05>; 281 - vdd-hdmi-dp-pll = <&vdd_1v8_ap>; 261 + vdd-hdmi-dp-pll-supply = <&vdd_1v8_ap>; 282 262 283 263 nvidia,dpaux = <&dpaux>; 284 264 };
+1
arch/arm64/boot/dts/nvidia/tegra186-p3310.dtsi
··· 171 171 compatible = "atmel,24c02"; 172 172 reg = <0x50>; 173 173 174 + vcc-supply = <&vdd_1v8>; 174 175 address-bits = <8>; 175 176 page-size = <8>; 176 177 size = <256>;
+19
arch/arm64/boot/dts/nvidia/tegra186.dtsi
··· 572 572 nvidia,xusb-padctl = <&padctl>; 573 573 }; 574 574 575 + usb@3550000 { 576 + compatible = "nvidia,tegra186-xudc"; 577 + reg = <0x0 0x03550000 0x0 0x8000>, 578 + <0x0 0x03558000 0x0 0x1000>; 579 + reg-names = "base", "fpci"; 580 + interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>; 581 + clocks = <&bpmp TEGRA186_CLK_XUSB_CORE_DEV>, 582 + <&bpmp TEGRA186_CLK_XUSB_SS>, 583 + <&bpmp TEGRA186_CLK_XUSB_CORE_SS>, 584 + <&bpmp TEGRA186_CLK_XUSB_FS>; 585 + clock-names = "dev", "ss", "ss_src", "fs_src"; 586 + iommus = <&smmu TEGRA186_SID_XUSB_DEV>; 587 + power-domains = <&bpmp TEGRA186_POWER_DOMAIN_XUSBB>, 588 + <&bpmp TEGRA186_POWER_DOMAIN_XUSBA>; 589 + power-domain-names = "dev", "ss"; 590 + nvidia,xusb-padctl = <&padctl>; 591 + status = "disabled"; 592 + }; 593 + 575 594 fuse@3820000 { 576 595 compatible = "nvidia,tegra186-efuse"; 577 596 reg = <0x0 0x03820000 0x0 0x10000>;
+35 -1
arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi
··· 71 71 vmmc-supply = <&vdd_emmc_3v3>; 72 72 }; 73 73 74 + padctl@3520000 { 75 + avdd-usb-supply = <&vdd_usb_3v3>; 76 + vclamp-usb-supply = <&vdd_1v8ao>; 77 + 78 + ports { 79 + usb2-1 { 80 + vbus-supply = <&vdd_5v0_sys>; 81 + }; 82 + 83 + usb2-3 { 84 + vbus-supply = <&vdd_5v_sata>; 85 + }; 86 + 87 + usb3-0 { 88 + vbus-supply = <&vdd_5v0_sys>; 89 + }; 90 + 91 + usb3-3 { 92 + vbus-supply = <&vdd_5v0_sys>; 93 + }; 94 + }; 95 + }; 96 + 74 97 rtc@c2a0000 { 75 98 status = "okay"; 76 99 }; ··· 257 234 regulator-max-microvolt = <3300000>; 258 235 }; 259 236 260 - ldo5 { 237 + vdd_usb_3v3: ldo5 { 261 238 regulator-name = "VDD_USB_3V3"; 262 239 regulator-min-microvolt = <3300000>; 263 240 regulator-max-microvolt = <3300000>; ··· 339 316 regulator-max-microvolt = <1200000>; 340 317 gpio = <&gpio TEGRA194_MAIN_GPIO(A, 1) GPIO_ACTIVE_HIGH>; 341 318 regulator-boot-on; 319 + }; 320 + 321 + vdd_5v_sata: regulator@4 { 322 + compatible = "regulator-fixed"; 323 + reg = <4>; 324 + 325 + regulator-name = "VDD_5V_SATA"; 326 + regulator-min-microvolt = <5000000>; 327 + regulator-max-microvolt = <5000000>; 328 + gpio = <&gpio TEGRA194_MAIN_GPIO(Z, 1) GPIO_ACTIVE_HIGH>; 329 + enable-active-high; 342 330 }; 343 331 }; 344 332 };
+81
arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dts
··· 37 37 status = "okay"; 38 38 }; 39 39 40 + padctl@3520000 { 41 + status = "okay"; 42 + 43 + pads { 44 + usb2 { 45 + lanes { 46 + usb2-1 { 47 + status = "okay"; 48 + }; 49 + 50 + usb2-3 { 51 + status = "okay"; 52 + }; 53 + }; 54 + }; 55 + 56 + usb3 { 57 + lanes { 58 + usb3-0 { 59 + status = "okay"; 60 + }; 61 + 62 + usb3-3 { 63 + status = "okay"; 64 + }; 65 + }; 66 + }; 67 + }; 68 + 69 + ports { 70 + usb2-1 { 71 + mode = "host"; 72 + status = "okay"; 73 + }; 74 + 75 + usb2-3 { 76 + mode = "host"; 77 + status = "okay"; 78 + }; 79 + 80 + usb3-0 { 81 + nvidia,usb2-companion = <1>; 82 + status = "okay"; 83 + }; 84 + 85 + usb3-3 { 86 + nvidia,usb2-companion = <3>; 87 + maximum-speed = "super-speed"; 88 + status = "okay"; 89 + }; 90 + }; 91 + }; 92 + 93 + usb@3610000 { 94 + status = "okay"; 95 + 96 + phys = <&{/cbb@0/padctl@3520000/pads/usb2/lanes/usb2-1}>, 97 + <&{/cbb@0/padctl@3520000/pads/usb2/lanes/usb2-3}>, 98 + <&{/cbb@0/padctl@3520000/pads/usb3/lanes/usb3-0}>, 99 + <&{/cbb@0/padctl@3520000/pads/usb3/lanes/usb3-3}>; 100 + phy-names = "usb2-1", "usb2-3", "usb3-0", "usb3-3"; 101 + }; 102 + 40 103 pwm@c340000 { 41 104 status = "okay"; 42 105 }; ··· 190 127 vddio-pex-ctl-supply = <&vdd_1v8ao>; 191 128 vpcie3v3-supply = <&vdd_3v3_pcie>; 192 129 vpcie12v-supply = <&vdd_12v_pcie>; 130 + 131 + phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>, 132 + <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>, 133 + <&p2u_nvhs_6>, <&p2u_nvhs_7>; 134 + 135 + phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4", 136 + "p2u-5", "p2u-6", "p2u-7"; 137 + }; 138 + 139 + pcie_ep@141a0000 { 140 + status = "disabled"; 141 + 142 + vddio-pex-ctl-supply = <&vdd_1v8ao>; 143 + 144 + reset-gpios = <&gpio TEGRA194_MAIN_GPIO(GG, 1) GPIO_ACTIVE_LOW>; 145 + 146 + nvidia,refclk-select-gpios = <&gpio_aon TEGRA194_AON_GPIO(AA, 5) 147 + GPIO_ACTIVE_HIGH>; 193 148 194 149 phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>, 195 150 <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
+244 -6
arch/arm64/boot/dts/nvidia/tegra194.dtsi
··· 537 537 status = "disabled"; 538 538 }; 539 539 540 + xusb_padctl: padctl@3520000 { 541 + compatible = "nvidia,tegra194-xusb-padctl"; 542 + reg = <0x03520000 0x1000>, 543 + <0x03540000 0x1000>; 544 + reg-names = "padctl", "ao"; 545 + 546 + resets = <&bpmp TEGRA194_RESET_XUSB_PADCTL>; 547 + reset-names = "padctl"; 548 + 549 + status = "disabled"; 550 + 551 + pads { 552 + usb2 { 553 + clocks = <&bpmp TEGRA194_CLK_USB2_TRK>; 554 + clock-names = "trk"; 555 + 556 + lanes { 557 + usb2-0 { 558 + nvidia,function = "xusb"; 559 + status = "disabled"; 560 + #phy-cells = <0>; 561 + }; 562 + 563 + usb2-1 { 564 + nvidia,function = "xusb"; 565 + status = "disabled"; 566 + #phy-cells = <0>; 567 + }; 568 + 569 + usb2-2 { 570 + nvidia,function = "xusb"; 571 + status = "disabled"; 572 + #phy-cells = <0>; 573 + }; 574 + 575 + usb2-3 { 576 + nvidia,function = "xusb"; 577 + status = "disabled"; 578 + #phy-cells = <0>; 579 + }; 580 + }; 581 + }; 582 + 583 + usb3 { 584 + lanes { 585 + usb3-0 { 586 + nvidia,function = "xusb"; 587 + status = "disabled"; 588 + #phy-cells = <0>; 589 + }; 590 + 591 + usb3-1 { 592 + nvidia,function = "xusb"; 593 + status = "disabled"; 594 + #phy-cells = <0>; 595 + }; 596 + 597 + usb3-2 { 598 + nvidia,function = "xusb"; 599 + status = "disabled"; 600 + #phy-cells = <0>; 601 + }; 602 + 603 + usb3-3 { 604 + nvidia,function = "xusb"; 605 + status = "disabled"; 606 + #phy-cells = <0>; 607 + }; 608 + }; 609 + }; 610 + }; 611 + 612 + ports { 613 + usb2-0 { 614 + status = "disabled"; 615 + }; 616 + 617 + usb2-1 { 618 + status = "disabled"; 619 + }; 620 + 621 + usb2-2 { 622 + status = "disabled"; 623 + }; 624 + 625 + usb2-3 { 626 + status = "disabled"; 627 + }; 628 + 629 + usb3-0 { 630 + status = "disabled"; 631 + }; 632 + 633 + usb3-1 { 634 + status = "disabled"; 635 + }; 636 + 637 + usb3-2 { 638 + status = "disabled"; 639 + }; 640 + 641 + usb3-3 { 642 + status = "disabled"; 643 + }; 644 + }; 645 + }; 646 + 647 + usb@3610000 { 648 + compatible = "nvidia,tegra194-xusb"; 649 + reg = <0x03610000 0x40000>, 650 + <0x03600000 0x10000>; 651 + reg-names = "hcd", "fpci"; 652 + 653 + interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>, 654 + <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>, 655 + <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>; 656 + 657 + clocks = <&bpmp TEGRA194_CLK_XUSB_CORE_HOST>, 658 + <&bpmp TEGRA194_CLK_XUSB_FALCON>, 659 + <&bpmp TEGRA194_CLK_XUSB_CORE_SS>, 660 + <&bpmp TEGRA194_CLK_XUSB_SS>, 661 + <&bpmp TEGRA194_CLK_CLK_M>, 662 + <&bpmp TEGRA194_CLK_XUSB_FS>, 663 + <&bpmp TEGRA194_CLK_UTMIPLL>, 664 + <&bpmp TEGRA194_CLK_CLK_M>, 665 + <&bpmp TEGRA194_CLK_PLLE>; 666 + clock-names = "xusb_host", "xusb_falcon_src", 667 + "xusb_ss", "xusb_ss_src", "xusb_hs_src", 668 + "xusb_fs_src", "pll_u_480m", "clk_m", 669 + "pll_e"; 670 + 671 + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_XUSBC>, 672 + <&bpmp TEGRA194_POWER_DOMAIN_XUSBA>; 673 + power-domain-names = "xusb_host", "xusb_ss"; 674 + 675 + nvidia,xusb-padctl = <&xusb_padctl>; 676 + status = "disabled"; 677 + }; 678 + 540 679 fuse@3820000 { 541 680 compatible = "nvidia,tegra194-efuse"; 542 681 reg = <0x03820000 0x10000>; ··· 1347 1208 }; 1348 1209 1349 1210 pcie@14100000 { 1350 - compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; 1211 + compatible = "nvidia,tegra194-pcie"; 1351 1212 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX1A>; 1352 1213 reg = <0x00 0x14100000 0x0 0x00020000 /* appl registers (128K) */ 1353 1214 0x00 0x30000000 0x0 0x00040000 /* configuration space (256K) */ ··· 1392 1253 }; 1393 1254 1394 1255 pcie@14120000 { 1395 - compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; 1256 + compatible = "nvidia,tegra194-pcie"; 1396 1257 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX1A>; 1397 1258 reg = <0x00 0x14120000 0x0 0x00020000 /* appl registers (128K) */ 1398 1259 0x00 0x32000000 0x0 0x00040000 /* configuration space (256K) */ ··· 1437 1298 }; 1438 1299 1439 1300 pcie@14140000 { 1440 - compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; 1301 + compatible = "nvidia,tegra194-pcie"; 1441 1302 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX1A>; 1442 1303 reg = <0x00 0x14140000 0x0 0x00020000 /* appl registers (128K) */ 1443 1304 0x00 0x34000000 0x0 0x00040000 /* configuration space (256K) */ ··· 1482 1343 }; 1483 1344 1484 1345 pcie@14160000 { 1485 - compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; 1346 + compatible = "nvidia,tegra194-pcie"; 1486 1347 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX4A>; 1487 1348 reg = <0x00 0x14160000 0x0 0x00020000 /* appl registers (128K) */ 1488 1349 0x00 0x36000000 0x0 0x00040000 /* configuration space (256K) */ ··· 1527 1388 }; 1528 1389 1529 1390 pcie@14180000 { 1530 - compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; 1391 + compatible = "nvidia,tegra194-pcie"; 1531 1392 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX8B>; 1532 1393 reg = <0x00 0x14180000 0x0 0x00020000 /* appl registers (128K) */ 1533 1394 0x00 0x38000000 0x0 0x00040000 /* configuration space (256K) */ ··· 1572 1433 }; 1573 1434 1574 1435 pcie@141a0000 { 1575 - compatible = "nvidia,tegra194-pcie", "snps,dw-pcie"; 1436 + compatible = "nvidia,tegra194-pcie"; 1576 1437 power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX8A>; 1577 1438 reg = <0x00 0x141a0000 0x0 0x00020000 /* appl registers (128K) */ 1578 1439 0x00 0x3a000000 0x0 0x00040000 /* configuration space (256K) */ ··· 1618 1479 ranges = <0x81000000 0x0 0x3a100000 0x0 0x3a100000 0x0 0x00100000 /* downstream I/O (1MB) */ 1619 1480 0xc2000000 0x1c 0x00000000 0x1c 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */ 1620 1481 0x82000000 0x0 0x40000000 0x1f 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */ 1482 + }; 1483 + 1484 + pcie_ep@14160000 { 1485 + compatible = "nvidia,tegra194-pcie-ep", "snps,dw-pcie-ep"; 1486 + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX4A>; 1487 + reg = <0x00 0x14160000 0x0 0x00020000 /* appl registers (128K) */ 1488 + 0x00 0x36040000 0x0 0x00040000 /* iATU_DMA reg space (256K) */ 1489 + 0x00 0x36080000 0x0 0x00040000 /* DBI reg space (256K) */ 1490 + 0x14 0x00000000 0x4 0x00000000>; /* Address Space (16G) */ 1491 + reg-names = "appl", "atu_dma", "dbi", "addr_space"; 1492 + 1493 + status = "disabled"; 1494 + 1495 + num-lanes = <4>; 1496 + num-ib-windows = <2>; 1497 + num-ob-windows = <8>; 1498 + 1499 + clocks = <&bpmp TEGRA194_CLK_PEX0_CORE_4>; 1500 + clock-names = "core"; 1501 + 1502 + resets = <&bpmp TEGRA194_RESET_PEX0_CORE_4_APB>, 1503 + <&bpmp TEGRA194_RESET_PEX0_CORE_4>; 1504 + reset-names = "apb", "core"; 1505 + 1506 + interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */ 1507 + interrupt-names = "intr"; 1508 + 1509 + nvidia,bpmp = <&bpmp 4>; 1510 + 1511 + nvidia,aspm-cmrt-us = <60>; 1512 + nvidia,aspm-pwr-on-t-us = <20>; 1513 + nvidia,aspm-l0s-entrance-latency-us = <3>; 1514 + }; 1515 + 1516 + pcie_ep@14180000 { 1517 + compatible = "nvidia,tegra194-pcie-ep", "snps,dw-pcie-ep"; 1518 + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX8B>; 1519 + reg = <0x00 0x14180000 0x0 0x00020000 /* appl registers (128K) */ 1520 + 0x00 0x38040000 0x0 0x00040000 /* iATU_DMA reg space (256K) */ 1521 + 0x00 0x38080000 0x0 0x00040000 /* DBI reg space (256K) */ 1522 + 0x18 0x00000000 0x4 0x00000000>; /* Address Space (16G) */ 1523 + reg-names = "appl", "atu_dma", "dbi", "addr_space"; 1524 + 1525 + status = "disabled"; 1526 + 1527 + num-lanes = <8>; 1528 + num-ib-windows = <2>; 1529 + num-ob-windows = <8>; 1530 + 1531 + clocks = <&bpmp TEGRA194_CLK_PEX0_CORE_0>; 1532 + clock-names = "core"; 1533 + 1534 + resets = <&bpmp TEGRA194_RESET_PEX0_CORE_0_APB>, 1535 + <&bpmp TEGRA194_RESET_PEX0_CORE_0>; 1536 + reset-names = "apb", "core"; 1537 + 1538 + interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */ 1539 + interrupt-names = "intr"; 1540 + 1541 + nvidia,bpmp = <&bpmp 0>; 1542 + 1543 + nvidia,aspm-cmrt-us = <60>; 1544 + nvidia,aspm-pwr-on-t-us = <20>; 1545 + nvidia,aspm-l0s-entrance-latency-us = <3>; 1546 + }; 1547 + 1548 + pcie_ep@141a0000 { 1549 + compatible = "nvidia,tegra194-pcie-ep", "snps,dw-pcie-ep"; 1550 + power-domains = <&bpmp TEGRA194_POWER_DOMAIN_PCIEX8A>; 1551 + reg = <0x00 0x141a0000 0x0 0x00020000 /* appl registers (128K) */ 1552 + 0x00 0x3a040000 0x0 0x00040000 /* iATU_DMA reg space (256K) */ 1553 + 0x00 0x3a080000 0x0 0x00040000 /* DBI reg space (256K) */ 1554 + 0x1c 0x00000000 0x4 0x00000000>; /* Address Space (16G) */ 1555 + reg-names = "appl", "atu_dma", "dbi", "addr_space"; 1556 + 1557 + status = "disabled"; 1558 + 1559 + num-lanes = <8>; 1560 + num-ib-windows = <2>; 1561 + num-ob-windows = <8>; 1562 + 1563 + pinctrl-names = "default"; 1564 + pinctrl-0 = <&clkreq_c5_bi_dir_state>; 1565 + 1566 + clocks = <&bpmp TEGRA194_CLK_PEX1_CORE_5>; 1567 + clock-names = "core"; 1568 + 1569 + resets = <&bpmp TEGRA194_RESET_PEX1_CORE_5_APB>, 1570 + <&bpmp TEGRA194_RESET_PEX1_CORE_5>; 1571 + reset-names = "apb", "core"; 1572 + 1573 + interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */ 1574 + interrupt-names = "intr"; 1575 + 1576 + nvidia,bpmp = <&bpmp 5>; 1577 + 1578 + nvidia,aspm-cmrt-us = <60>; 1579 + nvidia,aspm-pwr-on-t-us = <20>; 1580 + nvidia,aspm-l0s-entrance-latency-us = <3>; 1621 1581 }; 1622 1582 1623 1583 sysram@40000000 {
+3
arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
··· 265 265 }; 266 266 267 267 i2c@7000c500 { 268 + status = "okay"; 269 + 268 270 /* module ID EEPROM */ 269 271 eeprom@50 { 270 272 compatible = "atmel,24c02"; 271 273 reg = <0x50>; 272 274 275 + vcc-supply = <&vdd_1v8>; 273 276 address-bits = <8>; 274 277 page-size = <8>; 275 278 size = <256>;
+2
arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts
··· 56 56 backlight: backlight@2c { 57 57 compatible = "ti,lp8557"; 58 58 reg = <0x2c>; 59 + power-supply = <&vdd_3v3_sys>; 59 60 60 61 dev-ctrl = /bits/ 8 <0x80>; 61 62 init-brt = /bits/ 8 <0xff>; ··· 86 85 compatible = "atmel,24c02"; 87 86 reg = <0x57>; 88 87 88 + vcc-supply = <&vdd_1v8>; 89 89 address-bits = <8>; 90 90 page-size = <8>; 91 91 size = <256>;
+43 -2
arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi
··· 5 5 model = "NVIDIA Tegra210 P2597 I/O board"; 6 6 compatible = "nvidia,p2597", "nvidia,tegra210"; 7 7 8 + aliases { 9 + ethernet = "/usb@70090000/ethernet@1"; 10 + }; 11 + 8 12 host1x@50000000 { 9 13 dpaux@54040000 { 10 14 status = "okay"; ··· 1340 1336 <&{/padctl@7009f000/pads/pcie/lanes/pcie-5}>; 1341 1337 phy-names = "usb2-0", "usb2-1", "usb2-2", "usb2-3", "usb3-0", 1342 1338 "usb3-1"; 1343 - 1344 1339 dvddio-pex-supply = <&vdd_pex_1v05>; 1345 1340 hvddio-pex-supply = <&vdd_1v8>; 1346 1341 avdd-usb-supply = <&vdd_3v3_sys>; ··· 1350 1347 hvdd-usb-ss-pll-e-supply = <&vdd_1v8>; 1351 1348 1352 1349 status = "okay"; 1350 + 1351 + #address-cells = <1>; 1352 + #size-cells = <0>; 1353 + 1354 + ethernet@1 { 1355 + reg = <1>; 1356 + }; 1353 1357 }; 1354 1358 1355 1359 padctl@7009f000 { ··· 1372 1362 status = "okay"; 1373 1363 1374 1364 lanes { 1375 - usb2-0 { 1365 + micro_b: usb2-0 { 1376 1366 nvidia,function = "xusb"; 1377 1367 status = "okay"; 1378 1368 }; ··· 1450 1440 ports { 1451 1441 usb2-0 { 1452 1442 status = "okay"; 1443 + vbus-supply = <&vdd_usb_vbus_otg>; 1453 1444 mode = "otg"; 1445 + 1446 + usb-role-switch; 1447 + connector { 1448 + compatible = "usb-b-connector", 1449 + "gpio-usb-b-connector"; 1450 + label = "micro-USB"; 1451 + type = "micro"; 1452 + vbus-gpio = <&gpio TEGRA_GPIO(Z, 0) 1453 + GPIO_ACTIVE_LOW>; 1454 + id-gpio = <&pmic 0 0>; 1455 + }; 1454 1456 }; 1455 1457 1456 1458 usb2-1 { ··· 1503 1481 1504 1482 vqmmc-supply = <&vddio_sdmmc>; 1505 1483 vmmc-supply = <&vdd_3v3_sd>; 1484 + }; 1485 + 1486 + usb@700d0000 { 1487 + status = "okay"; 1488 + phys = <&micro_b>; 1489 + phy-names = "usb2-0"; 1490 + avddio-usb-supply = <&vdd_3v3_sys>; 1491 + hvdd-usb-supply = <&vdd_1v8>; 1506 1492 }; 1507 1493 1508 1494 regulators { ··· 1632 1602 regulator-min-microvolt = <5000000>; 1633 1603 regulator-max-microvolt = <5000000>; 1634 1604 gpio = <&gpio TEGRA_GPIO(CC, 5) GPIO_ACTIVE_HIGH>; 1605 + enable-active-high; 1606 + vin-supply = <&vdd_5v0_sys>; 1607 + }; 1608 + 1609 + vdd_usb_vbus_otg: regulator@11 { 1610 + compatible = "regulator-fixed"; 1611 + reg = <9>; 1612 + regulator-name = "USB_VBUS_EN0"; 1613 + regulator-min-microvolt = <5000000>; 1614 + regulator-max-microvolt = <5000000>; 1615 + gpio = <&gpio TEGRA_GPIO(CC, 4) GPIO_ACTIVE_HIGH>; 1635 1616 enable-active-high; 1636 1617 vin-supply = <&vdd_5v0_sys>; 1637 1618 };
+22 -2
arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts
··· 114 114 compatible = "atmel,24c02"; 115 115 reg = <0x50>; 116 116 117 + vcc-supply = <&vdd_1v8>; 117 118 address-bits = <8>; 118 119 page-size = <8>; 119 120 size = <256>; ··· 125 124 compatible = "atmel,24c02"; 126 125 reg = <0x57>; 127 126 127 + vcc-supply = <&vdd_1v8>; 128 128 address-bits = <8>; 129 129 page-size = <8>; 130 130 size = <256>; ··· 445 443 status = "okay"; 446 444 447 445 lanes { 448 - usb2-0 { 446 + micro_b: usb2-0 { 449 447 nvidia,function = "xusb"; 450 448 status = "okay"; 451 449 }; ··· 507 505 ports { 508 506 usb2-0 { 509 507 status = "okay"; 510 - mode = "otg"; 508 + mode = "peripheral"; 509 + 510 + usb-role-switch; 511 + connector { 512 + compatible = "usb-b-connector", 513 + "gpio-usb-b-connector"; 514 + label = "micro-USB"; 515 + type = "micro"; 516 + vbus-gpio = <&gpio TEGRA_GPIO(CC, 4) 517 + GPIO_ACTIVE_LOW>; 518 + }; 511 519 }; 512 520 513 521 usb2-1 { ··· 546 534 547 535 vqmmc-supply = <&vddio_sdmmc>; 548 536 vmmc-supply = <&vdd_3v3_sd>; 537 + }; 538 + 539 + usb@700d0000 { 540 + status = "okay"; 541 + phys = <&micro_b>; 542 + phy-names = "usb2-0"; 543 + avddio-usb-supply = <&vdd_3v3_sys>; 544 + hvdd-usb-supply = <&vdd_1v8>; 549 545 }; 550 546 551 547 sdhci@700b0400 {
+1 -1
arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
··· 1592 1592 reg = <0x1a>; 1593 1593 interrupt-parent = <&gpio>; 1594 1594 interrupts = <TEGRA_GPIO(E, 6) IRQ_TYPE_LEVEL_LOW>; 1595 - clocks = <&tegra_car TEGRA210_CLK_CLK_OUT_2>; 1595 + clocks = <&tegra_pmc TEGRA_PMC_CLK_OUT_2>; 1596 1596 clock-names = "mclk"; 1597 1597 1598 1598 nuvoton,jkdet-enable;
+23 -2
arch/arm64/boot/dts/nvidia/tegra210.dtsi
··· 7 7 #include <dt-bindings/reset/tegra210-car.h> 8 8 #include <dt-bindings/interrupt-controller/arm-gic.h> 9 9 #include <dt-bindings/thermal/tegra124-soctherm.h> 10 + #include <dt-bindings/soc/tegra-pmc.h> 10 11 11 12 / { 12 13 compatible = "nvidia,tegra210"; ··· 771 770 compatible = "nvidia,tegra210-rtc", "nvidia,tegra20-rtc"; 772 771 reg = <0x0 0x7000e000 0x0 0x100>; 773 772 interrupts = <16 IRQ_TYPE_LEVEL_HIGH>; 774 - interrupt-parent = <&pmc>; 773 + interrupt-parent = <&tegra_pmc>; 775 774 clocks = <&tegra_car TEGRA210_CLK_RTC>; 776 775 clock-names = "rtc"; 777 776 }; 778 777 779 - pmc: pmc@7000e400 { 778 + tegra_pmc: pmc@7000e400 { 780 779 compatible = "nvidia,tegra210-pmc"; 781 780 reg = <0x0 0x7000e400 0x0 0x400>; 782 781 clocks = <&tegra_car TEGRA210_CLK_PCLK>, <&clk32k_in>; 783 782 clock-names = "pclk", "clk32k_in"; 783 + #clock-cells = <1>; 784 784 #interrupt-cells = <2>; 785 785 interrupt-controller; 786 786 ··· 1206 1204 assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>; 1207 1205 nvidia,dqs-trim = <40>; 1208 1206 mmc-hs400-1_8v; 1207 + status = "disabled"; 1208 + }; 1209 + 1210 + usb@700d0000 { 1211 + compatible = "nvidia,tegra210-xudc"; 1212 + reg = <0x0 0x700d0000 0x0 0x8000>, 1213 + <0x0 0x700d8000 0x0 0x1000>, 1214 + <0x0 0x700d9000 0x0 0x1000>; 1215 + reg-names = "base", "fpci", "ipfs"; 1216 + interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 1217 + clocks = <&tegra_car TEGRA210_CLK_XUSB_DEV>, 1218 + <&tegra_car TEGRA210_CLK_XUSB_SS>, 1219 + <&tegra_car TEGRA210_CLK_XUSB_SSP_SRC>, 1220 + <&tegra_car TEGRA210_CLK_XUSB_FS_SRC>, 1221 + <&tegra_car TEGRA210_CLK_XUSB_HS_SRC>; 1222 + clock-names = "dev", "ss", "ss_src", "fs_src", "hs_src"; 1223 + power-domains = <&pd_xusbdev>, <&pd_xusbss>; 1224 + power-domain-names = "dev", "ss"; 1225 + nvidia,xusb-padctl = <&padctl>; 1209 1226 status = "disabled"; 1210 1227 }; 1211 1228
+2
arch/arm64/boot/dts/qcom/Makefile
··· 2 2 dtb-$(CONFIG_ARCH_QCOM) += apq8016-sbc.dtb 3 3 dtb-$(CONFIG_ARCH_QCOM) += apq8096-db820c.dtb 4 4 dtb-$(CONFIG_ARCH_QCOM) += apq8096-ifc6640.dtb 5 + dtb-$(CONFIG_ARCH_QCOM) += ipq6018-cp01-c1.dtb 5 6 dtb-$(CONFIG_ARCH_QCOM) += ipq8074-hk01.dtb 6 7 dtb-$(CONFIG_ARCH_QCOM) += msm8916-mtp.dtb 7 8 dtb-$(CONFIG_ARCH_QCOM) += msm8916-longcheer-l8150.dtb ··· 23 22 dtb-$(CONFIG_ARCH_QCOM) += sdm845-mtp.dtb 24 23 dtb-$(CONFIG_ARCH_QCOM) += sdm850-lenovo-yoga-c630.dtb 25 24 dtb-$(CONFIG_ARCH_QCOM) += sm8150-mtp.dtb 25 + dtb-$(CONFIG_ARCH_QCOM) += sm8250-mtp.dtb 26 26 dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb 27 27 dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb
-1
arch/arm64/boot/dts/qcom/apq8016-sbc.dtsi
··· 562 562 563 563 &smd_rpm_regulators { 564 564 vdd_l1_l2_l3-supply = <&pm8916_s3>; 565 - vdd_l5-supply = <&pm8916_s3>; 566 565 vdd_l4_l5_l6-supply = <&pm8916_s4>; 567 566 vdd_l7-supply = <&pm8916_s4>; 568 567
-6
arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
··· 999 999 1000 1000 vdda-phy-supply = <&vreg_l28a_0p925>; 1001 1001 vdda-pll-supply = <&vreg_l12a_1p8>; 1002 - 1003 - vdda-phy-max-microamp = <18380>; 1004 - vdda-pll-max-microamp = <9440>; 1005 - 1006 1002 vddp-ref-clk-supply = <&vreg_l25a_1p2>; 1007 - vddp-ref-clk-max-microamp = <100>; 1008 - vddp-ref-clk-always-on; 1009 1003 }; 1010 1004 1011 1005 &ufshc {
+64
arch/arm64/boot/dts/qcom/ipq6018-cp01-c1.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2 + /* 3 + * IPQ6018 CP01 board device tree source 4 + * 5 + * Copyright (c) 2019, The Linux Foundation. All rights reserved. 6 + */ 7 + 8 + /dts-v1/; 9 + 10 + #include "ipq6018.dtsi" 11 + 12 + / { 13 + model = "Qualcomm Technologies, Inc. IPQ6018/AP-CP01-C1"; 14 + compatible = "qcom,ipq6018-cp01", "qcom,ipq6018"; 15 + 16 + aliases { 17 + serial0 = &blsp1_uart3; 18 + }; 19 + 20 + chosen { 21 + stdout-path = "serial0:115200n8"; 22 + bootargs-append = " swiotlb=1"; 23 + }; 24 + }; 25 + 26 + &blsp1_uart3 { 27 + pinctrl-0 = <&serial_3_pins>; 28 + pinctrl-names = "default"; 29 + status = "ok"; 30 + }; 31 + 32 + &i2c_1 { 33 + pinctrl-0 = <&i2c_1_pins>; 34 + pinctrl-names = "default"; 35 + status = "ok"; 36 + }; 37 + 38 + &spi_0 { 39 + cs-select = <0>; 40 + status = "ok"; 41 + 42 + m25p80@0 { 43 + #address-cells = <1>; 44 + #size-cells = <1>; 45 + reg = <0>; 46 + compatible = "n25q128a11"; 47 + spi-max-frequency = <50000000>; 48 + }; 49 + }; 50 + 51 + &tlmm { 52 + i2c_1_pins: i2c-1-pins { 53 + pins = "gpio42", "gpio43"; 54 + function = "blsp2_i2c"; 55 + drive-strength = <8>; 56 + }; 57 + 58 + spi_0_pins: spi-0-pins { 59 + pins = "gpio38", "gpio39", "gpio40", "gpio41"; 60 + function = "blsp0_spi"; 61 + drive-strength = <8>; 62 + bias-pull-down; 63 + }; 64 + };
+443
arch/arm64/boot/dts/qcom/ipq6018.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2 + /* 3 + * IPQ6018 SoC device tree source 4 + * 5 + * Copyright (c) 2019, The Linux Foundation. All rights reserved. 6 + */ 7 + 8 + #include <dt-bindings/interrupt-controller/arm-gic.h> 9 + #include <dt-bindings/clock/qcom,gcc-ipq6018.h> 10 + #include <dt-bindings/reset/qcom,gcc-ipq6018.h> 11 + 12 + / { 13 + #address-cells = <2>; 14 + #size-cells = <2>; 15 + interrupt-parent = <&intc>; 16 + 17 + clocks { 18 + sleep_clk: sleep-clk { 19 + compatible = "fixed-clock"; 20 + clock-frequency = <32000>; 21 + #clock-cells = <0>; 22 + }; 23 + 24 + xo: xo { 25 + compatible = "fixed-clock"; 26 + clock-frequency = <24000000>; 27 + #clock-cells = <0>; 28 + }; 29 + }; 30 + 31 + cpus: cpus { 32 + #address-cells = <1>; 33 + #size-cells = <0>; 34 + 35 + CPU0: cpu@0 { 36 + device_type = "cpu"; 37 + compatible = "arm,cortex-a53"; 38 + reg = <0x0>; 39 + enable-method = "psci"; 40 + next-level-cache = <&L2_0>; 41 + }; 42 + 43 + CPU1: cpu@1 { 44 + device_type = "cpu"; 45 + compatible = "arm,cortex-a53"; 46 + enable-method = "psci"; 47 + reg = <0x1>; 48 + next-level-cache = <&L2_0>; 49 + }; 50 + 51 + CPU2: cpu@2 { 52 + device_type = "cpu"; 53 + compatible = "arm,cortex-a53"; 54 + enable-method = "psci"; 55 + reg = <0x2>; 56 + next-level-cache = <&L2_0>; 57 + }; 58 + 59 + CPU3: cpu@3 { 60 + device_type = "cpu"; 61 + compatible = "arm,cortex-a53"; 62 + enable-method = "psci"; 63 + reg = <0x3>; 64 + next-level-cache = <&L2_0>; 65 + }; 66 + 67 + L2_0: l2-cache { 68 + compatible = "cache"; 69 + cache-level = <0x2>; 70 + }; 71 + }; 72 + 73 + firmware { 74 + scm { 75 + compatible = "qcom,scm"; 76 + }; 77 + }; 78 + 79 + tcsr_mutex: hwlock { 80 + compatible = "qcom,tcsr-mutex"; 81 + syscon = <&tcsr_mutex_regs 0 0x80>; 82 + #hwlock-cells = <1>; 83 + }; 84 + 85 + pmuv8: pmu { 86 + compatible = "arm,cortex-a53-pmu"; 87 + interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | 88 + IRQ_TYPE_LEVEL_HIGH)>; 89 + }; 90 + 91 + psci: psci { 92 + compatible = "arm,psci-1.0"; 93 + method = "smc"; 94 + }; 95 + 96 + reserved-memory { 97 + #address-cells = <2>; 98 + #size-cells = <2>; 99 + ranges; 100 + 101 + tz: tz@48500000 { 102 + reg = <0x0 0x48500000 0x0 0x00200000>; 103 + no-map; 104 + }; 105 + 106 + smem_region: memory@4aa00000 { 107 + reg = <0x0 0x4aa00000 0x0 0x00100000>; 108 + no-map; 109 + }; 110 + 111 + q6_region: memory@4ab00000 { 112 + reg = <0x0 0x4ab00000 0x0 0x02800000>; 113 + no-map; 114 + }; 115 + }; 116 + 117 + smem { 118 + compatible = "qcom,smem"; 119 + memory-region = <&smem_region>; 120 + hwlocks = <&tcsr_mutex 0>; 121 + }; 122 + 123 + soc: soc { 124 + #address-cells = <1>; 125 + #size-cells = <1>; 126 + ranges = <0 0 0 0xffffffff>; 127 + dma-ranges; 128 + compatible = "simple-bus"; 129 + 130 + prng: qrng@e1000 { 131 + compatible = "qcom,prng-ee"; 132 + reg = <0xe3000 0x1000>; 133 + clocks = <&gcc GCC_PRNG_AHB_CLK>; 134 + clock-names = "core"; 135 + }; 136 + 137 + cryptobam: dma@704000 { 138 + compatible = "qcom,bam-v1.7.0"; 139 + reg = <0x00704000 0x20000>; 140 + interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>; 141 + clocks = <&gcc GCC_CRYPTO_AHB_CLK>; 142 + clock-names = "bam_clk"; 143 + #dma-cells = <1>; 144 + qcom,ee = <1>; 145 + qcom,controlled-remotely = <1>; 146 + qcom,config-pipe-trust-reg = <0>; 147 + }; 148 + 149 + crypto: crypto@73a000 { 150 + compatible = "qcom,crypto-v5.1"; 151 + reg = <0x0073a000 0x6000>; 152 + clocks = <&gcc GCC_CRYPTO_AHB_CLK>, 153 + <&gcc GCC_CRYPTO_AXI_CLK>, 154 + <&gcc GCC_CRYPTO_CLK>; 155 + clock-names = "iface", "bus", "core"; 156 + dmas = <&cryptobam 2>, <&cryptobam 3>; 157 + dma-names = "rx", "tx"; 158 + }; 159 + 160 + tlmm: pinctrl@1000000 { 161 + compatible = "qcom,ipq6018-pinctrl"; 162 + reg = <0x01000000 0x300000>; 163 + interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 164 + gpio-controller; 165 + #gpio-cells = <2>; 166 + gpio-ranges = <&tlmm 0 80>; 167 + interrupt-controller; 168 + #interrupt-cells = <2>; 169 + 170 + serial_3_pins: serial3-pinmux { 171 + pins = "gpio44", "gpio45"; 172 + function = "blsp2_uart"; 173 + drive-strength = <8>; 174 + bias-pull-down; 175 + }; 176 + }; 177 + 178 + gcc: gcc@1800000 { 179 + compatible = "qcom,gcc-ipq6018"; 180 + reg = <0x01800000 0x80000>; 181 + clocks = <&xo>, <&sleep_clk>; 182 + clock-names = "xo", "sleep_clk"; 183 + #clock-cells = <1>; 184 + #reset-cells = <1>; 185 + }; 186 + 187 + tcsr_mutex_regs: syscon@1905000 { 188 + compatible = "syscon"; 189 + reg = <0x01905000 0x8000>; 190 + }; 191 + 192 + tcsr_q6: syscon@1945000 { 193 + compatible = "syscon"; 194 + reg = <0x01945000 0xe000>; 195 + }; 196 + 197 + blsp_dma: dma@7884000 { 198 + compatible = "qcom,bam-v1.7.0"; 199 + reg = <0x07884000 0x2b000>; 200 + interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>; 201 + clocks = <&gcc GCC_BLSP1_AHB_CLK>; 202 + clock-names = "bam_clk"; 203 + #dma-cells = <1>; 204 + qcom,ee = <0>; 205 + }; 206 + 207 + blsp1_uart3: serial@78b1000 { 208 + compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 209 + reg = <0x078b1000 0x200>; 210 + interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>; 211 + clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>, 212 + <&gcc GCC_BLSP1_AHB_CLK>; 213 + clock-names = "core", "iface"; 214 + status = "disabled"; 215 + }; 216 + 217 + spi_0: spi@78b5000 { 218 + compatible = "qcom,spi-qup-v2.2.1"; 219 + #address-cells = <1>; 220 + #size-cells = <0>; 221 + reg = <0x078b5000 0x600>; 222 + interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 223 + spi-max-frequency = <50000000>; 224 + clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>, 225 + <&gcc GCC_BLSP1_AHB_CLK>; 226 + clock-names = "core", "iface"; 227 + dmas = <&blsp_dma 12>, <&blsp_dma 13>; 228 + dma-names = "tx", "rx"; 229 + status = "disabled"; 230 + }; 231 + 232 + spi_1: spi@78b6000 { 233 + compatible = "qcom,spi-qup-v2.2.1"; 234 + #address-cells = <1>; 235 + #size-cells = <0>; 236 + reg = <0x078b6000 0x600>; 237 + interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 238 + spi-max-frequency = <50000000>; 239 + clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>, 240 + <&gcc GCC_BLSP1_AHB_CLK>; 241 + clock-names = "core", "iface"; 242 + dmas = <&blsp_dma 14>, <&blsp_dma 15>; 243 + dma-names = "tx", "rx"; 244 + status = "disabled"; 245 + }; 246 + 247 + i2c_0: i2c@78b6000 { 248 + compatible = "qcom,i2c-qup-v2.2.1"; 249 + #address-cells = <1>; 250 + #size-cells = <0>; 251 + reg = <0x078b6000 0x600>; 252 + interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 253 + clocks = <&gcc GCC_BLSP1_AHB_CLK>, 254 + <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>; 255 + clock-names = "iface", "core"; 256 + clock-frequency = <400000>; 257 + dmas = <&blsp_dma 15>, <&blsp_dma 14>; 258 + dma-names = "rx", "tx"; 259 + status = "disabled"; 260 + }; 261 + 262 + i2c_1: i2c@78b7000 { /* BLSP1 QUP2 */ 263 + compatible = "qcom,i2c-qup-v2.2.1"; 264 + #address-cells = <1>; 265 + #size-cells = <0>; 266 + reg = <0x078b7000 0x600>; 267 + interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 268 + clocks = <&gcc GCC_BLSP1_AHB_CLK>, 269 + <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>; 270 + clock-names = "iface", "core"; 271 + clock-frequency = <400000>; 272 + dmas = <&blsp_dma 17>, <&blsp_dma 16>; 273 + dma-names = "rx", "tx"; 274 + status = "disabled"; 275 + }; 276 + 277 + intc: interrupt-controller@b000000 { 278 + compatible = "qcom,msm-qgic2"; 279 + interrupt-controller; 280 + #interrupt-cells = <0x3>; 281 + reg = <0x0b000000 0x1000>, /*GICD*/ 282 + <0x0b002000 0x1000>, /*GICC*/ 283 + <0x0b001000 0x1000>, /*GICH*/ 284 + <0x0b004000 0x1000>; /*GICV*/ 285 + interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 286 + }; 287 + 288 + watchdog@b017000 { 289 + compatible = "qcom,kpss-wdt"; 290 + interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>; 291 + reg = <0x0b017000 0x40>; 292 + clocks = <&sleep_clk>; 293 + timeout-sec = <10>; 294 + }; 295 + 296 + apcs_glb: mailbox@b111000 { 297 + compatible = "qcom,ipq8074-apcs-apps-global"; 298 + reg = <0x0b111000 0xc>; 299 + 300 + #mbox-cells = <1>; 301 + }; 302 + 303 + timer { 304 + compatible = "arm,armv8-timer"; 305 + interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 306 + <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 307 + <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 308 + <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 309 + }; 310 + 311 + timer@b120000 { 312 + #address-cells = <1>; 313 + #size-cells = <1>; 314 + ranges; 315 + compatible = "arm,armv7-timer-mem"; 316 + reg = <0x0b120000 0x1000>; 317 + clock-frequency = <19200000>; 318 + 319 + frame@b120000 { 320 + frame-number = <0>; 321 + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 322 + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 323 + reg = <0x0b121000 0x1000>, 324 + <0x0b122000 0x1000>; 325 + }; 326 + 327 + frame@b123000 { 328 + frame-number = <1>; 329 + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 330 + reg = <0xb123000 0x1000>; 331 + status = "disabled"; 332 + }; 333 + 334 + frame@b124000 { 335 + frame-number = <2>; 336 + interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 337 + reg = <0x0b124000 0x1000>; 338 + status = "disabled"; 339 + }; 340 + 341 + frame@b125000 { 342 + frame-number = <3>; 343 + interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 344 + reg = <0x0b125000 0x1000>; 345 + status = "disabled"; 346 + }; 347 + 348 + frame@b126000 { 349 + frame-number = <4>; 350 + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 351 + reg = <0x0b126000 0x1000>; 352 + status = "disabled"; 353 + }; 354 + 355 + frame@b127000 { 356 + frame-number = <5>; 357 + interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 358 + reg = <0x0b127000 0x1000>; 359 + status = "disabled"; 360 + }; 361 + 362 + frame@b128000 { 363 + frame-number = <6>; 364 + interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 365 + reg = <0x0b128000 0x1000>; 366 + status = "disabled"; 367 + }; 368 + }; 369 + 370 + q6v5_wcss: remoteproc@cd00000 { 371 + compatible = "qcom,ipq8074-wcss-pil"; 372 + reg = <0x0cd00000 0x4040>, 373 + <0x004ab000 0x20>; 374 + reg-names = "qdsp6", 375 + "rmb"; 376 + interrupts-extended = <&intc GIC_SPI 325 IRQ_TYPE_EDGE_RISING>, 377 + <&wcss_smp2p_in 0 0>, 378 + <&wcss_smp2p_in 1 0>, 379 + <&wcss_smp2p_in 2 0>, 380 + <&wcss_smp2p_in 3 0>; 381 + interrupt-names = "wdog", 382 + "fatal", 383 + "ready", 384 + "handover", 385 + "stop-ack"; 386 + 387 + resets = <&gcc GCC_WCSSAON_RESET>, 388 + <&gcc GCC_WCSS_BCR>, 389 + <&gcc GCC_WCSS_Q6_BCR>; 390 + 391 + reset-names = "wcss_aon_reset", 392 + "wcss_reset", 393 + "wcss_q6_reset"; 394 + 395 + clocks = <&gcc GCC_PRNG_AHB_CLK>; 396 + clock-names = "prng"; 397 + 398 + qcom,halt-regs = <&tcsr_q6 0xa000 0xd000 0x0>; 399 + 400 + qcom,smem-states = <&wcss_smp2p_out 0>, 401 + <&wcss_smp2p_out 1>; 402 + qcom,smem-state-names = "shutdown", 403 + "stop"; 404 + 405 + memory-region = <&q6_region>; 406 + 407 + glink-edge { 408 + interrupts = <GIC_SPI 321 IRQ_TYPE_EDGE_RISING>; 409 + qcom,remote-pid = <1>; 410 + mboxes = <&apcs_glb 8>; 411 + 412 + qrtr_requests { 413 + qcom,glink-channels = "IPCRTR"; 414 + }; 415 + }; 416 + }; 417 + 418 + }; 419 + 420 + wcss: wcss-smp2p { 421 + compatible = "qcom,smp2p"; 422 + qcom,smem = <435>, <428>; 423 + 424 + interrupt-parent = <&intc>; 425 + interrupts = <GIC_SPI 322 IRQ_TYPE_EDGE_RISING>; 426 + 427 + mboxes = <&apcs_glb 9>; 428 + 429 + qcom,local-pid = <0>; 430 + qcom,remote-pid = <1>; 431 + 432 + wcss_smp2p_out: master-kernel { 433 + qcom,entry-name = "master-kernel"; 434 + #qcom,smem-state-cells = <1>; 435 + }; 436 + 437 + wcss_smp2p_in: slave-kernel { 438 + qcom,entry-name = "slave-kernel"; 439 + interrupt-controller; 440 + #interrupt-cells = <2>; 441 + }; 442 + }; 443 + };
+1
arch/arm64/boot/dts/qcom/ipq8074.dtsi
··· 21 21 reg = <0x1000000 0x300000>; 22 22 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 23 23 gpio-controller; 24 + gpio-ranges = <&tlmm 0 0 70>; 24 25 #gpio-cells = <0x2>; 25 26 interrupt-controller; 26 27 #interrupt-cells = <0x2>;
+8
arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
··· 15 15 stdout-path = "serial0"; 16 16 }; 17 17 18 + reserved-memory { 19 + /* Additional memory used by Samsung firmware modifications */ 20 + tz-apps@85500000 { 21 + reg = <0x0 0x85500000 0x0 0xb00000>; 22 + no-map; 23 + }; 24 + }; 25 + 18 26 soc { 19 27 sdhci@7824000 { 20 28 status = "okay";
+20 -1
arch/arm64/boot/dts/qcom/msm8916.dtsi
··· 423 423 reg = <0x1000000 0x300000>; 424 424 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 425 425 gpio-controller; 426 + gpio-ranges = <&msmgpio 0 0 122>; 426 427 #gpio-cells = <2>; 427 428 interrupt-controller; 428 429 #interrupt-cells = <2>; ··· 861 860 }; 862 861 863 862 tsens: thermal-sensor@4a9000 { 864 - compatible = "qcom,msm8916-tsens"; 863 + compatible = "qcom,msm8916-tsens", "qcom,tsens-v0_1"; 865 864 reg = <0x4a9000 0x1000>, /* TM */ 866 865 <0x4a8000 0x1000>; /* SROT */ 867 866 nvmem-cells = <&tsens_caldata>, <&tsens_calsel>; ··· 1130 1129 qcom,remote-pid = <1>; 1131 1130 1132 1131 label = "hexagon"; 1132 + 1133 + fastrpc { 1134 + compatible = "qcom,fastrpc"; 1135 + qcom,smd-channels = "fastrpcsmd-apps-dsp"; 1136 + label = "adsp"; 1137 + 1138 + #address-cells = <1>; 1139 + #size-cells = <0>; 1140 + 1141 + cb@1{ 1142 + compatible = "qcom,fastrpc-compute-cb"; 1143 + reg = <1>; 1144 + }; 1145 + }; 1133 1146 }; 1134 1147 }; 1135 1148 ··· 1430 1415 1431 1416 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1432 1417 clock-names = "apb_pclk", "atclk"; 1418 + arm,coresight-loses-context-with-cpu; 1433 1419 1434 1420 cpu = <&CPU0>; 1435 1421 ··· 1449 1433 1450 1434 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1451 1435 clock-names = "apb_pclk", "atclk"; 1436 + arm,coresight-loses-context-with-cpu; 1452 1437 1453 1438 cpu = <&CPU1>; 1454 1439 ··· 1468 1451 1469 1452 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1470 1453 clock-names = "apb_pclk", "atclk"; 1454 + arm,coresight-loses-context-with-cpu; 1471 1455 1472 1456 cpu = <&CPU2>; 1473 1457 ··· 1487 1469 1488 1470 clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>; 1489 1471 clock-names = "apb_pclk", "atclk"; 1472 + arm,coresight-loses-context-with-cpu; 1490 1473 1491 1474 cpu = <&CPU3>; 1492 1475
+1
arch/arm64/boot/dts/qcom/msm8992.dtsi
··· 171 171 reg = <0xfd510000 0x4000>; 172 172 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 173 173 gpio-controller; 174 + gpio-ranges = <&msmgpio 0 0 146>; 174 175 #gpio-cells = <2>; 175 176 interrupt-controller; 176 177 #interrupt-cells = <2>;
+1
arch/arm64/boot/dts/qcom/msm8994.dtsi
··· 133 133 reg = <0xfd510000 0x4000>; 134 134 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 135 135 gpio-controller; 136 + gpio-ranges = <&msmgpio 0 0 146>; 136 137 #gpio-cells = <2>; 137 138 interrupt-controller; 138 139 #interrupt-cells = <2>;
+23 -10
arch/arm64/boot/dts/qcom/msm8996.dtsi
··· 443 443 #reset-cells = <1>; 444 444 #power-domain-cells = <1>; 445 445 reg = <0x00300000 0x90000>; 446 + 447 + clocks = <&rpmcc RPM_SMD_LN_BB_CLK>; 448 + clock-names = "cxo2"; 446 449 }; 447 450 448 451 tsens0: thermal-sensor@4a9000 { 449 - compatible = "qcom,msm8996-tsens"; 452 + compatible = "qcom,msm8996-tsens", "qcom,tsens-v2"; 450 453 reg = <0x004a9000 0x1000>, /* TM */ 451 454 <0x004a8000 0x1000>; /* SROT */ 452 455 #qcom,sensors = <13>; ··· 460 457 }; 461 458 462 459 tsens1: thermal-sensor@4ad000 { 463 - compatible = "qcom,msm8996-tsens"; 460 + compatible = "qcom,msm8996-tsens", "qcom,tsens-v2"; 464 461 reg = <0x004ad000 0x1000>, /* TM */ 465 462 <0x004ac000 0x1000>; /* SROT */ 466 463 #qcom,sensors = <8>; ··· 698 695 reg = <0x01010000 0x300000>; 699 696 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 700 697 gpio-controller; 698 + gpio-ranges = <&msmgpio 0 0 150>; 701 699 #gpio-cells = <2>; 702 700 interrupt-controller; 703 701 #interrupt-cells = <2>; ··· 886 882 reg = <0x00624000 0x2500>; 887 883 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>; 888 884 889 - phys = <&ufsphy>; 885 + phys = <&ufsphy_lane>; 890 886 phy-names = "ufsphy"; 891 887 892 888 power-domains = <&gcc UFS_GDSC>; ··· 938 934 }; 939 935 940 936 ufsphy: phy@627000 { 941 - compatible = "qcom,msm8996-ufs-phy-qmp-14nm"; 942 - reg = <0x00627000 0xda8>; 943 - reg-names = "phy_mem"; 944 - #phy-cells = <0>; 937 + compatible = "qcom,msm8996-qmp-ufs-phy"; 938 + reg = <0x00627000 0x1c4>; 939 + #address-cells = <1>; 940 + #size-cells = <1>; 941 + ranges; 945 942 946 - clock-names = "ref_clk_src", "ref_clk"; 947 - clocks = <&rpmcc RPM_SMD_LN_BB_CLK>, 948 - <&gcc GCC_UFS_CLKREF_CLK>; 943 + clocks = <&gcc GCC_UFS_CLKREF_CLK>; 944 + clock-names = "ref"; 945 + 949 946 resets = <&ufshc 0>; 947 + reset-names = "ufsphy"; 950 948 status = "disabled"; 949 + 950 + ufsphy_lane: lanes@627400 { 951 + reg = <0x627400 0x12c>, 952 + <0x627600 0x200>, 953 + <0x627c00 0x1b4>; 954 + #phy-cells = <0>; 955 + }; 951 956 }; 952 957 953 958 camss: camss@a00000 {
+6 -2
arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
··· 95 95 }; 96 96 97 97 &funnel4 { 98 - status = "okay"; 98 + // FIXME: Figure out why clock late_initcall crashes the board with 99 + // this enabled. 100 + // status = "okay"; 99 101 }; 100 102 101 103 &funnel5 { 102 - status = "okay"; 104 + // FIXME: Figure out why clock late_initcall crashes the board with 105 + // this enabled. 106 + // status = "okay"; 103 107 }; 104 108 105 109 &pm8005_lsid1 {
+8 -8
arch/arm64/boot/dts/qcom/msm8998.dtsi
··· 130 130 131 131 CPU0: cpu@0 { 132 132 device_type = "cpu"; 133 - compatible = "arm,armv8"; 133 + compatible = "qcom,kryo280"; 134 134 reg = <0x0 0x0>; 135 135 enable-method = "psci"; 136 136 cpu-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>; ··· 149 149 150 150 CPU1: cpu@1 { 151 151 device_type = "cpu"; 152 - compatible = "arm,armv8"; 152 + compatible = "qcom,kryo280"; 153 153 reg = <0x0 0x1>; 154 154 enable-method = "psci"; 155 155 cpu-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>; ··· 164 164 165 165 CPU2: cpu@2 { 166 166 device_type = "cpu"; 167 - compatible = "arm,armv8"; 167 + compatible = "qcom,kryo280"; 168 168 reg = <0x0 0x2>; 169 169 enable-method = "psci"; 170 170 cpu-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>; ··· 179 179 180 180 CPU3: cpu@3 { 181 181 device_type = "cpu"; 182 - compatible = "arm,armv8"; 182 + compatible = "qcom,kryo280"; 183 183 reg = <0x0 0x3>; 184 184 enable-method = "psci"; 185 185 cpu-idle-states = <&LITTLE_CPU_SLEEP_0 &LITTLE_CPU_SLEEP_1>; ··· 194 194 195 195 CPU4: cpu@100 { 196 196 device_type = "cpu"; 197 - compatible = "arm,armv8"; 197 + compatible = "qcom,kryo280"; 198 198 reg = <0x0 0x100>; 199 199 enable-method = "psci"; 200 200 cpu-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>; ··· 213 213 214 214 CPU5: cpu@101 { 215 215 device_type = "cpu"; 216 - compatible = "arm,armv8"; 216 + compatible = "qcom,kryo280"; 217 217 reg = <0x0 0x101>; 218 218 enable-method = "psci"; 219 219 cpu-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>; ··· 228 228 229 229 CPU6: cpu@102 { 230 230 device_type = "cpu"; 231 - compatible = "arm,armv8"; 231 + compatible = "qcom,kryo280"; 232 232 reg = <0x0 0x102>; 233 233 enable-method = "psci"; 234 234 cpu-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>; ··· 243 243 244 244 CPU7: cpu@103 { 245 245 device_type = "cpu"; 246 - compatible = "arm,armv8"; 246 + compatible = "qcom,kryo280"; 247 247 reg = <0x0 0x103>; 248 248 enable-method = "psci"; 249 249 cpu-idle-states = <&BIG_CPU_SLEEP_0 &BIG_CPU_SLEEP_1>;
+1 -1
arch/arm64/boot/dts/qcom/pm6150.dtsi
··· 20 20 mode-bootloader = <0x2>; 21 21 mode-recovery = <0x1>; 22 22 23 - pwrkey { 23 + pm6150_pwrkey: pwrkey { 24 24 compatible = "qcom,pm8941-pwrkey"; 25 25 interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>; 26 26 debounce = <15625>;
+1 -1
arch/arm64/boot/dts/qcom/pm8998.dtsi
··· 45 45 mode-bootloader = <0x2>; 46 46 mode-recovery = <0x1>; 47 47 48 - pwrkey { 48 + pm8998_pwrkey: pwrkey { 49 49 compatible = "qcom,pm8941-pwrkey"; 50 50 interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>; 51 51 debounce = <15625>;
+1
arch/arm64/boot/dts/qcom/qcs404-evb.dtsi
··· 200 200 &sdcc1 { 201 201 status = "ok"; 202 202 203 + supports-cqe; 203 204 mmc-ddr-1_8v; 204 205 mmc-hs400-1_8v; 205 206 bus-width = <8>;
+2 -2
arch/arm64/boot/dts/qcom/qcs404.dtsi
··· 685 685 }; 686 686 687 687 sdcc1: sdcc@7804000 { 688 - compatible = "qcom,sdhci-msm-v5"; 688 + compatible = "qcom,qcs404-sdhci", "qcom,sdhci-msm-v5"; 689 689 reg = <0x07804000 0x1000>, <0x7805000 0x1000>; 690 - reg-names = "hc_mem", "cmdq_mem"; 690 + reg-names = "hc", "cqhci"; 691 691 692 692 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 693 693 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
+52 -12
arch/arm64/boot/dts/qcom/sc7180-idp.dts
··· 7 7 8 8 /dts-v1/; 9 9 10 + #include <dt-bindings/gpio/gpio.h> 10 11 #include <dt-bindings/regulator/qcom,rpmh-regulator.h> 11 12 #include "sc7180.dtsi" 12 13 #include "pm6150.dtsi" ··· 18 17 compatible = "qcom,sc7180-idp", "qcom,sc7180"; 19 18 20 19 aliases { 20 + bluetooth0 = &bluetooth; 21 21 hsuart0 = &uart3; 22 22 serial0 = &uart8; 23 23 }; ··· 103 101 }; 104 102 105 103 vreg_l12a_1p8: ldo12 { 106 - regulator-min-microvolt = <1696000>; 107 - regulator-max-microvolt = <1952000>; 108 - regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 104 + regulator-min-microvolt = <1800000>; 105 + regulator-max-microvolt = <1800000>; 106 + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 109 107 }; 110 108 111 109 vreg_l13a_1p8: ldo13 { ··· 145 143 }; 146 144 147 145 vreg_l19a_2p9: ldo19 { 148 - regulator-min-microvolt = <2696000>; 149 - regulator-max-microvolt = <3304000>; 150 - regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 146 + regulator-min-microvolt = <2960000>; 147 + regulator-max-microvolt = <2960000>; 148 + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 151 149 }; 152 150 }; 153 151 ··· 191 189 }; 192 190 193 191 vreg_l6c_2p9: ldo6 { 194 - regulator-min-microvolt = <2696000>; 195 - regulator-max-microvolt = <3304000>; 196 - regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 192 + regulator-min-microvolt = <1800000>; 193 + regulator-max-microvolt = <2950000>; 194 + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 197 195 }; 198 196 199 197 vreg_l7c_3p0: ldo7 { ··· 209 207 }; 210 208 211 209 vreg_l9c_2p9: ldo9 { 212 - regulator-min-microvolt = <2952000>; 213 - regulator-max-microvolt = <3304000>; 214 - regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; 210 + regulator-min-microvolt = <2960000>; 211 + regulator-max-microvolt = <2960000>; 212 + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; 215 213 }; 216 214 217 215 vreg_l10c_3p3: ldo10 { ··· 256 254 status = "okay"; 257 255 }; 258 256 257 + &sdhc_1 { 258 + status = "okay"; 259 + 260 + pinctrl-names = "default", "sleep"; 261 + pinctrl-0 = <&sdc1_on>; 262 + pinctrl-1 = <&sdc1_off>; 263 + vmmc-supply = <&vreg_l19a_2p9>; 264 + vqmmc-supply = <&vreg_l12a_1p8>; 265 + }; 266 + 267 + &sdhc_2 { 268 + status = "okay"; 269 + 270 + pinctrl-names = "default","sleep"; 271 + pinctrl-0 = <&sdc2_on>; 272 + pinctrl-1 = <&sdc2_off>; 273 + vmmc-supply = <&vreg_l9c_2p9>; 274 + vqmmc-supply = <&vreg_l6c_2p9>; 275 + 276 + cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>; 277 + }; 278 + 259 279 &uart3 { 260 280 status = "okay"; 281 + 282 + bluetooth: wcn3990-bt { 283 + compatible = "qcom,wcn3990-bt"; 284 + vddio-supply = <&vreg_l10a_1p8>; 285 + vddxo-supply = <&vreg_l1c_1p8>; 286 + vddrf-supply = <&vreg_l2c_1p3>; 287 + vddch0-supply = <&vreg_l10c_3p3>; 288 + max-speed = <3200000>; 289 + clocks = <&rpmhcc RPMH_RF_CLK2>; 290 + }; 261 291 }; 262 292 263 293 &uart8 { ··· 319 285 status = "okay"; 320 286 vdda-phy-supply = <&vreg_l3c_1p2>; 321 287 vdda-pll-supply = <&vreg_l4a_0p8>; 288 + }; 289 + 290 + &venus { 291 + video-firmware { 292 + iommus = <&apps_smmu 0x0c42 0x0>; 293 + }; 322 294 }; 323 295 324 296 /* PINCTRL - additions to nodes defined in sc7180.dtsi */
+600 -5
arch/arm64/boot/dts/qcom/sc7180.dtsi
··· 5 5 * Copyright (c) 2019, The Linux Foundation. All rights reserved. 6 6 */ 7 7 8 + #include <dt-bindings/clock/qcom,dispcc-sc7180.h> 8 9 #include <dt-bindings/clock/qcom,gcc-sc7180.h> 10 + #include <dt-bindings/clock/qcom,gpucc-sc7180.h> 9 11 #include <dt-bindings/clock/qcom,rpmh.h> 12 + #include <dt-bindings/clock/qcom,videocc-sc7180.h> 10 13 #include <dt-bindings/interrupt-controller/arm-gic.h> 11 14 #include <dt-bindings/phy/phy-qcom-qusb2.h> 12 15 #include <dt-bindings/power/qcom-aoss-qmp.h> ··· 78 75 reg = <0x0 0x80900000 0x0 0x200000>; 79 76 no-map; 80 77 }; 78 + 79 + venus_mem: memory@8f600000 { 80 + reg = <0 0x8f600000 0 0x500000>; 81 + no-map; 82 + }; 81 83 }; 82 84 83 85 cpus { ··· 94 86 compatible = "arm,armv8"; 95 87 reg = <0x0 0x0>; 96 88 enable-method = "psci"; 89 + capacity-dmips-mhz = <1024>; 90 + dynamic-power-coefficient = <100>; 97 91 next-level-cache = <&L2_0>; 98 92 #cooling-cells = <2>; 99 93 qcom,freq-domain = <&cpufreq_hw 0>; ··· 113 103 compatible = "arm,armv8"; 114 104 reg = <0x0 0x100>; 115 105 enable-method = "psci"; 106 + capacity-dmips-mhz = <1024>; 107 + dynamic-power-coefficient = <100>; 116 108 next-level-cache = <&L2_100>; 117 109 #cooling-cells = <2>; 118 110 qcom,freq-domain = <&cpufreq_hw 0>; ··· 129 117 compatible = "arm,armv8"; 130 118 reg = <0x0 0x200>; 131 119 enable-method = "psci"; 120 + capacity-dmips-mhz = <1024>; 121 + dynamic-power-coefficient = <100>; 132 122 next-level-cache = <&L2_200>; 133 123 #cooling-cells = <2>; 134 124 qcom,freq-domain = <&cpufreq_hw 0>; ··· 145 131 compatible = "arm,armv8"; 146 132 reg = <0x0 0x300>; 147 133 enable-method = "psci"; 134 + capacity-dmips-mhz = <1024>; 135 + dynamic-power-coefficient = <100>; 148 136 next-level-cache = <&L2_300>; 149 137 #cooling-cells = <2>; 150 138 qcom,freq-domain = <&cpufreq_hw 0>; ··· 161 145 compatible = "arm,armv8"; 162 146 reg = <0x0 0x400>; 163 147 enable-method = "psci"; 148 + capacity-dmips-mhz = <1024>; 149 + dynamic-power-coefficient = <100>; 164 150 next-level-cache = <&L2_400>; 165 151 #cooling-cells = <2>; 166 152 qcom,freq-domain = <&cpufreq_hw 0>; ··· 177 159 compatible = "arm,armv8"; 178 160 reg = <0x0 0x500>; 179 161 enable-method = "psci"; 162 + capacity-dmips-mhz = <1024>; 163 + dynamic-power-coefficient = <100>; 180 164 next-level-cache = <&L2_500>; 181 165 #cooling-cells = <2>; 182 166 qcom,freq-domain = <&cpufreq_hw 0>; ··· 193 173 compatible = "arm,armv8"; 194 174 reg = <0x0 0x600>; 195 175 enable-method = "psci"; 176 + capacity-dmips-mhz = <1740>; 177 + dynamic-power-coefficient = <405>; 196 178 next-level-cache = <&L2_600>; 197 179 #cooling-cells = <2>; 198 180 qcom,freq-domain = <&cpufreq_hw 1>; ··· 209 187 compatible = "arm,armv8"; 210 188 reg = <0x0 0x700>; 211 189 enable-method = "psci"; 190 + capacity-dmips-mhz = <1740>; 191 + dynamic-power-coefficient = <405>; 212 192 next-level-cache = <&L2_700>; 213 193 #cooling-cells = <2>; 214 194 qcom,freq-domain = <&cpufreq_hw 1>; 215 195 L2_700: l2-cache { 216 196 compatible = "cache"; 217 197 next-level-cache = <&L3_0>; 198 + }; 199 + }; 200 + 201 + cpu-map { 202 + cluster0 { 203 + core0 { 204 + cpu = <&CPU0>; 205 + }; 206 + 207 + core1 { 208 + cpu = <&CPU1>; 209 + }; 210 + 211 + core2 { 212 + cpu = <&CPU2>; 213 + }; 214 + 215 + core3 { 216 + cpu = <&CPU3>; 217 + }; 218 + 219 + core4 { 220 + cpu = <&CPU4>; 221 + }; 222 + 223 + core5 { 224 + cpu = <&CPU5>; 225 + }; 226 + 227 + core6 { 228 + cpu = <&CPU6>; 229 + }; 230 + 231 + core7 { 232 + cpu = <&CPU7>; 233 + }; 218 234 }; 219 235 }; 220 236 }; ··· 359 299 method = "smc"; 360 300 }; 361 301 362 - soc: soc { 302 + soc: soc@0 { 363 303 #address-cells = <2>; 364 304 #size-cells = <2>; 365 305 ranges = <0 0 0 0 0x10 0>; ··· 370 310 compatible = "qcom,gcc-sc7180"; 371 311 reg = <0 0x00100000 0 0x1f0000>; 372 312 clocks = <&rpmhcc RPMH_CXO_CLK>, 373 - <&rpmhcc RPMH_CXO_CLK_A>; 374 - clock-names = "bi_tcxo", "bi_tcxo_ao"; 313 + <&rpmhcc RPMH_CXO_CLK_A>, 314 + <&sleep_clk>; 315 + clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk"; 375 316 #clock-cells = <1>; 376 317 #reset-cells = <1>; 377 318 #power-domain-cells = <1>; ··· 390 329 }; 391 330 }; 392 331 332 + sdhc_1: sdhci@7c4000 { 333 + compatible = "qcom,sc7180-sdhci", "qcom,sdhci-msm-v5"; 334 + reg = <0 0x7c4000 0 0x1000>, 335 + <0 0x07c5000 0 0x1000>; 336 + reg-names = "hc", "cqhci"; 337 + 338 + iommus = <&apps_smmu 0x60 0x0>; 339 + interrupts = <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH>, 340 + <GIC_SPI 644 IRQ_TYPE_LEVEL_HIGH>; 341 + interrupt-names = "hc_irq", "pwr_irq"; 342 + 343 + clocks = <&gcc GCC_SDCC1_APPS_CLK>, 344 + <&gcc GCC_SDCC1_AHB_CLK>; 345 + clock-names = "core", "iface"; 346 + 347 + bus-width = <8>; 348 + non-removable; 349 + supports-cqe; 350 + 351 + mmc-ddr-1_8v; 352 + mmc-hs200-1_8v; 353 + mmc-hs400-1_8v; 354 + mmc-hs400-enhanced-strobe; 355 + 356 + status = "disabled"; 357 + }; 358 + 393 359 qupv3_id_0: geniqup@8c0000 { 394 360 compatible = "qcom,geni-se-qup"; 395 361 reg = <0 0x008c0000 0 0x6000>; ··· 426 338 #address-cells = <2>; 427 339 #size-cells = <2>; 428 340 ranges; 341 + iommus = <&apps_smmu 0x43 0x0>; 429 342 status = "disabled"; 430 343 431 344 i2c0: i2c@880000 { ··· 635 546 #address-cells = <2>; 636 547 #size-cells = <2>; 637 548 ranges; 549 + iommus = <&apps_smmu 0x4c3 0x0>; 638 550 status = "disabled"; 639 551 640 552 i2c6: i2c@a80000 { ··· 833 743 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>; 834 744 status = "disabled"; 835 745 }; 746 + }; 747 + 748 + config_noc: interconnect@1500000 { 749 + compatible = "qcom,sc7180-config-noc"; 750 + reg = <0 0x01500000 0 0x28000>; 751 + #interconnect-cells = <1>; 752 + qcom,bcm-voters = <&apps_bcm_voter>; 753 + }; 754 + 755 + system_noc: interconnect@1620000 { 756 + compatible = "qcom,sc7180-system-noc"; 757 + reg = <0 0x01620000 0 0x17080>; 758 + #interconnect-cells = <1>; 759 + qcom,bcm-voters = <&apps_bcm_voter>; 760 + }; 761 + 762 + mc_virt: interconnect@1638000 { 763 + compatible = "qcom,sc7180-mc-virt"; 764 + reg = <0 0x01638000 0 0x1000>; 765 + #interconnect-cells = <1>; 766 + qcom,bcm-voters = <&apps_bcm_voter>; 767 + }; 768 + 769 + qup_virt: interconnect@1650000 { 770 + compatible = "qcom,sc7180-qup-virt"; 771 + reg = <0 0x01650000 0 0x1000>; 772 + #interconnect-cells = <1>; 773 + qcom,bcm-voters = <&apps_bcm_voter>; 774 + }; 775 + 776 + aggre1_noc: interconnect@16e0000 { 777 + compatible = "qcom,sc7180-aggre1-noc"; 778 + reg = <0 0x016e0000 0 0x15080>; 779 + #interconnect-cells = <1>; 780 + qcom,bcm-voters = <&apps_bcm_voter>; 781 + }; 782 + 783 + aggre2_noc: interconnect@1705000 { 784 + compatible = "qcom,sc7180-aggre2-noc"; 785 + reg = <0 0x01705000 0 0x9000>; 786 + #interconnect-cells = <1>; 787 + qcom,bcm-voters = <&apps_bcm_voter>; 788 + }; 789 + 790 + compute_noc: interconnect@170e000 { 791 + compatible = "qcom,sc7180-compute-noc"; 792 + reg = <0 0x0170e000 0 0x6000>; 793 + #interconnect-cells = <1>; 794 + qcom,bcm-voters = <&apps_bcm_voter>; 795 + }; 796 + 797 + mmss_noc: interconnect@1740000 { 798 + compatible = "qcom,sc7180-mmss-noc"; 799 + reg = <0 0x01740000 0 0x1c100>; 800 + #interconnect-cells = <1>; 801 + qcom,bcm-voters = <&apps_bcm_voter>; 802 + }; 803 + 804 + ipa_virt: interconnect@1e00000 { 805 + compatible = "qcom,sc7180-ipa-virt"; 806 + reg = <0 0x01e00000 0 0x1000>; 807 + #interconnect-cells = <1>; 808 + qcom,bcm-voters = <&apps_bcm_voter>; 836 809 }; 837 810 838 811 tcsr_mutex_regs: syscon@1f40000 { ··· 1190 1037 function = "qup15"; 1191 1038 }; 1192 1039 }; 1040 + 1041 + sdc1_on: sdc1-on { 1042 + pinconf-clk { 1043 + pins = "sdc1_clk"; 1044 + bias-disable; 1045 + drive-strength = <16>; 1046 + }; 1047 + 1048 + pinconf-cmd { 1049 + pins = "sdc1_cmd"; 1050 + bias-pull-up; 1051 + drive-strength = <10>; 1052 + }; 1053 + 1054 + pinconf-data { 1055 + pins = "sdc1_data"; 1056 + bias-pull-up; 1057 + drive-strength = <10>; 1058 + }; 1059 + 1060 + pinconf-rclk { 1061 + pins = "sdc1_rclk"; 1062 + bias-pull-down; 1063 + }; 1064 + }; 1065 + 1066 + sdc1_off: sdc1-off { 1067 + pinconf-clk { 1068 + pins = "sdc1_clk"; 1069 + bias-disable; 1070 + drive-strength = <2>; 1071 + }; 1072 + 1073 + pinconf-cmd { 1074 + pins = "sdc1_cmd"; 1075 + bias-pull-up; 1076 + drive-strength = <2>; 1077 + }; 1078 + 1079 + pinconf-data { 1080 + pins = "sdc1_data"; 1081 + bias-pull-up; 1082 + drive-strength = <2>; 1083 + }; 1084 + 1085 + pinconf-rclk { 1086 + pins = "sdc1_rclk"; 1087 + bias-pull-down; 1088 + }; 1089 + }; 1090 + 1091 + sdc2_on: sdc2-on { 1092 + pinconf-clk { 1093 + pins = "sdc2_clk"; 1094 + bias-disable; 1095 + drive-strength = <16>; 1096 + }; 1097 + 1098 + pinconf-cmd { 1099 + pins = "sdc2_cmd"; 1100 + bias-pull-up; 1101 + drive-strength = <10>; 1102 + }; 1103 + 1104 + pinconf-data { 1105 + pins = "sdc2_data"; 1106 + bias-pull-up; 1107 + drive-strength = <10>; 1108 + }; 1109 + 1110 + pinconf-sd-cd { 1111 + pins = "gpio69"; 1112 + bias-pull-up; 1113 + drive-strength = <2>; 1114 + }; 1115 + }; 1116 + 1117 + sdc2_off: sdc2-off { 1118 + pinconf-clk { 1119 + pins = "sdc2_clk"; 1120 + bias-disable; 1121 + drive-strength = <2>; 1122 + }; 1123 + 1124 + pinconf-cmd { 1125 + pins = "sdc2_cmd"; 1126 + bias-pull-up; 1127 + drive-strength = <2>; 1128 + }; 1129 + 1130 + pinconf-data { 1131 + pins = "sdc2_data"; 1132 + bias-pull-up; 1133 + drive-strength = <2>; 1134 + }; 1135 + 1136 + pinconf-sd-cd { 1137 + pins = "gpio69"; 1138 + bias-disable; 1139 + drive-strength = <2>; 1140 + }; 1141 + }; 1142 + }; 1143 + 1144 + sdhc_2: sdhci@8804000 { 1145 + compatible = "qcom,sc7180-sdhci", "qcom,sdhci-msm-v5"; 1146 + reg = <0 0x08804000 0 0x1000>; 1147 + 1148 + iommus = <&apps_smmu 0x80 0>; 1149 + interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>, 1150 + <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>; 1151 + interrupt-names = "hc_irq", "pwr_irq"; 1152 + 1153 + clocks = <&gcc GCC_SDCC2_APPS_CLK>, 1154 + <&gcc GCC_SDCC2_AHB_CLK>; 1155 + clock-names = "core", "iface"; 1156 + 1157 + bus-width = <4>; 1158 + 1159 + status = "disabled"; 1160 + }; 1161 + 1162 + gpucc: clock-controller@5090000 { 1163 + compatible = "qcom,sc7180-gpucc"; 1164 + reg = <0 0x05090000 0 0x9000>; 1165 + clocks = <&rpmhcc RPMH_CXO_CLK>, 1166 + <&gcc GCC_GPU_GPLL0_CLK_SRC>, 1167 + <&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>; 1168 + clock-names = "bi_tcxo", 1169 + "gcc_gpu_gpll0_clk_src", 1170 + "gcc_gpu_gpll0_div_clk_src"; 1171 + #clock-cells = <1>; 1172 + #reset-cells = <1>; 1173 + #power-domain-cells = <1>; 1193 1174 }; 1194 1175 1195 1176 qspi: spi@88dc000 { ··· 1368 1081 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>; 1369 1082 clock-names = "aux", "cfg_ahb", "ref", "com_aux"; 1370 1083 1371 - resets = <&gcc GCC_USB3_DP_PHY_PRIM_BCR>, 1372 - <&gcc GCC_USB3_PHY_PRIM_BCR>; 1084 + resets = <&gcc GCC_USB3_PHY_PRIM_BCR>, 1085 + <&gcc GCC_USB3_DP_PHY_PRIM_BCR>; 1373 1086 reset-names = "phy", "common"; 1374 1087 1375 1088 usb_1_ssphy: phy@88e9200 { ··· 1387 1100 }; 1388 1101 }; 1389 1102 1103 + dc_noc: interconnect@9160000 { 1104 + compatible = "qcom,sc7180-dc-noc"; 1105 + reg = <0 0x09160000 0 0x03200>; 1106 + #interconnect-cells = <1>; 1107 + qcom,bcm-voters = <&apps_bcm_voter>; 1108 + }; 1109 + 1390 1110 system-cache-controller@9200000 { 1391 1111 compatible = "qcom,sc7180-llcc"; 1392 1112 reg = <0 0x09200000 0 0x200000>, <0 0x09600000 0 0x50000>; 1393 1113 reg-names = "llcc_base", "llcc_broadcast_base"; 1394 1114 interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>; 1115 + }; 1116 + 1117 + gem_noc: interconnect@9680000 { 1118 + compatible = "qcom,sc7180-gem-noc"; 1119 + reg = <0 0x09680000 0 0x3e200>; 1120 + #interconnect-cells = <1>; 1121 + qcom,bcm-voters = <&apps_bcm_voter>; 1122 + }; 1123 + 1124 + npu_noc: interconnect@9990000 { 1125 + compatible = "qcom,sc7180-npu-noc"; 1126 + reg = <0 0x09990000 0 0x1600>; 1127 + #interconnect-cells = <1>; 1128 + qcom,bcm-voters = <&apps_bcm_voter>; 1395 1129 }; 1396 1130 1397 1131 usb_1: usb@a6f8800 { ··· 1457 1149 phys = <&usb_1_hsphy>, <&usb_1_ssphy>; 1458 1150 phy-names = "usb2-phy", "usb3-phy"; 1459 1151 }; 1152 + }; 1153 + 1154 + venus: video-codec@aa00000 { 1155 + compatible = "qcom,sc7180-venus"; 1156 + reg = <0 0x0aa00000 0 0xff000>; 1157 + interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; 1158 + power-domains = <&videocc VENUS_GDSC>, 1159 + <&videocc VCODEC0_GDSC>; 1160 + power-domain-names = "venus", "vcodec0"; 1161 + clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>, 1162 + <&videocc VIDEO_CC_VENUS_AHB_CLK>, 1163 + <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>, 1164 + <&videocc VIDEO_CC_VCODEC0_CORE_CLK>, 1165 + <&videocc VIDEO_CC_VCODEC0_AXI_CLK>; 1166 + clock-names = "core", "iface", "bus", 1167 + "vcodec0_core", "vcodec0_bus"; 1168 + iommus = <&apps_smmu 0x0c00 0x60>; 1169 + memory-region = <&venus_mem>; 1170 + 1171 + video-decoder { 1172 + compatible = "venus-decoder"; 1173 + }; 1174 + 1175 + video-encoder { 1176 + compatible = "venus-encoder"; 1177 + }; 1178 + }; 1179 + 1180 + videocc: clock-controller@ab00000 { 1181 + compatible = "qcom,sc7180-videocc"; 1182 + reg = <0 0x0ab00000 0 0x10000>; 1183 + clocks = <&rpmhcc RPMH_CXO_CLK>; 1184 + clock-names = "bi_tcxo"; 1185 + #clock-cells = <1>; 1186 + #reset-cells = <1>; 1187 + #power-domain-cells = <1>; 1188 + }; 1189 + 1190 + camnoc_virt: interconnect@ac00000 { 1191 + compatible = "qcom,sc7180-camnoc-virt"; 1192 + reg = <0 0x0ac00000 0 0x1000>; 1193 + #interconnect-cells = <1>; 1194 + qcom,bcm-voters = <&apps_bcm_voter>; 1195 + }; 1196 + 1197 + mdss: mdss@ae00000 { 1198 + compatible = "qcom,sc7180-mdss"; 1199 + reg = <0 0x0ae00000 0 0x1000>; 1200 + reg-names = "mdss"; 1201 + 1202 + power-domains = <&dispcc MDSS_GDSC>; 1203 + 1204 + clocks = <&gcc GCC_DISP_AHB_CLK>, 1205 + <&gcc GCC_DISP_HF_AXI_CLK>, 1206 + <&dispcc DISP_CC_MDSS_AHB_CLK>, 1207 + <&dispcc DISP_CC_MDSS_MDP_CLK>; 1208 + clock-names = "iface", "bus", "ahb", "core"; 1209 + 1210 + assigned-clocks = <&dispcc DISP_CC_MDSS_MDP_CLK>; 1211 + assigned-clock-rates = <300000000>; 1212 + 1213 + interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 1214 + interrupt-controller; 1215 + #interrupt-cells = <1>; 1216 + 1217 + iommus = <&apps_smmu 0x800 0x2>; 1218 + 1219 + #address-cells = <2>; 1220 + #size-cells = <2>; 1221 + ranges; 1222 + 1223 + status = "disabled"; 1224 + 1225 + mdp: mdp@ae01000 { 1226 + compatible = "qcom,sc7180-dpu"; 1227 + reg = <0 0x0ae01000 0 0x8f000>, 1228 + <0 0x0aeb0000 0 0x2008>; 1229 + reg-names = "mdp", "vbif"; 1230 + 1231 + clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, 1232 + <&dispcc DISP_CC_MDSS_ROT_CLK>, 1233 + <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>, 1234 + <&dispcc DISP_CC_MDSS_MDP_CLK>, 1235 + <&dispcc DISP_CC_MDSS_VSYNC_CLK>; 1236 + clock-names = "iface", "rot", "lut", "core", 1237 + "vsync"; 1238 + assigned-clocks = <&dispcc DISP_CC_MDSS_MDP_CLK>, 1239 + <&dispcc DISP_CC_MDSS_VSYNC_CLK>; 1240 + assigned-clock-rates = <300000000>, 1241 + <19200000>; 1242 + 1243 + interrupt-parent = <&mdss>; 1244 + interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; 1245 + 1246 + status = "disabled"; 1247 + 1248 + ports { 1249 + #address-cells = <1>; 1250 + #size-cells = <0>; 1251 + 1252 + port@0 { 1253 + reg = <0>; 1254 + dpu_intf1_out: endpoint { 1255 + remote-endpoint = <&dsi0_in>; 1256 + }; 1257 + }; 1258 + }; 1259 + }; 1260 + 1261 + dsi0: dsi@ae94000 { 1262 + compatible = "qcom,mdss-dsi-ctrl"; 1263 + reg = <0 0x0ae94000 0 0x400>; 1264 + reg-names = "dsi_ctrl"; 1265 + 1266 + interrupt-parent = <&mdss>; 1267 + interrupts = <4 IRQ_TYPE_LEVEL_HIGH>; 1268 + 1269 + clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>, 1270 + <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>, 1271 + <&dispcc DISP_CC_MDSS_PCLK0_CLK>, 1272 + <&dispcc DISP_CC_MDSS_ESC0_CLK>, 1273 + <&dispcc DISP_CC_MDSS_AHB_CLK>, 1274 + <&gcc GCC_DISP_HF_AXI_CLK>; 1275 + clock-names = "byte", 1276 + "byte_intf", 1277 + "pixel", 1278 + "core", 1279 + "iface", 1280 + "bus"; 1281 + 1282 + phys = <&dsi_phy>; 1283 + phy-names = "dsi"; 1284 + 1285 + #address-cells = <1>; 1286 + #size-cells = <0>; 1287 + 1288 + status = "disabled"; 1289 + 1290 + ports { 1291 + #address-cells = <1>; 1292 + #size-cells = <0>; 1293 + 1294 + port@0 { 1295 + reg = <0>; 1296 + dsi0_in: endpoint { 1297 + remote-endpoint = <&dpu_intf1_out>; 1298 + }; 1299 + }; 1300 + 1301 + port@1 { 1302 + reg = <1>; 1303 + dsi0_out: endpoint { 1304 + }; 1305 + }; 1306 + }; 1307 + }; 1308 + 1309 + dsi_phy: dsi-phy@ae94400 { 1310 + compatible = "qcom,dsi-phy-10nm"; 1311 + reg = <0 0x0ae94400 0 0x200>, 1312 + <0 0x0ae94600 0 0x280>, 1313 + <0 0x0ae94a00 0 0x1e0>; 1314 + reg-names = "dsi_phy", 1315 + "dsi_phy_lane", 1316 + "dsi_pll"; 1317 + 1318 + #clock-cells = <1>; 1319 + #phy-cells = <0>; 1320 + 1321 + clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>, 1322 + <&rpmhcc RPMH_CXO_CLK>; 1323 + clock-names = "iface", "ref"; 1324 + 1325 + status = "disabled"; 1326 + }; 1327 + }; 1328 + 1329 + dispcc: clock-controller@af00000 { 1330 + compatible = "qcom,sc7180-dispcc"; 1331 + reg = <0 0x0af00000 0 0x200000>; 1332 + clocks = <&rpmhcc RPMH_CXO_CLK>, 1333 + <&gcc GCC_DISP_GPLL0_CLK_SRC>, 1334 + <&dsi_phy 0>, 1335 + <&dsi_phy 1>, 1336 + <0>, 1337 + <0>; 1338 + clock-names = "bi_tcxo", 1339 + "gcc_disp_gpll0_clk_src", 1340 + "dsi0_phy_pll_out_byteclk", 1341 + "dsi0_phy_pll_out_dsiclk", 1342 + "dp_phy_pll_link_clk", 1343 + "dp_phy_pll_vco_div_clk"; 1344 + #clock-cells = <1>; 1345 + #reset-cells = <1>; 1346 + #power-domain-cells = <1>; 1460 1347 }; 1461 1348 1462 1349 pdc: interrupt-controller@b220000 { ··· 1981 1478 }; 1982 1479 }; 1983 1480 }; 1481 + 1482 + apps_bcm_voter: bcm_voter { 1483 + compatible = "qcom,bcm-voter"; 1484 + }; 1485 + }; 1486 + 1487 + osm_l3: interconnect@18321000 { 1488 + compatible = "qcom,sc7180-osm-l3"; 1489 + reg = <0 0x18321000 0 0x1400>; 1490 + 1491 + clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>; 1492 + clock-names = "xo", "alternate"; 1493 + 1494 + #interconnect-cells = <1>; 1984 1495 }; 1985 1496 1986 1497 cpufreq_hw: cpufreq@18323000 { ··· 2470 1953 hysteresis = <2000>; 2471 1954 type = "hot"; 2472 1955 }; 1956 + 1957 + aoss0_crit: aoss0_crit { 1958 + temperature = <110000>; 1959 + hysteresis = <2000>; 1960 + type = "critical"; 1961 + }; 2473 1962 }; 2474 1963 }; 2475 1964 ··· 2531 2008 hysteresis = <2000>; 2532 2009 type = "hot"; 2533 2010 }; 2011 + 2012 + gpuss0_crit: gpuss0_crit { 2013 + temperature = <110000>; 2014 + hysteresis = <2000>; 2015 + type = "critical"; 2016 + }; 2534 2017 }; 2535 2018 }; 2536 2019 ··· 2551 2022 temperature = <90000>; 2552 2023 hysteresis = <2000>; 2553 2024 type = "hot"; 2025 + }; 2026 + 2027 + gpuss1_crit: gpuss1_crit { 2028 + temperature = <110000>; 2029 + hysteresis = <2000>; 2030 + type = "critical"; 2554 2031 }; 2555 2032 }; 2556 2033 }; ··· 2573 2038 hysteresis = <2000>; 2574 2039 type = "hot"; 2575 2040 }; 2041 + 2042 + aoss1_crit: aoss1_crit { 2043 + temperature = <110000>; 2044 + hysteresis = <2000>; 2045 + type = "critical"; 2046 + }; 2576 2047 }; 2577 2048 }; 2578 2049 ··· 2593 2052 temperature = <90000>; 2594 2053 hysteresis = <2000>; 2595 2054 type = "hot"; 2055 + }; 2056 + 2057 + cwlan_crit: cwlan_crit { 2058 + temperature = <110000>; 2059 + hysteresis = <2000>; 2060 + type = "critical"; 2596 2061 }; 2597 2062 }; 2598 2063 }; ··· 2615 2068 hysteresis = <2000>; 2616 2069 type = "hot"; 2617 2070 }; 2071 + 2072 + audio_crit: audio_crit { 2073 + temperature = <110000>; 2074 + hysteresis = <2000>; 2075 + type = "critical"; 2076 + }; 2618 2077 }; 2619 2078 }; 2620 2079 ··· 2635 2082 temperature = <90000>; 2636 2083 hysteresis = <2000>; 2637 2084 type = "hot"; 2085 + }; 2086 + 2087 + ddr_crit: ddr_crit { 2088 + temperature = <110000>; 2089 + hysteresis = <2000>; 2090 + type = "critical"; 2638 2091 }; 2639 2092 }; 2640 2093 }; ··· 2657 2098 hysteresis = <2000>; 2658 2099 type = "hot"; 2659 2100 }; 2101 + 2102 + q6_hvx_crit: q6_hvx_crit { 2103 + temperature = <110000>; 2104 + hysteresis = <2000>; 2105 + type = "critical"; 2106 + }; 2660 2107 }; 2661 2108 }; 2662 2109 ··· 2677 2112 temperature = <90000>; 2678 2113 hysteresis = <2000>; 2679 2114 type = "hot"; 2115 + }; 2116 + 2117 + camera_crit: camera_crit { 2118 + temperature = <110000>; 2119 + hysteresis = <2000>; 2120 + type = "critical"; 2680 2121 }; 2681 2122 }; 2682 2123 }; ··· 2699 2128 hysteresis = <2000>; 2700 2129 type = "hot"; 2701 2130 }; 2131 + 2132 + mdm_crit: mdm_crit { 2133 + temperature = <110000>; 2134 + hysteresis = <2000>; 2135 + type = "critical"; 2136 + }; 2702 2137 }; 2703 2138 }; 2704 2139 ··· 2719 2142 temperature = <90000>; 2720 2143 hysteresis = <2000>; 2721 2144 type = "hot"; 2145 + }; 2146 + 2147 + mdm_dsp_crit: mdm_dsp_crit { 2148 + temperature = <110000>; 2149 + hysteresis = <2000>; 2150 + type = "critical"; 2722 2151 }; 2723 2152 }; 2724 2153 }; ··· 2741 2158 hysteresis = <2000>; 2742 2159 type = "hot"; 2743 2160 }; 2161 + 2162 + npu_crit: npu_crit { 2163 + temperature = <110000>; 2164 + hysteresis = <2000>; 2165 + type = "critical"; 2166 + }; 2744 2167 }; 2745 2168 }; 2746 2169 ··· 2761 2172 temperature = <90000>; 2762 2173 hysteresis = <2000>; 2763 2174 type = "hot"; 2175 + }; 2176 + 2177 + video_crit: video_crit { 2178 + temperature = <110000>; 2179 + hysteresis = <2000>; 2180 + type = "critical"; 2764 2181 }; 2765 2182 }; 2766 2183 };
+15
arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi
··· 614 614 }; 615 615 }; 616 616 617 + &ipa { 618 + status = "okay"; 619 + modem-init; 620 + }; 621 + 617 622 &lpasscc { 618 623 status = "okay"; 619 624 }; ··· 629 624 630 625 &mdss_mdp { 631 626 status = "okay"; 627 + }; 628 + 629 + &pm8998_pwrkey { 630 + status = "disabled"; 632 631 }; 633 632 634 633 &qupv3_id_0 { ··· 1299 1290 drive-strength = <2>; 1300 1291 output-high; 1301 1292 }; 1293 + }; 1294 + }; 1295 + 1296 + &venus { 1297 + video-firmware { 1298 + iommus = <&apps_smmu 0x10b2 0x0>; 1302 1299 }; 1303 1300 };
+283
arch/arm64/boot/dts/qcom/sdm845-db845c.dts
··· 8 8 #include <dt-bindings/gpio/gpio.h> 9 9 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 10 10 #include <dt-bindings/regulator/qcom,rpmh-regulator.h> 11 + #include <dt-bindings/sound/qcom,q6afe.h> 12 + #include <dt-bindings/sound/qcom,q6asm.h> 11 13 #include "sdm845.dtsi" 12 14 #include "pm8998.dtsi" 13 15 #include "pmi8998.dtsi" ··· 361 359 }; 362 360 }; 363 361 362 + &i2c11 { 363 + /* On Low speed expansion */ 364 + label = "LS-I2C1"; 365 + status = "okay"; 366 + }; 367 + 368 + &i2c14 { 369 + /* On Low speed expansion */ 370 + label = "LS-I2C0"; 371 + status = "okay"; 372 + }; 373 + 364 374 &mss_pil { 365 375 status = "okay"; 366 376 firmware-name = "qcom/sdm845/mba.mbn", "qcom/sdm845/modem.mbn"; 377 + }; 378 + 379 + &pcie0 { 380 + status = "okay"; 381 + perst-gpio = <&tlmm 35 GPIO_ACTIVE_LOW>; 382 + enable-gpio = <&tlmm 134 GPIO_ACTIVE_HIGH>; 383 + 384 + vddpe-3v3-supply = <&pcie0_3p3v_dual>; 385 + 386 + pinctrl-names = "default"; 387 + pinctrl-0 = <&pcie0_default_state>; 388 + }; 389 + 390 + &pcie0_phy { 391 + status = "okay"; 392 + 393 + vdda-phy-supply = <&vreg_l1a_0p875>; 394 + vdda-pll-supply = <&vreg_l26a_1p2>; 395 + }; 396 + 397 + &pcie1 { 398 + status = "okay"; 399 + perst-gpio = <&tlmm 102 GPIO_ACTIVE_LOW>; 400 + 401 + pinctrl-names = "default"; 402 + pinctrl-0 = <&pcie1_default_state>; 403 + }; 404 + 405 + &pcie1_phy { 406 + status = "okay"; 407 + 408 + vdda-phy-supply = <&vreg_l1a_0p875>; 409 + vdda-pll-supply = <&vreg_l26a_1p2>; 367 410 }; 368 411 369 412 &pm8998_gpio { ··· 428 381 debounce = <15625>; 429 382 bias-pull-up; 430 383 linux,code = <KEY_VOLUMEDOWN>; 384 + }; 385 + }; 386 + 387 + /* QUAT I2S Uses 4 I2S SD Lines for audio on LT9611 HDMI Bridge */ 388 + &q6afedai { 389 + qi2s@22 { 390 + reg = <22>; 391 + qcom,sd-lines = <0 1 2 3>; 392 + }; 393 + }; 394 + 395 + &q6asmdai { 396 + dai@0 { 397 + reg = <0>; 398 + direction = <2>; 399 + }; 400 + 401 + dai@1 { 402 + reg = <1>; 403 + direction = <2>; 404 + }; 405 + 406 + dai@2 { 407 + reg = <2>; 408 + direction = <1>; 409 + }; 410 + 411 + dai@3 { 412 + reg = <3>; 413 + direction = <2>; 414 + is-compress-dai; 431 415 }; 432 416 }; 433 417 ··· 483 405 cd-gpios = <&tlmm 126 GPIO_ACTIVE_LOW>; 484 406 }; 485 407 408 + &sound { 409 + compatible = "qcom,db845c-sndcard"; 410 + pinctrl-0 = <&quat_mi2s_active 411 + &quat_mi2s_sd0_active 412 + &quat_mi2s_sd1_active 413 + &quat_mi2s_sd2_active 414 + &quat_mi2s_sd3_active>; 415 + pinctrl-names = "default"; 416 + model = "DB845c"; 417 + audio-routing = 418 + "RX_BIAS", "MCLK", 419 + "AMIC1", "MIC BIAS1", 420 + "AMIC2", "MIC BIAS2", 421 + "DMIC0", "MIC BIAS1", 422 + "DMIC1", "MIC BIAS1", 423 + "DMIC2", "MIC BIAS3", 424 + "DMIC3", "MIC BIAS3", 425 + "SpkrLeft IN", "SPK1 OUT", 426 + "SpkrRight IN", "SPK2 OUT", 427 + "MM_DL1", "MultiMedia1 Playback", 428 + "MM_DL2", "MultiMedia2 Playback", 429 + "MM_DL4", "MultiMedia4 Playback", 430 + "MultiMedia3 Capture", "MM_UL3"; 431 + 432 + mm1-dai-link { 433 + link-name = "MultiMedia1"; 434 + cpu { 435 + sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; 436 + }; 437 + }; 438 + 439 + mm2-dai-link { 440 + link-name = "MultiMedia2"; 441 + cpu { 442 + sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; 443 + }; 444 + }; 445 + 446 + mm3-dai-link { 447 + link-name = "MultiMedia3"; 448 + cpu { 449 + sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; 450 + }; 451 + }; 452 + 453 + mm4-dai-link { 454 + link-name = "MultiMedia4"; 455 + cpu { 456 + sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA4>; 457 + }; 458 + }; 459 + 460 + slim-dai-link { 461 + link-name = "SLIM Playback"; 462 + cpu { 463 + sound-dai = <&q6afedai SLIMBUS_0_RX>; 464 + }; 465 + 466 + platform { 467 + sound-dai = <&q6routing>; 468 + }; 469 + 470 + codec { 471 + sound-dai = <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>; 472 + }; 473 + }; 474 + 475 + slimcap-dai-link { 476 + link-name = "SLIM Capture"; 477 + cpu { 478 + sound-dai = <&q6afedai SLIMBUS_0_TX>; 479 + }; 480 + 481 + platform { 482 + sound-dai = <&q6routing>; 483 + }; 484 + 485 + codec { 486 + sound-dai = <&wcd9340 1>; 487 + }; 488 + }; 489 + }; 490 + 491 + &spi2 { 492 + /* On Low speed expansion */ 493 + label = "LS-SPI0"; 494 + status = "okay"; 495 + }; 496 + 486 497 &tlmm { 498 + pcie0_default_state: pcie0-default { 499 + clkreq { 500 + pins = "gpio36"; 501 + function = "pci_e0"; 502 + bias-pull-up; 503 + }; 504 + 505 + reset-n { 506 + pins = "gpio35"; 507 + function = "gpio"; 508 + 509 + drive-strength = <2>; 510 + output-low; 511 + bias-pull-down; 512 + }; 513 + 514 + wake-n { 515 + pins = "gpio37"; 516 + function = "gpio"; 517 + 518 + drive-strength = <2>; 519 + bias-pull-up; 520 + }; 521 + }; 522 + 487 523 pcie0_pwren_state: pcie0-pwren { 488 524 pins = "gpio90"; 489 525 function = "gpio"; 490 526 491 527 drive-strength = <2>; 492 528 bias-disable; 529 + }; 530 + 531 + pcie1_default_state: pcie1-default { 532 + perst-n { 533 + pins = "gpio102"; 534 + function = "gpio"; 535 + 536 + drive-strength = <16>; 537 + bias-disable; 538 + }; 539 + 540 + clkreq { 541 + pins = "gpio103"; 542 + function = "pci_e1"; 543 + bias-pull-up; 544 + }; 545 + 546 + wake-n { 547 + pins = "gpio11"; 548 + function = "gpio"; 549 + 550 + drive-strength = <2>; 551 + bias-pull-up; 552 + }; 553 + 554 + reset-n { 555 + pins = "gpio75"; 556 + function = "gpio"; 557 + 558 + drive-strength = <16>; 559 + bias-pull-up; 560 + output-high; 561 + }; 493 562 }; 494 563 495 564 sdc2_default_state: sdc2-default { ··· 669 444 function = "gpio"; 670 445 bias-pull-up; 671 446 }; 447 + 448 + wcd_intr_default: wcd_intr_default { 449 + pins = <54>; 450 + function = "gpio"; 451 + 452 + input-enable; 453 + bias-pull-down; 454 + drive-strength = <2>; 455 + }; 456 + }; 457 + 458 + &uart3 { 459 + label = "LS-UART0"; 460 + status = "disabled"; 672 461 }; 673 462 674 463 &uart6 { ··· 700 461 }; 701 462 702 463 &uart9 { 464 + label = "LS-UART1"; 703 465 status = "okay"; 704 466 }; 705 467 ··· 774 534 vdda-pll-supply = <&vreg_l26a_1p2>; 775 535 }; 776 536 537 + &wcd9340{ 538 + pinctrl-0 = <&wcd_intr_default>; 539 + pinctrl-names = "default"; 540 + clock-names = "extclk"; 541 + clocks = <&rpmhcc RPMH_LN_BB_CLK2>; 542 + reset-gpios = <&tlmm 64 0>; 543 + vdd-buck-supply = <&vreg_s4a_1p8>; 544 + vdd-buck-sido-supply = <&vreg_s4a_1p8>; 545 + vdd-tx-supply = <&vreg_s4a_1p8>; 546 + vdd-rx-supply = <&vreg_s4a_1p8>; 547 + vdd-io-supply = <&vreg_s4a_1p8>; 548 + 549 + swm: swm@c85 { 550 + left_spkr: wsa8810-left{ 551 + compatible = "sdw10217201000"; 552 + reg = <0 1>; 553 + powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>; 554 + #thermal-sensor-cells = <0>; 555 + sound-name-prefix = "SpkrLeft"; 556 + #sound-dai-cells = <0>; 557 + }; 558 + 559 + right_spkr: wsa8810-right{ 560 + compatible = "sdw10217201000"; 561 + powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>; 562 + reg = <0 2>; 563 + #thermal-sensor-cells = <0>; 564 + sound-name-prefix = "SpkrRight"; 565 + #sound-dai-cells = <0>; 566 + }; 567 + }; 568 + }; 569 + 777 570 &wifi { 778 571 status = "okay"; 779 572 ··· 819 546 }; 820 547 821 548 /* PINCTRL - additions to nodes defined in sdm845.dtsi */ 549 + &qup_spi2_default { 550 + drive-strength = <16>; 551 + }; 552 + 553 + &qup_uart3_default{ 554 + pinmux { 555 + pins = "gpio41", "gpio42", "gpio43", "gpio44"; 556 + function = "qup3"; 557 + }; 558 + }; 822 559 823 560 &qup_uart6_default { 824 561 pinmux {
+89
arch/arm64/boot/dts/qcom/sdm845-mtp.dts
··· 50 50 51 51 &adsp_pas { 52 52 status = "okay"; 53 + firmware-name = "qcom/sdm845/adsp.mdt"; 53 54 }; 54 55 55 56 &apps_rsc { ··· 351 350 352 351 &cdsp_pas { 353 352 status = "okay"; 353 + firmware-name = "qcom/sdm845/cdsp.mdt"; 354 + }; 355 + 356 + &dsi0 { 357 + status = "okay"; 358 + vdda-supply = <&vdda_mipi_dsi0_1p2>; 359 + 360 + qcom,dual-dsi-mode; 361 + qcom,master-dsi; 362 + 363 + #address-cells = <1>; 364 + #size-cells = <0>; 365 + 366 + ports { 367 + port@1 { 368 + endpoint { 369 + remote-endpoint = <&truly_in_0>; 370 + data-lanes = <0 1 2 3>; 371 + }; 372 + }; 373 + }; 374 + 375 + panel@0 { 376 + compatible = "truly,nt35597-2K-display"; 377 + reg = <0>; 378 + vdda-supply = <&vreg_l14a_1p88>; 379 + 380 + reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>; 381 + mode-gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>; 382 + 383 + ports { 384 + #address-cells = <1>; 385 + #size-cells = <0>; 386 + 387 + port@0 { 388 + reg = <0>; 389 + truly_in_0: endpoint { 390 + remote-endpoint = <&dsi0_out>; 391 + }; 392 + }; 393 + 394 + port@1 { 395 + reg = <1>; 396 + truly_in_1: endpoint { 397 + remote-endpoint = <&dsi1_out>; 398 + }; 399 + }; 400 + }; 401 + }; 402 + }; 403 + 404 + &dsi0_phy { 405 + status = "okay"; 406 + vdds-supply = <&vdda_mipi_dsi0_pll>; 407 + }; 408 + 409 + &dsi1 { 410 + status = "okay"; 411 + vdda-supply = <&vdda_mipi_dsi1_1p2>; 412 + 413 + qcom,dual-dsi-mode; 414 + 415 + ports { 416 + port@1 { 417 + endpoint { 418 + remote-endpoint = <&truly_in_1>; 419 + data-lanes = <0 1 2 3>; 420 + }; 421 + }; 422 + }; 423 + }; 424 + 425 + &dsi1_phy { 426 + status = "okay"; 427 + vdds-supply = <&vdda_mipi_dsi1_pll>; 354 428 }; 355 429 356 430 &gcc { ··· 446 370 &i2c10 { 447 371 status = "okay"; 448 372 clock-frequency = <400000>; 373 + }; 374 + 375 + &mdss { 376 + status = "okay"; 377 + }; 378 + 379 + &mdss_mdp { 380 + status = "okay"; 381 + }; 382 + 383 + &mss_pil { 384 + status = "okay"; 385 + firmware-name = "qcom/sdm845/mba.mbn", "qcom/sdm845/modem.mbn"; 449 386 }; 450 387 451 388 &qupv3_id_1 {
+652 -20
arch/arm64/boot/dts/qcom/sdm845.dtsi
··· 17 17 #include <dt-bindings/power/qcom-rpmpd.h> 18 18 #include <dt-bindings/reset/qcom,sdm845-aoss.h> 19 19 #include <dt-bindings/reset/qcom,sdm845-pdc.h> 20 + #include <dt-bindings/soc/qcom,apr.h> 20 21 #include <dt-bindings/soc/qcom,rpmh-rsc.h> 21 22 #include <dt-bindings/clock/qcom,gcc-sdm845.h> 22 23 #include <dt-bindings/thermal/thermal.h> ··· 492 491 label = "lpass"; 493 492 qcom,remote-pid = <2>; 494 493 mboxes = <&apss_shared 8>; 494 + 495 + apr { 496 + compatible = "qcom,apr-v2"; 497 + qcom,glink-channels = "apr_audio_svc"; 498 + qcom,apr-domain = <APR_DOMAIN_ADSP>; 499 + #address-cells = <1>; 500 + #size-cells = <0>; 501 + qcom,intents = <512 20>; 502 + 503 + apr-service@3 { 504 + reg = <APR_SVC_ADSP_CORE>; 505 + compatible = "qcom,q6core"; 506 + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 507 + }; 508 + 509 + q6afe: apr-service@4 { 510 + compatible = "qcom,q6afe"; 511 + reg = <APR_SVC_AFE>; 512 + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 513 + q6afedai: dais { 514 + compatible = "qcom,q6afe-dais"; 515 + #address-cells = <1>; 516 + #size-cells = <0>; 517 + #sound-dai-cells = <1>; 518 + }; 519 + }; 520 + 521 + q6asm: apr-service@7 { 522 + compatible = "qcom,q6asm"; 523 + reg = <APR_SVC_ASM>; 524 + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 525 + q6asmdai: dais { 526 + compatible = "qcom,q6asm-dais"; 527 + #address-cells = <1>; 528 + #size-cells = <0>; 529 + #sound-dai-cells = <1>; 530 + iommus = <&apps_smmu 0x1821 0x0>; 531 + }; 532 + }; 533 + 534 + q6adm: apr-service@8 { 535 + compatible = "qcom,q6adm"; 536 + reg = <APR_SVC_ADM>; 537 + qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd"; 538 + q6routing: routing { 539 + compatible = "qcom,q6adm-routing"; 540 + #sound-dai-cells = <0>; 541 + }; 542 + }; 543 + }; 544 + 495 545 fastrpc { 496 546 compatible = "qcom,fastrpc"; 497 547 qcom,glink-channels = "fastrpcglink-apps-dsp"; ··· 724 672 725 673 modem_smp2p_in: slave-kernel { 726 674 qcom,entry-name = "slave-kernel"; 675 + interrupt-controller; 676 + #interrupt-cells = <2>; 677 + }; 678 + 679 + ipa_smp2p_out: ipa-ap-to-modem { 680 + qcom,entry-name = "ipa"; 681 + #qcom,smem-state-cells = <1>; 682 + }; 683 + 684 + ipa_smp2p_in: ipa-modem-to-ap { 685 + qcom,entry-name = "ipa"; 727 686 interrupt-controller; 728 687 #interrupt-cells = <2>; 729 688 }; ··· 1427 1364 interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>; 1428 1365 }; 1429 1366 1367 + pcie0: pci@1c00000 { 1368 + compatible = "qcom,pcie-sdm845", "snps,dw-pcie"; 1369 + reg = <0 0x01c00000 0 0x2000>, 1370 + <0 0x60000000 0 0xf1d>, 1371 + <0 0x60000f20 0 0xa8>, 1372 + <0 0x60100000 0 0x100000>; 1373 + reg-names = "parf", "dbi", "elbi", "config"; 1374 + device_type = "pci"; 1375 + linux,pci-domain = <0>; 1376 + bus-range = <0x00 0xff>; 1377 + num-lanes = <1>; 1378 + 1379 + #address-cells = <3>; 1380 + #size-cells = <2>; 1381 + 1382 + ranges = <0x01000000 0x0 0x60200000 0 0x60200000 0x0 0x100000>, 1383 + <0x02000000 0x0 0x60300000 0 0x60300000 0x0 0xd00000>; 1384 + 1385 + interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>; 1386 + interrupt-names = "msi"; 1387 + #interrupt-cells = <1>; 1388 + interrupt-map-mask = <0 0 0 0x7>; 1389 + interrupt-map = <0 0 0 1 &intc 0 149 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ 1390 + <0 0 0 2 &intc 0 150 IRQ_TYPE_LEVEL_HIGH>, /* int_b */ 1391 + <0 0 0 3 &intc 0 151 IRQ_TYPE_LEVEL_HIGH>, /* int_c */ 1392 + <0 0 0 4 &intc 0 152 IRQ_TYPE_LEVEL_HIGH>; /* int_d */ 1393 + 1394 + clocks = <&gcc GCC_PCIE_0_PIPE_CLK>, 1395 + <&gcc GCC_PCIE_0_AUX_CLK>, 1396 + <&gcc GCC_PCIE_0_CFG_AHB_CLK>, 1397 + <&gcc GCC_PCIE_0_MSTR_AXI_CLK>, 1398 + <&gcc GCC_PCIE_0_SLV_AXI_CLK>, 1399 + <&gcc GCC_PCIE_0_SLV_Q2A_AXI_CLK>, 1400 + <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>; 1401 + clock-names = "pipe", 1402 + "aux", 1403 + "cfg", 1404 + "bus_master", 1405 + "bus_slave", 1406 + "slave_q2a", 1407 + "tbu"; 1408 + 1409 + iommus = <&apps_smmu 0x1c10 0xf>; 1410 + iommu-map = <0x0 &apps_smmu 0x1c10 0x1>, 1411 + <0x100 &apps_smmu 0x1c11 0x1>, 1412 + <0x200 &apps_smmu 0x1c12 0x1>, 1413 + <0x300 &apps_smmu 0x1c13 0x1>, 1414 + <0x400 &apps_smmu 0x1c14 0x1>, 1415 + <0x500 &apps_smmu 0x1c15 0x1>, 1416 + <0x600 &apps_smmu 0x1c16 0x1>, 1417 + <0x700 &apps_smmu 0x1c17 0x1>, 1418 + <0x800 &apps_smmu 0x1c18 0x1>, 1419 + <0x900 &apps_smmu 0x1c19 0x1>, 1420 + <0xa00 &apps_smmu 0x1c1a 0x1>, 1421 + <0xb00 &apps_smmu 0x1c1b 0x1>, 1422 + <0xc00 &apps_smmu 0x1c1c 0x1>, 1423 + <0xd00 &apps_smmu 0x1c1d 0x1>, 1424 + <0xe00 &apps_smmu 0x1c1e 0x1>, 1425 + <0xf00 &apps_smmu 0x1c1f 0x1>; 1426 + 1427 + resets = <&gcc GCC_PCIE_0_BCR>; 1428 + reset-names = "pci"; 1429 + 1430 + power-domains = <&gcc PCIE_0_GDSC>; 1431 + 1432 + phys = <&pcie0_lane>; 1433 + phy-names = "pciephy"; 1434 + 1435 + status = "disabled"; 1436 + }; 1437 + 1438 + pcie0_phy: phy@1c06000 { 1439 + compatible = "qcom,sdm845-qmp-pcie-phy"; 1440 + reg = <0 0x01c06000 0 0x18c>; 1441 + #address-cells = <2>; 1442 + #size-cells = <2>; 1443 + ranges; 1444 + clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>, 1445 + <&gcc GCC_PCIE_0_CFG_AHB_CLK>, 1446 + <&gcc GCC_PCIE_0_CLKREF_CLK>, 1447 + <&gcc GCC_PCIE_PHY_REFGEN_CLK>; 1448 + clock-names = "aux", "cfg_ahb", "ref", "refgen"; 1449 + 1450 + resets = <&gcc GCC_PCIE_0_PHY_BCR>; 1451 + reset-names = "phy"; 1452 + 1453 + assigned-clocks = <&gcc GCC_PCIE_PHY_REFGEN_CLK>; 1454 + assigned-clock-rates = <100000000>; 1455 + 1456 + status = "disabled"; 1457 + 1458 + pcie0_lane: lanes@1c06200 { 1459 + reg = <0 0x01c06200 0 0x128>, 1460 + <0 0x01c06400 0 0x1fc>, 1461 + <0 0x01c06800 0 0x218>, 1462 + <0 0x01c06600 0 0x70>; 1463 + clocks = <&gcc GCC_PCIE_0_PIPE_CLK>; 1464 + clock-names = "pipe0"; 1465 + 1466 + #phy-cells = <0>; 1467 + clock-output-names = "pcie_0_pipe_clk"; 1468 + }; 1469 + }; 1470 + 1471 + pcie1: pci@1c08000 { 1472 + compatible = "qcom,pcie-sdm845", "snps,dw-pcie"; 1473 + reg = <0 0x01c08000 0 0x2000>, 1474 + <0 0x40000000 0 0xf1d>, 1475 + <0 0x40000f20 0 0xa8>, 1476 + <0 0x40100000 0 0x100000>; 1477 + reg-names = "parf", "dbi", "elbi", "config"; 1478 + device_type = "pci"; 1479 + linux,pci-domain = <1>; 1480 + bus-range = <0x00 0xff>; 1481 + num-lanes = <1>; 1482 + 1483 + #address-cells = <3>; 1484 + #size-cells = <2>; 1485 + 1486 + ranges = <0x01000000 0x0 0x40200000 0x0 0x40200000 0x0 0x100000>, 1487 + <0x02000000 0x0 0x40300000 0x0 0x40300000 0x0 0x1fd00000>; 1488 + 1489 + interrupts = <GIC_SPI 307 IRQ_TYPE_EDGE_RISING>; 1490 + interrupt-names = "msi"; 1491 + #interrupt-cells = <1>; 1492 + interrupt-map-mask = <0 0 0 0x7>; 1493 + interrupt-map = <0 0 0 1 &intc 0 434 IRQ_TYPE_LEVEL_HIGH>, /* int_a */ 1494 + <0 0 0 2 &intc 0 435 IRQ_TYPE_LEVEL_HIGH>, /* int_b */ 1495 + <0 0 0 3 &intc 0 438 IRQ_TYPE_LEVEL_HIGH>, /* int_c */ 1496 + <0 0 0 4 &intc 0 439 IRQ_TYPE_LEVEL_HIGH>; /* int_d */ 1497 + 1498 + clocks = <&gcc GCC_PCIE_1_PIPE_CLK>, 1499 + <&gcc GCC_PCIE_1_AUX_CLK>, 1500 + <&gcc GCC_PCIE_1_CFG_AHB_CLK>, 1501 + <&gcc GCC_PCIE_1_MSTR_AXI_CLK>, 1502 + <&gcc GCC_PCIE_1_SLV_AXI_CLK>, 1503 + <&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>, 1504 + <&gcc GCC_PCIE_1_CLKREF_CLK>, 1505 + <&gcc GCC_AGGRE_NOC_PCIE_TBU_CLK>; 1506 + clock-names = "pipe", 1507 + "aux", 1508 + "cfg", 1509 + "bus_master", 1510 + "bus_slave", 1511 + "slave_q2a", 1512 + "ref", 1513 + "tbu"; 1514 + 1515 + assigned-clocks = <&gcc GCC_PCIE_1_AUX_CLK>; 1516 + assigned-clock-rates = <19200000>; 1517 + 1518 + iommus = <&apps_smmu 0x1c00 0xf>; 1519 + iommu-map = <0x0 &apps_smmu 0x1c00 0x1>, 1520 + <0x100 &apps_smmu 0x1c01 0x1>, 1521 + <0x200 &apps_smmu 0x1c02 0x1>, 1522 + <0x300 &apps_smmu 0x1c03 0x1>, 1523 + <0x400 &apps_smmu 0x1c04 0x1>, 1524 + <0x500 &apps_smmu 0x1c05 0x1>, 1525 + <0x600 &apps_smmu 0x1c06 0x1>, 1526 + <0x700 &apps_smmu 0x1c07 0x1>, 1527 + <0x800 &apps_smmu 0x1c08 0x1>, 1528 + <0x900 &apps_smmu 0x1c09 0x1>, 1529 + <0xa00 &apps_smmu 0x1c0a 0x1>, 1530 + <0xb00 &apps_smmu 0x1c0b 0x1>, 1531 + <0xc00 &apps_smmu 0x1c0c 0x1>, 1532 + <0xd00 &apps_smmu 0x1c0d 0x1>, 1533 + <0xe00 &apps_smmu 0x1c0e 0x1>, 1534 + <0xf00 &apps_smmu 0x1c0f 0x1>; 1535 + 1536 + resets = <&gcc GCC_PCIE_1_BCR>; 1537 + reset-names = "pci"; 1538 + 1539 + power-domains = <&gcc PCIE_1_GDSC>; 1540 + 1541 + phys = <&pcie1_lane>; 1542 + phy-names = "pciephy"; 1543 + 1544 + status = "disabled"; 1545 + }; 1546 + 1547 + pcie1_phy: phy@1c0a000 { 1548 + compatible = "qcom,sdm845-qhp-pcie-phy"; 1549 + reg = <0 0x01c0a000 0 0x800>; 1550 + #address-cells = <2>; 1551 + #size-cells = <2>; 1552 + ranges; 1553 + clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>, 1554 + <&gcc GCC_PCIE_1_CFG_AHB_CLK>, 1555 + <&gcc GCC_PCIE_1_CLKREF_CLK>, 1556 + <&gcc GCC_PCIE_PHY_REFGEN_CLK>; 1557 + clock-names = "aux", "cfg_ahb", "ref", "refgen"; 1558 + 1559 + resets = <&gcc GCC_PCIE_1_PHY_BCR>; 1560 + reset-names = "phy"; 1561 + 1562 + assigned-clocks = <&gcc GCC_PCIE_PHY_REFGEN_CLK>; 1563 + assigned-clock-rates = <100000000>; 1564 + 1565 + status = "disabled"; 1566 + 1567 + pcie1_lane: lanes@1c06200 { 1568 + reg = <0 0x01c0a800 0 0x800>, 1569 + <0 0x01c0a800 0 0x800>, 1570 + <0 0x01c0b800 0 0x400>; 1571 + clocks = <&gcc GCC_PCIE_1_PIPE_CLK>; 1572 + clock-names = "pipe0"; 1573 + 1574 + #phy-cells = <0>; 1575 + clock-output-names = "pcie_1_pipe_clk"; 1576 + }; 1577 + }; 1578 + 1579 + mem_noc: interconnect@1380000 { 1580 + compatible = "qcom,sdm845-mem-noc"; 1581 + reg = <0 0x01380000 0 0x27200>; 1582 + #interconnect-cells = <1>; 1583 + qcom,bcm-voters = <&apps_bcm_voter>; 1584 + }; 1585 + 1586 + dc_noc: interconnect@14e0000 { 1587 + compatible = "qcom,sdm845-dc-noc"; 1588 + reg = <0 0x014e0000 0 0x400>; 1589 + #interconnect-cells = <1>; 1590 + qcom,bcm-voters = <&apps_bcm_voter>; 1591 + }; 1592 + 1593 + config_noc: interconnect@1500000 { 1594 + compatible = "qcom,sdm845-config-noc"; 1595 + reg = <0 0x01500000 0 0x5080>; 1596 + #interconnect-cells = <1>; 1597 + qcom,bcm-voters = <&apps_bcm_voter>; 1598 + }; 1599 + 1600 + system_noc: interconnect@1620000 { 1601 + compatible = "qcom,sdm845-system-noc"; 1602 + reg = <0 0x01620000 0 0x18080>; 1603 + #interconnect-cells = <1>; 1604 + qcom,bcm-voters = <&apps_bcm_voter>; 1605 + }; 1606 + 1607 + aggre1_noc: interconnect@16e0000 { 1608 + compatible = "qcom,sdm845-aggre1-noc"; 1609 + reg = <0 0x016e0000 0 0x15080>; 1610 + #interconnect-cells = <1>; 1611 + qcom,bcm-voters = <&apps_bcm_voter>; 1612 + }; 1613 + 1614 + aggre2_noc: interconnect@1700000 { 1615 + compatible = "qcom,sdm845-aggre2-noc"; 1616 + reg = <0 0x01700000 0 0x1f300>; 1617 + #interconnect-cells = <1>; 1618 + qcom,bcm-voters = <&apps_bcm_voter>; 1619 + }; 1620 + 1621 + mmss_noc: interconnect@1740000 { 1622 + compatible = "qcom,sdm845-mmss-noc"; 1623 + reg = <0 0x01740000 0 0x1c100>; 1624 + #interconnect-cells = <1>; 1625 + qcom,bcm-voters = <&apps_bcm_voter>; 1626 + }; 1627 + 1430 1628 ufs_mem_hc: ufshc@1d84000 { 1431 1629 compatible = "qcom,sdm845-ufshc", "qcom,ufshc", 1432 1630 "jedec,ufs-2.0"; ··· 1757 1433 <0 0x01d87a00 0 0x1e0>; 1758 1434 #phy-cells = <0>; 1759 1435 }; 1436 + }; 1437 + 1438 + ipa: ipa@1e40000 { 1439 + compatible = "qcom,sdm845-ipa"; 1440 + reg = <0 0x1e40000 0 0x7000>, 1441 + <0 0x1e47000 0 0x2000>, 1442 + <0 0x1e04000 0 0x2c000>; 1443 + reg-names = "ipa-reg", 1444 + "ipa-shared", 1445 + "gsi"; 1446 + 1447 + interrupts-extended = <&intc 0 311 IRQ_TYPE_EDGE_RISING>, 1448 + <&intc 0 432 IRQ_TYPE_LEVEL_HIGH>, 1449 + <&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 1450 + <&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>; 1451 + interrupt-names = "ipa", 1452 + "gsi", 1453 + "ipa-clock-query", 1454 + "ipa-setup-ready"; 1455 + 1456 + clocks = <&rpmhcc RPMH_IPA_CLK>; 1457 + clock-names = "core"; 1458 + 1459 + interconnects = <&aggre2_noc MASTER_IPA &mem_noc SLAVE_EBI1>, 1460 + <&aggre2_noc MASTER_IPA &system_noc SLAVE_IMEM>, 1461 + <&gladiator_noc MASTER_APPSS_PROC &config_noc SLAVE_IPA_CFG>; 1462 + interconnect-names = "memory", 1463 + "imem", 1464 + "config"; 1465 + 1466 + qcom,smem-states = <&ipa_smp2p_out 0>, 1467 + <&ipa_smp2p_out 1>; 1468 + qcom,smem-state-names = "ipa-clock-enabled-valid", 1469 + "ipa-clock-enabled"; 1470 + 1471 + modem-remoteproc = <&mss_pil>; 1472 + 1473 + status = "disabled"; 1760 1474 }; 1761 1475 1762 1476 tcsr_mutex_regs: syscon@1f40000 { ··· 2199 1837 function = "qup15"; 2200 1838 }; 2201 1839 }; 1840 + 1841 + quat_mi2s_sleep: quat_mi2s_sleep { 1842 + mux { 1843 + pins = "gpio58", "gpio59"; 1844 + function = "gpio"; 1845 + }; 1846 + 1847 + config { 1848 + pins = "gpio58", "gpio59"; 1849 + drive-strength = <2>; 1850 + bias-pull-down; 1851 + input-enable; 1852 + }; 1853 + }; 1854 + 1855 + quat_mi2s_active: quat_mi2s_active { 1856 + mux { 1857 + pins = "gpio58", "gpio59"; 1858 + function = "qua_mi2s"; 1859 + }; 1860 + 1861 + config { 1862 + pins = "gpio58", "gpio59"; 1863 + drive-strength = <8>; 1864 + bias-disable; 1865 + output-high; 1866 + }; 1867 + }; 1868 + 1869 + quat_mi2s_sd0_sleep: quat_mi2s_sd0_sleep { 1870 + mux { 1871 + pins = "gpio60"; 1872 + function = "gpio"; 1873 + }; 1874 + 1875 + config { 1876 + pins = "gpio60"; 1877 + drive-strength = <2>; 1878 + bias-pull-down; 1879 + input-enable; 1880 + }; 1881 + }; 1882 + 1883 + quat_mi2s_sd0_active: quat_mi2s_sd0_active { 1884 + mux { 1885 + pins = "gpio60"; 1886 + function = "qua_mi2s"; 1887 + }; 1888 + 1889 + config { 1890 + pins = "gpio60"; 1891 + drive-strength = <8>; 1892 + bias-disable; 1893 + }; 1894 + }; 1895 + 1896 + quat_mi2s_sd1_sleep: quat_mi2s_sd1_sleep { 1897 + mux { 1898 + pins = "gpio61"; 1899 + function = "gpio"; 1900 + }; 1901 + 1902 + config { 1903 + pins = "gpio61"; 1904 + drive-strength = <2>; 1905 + bias-pull-down; 1906 + input-enable; 1907 + }; 1908 + }; 1909 + 1910 + quat_mi2s_sd1_active: quat_mi2s_sd1_active { 1911 + mux { 1912 + pins = "gpio61"; 1913 + function = "qua_mi2s"; 1914 + }; 1915 + 1916 + config { 1917 + pins = "gpio61"; 1918 + drive-strength = <8>; 1919 + bias-disable; 1920 + }; 1921 + }; 1922 + 1923 + quat_mi2s_sd2_sleep: quat_mi2s_sd2_sleep { 1924 + mux { 1925 + pins = "gpio62"; 1926 + function = "gpio"; 1927 + }; 1928 + 1929 + config { 1930 + pins = "gpio62"; 1931 + drive-strength = <2>; 1932 + bias-pull-down; 1933 + input-enable; 1934 + }; 1935 + }; 1936 + 1937 + quat_mi2s_sd2_active: quat_mi2s_sd2_active { 1938 + mux { 1939 + pins = "gpio62"; 1940 + function = "qua_mi2s"; 1941 + }; 1942 + 1943 + config { 1944 + pins = "gpio62"; 1945 + drive-strength = <8>; 1946 + bias-disable; 1947 + }; 1948 + }; 1949 + 1950 + quat_mi2s_sd3_sleep: quat_mi2s_sd3_sleep { 1951 + mux { 1952 + pins = "gpio63"; 1953 + function = "gpio"; 1954 + }; 1955 + 1956 + config { 1957 + pins = "gpio63"; 1958 + drive-strength = <2>; 1959 + bias-pull-down; 1960 + input-enable; 1961 + }; 1962 + }; 1963 + 1964 + quat_mi2s_sd3_active: quat_mi2s_sd3_active { 1965 + mux { 1966 + pins = "gpio63"; 1967 + function = "qua_mi2s"; 1968 + }; 1969 + 1970 + config { 1971 + pins = "gpio63"; 1972 + drive-strength = <8>; 1973 + bias-disable; 1974 + }; 1975 + }; 2202 1976 }; 2203 1977 2204 1978 mss_pil: remoteproc@4080000 { ··· 2401 1903 #clock-cells = <1>; 2402 1904 #reset-cells = <1>; 2403 1905 #power-domain-cells = <1>; 2404 - clocks = <&rpmhcc RPMH_CXO_CLK>; 2405 - clock-names = "xo"; 1906 + clocks = <&rpmhcc RPMH_CXO_CLK>, 1907 + <&gcc GCC_GPU_GPLL0_CLK_SRC>, 1908 + <&gcc GCC_GPU_GPLL0_DIV_CLK_SRC>; 1909 + clock-names = "bi_tcxo", 1910 + "gcc_gpu_gpll0_clk_src", 1911 + "gcc_gpu_gpll0_div_clk_src"; 2406 1912 }; 2407 1913 2408 1914 stm@6002000 { ··· 2888 2386 status = "disabled"; 2889 2387 }; 2890 2388 2389 + slim: slim@171c0000 { 2390 + compatible = "qcom,slim-ngd-v2.1.0"; 2391 + reg = <0 0x171c0000 0 0x2c000>; 2392 + interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>; 2393 + 2394 + qcom,apps-ch-pipes = <0x780000>; 2395 + qcom,ea-pc = <0x270>; 2396 + status = "okay"; 2397 + dmas = <&slimbam 3>, <&slimbam 4>, 2398 + <&slimbam 5>, <&slimbam 6>; 2399 + dma-names = "rx", "tx", "tx2", "rx2"; 2400 + 2401 + iommus = <&apps_smmu 0x1806 0x0>; 2402 + #address-cells = <1>; 2403 + #size-cells = <0>; 2404 + 2405 + ngd@1 { 2406 + reg = <1>; 2407 + #address-cells = <2>; 2408 + #size-cells = <0>; 2409 + 2410 + wcd9340_ifd: ifd@0{ 2411 + compatible = "slim217,250"; 2412 + reg = <0 0>; 2413 + }; 2414 + 2415 + wcd9340: codec@1{ 2416 + compatible = "slim217,250"; 2417 + reg = <1 0>; 2418 + slim-ifc-dev = <&wcd9340_ifd>; 2419 + 2420 + #sound-dai-cells = <1>; 2421 + 2422 + interrupts-extended = <&tlmm 54 IRQ_TYPE_LEVEL_HIGH>; 2423 + interrupt-controller; 2424 + #interrupt-cells = <1>; 2425 + 2426 + #clock-cells = <0>; 2427 + clock-frequency = <9600000>; 2428 + clock-output-names = "mclk"; 2429 + qcom,micbias1-millivolt = <1800>; 2430 + qcom,micbias2-millivolt = <1800>; 2431 + qcom,micbias3-millivolt = <1800>; 2432 + qcom,micbias4-millivolt = <1800>; 2433 + 2434 + #address-cells = <1>; 2435 + #size-cells = <1>; 2436 + 2437 + wcdgpio: gpio-controller@42 { 2438 + compatible = "qcom,wcd9340-gpio"; 2439 + gpio-controller; 2440 + #gpio-cells = <2>; 2441 + reg = <0x42 0x2>; 2442 + }; 2443 + 2444 + swm: swm@c85 { 2445 + compatible = "qcom,soundwire-v1.3.0"; 2446 + reg = <0xc85 0x40>; 2447 + interrupts-extended = <&wcd9340 20>; 2448 + 2449 + qcom,dout-ports = <6>; 2450 + qcom,din-ports = <2>; 2451 + qcom,ports-sinterval-low =/bits/ 8 <0x07 0x1F 0x3F 0x7 0x1F 0x3F 0x0F 0x0F>; 2452 + qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0C 0x6 0x12 0x0D 0x07 0x0A >; 2453 + qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x1F 0x00 0x00 0x1F 0x00 0x00>; 2454 + 2455 + #sound-dai-cells = <1>; 2456 + clocks = <&wcd9340>; 2457 + clock-names = "iface"; 2458 + #address-cells = <2>; 2459 + #size-cells = <0>; 2460 + 2461 + 2462 + }; 2463 + }; 2464 + }; 2465 + }; 2466 + 2467 + sound: sound { 2468 + }; 2469 + 2891 2470 usb_1_hsphy: phy@88e2000 { 2892 2471 compatible = "qcom,sdm845-qusb2-phy"; 2893 2472 reg = <0 0x088e2000 0 0x400>; ··· 3153 2570 }; 3154 2571 }; 3155 2572 3156 - video-codec@aa00000 { 3157 - compatible = "qcom,sdm845-venus"; 2573 + venus: video-codec@aa00000 { 2574 + compatible = "qcom,sdm845-venus-v2"; 3158 2575 reg = <0 0x0aa00000 0 0xff000>; 3159 2576 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; 3160 - power-domains = <&videocc VENUS_GDSC>; 2577 + power-domains = <&videocc VENUS_GDSC>, 2578 + <&videocc VCODEC0_GDSC>, 2579 + <&videocc VCODEC1_GDSC>; 2580 + power-domain-names = "venus", "vcodec0", "vcodec1"; 3161 2581 clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>, 3162 2582 <&videocc VIDEO_CC_VENUS_AHB_CLK>, 3163 - <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>; 3164 - clock-names = "core", "iface", "bus"; 2583 + <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>, 2584 + <&videocc VIDEO_CC_VCODEC0_CORE_CLK>, 2585 + <&videocc VIDEO_CC_VCODEC0_AXI_CLK>, 2586 + <&videocc VIDEO_CC_VCODEC1_CORE_CLK>, 2587 + <&videocc VIDEO_CC_VCODEC1_AXI_CLK>; 2588 + clock-names = "core", "iface", "bus", 2589 + "vcodec0_core", "vcodec0_bus", 2590 + "vcodec1_core", "vcodec1_bus"; 3165 2591 iommus = <&apps_smmu 0x10a0 0x8>, 3166 2592 <&apps_smmu 0x10b0 0x0>; 3167 2593 memory-region = <&venus_mem>; 3168 2594 3169 2595 video-core0 { 3170 2596 compatible = "venus-decoder"; 3171 - clocks = <&videocc VIDEO_CC_VCODEC0_CORE_CLK>, 3172 - <&videocc VIDEO_CC_VCODEC0_AXI_CLK>; 3173 - clock-names = "core", "bus"; 3174 - power-domains = <&videocc VCODEC0_GDSC>; 3175 2597 }; 3176 2598 3177 2599 video-core1 { 3178 2600 compatible = "venus-encoder"; 3179 - clocks = <&videocc VIDEO_CC_VCODEC1_CORE_CLK>, 3180 - <&videocc VIDEO_CC_VCODEC1_AXI_CLK>; 3181 - clock-names = "core", "bus"; 3182 - power-domains = <&videocc VCODEC1_GDSC>; 3183 2601 }; 3184 2602 }; 3185 2603 3186 2604 videocc: clock-controller@ab00000 { 3187 2605 compatible = "qcom,sdm845-videocc"; 3188 2606 reg = <0 0x0ab00000 0 0x10000>; 2607 + clocks = <&rpmhcc RPMH_CXO_CLK>; 2608 + clock-names = "bi_tcxo"; 3189 2609 #clock-cells = <1>; 3190 2610 #power-domain-cells = <1>; 3191 2611 #reset-cells = <1>; ··· 3519 2933 dispcc: clock-controller@af00000 { 3520 2934 compatible = "qcom,sdm845-dispcc"; 3521 2935 reg = <0 0x0af00000 0 0x10000>; 2936 + clocks = <&rpmhcc RPMH_CXO_CLK>, 2937 + <&gcc GCC_DISP_GPLL0_CLK_SRC>, 2938 + <&gcc GCC_DISP_GPLL0_DIV_CLK_SRC>, 2939 + <&dsi0_phy 0>, 2940 + <&dsi0_phy 1>, 2941 + <&dsi1_phy 0>, 2942 + <&dsi1_phy 1>, 2943 + <0>, 2944 + <0>; 2945 + clock-names = "bi_tcxo", 2946 + "gcc_disp_gpll0_clk_src", 2947 + "gcc_disp_gpll0_div_clk_src", 2948 + "dsi0_phy_pll_out_byteclk", 2949 + "dsi0_phy_pll_out_dsiclk", 2950 + "dsi1_phy_pll_out_byteclk", 2951 + "dsi1_phy_pll_out_dsiclk", 2952 + "dp_link_clk_divsel_ten", 2953 + "dp_vco_divided_clk_src_mux"; 3522 2954 #clock-cells = <1>; 3523 2955 #reset-cells = <1>; 3524 2956 #power-domain-cells = <1>; ··· 3702 3098 status = "disabled"; 3703 3099 }; 3704 3100 3101 + gladiator_noc: interconnect@17900000 { 3102 + compatible = "qcom,sdm845-gladiator-noc"; 3103 + reg = <0 0x17900000 0 0xd080>; 3104 + #interconnect-cells = <1>; 3105 + qcom,bcm-voters = <&apps_bcm_voter>; 3106 + }; 3107 + 3705 3108 watchdog@17980000 { 3706 3109 compatible = "qcom,apss-wdt-sdm845", "qcom,kpss-wdt"; 3707 3110 reg = <0 0x17980000 0 0x1000>; ··· 3737 3126 <SLEEP_TCS 3>, 3738 3127 <WAKE_TCS 3>, 3739 3128 <CONTROL_TCS 1>; 3129 + 3130 + apps_bcm_voter: bcm-voter { 3131 + compatible = "qcom,bcm-voter"; 3132 + }; 3740 3133 3741 3134 rpmhcc: clock-controller { 3742 3135 compatible = "qcom,sdm845-rpmh-clk"; ··· 3798 3183 }; 3799 3184 }; 3800 3185 }; 3801 - 3802 - rsc_hlos: interconnect { 3803 - compatible = "qcom,sdm845-rsc-hlos"; 3804 - #interconnect-cells = <1>; 3805 - }; 3806 3186 }; 3807 3187 3808 3188 intc: interrupt-controller@17a00000 { ··· 3818 3208 reg = <0 0x17a40000 0 0x20000>; 3819 3209 status = "disabled"; 3820 3210 }; 3211 + }; 3212 + 3213 + slimbam: dma@17184000 { 3214 + compatible = "qcom,bam-v1.7.0"; 3215 + qcom,controlled-remotely; 3216 + reg = <0 0x17184000 0 0x2a000>; 3217 + num-channels = <31>; 3218 + interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; 3219 + #dma-cells = <1>; 3220 + qcom,ee = <1>; 3221 + qcom,num-ees = <2>; 3222 + iommus = <&apps_smmu 0x1806 0x0>; 3821 3223 }; 3822 3224 3823 3225 timer@17c90000 { ··· 3888 3266 reg = <0 0x17d10000 0 0x1000>; 3889 3267 status = "disabled"; 3890 3268 }; 3269 + }; 3270 + 3271 + osm_l3: interconnect@17d41000 { 3272 + compatible = "qcom,sdm845-osm-l3"; 3273 + reg = <0 0x17d41000 0 0x1400>; 3274 + 3275 + clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>; 3276 + clock-names = "xo", "alternate"; 3277 + 3278 + #interconnect-cells = <1>; 3891 3279 }; 3892 3280 3893 3281 cpufreq_hw: cpufreq@17d43000 {
+114
arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
··· 7 7 8 8 /dts-v1/; 9 9 10 + #include <dt-bindings/gpio/gpio.h> 10 11 #include <dt-bindings/regulator/qcom,rpmh-regulator.h> 12 + #include <dt-bindings/sound/qcom,q6afe.h> 13 + #include <dt-bindings/sound/qcom,q6asm.h> 11 14 #include "sdm845.dtsi" 12 15 #include "pm8998.dtsi" 13 16 ··· 356 353 status = "okay"; 357 354 }; 358 355 356 + &q6asmdai { 357 + dai@0 { 358 + reg = <0>; 359 + direction = <2>; 360 + }; 361 + 362 + dai@1 { 363 + reg = <1>; 364 + direction = <1>; 365 + }; 366 + }; 367 + 368 + &sound { 369 + compatible = "qcom,db845c-sndcard"; 370 + model = "Lenovo-YOGA-C630-13Q50"; 371 + 372 + audio-routing = 373 + "RX_BIAS", "MCLK", 374 + "AMIC2", "MIC BIAS2", 375 + "SpkrLeft IN", "SPK1 OUT", 376 + "SpkrRight IN", "SPK2 OUT", 377 + "MM_DL1", "MultiMedia1 Playback", 378 + "MultiMedia2 Capture", "MM_UL2"; 379 + 380 + mm1-dai-link { 381 + link-name = "MultiMedia1"; 382 + cpu { 383 + sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; 384 + }; 385 + }; 386 + 387 + mm2-dai-link { 388 + link-name = "MultiMedia2"; 389 + cpu { 390 + sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; 391 + }; 392 + }; 393 + 394 + slim-dai-link { 395 + link-name = "SLIM Playback"; 396 + cpu { 397 + sound-dai = <&q6afedai SLIMBUS_0_RX>; 398 + }; 399 + 400 + platform { 401 + sound-dai = <&q6routing>; 402 + }; 403 + 404 + codec { 405 + sound-dai = <&left_spkr>, <&right_spkr>, <&swm 0>, <&wcd9340 0>; 406 + }; 407 + }; 408 + 409 + slimcap-dai-link { 410 + link-name = "SLIM Capture"; 411 + cpu { 412 + sound-dai = <&q6afedai SLIMBUS_0_TX>; 413 + }; 414 + 415 + platform { 416 + sound-dai = <&q6routing>; 417 + }; 418 + 419 + codec { 420 + sound-dai = <&wcd9340 1>; 421 + }; 422 + }; 423 + }; 424 + 359 425 &tlmm { 360 426 gpio-reserved-ranges = <0 4>, <81 4>; 361 427 ··· 452 380 453 381 input-enable; 454 382 bias-pull-up; 383 + drive-strength = <2>; 384 + }; 385 + 386 + wcd_intr_default: wcd_intr_default { 387 + pins = <54>; 388 + function = "gpio"; 389 + 390 + input-enable; 391 + bias-pull-down; 455 392 drive-strength = <2>; 456 393 }; 457 394 }; ··· 545 464 546 465 vdda-phy-supply = <&vdda_usb2_ss_1p2>; 547 466 vdda-pll-supply = <&vdda_usb2_ss_core>; 467 + }; 468 + 469 + &wcd9340{ 470 + pinctrl-0 = <&wcd_intr_default>; 471 + pinctrl-names = "default"; 472 + clock-names = "extclk"; 473 + clocks = <&rpmhcc RPMH_LN_BB_CLK2>; 474 + reset-gpios = <&tlmm 64 0>; 475 + vdd-buck-supply = <&vreg_s4a_1p8>; 476 + vdd-buck-sido-supply = <&vreg_s4a_1p8>; 477 + vdd-tx-supply = <&vreg_s4a_1p8>; 478 + vdd-rx-supply = <&vreg_s4a_1p8>; 479 + vdd-io-supply = <&vreg_s4a_1p8>; 480 + 481 + swm: swm@c85 { 482 + left_spkr: wsa8810-left{ 483 + compatible = "sdw10217211000"; 484 + reg = <0 3>; 485 + powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>; 486 + #thermal-sensor-cells = <0>; 487 + sound-name-prefix = "SpkrLeft"; 488 + #sound-dai-cells = <0>; 489 + }; 490 + 491 + right_spkr: wsa8810-right{ 492 + compatible = "sdw10217211000"; 493 + powerdown-gpios = <&wcdgpio 3 GPIO_ACTIVE_HIGH>; 494 + reg = <0 4>; 495 + #thermal-sensor-cells = <0>; 496 + sound-name-prefix = "SpkrRight"; 497 + #sound-dai-cells = <0>; 498 + }; 499 + }; 548 500 };
+29
arch/arm64/boot/dts/qcom/sm8250-mtp.dts
··· 1 + // SPDX-License-Identifier: BSD-3-Clause 2 + /* 3 + * Copyright (c) 2020, The Linux Foundation. All rights reserved. 4 + */ 5 + 6 + /dts-v1/; 7 + 8 + #include "sm8250.dtsi" 9 + 10 + / { 11 + model = "Qualcomm Technologies, Inc. SM8250 MTP"; 12 + compatible = "qcom,sm8250-mtp"; 13 + 14 + aliases { 15 + serial0 = &uart2; 16 + }; 17 + 18 + chosen { 19 + stdout-path = "serial0:115200n8"; 20 + }; 21 + }; 22 + 23 + &qupv3_id_1 { 24 + status = "okay"; 25 + }; 26 + 27 + &uart2 { 28 + status = "okay"; 29 + };
+444
arch/arm64/boot/dts/qcom/sm8250.dtsi
··· 1 + // SPDX-License-Identifier: BSD-3-Clause 2 + /* 3 + * Copyright (c) 2020, The Linux Foundation. All rights reserved. 4 + */ 5 + 6 + #include <dt-bindings/interrupt-controller/arm-gic.h> 7 + #include <dt-bindings/clock/qcom,rpmh.h> 8 + #include <dt-bindings/soc/qcom,rpmh-rsc.h> 9 + 10 + / { 11 + interrupt-parent = <&intc>; 12 + 13 + #address-cells = <2>; 14 + #size-cells = <2>; 15 + 16 + chosen { }; 17 + 18 + clocks { 19 + xo_board: xo-board { 20 + compatible = "fixed-clock"; 21 + #clock-cells = <0>; 22 + clock-frequency = <38400000>; 23 + clock-output-names = "xo_board"; 24 + }; 25 + 26 + sleep_clk: sleep-clk { 27 + compatible = "fixed-clock"; 28 + clock-frequency = <32000>; 29 + #clock-cells = <0>; 30 + }; 31 + }; 32 + 33 + cpus { 34 + #address-cells = <2>; 35 + #size-cells = <0>; 36 + 37 + CPU0: cpu@0 { 38 + device_type = "cpu"; 39 + compatible = "qcom,kryo485"; 40 + reg = <0x0 0x0>; 41 + enable-method = "psci"; 42 + next-level-cache = <&L2_0>; 43 + L2_0: l2-cache { 44 + compatible = "cache"; 45 + next-level-cache = <&L3_0>; 46 + L3_0: l3-cache { 47 + compatible = "cache"; 48 + }; 49 + }; 50 + }; 51 + 52 + CPU1: cpu@100 { 53 + device_type = "cpu"; 54 + compatible = "qcom,kryo485"; 55 + reg = <0x0 0x100>; 56 + enable-method = "psci"; 57 + next-level-cache = <&L2_100>; 58 + L2_100: l2-cache { 59 + compatible = "cache"; 60 + next-level-cache = <&L3_0>; 61 + }; 62 + }; 63 + 64 + CPU2: cpu@200 { 65 + device_type = "cpu"; 66 + compatible = "qcom,kryo485"; 67 + reg = <0x0 0x200>; 68 + enable-method = "psci"; 69 + next-level-cache = <&L2_200>; 70 + L2_200: l2-cache { 71 + compatible = "cache"; 72 + next-level-cache = <&L3_0>; 73 + }; 74 + }; 75 + 76 + CPU3: cpu@300 { 77 + device_type = "cpu"; 78 + compatible = "qcom,kryo485"; 79 + reg = <0x0 0x300>; 80 + enable-method = "psci"; 81 + next-level-cache = <&L2_300>; 82 + L2_300: l2-cache { 83 + compatible = "cache"; 84 + next-level-cache = <&L3_0>; 85 + }; 86 + }; 87 + 88 + CPU4: cpu@400 { 89 + device_type = "cpu"; 90 + compatible = "qcom,kryo485"; 91 + reg = <0x0 0x400>; 92 + enable-method = "psci"; 93 + next-level-cache = <&L2_400>; 94 + L2_400: l2-cache { 95 + compatible = "cache"; 96 + next-level-cache = <&L3_0>; 97 + }; 98 + }; 99 + 100 + CPU5: cpu@500 { 101 + device_type = "cpu"; 102 + compatible = "qcom,kryo485"; 103 + reg = <0x0 0x500>; 104 + enable-method = "psci"; 105 + next-level-cache = <&L2_500>; 106 + L2_500: l2-cache { 107 + compatible = "cache"; 108 + next-level-cache = <&L3_0>; 109 + }; 110 + 111 + }; 112 + 113 + CPU6: cpu@600 { 114 + device_type = "cpu"; 115 + compatible = "qcom,kryo485"; 116 + reg = <0x0 0x600>; 117 + enable-method = "psci"; 118 + next-level-cache = <&L2_600>; 119 + L2_600: l2-cache { 120 + compatible = "cache"; 121 + next-level-cache = <&L3_0>; 122 + }; 123 + }; 124 + 125 + CPU7: cpu@700 { 126 + device_type = "cpu"; 127 + compatible = "qcom,kryo485"; 128 + reg = <0x0 0x700>; 129 + enable-method = "psci"; 130 + next-level-cache = <&L2_700>; 131 + L2_700: l2-cache { 132 + compatible = "cache"; 133 + next-level-cache = <&L3_0>; 134 + }; 135 + }; 136 + }; 137 + 138 + firmware { 139 + scm: scm { 140 + compatible = "qcom,scm"; 141 + #reset-cells = <1>; 142 + }; 143 + }; 144 + 145 + tcsr_mutex: hwlock { 146 + compatible = "qcom,tcsr-mutex"; 147 + syscon = <&tcsr_mutex_regs 0 0x1000>; 148 + #hwlock-cells = <1>; 149 + }; 150 + 151 + memory@80000000 { 152 + device_type = "memory"; 153 + /* We expect the bootloader to fill in the size */ 154 + reg = <0x0 0x80000000 0x0 0x0>; 155 + }; 156 + 157 + pmu { 158 + compatible = "arm,armv8-pmuv3"; 159 + interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 160 + }; 161 + 162 + psci { 163 + compatible = "arm,psci-1.0"; 164 + method = "smc"; 165 + }; 166 + 167 + reserved-memory { 168 + #address-cells = <2>; 169 + #size-cells = <2>; 170 + ranges; 171 + 172 + hyp_mem: memory@80000000 { 173 + reg = <0x0 0x80000000 0x0 0x600000>; 174 + no-map; 175 + }; 176 + 177 + xbl_aop_mem: memory@80700000 { 178 + reg = <0x0 0x80700000 0x0 0x160000>; 179 + no-map; 180 + }; 181 + 182 + cmd_db: memory@80860000 { 183 + compatible = "qcom,cmd-db"; 184 + reg = <0x0 0x80860000 0x0 0x20000>; 185 + no-map; 186 + }; 187 + 188 + smem_mem: memory@80900000 { 189 + reg = <0x0 0x80900000 0x0 0x200000>; 190 + no-map; 191 + }; 192 + 193 + removed_mem: memory@80b00000 { 194 + reg = <0x0 0x80b00000 0x0 0x5300000>; 195 + no-map; 196 + }; 197 + 198 + camera_mem: memory@86200000 { 199 + reg = <0x0 0x86200000 0x0 0x500000>; 200 + no-map; 201 + }; 202 + 203 + wlan_mem: memory@86700000 { 204 + reg = <0x0 0x86700000 0x0 0x100000>; 205 + no-map; 206 + }; 207 + 208 + ipa_fw_mem: memory@86800000 { 209 + reg = <0x0 0x86800000 0x0 0x10000>; 210 + no-map; 211 + }; 212 + 213 + ipa_gsi_mem: memory@86810000 { 214 + reg = <0x0 0x86810000 0x0 0xa000>; 215 + no-map; 216 + }; 217 + 218 + gpu_mem: memory@8681a000 { 219 + reg = <0x0 0x8681a000 0x0 0x2000>; 220 + no-map; 221 + }; 222 + 223 + npu_mem: memory@86900000 { 224 + reg = <0x0 0x86900000 0x0 0x500000>; 225 + no-map; 226 + }; 227 + 228 + video_mem: memory@86e00000 { 229 + reg = <0x0 0x86e00000 0x0 0x500000>; 230 + no-map; 231 + }; 232 + 233 + cvp_mem: memory@87300000 { 234 + reg = <0x0 0x87300000 0x0 0x500000>; 235 + no-map; 236 + }; 237 + 238 + cdsp_mem: memory@87800000 { 239 + reg = <0x0 0x87800000 0x0 0x1400000>; 240 + no-map; 241 + }; 242 + 243 + slpi_mem: memory@88c00000 { 244 + reg = <0x0 0x88c00000 0x0 0x1500000>; 245 + no-map; 246 + }; 247 + 248 + adsp_mem: memory@8a100000 { 249 + reg = <0x0 0x8a100000 0x0 0x1d00000>; 250 + no-map; 251 + }; 252 + 253 + spss_mem: memory@8be00000 { 254 + reg = <0x0 0x8be00000 0x0 0x100000>; 255 + no-map; 256 + }; 257 + 258 + cdsp_secure_heap: memory@8bf00000 { 259 + reg = <0x0 0x8bf00000 0x0 0x4600000>; 260 + no-map; 261 + }; 262 + }; 263 + 264 + smem: qcom,smem { 265 + compatible = "qcom,smem"; 266 + memory-region = <&smem_mem>; 267 + hwlocks = <&tcsr_mutex 3>; 268 + }; 269 + 270 + soc: soc@0 { 271 + #address-cells = <2>; 272 + #size-cells = <2>; 273 + ranges = <0 0 0 0 0x10 0>; 274 + dma-ranges = <0 0 0 0 0x10 0>; 275 + compatible = "simple-bus"; 276 + 277 + gcc: clock-controller@100000 { 278 + compatible = "qcom,gcc-sm8250"; 279 + reg = <0x0 0x00100000 0x0 0x1f0000>; 280 + #clock-cells = <1>; 281 + #reset-cells = <1>; 282 + #power-domain-cells = <1>; 283 + clock-names = "bi_tcxo", "sleep_clk"; 284 + clocks = <&rpmhcc RPMH_CXO_CLK>, <&sleep_clk>; 285 + }; 286 + 287 + qupv3_id_1: geniqup@ac0000 { 288 + compatible = "qcom,geni-se-qup"; 289 + reg = <0x0 0x00ac0000 0x0 0x6000>; 290 + clock-names = "m-ahb", "s-ahb"; 291 + clocks = <&gcc 133>, <&gcc 134>; 292 + #address-cells = <2>; 293 + #size-cells = <2>; 294 + ranges; 295 + status = "disabled"; 296 + 297 + uart2: serial@a90000 { 298 + compatible = "qcom,geni-debug-uart"; 299 + reg = <0x0 0x00a90000 0x0 0x4000>; 300 + clock-names = "se"; 301 + clocks = <&gcc 113>; 302 + interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>; 303 + status = "disabled"; 304 + }; 305 + }; 306 + 307 + intc: interrupt-controller@17a00000 { 308 + compatible = "arm,gic-v3"; 309 + #interrupt-cells = <3>; 310 + interrupt-controller; 311 + reg = <0x0 0x17a00000 0x0 0x10000>, /* GICD */ 312 + <0x0 0x17a60000 0x0 0x100000>; /* GICR * 8 */ 313 + interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 314 + }; 315 + 316 + pdc: interrupt-controller@b220000 { 317 + compatible = "qcom,sm8250-pdc"; 318 + reg = <0x0b220000 0x30000>, <0x17c000f0 0x60>; 319 + qcom,pdc-ranges = <0 480 94>, <94 609 31>, 320 + <125 63 1>, <126 716 12>; 321 + #interrupt-cells = <2>; 322 + interrupt-parent = <&intc>; 323 + interrupt-controller; 324 + }; 325 + 326 + spmi: qcom,spmi@c440000 { 327 + compatible = "qcom,spmi-pmic-arb"; 328 + reg = <0x0 0x0c440000 0x0 0x0001100>, 329 + <0x0 0x0c600000 0x0 0x2000000>, 330 + <0x0 0x0e600000 0x0 0x0100000>, 331 + <0x0 0x0e700000 0x0 0x00a0000>, 332 + <0x0 0x0c40a000 0x0 0x0026000>; 333 + reg-names = "core", "chnls", "obsrvr", "intr", "cnfg"; 334 + interrupt-names = "periph_irq"; 335 + interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>; 336 + qcom,ee = <0>; 337 + qcom,channel = <0>; 338 + #address-cells = <2>; 339 + #size-cells = <0>; 340 + interrupt-controller; 341 + #interrupt-cells = <4>; 342 + }; 343 + 344 + apps_rsc: rsc@18200000 { 345 + label = "apps_rsc"; 346 + compatible = "qcom,rpmh-rsc"; 347 + reg = <0x0 0x18200000 0x0 0x10000>, 348 + <0x0 0x18210000 0x0 0x10000>, 349 + <0x0 0x18220000 0x0 0x10000>; 350 + reg-names = "drv-0", "drv-1", "drv-2"; 351 + interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 352 + <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 353 + <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 354 + qcom,tcs-offset = <0xd00>; 355 + qcom,drv-id = <2>; 356 + qcom,tcs-config = <ACTIVE_TCS 2>, <SLEEP_TCS 3>, 357 + <WAKE_TCS 3>, <CONTROL_TCS 1>; 358 + 359 + rpmhcc: clock-controller { 360 + compatible = "qcom,sm8250-rpmh-clk"; 361 + #clock-cells = <1>; 362 + clock-names = "xo"; 363 + clocks = <&xo_board>; 364 + }; 365 + }; 366 + 367 + tcsr_mutex_regs: syscon@1f40000 { 368 + compatible = "syscon"; 369 + reg = <0x0 0x01f40000 0x0 0x40000>; 370 + }; 371 + 372 + timer@17c20000 { 373 + #address-cells = <2>; 374 + #size-cells = <2>; 375 + ranges; 376 + compatible = "arm,armv7-timer-mem"; 377 + reg = <0x0 0x17c20000 0x0 0x1000>; 378 + clock-frequency = <19200000>; 379 + 380 + frame@17c21000 { 381 + frame-number = <0>; 382 + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 383 + <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 384 + reg = <0x0 0x17c21000 0x0 0x1000>, 385 + <0x0 0x17c22000 0x0 0x1000>; 386 + }; 387 + 388 + frame@17c23000 { 389 + frame-number = <1>; 390 + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 391 + reg = <0x0 0x17c23000 0x0 0x1000>; 392 + status = "disabled"; 393 + }; 394 + 395 + frame@17c25000 { 396 + frame-number = <2>; 397 + interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 398 + reg = <0x0 0x17c25000 0x0 0x1000>; 399 + status = "disabled"; 400 + }; 401 + 402 + frame@17c27000 { 403 + frame-number = <3>; 404 + interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 405 + reg = <0x0 0x17c27000 0x0 0x1000>; 406 + status = "disabled"; 407 + }; 408 + 409 + frame@17c29000 { 410 + frame-number = <4>; 411 + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 412 + reg = <0x0 0x17c29000 0x0 0x1000>; 413 + status = "disabled"; 414 + }; 415 + 416 + frame@17c2b000 { 417 + frame-number = <5>; 418 + interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 419 + reg = <0x0 0x17c2b000 0x0 0x1000>; 420 + status = "disabled"; 421 + }; 422 + 423 + frame@17c2d000 { 424 + frame-number = <6>; 425 + interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 426 + reg = <0x0 0x17c2d000 0x0 0x1000>; 427 + status = "disabled"; 428 + }; 429 + }; 430 + 431 + }; 432 + 433 + timer { 434 + compatible = "arm,armv8-timer"; 435 + interrupts = <GIC_PPI 13 436 + (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 437 + <GIC_PPI 14 438 + (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 439 + <GIC_PPI 11 440 + (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, 441 + <GIC_PPI 12 442 + (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; 443 + }; 444 + };
+2 -4
arch/arm64/boot/dts/renesas/Makefile
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 dtb-$(CONFIG_ARCH_R8A774A1) += r8a774a1-hihope-rzg2m.dtb 3 3 dtb-$(CONFIG_ARCH_R8A774A1) += r8a774a1-hihope-rzg2m-ex.dtb 4 + dtb-$(CONFIG_ARCH_R8A774A1) += r8a774a1-hihope-rzg2m-ex-idk-1110wr.dtb 4 5 dtb-$(CONFIG_ARCH_R8A774B1) += r8a774b1-hihope-rzg2n.dtb 5 6 dtb-$(CONFIG_ARCH_R8A774B1) += r8a774b1-hihope-rzg2n-ex.dtb 6 7 dtb-$(CONFIG_ARCH_R8A774C0) += r8a774c0-cat874.dtb r8a774c0-ek874.dtb \ 7 8 r8a774c0-ek874-idk-2121wr.dtb 8 - dtb-$(CONFIG_ARCH_R8A7795) += r8a77950-salvator-x.dtb 9 - dtb-$(CONFIG_ARCH_R8A7795) += r8a77950-ulcb.dtb r8a77950-ulcb-kf.dtb 10 - dtb-$(CONFIG_ARCH_R8A7795) += r8a77951-salvator-x.dtb r8a77951-salvator-xs.dtb 11 - dtb-$(CONFIG_ARCH_R8A7795) += r8a77951-ulcb.dtb r8a77951-ulcb-kf.dtb 12 9 dtb-$(CONFIG_ARCH_R8A77950) += r8a77950-salvator-x.dtb 13 10 dtb-$(CONFIG_ARCH_R8A77950) += r8a77950-ulcb.dtb r8a77950-ulcb-kf.dtb 14 11 dtb-$(CONFIG_ARCH_R8A77951) += r8a77951-salvator-x.dtb r8a77951-salvator-xs.dtb ··· 13 16 dtb-$(CONFIG_ARCH_R8A77960) += r8a77960-salvator-x.dtb r8a77960-salvator-xs.dtb 14 17 dtb-$(CONFIG_ARCH_R8A77960) += r8a77960-ulcb.dtb r8a77960-ulcb-kf.dtb 15 18 dtb-$(CONFIG_ARCH_R8A77961) += r8a77961-salvator-xs.dtb 19 + dtb-$(CONFIG_ARCH_R8A77961) += r8a77961-ulcb.dtb 16 20 dtb-$(CONFIG_ARCH_R8A77965) += r8a77965-salvator-x.dtb r8a77965-salvator-xs.dtb 17 21 dtb-$(CONFIG_ARCH_R8A77965) += r8a77965-ulcb.dtb r8a77965-ulcb-kf.dtb 18 22 dtb-$(CONFIG_ARCH_R8A77970) += r8a77970-eagle.dtb r8a77970-v3msk.dtb
+52
arch/arm64/boot/dts/renesas/r8a774a1-hihope-rzg2m-ex-idk-1110wr.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * Device Tree Source for the HiHope RZ/G2M sub board connected to an 4 + * Advantech IDK-1110WR 10.1" LVDS panel 5 + * 6 + * Copyright (C) 2020 Renesas Electronics Corp. 7 + */ 8 + 9 + #include "r8a774a1-hihope-rzg2m-ex.dts" 10 + #include "rzg2-advantech-idk-1110wr-panel.dtsi" 11 + 12 + / { 13 + backlight { 14 + compatible = "pwm-backlight"; 15 + pwms = <&pwm0 0 50000>; 16 + 17 + brightness-levels = <0 2 8 16 32 64 128 255>; 18 + default-brightness-level = <6>; 19 + }; 20 + 21 + }; 22 + 23 + &gpio1 { 24 + /* 25 + * When GP1_20 is LOW LVDS0 is connected to the LVDS connector 26 + * When GP1_20 is HIGH LVDS0 is connected to the LT8918L 27 + */ 28 + lvds-connector-en-gpio { 29 + gpio-hog; 30 + gpios = <20 GPIO_ACTIVE_HIGH>; 31 + output-low; 32 + line-name = "lvds-connector-en-gpio"; 33 + }; 34 + }; 35 + 36 + &lvds0 { 37 + status = "okay"; 38 + }; 39 + 40 + &pfc { 41 + pwm0_pins: pwm0 { 42 + groups = "pwm0"; 43 + function = "pwm0"; 44 + }; 45 + }; 46 + 47 + &pwm0 { 48 + pinctrl-0 = <&pwm0_pins>; 49 + pinctrl-names = "default"; 50 + 51 + status = "okay"; 52 + };
+4 -3
arch/arm64/boot/dts/renesas/r8a774a1.dtsi
··· 2634 2634 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 2635 2635 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>, 2636 2636 <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>; 2637 - clocks = <&cpg CPG_MOD 724>, 2638 - <&cpg CPG_MOD 723>, 2637 + clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, 2639 2638 <&cpg CPG_MOD 722>; 2640 2639 clock-names = "du.0", "du.1", "du.2"; 2640 + resets = <&cpg 724>, <&cpg 722>; 2641 + reset-names = "du.0", "du.2"; 2641 2642 status = "disabled"; 2642 2643 2643 - vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>; 2644 + renesas,vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>; 2644 2645 2645 2646 ports { 2646 2647 #address-cells = <1>;
+4 -3
arch/arm64/boot/dts/renesas/r8a774b1.dtsi
··· 2480 2480 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 2481 2481 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>, 2482 2482 <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>; 2483 - clocks = <&cpg CPG_MOD 724>, 2484 - <&cpg CPG_MOD 723>, 2483 + clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, 2485 2484 <&cpg CPG_MOD 721>; 2486 2485 clock-names = "du.0", "du.1", "du.3"; 2486 + resets = <&cpg 724>, <&cpg 722>; 2487 + reset-names = "du.0", "du.3"; 2487 2488 status = "disabled"; 2488 2489 2489 - vsps = <&vspd0 0>, <&vspd1 0>, <&vspd0 1>; 2490 + renesas,vsps = <&vspd0 0>, <&vspd1 0>, <&vspd0 1>; 2490 2491 2491 2492 ports { 2492 2493 #address-cells = <1>;
+5 -3
arch/arm64/boot/dts/renesas/r8a774c0.dtsi
··· 1810 1810 reg = <0 0xfeb00000 0 0x40000>; 1811 1811 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 1812 1812 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; 1813 - clocks = <&cpg CPG_MOD 724>, 1814 - <&cpg CPG_MOD 723>; 1813 + clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>; 1815 1814 clock-names = "du.0", "du.1"; 1816 - vsps = <&vspd0 0>, <&vspd1 0>; 1815 + resets = <&cpg 724>; 1816 + reset-names = "du.0"; 1817 + renesas,vsps = <&vspd0 0>, <&vspd1 0>; 1818 + 1817 1819 status = "disabled"; 1818 1820 1819 1821 ports {
+1 -1
arch/arm64/boot/dts/renesas/r8a77950.dtsi
··· 30 30 }; 31 31 32 32 &du { 33 - vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd3 0>; 33 + renesas,vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd3 0>; 34 34 }; 35 35 36 36 &fcpvb1 {
+6 -5
arch/arm64/boot/dts/renesas/r8a77951.dtsi
··· 3177 3177 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>, 3178 3178 <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>, 3179 3179 <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>; 3180 - clocks = <&cpg CPG_MOD 724>, 3181 - <&cpg CPG_MOD 723>, 3182 - <&cpg CPG_MOD 722>, 3183 - <&cpg CPG_MOD 721>; 3180 + clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, 3181 + <&cpg CPG_MOD 722>, <&cpg CPG_MOD 721>; 3184 3182 clock-names = "du.0", "du.1", "du.2", "du.3"; 3183 + resets = <&cpg 724>, <&cpg 722>; 3184 + reset-names = "du.0", "du.2"; 3185 3185 3186 3186 renesas,cmms = <&cmm0>, <&cmm1>, <&cmm2>, <&cmm3>; 3187 - vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd0 1>; 3187 + renesas,vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, 3188 + <&vspd0 1>; 3188 3189 3189 3190 status = "disabled"; 3190 3191
+13 -3
arch/arm64/boot/dts/renesas/r8a77960.dtsi
··· 862 862 status = "disabled"; 863 863 }; 864 864 865 + arm_cc630p: crypto@e6601000 { 866 + compatible = "arm,cryptocell-630p-ree"; 867 + interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 868 + reg = <0x0 0xe6601000 0 0x1000>; 869 + clocks = <&cpg CPG_MOD 229>; 870 + resets = <&cpg 229>; 871 + power-domains = <&sysc R8A7796_PD_ALWAYS_ON>; 872 + }; 873 + 865 874 dmac0: dma-controller@e6700000 { 866 875 compatible = "renesas,dmac-r8a7796", 867 876 "renesas,rcar-dmac"; ··· 2827 2818 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 2828 2819 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>, 2829 2820 <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>; 2830 - clocks = <&cpg CPG_MOD 724>, 2831 - <&cpg CPG_MOD 723>, 2821 + clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, 2832 2822 <&cpg CPG_MOD 722>; 2833 2823 clock-names = "du.0", "du.1", "du.2"; 2824 + resets = <&cpg 724>, <&cpg 722>; 2825 + reset-names = "du.0", "du.2"; 2834 2826 2835 2827 renesas,cmms = <&cmm0>, <&cmm1>, <&cmm2>; 2836 - vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>; 2828 + renesas,vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>; 2837 2829 2838 2830 status = "disabled"; 2839 2831
+1 -1
arch/arm64/boot/dts/renesas/r8a77961-salvator-xs.dts
··· 19 19 reg = <0x0 0x48000000 0x0 0x78000000>; 20 20 }; 21 21 22 - memory@400000000 { 22 + memory@480000000 { 23 23 device_type = "memory"; 24 24 reg = <0x4 0x80000000 0x0 0x80000000>; 25 25 };
+32
arch/arm64/boot/dts/renesas/r8a77961-ulcb.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * Device Tree Source for the M3ULCB (R-Car Starter Kit Pro) board with R-Car 4 + * M3-W+ 5 + * 6 + * Copyright (C) 2020 Renesas Electronics Corp. 7 + */ 8 + 9 + /dts-v1/; 10 + #include "r8a77961.dtsi" 11 + #include "ulcb.dtsi" 12 + 13 + / { 14 + model = "Renesas M3ULCB board based on r8a77961"; 15 + compatible = "renesas,m3ulcb", "renesas,r8a77961"; 16 + 17 + memory@48000000 { 18 + device_type = "memory"; 19 + /* first 128MB is reserved for secure area. */ 20 + reg = <0x0 0x48000000 0x0 0x78000000>; 21 + }; 22 + 23 + memory@480000000 { 24 + device_type = "memory"; 25 + reg = <0x4 0x80000000 0x0 0x80000000>; 26 + }; 27 + 28 + memory@600000000 { 29 + device_type = "memory"; 30 + reg = <0x6 0x00000000 0x1 0x00000000>; 31 + }; 32 + };
+89
arch/arm64/boot/dts/renesas/r8a77961.dtsi
··· 474 474 #power-domain-cells = <1>; 475 475 }; 476 476 477 + tsc: thermal@e6198000 { 478 + compatible = "renesas,r8a77961-thermal"; 479 + reg = <0 0xe6198000 0 0x100>, 480 + <0 0xe61a0000 0 0x100>, 481 + <0 0xe61a8000 0 0x100>; 482 + interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>, 483 + <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 484 + <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 485 + clocks = <&cpg CPG_MOD 522>; 486 + power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 487 + resets = <&cpg 522>; 488 + #thermal-sensor-cells = <1>; 489 + }; 490 + 477 491 intc_ex: interrupt-controller@e61c0000 { 478 492 #interrupt-cells = <2>; 479 493 interrupt-controller; ··· 641 627 reg = <0 0xe65ee000 0 0x90>; 642 628 #phy-cells = <0>; 643 629 /* placeholder */ 630 + }; 631 + 632 + arm_cc630p: crypto@e6601000 { 633 + compatible = "arm,cryptocell-630p-ree"; 634 + interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 635 + reg = <0x0 0xe6601000 0 0x1000>; 636 + clocks = <&cpg CPG_MOD 229>; 637 + resets = <&cpg 229>; 638 + power-domains = <&sysc R8A77961_PD_ALWAYS_ON>; 644 639 }; 645 640 646 641 dmac0: dma-controller@e6700000 { ··· 884 861 rcar_sound,ssi { 885 862 ssi0: ssi-0 { }; 886 863 ssi1: ssi-1 { }; 864 + ssi2: ssi-2 { }; 887 865 }; 888 866 }; 889 867 ··· 1085 1061 prr: chipid@fff00044 { 1086 1062 compatible = "renesas,prr"; 1087 1063 reg = <0 0xfff00044 0 4>; 1064 + }; 1065 + }; 1066 + 1067 + thermal-zones { 1068 + sensor_thermal1: sensor-thermal1 { 1069 + polling-delay-passive = <250>; 1070 + polling-delay = <1000>; 1071 + thermal-sensors = <&tsc 0>; 1072 + sustainable-power = <3874>; 1073 + 1074 + trips { 1075 + sensor1_crit: sensor1-crit { 1076 + temperature = <120000>; 1077 + hysteresis = <1000>; 1078 + type = "critical"; 1079 + }; 1080 + }; 1081 + }; 1082 + 1083 + sensor_thermal2: sensor-thermal2 { 1084 + polling-delay-passive = <250>; 1085 + polling-delay = <1000>; 1086 + thermal-sensors = <&tsc 1>; 1087 + sustainable-power = <3874>; 1088 + 1089 + trips { 1090 + sensor2_crit: sensor2-crit { 1091 + temperature = <120000>; 1092 + hysteresis = <1000>; 1093 + type = "critical"; 1094 + }; 1095 + }; 1096 + }; 1097 + 1098 + sensor_thermal3: sensor-thermal3 { 1099 + polling-delay-passive = <250>; 1100 + polling-delay = <1000>; 1101 + thermal-sensors = <&tsc 2>; 1102 + sustainable-power = <3874>; 1103 + 1104 + cooling-maps { 1105 + map0 { 1106 + trip = <&target>; 1107 + cooling-device = <&a57_0 2 4>; 1108 + contribution = <1024>; 1109 + }; 1110 + map1 { 1111 + trip = <&target>; 1112 + cooling-device = <&a53_0 0 2>; 1113 + contribution = <1024>; 1114 + }; 1115 + }; 1116 + trips { 1117 + target: trip-point1 { 1118 + temperature = <100000>; 1119 + hysteresis = <1000>; 1120 + type = "passive"; 1121 + }; 1122 + 1123 + sensor3_crit: sensor3-crit { 1124 + temperature = <120000>; 1125 + hysteresis = <1000>; 1126 + type = "critical"; 1127 + }; 1128 + }; 1088 1129 }; 1089 1130 }; 1090 1131
+28 -3
arch/arm64/boot/dts/renesas/r8a77965.dtsi
··· 111 111 power-domains = <&sysc R8A77965_PD_CA57_CPU0>; 112 112 next-level-cache = <&L2_CA57>; 113 113 enable-method = "psci"; 114 + cpu-idle-states = <&CPU_SLEEP_0>; 114 115 #cooling-cells = <2>; 115 116 dynamic-power-coefficient = <854>; 116 117 clocks = <&cpg CPG_CORE R8A77965_CLK_Z>; ··· 125 124 power-domains = <&sysc R8A77965_PD_CA57_CPU1>; 126 125 next-level-cache = <&L2_CA57>; 127 126 enable-method = "psci"; 127 + cpu-idle-states = <&CPU_SLEEP_0>; 128 128 clocks = <&cpg CPG_CORE R8A77965_CLK_Z>; 129 129 operating-points-v2 = <&cluster0_opp>; 130 130 }; ··· 135 133 power-domains = <&sysc R8A77965_PD_CA57_SCU>; 136 134 cache-unified; 137 135 cache-level = <2>; 136 + }; 137 + 138 + idle-states { 139 + entry-method = "psci"; 140 + 141 + CPU_SLEEP_0: cpu-sleep-0 { 142 + compatible = "arm,idle-state"; 143 + arm,psci-suspend-param = <0x0010000>; 144 + local-timer-stop; 145 + entry-latency-us = <400>; 146 + exit-latency-us = <500>; 147 + min-residency-us = <4000>; 148 + }; 138 149 }; 139 150 }; 140 151 ··· 730 715 resets = <&cpg 328>; 731 716 #phy-cells = <0>; 732 717 status = "disabled"; 718 + }; 719 + 720 + arm_cc630p: crypto@e6601000 { 721 + compatible = "arm,cryptocell-630p-ree"; 722 + interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 723 + reg = <0x0 0xe6601000 0 0x1000>; 724 + clocks = <&cpg CPG_MOD 229>; 725 + resets = <&cpg 229>; 726 + power-domains = <&sysc R8A77965_PD_ALWAYS_ON>; 733 727 }; 734 728 735 729 dmac0: dma-controller@e6700000 { ··· 2518 2494 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 2519 2495 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>, 2520 2496 <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>; 2521 - clocks = <&cpg CPG_MOD 724>, 2522 - <&cpg CPG_MOD 723>, 2497 + clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, 2523 2498 <&cpg CPG_MOD 721>; 2524 2499 clock-names = "du.0", "du.1", "du.3"; 2500 + resets = <&cpg 724>, <&cpg 722>; 2501 + reset-names = "du.0", "du.3"; 2525 2502 2526 2503 renesas,cmms = <&cmm0>, <&cmm1>, <&cmm3>; 2527 - vsps = <&vspd0 0>, <&vspd1 0>, <&vspd0 1>; 2504 + renesas,vsps = <&vspd0 0>, <&vspd1 0>, <&vspd0 1>; 2528 2505 2529 2506 status = "disabled"; 2530 2507
+3 -1
arch/arm64/boot/dts/renesas/r8a77970.dtsi
··· 1121 1121 clock-names = "du.0"; 1122 1122 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>; 1123 1123 resets = <&cpg 724>; 1124 - vsps = <&vspd0 0>; 1124 + reset-names = "du.0"; 1125 + renesas,vsps = <&vspd0 0>; 1126 + 1125 1127 status = "disabled"; 1126 1128 1127 1129 ports {
+4 -3
arch/arm64/boot/dts/renesas/r8a77980.dtsi
··· 1484 1484 }; 1485 1485 1486 1486 du: display@feb00000 { 1487 - compatible = "renesas,du-r8a77980", 1488 - "renesas,du-r8a77970"; 1487 + compatible = "renesas,du-r8a77980"; 1489 1488 reg = <0 0xfeb00000 0 0x80000>; 1490 1489 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>; 1491 1490 clocks = <&cpg CPG_MOD 724>; 1492 1491 clock-names = "du.0"; 1493 1492 power-domains = <&sysc R8A77980_PD_ALWAYS_ON>; 1494 1493 resets = <&cpg 724>; 1495 - vsps = <&vspd0 0>; 1494 + reset-names = "du.0"; 1495 + renesas,vsps = <&vspd0 0>; 1496 + 1496 1497 status = "disabled"; 1497 1498 1498 1499 ports {
+26 -3
arch/arm64/boot/dts/renesas/r8a77990.dtsi
··· 88 88 power-domains = <&sysc R8A77990_PD_CA53_CPU0>; 89 89 next-level-cache = <&L2_CA53>; 90 90 enable-method = "psci"; 91 + cpu-idle-states = <&CPU_SLEEP_0>; 91 92 dynamic-power-coefficient = <277>; 92 93 clocks =<&cpg CPG_CORE R8A77990_CLK_Z2>; 93 94 operating-points-v2 = <&cluster1_opp>; ··· 101 100 power-domains = <&sysc R8A77990_PD_CA53_CPU1>; 102 101 next-level-cache = <&L2_CA53>; 103 102 enable-method = "psci"; 103 + cpu-idle-states = <&CPU_SLEEP_0>; 104 104 clocks =<&cpg CPG_CORE R8A77990_CLK_Z2>; 105 105 operating-points-v2 = <&cluster1_opp>; 106 106 }; ··· 111 109 power-domains = <&sysc R8A77990_PD_CA53_SCU>; 112 110 cache-unified; 113 111 cache-level = <2>; 112 + }; 113 + 114 + idle-states { 115 + entry-method = "psci"; 116 + 117 + CPU_SLEEP_0: cpu-sleep-0 { 118 + compatible = "arm,idle-state"; 119 + arm,psci-suspend-param = <0x0010000>; 120 + local-timer-stop; 121 + entry-latency-us = <700>; 122 + exit-latency-us = <700>; 123 + min-residency-us = <5000>; 124 + }; 114 125 }; 115 126 }; 116 127 ··· 680 665 resets = <&cpg 331>; 681 666 #dma-cells = <1>; 682 667 dma-channels = <2>; 668 + }; 669 + 670 + arm_cc630p: crypto@e6601000 { 671 + compatible = "arm,cryptocell-630p-ree"; 672 + interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 673 + reg = <0x0 0xe6601000 0 0x1000>; 674 + clocks = <&cpg CPG_MOD 229>; 675 + resets = <&cpg 229>; 676 + power-domains = <&sysc R8A77990_PD_ALWAYS_ON>; 683 677 }; 684 678 685 679 dmac0: dma-controller@e6700000 { ··· 1808 1784 reg = <0 0xfeb00000 0 0x40000>; 1809 1785 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 1810 1786 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; 1811 - clocks = <&cpg CPG_MOD 724>, 1812 - <&cpg CPG_MOD 723>; 1787 + clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>; 1813 1788 clock-names = "du.0", "du.1"; 1814 1789 resets = <&cpg 724>; 1815 1790 reset-names = "du.0"; 1816 1791 1817 1792 renesas,cmms = <&cmm0>, <&cmm1>; 1818 - vsps = <&vspd0 0>, <&vspd1 0>; 1793 + renesas,vsps = <&vspd0 0>, <&vspd1 0>; 1819 1794 1820 1795 status = "disabled"; 1821 1796
+11 -3
arch/arm64/boot/dts/renesas/r8a77995.dtsi
··· 389 389 dma-channels = <2>; 390 390 }; 391 391 392 + arm_cc630p: crypto@e6601000 { 393 + compatible = "arm,cryptocell-630p-ree"; 394 + interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 395 + reg = <0x0 0xe6601000 0 0x1000>; 396 + clocks = <&cpg CPG_MOD 229>; 397 + resets = <&cpg 229>; 398 + power-domains = <&sysc R8A77995_PD_ALWAYS_ON>; 399 + }; 400 + 392 401 canfd: can@e66c0000 { 393 402 compatible = "renesas,r8a77995-canfd", 394 403 "renesas,rcar-gen3-canfd"; ··· 1026 1017 reg = <0 0xfeb00000 0 0x40000>; 1027 1018 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 1028 1019 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; 1029 - clocks = <&cpg CPG_MOD 724>, 1030 - <&cpg CPG_MOD 723>; 1020 + clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>; 1031 1021 clock-names = "du.0", "du.1"; 1032 1022 resets = <&cpg 724>; 1033 1023 reset-names = "du.0"; 1034 1024 1035 1025 renesas,cmms = <&cmm0>, <&cmm1>; 1036 - vsps = <&vspd0 0>, <&vspd1 0>; 1026 + renesas,vsps = <&vspd0 0>, <&vspd1 0>; 1037 1027 1038 1028 status = "disabled"; 1039 1029
+1
arch/arm64/boot/dts/rockchip/Makefile
··· 28 28 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4.dtb 29 29 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-neo4.dtb 30 30 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-orangepi.dtb 31 + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-pinebook-pro.dtb 31 32 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-haikou.dtb 32 33 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc.dtb 33 34 dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-mezzanine.dtb
+14 -16
arch/arm64/boot/dts/rockchip/px30.dtsi
··· 413 413 414 414 lvds: lvds { 415 415 compatible = "rockchip,px30-lvds"; 416 - #address-cells = <1>; 417 - #size-cells = <0>; 418 416 phys = <&dsi_dphy>; 419 417 phy-names = "dphy"; 420 418 rockchip,grf = <&grf>; 421 419 rockchip,output = "lvds"; 422 420 status = "disabled"; 423 421 424 - port@0 { 425 - reg = <0>; 422 + ports { 426 423 #address-cells = <1>; 427 424 #size-cells = <0>; 428 425 429 - lvds_vopb_in: endpoint@0 { 426 + port@0 { 430 427 reg = <0>; 431 - remote-endpoint = <&vopb_out_lvds>; 432 - }; 428 + #address-cells = <1>; 429 + #size-cells = <0>; 433 430 434 - lvds_vopl_in: endpoint@1 { 435 - reg = <1>; 436 - remote-endpoint = <&vopl_out_lvds>; 431 + lvds_vopb_in: endpoint@0 { 432 + reg = <0>; 433 + remote-endpoint = <&vopb_out_lvds>; 434 + }; 435 + 436 + lvds_vopl_in: endpoint@1 { 437 + reg = <1>; 438 + remote-endpoint = <&vopl_out_lvds>; 439 + }; 437 440 }; 438 441 }; 439 442 }; ··· 703 700 clock-names = "pclk", "timer"; 704 701 }; 705 702 706 - amba { 703 + amba: bus { 707 704 compatible = "simple-bus"; 708 705 #address-cells = <2>; 709 706 #size-cells = <2>; ··· 873 870 g-np-tx-fifo-size = <16>; 874 871 g-rx-fifo-size = <280>; 875 872 g-tx-fifo-size = <256 128 128 64 32 16>; 876 - g-use-dma; 877 873 phys = <&u2phy_otg>; 878 874 phy-names = "usb2-phy"; 879 875 power-domains = <&power PX30_PD_USB>; ··· 884 882 reg = <0x0 0xff340000 0x0 0x10000>; 885 883 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 886 884 clocks = <&cru HCLK_HOST>; 887 - clock-names = "usbhost"; 888 885 phys = <&u2phy_host>; 889 886 phy-names = "usb"; 890 887 power-domains = <&power PX30_PD_USB>; ··· 895 894 reg = <0x0 0xff350000 0x0 0x10000>; 896 895 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 897 896 clocks = <&cru HCLK_HOST>; 898 - clock-names = "usbhost"; 899 897 phys = <&u2phy_host>; 900 898 phy-names = "usb"; 901 899 power-domains = <&power PX30_PD_USB>; ··· 1031 1031 reset-names = "axi", "ahb", "dclk"; 1032 1032 iommus = <&vopb_mmu>; 1033 1033 power-domains = <&power PX30_PD_VO>; 1034 - rockchip,grf = <&grf>; 1035 1034 status = "disabled"; 1036 1035 1037 1036 vopb_out: port { ··· 1072 1073 reset-names = "axi", "ahb", "dclk"; 1073 1074 iommus = <&vopl_mmu>; 1074 1075 power-domains = <&power PX30_PD_VO>; 1075 - rockchip,grf = <&grf>; 1076 1076 status = "disabled"; 1077 1077 1078 1078 vopl_out: port {
+5 -5
arch/arm64/boot/dts/rockchip/rk3308.dtsi
··· 40 40 41 41 cpu0: cpu@0 { 42 42 device_type = "cpu"; 43 - compatible = "arm,cortex-a35", "arm,armv8"; 43 + compatible = "arm,cortex-a35"; 44 44 reg = <0x0 0x0>; 45 45 enable-method = "psci"; 46 46 clocks = <&cru ARMCLK>; ··· 53 53 54 54 cpu1: cpu@1 { 55 55 device_type = "cpu"; 56 - compatible = "arm,cortex-a35", "arm,armv8"; 56 + compatible = "arm,cortex-a35"; 57 57 reg = <0x0 0x1>; 58 58 enable-method = "psci"; 59 59 operating-points-v2 = <&cpu0_opp_table>; ··· 63 63 64 64 cpu2: cpu@2 { 65 65 device_type = "cpu"; 66 - compatible = "arm,cortex-a35", "arm,armv8"; 66 + compatible = "arm,cortex-a35"; 67 67 reg = <0x0 0x2>; 68 68 enable-method = "psci"; 69 69 operating-points-v2 = <&cpu0_opp_table>; ··· 73 73 74 74 cpu3: cpu@3 { 75 75 device_type = "cpu"; 76 - compatible = "arm,cortex-a35", "arm,armv8"; 76 + compatible = "arm,cortex-a35"; 77 77 reg = <0x0 0x3>; 78 78 enable-method = "psci"; 79 79 operating-points-v2 = <&cpu0_opp_table>; ··· 513 513 status = "disabled"; 514 514 }; 515 515 516 - amba { 516 + amba: bus { 517 517 compatible = "simple-bus"; 518 518 #address-cells = <2>; 519 519 #size-cells = <2>;
+1
arch/arm64/boot/dts/rockchip/rk3328-a1.dts
··· 60 60 }; 61 61 62 62 &codec { 63 + mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>; 63 64 status = "okay"; 64 65 }; 65 66
+1
arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
··· 104 104 }; 105 105 106 106 &codec { 107 + mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>; 107 108 status = "okay"; 108 109 109 110 port@0 {
+3 -4
arch/arm64/boot/dts/rockchip/rk3328.dtsi
··· 142 142 }; 143 143 }; 144 144 145 - amba { 145 + amba: bus { 146 146 compatible = "simple-bus"; 147 147 #address-cells = <2>; 148 148 #size-cells = <2>; ··· 906 906 resets = <&cru SRST_GMAC2IO_A>; 907 907 reset-names = "stmmaceth"; 908 908 rockchip,grf = <&grf>; 909 + snps,txpbl = <0x4>; 909 910 status = "disabled"; 910 911 }; 911 912 ··· 928 927 reset-names = "stmmaceth", "mac-phy"; 929 928 phy-mode = "rmii"; 930 929 phy-handle = <&phy>; 930 + snps,txpbl = <0x4>; 931 931 status = "disabled"; 932 932 933 933 mdio { ··· 959 957 g-np-tx-fifo-size = <16>; 960 958 g-rx-fifo-size = <280>; 961 959 g-tx-fifo-size = <256 128 128 64 32 16>; 962 - g-use-dma; 963 960 phys = <&u2phy_otg>; 964 961 phy-names = "usb2-phy"; 965 962 status = "disabled"; ··· 969 968 reg = <0x0 0xff5c0000 0x0 0x10000>; 970 969 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 971 970 clocks = <&cru HCLK_HOST0>, <&u2phy>; 972 - clock-names = "usbhost", "utmi"; 973 971 phys = <&u2phy_host>; 974 972 phy-names = "usb"; 975 973 status = "disabled"; ··· 979 979 reg = <0x0 0xff5d0000 0x0 0x10000>; 980 980 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 981 981 clocks = <&cru HCLK_HOST0>, <&u2phy>; 982 - clock-names = "usbhost", "utmi"; 983 982 phys = <&u2phy_host>; 984 983 phy-names = "usb"; 985 984 status = "disabled";
-1
arch/arm64/boot/dts/rockchip/rk3368-px5-evb.dts
··· 239 239 cap-mmc-highspeed; 240 240 cap-sd-highspeed; 241 241 card-detect-delay = <200>; 242 - no-emmc; 243 242 no-sdio; 244 243 sd-uhs-sdr12; 245 244 sd-uhs-sdr25;
+1 -2
arch/arm64/boot/dts/rockchip/rk3368.dtsi
··· 136 136 }; 137 137 }; 138 138 139 - amba { 139 + amba: bus { 140 140 compatible = "simple-bus"; 141 141 #address-cells = <2>; 142 142 #size-cells = <2>; ··· 513 513 reg = <0x0 0xff500000 0x0 0x100>; 514 514 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 515 515 clocks = <&cru HCLK_HOST0>; 516 - clock-names = "usbhost"; 517 516 status = "disabled"; 518 517 }; 519 518
+262 -8
arch/arm64/boot/dts/rockchip/rk3399-evb.dts
··· 9 9 10 10 / { 11 11 model = "Rockchip RK3399 Evaluation Board"; 12 - compatible = "rockchip,rk3399-evb", "rockchip,rk3399", 13 - "google,rk3399evb-rev2"; 12 + compatible = "rockchip,rk3399-evb", "rockchip,rk3399"; 14 13 15 14 backlight: backlight { 16 15 compatible = "pwm-backlight"; ··· 47 48 240 241 242 243 244 245 246 247 48 49 248 249 250 251 252 253 254 255>; 49 50 default-brightness-level = <200>; 50 - enable-gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; 51 51 pwms = <&pwm0 0 25000 0>; 52 + }; 53 + 54 + edp_panel: edp-panel { 55 + compatible ="lg,lp079qx1-sp0v"; 56 + backlight = <&backlight>; 57 + enable-gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; 58 + power-supply = <&vcc3v3_s0>; 59 + 60 + port { 61 + panel_in_edp: endpoint { 62 + remote-endpoint = <&edp_out_panel>; 63 + }; 64 + }; 52 65 }; 53 66 54 67 clkin_gmac: external-gmac-clock { ··· 125 114 126 115 }; 127 116 117 + &edp { 118 + status = "okay"; 119 + force-hpd; 120 + 121 + ports { 122 + edp_out: port@1 { 123 + reg = <1>; 124 + #address-cells = <1>; 125 + #size-cells = <0>; 126 + 127 + edp_out_panel: endpoint@0 { 128 + reg = <0>; 129 + remote-endpoint = <&panel_in_edp>; 130 + }; 131 + }; 132 + }; 133 + }; 134 + 128 135 &emmc_phy { 129 136 status = "okay"; 130 137 }; ··· 161 132 tx_delay = <0x28>; 162 133 rx_delay = <0x11>; 163 134 status = "okay"; 135 + }; 136 + 137 + &i2c0 { 138 + status = "okay"; 139 + 140 + rk808: pmic@1b { 141 + compatible = "rockchip,rk808"; 142 + reg = <0x1b>; 143 + interrupt-parent = <&gpio1>; 144 + interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 145 + pinctrl-names = "default"; 146 + pinctrl-0 = <&pmic_int_l>; 147 + rockchip,system-power-controller; 148 + wakeup-source; 149 + #clock-cells = <1>; 150 + clock-output-names = "rk808-clkout1", "rk808-clkout2"; 151 + 152 + vcc1-supply = <&vcc3v3_sys>; 153 + vcc2-supply = <&vcc3v3_sys>; 154 + vcc3-supply = <&vcc3v3_sys>; 155 + vcc4-supply = <&vcc3v3_sys>; 156 + vcc6-supply = <&vcc3v3_sys>; 157 + vcc7-supply = <&vcc3v3_sys>; 158 + vcc8-supply = <&vcc3v3_sys>; 159 + vcc9-supply = <&vcc3v3_sys>; 160 + vcc10-supply = <&vcc3v3_sys>; 161 + vcc11-supply = <&vcc3v3_sys>; 162 + vcc12-supply = <&vcc3v3_sys>; 163 + vddio-supply = <&vcc1v8_pmu>; 164 + 165 + regulators { 166 + vdd_log: DCDC_REG1 { 167 + regulator-name = "vdd_log"; 168 + regulator-min-microvolt = <750000>; 169 + regulator-max-microvolt = <1350000>; 170 + regulator-ramp-delay = <6001>; 171 + regulator-always-on; 172 + regulator-boot-on; 173 + regulator-state-mem { 174 + regulator-on-in-suspend; 175 + regulator-suspend-microvolt = <900000>; 176 + }; 177 + }; 178 + 179 + vdd_cpu_l: DCDC_REG2 { 180 + regulator-name = "vdd_cpu_l"; 181 + regulator-min-microvolt = <750000>; 182 + regulator-max-microvolt = <1350000>; 183 + regulator-ramp-delay = <6001>; 184 + regulator-always-on; 185 + regulator-boot-on; 186 + regulator-state-mem { 187 + regulator-off-in-suspend; 188 + }; 189 + }; 190 + 191 + vcc_ddr: DCDC_REG3 { 192 + regulator-name = "vcc_ddr"; 193 + regulator-always-on; 194 + regulator-boot-on; 195 + regulator-state-mem { 196 + regulator-on-in-suspend; 197 + }; 198 + }; 199 + 200 + vcc_1v8: DCDC_REG4 { 201 + regulator-name = "vcc_1v8"; 202 + regulator-min-microvolt = <1800000>; 203 + regulator-max-microvolt = <1800000>; 204 + regulator-always-on; 205 + regulator-boot-on; 206 + regulator-state-mem { 207 + regulator-on-in-suspend; 208 + regulator-suspend-microvolt = <1800000>; 209 + }; 210 + }; 211 + 212 + vcc1v8_dvp: LDO_REG1 { 213 + regulator-name = "vcc1v8_dvp"; 214 + regulator-min-microvolt = <1800000>; 215 + regulator-max-microvolt = <1800000>; 216 + regulator-always-on; 217 + regulator-boot-on; 218 + regulator-state-mem { 219 + regulator-off-in-suspend; 220 + }; 221 + }; 222 + 223 + vcc3v0_tp: LDO_REG2 { 224 + regulator-name = "vcc3v0_tp"; 225 + regulator-min-microvolt = <3000000>; 226 + regulator-max-microvolt = <3000000>; 227 + regulator-always-on; 228 + regulator-boot-on; 229 + regulator-state-mem { 230 + regulator-off-in-suspend; 231 + }; 232 + }; 233 + 234 + vcc1v8_pmu: LDO_REG3 { 235 + regulator-name = "vcc1v8_pmu"; 236 + regulator-min-microvolt = <1800000>; 237 + regulator-max-microvolt = <1800000>; 238 + regulator-always-on; 239 + regulator-boot-on; 240 + regulator-state-mem { 241 + regulator-on-in-suspend; 242 + regulator-suspend-microvolt = <1800000>; 243 + }; 244 + }; 245 + 246 + vcc_sd: LDO_REG4 { 247 + regulator-name = "vcc_sd"; 248 + regulator-min-microvolt = <1800000>; 249 + regulator-max-microvolt = <3000000>; 250 + regulator-always-on; 251 + regulator-boot-on; 252 + regulator-state-mem { 253 + regulator-on-in-suspend; 254 + regulator-suspend-microvolt = <3000000>; 255 + }; 256 + }; 257 + 258 + vcca3v0_codec: LDO_REG5 { 259 + regulator-name = "vcca3v0_codec"; 260 + regulator-min-microvolt = <3000000>; 261 + regulator-max-microvolt = <3000000>; 262 + regulator-always-on; 263 + regulator-boot-on; 264 + regulator-state-mem { 265 + regulator-off-in-suspend; 266 + }; 267 + }; 268 + 269 + vcc_1v5: LDO_REG6 { 270 + regulator-name = "vcc_1v5"; 271 + regulator-min-microvolt = <1500000>; 272 + regulator-max-microvolt = <1500000>; 273 + regulator-always-on; 274 + regulator-boot-on; 275 + regulator-state-mem { 276 + regulator-on-in-suspend; 277 + regulator-suspend-microvolt = <1500000>; 278 + }; 279 + }; 280 + 281 + vcca1v8_codec: LDO_REG7 { 282 + regulator-name = "vcca1v8_codec"; 283 + regulator-min-microvolt = <1800000>; 284 + regulator-max-microvolt = <1800000>; 285 + regulator-always-on; 286 + regulator-boot-on; 287 + regulator-state-mem { 288 + regulator-off-in-suspend; 289 + }; 290 + }; 291 + 292 + vcc_3v0: LDO_REG8 { 293 + regulator-name = "vcc_3v0"; 294 + regulator-min-microvolt = <3000000>; 295 + regulator-max-microvolt = <3000000>; 296 + regulator-always-on; 297 + regulator-boot-on; 298 + regulator-state-mem { 299 + regulator-on-in-suspend; 300 + regulator-suspend-microvolt = <3000000>; 301 + }; 302 + }; 303 + 304 + vcc3v3_s3: SWITCH_REG1 { 305 + regulator-name = "vcc3v3_s3"; 306 + regulator-always-on; 307 + regulator-boot-on; 308 + regulator-state-mem { 309 + regulator-on-in-suspend; 310 + }; 311 + }; 312 + 313 + vcc3v3_s0: SWITCH_REG2 { 314 + regulator-name = "vcc3v3_s0"; 315 + regulator-always-on; 316 + regulator-boot-on; 317 + regulator-state-mem { 318 + regulator-off-in-suspend; 319 + }; 320 + }; 321 + }; 322 + }; 323 + 324 + vdd_cpu_b: regulator@40 { 325 + compatible = "silergy,syr827"; 326 + reg = <0x40>; 327 + fcs,suspend-voltage-selector = <1>; 328 + regulator-name = "vdd_cpu_b"; 329 + regulator-min-microvolt = <712500>; 330 + regulator-max-microvolt = <1500000>; 331 + regulator-ramp-delay = <1000>; 332 + regulator-always-on; 333 + regulator-boot-on; 334 + vin-supply = <&vcc5v0_sys>; 335 + 336 + regulator-state-mem { 337 + regulator-off-in-suspend; 338 + }; 339 + }; 340 + 341 + vdd_gpu: regulator@41 { 342 + compatible = "silergy,syr828"; 343 + reg = <0x41>; 344 + fcs,suspend-voltage-selector = <1>; 345 + regulator-name = "vdd_gpu"; 346 + regulator-min-microvolt = <712500>; 347 + regulator-max-microvolt = <1500000>; 348 + regulator-ramp-delay = <1000>; 349 + regulator-always-on; 350 + regulator-boot-on; 351 + vin-supply = <&vcc5v0_sys>; 352 + 353 + regulator-state-mem { 354 + regulator-off-in-suspend; 355 + }; 356 + }; 164 357 }; 165 358 166 359 &pwm0 { ··· 461 210 rockchip,pins = 462 211 <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 463 212 }; 464 - 465 - pmic_dvs2: pmic-dvs2 { 466 - rockchip,pins = 467 - <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>; 468 - }; 469 213 }; 470 214 471 215 usb2 { ··· 469 223 <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>; 470 224 }; 471 225 }; 226 + }; 227 + 228 + &vopb { 229 + status = "okay"; 230 + }; 231 + 232 + &vopb_mmu { 233 + status = "okay"; 472 234 };
+1 -3
arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi
··· 291 291 #pwm-cells = <1>; 292 292 }; 293 293 294 - usbc_extcon1: extcon@1 { 294 + usbc_extcon1: extcon1 { 295 295 compatible = "google,extcon-usbc-cros-ec"; 296 296 google,usb-port-id = <1>; 297 - 298 - #extcon-cells = <0>; 299 297 }; 300 298 }; 301 299
+1 -3
arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
··· 570 570 #size-cells = <0>; 571 571 }; 572 572 573 - usbc_extcon0: extcon@0 { 573 + usbc_extcon0: extcon0 { 574 574 compatible = "google,extcon-usbc-cros-ec"; 575 575 google,usb-port-id = <0>; 576 - 577 - #extcon-cells = <0>; 578 576 }; 579 577 }; 580 578 };
+33 -6
arch/arm64/boot/dts/rockchip/rk3399-hugsun-x99.dts
··· 29 29 regulator-max-microvolt = <5000000>; 30 30 }; 31 31 32 + ir-receiver { 33 + compatible = "gpio-ir-receiver"; 34 + gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>; 35 + pinctrl-names = "default"; 36 + pinctrl-0 = <&ir_rx>; 37 + }; 38 + 39 + leds { 40 + compatible = "gpio-leds"; 41 + pinctrl-names = "default"; 42 + pinctrl-0 = <&power_led_gpio>; 43 + 44 + led-0 { 45 + label = "blue:power"; 46 + gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>; 47 + default-state = "on"; 48 + linux,default-trigger = "default-on"; 49 + }; 50 + }; 51 + 32 52 vcc_sys: vcc-sys { 33 53 compatible = "regulator-fixed"; 34 54 regulator-name = "vcc_sys"; ··· 503 483 }; 504 484 }; 505 485 486 + ir { 487 + ir_rx: ir-rx { 488 + rockchip,pins = <0 RK_PA6 1 &pcfg_pull_none>; 489 + }; 490 + }; 491 + 492 + leds { 493 + power_led_gpio: power-led-gpio { 494 + rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 495 + }; 496 + }; 497 + 506 498 pmic { 507 499 pmic_int_l: pmic-int-l { 508 500 rockchip,pins = ··· 571 539 }; 572 540 }; 573 541 574 - &pwm0 { 575 - status = "okay"; 576 - }; 577 - 578 542 &pwm2 { 579 543 status = "okay"; 580 544 pinctrl-0 = <&pwm2_pin_pull_down>; ··· 583 555 584 556 &sdmmc { 585 557 clock-frequency = <150000000>; 586 - clock-freq-min-max = <200000 150000000>; 558 + max-frequency = <150000000>; 587 559 bus-width = <4>; 588 560 cap-mmc-highspeed; 589 561 cap-sd-highspeed; ··· 638 610 639 611 &spi1 { 640 612 status = "okay"; 641 - max-freq = <10000000>; 642 613 643 614 flash@0 { 644 615 compatible = "jedec,spi-nor";
+39 -4
arch/arm64/boot/dts/rockchip/rk3399-orangepi.dts
··· 202 202 clock_in_out = "input"; 203 203 phy-supply = <&vcc3v3_s3>; 204 204 phy-mode = "rgmii"; 205 + phy-handle = <&rtl8211e>; 205 206 pinctrl-names = "default"; 206 - pinctrl-0 = <&rgmii_pins>; 207 - snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 208 - snps,reset-active-low; 209 - snps,reset-delays-us = <0 10000 50000>; 207 + pinctrl-0 = <&rgmii_pins>, <&phy_intb>, <&phy_rstb>; 210 208 tx_delay = <0x28>; 211 209 rx_delay = <0x11>; 212 210 status = "okay"; 211 + 212 + mdio { 213 + compatible = "snps,dwmac-mdio"; 214 + #address-cells = <1>; 215 + #size-cells = <0>; 216 + 217 + rtl8211e: phy@1 { 218 + reg = <1>; 219 + interrupt-parent = <&gpio3>; 220 + interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>; 221 + reset-assert-us = <10000>; 222 + reset-deassert-us = <30000>; 223 + reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 224 + }; 225 + }; 213 226 }; 214 227 215 228 &gpu { ··· 432 419 compatible = "silergy,syr827"; 433 420 reg = <0x40>; 434 421 fcs,suspend-voltage-selector = <1>; 422 + pinctrl-names = "default"; 423 + pinctrl-0 = <&cpu_b_sleep>; 435 424 regulator-name = "vdd_cpu_b"; 436 425 regulator-min-microvolt = <712500>; 437 426 regulator-max-microvolt = <1500000>; ··· 451 436 compatible = "silergy,syr828"; 452 437 reg = <0x41>; 453 438 fcs,suspend-voltage-selector = <1>; 439 + pinctrl-names = "default"; 440 + pinctrl-0 = <&gpu_sleep>; 454 441 regulator-name = "vdd_gpu"; 455 442 regulator-min-microvolt = <712500>; 456 443 regulator-max-microvolt = <1500000>; ··· 554 537 }; 555 538 }; 556 539 540 + phy { 541 + phy_intb: phy-intb { 542 + rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>; 543 + }; 544 + 545 + phy_rstb: phy-rstb { 546 + rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; 547 + }; 548 + }; 549 + 557 550 pmic { 551 + cpu_b_sleep: cpu-b-sleep { 552 + rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 553 + }; 554 + 555 + gpu_sleep: gpu-sleep { 556 + rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 557 + }; 558 + 558 559 pmic_int_l: pmic-int-l { 559 560 rockchip,pins = 560 561 <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
+1096
arch/arm64/boot/dts/rockchip/rk3399-pinebook-pro.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. 4 + * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com> 5 + * Copyright (c) 2020 Tobias Schramm <t.schramm@manjaro.org> 6 + */ 7 + 8 + /dts-v1/; 9 + #include <dt-bindings/input/gpio-keys.h> 10 + #include <dt-bindings/input/linux-event-codes.h> 11 + #include <dt-bindings/pwm/pwm.h> 12 + #include <dt-bindings/usb/pd.h> 13 + #include <dt-bindings/leds/common.h> 14 + #include "rk3399.dtsi" 15 + #include "rk3399-opp.dtsi" 16 + 17 + / { 18 + model = "Pine64 Pinebook Pro"; 19 + compatible = "pine64,pinebook-pro", "rockchip,rk3399"; 20 + 21 + chosen { 22 + stdout-path = "serial2:1500000n8"; 23 + }; 24 + 25 + backlight: edp-backlight { 26 + compatible = "pwm-backlight"; 27 + power-supply = <&vcc_12v>; 28 + pwms = <&pwm0 0 740740 0>; 29 + }; 30 + 31 + edp_panel: edp-panel { 32 + compatible = "boe,nv140fhmn49"; 33 + backlight = <&backlight>; 34 + enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>; 35 + pinctrl-names = "default"; 36 + pinctrl-0 = <&panel_en_gpio>; 37 + power-supply = <&vcc3v3_panel>; 38 + 39 + ports { 40 + #address-cells = <1>; 41 + #size-cells = <0>; 42 + 43 + port@0 { 44 + reg = <0>; 45 + #address-cells = <1>; 46 + #size-cells = <0>; 47 + 48 + panel_in_edp: endpoint@0 { 49 + reg = <0>; 50 + remote-endpoint = <&edp_out_panel>; 51 + }; 52 + }; 53 + }; 54 + }; 55 + 56 + /* 57 + * Use separate nodes for gpio-keys to allow for selective deactivation 58 + * of wakeup sources via sysfs without disabling the whole key 59 + */ 60 + gpio-key-lid { 61 + compatible = "gpio-keys"; 62 + pinctrl-names = "default"; 63 + pinctrl-0 = <&lidbtn_gpio>; 64 + 65 + lid { 66 + debounce-interval = <20>; 67 + gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>; 68 + label = "Lid"; 69 + linux,code = <SW_LID>; 70 + linux,input-type = <EV_SW>; 71 + wakeup-event-action = <EV_ACT_DEASSERTED>; 72 + wakeup-source; 73 + }; 74 + }; 75 + 76 + gpio-key-power { 77 + compatible = "gpio-keys"; 78 + pinctrl-names = "default"; 79 + pinctrl-0 = <&pwrbtn_gpio>; 80 + 81 + power { 82 + debounce-interval = <20>; 83 + gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 84 + label = "Power"; 85 + linux,code = <KEY_POWER>; 86 + wakeup-source; 87 + }; 88 + }; 89 + 90 + leds { 91 + compatible = "gpio-leds"; 92 + pinctrl-names = "default"; 93 + pinctrl-0 = <&pwrled_gpio &slpled_gpio>; 94 + 95 + green-led { 96 + color = <LED_COLOR_ID_GREEN>; 97 + default-state = "on"; 98 + function = LED_FUNCTION_POWER; 99 + gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>; 100 + label = "green:power"; 101 + }; 102 + 103 + red-led { 104 + color = <LED_COLOR_ID_RED>; 105 + default-state = "off"; 106 + function = LED_FUNCTION_STANDBY; 107 + gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; 108 + label = "red:standby"; 109 + panic-indicator; 110 + retain-state-suspended; 111 + }; 112 + }; 113 + 114 + /* Power sequence for SDIO WiFi module */ 115 + sdio_pwrseq: sdio-pwrseq { 116 + compatible = "mmc-pwrseq-simple"; 117 + clocks = <&rk808 1>; 118 + clock-names = "ext_clock"; 119 + pinctrl-names = "default"; 120 + pinctrl-0 = <&wifi_enable_h_gpio>; 121 + post-power-on-delay-ms = <100>; 122 + power-off-delay-us = <500000>; 123 + 124 + /* WL_REG_ON on module */ 125 + reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 126 + }; 127 + 128 + /* Audio components */ 129 + es8316-sound { 130 + compatible = "simple-audio-card"; 131 + pinctrl-names = "default"; 132 + pinctrl-0 = <&hp_det_gpio>; 133 + simple-audio-card,name = "rockchip,es8316-codec"; 134 + simple-audio-card,format = "i2s"; 135 + simple-audio-card,mclk-fs = <256>; 136 + 137 + simple-audio-card,widgets = 138 + "Microphone", "Mic Jack", 139 + "Headphone", "Headphones", 140 + "Speaker", "Speaker"; 141 + simple-audio-card,routing = 142 + "MIC1", "Mic Jack", 143 + "Headphones", "HPOL", 144 + "Headphones", "HPOR", 145 + "Speaker Amplifier INL", "HPOL", 146 + "Speaker Amplifier INR", "HPOR", 147 + "Speaker", "Speaker Amplifier OUTL", 148 + "Speaker", "Speaker Amplifier OUTR"; 149 + 150 + simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_LOW>; 151 + simple-audio-card,aux-devs = <&speaker_amp>; 152 + simple-audio-card,pin-switches = "Speaker"; 153 + 154 + simple-audio-card,cpu { 155 + sound-dai = <&i2s1>; 156 + }; 157 + 158 + simple-audio-card,codec { 159 + sound-dai = <&es8316>; 160 + }; 161 + }; 162 + 163 + speaker_amp: speaker-amplifier { 164 + compatible = "simple-audio-amplifier"; 165 + enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>; 166 + sound-name-prefix = "Speaker Amplifier"; 167 + VCC-supply = <&pa_5v>; 168 + }; 169 + 170 + /* Power tree */ 171 + /* Root power source */ 172 + vcc_sysin: vcc-sysin { 173 + compatible = "regulator-fixed"; 174 + regulator-name = "vcc_sysin"; 175 + regulator-always-on; 176 + regulator-boot-on; 177 + }; 178 + 179 + /* Regulators supplied by vcc_sysin */ 180 + /* LCD backlight supply */ 181 + vcc_12v: vcc-12v { 182 + compatible = "regulator-fixed"; 183 + regulator-name = "vcc_12v"; 184 + regulator-always-on; 185 + regulator-boot-on; 186 + regulator-min-microvolt = <12000000>; 187 + regulator-max-microvolt = <12000000>; 188 + vin-supply = <&vcc_sysin>; 189 + 190 + regulator-state-mem { 191 + regulator-off-in-suspend; 192 + }; 193 + }; 194 + 195 + /* Main 3.3 V supply */ 196 + vcc3v3_sys: wifi_bat: vcc3v3-sys { 197 + compatible = "regulator-fixed"; 198 + regulator-name = "vcc3v3_sys"; 199 + regulator-always-on; 200 + regulator-boot-on; 201 + regulator-min-microvolt = <3300000>; 202 + regulator-max-microvolt = <3300000>; 203 + vin-supply = <&vcc_sysin>; 204 + 205 + regulator-state-mem { 206 + regulator-on-in-suspend; 207 + }; 208 + }; 209 + 210 + /* 5 V USB power supply */ 211 + vcc5v0_usb: pa_5v: vcc5v0-usb-regulator { 212 + compatible = "regulator-fixed"; 213 + enable-active-high; 214 + gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; 215 + pinctrl-names = "default"; 216 + pinctrl-0 = <&pwr_5v_gpio>; 217 + regulator-name = "vcc5v0_usb"; 218 + regulator-always-on; 219 + regulator-min-microvolt = <5000000>; 220 + regulator-max-microvolt = <5000000>; 221 + vin-supply = <&vcc_sysin>; 222 + 223 + regulator-state-mem { 224 + regulator-off-in-suspend; 225 + }; 226 + }; 227 + 228 + /* RK3399 logic supply */ 229 + vdd_log: vdd-log { 230 + compatible = "pwm-regulator"; 231 + pwms = <&pwm2 0 25000 1>; 232 + regulator-name = "vdd_log"; 233 + regulator-always-on; 234 + regulator-boot-on; 235 + regulator-min-microvolt = <800000>; 236 + regulator-max-microvolt = <1400000>; 237 + vin-supply = <&vcc_sysin>; 238 + 239 + regulator-state-mem { 240 + regulator-on-in-suspend; 241 + }; 242 + }; 243 + 244 + /* Regulators supplied by vcc3v3_sys */ 245 + /* 0.9 V supply, always on */ 246 + vcc_0v9: vcc-0v9 { 247 + compatible = "regulator-fixed"; 248 + regulator-name = "vcc_0v9"; 249 + regulator-always-on; 250 + regulator-boot-on; 251 + regulator-min-microvolt = <900000>; 252 + regulator-max-microvolt = <900000>; 253 + vin-supply = <&vcc3v3_sys>; 254 + }; 255 + 256 + /* S3 1.8 V supply, switched by vcc1v8_s3 */ 257 + vcca1v8_s3: vcc1v8-s3 { 258 + compatible = "regulator-fixed"; 259 + regulator-name = "vcca1v8_s3"; 260 + regulator-always-on; 261 + regulator-boot-on; 262 + regulator-min-microvolt = <1800000>; 263 + regulator-max-microvolt = <1800000>; 264 + vin-supply = <&vcc3v3_sys>; 265 + }; 266 + 267 + /* micro SD card power */ 268 + vcc3v0_sd: vcc3v0-sd { 269 + compatible = "regulator-fixed"; 270 + enable-active-high; 271 + gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; 272 + pinctrl-names = "default"; 273 + pinctrl-0 = <&sdmmc0_pwr_h_gpio>; 274 + regulator-name = "vcc3v0_sd"; 275 + regulator-always-on; 276 + regulator-min-microvolt = <3000000>; 277 + regulator-max-microvolt = <3000000>; 278 + vin-supply = <&vcc3v3_sys>; 279 + 280 + regulator-state-mem { 281 + regulator-off-in-suspend; 282 + }; 283 + }; 284 + 285 + /* LCD panel power, called VCC3V3_S0 in schematic */ 286 + vcc3v3_panel: vcc3v3-panel { 287 + compatible = "regulator-fixed"; 288 + enable-active-high; 289 + gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>; 290 + pinctrl-names = "default"; 291 + pinctrl-0 = <&lcdvcc_en_gpio>; 292 + regulator-name = "vcc3v3_panel"; 293 + regulator-always-on; 294 + regulator-min-microvolt = <3300000>; 295 + regulator-max-microvolt = <3300000>; 296 + regulator-enable-ramp-delay = <100000>; 297 + vin-supply = <&vcc3v3_sys>; 298 + 299 + regulator-state-mem { 300 + regulator-off-in-suspend; 301 + }; 302 + }; 303 + 304 + /* M.2 adapter power, switched by vcc1v8_s3 */ 305 + vcc3v3_ssd: vcc3v3-ssd { 306 + compatible = "regulator-fixed"; 307 + regulator-name = "vcc3v3_ssd"; 308 + regulator-min-microvolt = <3300000>; 309 + regulator-max-microvolt = <3300000>; 310 + vin-supply = <&vcc3v3_sys>; 311 + }; 312 + 313 + /* Regulators supplied by vcc5v0_usb */ 314 + /* USB 3 port power supply regulator */ 315 + vcc5v0_otg: vcc5v0-otg { 316 + compatible = "regulator-fixed"; 317 + enable-active-high; 318 + gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; 319 + pinctrl-names = "default"; 320 + pinctrl-0 = <&vcc5v0_host_en_gpio>; 321 + regulator-name = "vcc5v0_otg"; 322 + regulator-always-on; 323 + regulator-min-microvolt = <5000000>; 324 + regulator-max-microvolt = <5000000>; 325 + vin-supply = <&vcc5v0_usb>; 326 + 327 + regulator-state-mem { 328 + regulator-off-in-suspend; 329 + }; 330 + }; 331 + 332 + /* Regulators supplied by vcc5v0_usb */ 333 + /* Type C port power supply regulator */ 334 + vbus_5vout: vbus_typec: vbus-5vout { 335 + compatible = "regulator-fixed"; 336 + enable-active-high; 337 + gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; 338 + pinctrl-names = "default"; 339 + pinctrl-0 = <&vcc5v0_typec0_en_gpio>; 340 + regulator-name = "vbus_5vout"; 341 + regulator-min-microvolt = <5000000>; 342 + regulator-max-microvolt = <5000000>; 343 + vin-supply = <&vcc5v0_usb>; 344 + 345 + regulator-state-mem { 346 + regulator-off-in-suspend; 347 + }; 348 + }; 349 + 350 + /* Regulators supplied by vcc_1v8 */ 351 + /* Primary 0.9 V LDO */ 352 + vcca0v9_s3: vcca0v9-s3 { 353 + compatible = "regulator-fixed"; 354 + regulator-name = "vcc0v9_s3"; 355 + regulator-min-microvolt = <5000000>; 356 + regulator-max-microvolt = <5000000>; 357 + vin-supply = <&vcc_1v8>; 358 + 359 + regulator-state-mem { 360 + regulator-on-in-suspend; 361 + }; 362 + }; 363 + 364 + mains_charger: dc-charger { 365 + compatible = "gpio-charger"; 366 + charger-type = "mains"; 367 + gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>; 368 + 369 + /* Also triggered by USB charger */ 370 + pinctrl-names = "default"; 371 + pinctrl-0 = <&dc_det_gpio>; 372 + }; 373 + }; 374 + 375 + &cdn_dp { 376 + status = "okay"; 377 + }; 378 + 379 + &cpu_b0 { 380 + cpu-supply = <&vdd_cpu_b>; 381 + }; 382 + 383 + &cpu_b1 { 384 + cpu-supply = <&vdd_cpu_b>; 385 + }; 386 + 387 + &cpu_l0 { 388 + cpu-supply = <&vdd_cpu_l>; 389 + }; 390 + 391 + &cpu_l1 { 392 + cpu-supply = <&vdd_cpu_l>; 393 + }; 394 + 395 + &cpu_l2 { 396 + cpu-supply = <&vdd_cpu_l>; 397 + }; 398 + 399 + &cpu_l3 { 400 + cpu-supply = <&vdd_cpu_l>; 401 + }; 402 + 403 + &edp { 404 + force-hpd; 405 + pinctrl-names = "default"; 406 + pinctrl-0 = <&edp_hpd>; 407 + status = "okay"; 408 + 409 + ports { 410 + edp_out: port@1 { 411 + reg = <1>; 412 + #address-cells = <1>; 413 + #size-cells = <0>; 414 + 415 + edp_out_panel: endpoint@0 { 416 + reg = <0>; 417 + remote-endpoint = <&panel_in_edp>; 418 + }; 419 + }; 420 + }; 421 + }; 422 + 423 + &emmc_phy { 424 + status = "okay"; 425 + }; 426 + 427 + &gpu { 428 + mali-supply = <&vdd_gpu>; 429 + status = "okay"; 430 + }; 431 + 432 + &hdmi_sound { 433 + status = "okay"; 434 + }; 435 + 436 + &i2c0 { 437 + clock-frequency = <400000>; 438 + i2c-scl-falling-time-ns = <4>; 439 + i2c-scl-rising-time-ns = <168>; 440 + status = "okay"; 441 + 442 + rk808: pmic@1b { 443 + compatible = "rockchip,rk808"; 444 + reg = <0x1b>; 445 + #clock-cells = <1>; 446 + clock-output-names = "xin32k", "rk808-clkout2"; 447 + interrupt-parent = <&gpio3>; 448 + interrupts = <10 IRQ_TYPE_LEVEL_LOW>; 449 + pinctrl-names = "default"; 450 + pinctrl-0 = <&pmic_int_l_gpio>; 451 + rockchip,system-power-controller; 452 + wakeup-source; 453 + 454 + vcc1-supply = <&vcc_sysin>; 455 + vcc2-supply = <&vcc_sysin>; 456 + vcc3-supply = <&vcc_sysin>; 457 + vcc4-supply = <&vcc_sysin>; 458 + vcc6-supply = <&vcc_sysin>; 459 + vcc7-supply = <&vcc_sysin>; 460 + vcc8-supply = <&vcc3v3_sys>; 461 + vcc9-supply = <&vcc_sysin>; 462 + vcc10-supply = <&vcc_sysin>; 463 + vcc11-supply = <&vcc_sysin>; 464 + vcc12-supply = <&vcc3v3_sys>; 465 + vcc13-supply = <&vcc_sysin>; 466 + vcc14-supply = <&vcc_sysin>; 467 + 468 + regulators { 469 + /* rk3399 center logic supply */ 470 + vdd_center: DCDC_REG1 { 471 + regulator-name = "vdd_center"; 472 + regulator-always-on; 473 + regulator-boot-on; 474 + regulator-min-microvolt = <750000>; 475 + regulator-max-microvolt = <1350000>; 476 + regulator-ramp-delay = <6001>; 477 + 478 + regulator-state-mem { 479 + regulator-off-in-suspend; 480 + }; 481 + }; 482 + 483 + vdd_cpu_l: DCDC_REG2 { 484 + regulator-name = "vdd_cpu_l"; 485 + regulator-always-on; 486 + regulator-boot-on; 487 + regulator-min-microvolt = <750000>; 488 + regulator-max-microvolt = <1350000>; 489 + regulator-ramp-delay = <6001>; 490 + 491 + regulator-state-mem { 492 + regulator-off-in-suspend; 493 + }; 494 + }; 495 + 496 + vcc_ddr: DCDC_REG3 { 497 + regulator-name = "vcc_ddr"; 498 + regulator-always-on; 499 + regulator-boot-on; 500 + 501 + regulator-state-mem { 502 + regulator-on-in-suspend; 503 + }; 504 + }; 505 + 506 + vcc_1v8: vcc_wl: DCDC_REG4 { 507 + regulator-name = "vcc_1v8"; 508 + regulator-always-on; 509 + regulator-boot-on; 510 + regulator-min-microvolt = <1800000>; 511 + regulator-max-microvolt = <1800000>; 512 + 513 + regulator-state-mem { 514 + regulator-on-in-suspend; 515 + regulator-suspend-microvolt = <1800000>; 516 + }; 517 + }; 518 + 519 + /* not used */ 520 + LDO_REG1 { 521 + }; 522 + 523 + /* not used */ 524 + LDO_REG2 { 525 + }; 526 + 527 + vcc1v8_pmupll: LDO_REG3 { 528 + regulator-name = "vcc1v8_pmupll"; 529 + regulator-always-on; 530 + regulator-boot-on; 531 + regulator-min-microvolt = <1800000>; 532 + regulator-max-microvolt = <1800000>; 533 + 534 + regulator-state-mem { 535 + regulator-on-in-suspend; 536 + regulator-suspend-microvolt = <1800000>; 537 + }; 538 + }; 539 + 540 + vcc_sdio: LDO_REG4 { 541 + regulator-name = "vcc_sdio"; 542 + regulator-always-on; 543 + regulator-boot-on; 544 + regulator-min-microvolt = <1800000>; 545 + regulator-max-microvolt = <3000000>; 546 + 547 + regulator-state-mem { 548 + regulator-on-in-suspend; 549 + regulator-suspend-microvolt = <3000000>; 550 + }; 551 + }; 552 + 553 + vcca3v0_codec: LDO_REG5 { 554 + regulator-name = "vcca3v0_codec"; 555 + regulator-always-on; 556 + regulator-boot-on; 557 + regulator-min-microvolt = <3000000>; 558 + regulator-max-microvolt = <3000000>; 559 + 560 + regulator-state-mem { 561 + regulator-off-in-suspend; 562 + }; 563 + }; 564 + 565 + vcc_1v5: LDO_REG6 { 566 + regulator-name = "vcc_1v5"; 567 + regulator-always-on; 568 + regulator-boot-on; 569 + regulator-min-microvolt = <1500000>; 570 + regulator-max-microvolt = <1500000>; 571 + 572 + regulator-state-mem { 573 + regulator-on-in-suspend; 574 + regulator-suspend-microvolt = <1500000>; 575 + }; 576 + }; 577 + 578 + vcca1v8_codec: LDO_REG7 { 579 + regulator-name = "vcca1v8_codec"; 580 + regulator-always-on; 581 + regulator-boot-on; 582 + regulator-min-microvolt = <1800000>; 583 + regulator-max-microvolt = <1800000>; 584 + 585 + regulator-state-mem { 586 + regulator-off-in-suspend; 587 + }; 588 + }; 589 + 590 + vcc_3v0: LDO_REG8 { 591 + regulator-name = "vcc_3v0"; 592 + regulator-always-on; 593 + regulator-boot-on; 594 + regulator-min-microvolt = <3000000>; 595 + regulator-max-microvolt = <3000000>; 596 + 597 + regulator-state-mem { 598 + regulator-on-in-suspend; 599 + regulator-suspend-microvolt = <3000000>; 600 + }; 601 + }; 602 + 603 + vcc3v3_s3: SWITCH_REG1 { 604 + regulator-name = "vcc3v3_s3"; 605 + regulator-always-on; 606 + regulator-boot-on; 607 + 608 + regulator-state-mem { 609 + regulator-off-in-suspend; 610 + }; 611 + }; 612 + 613 + vcc3v3_s0: SWITCH_REG2 { 614 + regulator-name = "vcc3v3_s0"; 615 + regulator-always-on; 616 + regulator-boot-on; 617 + 618 + regulator-state-mem { 619 + regulator-off-in-suspend; 620 + }; 621 + }; 622 + }; 623 + }; 624 + 625 + vdd_cpu_b: regulator@40 { 626 + compatible = "silergy,syr827"; 627 + reg = <0x40>; 628 + fcs,suspend-voltage-selector = <1>; 629 + pinctrl-names = "default"; 630 + pinctrl-0 = <&vsel1_gpio>; 631 + regulator-name = "vdd_cpu_b"; 632 + regulator-always-on; 633 + regulator-boot-on; 634 + regulator-min-microvolt = <712500>; 635 + regulator-max-microvolt = <1500000>; 636 + regulator-ramp-delay = <1000>; 637 + vin-supply = <&vcc_1v8>; 638 + 639 + regulator-state-mem { 640 + regulator-off-in-suspend; 641 + }; 642 + }; 643 + 644 + vdd_gpu: regulator@41 { 645 + compatible = "silergy,syr828"; 646 + reg = <0x41>; 647 + fcs,suspend-voltage-selector = <1>; 648 + pinctrl-names = "default"; 649 + pinctrl-0 = <&vsel2_gpio>; 650 + regulator-name = "vdd_gpu"; 651 + regulator-always-on; 652 + regulator-boot-on; 653 + regulator-min-microvolt = <712500>; 654 + regulator-max-microvolt = <1500000>; 655 + regulator-ramp-delay = <1000>; 656 + vin-supply = <&vcc_1v8>; 657 + 658 + regulator-state-mem { 659 + regulator-off-in-suspend; 660 + }; 661 + }; 662 + }; 663 + 664 + &i2c1 { 665 + clock-frequency = <100000>; 666 + i2c-scl-falling-time-ns = <4>; 667 + i2c-scl-rising-time-ns = <168>; 668 + status = "okay"; 669 + 670 + es8316: es8316@11 { 671 + compatible = "everest,es8316"; 672 + reg = <0x11>; 673 + clocks = <&cru SCLK_I2S_8CH_OUT>; 674 + clock-names = "mclk"; 675 + #sound-dai-cells = <0>; 676 + }; 677 + }; 678 + 679 + &i2c3 { 680 + i2c-scl-falling-time-ns = <15>; 681 + i2c-scl-rising-time-ns = <450>; 682 + status = "okay"; 683 + }; 684 + 685 + &i2c4 { 686 + i2c-scl-falling-time-ns = <20>; 687 + i2c-scl-rising-time-ns = <600>; 688 + status = "okay"; 689 + 690 + fusb0: fusb30x@22 { 691 + compatible = "fcs,fusb302"; 692 + reg = <0x22>; 693 + fcs,int_n = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>; 694 + pinctrl-names = "default"; 695 + pinctrl-0 = <&fusb0_int_gpio>; 696 + vbus-supply = <&vbus_typec>; 697 + 698 + connector { 699 + compatible = "usb-c-connector"; 700 + data-role = "host"; 701 + label = "USB-C"; 702 + op-sink-microwatt = <1000000>; 703 + power-role = "dual"; 704 + sink-pdos = 705 + <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>; 706 + source-pdos = 707 + <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>; 708 + try-power-role = "sink"; 709 + 710 + ports { 711 + #address-cells = <1>; 712 + #size-cells = <0>; 713 + 714 + port@0 { 715 + reg = <0>; 716 + 717 + usbc_hs: endpoint { 718 + remote-endpoint = 719 + <&u2phy0_typec_hs>; 720 + }; 721 + }; 722 + 723 + port@1 { 724 + reg = <1>; 725 + 726 + usbc_ss: endpoint { 727 + remote-endpoint = 728 + <&tcphy0_typec_ss>; 729 + }; 730 + }; 731 + 732 + port@2 { 733 + reg = <2>; 734 + 735 + usbc_dp: endpoint { 736 + remote-endpoint = 737 + <&tcphy0_typec_dp>; 738 + }; 739 + }; 740 + }; 741 + }; 742 + }; 743 + }; 744 + 745 + &i2s1 { 746 + #sound-dai-cells = <0>; 747 + pinctrl-names = "default"; 748 + pinctrl-0 = <&i2s_8ch_mclk_gpio>, <&i2s1_2ch_bus>; 749 + rockchip,capture-channels = <8>; 750 + rockchip,playback-channels = <8>; 751 + status = "okay"; 752 + }; 753 + 754 + &io_domains { 755 + audio-supply = <&vcc_3v0>; 756 + gpio1830-supply = <&vcc_3v0>; 757 + sdmmc-supply = <&vcc_sdio>; 758 + status = "okay"; 759 + }; 760 + 761 + &pcie_phy { 762 + status = "okay"; 763 + }; 764 + 765 + &pcie0 { 766 + bus-scan-delay-ms = <1000>; 767 + ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; 768 + max-link-speed = <2>; 769 + num-lanes = <4>; 770 + pinctrl-names = "default"; 771 + pinctrl-0 = <&pcie_clkreqn_cpm>; 772 + vpcie0v9-supply = <&vcca0v9_s3>; 773 + vpcie1v8-supply = <&vcca1v8_s3>; 774 + vpcie3v3-supply = <&vcc3v3_ssd>; 775 + status = "okay"; 776 + }; 777 + 778 + &pinctrl { 779 + buttons { 780 + pwrbtn_gpio: pwrbtn-gpio { 781 + rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 782 + }; 783 + 784 + lidbtn_gpio: lidbtn-gpio { 785 + rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; 786 + }; 787 + }; 788 + 789 + dc-charger { 790 + dc_det_gpio: dc-det-gpio { 791 + rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; 792 + }; 793 + }; 794 + 795 + es8316 { 796 + hp_det_gpio: hp-det-gpio { 797 + rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>; 798 + }; 799 + }; 800 + 801 + fusb302x { 802 + fusb0_int_gpio: fusb0-int-gpio { 803 + rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 804 + }; 805 + }; 806 + 807 + i2s1 { 808 + i2s_8ch_mclk_gpio: i2s-8ch-mclk-gpio { 809 + rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>; 810 + }; 811 + }; 812 + 813 + lcd-panel { 814 + lcdvcc_en_gpio: lcdvcc-en-gpio { 815 + rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; 816 + }; 817 + 818 + panel_en_gpio: panel-en-gpio { 819 + rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 820 + }; 821 + 822 + lcd_panel_reset_gpio: lcd-panel-reset-gpio { 823 + rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; 824 + }; 825 + }; 826 + 827 + leds { 828 + pwrled_gpio: pwrled_gpio { 829 + rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 830 + }; 831 + 832 + slpled_gpio: slpled_gpio { 833 + rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 834 + }; 835 + }; 836 + 837 + pmic { 838 + pmic_int_l_gpio: pmic-int-l-gpio { 839 + rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>; 840 + }; 841 + 842 + vsel1_gpio: vsel1-gpio { 843 + rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; 844 + }; 845 + 846 + vsel2_gpio: vsel2-gpio { 847 + rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 848 + }; 849 + }; 850 + 851 + sdcard { 852 + sdmmc0_pwr_h_gpio: sdmmc0-pwr-h-gpio { 853 + rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 854 + }; 855 + 856 + }; 857 + 858 + sdio-pwrseq { 859 + wifi_enable_h_gpio: wifi-enable-h-gpio { 860 + rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 861 + }; 862 + }; 863 + 864 + usb-typec { 865 + vcc5v0_typec0_en_gpio: vcc5v0-typec0-en-gpio { 866 + rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; 867 + }; 868 + }; 869 + 870 + usb2 { 871 + pwr_5v_gpio: pwr-5v-gpio { 872 + rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 873 + }; 874 + 875 + vcc5v0_host_en_gpio: vcc5v0-host-en-gpio { 876 + rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; 877 + }; 878 + }; 879 + 880 + wireless-bluetooth { 881 + bt_wake_gpio: bt-wake-gpio { 882 + rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 883 + }; 884 + 885 + bt_host_wake_gpio: bt-host-wake-gpio { 886 + rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 887 + }; 888 + 889 + bt_reset_gpio: bt-reset-gpio { 890 + rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 891 + }; 892 + }; 893 + }; 894 + 895 + &pmu_io_domains { 896 + pmu1830-supply = <&vcc_3v0>; 897 + status = "okay"; 898 + }; 899 + 900 + &pwm0 { 901 + status = "okay"; 902 + }; 903 + 904 + &pwm2 { 905 + status = "okay"; 906 + }; 907 + 908 + &saradc { 909 + vref-supply = <&vcca1v8_s3>; 910 + status = "okay"; 911 + }; 912 + 913 + &sdmmc { 914 + bus-width = <4>; 915 + cap-mmc-highspeed; 916 + cap-sd-highspeed; 917 + cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 918 + disable-wp; 919 + pinctrl-names = "default"; 920 + pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 921 + sd-uhs-sdr104; 922 + vmmc-supply = <&vcc3v0_sd>; 923 + vqmmc-supply = <&vcc_sdio>; 924 + status = "okay"; 925 + }; 926 + 927 + &sdio0 { 928 + bus-width = <4>; 929 + cap-sd-highspeed; 930 + cap-sdio-irq; 931 + keep-power-in-suspend; 932 + mmc-pwrseq = <&sdio_pwrseq>; 933 + non-removable; 934 + pinctrl-names = "default"; 935 + pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; 936 + sd-uhs-sdr104; 937 + status = "okay"; 938 + }; 939 + 940 + &sdhci { 941 + bus-width = <8>; 942 + mmc-hs200-1_8v; 943 + non-removable; 944 + status = "okay"; 945 + }; 946 + 947 + &spi1 { 948 + max-freq = <10000000>; 949 + status = "okay"; 950 + 951 + spiflash: flash@0 { 952 + compatible = "jedec,spi-nor"; 953 + reg = <0>; 954 + m25p,fast-read; 955 + spi-max-frequency = <10000000>; 956 + }; 957 + }; 958 + 959 + &tcphy0 { 960 + status = "okay"; 961 + }; 962 + 963 + &tcphy0_dp { 964 + port { 965 + tcphy0_typec_dp: endpoint { 966 + remote-endpoint = <&usbc_dp>; 967 + }; 968 + }; 969 + }; 970 + 971 + &tcphy0_usb3 { 972 + port { 973 + tcphy0_typec_ss: endpoint { 974 + remote-endpoint = <&usbc_ss>; 975 + }; 976 + }; 977 + }; 978 + 979 + &tcphy1 { 980 + status = "okay"; 981 + }; 982 + 983 + &tsadc { 984 + /* tshut mode 0:CRU 1:GPIO */ 985 + rockchip,hw-tshut-mode = <1>; 986 + /* tshut polarity 0:LOW 1:HIGH */ 987 + rockchip,hw-tshut-polarity = <1>; 988 + status = "okay"; 989 + }; 990 + 991 + &u2phy0 { 992 + status = "okay"; 993 + 994 + u2phy0_otg: otg-port { 995 + status = "okay"; 996 + }; 997 + 998 + u2phy0_host: host-port { 999 + phy-supply = <&vcc5v0_otg>; 1000 + status = "okay"; 1001 + }; 1002 + 1003 + port { 1004 + u2phy0_typec_hs: endpoint { 1005 + remote-endpoint = <&usbc_hs>; 1006 + }; 1007 + }; 1008 + }; 1009 + 1010 + &u2phy1 { 1011 + status = "okay"; 1012 + 1013 + u2phy1_otg: otg-port { 1014 + status = "okay"; 1015 + }; 1016 + 1017 + u2phy1_host: host-port { 1018 + phy-supply = <&vcc5v0_otg>; 1019 + status = "okay"; 1020 + }; 1021 + }; 1022 + 1023 + &uart0 { 1024 + pinctrl-names = "default"; 1025 + pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 1026 + uart-has-rtscts; 1027 + status = "okay"; 1028 + 1029 + bluetooth { 1030 + compatible = "brcm,bcm4345c5"; 1031 + clocks = <&rk808 1>; 1032 + clock-names = "lpo"; 1033 + device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; 1034 + host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; 1035 + max-speed = <1500000>; 1036 + pinctrl-names = "default"; 1037 + pinctrl-0 = <&bt_host_wake_gpio &bt_wake_gpio &bt_reset_gpio>; 1038 + shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; 1039 + vbat-supply = <&wifi_bat>; 1040 + vddio-supply = <&vcc_wl>; 1041 + }; 1042 + }; 1043 + 1044 + &uart2 { 1045 + status = "okay"; 1046 + }; 1047 + 1048 + &usb_host0_ehci { 1049 + status = "okay"; 1050 + }; 1051 + 1052 + &usb_host0_ohci { 1053 + status = "okay"; 1054 + }; 1055 + 1056 + &usb_host1_ehci { 1057 + status = "okay"; 1058 + }; 1059 + 1060 + &usb_host1_ohci { 1061 + status = "okay"; 1062 + }; 1063 + 1064 + &usbdrd3_0 { 1065 + status = "okay"; 1066 + }; 1067 + 1068 + &usbdrd_dwc3_0 { 1069 + dr_mode = "host"; 1070 + status = "okay"; 1071 + }; 1072 + 1073 + &usbdrd3_1 { 1074 + status = "okay"; 1075 + }; 1076 + 1077 + &usbdrd_dwc3_1 { 1078 + dr_mode = "host"; 1079 + status = "okay"; 1080 + }; 1081 + 1082 + &vopb { 1083 + status = "okay"; 1084 + }; 1085 + 1086 + &vopb_mmu { 1087 + status = "okay"; 1088 + }; 1089 + 1090 + &vopl { 1091 + status = "okay"; 1092 + }; 1093 + 1094 + &vopl_mmu { 1095 + status = "okay"; 1096 + };
+1 -1
arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
··· 480 480 }; 481 481 482 482 &sdmmc { 483 - vqmmc = <&vcc_sd>; 483 + vqmmc-supply = <&vcc_sd>; 484 484 }; 485 485 486 486 &spi1 {
+1 -1
arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi
··· 542 542 cap-mmc-highspeed; 543 543 cap-sd-highspeed; 544 544 clock-frequency = <100000000>; 545 - clock-freq-min-max = <100000 100000000>; 545 + max-frequency = <100000000>; 546 546 cd-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>; 547 547 disable-wp; 548 548 sd-uhs-sdr104;
-2
arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator.dts
··· 230 230 }; 231 231 232 232 &spdif { 233 - i2c-scl-rising-time-ns = <450>; 234 - i2c-scl-falling-time-ns = <15>; 235 233 status = "okay"; 236 234 };
+2 -9
arch/arm64/boot/dts/rockchip/rk3399.dtsi
··· 197 197 #clock-cells = <0>; 198 198 }; 199 199 200 - amba { 200 + amba: bus { 201 201 compatible = "simple-bus"; 202 202 #address-cells = <2>; 203 203 #size-cells = <2>; ··· 288 288 resets = <&cru SRST_A_GMAC>; 289 289 reset-names = "stmmaceth"; 290 290 rockchip,grf = <&grf>; 291 + snps,txpbl = <0x4>; 291 292 status = "disabled"; 292 293 }; 293 294 ··· 350 349 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH 0>; 351 350 clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>, 352 351 <&u2phy0>; 353 - clock-names = "usbhost", "arbiter", 354 - "utmi"; 355 352 phys = <&u2phy0_host>; 356 353 phy-names = "usb"; 357 354 status = "disabled"; ··· 361 362 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH 0>; 362 363 clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>, 363 364 <&u2phy0>; 364 - clock-names = "usbhost", "arbiter", 365 - "utmi"; 366 365 phys = <&u2phy0_host>; 367 366 phy-names = "usb"; 368 367 status = "disabled"; ··· 372 375 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH 0>; 373 376 clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>, 374 377 <&u2phy1>; 375 - clock-names = "usbhost", "arbiter", 376 - "utmi"; 377 378 phys = <&u2phy1_host>; 378 379 phy-names = "usb"; 379 380 status = "disabled"; ··· 383 388 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH 0>; 384 389 clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>, 385 390 <&u2phy1>; 386 - clock-names = "usbhost", "arbiter", 387 - "utmi"; 388 391 phys = <&u2phy1_host>; 389 392 phy-names = "usb"; 390 393 status = "disabled";
+2 -1
arch/arm64/boot/dts/rockchip/rk3399pro-rock-pi-n10.dts
··· 13 13 14 14 / { 15 15 model = "Radxa ROCK Pi N10"; 16 - compatible = "radxa,rockpi-n10", "rockchip,rk3399pro"; 16 + compatible = "radxa,rockpi-n10", "vamrs,rk3399pro-vmarc-som", 17 + "rockchip,rk3399pro"; 17 18 };
+5 -5
arch/arm64/boot/dts/socionext/uniphier-ld11.dtsi
··· 143 143 interrupts = <0 216 4>; 144 144 pinctrl-names = "default"; 145 145 pinctrl-0 = <&pinctrl_spi1>; 146 - clocks = <&peri_clk 11>; 147 - resets = <&peri_rst 11>; 146 + clocks = <&peri_clk 12>; 147 + resets = <&peri_rst 12>; 148 148 }; 149 149 150 150 serial0: serial@54006800 { ··· 433 433 }; 434 434 }; 435 435 436 - emmc: sdhc@5a000000 { 436 + emmc: mmc@5a000000 { 437 437 compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc"; 438 438 reg = <0x5a000000 0x400>; 439 439 interrupts = <0 78 4>; ··· 566 566 }; 567 567 }; 568 568 569 - aidet: aidet@5fc20000 { 569 + aidet: interrupt-controller@5fc20000 { 570 570 compatible = "socionext,uniphier-ld11-aidet"; 571 571 reg = <0x5fc20000 0x200>; 572 572 interrupt-controller; ··· 621 621 }; 622 622 }; 623 623 624 - nand: nand@68000000 { 624 + nand: nand-controller@68000000 { 625 625 compatible = "socionext,uniphier-denali-nand-v5b"; 626 626 status = "disabled"; 627 627 reg-names = "nand_data", "denali_reg";
+10 -10
arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi
··· 248 248 interrupts = <0 216 4>; 249 249 pinctrl-names = "default"; 250 250 pinctrl-0 = <&pinctrl_spi1>; 251 - clocks = <&peri_clk 11>; 252 - resets = <&peri_rst 11>; 251 + clocks = <&peri_clk 12>; 252 + resets = <&peri_rst 12>; 253 253 }; 254 254 255 255 spi2: spi@54006200 { ··· 259 259 interrupts = <0 229 4>; 260 260 pinctrl-names = "default"; 261 261 pinctrl-0 = <&pinctrl_spi2>; 262 - clocks = <&peri_clk 11>; 263 - resets = <&peri_rst 11>; 262 + clocks = <&peri_clk 13>; 263 + resets = <&peri_rst 13>; 264 264 }; 265 265 266 266 spi3: spi@54006300 { ··· 270 270 interrupts = <0 230 4>; 271 271 pinctrl-names = "default"; 272 272 pinctrl-0 = <&pinctrl_spi3>; 273 - clocks = <&peri_clk 11>; 274 - resets = <&peri_rst 11>; 273 + clocks = <&peri_clk 14>; 274 + resets = <&peri_rst 14>; 275 275 }; 276 276 277 277 serial0: serial@54006800 { ··· 559 559 }; 560 560 }; 561 561 562 - emmc: sdhc@5a000000 { 562 + emmc: mmc@5a000000 { 563 563 compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc"; 564 564 reg = <0x5a000000 0x400>; 565 565 interrupts = <0 78 4>; ··· 578 578 cdns,phy-dll-delay-sdclk-hsmmc = <21>; 579 579 }; 580 580 581 - sd: sdhc@5a400000 { 581 + sd: mmc@5a400000 { 582 582 compatible = "socionext,uniphier-sd-v3.1.1"; 583 583 status = "disabled"; 584 584 reg = <0x5a400000 0x800>; ··· 664 664 }; 665 665 }; 666 666 667 - aidet: aidet@5fc20000 { 667 + aidet: interrupt-controller@5fc20000 { 668 668 compatible = "socionext,uniphier-ld20-aidet"; 669 669 reg = <0x5fc20000 0x200>; 670 670 interrupt-controller; ··· 925 925 socionext,syscon = <&soc_glue>; 926 926 }; 927 927 928 - nand: nand@68000000 { 928 + nand: nand-controller@68000000 { 929 929 compatible = "socionext,uniphier-denali-nand-v5b"; 930 930 status = "disabled"; 931 931 reg-names = "nand_data", "denali_reg";
+10
arch/arm64/boot/dts/socionext/uniphier-pxs3-ref.dts
··· 27 27 i2c2 = &i2c2; 28 28 i2c3 = &i2c3; 29 29 i2c6 = &i2c6; 30 + spi0 = &spi0; 31 + spi1 = &spi1; 30 32 }; 31 33 32 34 memory@80000000 { ··· 39 37 40 38 &ethsc { 41 39 interrupts = <4 8>; 40 + }; 41 + 42 + &spi0 { 43 + status = "okay"; 44 + }; 45 + 46 + &spi1 { 47 + status = "okay"; 42 48 }; 43 49 44 50 &serial0 {
+49 -6
arch/arm64/boot/dts/socionext/uniphier-pxs3.dtsi
··· 7 7 8 8 #include <dt-bindings/gpio/gpio.h> 9 9 #include <dt-bindings/gpio/uniphier-gpio.h> 10 + #include <dt-bindings/thermal/thermal.h> 10 11 11 12 / { 12 13 compatible = "socionext,uniphier-pxs3"; ··· 43 42 clocks = <&sys_clk 33>; 44 43 enable-method = "psci"; 45 44 operating-points-v2 = <&cluster0_opp>; 45 + #cooling-cells = <2>; 46 46 }; 47 47 48 48 cpu1: cpu@1 { ··· 53 51 clocks = <&sys_clk 33>; 54 52 enable-method = "psci"; 55 53 operating-points-v2 = <&cluster0_opp>; 54 + #cooling-cells = <2>; 56 55 }; 57 56 58 57 cpu2: cpu@2 { ··· 63 60 clocks = <&sys_clk 33>; 64 61 enable-method = "psci"; 65 62 operating-points-v2 = <&cluster0_opp>; 63 + #cooling-cells = <2>; 66 64 }; 67 65 68 66 cpu3: cpu@3 { ··· 73 69 clocks = <&sys_clk 33>; 74 70 enable-method = "psci"; 75 71 operating-points-v2 = <&cluster0_opp>; 72 + #cooling-cells = <2>; 76 73 }; 77 74 }; 78 75 ··· 141 136 <1 10 4>; 142 137 }; 143 138 139 + thermal-zones { 140 + cpu-thermal { 141 + polling-delay-passive = <250>; /* 250ms */ 142 + polling-delay = <1000>; /* 1000ms */ 143 + thermal-sensors = <&pvtctl>; 144 + 145 + trips { 146 + cpu_crit: cpu-crit { 147 + temperature = <110000>; /* 110C */ 148 + hysteresis = <2000>; 149 + type = "critical"; 150 + }; 151 + cpu_alert: cpu-alert { 152 + temperature = <100000>; /* 100C */ 153 + hysteresis = <2000>; 154 + type = "passive"; 155 + }; 156 + }; 157 + 158 + cooling-maps { 159 + map0 { 160 + trip = <&cpu_alert>; 161 + cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 162 + <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 163 + <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 164 + <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 165 + }; 166 + }; 167 + }; 168 + }; 169 + 144 170 reserved-memory { 145 171 #address-cells = <2>; 146 172 #size-cells = <2>; ··· 207 171 interrupts = <0 216 4>; 208 172 pinctrl-names = "default"; 209 173 pinctrl-0 = <&pinctrl_spi1>; 210 - clocks = <&peri_clk 11>; 211 - resets = <&peri_rst 11>; 174 + clocks = <&peri_clk 12>; 175 + resets = <&peri_rst 12>; 212 176 }; 213 177 214 178 serial0: serial@54006800 { ··· 389 353 }; 390 354 }; 391 355 392 - emmc: sdhc@5a000000 { 356 + emmc: mmc@5a000000 { 393 357 compatible = "socionext,uniphier-sd4hc", "cdns,sd4hc"; 394 358 reg = <0x5a000000 0x400>; 395 359 interrupts = <0 78 4>; ··· 408 372 cdns,phy-dll-delay-sdclk-hsmmc = <21>; 409 373 }; 410 374 411 - sd: sdhc@5a400000 { 375 + sd: mmc@5a400000 { 412 376 compatible = "socionext,uniphier-sd-v3.1.1"; 413 377 status = "disabled"; 414 378 reg = <0x5a400000 0x800>; ··· 498 462 }; 499 463 }; 500 464 501 - aidet: aidet@5fc20000 { 465 + aidet: interrupt-controller@5fc20000 { 502 466 compatible = "socionext,uniphier-pxs3-aidet"; 503 467 reg = <0x5fc20000 0x200>; 504 468 interrupt-controller; ··· 531 495 532 496 watchdog { 533 497 compatible = "socionext,uniphier-wdt"; 498 + }; 499 + 500 + pvtctl: pvtctl { 501 + compatible = "socionext,uniphier-pxs3-thermal"; 502 + interrupts = <0 3 4>; 503 + #thermal-sensor-cells = <0>; 504 + socionext,tmod-calibration = <0x0f22 0x68ee>; 534 505 }; 535 506 }; 536 507 ··· 826 783 socionext,syscon = <&soc_glue>; 827 784 }; 828 785 829 - nand: nand@68000000 { 786 + nand: nand-controller@68000000 { 830 787 compatible = "socionext,uniphier-denali-nand-v5b"; 831 788 status = "disabled"; 832 789 reg-names = "nand_data", "denali_reg";
+4
arch/arm64/boot/dts/ti/k3-am65-main.dtsi
··· 189 189 power-domains = <&k3_pds 137 TI_SCI_PD_EXCLUSIVE>; 190 190 #address-cells = <1>; 191 191 #size-cells = <0>; 192 + dmas = <&main_udmap 0xc500>, <&main_udmap 0x4500>; 193 + dma-names = "tx0", "rx0"; 192 194 }; 193 195 194 196 main_spi1: spi@2110000 { ··· 298 296 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 299 297 dma-coherent; 300 298 power-domains = <&k3_pds 151 TI_SCI_PD_EXCLUSIVE>; 299 + clocks = <&k3_clks 151 2>, <&k3_clks 151 7>; 301 300 assigned-clocks = <&k3_clks 151 2>, <&k3_clks 151 7>; 302 301 assigned-clock-parents = <&k3_clks 151 4>, /* set REF_CLK to 20MHz i.e. PER0_PLL/48 */ 303 302 <&k3_clks 151 9>; /* set PIPE3_TXB_CLK to CLK_12M_RC/256 (for HS only) */ ··· 338 335 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 339 336 dma-coherent; 340 337 power-domains = <&k3_pds 152 TI_SCI_PD_EXCLUSIVE>; 338 + clocks = <&k3_clks 152 2>; 341 339 assigned-clocks = <&k3_clks 152 2>; 342 340 assigned-clock-parents = <&k3_clks 152 4>; /* set REF_CLK to 20MHz i.e. PER0_PLL/48 */ 343 341
+12
arch/arm64/boot/dts/ti/k3-am65-mcu.dtsi
··· 12 12 #address-cells = <1>; 13 13 #size-cells = <1>; 14 14 ranges = <0x0 0x0 0x40f00000 0x20000>; 15 + 16 + phy_gmii_sel: phy@4040 { 17 + compatible = "ti,am654-phy-gmii-sel"; 18 + reg = <0x4040 0x4>; 19 + #phy-cells = <1>; 20 + }; 15 21 }; 16 22 17 23 mcu_uart0: serial@40a00000 { ··· 88 82 assigned-clocks = <&k3_clks 0 2>; 89 83 assigned-clock-rates = <60000000>; 90 84 clock-names = "adc_tsc_fck"; 85 + dmas = <&mcu_udmap 0x7100>, 86 + <&mcu_udmap 0x7101 >; 87 + dma-names = "fifo0", "fifo1"; 91 88 92 89 adc { 93 90 #io-channel-cells = <1>; ··· 106 97 assigned-clocks = <&k3_clks 1 2>; 107 98 assigned-clock-rates = <60000000>; 108 99 clock-names = "adc_tsc_fck"; 100 + dmas = <&mcu_udmap 0x7102>, 101 + <&mcu_udmap 0x7103>; 102 + dma-names = "fifo0", "fifo1"; 109 103 110 104 adc { 111 105 #io-channel-cells = <1>;
+20
arch/arm64/boot/dts/ti/k3-j721e-mcu-wakeup.dtsi
··· 34 34 }; 35 35 }; 36 36 37 + mcu_conf: syscon@40f00000 { 38 + compatible = "syscon", "simple-mfd"; 39 + reg = <0x0 0x40f00000 0x0 0x20000>; 40 + #address-cells = <1>; 41 + #size-cells = <1>; 42 + ranges = <0x0 0x0 0x40f00000 0x20000>; 43 + 44 + phy_gmii_sel: phy@4040 { 45 + compatible = "ti,am654-phy-gmii-sel"; 46 + reg = <0x4040 0x4>; 47 + #phy-cells = <1>; 48 + }; 49 + }; 50 + 37 51 wkup_pmx0: pinmux@4301c000 { 38 52 compatible = "pinctrl-single"; 39 53 /* Proxy 0 addressing */ ··· 217 203 assigned-clocks = <&k3_clks 0 3>; 218 204 assigned-clock-rates = <60000000>; 219 205 clock-names = "adc_tsc_fck"; 206 + dmas = <&main_udmap 0x7400>, 207 + <&main_udmap 0x7401>; 208 + dma-names = "fifo0", "fifo1"; 220 209 221 210 adc { 222 211 #io-channel-cells = <1>; ··· 236 219 assigned-clocks = <&k3_clks 1 3>; 237 220 assigned-clock-rates = <60000000>; 238 221 clock-names = "adc_tsc_fck"; 222 + dmas = <&main_udmap 0x7402>, 223 + <&main_udmap 0x7403>; 224 + dma-names = "fifo0", "fifo1"; 239 225 240 226 adc { 241 227 #io-channel-cells = <1>;
+1
drivers/clk/imx/clk-imx8mn.c
··· 523 523 hws[IMX8MN_CLK_SAI5_IPG] = imx_clk_hw_gate2_shared2("sai5_ipg_clk", "ipg_audio_root", base + 0x4370, 0, &share_count_sai5); 524 524 hws[IMX8MN_CLK_SAI6_ROOT] = imx_clk_hw_gate2_shared2("sai6_root_clk", "sai6", base + 0x4380, 0, &share_count_sai6); 525 525 hws[IMX8MN_CLK_SAI6_IPG] = imx_clk_hw_gate2_shared2("sai6_ipg_clk", "ipg_audio_root", base + 0x4380, 0, &share_count_sai6); 526 + hws[IMX8MN_CLK_SNVS_ROOT] = imx_clk_hw_gate4("snvs_root_clk", "ipg_root", base + 0x4470, 0); 526 527 hws[IMX8MN_CLK_UART1_ROOT] = imx_clk_hw_gate4("uart1_root_clk", "uart1", base + 0x4490, 0); 527 528 hws[IMX8MN_CLK_UART2_ROOT] = imx_clk_hw_gate4("uart2_root_clk", "uart2", base + 0x44a0, 0); 528 529 hws[IMX8MN_CLK_UART3_ROOT] = imx_clk_hw_gate4("uart3_root_clk", "uart3", base + 0x44b0, 0);
+6 -1
drivers/clk/ti/clk-814x.c
··· 25 25 { DM814_WD_TIMER_CLKCTRL, NULL, CLKF_SW_SUP | CLKF_NO_IDLEST, "sysclk18_ck" }, 26 26 { DM814_MCSPI1_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk10_ck" }, 27 27 { DM814_GPMC_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk6_ck" }, 28 - { DM814_CPGMAC0_CLKCTRL, NULL, CLKF_SW_SUP, "cpsw_125mhz_gclk" }, 29 28 { DM814_MPU_CLKCTRL, NULL, CLKF_SW_SUP, "mpu_ck" }, 30 29 { DM814_RTC_CLKCTRL, NULL, CLKF_SW_SUP | CLKF_NO_IDLEST, "sysclk18_ck" }, 31 30 { DM814_TPCC_CLKCTRL, NULL, CLKF_SW_SUP, "sysclk4_ck" }, ··· 38 39 { 0 }, 39 40 }; 40 41 42 + static const struct 43 + omap_clkctrl_reg_data dm814_alwon_ethernet_clkctrl_regs[] __initconst = { 44 + { 0, NULL, CLKF_SW_SUP, "cpsw_125mhz_gclk" }, 45 + }; 46 + 41 47 const struct omap_clkctrl_data dm814_clkctrl_data[] __initconst = { 42 48 { 0x48180500, dm814_default_clkctrl_regs }, 43 49 { 0x48181400, dm814_alwon_clkctrl_regs }, 50 + { 0x481815d4, dm814_alwon_ethernet_clkctrl_regs }, 44 51 { 0 }, 45 52 }; 46 53
+5
include/dt-bindings/clock/dm814.h
··· 34 34 #define DM814_MMC2_CLKCTRL DM814_CLKCTRL_INDEX(0x220) 35 35 #define DM814_MMC3_CLKCTRL DM814_CLKCTRL_INDEX(0x224) 36 36 37 + /* alwon_ethernet clocks */ 38 + #define DM814_ETHERNET_CLKCTRL_OFFSET 0x1d4 39 + #define DM814_ETHERNET_CLKCTRL_INDEX(offset) ((offset) - DM814_ETHERNET_CLKCTRL_OFFSET) 40 + #define DM814_ETHERNET_CPGMAC0_CLKCTRL DM814_ETHERNET_CLKCTRL_INDEX(0x1d4) 41 + 37 42 #endif
+2
include/dt-bindings/clock/g12a-clkc.h
··· 143 143 #define CLKID_CPU1_CLK 253 144 144 #define CLKID_CPU2_CLK 254 145 145 #define CLKID_CPU3_CLK 255 146 + #define CLKID_SPICC0_SCLK 258 147 + #define CLKID_SPICC1_SCLK 261 146 148 147 149 #endif /* __G12A_CLKC_H */
+1
include/dt-bindings/clock/gxbb-clkc.h
··· 146 146 #define CLKID_CTS_VDAC 201 147 147 #define CLKID_HDMI_TX 202 148 148 #define CLKID_HDMI 205 149 + #define CLKID_ACODEC 206 149 150 150 151 #endif /* __GXBB_CLKC_H */
+3 -1
include/dt-bindings/clock/imx8mn-clock.h
··· 228 228 #define IMX8MN_SYS_PLL2_333M_CG 209 229 229 #define IMX8MN_SYS_PLL2_500M_CG 210 230 230 231 - #define IMX8MN_CLK_END 211 231 + #define IMX8MN_CLK_SNVS_ROOT 211 232 + 233 + #define IMX8MN_CLK_END 212 232 234 233 235 #endif