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

Merge tag 'devicetree-for-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux

Pull devicetree updates from Rob Herring:
"DT Bindings:

- Drop duplicate devices in trivial-devices.yaml

- Add a common serial peripheral device schema and reference it in
serial device schemas.

- Convert nxp,lpc1850-wdt, zii,rave-wdt, ti,davinci-wdt,
snps,archs-pct, fsl,bcsr, fsl,fpga-qixis-i2c, fsl,fpga-qixis,
fsl,cpm-enet, fsl,cpm-mdio, fsl,ucc-hdlc, maxim,ds26522,
aspeed,ast2400-cvic, aspeed,ast2400-vic, fsl,ftm-timer,
ti,davinci-timer, fsl,rcpm, and qcom,ebi2 to DT schema

- Add support for rockchip,rk3576-wdt, qcom,apss-wdt-sa8255p,
fsl,imx8qm-irqsteer, qcom,pm6150-vib, qcom,sa8255p-pdc,
isil,isl69260, ti,tps546d24, and lpc32xx DMA mux

- Drop duplicate nvidia,tegra186-ccplex-cluster.yaml and
mediatek,mt6795-sys-clock.yaml

- Add arm,gic ESPI and EPPI interrupt type specifiers

- Add another batch of legacy compatible strings which we have no
intention of documenting

- Add dmas/dma-names properties to FSL lcdif

- Fix wakeup-source reference to m8921-keypad.yaml

- Treewide fixes of typos in bindings

DT Core:

- Update dtc/libfdt to upstream version v1.7.0-95-gbcd02b523429

- More conversions to scoped iterators and __free() initializer

- Handle overflows in address resources on 32-bit systems

- Extend extracting compatible strings in sources from function
parameters

- Use of_property_present() in DT unittest

- Clean-up of_irq_to_resource() to use helpers

- Support #msi-cells=<0> in of_msi_get_domain()

- Improve the kerneldoc for of_property_match_string()

- kselftest: Ignore nodes that have ancestors disabled"

* tag 'devicetree-for-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (59 commits)
dt-bindings: watchdog: Add rockchip,rk3576-wdt compatible
dt-bindings: cpu: Drop duplicate nvidia,tegra186-ccplex-cluster.yaml
dt-bindings: clock: mediatek: Drop duplicate mediatek,mt6795-sys-clock.yaml
of/irq: Use helper to define resources
of/irq: Make use of irq_get_trigger_type()
dt-bindings: clk: vc5: Make SD/OE pin configuration properties not required
drivers/of: Improve documentation for match_string
of: property: Do some clean up with use of __free()
dt-bindings: watchdog: qcom-wdt: document support on SA8255p
dt-bindings: interrupt-controller: fsl,irqsteer: Document fsl,imx8qm-irqsteer
dt-bindings: interrupt-controller: arm,gic: add ESPI and EPPI specifiers
dt-bindings: dma: Add lpc32xx DMA mux binding
dt-bindings: trivial-devices: Drop duplicate "maxim,max1237"
dt-bindings: trivial-devices: Drop duplicate LM75 compatible devices
dt-bindings: trivial-devices: Deprecate "ad,ad7414"
dt-bindings: trivial-devices: Drop incorrect and duplicate at24 compatibles
dt-bindings: wakeup-source: update reference to m8921-keypad.yaml
dt-bindings: interrupt-controller: qcom-pdc: document support for SA8255p
dt-bindings: Fix various typos
of: address: Unify resource bounds overflow checking
...

+1755 -963
-17
Documentation/devicetree/bindings/arc/archs-pct.txt
··· 1 - * ARC HS Performance Counters 2 - 3 - The ARC HS can be configured with a pipeline performance monitor for counting 4 - CPU and cache events like cache misses and hits. Like conventional PCT there 5 - are 100+ hardware conditions dynamically mapped to up to 32 counters. 6 - It also supports overflow interrupts. 7 - 8 - Required properties: 9 - 10 - - compatible : should contain 11 - "snps,archs-pct" 12 - 13 - Example: 14 - 15 - pmu { 16 - compatible = "snps,archs-pct"; 17 - };
+33
Documentation/devicetree/bindings/arc/snps,archs-pct.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arc/snps,archs-pct.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: ARC HS Performance Counters 8 + 9 + maintainers: 10 + - Aryabhatta Dey <aryabhattadey35@gmail.com> 11 + 12 + description: 13 + The ARC HS can be configured with a pipeline performance monitor for counting 14 + CPU and cache events like cache misses and hits. Like conventional PCT there 15 + are 100+ hardware conditions dynamically mapped to up to 32 counters. 16 + It also supports overflow interrupts. 17 + 18 + properties: 19 + compatible: 20 + const: snps,archs-pct 21 + 22 + reg: 23 + maxItems: 1 24 + 25 + clocks: 26 + maxItems: 1 27 + 28 + required: 29 + - compatible 30 + - reg 31 + - clocks 32 + 33 + additionalProperties: false
+1 -1
Documentation/devicetree/bindings/arm/arm,coresight-dummy-source.yaml
··· 17 17 The Coresight dummy source component is for the specific coresight source 18 18 devices kernel don't have permission to access or configure. For some SOCs, 19 19 there would be Coresight source trace components on sub-processor which 20 - are conneted to AP processor via debug bus. For these devices, a dummy driver 20 + are connected to AP processor via debug bus. For these devices, a dummy driver 21 21 is needed to register them as Coresight source devices, so that paths can be 22 22 created in the driver. It provides Coresight API for operations on dummy 23 23 source devices, such as enabling and disabling them. It also provides the
+2 -2
Documentation/devicetree/bindings/arm/arm,corstone1000.yaml
··· 7 7 title: ARM Corstone1000 8 8 9 9 maintainers: 10 - - Vishnu Banavath <vishnu.banavath@arm.com> 11 - - Rui Miguel Silva <rui.silva@linaro.org> 10 + - Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> 11 + - Hugues Kamba Mpiana <hugues.kambampiana@arm.com> 12 12 13 13 description: |+ 14 14 ARM's Corstone1000 includes pre-verified Corstone SSE-710 subsystem that
+32
Documentation/devicetree/bindings/board/fsl,bcsr.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/board/fsl,bcsr.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Board Control and Status 8 + 9 + maintainers: 10 + - Frank Li <Frank.Li@nxp.com> 11 + 12 + properties: 13 + compatible: 14 + enum: 15 + - fsl,mpc8360mds-bcsr 16 + 17 + reg: 18 + maxItems: 1 19 + 20 + required: 21 + - compatible 22 + - reg 23 + 24 + additionalProperties: false 25 + 26 + examples: 27 + - | 28 + board@f8000000 { 29 + compatible = "fsl,mpc8360mds-bcsr"; 30 + reg = <0xf8000000 0x8000>; 31 + }; 32 +
+70
Documentation/devicetree/bindings/board/fsl,fpga-qixis-i2c.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/board/fsl,fpga-qixis-i2c.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Freescale on-board FPGA connected on I2C bus 8 + 9 + maintainers: 10 + - Frank Li <Frank.Li@nxp.com> 11 + 12 + properties: 13 + compatible: 14 + oneOf: 15 + - items: 16 + - enum: 17 + - fsl,bsc9132qds-fpga 18 + - const: fsl,fpga-qixis-i2c 19 + - items: 20 + - enum: 21 + - fsl,ls1028aqds-fpga 22 + - fsl,lx2160aqds-fpga 23 + - const: fsl,fpga-qixis-i2c 24 + - const: simple-mfd 25 + 26 + interrupts: 27 + maxItems: 1 28 + 29 + reg: 30 + maxItems: 1 31 + 32 + mux-controller: 33 + $ref: /schemas/mux/reg-mux.yaml 34 + 35 + required: 36 + - compatible 37 + - reg 38 + 39 + additionalProperties: false 40 + 41 + examples: 42 + - | 43 + i2c { 44 + #address-cells = <1>; 45 + #size-cells = <0>; 46 + 47 + board-control@66 { 48 + compatible = "fsl,bsc9132qds-fpga", "fsl,fpga-qixis-i2c"; 49 + reg = <0x66>; 50 + }; 51 + }; 52 + 53 + - | 54 + i2c { 55 + #address-cells = <1>; 56 + #size-cells = <0>; 57 + 58 + board-control@66 { 59 + compatible = "fsl,ls1028aqds-fpga", "fsl,fpga-qixis-i2c", 60 + "simple-mfd"; 61 + reg = <0x66>; 62 + 63 + mux-controller { 64 + compatible = "reg-mux"; 65 + #mux-control-cells = <1>; 66 + mux-reg-masks = <0x54 0xf0>; /* 0: reg 0x54, bits 7:4 */ 67 + }; 68 + }; 69 + }; 70 +
+81
Documentation/devicetree/bindings/board/fsl,fpga-qixis.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/board/fsl,fpga-qixis.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Freescale on-board FPGA/CPLD 8 + 9 + maintainers: 10 + - Frank Li <Frank.Li@nxp.com> 11 + 12 + properties: 13 + compatible: 14 + oneOf: 15 + - items: 16 + - const: fsl,p1022ds-fpga 17 + - const: fsl,fpga-ngpixis 18 + - items: 19 + - enum: 20 + - fsl,ls1088aqds-fpga 21 + - fsl,ls1088ardb-fpga 22 + - fsl,ls2080aqds-fpga 23 + - fsl,ls2080ardb-fpga 24 + - const: fsl,fpga-qixis 25 + - items: 26 + - enum: 27 + - fsl,ls1043aqds-fpga 28 + - fsl,ls1043ardb-fpga 29 + - fsl,ls1046aqds-fpga 30 + - fsl,ls1046ardb-fpga 31 + - fsl,ls208xaqds-fpga 32 + - const: fsl,fpga-qixis 33 + - const: simple-mfd 34 + - enum: 35 + - fsl,ls1043ardb-cpld 36 + - fsl,ls1046ardb-cpld 37 + - fsl,t1040rdb-cpld 38 + - fsl,t1042rdb-cpld 39 + - fsl,t1042rdb_pi-cpld 40 + 41 + interrupts: 42 + maxItems: 1 43 + 44 + reg: 45 + maxItems: 1 46 + 47 + "#address-cells": 48 + const: 1 49 + 50 + "#size-cells": 51 + const: 1 52 + 53 + ranges: 54 + maxItems: 1 55 + 56 + patternProperties: 57 + '^mdio-mux@[a-f0-9,]+$': 58 + $ref: /schemas/net/mdio-mux-mmioreg.yaml 59 + 60 + required: 61 + - compatible 62 + - reg 63 + 64 + additionalProperties: false 65 + 66 + examples: 67 + - | 68 + #include <dt-bindings/interrupt-controller/irq.h> 69 + board-control@3 { 70 + compatible = "fsl,p1022ds-fpga", "fsl,fpga-ngpixis"; 71 + reg = <3 0x30>; 72 + interrupt-parent = <&mpic>; 73 + interrupts = <8 IRQ_TYPE_LEVEL_LOW 0 0>; 74 + }; 75 + 76 + - | 77 + board-control@3 { 78 + compatible = "fsl,ls2080ardb-fpga", "fsl,fpga-qixis"; 79 + reg = <0x3 0x10000>; 80 + }; 81 +
-81
Documentation/devicetree/bindings/board/fsl-board.txt
··· 1 - Freescale Reference Board Bindings 2 - 3 - This document describes device tree bindings for various devices that 4 - exist on some Freescale reference boards. 5 - 6 - * Board Control and Status (BCSR) 7 - 8 - Required properties: 9 - 10 - - compatible : Should be "fsl,<board>-bcsr" 11 - - reg : Offset and length of the register set for the device 12 - 13 - Example: 14 - 15 - bcsr@f8000000 { 16 - compatible = "fsl,mpc8360mds-bcsr"; 17 - reg = <f8000000 8000>; 18 - }; 19 - 20 - * Freescale on-board FPGA 21 - 22 - This is the memory-mapped registers for on board FPGA. 23 - 24 - Required properties: 25 - - compatible: should be a board-specific string followed by a string 26 - indicating the type of FPGA. Example: 27 - "fsl,<board>-fpga", "fsl,fpga-pixis", or 28 - "fsl,<board>-fpga", "fsl,fpga-qixis" 29 - - reg: should contain the address and the length of the FPGA register set. 30 - 31 - Optional properties: 32 - - interrupts: should specify event (wakeup) IRQ. 33 - 34 - Example (P1022DS): 35 - 36 - board-control@3,0 { 37 - compatible = "fsl,p1022ds-fpga", "fsl,fpga-ngpixis"; 38 - reg = <3 0 0x30>; 39 - interrupt-parent = <&mpic>; 40 - interrupts = <8 8 0 0>; 41 - }; 42 - 43 - Example (LS2080A-RDB): 44 - 45 - cpld@3,0 { 46 - compatible = "fsl,ls2080ardb-fpga", "fsl,fpga-qixis"; 47 - reg = <0x3 0 0x10000>; 48 - }; 49 - 50 - * Freescale on-board FPGA connected on I2C bus 51 - 52 - Some Freescale boards like BSC9132QDS have on board FPGA connected on 53 - the i2c bus. 54 - 55 - Required properties: 56 - - compatible: Should be a board-specific string followed by a string 57 - indicating the type of FPGA. Example: 58 - "fsl,<board>-fpga", "fsl,fpga-qixis-i2c" 59 - - reg: Should contain the address of the FPGA 60 - 61 - Example: 62 - fpga: fpga@66 { 63 - compatible = "fsl,bsc9132qds-fpga", "fsl,fpga-qixis-i2c"; 64 - reg = <0x66>; 65 - }; 66 - 67 - * Freescale on-board CPLD 68 - 69 - Some Freescale boards like T1040RDB have an on board CPLD connected. 70 - 71 - Required properties: 72 - - compatible: Should be a board-specific string like "fsl,<board>-cpld" 73 - Example: 74 - "fsl,t1040rdb-cpld", "fsl,t1042rdb-cpld", "fsl,t1042rdb_pi-cpld" 75 - - reg: should describe CPLD registers 76 - 77 - Example: 78 - cpld@3,0 { 79 - compatible = "fsl,t1040rdb-cpld"; 80 - reg = <3 0 0x300>; 81 - };
-138
Documentation/devicetree/bindings/bus/qcom,ebi2.txt
··· 1 - Qualcomm External Bus Interface 2 (EBI2) 2 - 3 - The EBI2 contains two peripheral blocks: XMEM and LCDC. The XMEM handles any 4 - external memory (such as NAND or other memory-mapped peripherals) whereas 5 - LCDC handles LCD displays. 6 - 7 - As it says it connects devices to an external bus interface, meaning address 8 - lines (up to 9 address lines so can only address 1KiB external memory space), 9 - data lines (16 bits), OE (output enable), ADV (address valid, used on some 10 - NOR flash memories), WE (write enable). This on top of 6 different chip selects 11 - (CS0 thru CS5) so that in theory 6 different devices can be connected. 12 - 13 - Apparently this bus is clocked at 64MHz. It has dedicated pins on the package 14 - and the bus can only come out on these pins, however if some of the pins are 15 - unused they can be left unconnected or remuxed to be used as GPIO or in some 16 - cases other orthogonal functions as well. 17 - 18 - Also CS1 and CS2 has -A and -B signals. Why they have that is unclear to me. 19 - 20 - The chip selects have the following memory range assignments. This region of 21 - memory is referred to as "Chip Peripheral SS FPB0" and is 168MB big. 22 - 23 - Chip Select Physical address base 24 - CS0 GPIO134 0x1a800000-0x1b000000 (8MB) 25 - CS1 GPIO39 (A) / GPIO123 (B) 0x1b000000-0x1b800000 (8MB) 26 - CS2 GPIO40 (A) / GPIO124 (B) 0x1b800000-0x1c000000 (8MB) 27 - CS3 GPIO133 0x1d000000-0x25000000 (128 MB) 28 - CS4 GPIO132 0x1c800000-0x1d000000 (8MB) 29 - CS5 GPIO131 0x1c000000-0x1c800000 (8MB) 30 - 31 - The APQ8060 Qualcomm Application Processor User Guide, 80-N7150-14 Rev. A, 32 - August 6, 2012 contains some incomplete documentation of the EBI2. 33 - 34 - FIXME: the manual mentions "write precharge cycles" and "precharge cycles". 35 - We have not been able to figure out which bit fields these correspond to 36 - in the hardware, or what valid values exist. The current hypothesis is that 37 - this is something just used on the FAST chip selects and that the SLOW 38 - chip selects are understood fully. There is also a "byte device enable" 39 - flag somewhere for 8bit memories. 40 - 41 - FIXME: The chipselects have SLOW and FAST configuration registers. It's a bit 42 - unclear what this means, if they are mutually exclusive or can be used 43 - together, or if some chip selects are hardwired to be FAST and others are SLOW 44 - by design. 45 - 46 - The XMEM registers are totally undocumented but could be partially decoded 47 - because the Cypress AN49576 Antioch Westbridge apparently has suspiciously 48 - similar register layout, see: http://www.cypress.com/file/105771/download 49 - 50 - Required properties: 51 - - compatible: should be one of: 52 - "qcom,msm8660-ebi2" 53 - "qcom,apq8060-ebi2" 54 - - #address-cells: should be <2>: the first cell is the chipselect, 55 - the second cell is the offset inside the memory range 56 - - #size-cells: should be <1> 57 - - ranges: should be set to: 58 - ranges = <0 0x0 0x1a800000 0x00800000>, 59 - <1 0x0 0x1b000000 0x00800000>, 60 - <2 0x0 0x1b800000 0x00800000>, 61 - <3 0x0 0x1d000000 0x08000000>, 62 - <4 0x0 0x1c800000 0x00800000>, 63 - <5 0x0 0x1c000000 0x00800000>; 64 - - reg: two ranges of registers: EBI2 config and XMEM config areas 65 - - reg-names: should be "ebi2", "xmem" 66 - - clocks: two clocks, EBI_2X and EBI 67 - - clock-names: should be "ebi2x", "ebi2" 68 - 69 - Optional subnodes: 70 - - Nodes inside the EBI2 will be considered device nodes. 71 - 72 - The following optional properties are properties that can be tagged onto 73 - any device subnode. We are assuming that there can be only ONE device per 74 - chipselect subnode, else the properties will become ambiguous. 75 - 76 - Optional properties arrays for SLOW chip selects: 77 - - qcom,xmem-recovery-cycles: recovery cycles is the time the memory continues to 78 - drive the data bus after OE is de-asserted, in order to avoid contention on 79 - the data bus. They are inserted when reading one CS and switching to another 80 - CS or read followed by write on the same CS. Valid values 0 thru 15. Minimum 81 - value is actually 1, so a value of 0 will still yield 1 recovery cycle. 82 - - qcom,xmem-write-hold-cycles: write hold cycles, these are extra cycles 83 - inserted after every write minimum 1. The data out is driven from the time 84 - WE is asserted until CS is asserted. With a hold of 1 (value = 0), the CS 85 - stays active for 1 extra cycle etc. Valid values 0 thru 15. 86 - - qcom,xmem-write-delta-cycles: initial latency for write cycles inserted for 87 - the first write to a page or burst memory. Valid values 0 thru 255. 88 - - qcom,xmem-read-delta-cycles: initial latency for read cycles inserted for the 89 - first read to a page or burst memory. Valid values 0 thru 255. 90 - - qcom,xmem-write-wait-cycles: number of wait cycles for every write access, 0=1 91 - cycle. Valid values 0 thru 15. 92 - - qcom,xmem-read-wait-cycles: number of wait cycles for every read access, 0=1 93 - cycle. Valid values 0 thru 15. 94 - 95 - Optional properties arrays for FAST chip selects: 96 - - qcom,xmem-address-hold-enable: this is a boolean property stating that we 97 - shall hold the address for an extra cycle to meet hold time requirements 98 - with ADV assertion. 99 - - qcom,xmem-adv-to-oe-recovery-cycles: the number of cycles elapsed before an OE 100 - assertion, with respect to the cycle where ADV (address valid) is asserted. 101 - 2 means 2 cycles between ADV and OE. Valid values 0, 1, 2 or 3. 102 - - qcom,xmem-read-hold-cycles: the length in cycles of the first segment of a 103 - read transfer. For a single read transfer this will be the time from CS 104 - assertion to OE assertion. Valid values 0 thru 15. 105 - 106 - 107 - Example: 108 - 109 - ebi2@1a100000 { 110 - compatible = "qcom,apq8060-ebi2"; 111 - #address-cells = <2>; 112 - #size-cells = <1>; 113 - ranges = <0 0x0 0x1a800000 0x00800000>, 114 - <1 0x0 0x1b000000 0x00800000>, 115 - <2 0x0 0x1b800000 0x00800000>, 116 - <3 0x0 0x1d000000 0x08000000>, 117 - <4 0x0 0x1c800000 0x00800000>, 118 - <5 0x0 0x1c000000 0x00800000>; 119 - reg = <0x1a100000 0x1000>, <0x1a110000 0x1000>; 120 - reg-names = "ebi2", "xmem"; 121 - clocks = <&gcc EBI2_2X_CLK>, <&gcc EBI2_CLK>; 122 - clock-names = "ebi2x", "ebi2"; 123 - /* Make sure to set up the pin control for the EBI2 */ 124 - pinctrl-names = "default"; 125 - pinctrl-0 = <&foo_ebi2_pins>; 126 - 127 - foo-ebi2@2,0 { 128 - compatible = "foo"; 129 - reg = <2 0x0 0x100>; 130 - (...) 131 - qcom,xmem-recovery-cycles = <0>; 132 - qcom,xmem-write-hold-cycles = <3>; 133 - qcom,xmem-write-delta-cycles = <31>; 134 - qcom,xmem-read-delta-cycles = <28>; 135 - qcom,xmem-write-wait-cycles = <9>; 136 - qcom,xmem-read-wait-cycles = <9>; 137 - }; 138 - };
+239
Documentation/devicetree/bindings/bus/qcom,ebi2.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/bus/qcom,ebi2.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Qualcomm External Bus Interface 2 (EBI2) 8 + 9 + description: | 10 + The EBI2 contains two peripheral blocks: XMEM and LCDC. The XMEM handles any 11 + external memory (such as NAND or other memory-mapped peripherals) whereas 12 + LCDC handles LCD displays. 13 + 14 + As it says it connects devices to an external bus interface, meaning address 15 + lines (up to 9 address lines so can only address 1KiB external memory space), 16 + data lines (16 bits), OE (output enable), ADV (address valid, used on some 17 + NOR flash memories), WE (write enable). This on top of 6 different chip selects 18 + (CS0 thru CS5) so that in theory 6 different devices can be connected. 19 + 20 + Apparently this bus is clocked at 64MHz. It has dedicated pins on the package 21 + and the bus can only come out on these pins, however if some of the pins are 22 + unused they can be left unconnected or remuxed to be used as GPIO or in some 23 + cases other orthogonal functions as well. 24 + 25 + Also CS1 and CS2 has -A and -B signals. Why they have that is unclear to me. 26 + 27 + The chip selects have the following memory range assignments. This region of 28 + memory is referred to as "Chip Peripheral SS FPB0" and is 168MB big. 29 + 30 + Chip Select Physical address base 31 + CS0 GPIO134 0x1a800000-0x1b000000 (8MB) 32 + CS1 GPIO39 (A) / GPIO123 (B) 0x1b000000-0x1b800000 (8MB) 33 + CS2 GPIO40 (A) / GPIO124 (B) 0x1b800000-0x1c000000 (8MB) 34 + CS3 GPIO133 0x1d000000-0x25000000 (128 MB) 35 + CS4 GPIO132 0x1c800000-0x1d000000 (8MB) 36 + CS5 GPIO131 0x1c000000-0x1c800000 (8MB) 37 + 38 + The APQ8060 Qualcomm Application Processor User Guide, 80-N7150-14 Rev. A, 39 + August 6, 2012 contains some incomplete documentation of the EBI2. 40 + 41 + FIXME: the manual mentions "write precharge cycles" and "precharge cycles". 42 + We have not been able to figure out which bit fields these correspond to 43 + in the hardware, or what valid values exist. The current hypothesis is that 44 + this is something just used on the FAST chip selects and that the SLOW 45 + chip selects are understood fully. There is also a "byte device enable" 46 + flag somewhere for 8bit memories. 47 + 48 + FIXME: The chipselects have SLOW and FAST configuration registers. It's a bit 49 + unclear what this means, if they are mutually exclusive or can be used 50 + together, or if some chip selects are hardwired to be FAST and others are SLOW 51 + by design. 52 + 53 + The XMEM registers are totally undocumented but could be partially decoded 54 + because the Cypress AN49576 Antioch Westbridge apparently has suspiciously 55 + similar register layout, see: http://www.cypress.com/file/105771/download 56 + 57 + maintainers: 58 + - Bjorn Andersson <andersson@kernel.org> 59 + 60 + properties: 61 + compatible: 62 + enum: 63 + - qcom,apq8060-ebi2 64 + - qcom,msm8660-ebi2 65 + 66 + reg: 67 + items: 68 + - description: EBI2 config region 69 + - description: XMEM config region 70 + 71 + reg-names: 72 + items: 73 + - const: ebi2 74 + - const: xmem 75 + 76 + ranges: true 77 + 78 + clocks: 79 + items: 80 + - description: EBI_2X clock 81 + - description: EBI clock 82 + 83 + clock-names: 84 + items: 85 + - const: ebi2x 86 + - const: ebi2 87 + 88 + '#address-cells': 89 + const: 2 90 + 91 + '#size-cells': 92 + const: 1 93 + 94 + required: 95 + - compatible 96 + - reg 97 + - reg-names 98 + - ranges 99 + - clocks 100 + - clock-names 101 + - '#address-cells' 102 + - '#size-cells' 103 + 104 + patternProperties: 105 + "^.*@[0-5],[0-9a-f]+$": 106 + type: object 107 + additionalProperties: true 108 + properties: 109 + reg: 110 + maxItems: 1 111 + 112 + # SLOW chip selects 113 + qcom,xmem-recovery-cycles: 114 + $ref: /schemas/types.yaml#/definitions/uint32 115 + description: > 116 + The time the memory continues to drive the data bus after OE 117 + is de-asserted, in order to avoid contention on the data bus. 118 + They are inserted when reading one CS and switching to another 119 + CS or read followed by write on the same CS. Minimum value is 120 + actually 1, so a value of 0 will still yield 1 recovery cycle. 121 + minimum: 0 122 + maximum: 15 123 + 124 + qcom,xmem-write-hold-cycles: 125 + $ref: /schemas/types.yaml#/definitions/uint32 126 + description: > 127 + The extra cycles inserted after every write minimum 1. The 128 + data out is driven from the time WE is asserted until CS is 129 + asserted. With a hold of 1 (value = 0), the CS stays active 130 + for 1 extra cycle, etc. 131 + minimum: 0 132 + maximum: 15 133 + 134 + qcom,xmem-write-delta-cycles: 135 + $ref: /schemas/types.yaml#/definitions/uint32 136 + description: > 137 + The initial latency for write cycles inserted for the first 138 + write to a page or burst memory. 139 + minimum: 0 140 + maximum: 255 141 + 142 + qcom,xmem-read-delta-cycles: 143 + $ref: /schemas/types.yaml#/definitions/uint32 144 + description: > 145 + The initial latency for read cycles inserted for the first 146 + read to a page or burst memory. 147 + minimum: 0 148 + maximum: 255 149 + 150 + qcom,xmem-write-wait-cycles: 151 + $ref: /schemas/types.yaml#/definitions/uint32 152 + description: > 153 + The number of wait cycles for every write access. 154 + minimum: 0 155 + maximum: 15 156 + 157 + qcom,xmem-read-wait-cycles: 158 + $ref: /schemas/types.yaml#/definitions/uint32 159 + description: > 160 + The number of wait cycles for every read access. 161 + minimum: 0 162 + maximum: 15 163 + 164 + 165 + # FAST chip selects 166 + qcom,xmem-address-hold-enable: 167 + $ref: /schemas/types.yaml#/definitions/uint32 168 + description: > 169 + Holds the address for an extra cycle to meet hold time 170 + requirements with ADV assertion, when set to 1. 171 + enum: [ 0, 1 ] 172 + 173 + qcom,xmem-adv-to-oe-recovery-cycles: 174 + $ref: /schemas/types.yaml#/definitions/uint32 175 + description: > 176 + The number of cycles elapsed before an OE assertion, with 177 + respect to the cycle where ADV (address valid) is asserted. 178 + minimum: 0 179 + maximum: 3 180 + 181 + qcom,xmem-read-hold-cycles: 182 + $ref: /schemas/types.yaml#/definitions/uint32 183 + description: > 184 + The length in cycles of the first segment of a read transfer. 185 + For a single read transfer this will be the time from CS 186 + assertion to OE assertion. 187 + minimum: 0 188 + maximum: 15 189 + 190 + required: 191 + - reg 192 + 193 + additionalProperties: false 194 + 195 + examples: 196 + - | 197 + #include <dt-bindings/clock/qcom,gcc-msm8660.h> 198 + #include <dt-bindings/interrupt-controller/irq.h> 199 + #include <dt-bindings/gpio/gpio.h> 200 + 201 + external-bus@1a100000 { 202 + compatible = "qcom,msm8660-ebi2"; 203 + reg = <0x1a100000 0x1000>, <0x1a110000 0x1000>; 204 + reg-names = "ebi2", "xmem"; 205 + ranges = <0 0x0 0x1a800000 0x00800000>, 206 + <1 0x0 0x1b000000 0x00800000>, 207 + <2 0x0 0x1b800000 0x00800000>, 208 + <3 0x0 0x1d000000 0x08000000>, 209 + <4 0x0 0x1c800000 0x00800000>, 210 + <5 0x0 0x1c000000 0x00800000>; 211 + 212 + clocks = <&gcc EBI2_2X_CLK>, <&gcc EBI2_CLK>; 213 + clock-names = "ebi2x", "ebi2"; 214 + 215 + #address-cells = <2>; 216 + #size-cells = <1>; 217 + 218 + ethernet@2,0 { 219 + compatible = "smsc,lan9221", "smsc,lan9115"; 220 + reg = <2 0x0 0x100>; 221 + 222 + interrupts-extended = <&pm8058_gpio 7 IRQ_TYPE_EDGE_FALLING>, 223 + <&tlmm 29 IRQ_TYPE_EDGE_RISING>; 224 + reset-gpios = <&tlmm 30 GPIO_ACTIVE_LOW>; 225 + 226 + phy-mode = "mii"; 227 + reg-io-width = <2>; 228 + smsc,force-external-phy; 229 + smsc,irq-push-pull; 230 + 231 + /* SLOW chipselect config */ 232 + qcom,xmem-recovery-cycles = <0>; 233 + qcom,xmem-write-hold-cycles = <3>; 234 + qcom,xmem-write-delta-cycles = <31>; 235 + qcom,xmem-read-delta-cycles = <28>; 236 + qcom,xmem-write-wait-cycles = <9>; 237 + qcom,xmem-read-wait-cycles = <9>; 238 + }; 239 + };
-2
Documentation/devicetree/bindings/clock/idt,versaclock5.yaml
··· 126 126 - compatible 127 127 - reg 128 128 - '#clock-cells' 129 - - idt,shutdown 130 - - idt,output-enable-active 131 129 132 130 allOf: 133 131 - if:
-54
Documentation/devicetree/bindings/clock/mediatek,mt6795-sys-clock.yaml
··· 1 - # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 - %YAML 1.2 3 - --- 4 - $id: http://devicetree.org/schemas/clock/mediatek,mt6795-sys-clock.yaml# 5 - $schema: http://devicetree.org/meta-schemas/core.yaml# 6 - 7 - title: MediaTek System Clock Controller for MT6795 8 - 9 - maintainers: 10 - - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> 11 - - Chun-Jie Chen <chun-jie.chen@mediatek.com> 12 - 13 - description: 14 - The Mediatek system clock controller provides various clocks and system 15 - configuration like reset and bus protection on MT6795. 16 - 17 - properties: 18 - compatible: 19 - items: 20 - - enum: 21 - - mediatek,mt6795-apmixedsys 22 - - mediatek,mt6795-infracfg 23 - - mediatek,mt6795-pericfg 24 - - mediatek,mt6795-topckgen 25 - - const: syscon 26 - 27 - reg: 28 - maxItems: 1 29 - 30 - '#clock-cells': 31 - const: 1 32 - 33 - '#reset-cells': 34 - const: 1 35 - 36 - required: 37 - - compatible 38 - - reg 39 - - '#clock-cells' 40 - 41 - additionalProperties: false 42 - 43 - examples: 44 - - | 45 - soc { 46 - #address-cells = <2>; 47 - #size-cells = <2>; 48 - 49 - topckgen: clock-controller@10000000 { 50 - compatible = "mediatek,mt6795-topckgen", "syscon"; 51 - reg = <0 0x10000000 0 0x1000>; 52 - #clock-cells = <1>; 53 - }; 54 - };
+1 -1
Documentation/devicetree/bindings/cpu/idle-states.yaml
··· 385 385 386 386 This property is required in idle state nodes of device tree meant 387 387 for RISC-V systems. For more details on the suspend_type parameter 388 - refer the SBI specifiation v0.3 (or higher) [7]. 388 + refer the SBI specification v0.3 (or higher) [7]. 389 389 390 390 local-timer-stop: 391 391 description:
-37
Documentation/devicetree/bindings/cpu/nvidia,tegra186-ccplex-cluster.yaml
··· 1 - # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 - %YAML 1.2 3 - --- 4 - $id: http://devicetree.org/schemas/cpu/nvidia,tegra186-ccplex-cluster.yaml# 5 - $schema: http://devicetree.org/meta-schemas/core.yaml# 6 - 7 - title: NVIDIA Tegra186 CCPLEX Cluster 8 - 9 - maintainers: 10 - - Thierry Reding <thierry.reding@gmail.com> 11 - - Jon Hunter <jonathanh@nvidia.com> 12 - 13 - properties: 14 - compatible: 15 - const: nvidia,tegra186-ccplex-cluster 16 - 17 - reg: 18 - maxItems: 1 19 - 20 - nvidia,bpmp: 21 - description: phandle to the BPMP used to query CPU frequency tables 22 - $ref: /schemas/types.yaml#/definitions/phandle 23 - 24 - additionalProperties: false 25 - 26 - required: 27 - - compatible 28 - - reg 29 - - nvidia,bpmp 30 - 31 - examples: 32 - - | 33 - ccplex@e000000 { 34 - compatible = "nvidia,tegra186-ccplex-cluster"; 35 - reg = <0x0e000000 0x400000>; 36 - nvidia,bpmp = <&bpmp>; 37 - };
+20
Documentation/devicetree/bindings/display/fsl,lcdif.yaml
··· 50 50 - const: disp_axi 51 51 minItems: 1 52 52 53 + dmas: 54 + items: 55 + - description: DMA specifier for the RX DMA channel. 56 + 57 + dma-names: 58 + items: 59 + - const: rx 60 + 53 61 interrupts: 54 62 items: 55 63 - description: LCDIF DMA interrupt ··· 163 155 properties: 164 156 interrupts: 165 157 maxItems: 1 158 + 159 + - if: 160 + not: 161 + properties: 162 + compatible: 163 + contains: 164 + enum: 165 + - fsl,imx28-lcdif 166 + then: 167 + properties: 168 + dmas: false 169 + dma-names: false 166 170 167 171 examples: 168 172 - |
+1 -1
Documentation/devicetree/bindings/display/lvds.yaml
··· 16 16 description: 17 17 This binding extends the data mapping defined in lvds-data-mapping.yaml. 18 18 It supports reversing the bit order on the formats defined there in order 19 - to accomodate for even more specialized data formats, since a variety of 19 + to accommodate for even more specialized data formats, since a variety of 20 20 data formats and layouts is used to drive LVDS displays. 21 21 22 22 properties:
+1 -5
Documentation/devicetree/bindings/display/panel/panel-simple-lvds-dual-ports.yaml
··· 84 84 - port@0 85 85 - port@1 86 86 87 - backlight: true 88 - enable-gpios: true 89 - power-supply: true 90 - 91 - additionalProperties: false 87 + unevaluatedProperties: false 92 88 93 89 required: 94 90 - compatible
+49
Documentation/devicetree/bindings/dma/nxp,lpc3220-dmamux.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/dma/nxp,lpc3220-dmamux.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: DMA multiplexer for LPC32XX SoC (DMA request router) 8 + 9 + maintainers: 10 + - J.M.B. Downing <jonathan.downing@nautel.com> 11 + - Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com> 12 + 13 + allOf: 14 + - $ref: dma-router.yaml# 15 + 16 + properties: 17 + compatible: 18 + const: nxp,lpc3220-dmamux 19 + 20 + reg: 21 + maxItems: 1 22 + 23 + dma-masters: 24 + description: phandle to a dma node compatible with arm,pl080 25 + maxItems: 1 26 + 27 + "#dma-cells": 28 + const: 3 29 + description: | 30 + First two cells same as for device pointed in dma-masters. 31 + Third cell represents mux value for the request. 32 + 33 + required: 34 + - compatible 35 + - reg 36 + - dma-masters 37 + 38 + additionalProperties: false 39 + 40 + examples: 41 + - | 42 + dma-router@7c { 43 + compatible = "nxp,lpc3220-dmamux"; 44 + reg = <0x7c 0x8>; 45 + dma-masters = <&dma>; 46 + #dma-cells = <3>; 47 + }; 48 + 49 + ...
+1 -1
Documentation/devicetree/bindings/dma/ti-dma-crossbar.txt
··· 20 20 memcpy channels in eDMA. 21 21 22 22 Notes: 23 - When requesting channel via ti,dra7-dma-crossbar, the DMA clinet must request 23 + When requesting channel via ti,dra7-dma-crossbar, the DMA client must request 24 24 the DMA event number as crossbar ID (input to the DMA crossbar). 25 25 26 26 For ti,am335x-edma-crossbar: the meaning of parameters of dmas for clients:
+1
Documentation/devicetree/bindings/gnss/brcm,bcm4751.yaml
··· 18 18 19 19 allOf: 20 20 - $ref: gnss-common.yaml# 21 + - $ref: /schemas/serial/serial-peripheral-props.yaml# 21 22 22 23 properties: 23 24 compatible:
-5
Documentation/devicetree/bindings/gnss/gnss-common.yaml
··· 35 35 GPIO line, this is used. 36 36 maxItems: 1 37 37 38 - current-speed: 39 - description: The baudrate in bits per second of the device as it comes 40 - online, current active speed. 41 - $ref: /schemas/types.yaml#/definitions/uint32 42 - 43 38 additionalProperties: true 44 39 45 40 examples:
+1
Documentation/devicetree/bindings/gnss/mediatek.yaml
··· 15 15 16 16 allOf: 17 17 - $ref: gnss-common.yaml# 18 + - $ref: /schemas/serial/serial-peripheral-props.yaml# 18 19 19 20 properties: 20 21 compatible:
+1
Documentation/devicetree/bindings/gnss/sirfstar.yaml
··· 21 21 22 22 allOf: 23 23 - $ref: gnss-common.yaml# 24 + - $ref: /schemas/serial/serial-peripheral-props.yaml# 24 25 25 26 properties: 26 27 compatible:
+1
Documentation/devicetree/bindings/gnss/u-blox,neo-6m.yaml
··· 8 8 9 9 allOf: 10 10 - $ref: gnss-common.yaml# 11 + - $ref: /schemas/serial/serial-peripheral-props.yaml# 11 12 12 13 maintainers: 13 14 - Johan Hovold <johan@kernel.org>
+1 -1
Documentation/devicetree/bindings/iio/accel/lis302.txt
··· 36 36 - st,irq{1,2}-disable: disable IRQ 1/2 37 37 - st,irq{1,2}-ff-wu-1: raise IRQ 1/2 on FF_WU_1 condition 38 38 - st,irq{1,2}-ff-wu-2: raise IRQ 1/2 on FF_WU_2 condition 39 - - st,irq{1,2}-data-ready: raise IRQ 1/2 on data ready contition 39 + - st,irq{1,2}-data-ready: raise IRQ 1/2 on data ready condition 40 40 - st,irq{1,2}-click: raise IRQ 1/2 on click condition 41 41 - st,irq-open-drain: consider IRQ lines open-drain 42 42 - st,irq-active-low: make IRQ lines active low
+148
Documentation/devicetree/bindings/incomplete-devices.yaml
··· 35 35 36 36 - description: Legacy compatibles used on Macintosh devices 37 37 enum: 38 + - AAPL,3500 39 + - AAPL,7500 40 + - AAPL,8500 41 + - AAPL,9500 42 + - AAPL,accelerometer_1 43 + - AAPL,e411 44 + - AAPL,Gossamer 45 + - AAPL,PowerBook1998 46 + - AAPL,ShinerESB 38 47 - adm1030 48 + - amd-0137 49 + - B5221 39 50 - bmac+ 51 + - burgundy 52 + - cobalt 53 + - cy28508 54 + - daca 55 + - fcu 56 + - gatwick 57 + - gmac 58 + - heathrow 59 + - heathrow-ata 40 60 - heathrow-media-bay 61 + - i2sbus 62 + - i2s-modem 63 + - iMac 64 + - K2-GMAC 65 + - k2-i2c 66 + - K2-Keylargo 67 + - K2-UATA 68 + - kauai-ata 69 + - Keylargo 70 + - keylargo-ata 41 71 - keylargo-media-bay 42 72 - lm87cimt 43 73 - MAC,adm1030 44 74 - MAC,ds1775 75 + - MacRISC 76 + - MacRISC2 77 + - MacRISC3 78 + - MacRISC4 45 79 - max6690 80 + - ohare 46 81 - ohare-media-bay 47 82 - ohare-swim3 83 + - PowerBook1,1 84 + - PowerBook2,1 85 + - PowerBook2,2 86 + - PowerBook3,1 87 + - PowerBook3,2 88 + - PowerBook3,3 89 + - PowerBook3,4 90 + - PowerBook3,5 91 + - PowerBook4,1 92 + - PowerBook4,2 93 + - PowerBook4,3 94 + - PowerBook5,1 95 + - PowerBook5,2 96 + - PowerBook5,3 97 + - PowerBook5,4 98 + - PowerBook5,5 99 + - PowerBook5,6 100 + - PowerBook5,7 101 + - PowerBook5,8 102 + - PowerBook5,9 103 + - PowerBook6,3 104 + - PowerBook6,5 105 + - PowerBook6,7 106 + - PowerMac10,1 107 + - PowerMac10,2 108 + - PowerMac1,1 109 + - PowerMac11,2 110 + - PowerMac12,1 111 + - PowerMac2,1 112 + - PowerMac2,2 113 + - PowerMac3,1 114 + - PowerMac3,4 115 + - PowerMac3,5 116 + - PowerMac3,6 117 + - PowerMac4,1 118 + - PowerMac4,2 119 + - PowerMac4,4 120 + - PowerMac4,5 121 + - PowerMac7,2 122 + - PowerMac7,3 123 + - PowerMac8,1 124 + - PowerMac8,2 125 + - PowerMac9,1 126 + - paddington 127 + - RackMac1,1 128 + - RackMac1,2 129 + - RackMac3,1 130 + - screamer 131 + - shasta-ata 132 + - sms 133 + - smu-rpm-fans 48 134 - smu-sat 135 + - smu-sensors 136 + - snapper 49 137 - swim3 138 + - tumbler 139 + - u3-agp 140 + - u3-dart 141 + - u3-ht 142 + - u4-dart 143 + - u4-pcie 144 + - U4-pcie 145 + - uni-n-i2c 146 + - uni-north 50 147 51 148 - description: Legacy compatibles used on other PowerPC devices 52 149 enum: 150 + - 1682m-gizmo 151 + - 1682m-gpio 53 152 - 1682m-rng 153 + - 1682m-sdc 154 + - amcc,ppc440epx-rng 155 + - amcc,ppc460ex-bcsr 156 + - amcc,ppc460ex-crypto 157 + - amcc,ppc460ex-rng 158 + - amcc,ppc460sx-crypto 159 + - amcc,ppc4xx-crypto 160 + - amcc,sata-460ex 161 + - CBEA,platform-open-pic 162 + - CBEA,platform-spider-pic 163 + - direct-mapped 164 + - display 165 + - gpio-mdio 166 + - hawk-bridge 167 + - hawk-pci 168 + - IBM,CBEA 54 169 - IBM,lhca 55 170 - IBM,lhea 56 171 - IBM,lhea-ethernet 172 + - ibm,axon-msic 173 + - Momentum,Apache 174 + - Momentum,Maple 175 + - mai-logic,articia-s 176 + - mpc10x-pci 57 177 - mpc5200b-fec-phy 58 178 - mpc5200-serial 59 179 - mpc5200-sram 180 + - nintendo,flipper 181 + - nintendo,flipper-exi 182 + - nintendo,flipper-pi 183 + - nintendo,flipper-pic 184 + - nintendo,hollywood 185 + - nintendo,hollywood-pic 186 + - nintendo,latte-exi 187 + - nintendo,latte-srnprot 60 188 - ohci-be 61 189 - ohci-bigendian 62 190 - ohci-le 191 + - PA6T-1682M 192 + - pasemi,1682m-iob 193 + - pasemi,localbus 194 + - pasemi,localbus-nand 195 + - pasemi,nemo 196 + - pasemi,pwrficient 197 + - pasemi,pwrficient-rng 198 + - pasemi,rootbus 199 + - pasemi,sdc 200 + - soc 201 + - sony,ps3 202 + - sti,platform-spider-pic 63 203 64 204 - description: Legacy compatibles used on SPARC devices 65 205 enum: 66 206 - bq4802 67 207 - ds1287 208 + - i2cpcf,8584 68 209 - isa-m5819p 69 210 - isa-m5823p 70 211 - m5819 212 + - qcn 71 213 - sab82532 214 + - su 215 + - sun4v 72 216 - SUNW,bbc-beep 73 217 - SUNW,bbc-i2c 74 218 - SUNW,CS4231 ··· 240 96 - compat1 241 97 - compat2 242 98 - compat3 99 + - gpio-mockup 100 + - gpio-simulator 101 + - gpio-virtuser 243 102 - linux,spi-loopback-test 244 103 - mailbox-test 245 104 - regulator-virtual-consumer 105 + - test-device 246 106 247 107 - description: 248 108 Devices on MIPS platform, without any DTS users. These are
+1
Documentation/devicetree/bindings/input/qcom,pm8xxx-vib.yaml
··· 19 19 - qcom,pmi632-vib 20 20 - items: 21 21 - enum: 22 + - qcom,pm6150-vib 22 23 - qcom,pm7250b-vib 23 24 - qcom,pm7325b-vib 24 25 - qcom,pm7550ba-vib
+1 -1
Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.yaml
··· 60 60 The 4th cell is a phandle to a node describing a set of CPUs this 61 61 interrupt is affine to. The interrupt must be a PPI, and the node 62 62 pointed must be a subnode of the "ppi-partitions" subnode. For 63 - interrupt types other than PPI or PPIs that are not partitionned, 63 + interrupt types other than PPI or PPIs that are not partitioned, 64 64 this cell must be zero. See the "ppi-partitions" node description 65 65 below. 66 66
-23
Documentation/devicetree/bindings/interrupt-controller/aspeed,ast2400-vic.txt
··· 1 - Aspeed Vectored Interrupt Controller 2 - 3 - These bindings are for the Aspeed interrupt controller. The AST2400 and 4 - AST2500 SoC families include a legacy register layout before a re-designed 5 - layout, but the bindings do not prescribe the use of one or the other. 6 - 7 - Required properties: 8 - 9 - - compatible : "aspeed,ast2400-vic" 10 - "aspeed,ast2500-vic" 11 - 12 - - interrupt-controller : Identifies the node as an interrupt controller 13 - - #interrupt-cells : Specifies the number of cells needed to encode an 14 - interrupt source. The value shall be 1. 15 - 16 - Example: 17 - 18 - vic: interrupt-controller@1e6c0080 { 19 - compatible = "aspeed,ast2400-vic"; 20 - interrupt-controller; 21 - #interrupt-cells = <1>; 22 - reg = <0x1e6c0080 0x80>; 23 - };
+62
Documentation/devicetree/bindings/interrupt-controller/aspeed,ast2400-vic.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/interrupt-controller/aspeed,ast2400-vic.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Aspeed Vectored Interrupt Controller 8 + 9 + maintainers: 10 + - Andrew Jeffery <andrew@codeconstruct.com.au> 11 + 12 + description: 13 + The AST2400 and AST2500 SoC families include a legacy register layout before 14 + a redesigned layout, but the bindings do not prescribe the use of one or the 15 + other. 16 + 17 + properties: 18 + compatible: 19 + enum: 20 + - aspeed,ast2400-vic 21 + - aspeed,ast2500-vic 22 + 23 + reg: 24 + maxItems: 1 25 + 26 + interrupt-controller: true 27 + 28 + "#interrupt-cells": 29 + const: 1 30 + description: 31 + Specifies the number of cells needed to encode an interrupt source. It 32 + must be 1 as the VIC has no configuration options for interrupt sources. 33 + The single cell defines the interrupt number. 34 + 35 + valid-sources: 36 + $ref: /schemas/types.yaml#/definitions/uint32-array 37 + maxItems: 2 38 + description: 39 + A bitmap of supported sources for the implementation. 40 + 41 + required: 42 + - compatible 43 + - reg 44 + - interrupt-controller 45 + - "#interrupt-cells" 46 + 47 + allOf: 48 + - $ref: /schemas/interrupt-controller.yaml 49 + 50 + additionalProperties: false 51 + 52 + examples: 53 + - | 54 + interrupt-controller@1e6c0080 { 55 + compatible = "aspeed,ast2400-vic"; 56 + reg = <0x1e6c0080 0x80>; 57 + interrupt-controller; 58 + #interrupt-cells = <1>; 59 + valid-sources = <0xffffffff 0x0007ffff>; 60 + }; 61 + 62 + ...
+2
Documentation/devicetree/bindings/interrupt-controller/fsl,irqsteer.yaml
··· 17 17 - enum: 18 18 - fsl,imx8m-irqsteer 19 19 - fsl,imx8mp-irqsteer 20 + - fsl,imx8qm-irqsteer 20 21 - fsl,imx8qxp-irqsteer 21 22 - const: fsl,imx-irqsteer 22 23 ··· 84 83 contains: 85 84 enum: 86 85 - fsl,imx8mp-irqsteer 86 + - fsl,imx8qm-irqsteer 87 87 - fsl,imx8qxp-irqsteer 88 88 then: 89 89 required:
+1
Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml
··· 27 27 items: 28 28 - enum: 29 29 - qcom,qdu1000-pdc 30 + - qcom,sa8255p-pdc 30 31 - qcom,sa8775p-pdc 31 32 - qcom,sc7180-pdc 32 33 - qcom,sc7280-pdc
+1 -1
Documentation/devicetree/bindings/leds/awinic,aw200xx.yaml
··· 66 66 IMAXled = 160000 * (592 / 600.5) * (1 / max-current-switch-number) 67 67 And the minimum output current formula: 68 68 IMINled = 3300 * (592 / 600.5) * (1 / max-current-switch-number) 69 - where max-current-switch-number is determinated by led configuration 69 + where max-current-switch-number is determined by led configuration 70 70 and depends on how leds are physically connected to the led driver. 71 71 72 72 allOf:
+1 -1
Documentation/devicetree/bindings/mailbox/brcm,iproc-flexrm-mbox.txt
··· 24 24 number of completion messages for which FlexRM will inject 25 25 one MSI interrupt to CPU. 26 26 27 - The 3nd cell contains MSI timer value representing time for 27 + The 3rd cell contains MSI timer value representing time for 28 28 which FlexRM will wait to accumulate N completion messages 29 29 where N is the value specified by 2nd cell above. If FlexRM 30 30 does not get required number of completion messages in time
+1 -1
Documentation/devicetree/bindings/media/i2c/thine,thp7312.yaml
··· 16 16 can be connected to CMOS image sensors from various vendors, supporting both 17 17 MIPI CSI-2 and parallel interfaces. It can also output on either MIPI CSI-2 18 18 or parallel. The hardware is capable of transmitting and receiving MIPI 19 - interlaved data strams with data types or multiple virtual channel 19 + interleaved data streams with data types or multiple virtual channel 20 20 identifiers. 21 21 22 22 allOf:
+1 -1
Documentation/devicetree/bindings/media/samsung,exynos4210-fimc.yaml
··· 77 77 $ref: /schemas/types.yaml#/definitions/uint32-array 78 78 maxItems: 2 79 79 description: | 80 - An array specyfing minimum image size in pixels at the FIMC input and 80 + An array specifying minimum image size in pixels at the FIMC input and 81 81 output DMA, in the first and second cell respectively. Default value 82 82 is <16 16>. 83 83
+1 -1
Documentation/devicetree/bindings/mfd/rohm,bd96801-pmic.yaml
··· 25 25 description: 26 26 The PMIC provides intb and errb IRQ lines. The errb IRQ line is used 27 27 for fatal IRQs which will cause the PMIC to shut down power outputs. 28 - In many systems this will shut down the SoC contolling the PMIC and 28 + In many systems this will shut down the SoC controlling the PMIC and 29 29 connecting/handling the errb can be omitted. However, there are cases 30 30 where the SoC is not powered by the PMIC or has a short time backup 31 31 energy to handle shutdown of critical hardware. In that case it may be
+1 -1
Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml
··· 53 53 samsung,s2mps11-wrstbi-ground: 54 54 description: | 55 55 Indicates that WRSTBI pin of PMIC is pulled down. When the system is 56 - suspended it will always go down thus triggerring unwanted buck warm 56 + suspended it will always go down thus triggering unwanted buck warm 57 57 reset (setting buck voltages to default values). 58 58 type: boolean 59 59
+1 -1
Documentation/devicetree/bindings/mfd/twl6040.txt
··· 2 2 3 3 The TWL6040s are 8-channel high quality low-power audio codecs providing audio, 4 4 vibra and GPO functionality on OMAP4+ platforms. 5 - They are connected ot the host processor via i2c for commands, McPDM for audio 5 + They are connected to the host processor via i2c for commands, McPDM for audio 6 6 data and commands. 7 7 8 8 Required properties:
+60
Documentation/devicetree/bindings/misc/aspeed,ast2400-cvic.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/misc/aspeed,ast2400-cvic.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Aspeed Coprocessor Vectored Interrupt Controller 8 + 9 + maintainers: 10 + - Andrew Jeffery <andrew@codeconstruct.com.au> 11 + 12 + description: 13 + The Aspeed AST2400 and AST2500 SoCs have a controller that provides interrupts 14 + to the ColdFire coprocessor. It's not a normal interrupt controller and it 15 + would be rather inconvenient to create an interrupt tree for it, as it 16 + somewhat shares some of the same sources as the main ARM interrupt controller 17 + but with different numbers. 18 + 19 + The AST2500 also supports a software generated interrupt. 20 + 21 + properties: 22 + compatible: 23 + items: 24 + - enum: 25 + - aspeed,ast2400-cvic 26 + - aspeed,ast2500-cvic 27 + - const: aspeed,cvic 28 + 29 + reg: 30 + maxItems: 1 31 + 32 + valid-sources: 33 + $ref: /schemas/types.yaml#/definitions/uint32-array 34 + maxItems: 1 35 + description: 36 + A bitmap of supported sources for the implementation. 37 + 38 + copro-sw-interrupts: 39 + $ref: /schemas/types.yaml#/definitions/uint32-array 40 + minItems: 1 41 + maxItems: 32 42 + description: 43 + A list of interrupt numbers that can be used as software interrupts from 44 + the ARM to the coprocessor. 45 + 46 + required: 47 + - compatible 48 + - reg 49 + - valid-sources 50 + 51 + additionalProperties: false 52 + 53 + examples: 54 + - | 55 + interrupt-controller@1e6c2000 { 56 + compatible = "aspeed,ast2500-cvic", "aspeed,cvic"; 57 + reg = <0x1e6c2000 0x80>; 58 + valid-sources = <0xffffffff>; 59 + copro-sw-interrupts = <1>; 60 + };
-35
Documentation/devicetree/bindings/misc/aspeed,cvic.txt
··· 1 - * ASPEED AST2400 and AST2500 coprocessor interrupt controller 2 - 3 - This file describes the bindings for the interrupt controller present 4 - in the AST2400 and AST2500 BMC SoCs which provides interrupt to the 5 - ColdFire coprocessor. 6 - 7 - It is not a normal interrupt controller and it would be rather 8 - inconvenient to create an interrupt tree for it as it somewhat shares 9 - some of the same sources as the main ARM interrupt controller but with 10 - different numbers. 11 - 12 - The AST2500 supports a SW generated interrupt 13 - 14 - Required properties: 15 - - reg: address and length of the register for the device. 16 - - compatible: "aspeed,cvic" and one of: 17 - "aspeed,ast2400-cvic" 18 - or 19 - "aspeed,ast2500-cvic" 20 - 21 - - valid-sources: One cell, bitmap of supported sources for the implementation 22 - 23 - Optional properties; 24 - - copro-sw-interrupts: List of interrupt numbers that can be used as 25 - SW interrupts from the ARM to the coprocessor. 26 - (AST2500 only) 27 - 28 - Example: 29 - 30 - cvic: copro-interrupt-controller@1e6c2000 { 31 - compatible = "aspeed,ast2500-cvic"; 32 - valid-sources = <0xffffffff>; 33 - copro-sw-interrupts = <1>; 34 - reg = <0x1e6c2000 0x80>; 35 - };
+3 -3
Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml
··· 72 72 description: VDD_RFA_CMN supply regulator handle 73 73 74 74 vddrfa0p8-supply: 75 - description: VDD_RFA_0P8 suppply regulator handle 75 + description: VDD_RFA_0P8 supply regulator handle 76 76 77 77 vddrfa1p7-supply: 78 78 description: VDD_RFA_1P7 supply regulator handle ··· 98 98 vddwlmx-supply: 99 99 description: VDD_WLMX supply regulator handle 100 100 101 - max-speed: 102 - description: see Documentation/devicetree/bindings/serial/serial.yaml 101 + max-speed: true 103 102 104 103 firmware-name: 105 104 description: specify the name of nvm firmware to load ··· 117 118 118 119 allOf: 119 120 - $ref: bluetooth-controller.yaml# 121 + - $ref: /schemas/serial/serial-peripheral-props.yaml# 120 122 - if: 121 123 properties: 122 124 compatible:
+16 -17
Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml Documentation/devicetree/bindings/net/bluetooth/brcm,bluetooth.yaml
··· 1 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 2 %YAML 1.2 3 3 --- 4 - $id: http://devicetree.org/schemas/net/broadcom-bluetooth.yaml# 4 + $id: http://devicetree.org/schemas/net/bluetooth/brcm,bluetooth.yaml# 5 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 7 title: Broadcom Bluetooth Chips ··· 119 119 items: 120 120 - const: host-wakeup 121 121 122 - max-speed: true 123 - current-speed: true 124 - 125 122 required: 126 123 - compatible 127 124 128 125 dependencies: 129 126 brcm,requires-autobaud-mode: [ shutdown-gpios ] 130 127 131 - if: 132 - not: 133 - properties: 134 - compatible: 135 - contains: 136 - enum: 137 - - brcm,bcm20702a1 138 - - brcm,bcm4329-bt 139 - - brcm,bcm4330-bt 140 - then: 141 - properties: 142 - reset-gpios: false 128 + allOf: 129 + - $ref: /schemas/serial/serial-peripheral-props.yaml# 130 + - if: 131 + not: 132 + properties: 133 + compatible: 134 + contains: 135 + enum: 136 + - brcm,bcm20702a1 137 + - brcm,bcm4329-bt 138 + - brcm,bcm4330-bt 139 + then: 140 + properties: 141 + reset-gpios: false 143 142 144 - additionalProperties: false 143 + unevaluatedProperties: false 145 144 146 145 examples: 147 146 - |
+59
Documentation/devicetree/bindings/net/fsl,cpm-enet.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/net/fsl,cpm-enet.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Network for cpm enet 8 + 9 + maintainers: 10 + - Frank Li <Frank.Li@nxp.com> 11 + 12 + properties: 13 + compatible: 14 + oneOf: 15 + - enum: 16 + - fsl,cpm1-scc-enet 17 + - fsl,cpm2-scc-enet 18 + - fsl,cpm1-fec-enet 19 + - fsl,cpm2-fcc-enet 20 + - fsl,qe-enet 21 + - items: 22 + - enum: 23 + - fsl,mpc8272-fcc-enet 24 + - const: fsl,cpm2-fcc-enet 25 + 26 + reg: 27 + minItems: 1 28 + maxItems: 3 29 + 30 + interrupts: 31 + maxItems: 1 32 + 33 + fsl,cpm-command: 34 + $ref: /schemas/types.yaml#/definitions/uint32 35 + description: cpm command 36 + 37 + required: 38 + - compatible 39 + - reg 40 + - interrupts 41 + 42 + allOf: 43 + - $ref: ethernet-controller.yaml 44 + 45 + unevaluatedProperties: false 46 + 47 + examples: 48 + - | 49 + ethernet@11300 { 50 + compatible = "fsl,mpc8272-fcc-enet", 51 + "fsl,cpm2-fcc-enet"; 52 + reg = <0x11300 0x20 0x8400 0x100 0x11390 1>; 53 + local-mac-address = [ 00 00 00 00 00 00 ]; 54 + interrupts = <20 8>; 55 + interrupt-parent = <&pic>; 56 + phy-handle = <&phy0>; 57 + fsl,cpm-command = <0x12000300>; 58 + }; 59 +
+55
Documentation/devicetree/bindings/net/fsl,cpm-mdio.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/net/fsl,cpm-mdio.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Freescale CPM MDIO Device 8 + 9 + maintainers: 10 + - Frank Li <Frank.Li@nxp.com> 11 + 12 + properties: 13 + compatible: 14 + oneOf: 15 + - enum: 16 + - fsl,pq1-fec-mdio 17 + - fsl,cpm2-mdio-bitbang 18 + - items: 19 + - const: fsl,mpc8272ads-mdio-bitbang 20 + - const: fsl,mpc8272-mdio-bitbang 21 + - const: fsl,cpm2-mdio-bitbang 22 + 23 + reg: 24 + maxItems: 1 25 + 26 + fsl,mdio-pin: 27 + $ref: /schemas/types.yaml#/definitions/uint32 28 + description: pin of port C controlling mdio data 29 + 30 + fsl,mdc-pin: 31 + $ref: /schemas/types.yaml#/definitions/uint32 32 + description: pin of port C controlling mdio clock 33 + 34 + required: 35 + - compatible 36 + - reg 37 + 38 + allOf: 39 + - $ref: mdio.yaml# 40 + 41 + unevaluatedProperties: false 42 + 43 + examples: 44 + - | 45 + mdio@10d40 { 46 + compatible = "fsl,mpc8272ads-mdio-bitbang", 47 + "fsl,mpc8272-mdio-bitbang", 48 + "fsl,cpm2-mdio-bitbang"; 49 + reg = <0x10d40 0x14>; 50 + #address-cells = <1>; 51 + #size-cells = <0>; 52 + fsl,mdio-pin = <12>; 53 + fsl,mdc-pin = <13>; 54 + }; 55 +
+3 -3
Documentation/devicetree/bindings/net/marvell-bluetooth.yaml Documentation/devicetree/bindings/net/bluetooth/marvell,88w8897.yaml
··· 1 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 2 %YAML 1.2 3 3 --- 4 - $id: http://devicetree.org/schemas/net/marvell-bluetooth.yaml# 4 + $id: http://devicetree.org/schemas/net/bluetooth/marvell,88w8897.yaml# 5 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 7 title: Marvell Bluetooth chips ··· 19 19 - mrvl,88w8897 20 20 - mrvl,88w8997 21 21 22 - max-speed: 23 - description: see Documentation/devicetree/bindings/serial/serial.yaml 22 + max-speed: true 24 23 25 24 required: 26 25 - compatible 27 26 28 27 allOf: 28 + - $ref: /schemas/serial/serial-peripheral-props.yaml# 29 29 - if: 30 30 properties: 31 31 compatible:
-13
Documentation/devicetree/bindings/net/maxim,ds26522.txt
··· 1 - * Maxim (Dallas) DS26522 Dual T1/E1/J1 Transceiver 2 - 3 - Required properties: 4 - - compatible: Should contain "maxim,ds26522". 5 - - reg: SPI CS. 6 - - spi-max-frequency: SPI clock. 7 - 8 - Example: 9 - slic@1 { 10 - compatible = "maxim,ds26522"; 11 - reg = <1>; 12 - spi-max-frequency = <2000000>; /* input clock */ 13 - };
+40
Documentation/devicetree/bindings/net/maxim,ds26522.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/net/maxim,ds26522.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Maxim (Dallas) DS26522 Dual T1/E1/J1 Transceiver 8 + 9 + maintainers: 10 + - Frank Li <Frank.Li@nxp.com> 11 + 12 + properties: 13 + compatible: 14 + items: 15 + - const: maxim,ds26522 16 + 17 + reg: 18 + maxItems: 1 19 + 20 + required: 21 + - compatible 22 + - reg 23 + 24 + allOf: 25 + - $ref: /schemas/spi/spi-peripheral-props.yaml 26 + 27 + unevaluatedProperties: false 28 + 29 + examples: 30 + - | 31 + spi { 32 + #address-cells = <1>; 33 + #size-cells = <0>; 34 + 35 + transceiver@1 { 36 + compatible = "maxim,ds26522"; 37 + reg = <1>; 38 + spi-max-frequency = <2000000>; /* input clock */ 39 + }; 40 + };
Documentation/devicetree/bindings/net/mediatek-bluetooth.txt Documentation/devicetree/bindings/net/bluetooth/mediatek,bluetooth.txt
Documentation/devicetree/bindings/net/nokia-bluetooth.txt Documentation/devicetree/bindings/net/bluetooth/nokia,h4p-bluetooth.txt
+4 -1
Documentation/devicetree/bindings/net/realtek-bluetooth.yaml Documentation/devicetree/bindings/net/bluetooth/realtek,bluetooth.yaml
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 %YAML 1.2 3 3 --- 4 - $id: http://devicetree.org/schemas/net/realtek-bluetooth.yaml# 4 + $id: http://devicetree.org/schemas/net/bluetooth/realtek,bluetooth.yaml# 5 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 7 title: RTL8723BS/RTL8723CS/RTL8821CS/RTL8822CS Bluetooth ··· 45 45 46 46 required: 47 47 - compatible 48 + 49 + allOf: 50 + - $ref: /schemas/serial/serial-peripheral-props.yaml# 48 51 49 52 additionalProperties: false 50 53
+4 -1
Documentation/devicetree/bindings/net/ti,bluetooth.yaml Documentation/devicetree/bindings/net/bluetooth/ti,bluetooth.yaml
··· 1 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 2 %YAML 1.2 3 3 --- 4 - $id: http://devicetree.org/schemas/net/ti,bluetooth.yaml# 4 + $id: http://devicetree.org/schemas/net/bluetooth/ti,bluetooth.yaml# 5 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 7 title: Texas Instruments Bluetooth Chips ··· 73 73 74 74 required: 75 75 - compatible 76 + 77 + allOf: 78 + - $ref: /schemas/serial/serial-peripheral-props.yaml# 76 79 77 80 additionalProperties: false 78 81
+1 -1
Documentation/devicetree/bindings/phy/apm-xgene-phy.txt
··· 36 36 3-tuple setting for each (up to 3) supported link 37 37 speed on the host. Range is 0 to 273000 in unit of 38 38 uV. Default is 0. 39 - - apm,tx-pre-cursor2 : 2st pre-cursor emphasis taps control. Two set of 39 + - apm,tx-pre-cursor2 : 2nd pre-cursor emphasis taps control. Two set of 40 40 3-tuple setting for each (up to 3) supported link 41 41 speed on the host. Range is 0 to 127400 in unit uV. 42 42 Default is 0x0.
+1 -1
Documentation/devicetree/bindings/phy/mediatek,mt7988-xfi-tphy.yaml
··· 41 41 description: 42 42 One instance of the T-PHY on MT7988 suffers from a performance 43 43 problem in 10GBase-R mode which needs a work-around in the driver. 44 - This flag enables a work-around ajusting an analog phy setting and 44 + This flag enables a work-around adjusting an analog phy setting and 45 45 is required for XFI Port0 of the MT7988 SoC to be in compliance with 46 46 the SFP specification. 47 47
+1 -1
Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
··· 240 240 The force mode is used to manually switch the shared phy mode between 241 241 USB3 and PCIe, when USB3 phy type is selected by the consumer, and 242 242 force-mode is set, will cause phy's power and pipe toggled and force 243 - phy as USB3 mode which switched from default PCIe mode. But perfer to 243 + phy as USB3 mode which switched from default PCIe mode. But prefer to 244 244 use the property "mediatek,syscon-type" for newer SoCs that support it. 245 245 type: boolean 246 246
+1 -1
Documentation/devicetree/bindings/phy/qcom,snps-eusb2-repeater.yaml
··· 43 43 44 44 qcom,tune-usb2-amplitude: 45 45 $ref: /schemas/types.yaml#/definitions/uint8 46 - description: High-Speed trasmit amplitude 46 + description: High-Speed transmit amplitude 47 47 minimum: 0 48 48 maximum: 15 49 49 default: 8
+2 -2
Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml
··· 11 11 - Alexandre TORGUE <alexandre.torgue@foss.st.com> 12 12 13 13 description: | 14 - STMicroelectronics's STM32 MCUs intregrate a GPIO and Pin mux/config hardware 14 + STMicroelectronics's STM32 MCUs integrate a GPIO and Pin mux/config hardware 15 15 controller. It controls the input/output settings on the available pins and 16 16 also provides ability to multiplex and configure the output of various 17 17 on-chip controllers onto these pads. ··· 164 164 This macro is available here: 165 165 - include/dt-bindings/pinctrl/stm32-pinfunc.h 166 166 Some examples of using macro: 167 - /* GPIO A9 set as alernate function 2 */ 167 + /* GPIO A9 set as alternate function 2 */ 168 168 ... { 169 169 pinmux = <STM32_PINMUX('A', 9, AF2)>; 170 170 };
+1 -1
Documentation/devicetree/bindings/power/wakeup-source.txt
··· 26 26 3. "linux,wakeup" Documentation/devicetree/bindings/input/gpio-matrix-keypad.txt 27 27 Documentation/devicetree/bindings/mfd/tc3589x.txt 28 28 Documentation/devicetree/bindings/input/touchscreen/ads7846.txt 29 - 4. "linux,keypad-wakeup" Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt 29 + 4. "linux,keypad-wakeup" Documentation/devicetree/bindings/input/qcom,pm8921-keypad.yaml 30 30 5. "linux,input-wakeup" Documentation/devicetree/bindings/input/samsung,s3c6410-keypad.yaml 31 31 6. "nvidia,wakeup-source" Documentation/devicetree/bindings/input/nvidia,tegra20-kbc.txt 32 32
+1 -1
Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
··· 93 93 Each SCP core has own cache memory. The SRAM and L1TCM are shared by 94 94 cores. The power of cache, SRAM and L1TCM power should be enabled 95 95 before booting SCP cores. The size of cache, SRAM, and L1TCM are varied 96 - on differnt SoCs. 96 + on different SoCs. 97 97 98 98 The SCP cores do not use an MMU, but has a set of registers to 99 99 control the translations between 32-bit CPU addresses into system bus
+1 -1
Documentation/devicetree/bindings/rtc/fsl,ls-ftm-alarm.yaml
··· 42 42 minItems: 1 43 43 description: 44 44 phandle to rcpm node, Please refer 45 - Documentation/devicetree/bindings/soc/fsl/rcpm.txt 45 + Documentation/devicetree/bindings/soc/fsl/fsl,rcpm.yaml 46 46 47 47 big-endian: 48 48 $ref: /schemas/types.yaml#/definitions/flag
+1 -1
Documentation/devicetree/bindings/serial/nvidia,tegra20-hsuart.yaml
··· 78 78 we use nvidia,adjust-baud-rates. 79 79 80 80 As an example, consider there is deviation observed in TX for baud rates as listed below. 0 81 - to 9600 has 1% deviation 9600 to 115200 2% deviation. This slight deviation is expcted and 81 + to 9600 has 1% deviation 9600 to 115200 2% deviation. This slight deviation is expected and 82 82 Tegra UART is expected to handle it. Due to the issue stated above, baud rate on Tegra UART 83 83 should be set equal to or above deviation observed for avoiding frame errors. Property 84 84 should be set like this:
+41
Documentation/devicetree/bindings/serial/serial-peripheral-props.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/serial/serial-peripheral-props.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Common Properties for Serial-attached Devices 8 + 9 + maintainers: 10 + - Rob Herring <robh@kernel.org> 11 + - Greg Kroah-Hartman <gregkh@linuxfoundation.org> 12 + 13 + description: 14 + Devices connected over serial/UART, expressed as children of a serial 15 + controller, might need similar properties, e.g. for configuring the baud 16 + rate. 17 + 18 + properties: 19 + max-speed: 20 + $ref: /schemas/types.yaml#/definitions/uint32 21 + description: 22 + The maximum baud rate the device operates at. 23 + This should only be present if the maximum is less than the slave 24 + device can support. For example, a particular board has some 25 + signal quality issue or the host processor can't support higher 26 + baud rates. 27 + 28 + current-speed: 29 + $ref: /schemas/types.yaml#/definitions/uint32 30 + description: | 31 + The current baud rate the device operates at. 32 + This should only be present in case a driver has no chance to know 33 + the baud rate of the slave device. 34 + Examples: 35 + * device supports auto-baud 36 + * the rate is setup by a bootloader and there is no way to reset 37 + the device 38 + * device baud rate is configured by its firmware but there is no 39 + way to request the actual settings 40 + 41 + additionalProperties: true
+2 -22
Documentation/devicetree/bindings/serial/serial.yaml
··· 92 92 if: 93 93 type: object 94 94 then: 95 + additionalProperties: true 96 + $ref: serial-peripheral-props.yaml# 95 97 description: 96 98 Serial attached devices shall be a child node of the host UART device 97 99 the slave device is attached to. It is expected that the attached ··· 104 102 compatible: 105 103 description: 106 104 Compatible of the device connected to the serial port. 107 - 108 - max-speed: 109 - $ref: /schemas/types.yaml#/definitions/uint32 110 - description: 111 - The maximum baud rate the device operates at. 112 - This should only be present if the maximum is less than the slave 113 - device can support. For example, a particular board has some 114 - signal quality issue or the host processor can't support higher 115 - baud rates. 116 - 117 - current-speed: 118 - $ref: /schemas/types.yaml#/definitions/uint32 119 - description: | 120 - The current baud rate the device operates at. 121 - This should only be present in case a driver has no chance to know 122 - the baud rate of the slave device. 123 - Examples: 124 - * device supports auto-baud 125 - * the rate is setup by a bootloader and there is no way to reset 126 - the device 127 - * device baud rate is configured by its firmware but there is no 128 - way to request the actual settings 129 105 130 106 required: 131 107 - compatible
+140
Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,ucc-hdlc.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,ucc-hdlc.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: High-Level Data Link Control(HDLC) 8 + 9 + description: HDLC part in Universal communication controllers (UCCs) 10 + 11 + maintainers: 12 + - Frank Li <Frank.Li@nxp.com> 13 + 14 + properties: 15 + compatible: 16 + const: fsl,ucc-hdlc 17 + 18 + reg: 19 + maxItems: 1 20 + 21 + interrupts: 22 + maxItems: 1 23 + 24 + cell-index: 25 + $ref: /schemas/types.yaml#/definitions/uint32 26 + 27 + rx-clock-name: 28 + $ref: /schemas/types.yaml#/definitions/string 29 + oneOf: 30 + - pattern: "^brg([0-9]|1[0-6])$" 31 + - pattern: "^clk([0-9]|1[0-9]|2[0-4])$" 32 + 33 + tx-clock-name: 34 + $ref: /schemas/types.yaml#/definitions/string 35 + oneOf: 36 + - pattern: "^brg([0-9]|1[0-6])$" 37 + - pattern: "^clk([0-9]|1[0-9]|2[0-4])$" 38 + 39 + fsl,tdm-interface: 40 + $ref: /schemas/types.yaml#/definitions/flag 41 + description: Specify that hdlc is based on tdm-interface 42 + 43 + fsl,rx-sync-clock: 44 + $ref: /schemas/types.yaml#/definitions/string 45 + description: rx-sync 46 + enum: 47 + - none 48 + - rsync_pin 49 + - brg9 50 + - brg10 51 + - brg11 52 + - brg13 53 + - brg14 54 + - brg15 55 + 56 + fsl,tx-sync-clock: 57 + $ref: /schemas/types.yaml#/definitions/string 58 + description: tx-sync 59 + enum: 60 + - none 61 + - tsync_pin 62 + - brg9 63 + - brg10 64 + - brg11 65 + - brg13 66 + - brg14 67 + - brg15 68 + 69 + fsl,tdm-framer-type: 70 + $ref: /schemas/types.yaml#/definitions/string 71 + description: required for tdm interface 72 + enum: [e1, t1] 73 + 74 + fsl,tdm-id: 75 + $ref: /schemas/types.yaml#/definitions/uint32 76 + description: number of TDM ID 77 + 78 + fsl,tx-timeslot-mask: 79 + $ref: /schemas/types.yaml#/definitions/uint32 80 + description: 81 + required for tdm interface. 82 + time slot mask for TDM operation. Indicates which time 83 + slots used for transmitting and receiving. 84 + 85 + fsl,rx-timeslot-mask: 86 + $ref: /schemas/types.yaml#/definitions/uint32 87 + description: 88 + required for tdm interface. 89 + time slot mask for TDM operation. Indicates which time 90 + slots used for transmitting and receiving. 91 + 92 + fsl,siram-entry-id: 93 + $ref: /schemas/types.yaml#/definitions/uint32 94 + description: 95 + required for tdm interface 96 + Must be 0,2,4...64. the number of TDM entry. 97 + 98 + fsl,tdm-internal-loopback: 99 + $ref: /schemas/types.yaml#/definitions/flag 100 + description: 101 + optional for tdm interface 102 + Internal loopback connecting on TDM layer. 103 + 104 + fsl,hmask: 105 + $ref: /schemas/types.yaml#/definitions/uint16 106 + description: | 107 + HDLC address recognition. Set to zero to disable 108 + address filtering of packets: 109 + fsl,hmask = /bits/ 16 <0x0000>; 110 + 111 + required: 112 + - compatible 113 + - reg 114 + 115 + additionalProperties: false 116 + 117 + examples: 118 + - | 119 + communication@2000 { 120 + compatible = "fsl,ucc-hdlc"; 121 + reg = <0x2000 0x200>; 122 + rx-clock-name = "clk8"; 123 + tx-clock-name = "clk9"; 124 + fsl,rx-sync-clock = "rsync_pin"; 125 + fsl,tx-sync-clock = "tsync_pin"; 126 + fsl,tx-timeslot-mask = <0xfffffffe>; 127 + fsl,rx-timeslot-mask = <0xfffffffe>; 128 + fsl,tdm-framer-type = "e1"; 129 + fsl,tdm-id = <0>; 130 + fsl,siram-entry-id = <0>; 131 + fsl,tdm-interface; 132 + }; 133 + 134 + - | 135 + communication@2000 { 136 + compatible = "fsl,ucc-hdlc"; 137 + reg = <0x2000 0x200>; 138 + rx-clock-name = "brg1"; 139 + tx-clock-name = "brg1"; 140 + };
-130
Documentation/devicetree/bindings/soc/fsl/cpm_qe/network.txt
··· 1 - * Network 2 - 3 - Currently defined compatibles: 4 - - fsl,cpm1-scc-enet 5 - - fsl,cpm2-scc-enet 6 - - fsl,cpm1-fec-enet 7 - - fsl,cpm2-fcc-enet (third resource is GFEMR) 8 - - fsl,qe-enet 9 - 10 - Example: 11 - 12 - ethernet@11300 { 13 - compatible = "fsl,mpc8272-fcc-enet", 14 - "fsl,cpm2-fcc-enet"; 15 - reg = <11300 20 8400 100 11390 1>; 16 - local-mac-address = [ 00 00 00 00 00 00 ]; 17 - interrupts = <20 8>; 18 - interrupt-parent = <&PIC>; 19 - phy-handle = <&PHY0>; 20 - fsl,cpm-command = <12000300>; 21 - }; 22 - 23 - * MDIO 24 - 25 - Currently defined compatibles: 26 - fsl,pq1-fec-mdio (reg is same as first resource of FEC device) 27 - fsl,cpm2-mdio-bitbang (reg is port C registers) 28 - 29 - Properties for fsl,cpm2-mdio-bitbang: 30 - fsl,mdio-pin : pin of port C controlling mdio data 31 - fsl,mdc-pin : pin of port C controlling mdio clock 32 - 33 - Example: 34 - mdio@10d40 { 35 - compatible = "fsl,mpc8272ads-mdio-bitbang", 36 - "fsl,mpc8272-mdio-bitbang", 37 - "fsl,cpm2-mdio-bitbang"; 38 - reg = <10d40 14>; 39 - #address-cells = <1>; 40 - #size-cells = <0>; 41 - fsl,mdio-pin = <12>; 42 - fsl,mdc-pin = <13>; 43 - }; 44 - 45 - * HDLC 46 - 47 - Currently defined compatibles: 48 - - fsl,ucc-hdlc 49 - 50 - Properties for fsl,ucc-hdlc: 51 - - rx-clock-name 52 - - tx-clock-name 53 - Usage: required 54 - Value type: <string> 55 - Definition : Must be "brg1"-"brg16" for internal clock source, 56 - Must be "clk1"-"clk24" for external clock source. 57 - 58 - - fsl,tdm-interface 59 - Usage: optional 60 - Value type: <empty> 61 - Definition : Specify that hdlc is based on tdm-interface 62 - 63 - The property below is dependent on fsl,tdm-interface: 64 - - fsl,rx-sync-clock 65 - Usage: required 66 - Value type: <string> 67 - Definition : Must be "none", "rsync_pin", "brg9-11" and "brg13-15". 68 - 69 - - fsl,tx-sync-clock 70 - Usage: required 71 - Value type: <string> 72 - Definition : Must be "none", "tsync_pin", "brg9-11" and "brg13-15". 73 - 74 - - fsl,tdm-framer-type 75 - Usage: required for tdm interface 76 - Value type: <string> 77 - Definition : "e1" or "t1".Now e1 and t1 are used, other framer types 78 - are not supported. 79 - 80 - - fsl,tdm-id 81 - Usage: required for tdm interface 82 - Value type: <u32> 83 - Definition : number of TDM ID 84 - 85 - - fsl,tx-timeslot-mask 86 - - fsl,rx-timeslot-mask 87 - Usage: required for tdm interface 88 - Value type: <u32> 89 - Definition : time slot mask for TDM operation. Indicates which time 90 - slots used for transmitting and receiving. 91 - 92 - - fsl,siram-entry-id 93 - Usage: required for tdm interface 94 - Value type: <u32> 95 - Definition : Must be 0,2,4...64. the number of TDM entry. 96 - 97 - - fsl,tdm-internal-loopback 98 - usage: optional for tdm interface 99 - value type: <empty> 100 - Definition : Internal loopback connecting on TDM layer. 101 - - fsl,hmask 102 - usage: optional 103 - Value type: <u16> 104 - Definition: HDLC address recognition. Set to zero to disable 105 - address filtering of packets: 106 - fsl,hmask = /bits/ 16 <0x0000>; 107 - 108 - Example for tdm interface: 109 - 110 - ucc@2000 { 111 - compatible = "fsl,ucc-hdlc"; 112 - rx-clock-name = "clk8"; 113 - tx-clock-name = "clk9"; 114 - fsl,rx-sync-clock = "rsync_pin"; 115 - fsl,tx-sync-clock = "tsync_pin"; 116 - fsl,tx-timeslot-mask = <0xfffffffe>; 117 - fsl,rx-timeslot-mask = <0xfffffffe>; 118 - fsl,tdm-framer-type = "e1"; 119 - fsl,tdm-id = <0>; 120 - fsl,siram-entry-id = <0>; 121 - fsl,tdm-interface; 122 - }; 123 - 124 - Example for hdlc without tdm interface: 125 - 126 - ucc@2000 { 127 - compatible = "fsl,ucc-hdlc"; 128 - rx-clock-name = "brg1"; 129 - tx-clock-name = "brg1"; 130 - };
+3
Documentation/devicetree/bindings/soc/fsl/fsl,layerscape-scfg.yaml
··· 23 23 - fsl,ls1028a-scfg 24 24 - fsl,ls1043a-scfg 25 25 - fsl,ls1046a-scfg 26 + - fsl,ls1088a-isc 27 + - fsl,ls2080a-isc 28 + - fsl,lx2160a-isc 26 29 - const: syscon 27 30 28 31 reg:
+87
Documentation/devicetree/bindings/soc/fsl/fsl,rcpm.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/soc/fsl/fsl,rcpm.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Run Control and Power Management 8 + 9 + description: 10 + The RCPM performs all device-level tasks associated with device run control 11 + and power management. 12 + 13 + maintainers: 14 + - Frank Li <Frank.Li@nxp.com> 15 + 16 + properties: 17 + compatible: 18 + oneOf: 19 + - items: 20 + - enum: 21 + - fsl,p2041-rcpm 22 + - fsl,p3041-rcpm 23 + - fsl,p4080-rcpm 24 + - fsl,p5020-rcpm 25 + - fsl,p5040-rcpm 26 + - const: fsl,qoriq-rcpm-1.0 27 + - items: 28 + - enum: 29 + - fsl,b4420-rcpm 30 + - fsl,b4860-rcpm 31 + - fsl,t4240-rcpm 32 + - const: fsl,qoriq-rcpm-2.0 33 + - items: 34 + - enum: 35 + - fsl,t1040-rcpm 36 + - const: fsl,qoriq-rcpm-2.1 37 + - items: 38 + - enum: 39 + - fsl,ls1012a-rcpm 40 + - fsl,ls1021a-rcpm 41 + - fsl,ls1028a-rcpm 42 + - fsl,ls1043a-rcpm 43 + - fsl,ls1046a-rcpm 44 + - fsl,ls1088a-rcpm 45 + - fsl,ls208xa-rcpm 46 + - fsl,lx2160a-rcpm 47 + - const: fsl,qoriq-rcpm-2.1+ 48 + 49 + reg: 50 + maxItems: 1 51 + 52 + "#fsl,rcpm-wakeup-cells": 53 + description: | 54 + The number of IPPDEXPCR register cells in the 55 + fsl,rcpm-wakeup property. 56 + 57 + Freescale RCPM Wakeup Source Device Tree Bindings 58 + 59 + Required fsl,rcpm-wakeup property should be added to a device node if 60 + the device can be used as a wakeup source. 61 + 62 + fsl,rcpm-wakeup: Consists of a phandle to the rcpm node and the IPPDEXPCR 63 + register cells. The number of IPPDEXPCR register cells is defined in 64 + "#fsl,rcpm-wakeup-cells" in the rcpm node. The first register cell is 65 + the bit mask that should be set in IPPDEXPCR0, and the second register 66 + cell is for IPPDEXPCR1, and so on. 67 + 68 + Note: IPPDEXPCR(IP Powerdown Exception Control Register) provides a 69 + mechanism for keeping certain blocks awake during STANDBY and MEM, in 70 + order to use them as wake-up sources. 71 + 72 + little-endian: 73 + $ref: /schemas/types.yaml#/definitions/flag 74 + description: 75 + RCPM register block is Little Endian. Without it RCPM 76 + will be Big Endian (default case). 77 + 78 + additionalProperties: false 79 + 80 + examples: 81 + - | 82 + #include <dt-bindings/interrupt-controller/arm-gic.h> 83 + global-utilities@e2000 { 84 + compatible = "fsl,t4240-rcpm", "fsl,qoriq-rcpm-2.0"; 85 + reg = <0xe2000 0x1000>; 86 + #fsl,rcpm-wakeup-cells = <2>; 87 + };
-69
Documentation/devicetree/bindings/soc/fsl/rcpm.txt
··· 1 - * Run Control and Power Management 2 - ------------------------------------------- 3 - The RCPM performs all device-level tasks associated with device run control 4 - and power management. 5 - 6 - Required properites: 7 - - reg : Offset and length of the register set of the RCPM block. 8 - - #fsl,rcpm-wakeup-cells : The number of IPPDEXPCR register cells in the 9 - fsl,rcpm-wakeup property. 10 - - compatible : Must contain a chip-specific RCPM block compatible string 11 - and (if applicable) may contain a chassis-version RCPM compatible 12 - string. Chip-specific strings are of the form "fsl,<chip>-rcpm", 13 - such as: 14 - * "fsl,p2041-rcpm" 15 - * "fsl,p5020-rcpm" 16 - * "fsl,t4240-rcpm" 17 - 18 - Chassis-version strings are of the form "fsl,qoriq-rcpm-<version>", 19 - such as: 20 - * "fsl,qoriq-rcpm-1.0": for chassis 1.0 rcpm 21 - * "fsl,qoriq-rcpm-2.0": for chassis 2.0 rcpm 22 - * "fsl,qoriq-rcpm-2.1": for chassis 2.1 rcpm 23 - * "fsl,qoriq-rcpm-2.1+": for chassis 2.1+ rcpm 24 - 25 - All references to "1.0" and "2.0" refer to the QorIQ chassis version to 26 - which the chip complies. 27 - Chassis Version Example Chips 28 - --------------- ------------------------------- 29 - 1.0 p4080, p5020, p5040, p2041, p3041 30 - 2.0 t4240, b4860, b4420 31 - 2.1 t1040, 32 - 2.1+ ls1021a, ls1012a, ls1043a, ls1046a 33 - 34 - Optional properties: 35 - - little-endian : RCPM register block is Little Endian. Without it RCPM 36 - will be Big Endian (default case). 37 - 38 - Example: 39 - The RCPM node for T4240: 40 - rcpm: global-utilities@e2000 { 41 - compatible = "fsl,t4240-rcpm", "fsl,qoriq-rcpm-2.0"; 42 - reg = <0xe2000 0x1000>; 43 - #fsl,rcpm-wakeup-cells = <2>; 44 - }; 45 - 46 - * Freescale RCPM Wakeup Source Device Tree Bindings 47 - ------------------------------------------- 48 - Required fsl,rcpm-wakeup property should be added to a device node if the device 49 - can be used as a wakeup source. 50 - 51 - - fsl,rcpm-wakeup: Consists of a phandle to the rcpm node and the IPPDEXPCR 52 - register cells. The number of IPPDEXPCR register cells is defined in 53 - "#fsl,rcpm-wakeup-cells" in the rcpm node. The first register cell is 54 - the bit mask that should be set in IPPDEXPCR0, and the second register 55 - cell is for IPPDEXPCR1, and so on. 56 - 57 - Note: IPPDEXPCR(IP Powerdown Exception Control Register) provides a 58 - mechanism for keeping certain blocks awake during STANDBY and MEM, in 59 - order to use them as wake-up sources. 60 - 61 - Example: 62 - lpuart0: serial@2950000 { 63 - compatible = "fsl,ls1021a-lpuart"; 64 - reg = <0x0 0x2950000 0x0 0x1000>; 65 - interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 66 - clocks = <&sysclk>; 67 - clock-names = "ipg"; 68 - fsl,rcpm-wakeup = <&rcpm 0x0 0x40000000>; 69 - };
+1 -1
Documentation/devicetree/bindings/sound/everest,es8326.yaml
··· 32 32 description: | 33 33 just the value of reg 57. Bit(3) decides whether the jack polarity is inverted. 34 34 Bit(2) decides whether the button on the headset is inverted. 35 - Bit(1)/(0) decides the mic properity to be OMTP/CTIA or auto. 35 + Bit(1)/(0) decides the mic property to be OMTP/CTIA or auto. 36 36 minimum: 0x00 37 37 maximum: 0x0f 38 38 default: 0x0f
+3
Documentation/devicetree/bindings/sound/serial-midi.yaml
··· 22 22 configure the clocks of the parent serial device so that a requested baud of 38.4 kBaud 23 23 results in the standard MIDI baud rate, and set the 'current-speed' property to 38400 (default) 24 24 25 + allOf: 26 + - $ref: /schemas/serial/serial-peripheral-props.yaml# 27 + 25 28 properties: 26 29 compatible: 27 30 const: serial-midi
+1 -1
Documentation/devicetree/bindings/sound/st,sta350.txt
··· 77 77 78 78 - st,odd-pwm-speed-mode: 79 79 If present, PWM speed mode run on odd speed mode (341.3 kHz) on all 80 - channels. If not present, normal PWM spped mode (384 kHz) will be used. 80 + channels. If not present, normal PWM speed mode (384 kHz) will be used. 81 81 82 82 - st,distortion-compensation: 83 83 If present, distortion compensation variable uses DCC coefficient.
+1 -1
Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
··· 311 311 312 312 - | 313 313 #include <dt-bindings/interrupt-controller/arm-gic.h> 314 - // Example 1 (new calbiration data: for pre v1 IP): 314 + // Example 1 (new calibration data: for pre v1 IP): 315 315 thermal-sensor@4a9000 { 316 316 compatible = "qcom,msm8916-tsens", "qcom,tsens-v0_1"; 317 317 reg = <0x4a9000 0x1000>, /* TM */
-31
Documentation/devicetree/bindings/timer/fsl,ftm-timer.txt
··· 1 - Freescale FlexTimer Module (FTM) Timer 2 - 3 - Required properties: 4 - 5 - - compatible : should be "fsl,ftm-timer" 6 - - reg : Specifies base physical address and size of the register sets for the 7 - clock event device and clock source device. 8 - - interrupts : Should be the clock event device interrupt. 9 - - clocks : The clocks provided by the SoC to drive the timer, must contain an 10 - entry for each entry in clock-names. 11 - - clock-names : Must include the following entries: 12 - o "ftm-evt" 13 - o "ftm-src" 14 - o "ftm-evt-counter-en" 15 - o "ftm-src-counter-en" 16 - - big-endian: One boolean property, the big endian mode will be in use if it is 17 - present, or the little endian mode will be in use for all the device registers. 18 - 19 - Example: 20 - ftm: ftm@400b8000 { 21 - compatible = "fsl,ftm-timer"; 22 - reg = <0x400b8000 0x1000 0x400b9000 0x1000>; 23 - interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>; 24 - clock-names = "ftm-evt", "ftm-src", 25 - "ftm-evt-counter-en", "ftm-src-counter-en"; 26 - clocks = <&clks VF610_CLK_FTM2>, 27 - <&clks VF610_CLK_FTM3>, 28 - <&clks VF610_CLK_FTM2_EXT_FIX_EN>, 29 - <&clks VF610_CLK_FTM3_EXT_FIX_EN>; 30 - big-endian; 31 - };
+59
Documentation/devicetree/bindings/timer/fsl,ftm-timer.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/timer/fsl,ftm-timer.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Freescale FlexTimer Module (FTM) Timer 8 + 9 + maintainers: 10 + - Animesh Agarwal <animeshagarwal28@gmail.com> 11 + 12 + properties: 13 + compatible: 14 + const: fsl,ftm-timer 15 + 16 + reg: 17 + maxItems: 1 18 + 19 + interrupts: 20 + maxItems: 1 21 + 22 + clocks: 23 + description: The clocks provided by the SoC to drive the timer, must 24 + contain an entry for each entry in clock-names. 25 + minItems: 4 26 + maxItems: 4 27 + 28 + clock-names: 29 + items: 30 + - const: ftm-evt 31 + - const: ftm-src 32 + - const: ftm-evt-counter-en 33 + - const: ftm-src-counter-en 34 + 35 + big-endian: true 36 + 37 + required: 38 + - compatible 39 + - reg 40 + - interrupts 41 + - clocks 42 + - clock-names 43 + 44 + additionalProperties: false 45 + 46 + examples: 47 + - | 48 + #include <dt-bindings/clock/vf610-clock.h> 49 + #include <dt-bindings/interrupt-controller/irq.h> 50 + 51 + ftm@400b8000 { 52 + compatible = "fsl,ftm-timer"; 53 + reg = <0x400b8000 0x1000>; 54 + interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>; 55 + clock-names = "ftm-evt", "ftm-src", "ftm-evt-counter-en", "ftm-src-counter-en"; 56 + clocks = <&clks VF610_CLK_FTM2>, <&clks VF610_CLK_FTM3>, 57 + <&clks VF610_CLK_FTM2_EXT_FIX_EN>, <&clks VF610_CLK_FTM3_EXT_FIX_EN>; 58 + big-endian; 59 + };
-26
Documentation/devicetree/bindings/timer/nxp,lpc3220-timer.txt
··· 1 - * NXP LPC3220 timer 2 - 3 - The NXP LPC3220 timer is used on a wide range of NXP SoCs. This 4 - includes LPC32xx, LPC178x, LPC18xx and LPC43xx parts. 5 - 6 - Required properties: 7 - - compatible: 8 - Should be "nxp,lpc3220-timer". 9 - - reg: 10 - Address and length of the register set. 11 - - interrupts: 12 - Reference to the timer interrupt 13 - - clocks: 14 - Should contain a reference to timer clock. 15 - - clock-names: 16 - Should contain "timerclk". 17 - 18 - Example: 19 - 20 - timer1: timer@40085000 { 21 - compatible = "nxp,lpc3220-timer"; 22 - reg = <0x40085000 0x1000>; 23 - interrupts = <13>; 24 - clocks = <&ccu1 CLK_CPU_TIMER1>; 25 - clock-names = "timerclk"; 26 - };
+55
Documentation/devicetree/bindings/timer/nxp,lpc3220-timer.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/timer/nxp,lpc3220-timer.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: NXP LPC3220 timer 8 + 9 + maintainers: 10 + - Animesh Agarwal <animeshagarwal28@gmail.com> 11 + 12 + description: | 13 + The NXP LPC3220 timer is used on a wide range of NXP SoCs. This includes 14 + LPC32xx, LPC178x, LPC18xx and LPC43xx parts. 15 + 16 + properties: 17 + compatible: 18 + const: nxp,lpc3220-timer 19 + 20 + reg: 21 + maxItems: 1 22 + 23 + interrupts: 24 + maxItems: 1 25 + 26 + clocks: 27 + maxItems: 1 28 + 29 + clock-names: 30 + const: timerclk 31 + 32 + resets: 33 + maxItems: 1 34 + 35 + required: 36 + - compatible 37 + - reg 38 + - interrupts 39 + - clocks 40 + - clock-names 41 + 42 + additionalProperties: false 43 + 44 + examples: 45 + - | 46 + #include <dt-bindings/clock/lpc32xx-clock.h> 47 + #include <dt-bindings/interrupt-controller/irq.h> 48 + 49 + timer@4004c000 { 50 + compatible = "nxp,lpc3220-timer"; 51 + reg = <0x4004c000 0x1000>; 52 + interrupts = <17 IRQ_TYPE_LEVEL_LOW>; 53 + clocks = <&clk LPC32XX_CLK_TIMER1>; 54 + clock-names = "timerclk"; 55 + };
+68
Documentation/devicetree/bindings/timer/ti,da830-timer.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/timer/ti,da830-timer.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: TI DaVinci Timer 8 + 9 + maintainers: 10 + - Kousik Sanagavarapu <five231003@gmail.com> 11 + 12 + description: | 13 + This is a 64-bit timer found on TI's DaVinci architecture devices. The timer 14 + can be configured as a general-purpose 64-bit timer, dual general-purpose 15 + 32-bit timers. When configured as dual 32-bit timers, each half can operate 16 + in conjunction (chain mode) or independently (unchained mode) of each other. 17 + 18 + The timer is a free running up-counter and can generate interrupts when the 19 + counter reaches preset counter values. 20 + 21 + properties: 22 + compatible: 23 + const: ti,da830-timer 24 + 25 + reg: 26 + maxItems: 1 27 + 28 + interrupts: 29 + minItems: 2 30 + maxItems: 10 31 + 32 + interrupt-names: 33 + minItems: 2 34 + items: 35 + - const: tint12 36 + - const: tint34 37 + - const: cmpint0 38 + - const: cmpint1 39 + - const: cmpint2 40 + - const: cmpint3 41 + - const: cmpint4 42 + - const: cmpint5 43 + - const: cmpint6 44 + - const: cmpint7 45 + 46 + clocks: 47 + maxItems: 1 48 + 49 + required: 50 + - compatible 51 + - reg 52 + - interrupts 53 + - interrupt-names 54 + - clocks 55 + 56 + additionalProperties: false 57 + 58 + examples: 59 + - | 60 + timer@20000 { 61 + compatible = "ti,da830-timer"; 62 + reg = <0x20000 0x1000>; 63 + interrupts = <21>, <22>; 64 + interrupt-names = "tint12", "tint34"; 65 + clocks = <&pll0_auxclk>; 66 + }; 67 + 68 + ...
-37
Documentation/devicetree/bindings/timer/ti,davinci-timer.txt
··· 1 - * Device tree bindings for Texas Instruments DaVinci timer 2 - 3 - This document provides bindings for the 64-bit timer in the DaVinci 4 - architecture devices. The timer can be configured as a general-purpose 64-bit 5 - timer, dual general-purpose 32-bit timers. When configured as dual 32-bit 6 - timers, each half can operate in conjunction (chain mode) or independently 7 - (unchained mode) of each other. 8 - 9 - The timer is a free running up-counter and can generate interrupts when the 10 - counter reaches preset counter values. 11 - 12 - Also see ../watchdog/davinci-wdt.txt for timers that are configurable as 13 - watchdog timers. 14 - 15 - Required properties: 16 - 17 - - compatible : should be "ti,da830-timer". 18 - - reg : specifies base physical address and count of the registers. 19 - - interrupts : interrupts generated by the timer. 20 - - interrupt-names: should be "tint12", "tint34", "cmpint0", "cmpint1", 21 - "cmpint2", "cmpint3", "cmpint4", "cmpint5", "cmpint6", 22 - "cmpint7" ("cmpintX" may be omitted if not present in the 23 - hardware). 24 - - clocks : the clock feeding the timer clock. 25 - 26 - Example: 27 - 28 - clocksource: timer@20000 { 29 - compatible = "ti,da830-timer"; 30 - reg = <0x20000 0x1000>; 31 - interrupts = <21>, <22>, <74>, <75>, <76>, <77>, <78>, <79>, 32 - <80>, <81>; 33 - interrupt-names = "tint12", "tint34", "cmpint0", "cmpint1", 34 - "cmpint2", "cmpint3", "cmpint4", "cmpint5", 35 - "cmpint6", "cmpint7"; 36 - clocks = <&pll0_auxclk>; 37 - };
+5 -15
Documentation/devicetree/bindings/trivial-devices.yaml
··· 33 33 # Acbel fsg032 power supply 34 34 - acbel,fsg032 35 35 # SMBus/I2C Digital Temperature Sensor in 6-Pin SOT with SMBus Alert and Over Temperature Pin 36 - - ad,ad7414 36 + - ad,ad7414 # Deprecated, use adi,ad7414 37 + - adi,ad7414 37 38 # ADM9240: Complete System Hardware Monitor for uProcessor-Based Systems 38 39 - ad,adm9240 39 40 # AD5110 - Nonvolatile Digital Potentiometer ··· 47 46 - ams,iaq-core 48 47 # Temperature monitoring of Astera Labs PT5161L PCIe retimer 49 48 - asteralabs,pt5161l 50 - # i2c serial eeprom (24cxx) 51 - - at,24c08 52 49 # i2c h/w elliptic curve crypto module 53 50 - atmel,atecc508a 54 51 # ATSHA204 - i2c h/w symmetric crypto module ··· 69 70 - dallas,ds1631 70 71 # Total-Elapsed-Time Recorder with Alarm 71 72 - dallas,ds1682 72 - # Tiny Digital Thermometer and Thermostat 73 - - dallas,ds1775 74 73 # CPU Peripheral Monitor 75 74 - dallas,ds1780 76 75 # CPU Supervisor with Nonvolatile Memory and Programmable I/O 77 76 - dallas,ds4510 78 - # Digital Thermometer and Thermostat 79 - - dallas,ds75 80 77 # Delta AHE-50DC Open19 power shelf fan control module 81 78 - delta,ahe50dc-fan 82 79 # Delta Electronics DPS-650-AB power supply ··· 157 162 - isil,isl29030 158 163 # Intersil ISL68137 Digital Output Configurable PWM Controller 159 164 - isil,isl68137 165 + # Intersil ISL69260 PMBus Voltage Regulator 166 + - isil,isl69260 160 167 # Intersil ISL69269 PMBus Voltage Regulator 161 168 - isil,isl69269 162 169 # Intersil ISL76682 Ambient Light Sensor ··· 177 180 - maxim,ds1803-100 178 181 # 10 kOhm digital potentiometer with I2C interface 179 182 - maxim,ds3502 180 - # Low-Power, 4-/12-Channel, 2-Wire Serial, 12-Bit ADCs 181 - - maxim,max1237 182 183 # Temperature Sensor, I2C interface 183 184 - maxim,max1619 184 185 # 3-Channel Remote Temperature Sensor ··· 191 196 - maxim,max5484 192 197 # PECI-to-I2C translator for PECI-to-SMBus/I2C protocol conversion 193 198 - maxim,max6621 194 - # 9-Bit/12-Bit Temperature Sensors with I²C-Compatible Serial Interface 195 - - maxim,max6625 196 199 # mCube 3-axis 8-bit digital accelerometer 197 200 - mcube,mc3230 198 201 # Measurement Specialities I2C temperature and humidity sensor ··· 355 362 - skyworks,sky81452 356 363 # SparkFun Qwiic Joystick (COM-15168) with i2c interface 357 364 - sparkfun,qwiic-joystick 358 - # i2c serial eeprom (24cxx) 359 - - st,24c256 360 365 # Sierra Wireless mangOH Green SPI IoT interface 361 366 - swir,mangoh-iotport-spi 362 367 # Ambient Light Sensor with SMBUS/Two Wire Serial Interface ··· 386 395 - ti,tmp121 387 396 - ti,tmp122 388 397 - ti,tmp125 389 - # Digital Temperature Sensor 390 - - ti,tmp275 391 398 # TI DC-DC converter on PMBus 392 399 - ti,tps40400 393 400 # TI Dual channel DCAP+ multiphase controller TPS53676 with AVSBus ··· 399 410 - ti,tps544b25 400 411 - ti,tps544c20 401 412 - ti,tps544c25 413 + - ti,tps546d24 402 414 # I2C Touch-Screen Controller 403 415 - ti,tsc2003 404 416 # Vicor Corporation Digital Supervisor
-24
Documentation/devicetree/bindings/watchdog/davinci-wdt.txt
··· 1 - Texas Instruments DaVinci/Keystone Watchdog Timer (WDT) Controller 2 - 3 - Required properties: 4 - - compatible : Should be "ti,davinci-wdt", "ti,keystone-wdt" 5 - - reg : Should contain WDT registers location and length 6 - 7 - Optional properties: 8 - - timeout-sec : Contains the watchdog timeout in seconds 9 - - clocks : the clock feeding the watchdog timer. 10 - Needed if platform uses clocks. 11 - See clock-bindings.txt 12 - 13 - Documentation: 14 - Davinci DM646x - https://www.ti.com/lit/ug/spruer5b/spruer5b.pdf 15 - Keystone - https://www.ti.com/lit/ug/sprugv5a/sprugv5a.pdf 16 - 17 - Examples: 18 - 19 - wdt: wdt@2320000 { 20 - compatible = "ti,davinci-wdt"; 21 - reg = <0x02320000 0x80>; 22 - timeout-sec = <30>; 23 - clocks = <&clkwdtimer0>; 24 - };
-19
Documentation/devicetree/bindings/watchdog/lpc18xx-wdt.txt
··· 1 - * NXP LPC18xx Watchdog Timer (WDT) 2 - 3 - Required properties: 4 - - compatible: Should be "nxp,lpc1850-wwdt" 5 - - reg: Should contain WDT registers location and length 6 - - clocks: Must contain an entry for each entry in clock-names. 7 - - clock-names: Should contain "wdtclk" and "reg"; the watchdog counter 8 - clock and register interface clock respectively. 9 - - interrupts: Should contain WDT interrupt 10 - 11 - Examples: 12 - 13 - watchdog@40080000 { 14 - compatible = "nxp,lpc1850-wwdt"; 15 - reg = <0x40080000 0x24>; 16 - clocks = <&cgu BASE_SAFE_CLK>, <&ccu1 CLK_CPU_WWDT>; 17 - clock-names = "wdtclk", "reg"; 18 - interrupts = <49>; 19 - };
+52
Documentation/devicetree/bindings/watchdog/nxp,lpc1850-wwdt.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/watchdog/nxp,lpc1850-wwdt.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: NXP LPC18xx Watchdog Timer (WDT) 8 + 9 + maintainers: 10 + - Animesh Agarwal <animeshagarwal28@gmail.com> 11 + 12 + properties: 13 + compatible: 14 + const: nxp,lpc1850-wwdt 15 + 16 + reg: 17 + maxItems: 1 18 + 19 + clocks: 20 + items: 21 + - description: Watchdog counter clock 22 + - description: Register interface clock 23 + 24 + clock-names: 25 + items: 26 + - const: wdtclk 27 + - const: reg 28 + 29 + interrupts: 30 + maxItems: 1 31 + 32 + required: 33 + - compatible 34 + - reg 35 + - clocks 36 + - clock-names 37 + - interrupts 38 + 39 + additionalProperties: false 40 + 41 + examples: 42 + - | 43 + #include <dt-bindings/clock/lpc18xx-cgu.h> 44 + #include <dt-bindings/clock/lpc18xx-ccu.h> 45 + 46 + watchdog@40080000 { 47 + compatible = "nxp,lpc1850-wwdt"; 48 + reg = <0x40080000 0x24>; 49 + clocks = <&cgu BASE_SAFE_CLK>, <&ccu1 CLK_CPU_WWDT>; 50 + clock-names = "wdtclk", "reg"; 51 + interrupts = <49>; 52 + };
+1
Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
··· 26 26 - qcom,apss-wdt-msm8994 27 27 - qcom,apss-wdt-qcm2290 28 28 - qcom,apss-wdt-qcs404 29 + - qcom,apss-wdt-sa8255p 29 30 - qcom,apss-wdt-sa8775p 30 31 - qcom,apss-wdt-sc7180 31 32 - qcom,apss-wdt-sc7280
+1
Documentation/devicetree/bindings/watchdog/snps,dw-wdt.yaml
··· 29 29 - rockchip,rk3368-wdt 30 30 - rockchip,rk3399-wdt 31 31 - rockchip,rk3568-wdt 32 + - rockchip,rk3576-wdt 32 33 - rockchip,rk3588-wdt 33 34 - rockchip,rv1108-wdt 34 35 - const: snps,dw-wdt
+55
Documentation/devicetree/bindings/watchdog/ti,davinci-wdt.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/watchdog/ti,davinci-wdt.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: TI DaVinci/Keystone Watchdog Timer Controller 8 + 9 + maintainers: 10 + - Kousik Sanagavarapu <five231003@gmail.com> 11 + 12 + description: | 13 + TI's Watchdog Timer Controller for DaVinci and Keystone Processors. 14 + 15 + Datasheets 16 + 17 + Davinci DM646x - https://www.ti.com/lit/ug/spruer5b/spruer5b.pdf 18 + Keystone - https://www.ti.com/lit/ug/sprugv5a/sprugv5a.pdf 19 + 20 + allOf: 21 + - $ref: watchdog.yaml# 22 + 23 + properties: 24 + compatible: 25 + oneOf: 26 + - items: 27 + - const: ti,keystone-wdt 28 + - const: ti,davinci-wdt 29 + - items: 30 + - const: ti,davinci-wdt 31 + 32 + reg: 33 + maxItems: 1 34 + 35 + power-domains: 36 + maxItems: 1 37 + 38 + clocks: 39 + maxItems: 1 40 + 41 + required: 42 + - compatible 43 + - reg 44 + 45 + unevaluatedProperties: false 46 + 47 + examples: 48 + - | 49 + wdt: watchdog@22f0080 { 50 + compatible = "ti,keystone-wdt", "ti,davinci-wdt"; 51 + reg = <0x022f0080 0x80>; 52 + clocks = <&clkwdtimer0>; 53 + }; 54 + 55 + ...
+49
Documentation/devicetree/bindings/watchdog/zii,rave-wdt.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/watchdog/zii,rave-wdt.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Zodiac RAVE Watchdog Timer 8 + 9 + maintainers: 10 + - Martyn Welch <martyn.welch@collabora.co.uk> 11 + - Guenter Roeck <linux@roeck-us.net> 12 + - Wim Van Sebroeck <wim@iguana.be> 13 + 14 + properties: 15 + compatible: 16 + const: zii,rave-wdt 17 + 18 + reg: 19 + maxItems: 1 20 + description: i2c slave address of device, usually 0x38 21 + 22 + reset-duration-ms: 23 + description: 24 + Duration of the pulse generated when the watchdog times 25 + out. 26 + 27 + required: 28 + - compatible 29 + - reg 30 + 31 + allOf: 32 + - $ref: watchdog.yaml# 33 + 34 + unevaluatedProperties: false 35 + 36 + examples: 37 + - | 38 + i2c { 39 + #address-cells = <1>; 40 + #size-cells = <0>; 41 + 42 + watchdog@38 { 43 + compatible = "zii,rave-wdt"; 44 + reg = <0x38>; 45 + timeout-sec = <30>; 46 + reset-duration-ms = <30>; 47 + }; 48 + }; 49 +
-19
Documentation/devicetree/bindings/watchdog/ziirave-wdt.txt
··· 1 - Zodiac RAVE Watchdog Timer 2 - 3 - Required properties: 4 - - compatible: must be "zii,rave-wdt" 5 - - reg: i2c slave address of device, usually 0x38 6 - 7 - Optional Properties: 8 - - timeout-sec: Watchdog timeout value in seconds. 9 - - reset-duration-ms: Duration of the pulse generated when the watchdog times 10 - out. Value in milliseconds. 11 - 12 - Example: 13 - 14 - watchdog@38 { 15 - compatible = "zii,rave-wdt"; 16 - reg = <0x38>; 17 - timeout-sec = <30>; 18 - reset-duration-ms = <30>; 19 - };
+10 -1
MAINTAINERS
··· 2477 2477 2478 2478 ARM/LPC32XX SOC SUPPORT 2479 2479 M: Vladimir Zapolskiy <vz@mleia.com> 2480 + M: Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com> 2480 2481 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) 2481 2482 S: Maintained 2482 2483 T: git git://github.com/vzapolskiy/linux-lpc32xx.git ··· 2489 2488 F: drivers/usb/host/ohci-nxp.c 2490 2489 F: drivers/watchdog/pnx4008_wdt.c 2491 2490 N: lpc32xx 2491 + 2492 + LPC32XX DMAMUX SUPPORT 2493 + M: J.M.B. Downing <jonathan.downing@nautel.com> 2494 + M: Piotr Wojtaszczyk <piotr.wojtaszczyk@timesys.com> 2495 + R: Vladimir Zapolskiy <vz@mleia.com> 2496 + L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) 2497 + S: Maintained 2498 + F: Documentation/devicetree/bindings/dma/nxp,lpc3220-dmamux.yaml 2492 2499 2493 2500 ARM/Marvell Dove/MV78xx0/Orion SOC support 2494 2501 M: Andrew Lunn <andrew@lunn.ch> ··· 14305 14296 L: linux-bluetooth@vger.kernel.org 14306 14297 L: linux-mediatek@lists.infradead.org (moderated for non-subscribers) 14307 14298 S: Maintained 14299 + F: Documentation/devicetree/bindings/net/bluetooth/mediatek,bluetooth.txt 14308 14300 F: Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml 14309 - F: Documentation/devicetree/bindings/net/mediatek-bluetooth.txt 14310 14301 F: drivers/bluetooth/btmtkuart.c 14311 14302 14312 14303 MEDIATEK BOARD LEVEL SHUTDOWN DRIVERS
+25 -15
drivers/of/address.c
··· 8 8 #include <linux/logic_pio.h> 9 9 #include <linux/module.h> 10 10 #include <linux/of_address.h> 11 + #include <linux/overflow.h> 11 12 #include <linux/pci.h> 12 13 #include <linux/pci_regs.h> 13 14 #include <linux/sizes.h> ··· 198 197 199 198 #endif /* CONFIG_PCI */ 200 199 200 + static int __of_address_resource_bounds(struct resource *r, u64 start, u64 size) 201 + { 202 + u64 end = start; 203 + 204 + if (overflows_type(start, r->start)) 205 + return -EOVERFLOW; 206 + if (size && check_add_overflow(end, size - 1, &end)) 207 + return -EOVERFLOW; 208 + if (overflows_type(end, r->end)) 209 + return -EOVERFLOW; 210 + 211 + r->start = start; 212 + r->end = end; 213 + 214 + return 0; 215 + } 216 + 201 217 /* 202 218 * of_pci_range_to_resource - Create a resource from an of_pci_range 203 219 * @range: the PCI range that describes the resource ··· 233 215 int of_pci_range_to_resource(struct of_pci_range *range, 234 216 struct device_node *np, struct resource *res) 235 217 { 218 + u64 start; 236 219 int err; 237 220 res->flags = range->flags; 238 221 res->parent = res->child = res->sibling = NULL; ··· 250 231 err = -EINVAL; 251 232 goto invalid_range; 252 233 } 253 - res->start = port; 234 + start = port; 254 235 } else { 255 - if ((sizeof(resource_size_t) < 8) && 256 - upper_32_bits(range->cpu_addr)) { 257 - err = -EINVAL; 258 - goto invalid_range; 259 - } 260 - 261 - res->start = range->cpu_addr; 236 + start = range->cpu_addr; 262 237 } 263 - res->end = res->start + range->size - 1; 264 - return 0; 238 + return __of_address_resource_bounds(res, start, range->size); 265 239 266 240 invalid_range: 267 241 res->start = (resource_size_t)OF_BAD_ADDR; ··· 270 258 * @res: pointer to a valid resource that will be updated to 271 259 * reflect the values contained in the range. 272 260 * 273 - * Returns ENOENT if the entry is not found or EINVAL if the range cannot be 274 - * converted to resource. 261 + * Returns -ENOENT if the entry is not found or -EOVERFLOW if the range 262 + * cannot be converted to resource. 275 263 */ 276 264 int of_range_to_resource(struct device_node *np, int index, struct resource *res) 277 265 { ··· 1073 1061 if (of_mmio_is_nonposted(dev)) 1074 1062 flags |= IORESOURCE_MEM_NONPOSTED; 1075 1063 1076 - r->start = taddr; 1077 - r->end = taddr + size - 1; 1078 1064 r->flags = flags; 1079 1065 r->name = name ? name : dev->full_name; 1080 1066 1081 - return 0; 1067 + return __of_address_resource_bounds(r, taddr, size); 1082 1068 } 1083 1069 1084 1070 /**
+11 -32
drivers/of/irq.c
··· 357 357 addr = of_get_property(device, "reg", &addr_len); 358 358 359 359 /* Prevent out-of-bounds read in case of longer interrupt parent address size */ 360 - if (addr_len > (3 * sizeof(__be32))) 361 - addr_len = 3 * sizeof(__be32); 360 + if (addr_len > sizeof(addr_buf)) 361 + addr_len = sizeof(addr_buf); 362 362 if (addr) 363 363 memcpy(addr_buf, addr, addr_len); 364 364 ··· 429 429 of_property_read_string_index(dev, "interrupt-names", index, 430 430 &name); 431 431 432 - r->start = r->end = irq; 433 - r->flags = IORESOURCE_IRQ | irqd_get_trigger_type(irq_get_irq_data(irq)); 434 - r->name = name ? name : of_node_full_name(dev); 432 + *r = DEFINE_RES_IRQ_NAMED(irq, name ?: of_node_full_name(dev)); 433 + r->flags |= irq_get_trigger_type(irq); 435 434 } 436 435 437 436 return irq; ··· 715 716 * @np: device node for @dev 716 717 * @token: bus type for this domain 717 718 * 718 - * Parse the msi-parent property (both the simple and the complex 719 - * versions), and returns the corresponding MSI domain. 719 + * Parse the msi-parent property and returns the corresponding MSI domain. 720 720 * 721 721 * Returns: the MSI domain for this device (or NULL on failure). 722 722 */ ··· 723 725 struct device_node *np, 724 726 enum irq_domain_bus_token token) 725 727 { 726 - struct device_node *msi_np; 728 + struct of_phandle_iterator it; 727 729 struct irq_domain *d; 730 + int err; 728 731 729 - /* Check for a single msi-parent property */ 730 - msi_np = of_parse_phandle(np, "msi-parent", 0); 731 - if (msi_np && !of_property_read_bool(msi_np, "#msi-cells")) { 732 - d = irq_find_matching_host(msi_np, token); 733 - if (!d) 734 - of_node_put(msi_np); 735 - return d; 736 - } 737 - 738 - if (token == DOMAIN_BUS_PLATFORM_MSI) { 739 - /* Check for the complex msi-parent version */ 740 - struct of_phandle_args args; 741 - int index = 0; 742 - 743 - while (!of_parse_phandle_with_args(np, "msi-parent", 744 - "#msi-cells", 745 - index, &args)) { 746 - d = irq_find_matching_host(args.np, token); 747 - if (d) 748 - return d; 749 - 750 - of_node_put(args.np); 751 - index++; 752 - } 732 + of_for_each_phandle(&it, err, np, "msi-parent", "#msi-cells", 0) { 733 + d = irq_find_matching_host(it.node, token); 734 + if (d) 735 + return d; 753 736 } 754 737 755 738 return NULL;
+3 -9
drivers/of/overlay.c
··· 472 472 static int build_changeset_next_level(struct overlay_changeset *ovcs, 473 473 struct target *target, const struct device_node *overlay_node) 474 474 { 475 - struct device_node *child; 476 475 struct property *prop; 477 476 int ret; 478 477 ··· 484 485 } 485 486 } 486 487 487 - for_each_child_of_node(overlay_node, child) { 488 + for_each_child_of_node_scoped(overlay_node, child) { 488 489 ret = add_changeset_node(ovcs, target, child); 489 490 if (ret) { 490 491 pr_debug("Failed to apply node @%pOF/%pOFn, err=%d\n", 491 492 target->np, child, ret); 492 - of_node_put(child); 493 493 return ret; 494 494 } 495 495 } ··· 1076 1078 */ 1077 1079 static int find_node(struct device_node *tree, struct device_node *np) 1078 1080 { 1079 - struct device_node *child; 1080 - 1081 1081 if (tree == np) 1082 1082 return 1; 1083 1083 1084 - for_each_child_of_node(tree, child) { 1085 - if (find_node(child, np)) { 1086 - of_node_put(child); 1084 + for_each_child_of_node_scoped(tree, child) { 1085 + if (find_node(child, np)) 1087 1086 return 1; 1088 - } 1089 1087 } 1090 1088 1091 1089 return 0;
+4 -10
drivers/of/platform.c
··· 338 338 struct device *parent, bool strict) 339 339 { 340 340 const struct of_dev_auxdata *auxdata; 341 - struct device_node *child; 342 341 struct platform_device *dev; 343 342 const char *bus_id = NULL; 344 343 void *platform_data = NULL; ··· 381 382 if (!dev || !of_match_node(matches, bus)) 382 383 return 0; 383 384 384 - for_each_child_of_node(bus, child) { 385 + for_each_child_of_node_scoped(bus, child) { 385 386 pr_debug(" create child: %pOF\n", child); 386 387 rc = of_platform_bus_create(child, matches, lookup, &dev->dev, strict); 387 - if (rc) { 388 - of_node_put(child); 388 + if (rc) 389 389 break; 390 - } 391 390 } 392 391 of_node_set_flag(bus, OF_POPULATED_BUS); 393 392 return rc; ··· 456 459 const struct of_dev_auxdata *lookup, 457 460 struct device *parent) 458 461 { 459 - struct device_node *child; 460 462 int rc = 0; 461 463 462 464 root = root ? of_node_get(root) : of_find_node_by_path("/"); ··· 466 470 pr_debug(" starting at: %pOF\n", root); 467 471 468 472 device_links_supplier_sync_state_pause(); 469 - for_each_child_of_node(root, child) { 473 + for_each_child_of_node_scoped(root, child) { 470 474 rc = of_platform_bus_create(child, matches, lookup, parent, true); 471 - if (rc) { 472 - of_node_put(child); 475 + if (rc) 473 476 break; 474 - } 475 477 } 476 478 device_links_supplier_sync_state_resume(); 477 479
+17 -24
drivers/of/property.c
··· 452 452 453 453 /** 454 454 * of_property_match_string() - Find string in a list and return index 455 - * @np: pointer to node containing string list property 455 + * @np: pointer to the node containing the string list property 456 456 * @propname: string list property name 457 - * @string: pointer to string to search for in string list 457 + * @string: pointer to the string to search for in the string list 458 458 * 459 - * This function searches a string list property and returns the index 460 - * of a specific string value. 459 + * Search for an exact match of string in a device node property which is a 460 + * string of lists. 461 + * 462 + * Return: the index of the first occurrence of the string on success, -EINVAL 463 + * if the property does not exist, -ENODATA if the property does not have a 464 + * value, and -EILSEQ if the string is not null-terminated within the length of 465 + * the property data. 461 466 */ 462 467 int of_property_match_string(const struct device_node *np, const char *propname, 463 468 const char *string) ··· 778 773 struct device_node *of_graph_get_remote_port_parent( 779 774 const struct device_node *node) 780 775 { 781 - struct device_node *np, *pp; 782 - 783 776 /* Get remote endpoint node. */ 784 - np = of_graph_get_remote_endpoint(node); 777 + struct device_node *np __free(device_node) = 778 + of_graph_get_remote_endpoint(node); 785 779 786 - pp = of_graph_get_port_parent(np); 787 - 788 - of_node_put(np); 789 - 790 - return pp; 780 + return of_graph_get_port_parent(np); 791 781 } 792 782 EXPORT_SYMBOL(of_graph_get_remote_port_parent); 793 783 ··· 1064 1064 struct device_node *sup_np, 1065 1065 u8 flags) 1066 1066 { 1067 - struct device_node *tmp_np = of_node_get(sup_np); 1067 + struct device_node *tmp_np __free(device_node) = of_node_get(sup_np); 1068 1068 1069 1069 /* Check that sup_np and its ancestors are available. */ 1070 1070 while (tmp_np) { 1071 - if (of_fwnode_handle(tmp_np)->dev) { 1072 - of_node_put(tmp_np); 1071 + if (of_fwnode_handle(tmp_np)->dev) 1073 1072 break; 1074 - } 1075 1073 1076 - if (!of_device_is_available(tmp_np)) { 1077 - of_node_put(tmp_np); 1074 + if (!of_device_is_available(tmp_np)) 1078 1075 return; 1079 - } 1080 1076 1081 1077 tmp_np = of_get_next_parent(tmp_np); 1082 1078 } ··· 1436 1440 } 1437 1441 1438 1442 while ((phandle = s->parse_prop(con_np, prop_name, i))) { 1439 - struct device_node *con_dev_np; 1443 + struct device_node *con_dev_np __free(device_node) = 1444 + s->get_con_dev ? s->get_con_dev(con_np) : of_node_get(con_np); 1440 1445 1441 - con_dev_np = s->get_con_dev 1442 - ? s->get_con_dev(con_np) 1443 - : of_node_get(con_np); 1444 1446 matched = true; 1445 1447 i++; 1446 1448 of_link_to_phandle(con_dev_np, phandle, s->fwlink_flags); 1447 1449 of_node_put(phandle); 1448 - of_node_put(con_dev_np); 1449 1450 } 1450 1451 s++; 1451 1452 }
+4 -8
drivers/of/resolver.c
··· 150 150 static int adjust_local_phandle_references(struct device_node *local_fixups, 151 151 struct device_node *overlay, int phandle_delta) 152 152 { 153 - struct device_node *child, *overlay_child; 153 + struct device_node *overlay_child; 154 154 struct property *prop_fix, *prop; 155 155 int err, i, count; 156 156 unsigned int off; ··· 194 194 * The roots of the subtrees are the overlay's __local_fixups__ node 195 195 * and the overlay's root node. 196 196 */ 197 - for_each_child_of_node(local_fixups, child) { 197 + for_each_child_of_node_scoped(local_fixups, child) { 198 198 199 199 for_each_child_of_node(overlay, overlay_child) 200 200 if (!node_name_cmp(child, overlay_child)) { ··· 202 202 break; 203 203 } 204 204 205 - if (!overlay_child) { 206 - of_node_put(child); 205 + if (!overlay_child) 207 206 return -EINVAL; 208 - } 209 207 210 208 err = adjust_local_phandle_references(child, overlay_child, 211 209 phandle_delta); 212 - if (err) { 213 - of_node_put(child); 210 + if (err) 214 211 return err; 215 - } 216 212 } 217 213 218 214 return 0;
+2 -2
drivers/of/unittest.c
··· 900 900 unittest(!of_find_node_by_path("/testcase-data/changeset/n2/n21"), 901 901 "'%pOF' still present after revert\n", n21); 902 902 903 - ppremove = of_find_property(parent, "prop-remove", NULL); 904 - unittest(ppremove, "failed to find removed prop after revert\n"); 903 + unittest(of_property_present(parent, "prop-remove"), 904 + "failed to find removed prop after revert\n"); 905 905 906 906 ret = of_property_read_string(parent, "prop-update", &propstr); 907 907 unittest(!ret, "failed to find updated prop after revert\n");
+2
include/dt-bindings/interrupt-controller/arm-gic.h
··· 12 12 13 13 #define GIC_SPI 0 14 14 #define GIC_PPI 1 15 + #define GIC_ESPI 2 16 + #define GIC_EPPI 3 15 17 16 18 /* 17 19 * Interrupt specifier cell 2.
+12 -4
scripts/dtc/checks.c
··· 1826 1826 if (node->bus != &graph_port_bus) 1827 1827 return; 1828 1828 1829 + check_graph_reg(c, dti, node); 1830 + 1831 + /* skip checks below for overlays */ 1832 + if (dti->dtsflags & DTSF_PLUGIN) 1833 + return; 1834 + 1829 1835 if (!strprefixeq(node->name, node->basenamelen, "port")) 1830 1836 FAIL(c, dti, node, "graph port node name should be 'port'"); 1831 - 1832 - check_graph_reg(c, dti, node); 1833 1837 } 1834 1838 WARNING(graph_port, check_graph_port, NULL, &graph_nodes); 1835 1839 ··· 1868 1864 if (!node->parent || node->parent->bus != &graph_port_bus) 1869 1865 return; 1870 1866 1867 + check_graph_reg(c, dti, node); 1868 + 1869 + /* skip checks below for overlays */ 1870 + if (dti->dtsflags & DTSF_PLUGIN) 1871 + return; 1872 + 1871 1873 if (!strprefixeq(node->name, node->basenamelen, "endpoint")) 1872 1874 FAIL(c, dti, node, "graph endpoint node name should be 'endpoint'"); 1873 - 1874 - check_graph_reg(c, dti, node); 1875 1875 1876 1876 remote_node = get_remote_endpoint(c, dti, node); 1877 1877 if (!remote_node)
+13
scripts/dtc/dt-extract-compatibles
··· 46 46 return match_table_list 47 47 48 48 49 + def parse_of_functions(data, func_name): 50 + """ Find all compatibles in the last argument of a given function """ 51 + compat_list = [] 52 + for m in re.finditer(rf'{func_name}\(([a-zA-Z0-9_>\(\)"\-]+,\s)*"([a-zA-Z0-9_,-]+)"\)', data): 53 + compat_list.append(m[2]) 54 + 55 + return compat_list 56 + 57 + 49 58 def parse_compatibles(file, compat_ignore_list): 50 59 with open(file, 'r', encoding='utf-8') as f: 51 60 data = f.read().replace('\n', '') ··· 69 60 else: 70 61 compat_list = parse_of_declare_macros(data) 71 62 compat_list += parse_of_device_id(data) 63 + compat_list += parse_of_functions(data, "_is_compatible") 64 + compat_list += parse_of_functions(data, "of_find_compatible_node") 65 + compat_list += parse_of_functions(data, "for_each_compatible_node") 66 + compat_list += parse_of_functions(data, "of_get_compatible_child") 72 67 73 68 return compat_list 74 69
+1 -1
scripts/dtc/fdtoverlay.c
··· 48 48 int ret; 49 49 50 50 /* 51 - * We take a copies first, because a failed apply can trash 51 + * We take copies first, because a failed apply can trash 52 52 * both the base blob and the overlay 53 53 */ 54 54 tmpo = xmalloc(fdt_totalsize(overlay));
+1 -1
scripts/dtc/version_gen.h
··· 1 - #define DTC_VERSION "DTC 1.7.0-g1df7b047" 1 + #define DTC_VERSION "DTC 1.7.0-gbcd02b52"
+14 -1
tools/testing/selftests/dt/test_unprobed_devices.sh
··· 34 34 # Check if node is available 35 35 if [[ -e "${node}"/status ]]; then 36 36 status=$(tr -d '\000' < "${node}"/status) 37 - [[ "${status}" != "okay" && "${status}" != "ok" ]] && continue 37 + if [[ "${status}" != "okay" && "${status}" != "ok" ]]; then 38 + if [ -n "${disabled_nodes_regex}" ]; then 39 + disabled_nodes_regex="${disabled_nodes_regex}|${node}" 40 + else 41 + disabled_nodes_regex="${node}" 42 + fi 43 + continue 44 + fi 38 45 fi 46 + 47 + # Ignore this node if one of its ancestors was disabled 48 + if [ -n "${disabled_nodes_regex}" ]; then 49 + echo "${node}" | grep -q -E "${disabled_nodes_regex}" && continue 50 + fi 51 + 39 52 echo "${node}" | sed -e 's|\/proc\/device-tree||' 40 53 done | sort 41 54 )