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

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

Pull devicetree updates from Rob Herring:
"DT bindings:

- Convert lattice,ice40-fpga-mgr, apm,xgene-storm-dma,
brcm,sr-thermal, amazon,al-thermal, brcm,ocotp, mt8173-mdp, Actions
Owl SPS, Marvell AP80x System Controller, Marvell CP110 System
Controller, cznic,moxtet, and apm,xgene-slimpro-mbox to DT schema
format

- Add i.MX95 fsl,irqsteer, MT8365 Mali Bifrost GPU, Anvo ANV32C81W
EEPROM, and Microchip pic64gx PLIC

- Add missing LGE, AMD Seattle, and APM X-Gene SoC platform
compatibles

- Updates to brcm,bcm2836-l1-intc, brcm,bcm2835-hvs, and bcm2711-hdmi
bindings to fix warnings on BCM2712 platforms

- Drop obsolete db8500-thermal.txt

- Treewide clean-up of extra blank lines and inconsistent quoting

- Ensure all .dtbo targets are applied to a base .dtb

- Speed up dt_binding_check by skipping running validation on empty
examples

DT core:

- Add of_machine_device_match() and of_machine_get_match_data()
helpers and convert users treewide

- Fix bounds checking of address properties in FDT code. Rework the
code to have a single implementation of the bounds checks.

- Rework of_irq_init() to ignore any implicit interrupt-parent (i.e.
in a parent node) on nodes without an interrupt. This matches the
spec description and fixes some RISC-V platforms.

- Avoid a spurious message on overlay removal

- Skip DT kunit tests on RISCV+ACPI"

* tag 'devicetree-for-6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (55 commits)
dt-bindings: kbuild: Skip validating empty examples
dt-bindings: interrupt-controller: brcm,bcm2836-l1-intc: Drop interrupt-controller requirement
dt-bindings: display: Fix brcm,bcm2835-hvs bindings for BCM2712
dt-bindings: display: bcm2711-hdmi: Add interrupt details for BCM2712
of: Skip devicetree kunit tests when RISCV+ACPI doesn't populate root node
soc: tegra: Simplify with of_machine_device_match()
soc: qcom: ubwc: Simplify with of_machine_get_match_data()
powercap: dtpm: Simplify with of_machine_get_match_data()
platform: surface: Simplify with of_machine_get_match_data()
irqchip/atmel-aic: Simplify with of_machine_get_match_data()
firmware: qcom: scm: Simplify with of_machine_device_match()
cpuidle: big_little: Simplify with of_machine_device_match()
cpufreq: sun50i: Simplify with of_machine_device_match()
cpufreq: mediatek: Simplify with of_machine_get_match_data()
cpufreq: dt-platdev: Simplify with of_machine_get_match_data()
of: Add wrappers to match root node with OF device ID tables
dt-bindings: eeprom: at25: Add Anvo ANV32C81W
of/reserved_mem: Simplify the logic of __reserved_mem_alloc_size()
of/reserved_mem: Simplify the logic of fdt_scan_reserved_mem_reg_nodes()
of/reserved_mem: Simplify the logic of __reserved_mem_reserve_reg()
...

+1543 -1346
+1 -1
Documentation/devicetree/bindings/.yamllint
··· 30 30 document-start: 31 31 present: true 32 32 empty-lines: 33 - max: 3 33 + max: 1 34 34 max-end: 1 35 35 empty-values: 36 36 forbid-in-block-mappings: true
+2 -1
Documentation/devicetree/bindings/Makefile
··· 32 32 sed 's|^$(srctree)/||' | \ 33 33 grep -F -e "$(subst :," -e ",$(DT_SCHEMA_FILES))" | \ 34 34 sed 's|^|$(srctree)/|' 35 - CHK_DT_EXAMPLES := $(patsubst $(srctree)/%.yaml,%.example.dtb, $(shell $(find_cmd))) 35 + CHK_DT_EXAMPLES := $(patsubst $(srctree)/%.yaml,%.example.dtb, \ 36 + $(shell $(find_cmd) | xargs grep -l '^examples:')) 36 37 37 38 quiet_cmd_yamllint = LINT $(src) 38 39 cmd_yamllint = ($(find_cmd) | \
+10 -10
Documentation/devicetree/bindings/arm/altera/socfpga-clk-manager.yaml
··· 27 27 additionalProperties: false 28 28 29 29 properties: 30 - "#address-cells": 30 + '#address-cells': 31 31 const: 1 32 32 33 - "#size-cells": 33 + '#size-cells': 34 34 const: 0 35 35 36 36 patternProperties: 37 - "^osc[0-9]$": 37 + '^osc[0-9]$': 38 38 type: object 39 39 40 - "^[a-z0-9,_]+(clk|pll|clk_gate|clk_divided)(@[a-f0-9]+)?$": 40 + '^[a-z0-9,_]+(clk|pll|clk_gate|clk_divided)(@[a-f0-9]+)?$': 41 41 type: object 42 42 $ref: '#/$defs/clock-props' 43 43 unevaluatedProperties: false ··· 58 58 minItems: 1 59 59 maxItems: 5 60 60 61 - "#address-cells": 61 + '#address-cells': 62 62 const: 1 63 63 64 - "#size-cells": 64 + '#size-cells': 65 65 const: 0 66 66 67 67 patternProperties: 68 - "^[a-z0-9,_]+(clk|pll)(@[a-f0-9]+)?$": 68 + '^[a-z0-9,_]+(clk|pll)(@[a-f0-9]+)?$': 69 69 type: object 70 70 $ref: '#/$defs/clock-props' 71 71 unevaluatedProperties: false ··· 86 86 required: 87 87 - compatible 88 88 - clocks 89 - - "#clock-cells" 89 + - '#clock-cells' 90 90 91 91 required: 92 92 - compatible 93 - - "#clock-cells" 93 + - '#clock-cells' 94 94 95 95 required: 96 96 - compatible ··· 104 104 reg: 105 105 maxItems: 1 106 106 107 - "#clock-cells": 107 + '#clock-cells': 108 108 const: 0 109 109 110 110 clk-gate:
+24
Documentation/devicetree/bindings/arm/amd,seattle.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/amd,seattle.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: AMD Seattle SoC Platforms 8 + 9 + maintainers: 10 + - Suravee Suthikulpanit <suravee.suthikulpanit@amd.com> 11 + - Tom Lendacky <thomas.lendacky@amd.com> 12 + 13 + properties: 14 + $nodename: 15 + const: "/" 16 + compatible: 17 + oneOf: 18 + - description: Boards with AMD Seattle SoC 19 + items: 20 + - const: amd,seattle-overdrive 21 + - const: amd,seattle 22 + 23 + additionalProperties: true 24 + ...
+28
Documentation/devicetree/bindings/arm/apm.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/apm.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: APM X-Gene SoC Platforms 8 + 9 + maintainers: 10 + - Khuong Dinh <khuong@os.amperecomputing.com> 11 + 12 + properties: 13 + $nodename: 14 + const: "/" 15 + compatible: 16 + oneOf: 17 + - description: Boards with X-Gene1 Soc 18 + items: 19 + - const: apm,mustang 20 + - const: apm,xgene-storm 21 + 22 + - description: Boards with X-Gene2 SoC 23 + items: 24 + - const: apm,merlin 25 + - const: apm,xgene-shadowcat 26 + 27 + additionalProperties: true 28 + ...
+28
Documentation/devicetree/bindings/arm/lge.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/lge.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: LG Electronics SoC Platforms 8 + 9 + maintainers: 10 + - Chanho Min <chanho.min@lge.com> 11 + 12 + properties: 13 + $nodename: 14 + const: "/" 15 + compatible: 16 + oneOf: 17 + - description: Boards with LG1312 Soc 18 + items: 19 + - const: lge,lg1312-ref 20 + - const: lge,lg1312 21 + 22 + - description: Boards with LG1313 SoC 23 + items: 24 + - const: lge,lg1313-ref 25 + - const: lge,lg1313 26 + 27 + additionalProperties: true 28 + ...
-146
Documentation/devicetree/bindings/arm/marvell/ap80x-system-controller.txt
··· 1 - Marvell Armada AP80x System Controller 2 - ====================================== 3 - 4 - The AP806/AP807 is one of the two core HW blocks of the Marvell Armada 5 - 7K/8K/931x SoCs. It contains system controllers, which provide several 6 - registers giving access to numerous features: clocks, pin-muxing and 7 - many other SoC configuration items. This DT binding allows to describe 8 - these system controllers. 9 - 10 - For the top level node: 11 - - compatible: must be: "syscon", "simple-mfd"; 12 - - reg: register area of the AP80x system controller 13 - 14 - SYSTEM CONTROLLER 0 15 - =================== 16 - 17 - Clocks: 18 - ------- 19 - 20 - 21 - The Device Tree node representing the AP806/AP807 system controller 22 - provides a number of clocks: 23 - 24 - - 0: reference clock of CPU cluster 0 25 - - 1: reference clock of CPU cluster 1 26 - - 2: fixed PLL at 1200 Mhz 27 - - 3: MSS clock, derived from the fixed PLL 28 - 29 - Required properties: 30 - 31 - - compatible: must be one of: 32 - * "marvell,ap806-clock" 33 - * "marvell,ap807-clock" 34 - - #clock-cells: must be set to 1 35 - 36 - Pinctrl: 37 - -------- 38 - 39 - For common binding part and usage, refer to 40 - Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt. 41 - 42 - Required properties: 43 - - compatible must be "marvell,ap806-pinctrl", 44 - 45 - Available mpp pins/groups and functions: 46 - Note: brackets (x) are not part of the mpp name for marvell,function and given 47 - only for more detailed description in this document. 48 - 49 - name pins functions 50 - ================================================================================ 51 - mpp0 0 gpio, sdio(clk), spi0(clk) 52 - mpp1 1 gpio, sdio(cmd), spi0(miso) 53 - mpp2 2 gpio, sdio(d0), spi0(mosi) 54 - mpp3 3 gpio, sdio(d1), spi0(cs0n) 55 - mpp4 4 gpio, sdio(d2), i2c0(sda) 56 - mpp5 5 gpio, sdio(d3), i2c0(sdk) 57 - mpp6 6 gpio, sdio(ds) 58 - mpp7 7 gpio, sdio(d4), uart1(rxd) 59 - mpp8 8 gpio, sdio(d5), uart1(txd) 60 - mpp9 9 gpio, sdio(d6), spi0(cs1n) 61 - mpp10 10 gpio, sdio(d7) 62 - mpp11 11 gpio, uart0(txd) 63 - mpp12 12 gpio, sdio(pw_off), sdio(hw_rst) 64 - mpp13 13 gpio 65 - mpp14 14 gpio 66 - mpp15 15 gpio 67 - mpp16 16 gpio 68 - mpp17 17 gpio 69 - mpp18 18 gpio 70 - mpp19 19 gpio, uart0(rxd), sdio(pw_off) 71 - 72 - GPIO: 73 - ----- 74 - For common binding part and usage, refer to 75 - Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml. 76 - 77 - Required properties: 78 - 79 - - compatible: "marvell,armada-8k-gpio" 80 - 81 - - offset: offset address inside the syscon block 82 - 83 - Optional properties: 84 - 85 - - marvell,pwm-offset: offset address of PWM duration control registers inside 86 - the syscon block 87 - 88 - Example: 89 - ap_syscon: system-controller@6f4000 { 90 - compatible = "syscon", "simple-mfd"; 91 - reg = <0x6f4000 0x1000>; 92 - 93 - ap_clk: clock { 94 - compatible = "marvell,ap806-clock"; 95 - #clock-cells = <1>; 96 - }; 97 - 98 - ap_pinctrl: pinctrl { 99 - compatible = "marvell,ap806-pinctrl"; 100 - }; 101 - 102 - ap_gpio: gpio { 103 - compatible = "marvell,armada-8k-gpio"; 104 - offset = <0x1040>; 105 - ngpios = <19>; 106 - gpio-controller; 107 - #gpio-cells = <2>; 108 - gpio-ranges = <&ap_pinctrl 0 0 19>; 109 - marvell,pwm-offset = <0x10c0>; 110 - #pwm-cells = <2>; 111 - clocks = <&ap_clk 3>; 112 - }; 113 - }; 114 - 115 - SYSTEM CONTROLLER 1 116 - =================== 117 - 118 - Cluster clocks: 119 - --------------- 120 - 121 - Device Tree Clock bindings for cluster clock of Marvell 122 - AP806/AP807. Each cluster contain up to 2 CPUs running at the same 123 - frequency. 124 - 125 - Required properties: 126 - - compatible: must be one of: 127 - * "marvell,ap806-cpu-clock" 128 - * "marvell,ap807-cpu-clock" 129 - - #clock-cells : should be set to 1. 130 - 131 - - clocks : shall be the input parent clock(s) phandle for the clock 132 - (one per cluster) 133 - 134 - - reg: register range associated with the cluster clocks 135 - 136 - ap_syscon1: system-controller@6f8000 { 137 - compatible = "marvell,armada-ap806-syscon1", "syscon", "simple-mfd"; 138 - reg = <0x6f8000 0x1000>; 139 - 140 - cpu_clk: clock-cpu@278 { 141 - compatible = "marvell,ap806-cpu-clock"; 142 - clocks = <&ap_clk 0>, <&ap_clk 1>; 143 - #clock-cells = <1>; 144 - reg = <0x278 0xa30>; 145 - }; 146 - };
-191
Documentation/devicetree/bindings/arm/marvell/cp110-system-controller.txt
··· 1 - Marvell Armada CP110 System Controller 2 - ====================================== 3 - 4 - The CP110 is one of the two core HW blocks of the Marvell Armada 7K/8K 5 - SoCs. It contains system controllers, which provide several registers 6 - giving access to numerous features: clocks, pin-muxing and many other 7 - SoC configuration items. This DT binding allows to describe these 8 - system controllers. 9 - 10 - For the top level node: 11 - - compatible: must be: "syscon", "simple-mfd"; 12 - - reg: register area of the CP110 system controller 13 - 14 - SYSTEM CONTROLLER 0 15 - =================== 16 - 17 - Clocks: 18 - ------- 19 - 20 - The Device Tree node representing this System Controller 0 provides a 21 - number of clocks: 22 - 23 - - a set of core clocks 24 - - a set of gateable clocks 25 - 26 - Those clocks can be referenced by other Device Tree nodes using two 27 - cells: 28 - - The first cell must be 0 or 1. 0 for the core clocks and 1 for the 29 - gateable clocks. 30 - - The second cell identifies the particular core clock or gateable 31 - clocks. 32 - 33 - The following clocks are available: 34 - - Core clocks 35 - - 0 0 APLL 36 - - 0 1 PPv2 core 37 - - 0 2 EIP 38 - - 0 3 Core 39 - - 0 4 NAND core 40 - - 0 5 SDIO core 41 - - Gateable clocks 42 - - 1 0 Audio 43 - - 1 1 Comm Unit 44 - - 1 2 NAND 45 - - 1 3 PPv2 46 - - 1 4 SDIO 47 - - 1 5 MG Domain 48 - - 1 6 MG Core 49 - - 1 7 XOR1 50 - - 1 8 XOR0 51 - - 1 9 GOP DP 52 - - 1 11 PCIe x1 0 53 - - 1 12 PCIe x1 1 54 - - 1 13 PCIe x4 55 - - 1 14 PCIe / XOR 56 - - 1 15 SATA 57 - - 1 16 SATA USB 58 - - 1 17 Main 59 - - 1 18 SD/MMC/GOP 60 - - 1 21 Slow IO (SPI, NOR, BootROM, I2C, UART) 61 - - 1 22 USB3H0 62 - - 1 23 USB3H1 63 - - 1 24 USB3 Device 64 - - 1 25 EIP150 65 - - 1 26 EIP197 66 - 67 - Required properties: 68 - 69 - - compatible: must be: 70 - "marvell,cp110-clock" 71 - - #clock-cells: must be set to 2 72 - 73 - Pinctrl: 74 - -------- 75 - 76 - For common binding part and usage, refer to the file 77 - Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt. 78 - 79 - Required properties: 80 - 81 - - compatible: "marvell,armada-7k-pinctrl", "marvell,armada-8k-cpm-pinctrl", 82 - "marvell,armada-8k-cps-pinctrl" or "marvell,cp115-standalone-pinctrl" 83 - depending on the specific variant of the SoC being used. 84 - 85 - Available mpp pins/groups and functions: 86 - Note: brackets (x) are not part of the mpp name for marvell,function and given 87 - only for more detailed description in this document. 88 - 89 - name pins functions 90 - ================================================================================ 91 - mpp0 0 gpio, dev(ale1), au(i2smclk), ge0(rxd3), tdm(pclk), ptp(pulse), mss_i2c(sda), uart0(rxd), sata0(present_act), ge(mdio) 92 - mpp1 1 gpio, dev(ale0), au(i2sdo_spdifo), ge0(rxd2), tdm(drx), ptp(clk), mss_i2c(sck), uart0(txd), sata1(present_act), ge(mdc) 93 - mpp2 2 gpio, dev(ad15), au(i2sextclk), ge0(rxd1), tdm(dtx), mss_uart(rxd), ptp(pclk_out), i2c1(sck), uart1(rxd), sata0(present_act), xg(mdc) 94 - mpp3 3 gpio, dev(ad14), au(i2slrclk), ge0(rxd0), tdm(fsync), mss_uart(txd), pcie(rstoutn), i2c1(sda), uart1(txd), sata1(present_act), xg(mdio) 95 - mpp4 4 gpio, dev(ad13), au(i2sbclk), ge0(rxctl), tdm(rstn), mss_uart(rxd), uart1(cts), pcie0(clkreq), uart3(rxd), ge(mdc) 96 - mpp5 5 gpio, dev(ad12), au(i2sdi), ge0(rxclk), tdm(intn), mss_uart(txd), uart1(rts), pcie1(clkreq), uart3(txd), ge(mdio) 97 - mpp6 6 gpio, dev(ad11), ge0(txd3), spi0(csn2), au(i2sextclk), sata1(present_act), pcie2(clkreq), uart0(rxd), ptp(pulse) 98 - mpp7 7 gpio, dev(ad10), ge0(txd2), spi0(csn1), spi1(csn1), sata0(present_act), led(data), uart0(txd), ptp(clk) 99 - mpp8 8 gpio, dev(ad9), ge0(txd1), spi0(csn0), spi1(csn0), uart0(cts), led(stb), uart2(rxd), ptp(pclk_out), synce1(clk) 100 - mpp9 9 gpio, dev(ad8), ge0(txd0), spi0(mosi), spi1(mosi), pcie(rstoutn), synce2(clk) 101 - mpp10 10 gpio, dev(readyn), ge0(txctl), spi0(miso), spi1(miso), uart0(cts), sata1(present_act) 102 - mpp11 11 gpio, dev(wen1), ge0(txclkout), spi0(clk), spi1(clk), uart0(rts), led(clk), uart2(txd), sata0(present_act) 103 - mpp12 12 gpio, dev(clk_out), nf(rbn1), spi1(csn1), ge0(rxclk) 104 - mpp13 13 gpio, dev(burstn), nf(rbn0), spi1(miso), ge0(rxctl), mss_spi(miso) 105 - mpp14 14 gpio, dev(bootcsn), dev(csn0), spi1(csn0), spi0(csn3), au(i2sextclk), spi0(miso), sata0(present_act), mss_spi(csn) 106 - mpp15 15 gpio, dev(ad7), spi1(mosi), spi0(mosi), mss_spi(mosi), ptp(pulse_cp2cp) 107 - mpp16 16 gpio, dev(ad6), spi1(clk), mss_spi(clk) 108 - mpp17 17 gpio, dev(ad5), ge0(txd3) 109 - mpp18 18 gpio, dev(ad4), ge0(txd2), ptp(clk_cp2cp) 110 - mpp19 19 gpio, dev(ad3), ge0(txd1), wakeup(out_cp2cp) 111 - mpp20 20 gpio, dev(ad2), ge0(txd0) 112 - mpp21 21 gpio, dev(ad1), ge0(txctl), sei(in_cp2cp) 113 - mpp22 22 gpio, dev(ad0), ge0(txclkout), wakeup(in_cp2cp) 114 - mpp23 23 gpio, dev(a1), au(i2smclk), link(rd_in_cp2cp) 115 - mpp24 24 gpio, dev(a0), au(i2slrclk) 116 - mpp25 25 gpio, dev(oen), au(i2sdo_spdifo) 117 - mpp26 26 gpio, dev(wen0), au(i2sbclk) 118 - mpp27 27 gpio, dev(csn0), spi1(miso), mss_gpio4, ge0(rxd3), spi0(csn4), ge(mdio), sata0(present_act), uart0(rts), rei(in_cp2cp) 119 - mpp28 28 gpio, dev(csn1), spi1(csn0), mss_gpio5, ge0(rxd2), spi0(csn5), pcie2(clkreq), ptp(pulse), ge(mdc), sata1(present_act), uart0(cts), led(data) 120 - mpp29 29 gpio, dev(csn2), spi1(mosi), mss_gpio6, ge0(rxd1), spi0(csn6), pcie1(clkreq), ptp(clk), mss_i2c(sda), sata0(present_act), uart0(rxd), led(stb) 121 - mpp30 30 gpio, dev(csn3), spi1(clk), mss_gpio7, ge0(rxd0), spi0(csn7), pcie0(clkreq), ptp(pclk_out), mss_i2c(sck), sata1(present_act), uart0(txd), led(clk) 122 - mpp31 31 gpio, dev(a2), mss_gpio4, pcie(rstoutn), ge(mdc) 123 - mpp32 32 gpio, mii(col), mii(txerr), mss_spi(miso), tdm(drx), au(i2sextclk), au(i2sdi), ge(mdio), sdio(v18_en), pcie1(clkreq), mss_gpio0 124 - mpp33 33 gpio, mii(txclk), sdio(pwr10), mss_spi(csn), tdm(fsync), au(i2smclk), sdio(bus_pwr), xg(mdio), pcie2(clkreq), mss_gpio1 125 - mpp34 34 gpio, mii(rxerr), sdio(pwr11), mss_spi(mosi), tdm(dtx), au(i2slrclk), sdio(wr_protect), ge(mdc), pcie0(clkreq), mss_gpio2 126 - mpp35 35 gpio, sata1(present_act), i2c1(sda), mss_spi(clk), tdm(pclk), au(i2sdo_spdifo), sdio(card_detect), xg(mdio), ge(mdio), pcie(rstoutn), mss_gpio3 127 - mpp36 36 gpio, synce2(clk), i2c1(sck), ptp(clk), synce1(clk), au(i2sbclk), sata0(present_act), xg(mdc), ge(mdc), pcie2(clkreq), mss_gpio5 128 - mpp37 37 gpio, uart2(rxd), i2c0(sck), ptp(pclk_out), tdm(intn), mss_i2c(sck), sata1(present_act), ge(mdc), xg(mdc), pcie1(clkreq), mss_gpio6, link(rd_out_cp2cp) 129 - mpp38 38 gpio, uart2(txd), i2c0(sda), ptp(pulse), tdm(rstn), mss_i2c(sda), sata0(present_act), ge(mdio), xg(mdio), au(i2sextclk), mss_gpio7, ptp(pulse_cp2cp) 130 - mpp39 39 gpio, sdio(wr_protect), au(i2sbclk), ptp(clk), spi0(csn1), sata1(present_act), mss_gpio0 131 - mpp40 40 gpio, sdio(pwr11), synce1(clk), mss_i2c(sda), au(i2sdo_spdifo), ptp(pclk_out), spi0(clk), uart1(txd), ge(mdio), sata0(present_act), mss_gpio1 132 - mpp41 41 gpio, sdio(pwr10), sdio(bus_pwr), mss_i2c(sck), au(i2slrclk), ptp(pulse), spi0(mosi), uart1(rxd), ge(mdc), sata1(present_act), mss_gpio2, rei(out_cp2cp) 133 - mpp42 42 gpio, sdio(v18_en), sdio(wr_protect), synce2(clk), au(i2smclk), mss_uart(txd), spi0(miso), uart1(cts), xg(mdc), sata0(present_act), mss_gpio4 134 - mpp43 43 gpio, sdio(card_detect), synce1(clk), au(i2sextclk), mss_uart(rxd), spi0(csn0), uart1(rts), xg(mdio), sata1(present_act), mss_gpio5, wakeup(out_cp2cp) 135 - mpp44 44 gpio, ge1(txd2), uart0(rts), ptp(clk_cp2cp) 136 - mpp45 45 gpio, ge1(txd3), uart0(txd), pcie(rstoutn) 137 - mpp46 46 gpio, ge1(txd1), uart1(rts) 138 - mpp47 47 gpio, ge1(txd0), spi1(clk), uart1(txd), ge(mdc) 139 - mpp48 48 gpio, ge1(txctl_txen), spi1(mosi), xg(mdc), wakeup(in_cp2cp) 140 - mpp49 49 gpio, ge1(txclkout), mii(crs), spi1(miso), uart1(rxd), ge(mdio), pcie0(clkreq), sdio(v18_en), sei(out_cp2cp) 141 - mpp50 50 gpio, ge1(rxclk), mss_i2c(sda), spi1(csn0), uart2(txd), uart0(rxd), xg(mdio), sdio(pwr11) 142 - mpp51 51 gpio, ge1(rxd0), mss_i2c(sck), spi1(csn1), uart2(rxd), uart0(cts), sdio(pwr10) 143 - mpp52 52 gpio, ge1(rxd1), synce1(clk), synce2(clk), spi1(csn2), uart1(cts), led(clk), pcie(rstoutn), pcie0(clkreq) 144 - mpp53 53 gpio, ge1(rxd2), ptp(clk), spi1(csn3), uart1(rxd), led(stb), sdio(led) 145 - mpp54 54 gpio, ge1(rxd3), synce2(clk), ptp(pclk_out), synce1(clk), led(data), sdio(hw_rst), sdio_wp(wr_protect) 146 - mpp55 55 gpio, ge1(rxctl_rxdv), ptp(pulse), sdio(led), sdio_cd(card_detect) 147 - mpp56 56 gpio, tdm(drx), au(i2sdo_spdifo), spi0(clk), uart1(rxd), sata1(present_act), sdio(clk) 148 - mpp57 57 gpio, mss_i2c(sda), ptp(pclk_out), tdm(intn), au(i2sbclk), spi0(mosi), uart1(txd), sata0(present_act), sdio(cmd) 149 - mpp58 58 gpio, mss_i2c(sck), ptp(clk), tdm(rstn), au(i2sdi), spi0(miso), uart1(cts), led(clk), sdio(d0) 150 - mpp59 59 gpio, mss_gpio7, synce2(clk), tdm(fsync), au(i2slrclk), spi0(csn0), uart0(cts), led(stb), uart1(txd), sdio(d1) 151 - mpp60 60 gpio, mss_gpio6, ptp(pulse), tdm(dtx), au(i2smclk), spi0(csn1), uart0(rts), led(data), uart1(rxd), sdio(d2) 152 - mpp61 61 gpio, mss_gpio5, ptp(clk), tdm(pclk), au(i2sextclk), spi0(csn2), uart0(txd), uart2(txd), sata1(present_act), ge(mdio), sdio(d3) 153 - mpp62 62 gpio, mss_gpio4, synce1(clk), ptp(pclk_out), sata1(present_act), spi0(csn3), uart0(rxd), uart2(rxd), sata0(present_act), ge(mdc) 154 - 155 - GPIO: 156 - ----- 157 - 158 - For common binding part and usage, refer to 159 - Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml. 160 - 161 - Required properties: 162 - 163 - - compatible: "marvell,armada-8k-gpio" 164 - 165 - - offset: offset address inside the syscon block 166 - 167 - Example: 168 - 169 - CP110_LABEL(syscon0): system-controller@440000 { 170 - compatible = "syscon", "simple-mfd"; 171 - reg = <0x440000 0x1000>; 172 - 173 - CP110_LABEL(clk): clock { 174 - compatible = "marvell,cp110-clock"; 175 - #clock-cells = <2>; 176 - }; 177 - 178 - CP110_LABEL(pinctrl): pinctrl { 179 - compatible = "marvell,armada-8k-cpm-pinctrl"; 180 - }; 181 - 182 - CP110_LABEL(gpio1): gpio@100 { 183 - compatible = "marvell,armada-8k-gpio"; 184 - offset = <0x100>; 185 - ngpios = <32>; 186 - gpio-controller; 187 - #gpio-cells = <2>; 188 - gpio-ranges = <&CP110_LABEL(pinctrl) 0 0 32>; 189 - }; 190 - 191 - };
-1
Documentation/devicetree/bindings/arm/psci.yaml
··· 163 163 method = "smc"; 164 164 }; 165 165 166 - 167 166 - |+ 168 167 169 168 // Case 3: PSCI v0.2 and PSCI v0.1.
+1 -1
Documentation/devicetree/bindings/bus/allwinner,sun8i-a23-rsb.yaml
··· 43 43 maximum: 20000000 44 44 45 45 patternProperties: 46 - "^.*@[0-9a-fA-F]+$": 46 + "@[0-9a-f]+$": 47 47 type: object 48 48 additionalProperties: true 49 49 properties:
+94
Documentation/devicetree/bindings/bus/cznic,moxtet.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/bus/cznic,moxtet.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Turris Moxtet SPI bus 8 + 9 + maintainers: 10 + - Marek Behún <kabel@kernel.org> 11 + 12 + description: > 13 + Turris Mox module status and configuration bus (over SPI) 14 + 15 + The driver finds the devices connected to the bus by itself, but it may be 16 + needed to reference some of them from other parts of the device tree. In that 17 + case the devices can be defined as subnodes of the moxtet node. 18 + 19 + properties: 20 + compatible: 21 + const: cznic,moxtet 22 + 23 + reg: 24 + maxItems: 1 25 + 26 + "#address-cells": 27 + const: 1 28 + 29 + "#size-cells": 30 + const: 0 31 + 32 + spi-cpol: true 33 + 34 + spi-cpha: true 35 + 36 + spi-max-frequency: true 37 + 38 + interrupt-controller: true 39 + 40 + "#interrupt-cells": 41 + const: 1 42 + 43 + interrupts: 44 + maxItems: 1 45 + 46 + reset-gpios: 47 + maxItems: 1 48 + 49 + required: 50 + - compatible 51 + - reg 52 + - "#address-cells" 53 + - "#size-cells" 54 + - spi-cpol 55 + - spi-cpha 56 + - interrupts 57 + - interrupt-controller 58 + - "#interrupt-cells" 59 + 60 + additionalProperties: 61 + type: object 62 + 63 + required: 64 + - reg 65 + 66 + examples: 67 + - | 68 + #include <dt-bindings/interrupt-controller/irq.h> 69 + 70 + spi { 71 + #address-cells = <1>; 72 + #size-cells = <0>; 73 + 74 + moxtet@1 { 75 + compatible = "cznic,moxtet"; 76 + #address-cells = <1>; 77 + #size-cells = <0>; 78 + reg = <1>; 79 + spi-max-frequency = <10000000>; 80 + spi-cpol; 81 + spi-cpha; 82 + interrupt-controller; 83 + #interrupt-cells = <1>; 84 + interrupt-parent = <&gpiosb>; 85 + interrupts = <5 IRQ_TYPE_EDGE_FALLING>; 86 + 87 + gpio@0 { 88 + compatible = "cznic,moxtet-gpio"; 89 + gpio-controller; 90 + #gpio-cells = <2>; 91 + reg = <0>; 92 + }; 93 + }; 94 + };
-46
Documentation/devicetree/bindings/bus/moxtet.txt
··· 1 - Turris Mox module status and configuration bus (over SPI) 2 - 3 - Required properties: 4 - - compatible : Should be "cznic,moxtet" 5 - - #address-cells : Has to be 1 6 - - #size-cells : Has to be 0 7 - - spi-cpol : Required inverted clock polarity 8 - - spi-cpha : Required shifted clock phase 9 - - interrupts : Must contain reference to the shared interrupt line 10 - - interrupt-controller : Required 11 - - #interrupt-cells : Has to be 1 12 - 13 - For other required and optional properties of SPI slave nodes please refer to 14 - ../spi/spi-bus.txt. 15 - 16 - Required properties of subnodes: 17 - - reg : Should be position on the Moxtet bus (how many Moxtet 18 - modules are between this module and CPU module, so 19 - either 0 or a positive integer) 20 - 21 - The driver finds the devices connected to the bus by itself, but it may be 22 - needed to reference some of them from other parts of the device tree. In that 23 - case the devices can be defined as subnodes of the moxtet node. 24 - 25 - Example: 26 - 27 - moxtet@1 { 28 - compatible = "cznic,moxtet"; 29 - #address-cells = <1>; 30 - #size-cells = <0>; 31 - reg = <1>; 32 - spi-max-frequency = <10000000>; 33 - spi-cpol; 34 - spi-cpha; 35 - interrupt-controller; 36 - #interrupt-cells = <1>; 37 - interrupt-parent = <&gpiosb>; 38 - interrupts = <5 IRQ_TYPE_EDGE_FALLING>; 39 - 40 - moxtet_sfp: gpio@0 { 41 - compatible = "cznic,moxtet-gpio"; 42 - gpio-controller; 43 - #gpio-cells = <2>; 44 - reg = <0>; 45 - } 46 - };
+1 -1
Documentation/devicetree/bindings/bus/st,stm32-etzpc.yaml
··· 44 44 Contains the firewall ID associated to the peripheral. 45 45 46 46 patternProperties: 47 - "^.*@[0-9a-f]+$": 47 + "@[0-9a-f]+$": 48 48 description: Peripherals 49 49 type: object 50 50
+1 -1
Documentation/devicetree/bindings/bus/st,stm32mp25-rifsc.yaml
··· 60 60 Contains the firewall ID associated to the peripheral. 61 61 62 62 patternProperties: 63 - "^.*@[0-9a-f]+$": 63 + "@[0-9a-f]+$": 64 64 description: Peripherals 65 65 type: object 66 66
-1
Documentation/devicetree/bindings/clock/allwinner,sun4i-a10-gates-clk.yaml
··· 132 132 "ahb_mp", "ahb_mali400"; 133 133 }; 134 134 135 - 136 135 - | 137 136 clk@1c20068 { 138 137 #clock-cells = <1>;
+54
Documentation/devicetree/bindings/clock/marvell,ap80x-clock.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/clock/marvell,ap80x-clock.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Marvell Armada AP80x System Controller Clocks 8 + 9 + maintainers: 10 + - Gregory Clement <gregory.clement@bootlin.com> 11 + - Miquel Raynal <miquel.raynal@bootlin.com> 12 + 13 + description: > 14 + The AP806/AP807 is one of the two core HW blocks of the Marvell Armada 15 + 7K/8K/931x SoCs. It contains system controllers, which provide several 16 + registers giving access to numerous features: clocks, pin-muxing and many 17 + other SoC configuration items. 18 + 19 + properties: 20 + compatible: 21 + enum: 22 + - marvell,ap806-clock 23 + - marvell,ap806-cpu-clock 24 + - marvell,ap807-clock 25 + - marvell,ap807-cpu-clock 26 + 27 + reg: 28 + maxItems: 1 29 + 30 + "#clock-cells": 31 + const: 1 32 + 33 + clocks: 34 + items: 35 + - description: cluster 0 parent clock phandle 36 + - description: cluster 1 parent clock phandle 37 + 38 + required: 39 + - compatible 40 + - "#clock-cells" 41 + 42 + additionalProperties: false 43 + 44 + allOf: 45 + - if: 46 + properties: 47 + compatible: 48 + contains: 49 + enum: 50 + - marvell,ap806-cpu-clock 51 + - marvell,ap807-cpu-clock 52 + then: 53 + required: 54 + - clocks
+70
Documentation/devicetree/bindings/clock/marvell,cp110-clock.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/clock/marvell,cp110-clock.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Marvell Armada CP110 System Controller Clocks 8 + 9 + maintainers: 10 + - Gregory Clement <gregory.clement@bootlin.com> 11 + - Miquel Raynal <miquel.raynal@bootlin.com> 12 + 13 + description: > 14 + The CP110 is one of the two core HW blocks of the Marvell Armada 7K/8K/931x 15 + SoCs. It contains system controllers, which provide several registers giving 16 + access to numerous features: clocks, pin-muxing and many other SoC 17 + configuration items. 18 + 19 + properties: 20 + compatible: 21 + const: marvell,cp110-clock 22 + 23 + "#clock-cells": 24 + const: 2 25 + description: > 26 + The first cell must be 0 or 1. 0 for the core clocks and 1 for the 27 + gateable clocks. The second cell identifies the particular core clock or 28 + gateable clocks. 29 + 30 + The following clocks are available: 31 + 32 + - Core clocks 33 + - 0 0 APLL 34 + - 0 1 PPv2 core 35 + - 0 2 EIP 36 + - 0 3 Core 37 + - 0 4 NAND core 38 + - 0 5 SDIO core 39 + 40 + - Gateable clocks 41 + - 1 0 Audio 42 + - 1 1 Comm Unit 43 + - 1 2 NAND 44 + - 1 3 PPv2 45 + - 1 4 SDIO 46 + - 1 5 MG Domain 47 + - 1 6 MG Core 48 + - 1 7 XOR1 49 + - 1 8 XOR0 50 + - 1 9 GOP DP 51 + - 1 11 PCIe x1 0 52 + - 1 12 PCIe x1 1 53 + - 1 13 PCIe x4 54 + - 1 14 PCIe / XOR 55 + - 1 15 SATA 56 + - 1 16 SATA USB 57 + - 1 17 Main 58 + - 1 18 SD/MMC/GOP 59 + - 1 21 Slow IO (SPI, NOR, BootROM, I2C, UART) 60 + - 1 22 USB3H0 61 + - 1 23 USB3H1 62 + - 1 24 USB3 Device 63 + - 1 25 EIP150 64 + - 1 26 EIP197 65 + 66 + required: 67 + - compatible 68 + - "#clock-cells" 69 + 70 + additionalProperties: false
+4 -4
Documentation/devicetree/bindings/clock/nvidia,tegra124-car.yaml
··· 37 37 '#clock-cells': 38 38 const: 1 39 39 40 - "#reset-cells": 40 + '#reset-cells': 41 41 const: 1 42 42 43 43 nvidia,external-memory-controller: ··· 46 46 phandle of the external memory controller node 47 47 48 48 patternProperties: 49 - "^emc-timings-[0-9]+$": 49 + '^emc-timings-[0-9]+$': 50 50 type: object 51 51 properties: 52 52 nvidia,ram-code: ··· 56 56 this timing set is used for 57 57 58 58 patternProperties: 59 - "^timing-[0-9]+$": 59 + '^timing-[0-9]+$': 60 60 type: object 61 61 properties: 62 62 clock-frequency: ··· 94 94 - compatible 95 95 - reg 96 96 - '#clock-cells' 97 - - "#reset-cells" 97 + - '#reset-cells' 98 98 99 99 additionalProperties: false 100 100
+3 -3
Documentation/devicetree/bindings/clock/nvidia,tegra20-car.yaml
··· 39 39 '#clock-cells': 40 40 const: 1 41 41 42 - "#reset-cells": 42 + '#reset-cells': 43 43 const: 1 44 44 45 45 patternProperties: 46 - "^(sclk)|(pll-[cem])$": 46 + '^(sclk)|(pll-[cem])$': 47 47 type: object 48 48 properties: 49 49 compatible: ··· 76 76 - compatible 77 77 - reg 78 78 - '#clock-cells' 79 - - "#reset-cells" 79 + - '#reset-cells' 80 80 81 81 additionalProperties: false 82 82
+1 -1
Documentation/devicetree/bindings/clock/qcom,rpmcc.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <bjorn.andersson@linaro.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: | 14 14 The clock enumerators are defined in <dt-bindings/clock/qcom,rpmcc.h> and
-1
Documentation/devicetree/bindings/clock/renesas,cpg-mssr.yaml
··· 99 99 the datasheet. 100 100 const: 1 101 101 102 - 103 102 required: 104 103 - compatible 105 104 - reg
-1
Documentation/devicetree/bindings/clock/xlnx,clocking-wizard.yaml
··· 22 22 - xlnx,clocking-wizard-v6.0 23 23 - xlnx,versal-clk-wizard 24 24 25 - 26 25 reg: 27 26 maxItems: 1 28 27
-1
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-frontend.yaml
··· 121 121 }; 122 122 }; 123 123 124 - 125 124 ...
-1
Documentation/devicetree/bindings/display/allwinner,sun6i-a31-drc.yaml
··· 121 121 }; 122 122 }; 123 123 124 - 125 124 ...
-1
Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-dw-hdmi.yaml
··· 142 142 reset-names: 143 143 minItems: 2 144 144 145 - 146 145 additionalProperties: false 147 146 148 147 examples:
-1
Documentation/devicetree/bindings/display/amlogic,meson-vpu.yaml
··· 25 25 M |-------|______|----|____________| |________________| | | 26 26 ___|__________________________________________________________|_______________| 27 27 28 - 29 28 VIU: Video Input Unit 30 29 --------------------- 31 30
+62 -14
Documentation/devicetree/bindings/display/brcm,bcm2711-hdmi.yaml
··· 56 56 - const: cec 57 57 58 58 interrupts: 59 - items: 60 - - description: CEC TX interrupt 61 - - description: CEC RX interrupt 62 - - description: CEC stuck at low interrupt 63 - - description: Wake-up interrupt 64 - - description: Hotplug connected interrupt 65 - - description: Hotplug removed interrupt 59 + minItems: 5 60 + maxItems: 6 66 61 67 62 interrupt-names: 68 - items: 69 - - const: cec-tx 70 - - const: cec-rx 71 - - const: cec-low 72 - - const: wakeup 73 - - const: hpd-connected 74 - - const: hpd-removed 63 + minItems: 5 64 + maxItems: 6 75 65 76 66 ddc: 77 67 $ref: /schemas/types.yaml#/definitions/phandle ··· 102 112 103 113 additionalProperties: false 104 114 115 + allOf: 116 + - if: 117 + properties: 118 + compatible: 119 + contains: 120 + enum: 121 + - brcm,bcm2711-hdmi0 122 + - brcm,bcm2711-hdmi1 123 + then: 124 + properties: 125 + interrupts: 126 + items: 127 + - description: CEC TX interrupt 128 + - description: CEC RX interrupt 129 + - description: CEC stuck at low interrupt 130 + - description: Wake-up interrupt 131 + - description: Hotplug connected interrupt 132 + - description: Hotplug removed interrupt 133 + interrupt-names: 134 + items: 135 + - const: cec-tx 136 + - const: cec-rx 137 + - const: cec-low 138 + - const: wakeup 139 + - const: hpd-connected 140 + - const: hpd-removed 141 + 142 + - if: 143 + properties: 144 + compatible: 145 + contains: 146 + enum: 147 + - brcm,bcm2712-hdmi0 148 + - brcm,bcm2712-hdmi1 149 + then: 150 + properties: 151 + interrupts: 152 + items: 153 + - description: CEC TX interrupt 154 + - description: CEC RX interrupt 155 + - description: CEC stuck at low interrupt 156 + - description: Hotplug connected interrupt 157 + - description: Hotplug removed interrupt 158 + interrupts-names: 159 + items: 160 + - const: cec-tx 161 + - const: cec-rx 162 + - const: cec-low 163 + - const: hpd-connected 164 + - const: hpd-removed 165 + 166 + required: 167 + - interrupts 168 + - interrupt-names 169 + 105 170 examples: 106 171 - | 107 172 hdmi0: hdmi@7ef00700 { ··· 181 136 "hd"; 182 137 clocks = <&firmware_clocks 13>, <&firmware_clocks 14>, <&dvp 1>, <&clk_27MHz>; 183 138 clock-names = "hdmi", "bvb", "audio", "cec"; 139 + interrupts = <0>, <1>, <2>, <3>, <4>, <5>; 140 + interrupt-names = "cec-tx", "cec-rx", "cec-low", "wakeup", 141 + "hpd-connected", "hpd-removed"; 184 142 resets = <&dvp 0>; 185 143 ddc = <&ddc0>; 186 144 };
+73 -13
Documentation/devicetree/bindings/display/brcm,bcm2835-hvs.yaml
··· 20 20 maxItems: 1 21 21 22 22 interrupts: 23 - maxItems: 1 23 + minItems: 1 24 + maxItems: 3 25 + 26 + interrupt-names: 27 + minItems: 1 28 + maxItems: 3 24 29 25 30 clocks: 26 - maxItems: 1 27 - description: Core Clock 31 + minItems: 1 32 + maxItems: 2 33 + 34 + clock-names: 35 + minItems: 1 36 + maxItems: 2 28 37 29 38 required: 30 39 - compatible ··· 42 33 43 34 additionalProperties: false 44 35 45 - if: 46 - properties: 47 - compatible: 48 - contains: 49 - enum: 50 - - brcm,bcm2711-hvs 51 - - brcm,bcm2712-hvs 36 + allOf: 37 + - if: 38 + properties: 39 + compatible: 40 + contains: 41 + const: brcm,bcm2711-hvs 52 42 53 - then: 54 - required: 55 - - clocks 43 + then: 44 + properties: 45 + clocks: 46 + items: 47 + - description: Core Clock 48 + interrupts: 49 + maxItems: 1 50 + clock-names: false 51 + interrupt-names: false 52 + 53 + required: 54 + - clocks 55 + 56 + - if: 57 + properties: 58 + compatible: 59 + contains: 60 + const: brcm,bcm2712-hvs 61 + 62 + then: 63 + properties: 64 + clocks: 65 + minItems: 2 66 + maxItems: 2 67 + clock-names: 68 + items: 69 + - const: core 70 + - const: disp 71 + interrupts: 72 + items: 73 + - description: Channel 0 End of frame 74 + - description: Channel 1 End of frame 75 + - description: Channel 2 End of frame 76 + interrupt-names: 77 + items: 78 + - const: ch0-eof 79 + - const: ch1-eof 80 + - const: ch2-eof 81 + required: 82 + - clocks 83 + - clock-names 84 + - interrupt-names 85 + 86 + - if: 87 + properties: 88 + compatible: 89 + contains: 90 + const: brcm,bcm2835-hvs 91 + 92 + then: 93 + properties: 94 + interrupts: 95 + maxItems: 1 96 + clock-names: false 97 + interrupt-names: false 56 98 57 99 examples: 58 100 - |
-1
Documentation/devicetree/bindings/display/bridge/adi,adv7511.yaml
··· 156 156 adi,input-style: false 157 157 adi,input-justification: false 158 158 159 - 160 159 required: 161 160 - compatible 162 161 - reg
-1
Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml
··· 131 131 132 132 additionalProperties: false 133 133 134 - 135 134 examples: 136 135 - | 137 136 lvds-encoder {
+1 -1
Documentation/devicetree/bindings/display/bridge/parade,ps8622.yaml
··· 7 7 title: Parade PS8622/PS8625 DisplayPort to LVDS Converter 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 12 12 properties: 13 13 compatible:
+1 -1
Documentation/devicetree/bindings/display/bridge/sil,sii8620.yaml
··· 7 7 title: Silicon Image SiI8620 HDMI/MHL bridge 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 12 12 properties: 13 13 compatible:
-1
Documentation/devicetree/bindings/display/bridge/toshiba,tc358767.yaml
··· 123 123 - required: 124 124 - port@1 125 125 126 - 127 126 required: 128 127 - compatible 129 128 - reg
-1
Documentation/devicetree/bindings/display/ilitek,ili9486.yaml
··· 54 54 #address-cells = <1>; 55 55 #size-cells = <0>; 56 56 57 - 58 57 display@0{ 59 58 compatible = "waveshare,rpi-lcd-35", "ilitek,ili9486"; 60 59 reg = <0>;
-1
Documentation/devicetree/bindings/display/msm/gpu.yaml
··· 133 133 For GMU attached devices a phandle to the GMU device that will 134 134 control the power for the GPU. 135 135 136 - 137 136 required: 138 137 - compatible 139 138 - reg
+1 -1
Documentation/devicetree/bindings/display/msm/qcom,sm8750-mdss.yaml
··· 7 7 title: Qualcomm SM8750 Display MDSS 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 12 12 description: 13 13 SM8650 MSM Mobile Display Subsystem(MDSS), which encapsulates sub-blocks like
-1
Documentation/devicetree/bindings/display/panel/panel-timing.yaml
··· 41 41 | | | v | | 42 42 +-------+----------+-------------------------------------+----------+ 43 43 44 - 45 44 The following is the panel timings shown with time on the x-axis. 46 45 This matches the timing diagrams often found in data sheets. 47 46
-1
Documentation/devicetree/bindings/display/panel/tpo,tpg110.yaml
··· 38 38 The serial protocol has line names that resemble I2C but the 39 39 protocol is not I2C but 3WIRE SPI. 40 40 41 - 42 41 allOf: 43 42 - $ref: panel-common.yaml# 44 43 - $ref: /schemas/spi/spi-peripheral-props.yaml#
-1
Documentation/devicetree/bindings/display/rockchip/rockchip,dw-dp.yaml
··· 125 125 power-domains = <&power RK3588_PD_VO0>; 126 126 #sound-dai-cells = <0>; 127 127 128 - 129 128 ports { 130 129 #address-cells = <1>; 131 130 #size-cells = <0>;
-1
Documentation/devicetree/bindings/display/simple-framebuffer.yaml
··· 181 181 required: 182 182 - amlogic,pipeline 183 183 184 - 185 184 additionalProperties: false 186 185 187 186 examples:
+59
Documentation/devicetree/bindings/dma/apm,xgene-storm-dma.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/apm,xgene-storm-dma.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: APM X-Gene Storm SoC DMA 8 + 9 + maintainers: 10 + - Khuong Dinh <khuong@os.amperecomputing.com> 11 + 12 + properties: 13 + compatible: 14 + const: apm,xgene-storm-dma 15 + 16 + reg: 17 + items: 18 + - description: DMA control and status registers 19 + - description: Descriptor ring control and status registers 20 + - description: Descriptor ring command registers 21 + - description: SoC efuse registers 22 + 23 + interrupts: 24 + items: 25 + - description: DMA error reporting interrupt 26 + - description: DMA channel 0 completion interrupt 27 + - description: DMA channel 1 completion interrupt 28 + - description: DMA channel 2 completion interrupt 29 + - description: DMA channel 3 completion interrupt 30 + 31 + clocks: 32 + maxItems: 1 33 + 34 + dma-coherent: true 35 + 36 + required: 37 + - compatible 38 + - reg 39 + - interrupts 40 + - clocks 41 + 42 + additionalProperties: false 43 + 44 + examples: 45 + - | 46 + dma@1f270000 { 47 + compatible = "apm,xgene-storm-dma"; 48 + reg = <0x1f270000 0x10000>, 49 + <0x1f200000 0x10000>, 50 + <0x1b000000 0x400000>, 51 + <0x1054a000 0x100>; 52 + interrupts = <0x0 0x82 0x4>, 53 + <0x0 0xb8 0x4>, 54 + <0x0 0xb9 0x4>, 55 + <0x0 0xba 0x4>, 56 + <0x0 0xbb 0x4>; 57 + dma-coherent; 58 + clocks = <&dmaclk 0>; 59 + };
-47
Documentation/devicetree/bindings/dma/apm-xgene-dma.txt
··· 1 - Applied Micro X-Gene SoC DMA nodes 2 - 3 - DMA nodes are defined to describe on-chip DMA interfaces in 4 - APM X-Gene SoC. 5 - 6 - Required properties for DMA interfaces: 7 - - compatible: Should be "apm,xgene-dma". 8 - - device_type: set to "dma". 9 - - reg: Address and length of the register set for the device. 10 - It contains the information of registers in the following order: 11 - 1st - DMA control and status register address space. 12 - 2nd - Descriptor ring control and status register address space. 13 - 3rd - Descriptor ring command register address space. 14 - 4th - Soc efuse register address space. 15 - - interrupts: DMA has 5 interrupts sources. 1st interrupt is 16 - DMA error reporting interrupt. 2nd, 3rd, 4th and 5th interrupts 17 - are completion interrupts for each DMA channels. 18 - - clocks: Reference to the clock entry. 19 - 20 - Optional properties: 21 - - dma-coherent : Present if dma operations are coherent 22 - 23 - Example: 24 - dmaclk: dmaclk@1f27c000 { 25 - compatible = "apm,xgene-device-clock"; 26 - #clock-cells = <1>; 27 - clocks = <&socplldiv2 0>; 28 - reg = <0x0 0x1f27c000 0x0 0x1000>; 29 - reg-names = "csr-reg"; 30 - clock-output-names = "dmaclk"; 31 - }; 32 - 33 - dma: dma@1f270000 { 34 - compatible = "apm,xgene-storm-dma"; 35 - device_type = "dma"; 36 - reg = <0x0 0x1f270000 0x0 0x10000>, 37 - <0x0 0x1f200000 0x0 0x10000>, 38 - <0x0 0x1b000000 0x0 0x400000>, 39 - <0x0 0x1054a000 0x0 0x100>; 40 - interrupts = <0x0 0x82 0x4>, 41 - <0x0 0xb8 0x4>, 42 - <0x0 0xb9 0x4>, 43 - <0x0 0xba 0x4>, 44 - <0x0 0xbb 0x4>; 45 - dma-coherent; 46 - clocks = <&dmaclk 0>; 47 - };
-1
Documentation/devicetree/bindings/dma/snps,dma-spear1340.yaml
··· 22 22 - renesas,r9a06g032-dma 23 23 - const: renesas,rzn1-dma 24 24 25 - 26 25 "#dma-cells": 27 26 minimum: 3 28 27 maximum: 4
-1
Documentation/devicetree/bindings/dma/stericsson,dma40.yaml
··· 120 120 - description: LCPA memory base, deprecated, use eSRAM pool instead 121 121 deprecated: true 122 122 123 - 124 123 reg-names: 125 124 oneOf: 126 125 - items:
-1
Documentation/devicetree/bindings/dma/stm32/st,stm32-dma.yaml
··· 48 48 by transfer completion. This must only be used on channels 49 49 managing transfers for STM32 USART/UART. 50 50 51 - 52 51 maintainers: 53 52 - Amelie Delaunay <amelie.delaunay@foss.st.com> 54 53
+4 -1
Documentation/devicetree/bindings/dts-coding-style.rst
··· 120 120 4. Standard/common properties (defined by common bindings, e.g. without 121 121 vendor-prefixes) 122 122 5. Vendor-specific properties 123 - 6. "status" (if applicable) 123 + 6. "status" (if applicable), preceded by a blank line if there is content 124 + before the property 124 125 7. Child nodes, where each node is preceded with a blank line 125 126 126 127 The "status" property is by default "okay", thus it can be omitted. ··· 151 150 #address-cells = <1>; 152 151 #size-cells = <1>; 153 152 vendor,custom-property = <2>; 153 + 154 154 status = "disabled"; 155 155 156 156 child_node: child-class@100 { ··· 167 165 vdd-1v8-supply = <&board_vreg4>; 168 166 vdd-3v3-supply = <&board_vreg2>; 169 167 vdd-12v-supply = <&board_vreg3>; 168 + 170 169 status = "okay"; 171 170 } 172 171
+1 -1
Documentation/devicetree/bindings/edac/altr,socfpga-ecc-manager.yaml
··· 8 8 title: Altera SoCFPGA ECC Manager 9 9 10 10 maintainers: 11 - - Matthew Gerlach <matthew.gerlach@altera.com> 11 + - Niravkumar L Rabara <niravkumarlaxmidas.rabara@altera.com> 12 12 13 13 description: 14 14 This binding describes the device tree nodes required for the Altera SoCFPGA
-1
Documentation/devicetree/bindings/edac/apm,xgene-edac.yaml
··· 97 97 - reg 98 98 - memory-controller 99 99 100 - 101 100 '^edacpmd@': 102 101 description: PMD subnode 103 102 type: object
+1
Documentation/devicetree/bindings/eeprom/at25.yaml
··· 25 25 oneOf: 26 26 - items: 27 27 - enum: 28 + - anvo,anv32c81w 28 29 - anvo,anv32e61w 29 30 - atmel,at25256B 30 31 - fujitsu,mb85rs1mt
-1
Documentation/devicetree/bindings/firmware/qemu,fw-cfg-mmio.yaml
··· 23 23 The authoritative guest-side hardware interface documentation to the fw_cfg 24 24 device can be found in "docs/specs/fw_cfg.txt" in the QEMU source tree. 25 25 26 - 27 26 properties: 28 27 compatible: 29 28 const: qemu,fw-cfg-mmio
-5
Documentation/devicetree/bindings/fpga/fpga-region.yaml
··· 18 18 - Supported Use Models 19 19 - Constraints 20 20 21 - 22 21 Introduction 23 22 ============ 24 23 ··· 29 30 attempts to include terminology used by both major FPGA manufacturers. This 30 31 document isn't a replacement for any manufacturers specifications for FPGA 31 32 usage. 32 - 33 33 34 34 Terminology 35 35 =========== ··· 106 108 a soft logic bridge (Bridge0-2) in the FPGA. The contents of each PRR can be 107 109 reprogrammed independently while the rest of the system continues to function. 108 110 109 - 110 111 Sequence 111 112 ======== 112 113 ··· 120 123 121 124 When the overlay is removed, the child nodes will be removed and the FPGA Region 122 125 will disable the bridges. 123 - 124 126 125 127 FPGA Region 126 128 =========== ··· 165 169 region is getting reconfigured (see Figure 1 above). During PR, the FPGA's 166 170 hardware bridges remain enabled. The PR regions' bridges will be FPGA bridges 167 171 within the static image of the FPGA. 168 - 169 172 170 173 Supported Use Models 171 174 ====================
+59
Documentation/devicetree/bindings/fpga/lattice,ice40-fpga-mgr.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/fpga/lattice,ice40-fpga-mgr.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Lattice iCE40 FPGA Manager 8 + 9 + maintainers: 10 + - Joel Holdsworth <joel@airwebreathe.org.uk> 11 + 12 + properties: 13 + compatible: 14 + const: lattice,ice40-fpga-mgr 15 + 16 + reg: 17 + maxItems: 1 18 + 19 + spi-max-frequency: 20 + minimum: 1000000 21 + maximum: 25000000 22 + 23 + cdone-gpios: 24 + maxItems: 1 25 + description: GPIO input connected to CDONE pin 26 + 27 + reset-gpios: 28 + maxItems: 1 29 + description: 30 + Active-low GPIO output connected to CRESET_B pin. Note that unless the 31 + GPIO is held low during startup, the FPGA will enter Master SPI mode and 32 + drive SCK with a clock signal potentially jamming other devices on the bus 33 + until the firmware is loaded. 34 + 35 + required: 36 + - compatible 37 + - reg 38 + - spi-max-frequency 39 + - cdone-gpios 40 + - reset-gpios 41 + 42 + additionalProperties: false 43 + 44 + examples: 45 + - | 46 + #include <dt-bindings/gpio/gpio.h> 47 + 48 + spi { 49 + #address-cells = <1>; 50 + #size-cells = <0>; 51 + 52 + fpga@0 { 53 + compatible = "lattice,ice40-fpga-mgr"; 54 + reg = <0>; 55 + spi-max-frequency = <1000000>; 56 + cdone-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>; 57 + reset-gpios = <&gpio 22 GPIO_ACTIVE_LOW>; 58 + }; 59 + };
-21
Documentation/devicetree/bindings/fpga/lattice-ice40-fpga-mgr.txt
··· 1 - Lattice iCE40 FPGA Manager 2 - 3 - Required properties: 4 - - compatible: Should contain "lattice,ice40-fpga-mgr" 5 - - reg: SPI chip select 6 - - spi-max-frequency: Maximum SPI frequency (>=1000000, <=25000000) 7 - - cdone-gpios: GPIO input connected to CDONE pin 8 - - reset-gpios: Active-low GPIO output connected to CRESET_B pin. Note 9 - that unless the GPIO is held low during startup, the 10 - FPGA will enter Master SPI mode and drive SCK with a 11 - clock signal potentially jamming other devices on the 12 - bus until the firmware is loaded. 13 - 14 - Example: 15 - fpga: fpga@0 { 16 - compatible = "lattice,ice40-fpga-mgr"; 17 - reg = <0>; 18 - spi-max-frequency = <1000000>; 19 - cdone-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>; 20 - reset-gpios = <&gpio 22 GPIO_ACTIVE_LOW>; 21 - };
-1
Documentation/devicetree/bindings/gpio/brcm,xgs-iproc-gpio.yaml
··· 66 66 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 67 67 }; 68 68 69 - 70 69 ...
-1
Documentation/devicetree/bindings/gpio/fairchild,74hc595.yaml
··· 22 22 ___ ________ 23 23 chip select# |___________________| 24 24 25 - 26 25 maintainers: 27 26 - Maxime Ripard <mripard@kernel.org> 28 27
+7 -6
Documentation/devicetree/bindings/gpio/gpio-mxs.yaml
··· 28 28 29 29 '#address-cells': 30 30 const: 1 31 + 31 32 '#size-cells': 32 33 const: 0 33 34 ··· 36 35 maxItems: 1 37 36 38 37 patternProperties: 39 - "^(?!gpio@)[^@]+@[0-9]+$": 38 + '^(?!gpio@)[^@]+@[0-9]+$': 40 39 type: object 41 40 properties: 42 41 fsl,pinmux-ids: ··· 94 93 95 94 additionalProperties: false 96 95 97 - "^gpio@[0-9]+$": 96 + '^gpio@[0-9]+$': 98 97 type: object 99 98 properties: 100 99 compatible: ··· 111 110 112 111 interrupt-controller: true 113 112 114 - "#interrupt-cells": 113 + '#interrupt-cells': 115 114 const: 2 116 115 117 - "#gpio-cells": 116 + '#gpio-cells': 118 117 const: 2 119 118 120 119 gpio-controller: true ··· 124 123 - reg 125 124 - interrupts 126 125 - interrupt-controller 127 - - "#interrupt-cells" 128 - - "#gpio-cells" 126 + - '#interrupt-cells' 127 + - '#gpio-cells' 129 128 - gpio-controller 130 129 131 130 additionalProperties: false
+2 -2
Documentation/devicetree/bindings/gpio/snps,dw-apb-gpio.yaml
··· 111 111 required: 112 112 - compatible 113 113 - reg 114 - - "#address-cells" 115 - - "#size-cells" 114 + - '#address-cells' 115 + - '#size-cells' 116 116 117 117 examples: 118 118 - |
+1
Documentation/devicetree/bindings/gpu/arm,mali-bifrost.yaml
··· 22 22 - mediatek,mt8183-mali 23 23 - mediatek,mt8183b-mali 24 24 - mediatek,mt8186-mali 25 + - mediatek,mt8365-mali 25 26 - realtek,rtd1619-mali 26 27 - renesas,r9a07g044-mali 27 28 - renesas,r9a07g054-mali
-1
Documentation/devicetree/bindings/hwmon/adi,ltc2947.yaml
··· 81 81 - compatible 82 82 - reg 83 83 84 - 85 84 additionalProperties: false 86 85 87 86 examples:
-1
Documentation/devicetree/bindings/hwmon/adi,max31827.yaml
··· 93 93 adi,fault-q: 94 94 default: 4 95 95 96 - 97 96 required: 98 97 - compatible 99 98 - reg
-1
Documentation/devicetree/bindings/hwmon/national,lm90.yaml
··· 45 45 - ti,tmp461 46 46 - winbond,w83l771 47 47 48 - 49 48 interrupts: 50 49 items: 51 50 - description: |
-1
Documentation/devicetree/bindings/hwmon/ti,tmp513.yaml
··· 20 20 https://www.ti.com/lit/gpn/tmp513 21 21 https://www.ti.com/lit/gpn/tmp512 22 22 23 - 24 23 properties: 25 24 compatible: 26 25 enum:
-1
Documentation/devicetree/bindings/hwmon/ti,tps23861.yaml
··· 15 15 Datasheets: 16 16 https://www.ti.com/lit/gpn/tps23861 17 17 18 - 19 18 properties: 20 19 compatible: 21 20 enum:
-1
Documentation/devicetree/bindings/i2c/i2c-mux-gpmux.yaml
··· 27 27 | '------' | | dev | | dev | | dev | 28 28 '------------' '-----' '-----' '-----' 29 29 30 - 31 30 allOf: 32 31 - $ref: /schemas/i2c/i2c-mux.yaml# 33 32
+1 -1
Documentation/devicetree/bindings/i2c/qcom,i2c-qup.yaml
··· 9 9 maintainers: 10 10 - Andy Gross <agross@kernel.org> 11 11 - Bjorn Andersson <bjorn.andersson@linaro.org> 12 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 12 + - Krzysztof Kozlowski <krzk@kernel.org> 13 13 14 14 allOf: 15 15 - $ref: /schemas/i2c/i2c-controller.yaml#
-1
Documentation/devicetree/bindings/i2c/realtek,rtl9301-i2c.yaml
··· 64 64 required: 65 65 - reg 66 66 67 - 68 67 allOf: 69 68 - if: 70 69 properties:
-2
Documentation/devicetree/bindings/i2c/tsd,mule-i2c-mux.yaml
··· 16 16 can be selected by writing the appropriate device number to an I2C config 17 17 register. 18 18 19 - 20 19 +--------------------------------------------------+ 21 20 | Mule | 22 21 0x18| +---------------+ | ··· 32 33 | | /-------->| dev #3 | | 33 34 | |__/ +--------+ | 34 35 +--------------------------------------------------+ 35 - 36 36 37 37 allOf: 38 38 - $ref: /schemas/i2c/i2c-mux.yaml#
-1
Documentation/devicetree/bindings/iio/adc/adi,ad7380.yaml
··· 30 30 * https://www.analog.com/en/products/adaq4380-4.html 31 31 * https://www.analog.com/en/products/adaq4381-4.html 32 32 33 - 34 33 $ref: /schemas/spi/spi-peripheral-props.yaml# 35 34 36 35 properties:
-1
Documentation/devicetree/bindings/iio/adc/adi,ad7606.yaml
··· 166 166 An example of backend can be found at 167 167 http://analogdevicesinc.github.io/hdl/library/axi_ad7606x/index.html 168 168 169 - 170 169 patternProperties: 171 170 "^channel@[1-8]$": 172 171 type: object
-1
Documentation/devicetree/bindings/iio/adc/adi,ad7949.yaml
··· 48 48 enum: [2500000, 4096000] 49 49 default: 4096000 50 50 51 - 52 51 '#io-channel-cells': 53 52 const: 1 54 53
-1
Documentation/devicetree/bindings/iio/adc/adi,ade9000.yaml
··· 57 57 description: External clock source when not using crystal 58 58 maxItems: 1 59 59 60 - 61 60 "#clock-cells": 62 61 description: 63 62 ADE9000 can provide clock output via CLKOUT pin with external buffer.
-1
Documentation/devicetree/bindings/iio/adc/cosmic,10001-adc.yaml
··· 36 36 "#io-channel-cells": 37 37 const: 1 38 38 39 - 40 39 required: 41 40 - compatible 42 41 - reg
-1
Documentation/devicetree/bindings/iio/adc/st,stm32-adc.yaml
··· 456 456 items: 457 457 minimum: 40 458 458 459 - 460 459 - if: 461 460 properties: 462 461 compatible:
-1
Documentation/devicetree/bindings/iio/adc/x-powers,axp209-adc.yaml
··· 57 57 4 | batt_dischrg_i 58 58 5 | ts_v 59 59 60 - 61 60 properties: 62 61 compatible: 63 62 oneOf:
-1
Documentation/devicetree/bindings/iio/afe/voltage-divider.yaml
··· 29 29 | 30 30 GND 31 31 32 - 33 32 properties: 34 33 compatible: 35 34 const: voltage-divider
-1
Documentation/devicetree/bindings/iio/frequency/adi,admv4420.yaml
··· 37 37 - compatible 38 38 - reg 39 39 40 - 41 40 allOf: 42 41 - $ref: /schemas/spi/spi-peripheral-props.yaml# 43 42
-1
Documentation/devicetree/bindings/iio/pressure/murata,zpa2326.yaml
··· 12 12 description: | 13 13 Pressure sensor from Murata with SPI and I2C bus interfaces. 14 14 15 - 16 15 properties: 17 16 compatible: 18 17 const: murata,zpa2326
-1
Documentation/devicetree/bindings/iio/proximity/semtech,sx9324.yaml
··· 78 78 minItems: 3 79 79 maxItems: 3 80 80 81 - 82 81 semtech,ph01-resolution: 83 82 $ref: /schemas/types.yaml#/definitions/uint32 84 83 enum: [8, 16, 32, 64, 128, 256, 512, 1024]
+10 -11
Documentation/devicetree/bindings/iio/temperature/adi,ltc2983.yaml
··· 39 39 - reg 40 40 - adi,sensor-type 41 41 42 - 43 42 properties: 44 43 compatible: 45 44 oneOf: ··· 87 88 const: 0 88 89 89 90 patternProperties: 90 - "^thermocouple@": 91 + '^thermocouple@': 91 92 $ref: '#/$defs/sensor-node' 92 93 unevaluatedProperties: false 93 94 ··· 145 146 required: 146 147 - adi,custom-thermocouple 147 148 148 - "^diode@": 149 + '^diode@': 149 150 $ref: '#/$defs/sensor-node' 150 151 unevaluatedProperties: false 151 152 ··· 190 191 $ref: /schemas/types.yaml#/definitions/uint32 191 192 default: 0 192 193 193 - "^rtd@": 194 + '^rtd@': 194 195 $ref: '#/$defs/sensor-node' 195 196 unevaluatedProperties: false 196 197 description: RTD sensor. ··· 279 280 type: boolean 280 281 281 282 dependencies: 282 - adi,current-rotate: [ "adi,rsense-share" ] 283 + adi,current-rotate: [ 'adi,rsense-share' ] 283 284 284 285 - if: 285 286 properties: ··· 289 290 required: 290 291 - adi,custom-rtd 291 292 292 - "^thermistor@": 293 + '^thermistor@': 293 294 $ref: '#/$defs/sensor-node' 294 295 unevaluatedProperties: false 295 296 description: Thermistor sensor. ··· 363 364 - adi,rsense-handle 364 365 365 366 dependencies: 366 - adi,current-rotate: [ "adi,rsense-share" ] 367 + adi,current-rotate: [ 'adi,rsense-share' ] 367 368 368 369 allOf: 369 370 - if: ··· 391 392 required: 392 393 - adi,custom-thermistor 393 394 394 - "^adc@": 395 + '^adc@': 395 396 $ref: '#/$defs/sensor-node' 396 397 unevaluatedProperties: false 397 398 description: Direct ADC sensor. ··· 406 407 description: Whether the sensor is single-ended. 407 408 type: boolean 408 409 409 - "^temp@": 410 + '^temp@': 410 411 $ref: '#/$defs/sensor-node' 411 412 unevaluatedProperties: false 412 413 description: Active analog temperature sensor. ··· 436 437 required: 437 438 - adi,custom-temp 438 439 439 - "^rsense@": 440 + '^rsense@': 440 441 $ref: '#/$defs/sensor-node' 441 442 unevaluatedProperties: false 442 443 description: Sense resistor sensor. ··· 475 476 - adi,ltc2984 476 477 then: 477 478 patternProperties: 478 - "^temp@": false 479 + '^temp@': false 479 480 480 481 examples: 481 482 - |
+1 -1
Documentation/devicetree/bindings/input/cypress,cyapa.yaml
··· 7 7 title: Cypress All Points Addressable (APA) I2C Touchpad / Trackpad 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 12 12 properties: 13 13 compatible:
-1
Documentation/devicetree/bindings/input/ti,drv266x.yaml
··· 37 37 - | 38 38 #include <dt-bindings/gpio/gpio.h> 39 39 40 - 41 40 i2c { 42 41 #address-cells = <1>; 43 42 #size-cells = <0>;
+1 -1
Documentation/devicetree/bindings/input/touchscreen/st,stmfts.yaml
··· 7 7 title: ST-Microelectronics FingerTip touchscreen controller 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 12 12 description: 13 13 The ST-Microelectronics FingerTip device provides a basic touchscreen
+1 -1
Documentation/devicetree/bindings/interconnect/qcom,msm8998-bwmon.yaml
··· 7 7 title: Qualcomm Interconnect Bandwidth Monitor 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 12 12 description: | 13 13 Bandwidth Monitor measures current throughput on buses between various NoC
-1
Documentation/devicetree/bindings/interconnect/qcom,rpmh.yaml
··· 122 122 required: 123 123 - reg 124 124 125 - 126 125 unevaluatedProperties: false 127 126 128 127 examples:
-1
Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.yaml
··· 305 305 }; 306 306 }; 307 307 308 - 309 308 device@0 { 310 309 reg = <0 4>; 311 310 interrupts = <1 1 4 &part0>;
-1
Documentation/devicetree/bindings/interrupt-controller/aspeed,ast2700-intc.yaml
··· 54 54 | |---... 55 55 +---------+---module31 56 56 57 - 58 57 required: 59 58 - compatible 60 59 - reg
-2
Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2836-l1-intc.yaml
··· 34 34 required: 35 35 - compatible 36 36 - reg 37 - - interrupt-controller 38 - - '#interrupt-cells' 39 37 40 38 additionalProperties: false 41 39
+2
Documentation/devicetree/bindings/interrupt-controller/fsl,irqsteer.yaml
··· 20 20 - fsl,imx8qm-irqsteer 21 21 - fsl,imx8qxp-irqsteer 22 22 - fsl,imx94-irqsteer 23 + - fsl,imx95-irqsteer 23 24 - const: fsl,imx-irqsteer 24 25 25 26 reg: ··· 88 87 - fsl,imx8mp-irqsteer 89 88 - fsl,imx8qm-irqsteer 90 89 - fsl,imx8qxp-irqsteer 90 + - fsl,imx95-irqsteer 91 91 then: 92 92 required: 93 93 - power-domains
-1
Documentation/devicetree/bindings/interrupt-controller/fsl,vf610-mscm-ir.yaml
··· 14 14 Vybrid SoC's but is only really useful in dual core configurations (VF6xx 15 15 which comes with a Cortex-A5/Cortex-M4 combination). 16 16 17 - 18 17 maintainers: 19 18 - Frank Li <Frank.Li@nxp.com> 20 19
-1
Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
··· 78 78 - '#interrupt-cells' 79 79 - loongson,parent_int_map 80 80 81 - 82 81 unevaluatedProperties: false 83 82 84 83 if:
-1
Documentation/devicetree/bindings/interrupt-controller/mediatek,mtk-cirq.yaml
··· 18 18 flush command is executed. With CIRQ, MCUSYS can be completely turned off 19 19 to improve the system power consumption without losing interrupts. 20 20 21 - 22 21 properties: 23 22 compatible: 24 23 items:
-1
Documentation/devicetree/bindings/interrupt-controller/mscc,ocelot-icpu-intr.yaml
··· 26 26 - mscc,ocelot-icpu-intr 27 27 - mscc,serval-icpu-intr 28 28 29 - 30 29 '#interrupt-cells': 31 30 const: 1 32 31
+1
Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
··· 61 61 - anlogic,dr1v90-plic 62 62 - canaan,k210-plic 63 63 - eswin,eic7700-plic 64 + - microchip,pic64gx-plic 64 65 - sifive,fu540-c000-plic 65 66 - spacemit,k1-plic 66 67 - starfive,jh7100-plic
+1 -1
Documentation/devicetree/bindings/interrupt-controller/ti,omap4-wugen-mpu.yaml
··· 7 7 title: TI OMAP4 Wake-up Generator 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 12 12 description: > 13 13 All TI OMAP4/5 (and their derivatives) are interrupt controllers that route
-4
Documentation/devicetree/bindings/iommu/arm,smmu.yaml
··· 640 640 <&smmu1 7>; 641 641 }; 642 642 643 - 644 643 /* SMMU with stream matching */ 645 644 smmu2: iommu@ba5f0000 { 646 645 compatible = "arm,smmu-v1"; ··· 665 666 iommus = <&smmu2 1 0x30>; 666 667 }; 667 668 668 - 669 669 /* ARM MMU-500 with 10-bit stream ID input configuration */ 670 670 smmu3: iommu@ba600000 { 671 671 compatible = "arm,mmu-500", "arm,smmu-v2"; ··· 685 687 /* bus whose child devices emit one unique 10-bit stream 686 688 ID each, but may master through multiple SMMU TBUs */ 687 689 iommu-map = <0 &smmu3 0 0x400>; 688 - 689 - 690 690 }; 691 691 692 692 - |+
+1 -1
Documentation/devicetree/bindings/leds/qcom,pm8058-led.yaml
··· 7 7 title: Qualcomm PM8058 PMIC LED 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 12 12 description: | 13 13 The Qualcomm PM8058 contains an LED block for up to six LEDs:: three normal
+62
Documentation/devicetree/bindings/mailbox/apm,xgene-slimpro-mbox.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/apm,xgene-slimpro-mbox.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: APM X-Gene SLIMpro mailbox 8 + 9 + maintainers: 10 + - Khuong Dinh <khuong@os.amperecomputing.com> 11 + 12 + description: 13 + The APM X-Gene SLIMpro mailbox is used to communicate messages between 14 + the ARM64 processors and the Cortex M3 (dubbed SLIMpro). It uses a simple 15 + interrupt based door bell mechanism and can exchange simple messages using the 16 + internal registers. 17 + 18 + properties: 19 + compatible: 20 + const: apm,xgene-slimpro-mbox 21 + 22 + reg: 23 + maxItems: 1 24 + 25 + interrupts: 26 + items: 27 + - description: mailbox channel 0 doorbell 28 + - description: mailbox channel 1 doorbell 29 + - description: mailbox channel 2 doorbell 30 + - description: mailbox channel 3 doorbell 31 + - description: mailbox channel 4 doorbell 32 + - description: mailbox channel 5 doorbell 33 + - description: mailbox channel 6 doorbell 34 + - description: mailbox channel 7 doorbell 35 + 36 + '#mbox-cells': 37 + description: Number of mailbox channel. 38 + const: 1 39 + 40 + required: 41 + - compatible 42 + - reg 43 + - interrupts 44 + - '#mbox-cells' 45 + 46 + additionalProperties: false 47 + 48 + examples: 49 + - | 50 + mailbox@10540000 { 51 + compatible = "apm,xgene-slimpro-mbox"; 52 + reg = <0x10540000 0xa000>; 53 + #mbox-cells = <1>; 54 + interrupts = <0x0 0x0 0x4>, 55 + <0x0 0x1 0x4>, 56 + <0x0 0x2 0x4>, 57 + <0x0 0x3 0x4>, 58 + <0x0 0x4 0x4>, 59 + <0x0 0x5 0x4>, 60 + <0x0 0x6 0x4>, 61 + <0x0 0x7 0x4>; 62 + };
-1
Documentation/devicetree/bindings/mailbox/arm,mhu.yaml
··· 52 52 - const: arm,mhu-doorbell 53 53 - const: arm,primecell 54 54 55 - 56 55 reg: 57 56 maxItems: 1 58 57
-1
Documentation/devicetree/bindings/mailbox/arm,mhuv2.yaml
··· 127 127 - minimum: 0 128 128 maximum: 124 129 129 130 - 131 130 '#mbox-cells': 132 131 description: | 133 132 It is always set to 2. The first argument in the consumers 'mboxes'
-1
Documentation/devicetree/bindings/mailbox/mtk,adsp-mbox.yaml
··· 26 26 - mediatek,mt8188-adsp-mbox 27 27 - const: mediatek,mt8186-adsp-mbox 28 28 29 - 30 29 "#mbox-cells": 31 30 const: 0 32 31
+8 -8
Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml
··· 187 187 enum: 188 188 - qcom,msm8916-apcs-kpss-global 189 189 then: 190 - $ref: "#/$defs/msm8916-apcs-clock-controller" 190 + $ref: '#/$defs/msm8916-apcs-clock-controller' 191 191 properties: 192 192 clock-controller: 193 - $ref: "#/$defs/msm8916-apcs-clock-controller" 193 + $ref: '#/$defs/msm8916-apcs-clock-controller' 194 194 195 195 - if: 196 196 properties: ··· 199 199 enum: 200 200 - qcom,msm8939-apcs-kpss-global 201 201 then: 202 - $ref: "#/$defs/msm8939-apcs-clock-controller" 202 + $ref: '#/$defs/msm8939-apcs-clock-controller' 203 203 properties: 204 204 clock-controller: 205 - $ref: "#/$defs/msm8939-apcs-clock-controller" 205 + $ref: '#/$defs/msm8939-apcs-clock-controller' 206 206 207 207 - if: 208 208 properties: ··· 211 211 enum: 212 212 - qcom,sdx55-apcs-gcc 213 213 then: 214 - $ref: "#/$defs/sdx55-apcs-clock-controller" 214 + $ref: '#/$defs/sdx55-apcs-clock-controller' 215 215 properties: 216 216 clock-controller: 217 - $ref: "#/$defs/sdx55-apcs-clock-controller" 217 + $ref: '#/$defs/sdx55-apcs-clock-controller' 218 218 219 219 - if: 220 220 properties: ··· 223 223 enum: 224 224 - qcom,ipq6018-apcs-apps-global 225 225 then: 226 - $ref: "#/$defs/ipq6018-apcs-clock-controller" 226 + $ref: '#/$defs/ipq6018-apcs-clock-controller' 227 227 properties: 228 228 clock-controller: 229 - $ref: "#/$defs/ipq6018-apcs-clock-controller" 229 + $ref: '#/$defs/ipq6018-apcs-clock-controller' 230 230 231 231 - if: 232 232 properties:
-35
Documentation/devicetree/bindings/mailbox/xgene-slimpro-mailbox.txt
··· 1 - The APM X-Gene SLIMpro mailbox is used to communicate messages between 2 - the ARM64 processors and the Cortex M3 (dubbed SLIMpro). It uses a simple 3 - interrupt based door bell mechanism and can exchange simple messages using the 4 - internal registers. 5 - 6 - There are total of 8 interrupts in this mailbox. Each used for an individual 7 - door bell (or mailbox channel). 8 - 9 - Required properties: 10 - - compatible: Should be as "apm,xgene-slimpro-mbox". 11 - 12 - - reg: Contains the mailbox register address range. 13 - 14 - - interrupts: 8 interrupts must be from 0 to 7, interrupt 0 define the 15 - the interrupt for mailbox channel 0 and interrupt 1 for 16 - mailbox channel 1 and so likewise for the reminder. 17 - 18 - - #mbox-cells: only one to specify the mailbox channel number. 19 - 20 - Example: 21 - 22 - Mailbox Node: 23 - mailbox: mailbox@10540000 { 24 - compatible = "apm,xgene-slimpro-mbox"; 25 - reg = <0x0 0x10540000 0x0 0xa000>; 26 - #mbox-cells = <1>; 27 - interrupts = <0x0 0x0 0x4>, 28 - <0x0 0x1 0x4>, 29 - <0x0 0x2 0x4>, 30 - <0x0 0x3 0x4>, 31 - <0x0 0x4 0x4>, 32 - <0x0 0x5 0x4>, 33 - <0x0 0x6 0x4>, 34 - <0x0 0x7 0x4>, 35 - };
+1 -1
Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.yaml
··· 142 142 - compatible 143 143 - reg 144 144 - reg-names 145 - - "#mbox-cells" 145 + - '#mbox-cells' 146 146 - xlnx,ipi-id 147 147 148 148 required:
-1
Documentation/devicetree/bindings/media/amphion,vpu.yaml
··· 45 45 between driver and firmware. Implement via mailbox on driver. 46 46 $ref: /schemas/mailbox/fsl,mu.yaml# 47 47 48 - 49 48 "^vpu-core@[0-9a-f]+$": 50 49 description: 51 50 Each core correspond a decoder or encoder, need to configure them
+1 -1
Documentation/devicetree/bindings/media/fsl,imx6q-vdoa.yaml
··· 16 16 17 17 properties: 18 18 compatible: 19 - const: "fsl,imx6q-vdoa" 19 + const: fsl,imx6q-vdoa 20 20 21 21 reg: 22 22 maxItems: 1
-2
Documentation/devicetree/bindings/media/i2c/adi,adv7604.yaml
··· 154 154 }; 155 155 }; 156 156 }; 157 - 158 - 159 157 }; 160 158 };
+1 -1
Documentation/devicetree/bindings/media/i2c/samsung,s5k5baf.yaml
··· 7 7 title: Samsung S5K5BAF UXGA 1/5" 2M CMOS Image Sensor with embedded SoC ISP 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 12 12 properties: 13 13 compatible:
+1 -1
Documentation/devicetree/bindings/media/i2c/samsung,s5k6a3.yaml
··· 7 7 title: Samsung S5K6A3(YX) raw image sensor 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 12 12 description: 13 13 S5K6A3(YX) is a raw image sensor with MIPI CSI-2 and CCP2 image data
-1
Documentation/devicetree/bindings/media/i2c/techwell,tw9900.yaml
··· 70 70 $ref: /schemas/graph.yaml#/properties/port 71 71 description: Video port for the decoder output. 72 72 73 - 74 73 required: 75 74 - port@0 76 75 - port@1
+169
Documentation/devicetree/bindings/media/mediatek,mt8173-mdp.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/media/mediatek,mt8173-mdp.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: MediaTek MT8173 Media Data Path 8 + 9 + maintainers: 10 + - Ariel D'Alessandro <ariel.dalessandro@collabora.com> 11 + 12 + description: 13 + Media Data Path is used for scaling and color space conversion. 14 + 15 + properties: 16 + compatible: 17 + oneOf: 18 + - enum: 19 + - mediatek,mt8173-mdp-rdma 20 + - mediatek,mt8173-mdp-rsz 21 + - mediatek,mt8173-mdp-wdma 22 + - mediatek,mt8173-mdp-wrot 23 + - items: 24 + - const: mediatek,mt8173-mdp-rdma 25 + - const: mediatek,mt8173-mdp 26 + 27 + reg: 28 + maxItems: 1 29 + 30 + clocks: 31 + minItems: 1 32 + maxItems: 2 33 + 34 + power-domains: 35 + maxItems: 1 36 + 37 + iommus: 38 + maxItems: 1 39 + 40 + mediatek,vpu: 41 + $ref: /schemas/types.yaml#/definitions/phandle 42 + description: 43 + phandle to Mediatek Video Processor Unit for HW Codec encode/decode and 44 + image processing. 45 + 46 + required: 47 + - compatible 48 + - reg 49 + - clocks 50 + - power-domains 51 + 52 + allOf: 53 + - if: 54 + properties: 55 + compatible: 56 + contains: 57 + const: mediatek,mt8173-mdp-rdma 58 + then: 59 + properties: 60 + clocks: 61 + items: 62 + - description: Main clock 63 + - description: Mutex clock 64 + else: 65 + properties: 66 + clocks: 67 + items: 68 + - description: Main clock 69 + 70 + - if: 71 + properties: 72 + compatible: 73 + contains: 74 + enum: 75 + - mediatek,mt8173-mdp-rdma 76 + - mediatek,mt8173-mdp-wdma 77 + - mediatek,mt8173-mdp-wrot 78 + then: 79 + required: 80 + - iommus 81 + 82 + - if: 83 + properties: 84 + compatible: 85 + contains: 86 + const: mediatek,mt8173-mdp 87 + then: 88 + required: 89 + - mediatek,vpu 90 + 91 + additionalProperties: false 92 + 93 + examples: 94 + - | 95 + #include <dt-bindings/clock/mt8173-clk.h> 96 + #include <dt-bindings/memory/mt8173-larb-port.h> 97 + #include <dt-bindings/power/mt8173-power.h> 98 + 99 + soc { 100 + #address-cells = <2>; 101 + #size-cells = <2>; 102 + 103 + mdp_rdma0: rdma@14001000 { 104 + compatible = "mediatek,mt8173-mdp-rdma", 105 + "mediatek,mt8173-mdp"; 106 + reg = <0 0x14001000 0 0x1000>; 107 + clocks = <&mmsys CLK_MM_MDP_RDMA0>, 108 + <&mmsys CLK_MM_MUTEX_32K>; 109 + power-domains = <&spm MT8173_POWER_DOMAIN_MM>; 110 + iommus = <&iommu M4U_PORT_MDP_RDMA0>; 111 + mediatek,vpu = <&vpu>; 112 + }; 113 + 114 + mdp_rdma1: rdma@14002000 { 115 + compatible = "mediatek,mt8173-mdp-rdma"; 116 + reg = <0 0x14002000 0 0x1000>; 117 + clocks = <&mmsys CLK_MM_MDP_RDMA1>, 118 + <&mmsys CLK_MM_MUTEX_32K>; 119 + power-domains = <&spm MT8173_POWER_DOMAIN_MM>; 120 + iommus = <&iommu M4U_PORT_MDP_RDMA1>; 121 + }; 122 + 123 + mdp_rsz0: rsz@14003000 { 124 + compatible = "mediatek,mt8173-mdp-rsz"; 125 + reg = <0 0x14003000 0 0x1000>; 126 + clocks = <&mmsys CLK_MM_MDP_RSZ0>; 127 + power-domains = <&spm MT8173_POWER_DOMAIN_MM>; 128 + }; 129 + 130 + mdp_rsz1: rsz@14004000 { 131 + compatible = "mediatek,mt8173-mdp-rsz"; 132 + reg = <0 0x14004000 0 0x1000>; 133 + clocks = <&mmsys CLK_MM_MDP_RSZ1>; 134 + power-domains = <&spm MT8173_POWER_DOMAIN_MM>; 135 + }; 136 + 137 + mdp_rsz2: rsz@14005000 { 138 + compatible = "mediatek,mt8173-mdp-rsz"; 139 + reg = <0 0x14005000 0 0x1000>; 140 + clocks = <&mmsys CLK_MM_MDP_RSZ2>; 141 + power-domains = <&spm MT8173_POWER_DOMAIN_MM>; 142 + }; 143 + 144 + mdp_wdma0: wdma@14006000 { 145 + compatible = "mediatek,mt8173-mdp-wdma"; 146 + reg = <0 0x14006000 0 0x1000>; 147 + clocks = <&mmsys CLK_MM_MDP_WDMA>; 148 + power-domains = <&spm MT8173_POWER_DOMAIN_MM>; 149 + iommus = <&iommu M4U_PORT_MDP_WDMA>; 150 + }; 151 + 152 + mdp_wrot0: wrot@14007000 { 153 + compatible = "mediatek,mt8173-mdp-wrot"; 154 + reg = <0 0x14007000 0 0x1000>; 155 + clocks = <&mmsys CLK_MM_MDP_WROT0>; 156 + power-domains = <&spm MT8173_POWER_DOMAIN_MM>; 157 + iommus = <&iommu M4U_PORT_MDP_WROT0>; 158 + }; 159 + 160 + mdp_wrot1: wrot@14008000 { 161 + compatible = "mediatek,mt8173-mdp-wrot"; 162 + reg = <0 0x14008000 0 0x1000>; 163 + clocks = <&mmsys CLK_MM_MDP_WROT1>; 164 + power-domains = <&spm MT8173_POWER_DOMAIN_MM>; 165 + iommus = <&iommu M4U_PORT_MDP_WROT1>; 166 + }; 167 + }; 168 + 169 + ...
-96
Documentation/devicetree/bindings/media/mediatek-mdp.txt
··· 1 - * Mediatek Media Data Path 2 - 3 - Media Data Path is used for scaling and color space conversion. 4 - 5 - Required properties (controller node): 6 - - compatible: "mediatek,mt8173-mdp" 7 - - mediatek,vpu: the node of video processor unit, see 8 - Documentation/devicetree/bindings/media/mediatek,mt8173-vpu.yaml for 9 - details. 10 - 11 - Required properties (all function blocks, child node): 12 - - compatible: Should be one of 13 - "mediatek,mt8173-mdp-rdma" - read DMA 14 - "mediatek,mt8173-mdp-rsz" - resizer 15 - "mediatek,mt8173-mdp-wdma" - write DMA 16 - "mediatek,mt8173-mdp-wrot" - write DMA with rotation 17 - - reg: Physical base address and length of the function block register space 18 - - clocks: device clocks, see 19 - Documentation/devicetree/bindings/clock/clock-bindings.txt for details. 20 - - power-domains: a phandle to the power domain, see 21 - Documentation/devicetree/bindings/power/power_domain.txt for details. 22 - 23 - Required properties (DMA function blocks, child node): 24 - - compatible: Should be one of 25 - "mediatek,mt8173-mdp-rdma" 26 - "mediatek,mt8173-mdp-wdma" 27 - "mediatek,mt8173-mdp-wrot" 28 - - iommus: should point to the respective IOMMU block with master port as 29 - argument, see Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml 30 - for details. 31 - 32 - Example: 33 - mdp_rdma0: rdma@14001000 { 34 - compatible = "mediatek,mt8173-mdp-rdma"; 35 - "mediatek,mt8173-mdp"; 36 - reg = <0 0x14001000 0 0x1000>; 37 - clocks = <&mmsys CLK_MM_MDP_RDMA0>, 38 - <&mmsys CLK_MM_MUTEX_32K>; 39 - power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 40 - iommus = <&iommu M4U_PORT_MDP_RDMA0>; 41 - mediatek,vpu = <&vpu>; 42 - }; 43 - 44 - mdp_rdma1: rdma@14002000 { 45 - compatible = "mediatek,mt8173-mdp-rdma"; 46 - reg = <0 0x14002000 0 0x1000>; 47 - clocks = <&mmsys CLK_MM_MDP_RDMA1>, 48 - <&mmsys CLK_MM_MUTEX_32K>; 49 - power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 50 - iommus = <&iommu M4U_PORT_MDP_RDMA1>; 51 - }; 52 - 53 - mdp_rsz0: rsz@14003000 { 54 - compatible = "mediatek,mt8173-mdp-rsz"; 55 - reg = <0 0x14003000 0 0x1000>; 56 - clocks = <&mmsys CLK_MM_MDP_RSZ0>; 57 - power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 58 - }; 59 - 60 - mdp_rsz1: rsz@14004000 { 61 - compatible = "mediatek,mt8173-mdp-rsz"; 62 - reg = <0 0x14004000 0 0x1000>; 63 - clocks = <&mmsys CLK_MM_MDP_RSZ1>; 64 - power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 65 - }; 66 - 67 - mdp_rsz2: rsz@14005000 { 68 - compatible = "mediatek,mt8173-mdp-rsz"; 69 - reg = <0 0x14005000 0 0x1000>; 70 - clocks = <&mmsys CLK_MM_MDP_RSZ2>; 71 - power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 72 - }; 73 - 74 - mdp_wdma0: wdma@14006000 { 75 - compatible = "mediatek,mt8173-mdp-wdma"; 76 - reg = <0 0x14006000 0 0x1000>; 77 - clocks = <&mmsys CLK_MM_MDP_WDMA>; 78 - power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 79 - iommus = <&iommu M4U_PORT_MDP_WDMA>; 80 - }; 81 - 82 - mdp_wrot0: wrot@14007000 { 83 - compatible = "mediatek,mt8173-mdp-wrot"; 84 - reg = <0 0x14007000 0 0x1000>; 85 - clocks = <&mmsys CLK_MM_MDP_WROT0>; 86 - power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 87 - iommus = <&iommu M4U_PORT_MDP_WROT0>; 88 - }; 89 - 90 - mdp_wrot1: wrot@14008000 { 91 - compatible = "mediatek,mt8173-mdp-wrot"; 92 - reg = <0 0x14008000 0 0x1000>; 93 - clocks = <&mmsys CLK_MM_MDP_WROT1>; 94 - power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>; 95 - iommus = <&iommu M4U_PORT_MDP_WROT1>; 96 - };
-1
Documentation/devicetree/bindings/media/nxp,imx8-jpeg.yaml
··· 79 79 power-domains: 80 80 minItems: 2 # Wrapper and 1 slot 81 81 82 - 83 82 additionalProperties: false 84 83 85 84 examples:
-1
Documentation/devicetree/bindings/media/qcom,sc8280xp-camss.yaml
··· 484 484 "gcc_axi_hf", 485 485 "gcc_axi_sf"; 486 486 487 - 488 487 iommus = <&apps_smmu 0x2000 0x4e0>, 489 488 <&apps_smmu 0x2020 0x4e0>, 490 489 <&apps_smmu 0x2040 0x4e0>,
+1 -1
Documentation/devicetree/bindings/media/qcom,sm8750-iris.yaml
··· 7 7 title: Qualcomm SM8750 SoC Iris video encoder and decoder 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 12 12 description: 13 13 The Iris video processing unit on Qualcomm SM8750 SoC is a video encode and
+1 -1
Documentation/devicetree/bindings/media/samsung,exynos4210-csis.yaml
··· 7 7 title: Samsung S5P/Exynos SoC series MIPI CSI-2 receiver (MIPI CSIS) 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Sylwester Nawrocki <s.nawrocki@samsung.com> 12 12 13 13 properties:
+1 -1
Documentation/devicetree/bindings/media/samsung,exynos4210-fimc.yaml
··· 7 7 title: Samsung S5P/Exynos SoC Fully Integrated Mobile Camera 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Sylwester Nawrocki <s.nawrocki@samsung.com> 12 12 13 13 description:
+1 -2
Documentation/devicetree/bindings/media/samsung,exynos4212-fimc-is.yaml
··· 7 7 title: Samsung Exynos4212/4412 SoC Imaging Subsystem (FIMC-IS) 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Sylwester Nawrocki <s.nawrocki@samsung.com> 12 12 13 13 description: ··· 110 110 111 111 reg: 112 112 maxItems: 1 113 - 114 113 115 114 clocks: 116 115 maxItems: 1
+1 -1
Documentation/devicetree/bindings/media/samsung,exynos4212-fimc-lite.yaml
··· 7 7 title: Samsung Exynos SoC series camera host interface (FIMC-LITE) 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Sylwester Nawrocki <s.nawrocki@samsung.com> 12 12 13 13 description:
+1 -1
Documentation/devicetree/bindings/media/samsung,fimc.yaml
··· 7 7 title: Samsung S5P/Exynos SoC Camera Subsystem (FIMC) 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Sylwester Nawrocki <s.nawrocki@samsung.com> 12 12 13 13 description: |
+1 -1
Documentation/devicetree/bindings/media/samsung,s5c73m3.yaml
··· 7 7 title: Samsung S5C73M3 8Mp camera ISP 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Sylwester Nawrocki <s.nawrocki@samsung.com> 12 12 13 13 description:
-1
Documentation/devicetree/bindings/media/samsung,s5pv210-jpeg.yaml
··· 42 42 reg: 43 43 maxItems: 1 44 44 45 - 46 45 required: 47 46 - compatible 48 47 - clocks
-1
Documentation/devicetree/bindings/media/st,stm32-dma2d.yaml
··· 21 21 format and copy the result into a part or the whole of a destination image 22 22 with a different color format. (TODO) 23 23 24 - 25 24 maintainers: 26 25 - Dillon Min <dillon.minfei@gmail.com> 27 26
-4
Documentation/devicetree/bindings/media/video-interface-devices.yaml
··· 128 128 129 129 0 degrees camera rotation: 130 130 131 - 132 131 Y-Rp 133 132 ^ 134 133 Y-Rc ! ··· 143 144 ! 0 X-Rp 144 145 0 +-------------------------------------> 145 146 0 X-Rc 146 - 147 147 148 148 X-Rc 0 149 149 <------------------------------------+ 0 ··· 226 228 V 227 229 X-Rc 228 230 229 - 230 231 Example one - Webcam 231 232 232 233 A camera module installed on the user facing part of a laptop screen ··· 269 272 If the camera sensor is not mounted upside-down to compensate for the lens 270 273 optical inversion, the two reference systems will not be aligned, with 271 274 'Rp' being rotated 180 degrees relatively to 'Rc': 272 - 273 275 274 276 X-Rc 0 275 277 <------------------------------------+ 0
-1
Documentation/devicetree/bindings/memory-controllers/qcom,ebi2-peripheral-props.yaml
··· 62 62 minimum: 0 63 63 maximum: 15 64 64 65 - 66 65 # FAST chip selects 67 66 qcom,xmem-address-hold-enable: 68 67 $ref: /schemas/types.yaml#/definitions/uint32
+8 -8
Documentation/devicetree/bindings/mfd/aspeed-lpc.yaml
··· 48 48 reg: 49 49 maxItems: 1 50 50 51 - "#address-cells": 51 + '#address-cells': 52 52 const: 1 53 53 54 - "#size-cells": 54 + '#size-cells': 55 55 const: 1 56 56 57 57 ranges: true 58 58 59 59 patternProperties: 60 - "^lpc-ctrl@[0-9a-f]+$": 60 + '^lpc-ctrl@[0-9a-f]+$': 61 61 type: object 62 62 additionalProperties: false 63 63 ··· 92 92 - compatible 93 93 - clocks 94 94 95 - "^reset-controller@[0-9a-f]+$": 95 + '^reset-controller@[0-9a-f]+$': 96 96 type: object 97 97 additionalProperties: false 98 98 ··· 118 118 - compatible 119 119 - '#reset-cells' 120 120 121 - "^lpc-snoop@[0-9a-f]+$": 121 + '^lpc-snoop@[0-9a-f]+$': 122 122 type: object 123 123 additionalProperties: false 124 124 ··· 152 152 - interrupts 153 153 - snoop-ports 154 154 155 - "^uart-routing@[0-9a-f]+$": 155 + '^uart-routing@[0-9a-f]+$': 156 156 $ref: /schemas/soc/aspeed/uart-routing.yaml# 157 157 description: The UART routing control under LPC register space 158 158 159 159 required: 160 160 - compatible 161 161 - reg 162 - - "#address-cells" 163 - - "#size-cells" 162 + - '#address-cells' 163 + - '#size-cells' 164 164 - ranges 165 165 166 166 additionalProperties:
-1
Documentation/devicetree/bindings/mfd/stericsson,ab8500.yaml
··· 444 444 445 445 additionalProperties: false 446 446 447 - 448 447 regulator-external: 449 448 description: Node describing the AB8500 external regulators. This 450 449 concerns the autonomous regulators VSMPS1, VSMPS2 and VSMPS3
+2 -2
Documentation/devicetree/bindings/mfd/ti,twl.yaml
··· 423 423 - '#pwm-cells' 424 424 425 425 patternProperties: 426 - "^regulator-": 426 + '^regulator-': 427 427 type: object 428 428 unevaluatedProperties: false 429 429 $ref: /schemas/regulator/regulator.yaml ··· 452 452 - reg 453 453 - interrupts 454 454 - interrupt-controller 455 - - "#interrupt-cells" 455 + - '#interrupt-cells' 456 456 457 457 examples: 458 458 - |
-1
Documentation/devicetree/bindings/mtd/amlogic,meson-nand.yaml
··· 88 88 amlogic,boot-pages: [nand-is-boot-medium, "amlogic,boot-page-step"] 89 89 amlogic,boot-page-step: [nand-is-boot-medium, "amlogic,boot-pages"] 90 90 91 - 92 91 required: 93 92 - compatible 94 93 - reg
-1
Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml
··· 145 145 clock-names: 146 146 minItems: 1 147 147 148 - 149 148 unevaluatedProperties: false 150 149 151 150 examples:
-1
Documentation/devicetree/bindings/mux/mux-controller.yaml
··· 20 20 space is a simple zero-based enumeration. I.e. 0-1 for a 2-way multiplexer, 21 21 0-7 for an 8-way multiplexer, etc. 22 22 23 - 24 23 Mux controller nodes 25 24 -------------------- 26 25
-2
Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml
··· 201 201 - clocks 202 202 - resets 203 203 204 - 205 204 mdio@2: 206 205 $ref: mdio.yaml# 207 206 unevaluatedProperties: false ··· 249 250 clock-names: 250 251 maxItems: 1 251 252 power-domains: false 252 - 253 253 254 254 unevaluatedProperties: false 255 255
-1
Documentation/devicetree/bindings/net/brcm,bcmgenet.yaml
··· 31 31 - description: RX and TX rings interrupt line 32 32 - description: Wake-on-LAN interrupt line 33 33 34 - 35 34 clocks: 36 35 minItems: 1 37 36 items:
-1
Documentation/devicetree/bindings/net/brcm,mdio-mux-iproc.yaml
··· 29 29 maxItems: 1 30 30 description: core clock driving the MDIO block 31 31 32 - 33 32 required: 34 33 - compatible 35 34 - reg
-1
Documentation/devicetree/bindings/net/cortina,gemini-ethernet.yaml
··· 100 100 }; 101 101 }; 102 102 103 - 104 103 ethernet@60000000 { 105 104 compatible = "cortina,gemini-ethernet"; 106 105 reg = <0x60000000 0x4000>, /* Global registers, queue */
+8 -8
Documentation/devicetree/bindings/net/ethernet-switch.yaml
··· 35 35 then: 36 36 properties: 37 37 $nodename: 38 - pattern: "switch[0-3]@[0-3]+$" 38 + pattern: 'switch[0-3]@[0-3]+$' 39 39 else: 40 40 properties: 41 41 $nodename: 42 - pattern: "^(ethernet-)?switch(@.*)?$" 42 + pattern: '^(ethernet-)?switch(@.*)?$' 43 43 44 44 patternProperties: 45 - "^(ethernet-)?ports$": 45 + '^(ethernet-)?ports$': 46 46 type: object 47 47 unevaluatedProperties: false 48 48 ··· 53 53 const: 0 54 54 55 55 patternProperties: 56 - "^(ethernet-)?port@[0-9a-f]+$": 56 + '^(ethernet-)?port@[0-9a-f]+$': 57 57 type: object 58 58 description: Ethernet switch ports 59 59 60 60 required: 61 - - "#address-cells" 62 - - "#size-cells" 61 + - '#address-cells' 62 + - '#size-cells' 63 63 64 64 oneOf: 65 65 - required: ··· 75 75 $ref: '#' 76 76 77 77 patternProperties: 78 - "^(ethernet-)?ports$": 78 + '^(ethernet-)?ports$': 79 79 patternProperties: 80 - "^(ethernet-)?port@[0-9a-f]+$": 80 + '^(ethernet-)?port@[0-9a-f]+$': 81 81 description: Ethernet switch ports 82 82 $ref: ethernet-switch-port.yaml# 83 83 unevaluatedProperties: false
-2
Documentation/devicetree/bindings/net/fsl,gianfar.yaml
··· 167 167 - description: Receive interrupt 168 168 - description: Error interrupt 169 169 170 - 171 - 172 170 unevaluatedProperties: false 173 171 174 172 examples:
-1
Documentation/devicetree/bindings/net/mdio-mux-multiplexer.yaml
··· 14 14 of a mux producer device. The mux producer can be of any type like mmio mux 15 15 producer, gpio mux producer or generic register based mux producer. 16 16 17 - 18 17 allOf: 19 18 - $ref: /schemas/net/mdio-mux.yaml# 20 19
-1
Documentation/devicetree/bindings/net/qcom,ipa.yaml
··· 24 24 iommu/iommu.txt and iommu/arm,smmu.yaml for more information about SMMU 25 25 bindings. 26 26 27 - 28 27 - | 29 28 -------- --------- 30 29 | | | |
-1
Documentation/devicetree/bindings/net/ti,cpsw-switch.yaml
··· 156 156 CPSW MDIO bus. 157 157 $ref: ti,davinci-mdio.yaml# 158 158 159 - 160 159 required: 161 160 - compatible 162 161 - reg
-1
Documentation/devicetree/bindings/net/wireless/ti,wlcore.yaml
··· 50 50 Points to the node of the regulator that powers/enable the wl12xx/wl18xx 51 51 chip. This is required when connected via SPI. 52 52 53 - 54 53 ref-clock-frequency: 55 54 $ref: /schemas/types.yaml#/definitions/uint32 56 55 description: Reference clock frequency.
-17
Documentation/devicetree/bindings/nvmem/brcm,ocotp.txt
··· 1 - Broadcom OTP memory controller 2 - 3 - Required Properties: 4 - - compatible: "brcm,ocotp" for the first generation Broadcom OTPC which is used 5 - in Cygnus and supports 32 bit read/write. Use "brcm,ocotp-v2" for the second 6 - generation Broadcom OTPC which is used in SoC's such as Stingray and supports 7 - 64-bit read/write. 8 - - reg: Base address of the OTP controller. 9 - - brcm,ocotp-size: Amount of memory available, in 32 bit words 10 - 11 - Example: 12 - 13 - otp: otp@301c800 { 14 - compatible = "brcm,ocotp"; 15 - reg = <0x0301c800 0x2c>; 16 - brcm,ocotp-size = <2048>; 17 - };
+39
Documentation/devicetree/bindings/nvmem/brcm,ocotp.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/nvmem/brcm,ocotp.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Broadcom OTP memory controller 8 + 9 + maintainers: 10 + - Ray Jui <rjui@broadcom.com> 11 + - Scott Branden <sbranden@broadcom.com> 12 + 13 + properties: 14 + compatible: 15 + enum: 16 + - brcm,ocotp 17 + - brcm,ocotp-v2 18 + 19 + reg: 20 + maxItems: 1 21 + 22 + brcm,ocotp-size: 23 + description: Amount of memory available, in 32-bit words 24 + $ref: /schemas/types.yaml#/definitions/uint32 25 + 26 + required: 27 + - compatible 28 + - reg 29 + - brcm,ocotp-size 30 + 31 + additionalProperties: false 32 + 33 + examples: 34 + - | 35 + otp@301c800 { 36 + compatible = "brcm,ocotp"; 37 + reg = <0x0301c800 0x2c>; 38 + brcm,ocotp-size = <2048>; 39 + };
-1
Documentation/devicetree/bindings/pci/altr,pcie-root-port.yaml
··· 93 93 reg-names: 94 94 minItems: 3 95 95 96 - 97 96 unevaluatedProperties: false 98 97 99 98 examples:
-1
Documentation/devicetree/bindings/pci/loongson.yaml
··· 32 32 minItems: 1 33 33 maxItems: 3 34 34 35 - 36 35 required: 37 36 - compatible 38 37 - reg
+1 -1
Documentation/devicetree/bindings/pci/plda,xpressrich3-axi-common.yaml
··· 72 72 - reg-names 73 73 - interrupts 74 74 - msi-controller 75 - - "#interrupt-cells" 75 + - '#interrupt-cells' 76 76 - interrupt-map-mask 77 77 - interrupt-map 78 78
-1
Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml
··· 121 121 - const: dma2 122 122 - const: dma3 123 123 124 - 125 124 unevaluatedProperties: false 126 125 127 126 examples:
-1
Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml
··· 16 16 compatible: 17 17 const: starfive,jh7110-pcie 18 18 19 - 20 19 reg: 21 20 maxItems: 2 22 21
-1
Documentation/devicetree/bindings/pci/versatile.yaml
··· 90 90 <0x0000 0 0 4 &sic 28>; 91 91 }; 92 92 93 - 94 93 ...
+2 -2
Documentation/devicetree/bindings/phy/motorola,cpcap-usb-phy.yaml
··· 67 67 mode-gpios: 68 68 description: Optional GPIOs for configuring alternate modes 69 69 items: 70 - - description: "mode selection GPIO #0" 71 - - description: "mode selection GPIO #1" 70 + - description: mode selection GPIO#0 71 + - description: mode selection GPIO#1 72 72 73 73 required: 74 74 - compatible
-1
Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb3-uni-phy.yaml
··· 35 35 - qcom,sm8350-qmp-usb3-uni-phy 36 36 - qcom,x1e80100-qmp-usb3-uni-phy 37 37 38 - 39 38 reg: 40 39 maxItems: 1 41 40
-1
Documentation/devicetree/bindings/pinctrl/brcm,bcm21664-pinctrl.yaml
··· 116 116 input-schmitt-enable: false 117 117 input-schmitt-disable: false 118 118 119 - 120 119 required: 121 120 - compatible 122 121 - reg
-1
Documentation/devicetree/bindings/pinctrl/fsl,imx9-pinctrl.yaml
··· 58 58 - description: | 59 59 "pad_setting" indicates the pad configuration value to be applied. 60 60 61 - 62 61 required: 63 62 - fsl,pins 64 63
+61
Documentation/devicetree/bindings/pinctrl/marvell,ap806-pinctrl.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/pinctrl/marvell,ap806-pinctrl.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Marvell AP806 pin controller 8 + 9 + maintainers: 10 + - Gregory Clement <gregory.clement@bootlin.com> 11 + - Miquel Raynal <miquel.raynal@bootlin.com> 12 + 13 + properties: 14 + compatible: 15 + const: marvell,ap806-pinctrl 16 + 17 + reg: 18 + maxItems: 1 19 + 20 + patternProperties: 21 + '-pins$': 22 + type: object 23 + additionalProperties: false 24 + 25 + properties: 26 + marvell,function: 27 + $ref: /schemas/types.yaml#/definitions/string 28 + description: 29 + Indicates the function to select. 30 + enum: [ gpio, i2c0, sdio, spi0, uart0, uart1 ] 31 + 32 + marvell,pins: 33 + $ref: /schemas/types.yaml#/definitions/string-array 34 + description: 35 + Array of MPP pins to be used for the given function. 36 + minItems: 1 37 + maxItems: 20 38 + items: 39 + enum: [ 40 + mpp0, mpp1, mpp2, mpp3, mpp4, mpp5, mpp6, mpp7, mpp8, mpp9, mpp10, 41 + mpp11, mpp12, mpp13, mpp14, mpp15, mpp16, mpp17, mpp18, mpp19 42 + ] 43 + 44 + allOf: 45 + - $ref: pinctrl.yaml# 46 + 47 + required: 48 + - compatible 49 + 50 + additionalProperties: false 51 + 52 + examples: 53 + - | 54 + pinctrl { 55 + compatible = "marvell,ap806-pinctrl"; 56 + 57 + uart0_pins: uart0-pins { 58 + marvell,pins = "mpp11", "mpp19"; 59 + marvell,function = "uart0"; 60 + }; 61 + };
+72
Documentation/devicetree/bindings/pinctrl/marvell,armada-7k-pinctrl.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/pinctrl/marvell,armada-7k-pinctrl.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Marvell Armada 7K/8K pin controller 8 + 9 + maintainers: 10 + - Gregory Clement <gregory.clement@bootlin.com> 11 + - Miquel Raynal <miquel.raynal@bootlin.com> 12 + 13 + properties: 14 + compatible: 15 + enum: 16 + - marvell,armada-7k-pinctrl 17 + - marvell,armada-8k-cpm-pinctrl 18 + - marvell,armada-8k-cps-pinctrl 19 + - marvell,cp115-standalone-pinctrl 20 + 21 + reg: 22 + maxItems: 1 23 + 24 + patternProperties: 25 + '-pins(-.+)?$': 26 + type: object 27 + additionalProperties: false 28 + 29 + properties: 30 + marvell,function: 31 + $ref: /schemas/types.yaml#/definitions/string 32 + description: 33 + Indicates the function to select. 34 + enum: [ 35 + au, dev, ge, ge0, ge1, gpio, i2c0, i2c1, led, link, mii, mss_gpio0, 36 + mss_gpio1, mss_gpio2, mss_gpio3, mss_gpio4, mss_gpio5, mss_gpio6, 37 + mss_gpio7, mss_i2c, mss_spi, mss_uart, nf, pcie, pcie0, pcie1, pcie2, 38 + ptp, rei, sata0, sata1, sdio, sdio_cd, sdio_wp, sei, spi0, spi1, 39 + synce1, synce2, tdm, uart0, uart1, uart2, uart3, wakeup, xg 40 + ] 41 + 42 + marvell,pins: 43 + $ref: /schemas/types.yaml#/definitions/string-array 44 + description: 45 + Array of MPP pins to be used for the given function. 46 + minItems: 1 47 + maxItems: 63 48 + items: 49 + pattern: '^mpp([1-5]?[0-9]|6[0-2])$' 50 + 51 + allOf: 52 + - $ref: pinctrl.yaml# 53 + 54 + required: 55 + - compatible 56 + 57 + additionalProperties: false 58 + 59 + examples: 60 + - | 61 + pinctrl { 62 + compatible = "marvell,armada-7k-pinctrl"; 63 + 64 + nand_pins: nand-pins { 65 + marvell,pins = 66 + "mpp15", "mpp16", "mpp17", "mpp18", 67 + "mpp19", "mpp20", "mpp21", "mpp22", 68 + "mpp23", "mpp24", "mpp25", "mpp26", 69 + "mpp27"; 70 + marvell,function = "dev"; 71 + }; 72 + };
+6 -6
Documentation/devicetree/bindings/pinctrl/microchip,sparx5-sgpio.yaml
··· 18 18 19 19 properties: 20 20 $nodename: 21 - pattern: "^gpio@[0-9a-f]+$" 21 + pattern: '^gpio@[0-9a-f]+$' 22 22 23 23 compatible: 24 24 enum: ··· 26 26 - mscc,ocelot-sgpio 27 27 - mscc,luton-sgpio 28 28 29 - "#address-cells": 29 + '#address-cells': 30 30 const: 1 31 31 32 - "#size-cells": 32 + '#size-cells': 33 33 const: 0 34 34 35 35 reg: ··· 76 76 - const: switch 77 77 78 78 patternProperties: 79 - "^gpio@[0-1]$": 79 + '^gpio@[0-1]$': 80 80 type: object 81 81 properties: 82 82 compatible: ··· 132 132 - reg 133 133 - clocks 134 134 - microchip,sgpio-port-ranges 135 - - "#address-cells" 136 - - "#size-cells" 135 + - '#address-cells' 136 + - '#size-cells' 137 137 138 138 examples: 139 139 - |
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,ipq5018-tlmm.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: 14 14 Top Level Mode Multiplexer pin controller in Qualcomm IPQ5018 SoC.
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,ipq5332-tlmm.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: | 14 14 Top Level Mode Multiplexer pin controller in Qualcomm IPQ5332 SoC.
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,ipq8074-pinctrl.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: 14 14 Top Level Mode Multiplexer pin controller in Qualcomm IPQ8074 SoC.
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,ipq9574-tlmm.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: 14 14 Top Level Mode Multiplexer pin controller in Qualcomm IPQ9574 SoC.
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,lpass-lpi-common.yaml
··· 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 11 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 12 + - Krzysztof Kozlowski <krzk@kernel.org> 13 13 14 14 description: 15 15 Common properties for the Top Level Mode Multiplexer pin controllers in the
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,msm8660-pinctrl.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: 14 14 Top Level Mode Multiplexer pin controller in Qualcomm MSM8660 SoC.
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,msm8916-pinctrl.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: 14 14 Top Level Mode Multiplexer pin controller in Qualcomm MSM8916 SoC.
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,msm8960-pinctrl.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: 14 14 Top Level Mode Multiplexer pin controller in Qualcomm MSM8960 SoC.
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: 14 14 Top Level Mode Multiplexer pin controller in Qualcomm MSM8974 SoC.
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,msm8976-pinctrl.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: 14 14 Top Level Mode Multiplexer pin controller in Qualcomm MSM8976 SoC.
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,msm8994-pinctrl.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: 14 14 Top Level Mode Multiplexer pin controller in Qualcomm MSM8994 SoC.
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,msm8996-pinctrl.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: 14 14 Top Level Mode Multiplexer pin controller in Qualcomm MSM8996 SoC.
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,msm8998-pinctrl.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: 14 14 Top Level Mode Multiplexer pin controller in Qualcomm MSM8998 SoC.
+5 -5
Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.yaml
··· 424 424 patternProperties: 425 425 '-state$': 426 426 oneOf: 427 - - $ref: "#/$defs/qcom-pmic-gpio-state" 427 + - $ref: '#/$defs/qcom-pmic-gpio-state' 428 428 - patternProperties: 429 - "(pinconf|-pins)$": 430 - $ref: "#/$defs/qcom-pmic-gpio-state" 429 + '(pinconf|-pins)$': 430 + $ref: '#/$defs/qcom-pmic-gpio-state' 431 431 additionalProperties: false 432 432 433 - "-hog(-[0-9]+)?$": 433 + '-hog(-[0-9]+)?$': 434 434 type: object 435 435 required: 436 436 - gpio-hog ··· 503 503 - gpio1-gpio12 for pmxr2230 504 504 505 505 items: 506 - pattern: "^gpio([0-9]+)$" 506 + pattern: '^gpio([0-9]+)$' 507 507 508 508 function: 509 509 items:
+3 -3
Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.yaml
··· 74 74 patternProperties: 75 75 '-state$': 76 76 oneOf: 77 - - $ref: "#/$defs/qcom-pmic-mpp-state" 77 + - $ref: '#/$defs/qcom-pmic-mpp-state' 78 78 - patternProperties: 79 79 '-pins$': 80 - $ref: "#/$defs/qcom-pmic-mpp-state" 80 + $ref: '#/$defs/qcom-pmic-mpp-state' 81 81 additionalProperties: false 82 82 83 83 $defs: ··· 100 100 - mpp1-mpp4 for pma8084 101 101 102 102 items: 103 - pattern: "^mpp([0-9]+)$" 103 + pattern: '^mpp([0-9]+)$' 104 104 105 105 function: 106 106 items:
+1 -2
Documentation/devicetree/bindings/pinctrl/qcom,qcs404-pinctrl.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: 14 14 Top Level Mode Multiplexer pin controller in Qualcomm QCS404 SoC. ··· 141 141 #gpio-cells = <2>; 142 142 interrupt-controller; 143 143 #interrupt-cells = <2>; 144 - 145 144 146 145 blsp1-i2c1-default-state { 147 146 pins = "gpio24", "gpio25";
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,sc7180-pinctrl.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: 14 14 Top Level Mode Multiplexer pin controller in Qualcomm SC7180 SoC.
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,sdm630-pinctrl.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: 14 14 Top Level Mode Multiplexer pin controller in Qualcomm SDM630 and SDM660 SoC.
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,sdm845-pinctrl.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: 14 14 Top Level Mode Multiplexer pin controller in Qualcomm SDM845 SoC.
-1
Documentation/devicetree/bindings/pinctrl/qcom,sm6115-lpass-lpi-pinctrl.yaml
··· 66 66 Specify the alternative function to be configured for the specified 67 67 pins. 68 68 69 - 70 69 allOf: 71 70 - $ref: qcom,lpass-lpi-common.yaml# 72 71
-1
Documentation/devicetree/bindings/pinctrl/qcom,sm6125-tlmm.yaml
··· 88 88 uim2_present, uim2_reset, unused1, unused2, usb_phy, vfr_1, vsense_trigger, 89 89 wlan1_adc0, wlan1_adc1, wlan2_adc0, wlan2_adc1, wsa_clk, wsa_data ] 90 90 91 - 92 91 required: 93 92 - pins 94 93
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,sm8150-pinctrl.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: 14 14 Top Level Mode Multiplexer pin controller in Qualcomm SM8150 SoC.
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,sm8350-lpass-lpi-pinctrl.yaml
··· 7 7 title: Qualcomm SM8350 SoC LPASS LPI TLMM 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12 12 13 13 description:
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,sm8550-lpass-lpi-pinctrl.yaml
··· 7 7 title: Qualcomm SM8550 SoC LPASS LPI TLMM 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12 12 13 13 description:
+1 -1
Documentation/devicetree/bindings/pinctrl/qcom,sm8650-lpass-lpi-pinctrl.yaml
··· 7 7 title: Qualcomm SM8650 SoC LPASS LPI TLMM 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12 12 13 13 description:
+1 -1
Documentation/devicetree/bindings/pinctrl/renesas,pfc.yaml
··· 129 129 130 130 - type: object 131 131 additionalProperties: 132 - $ref: "#/additionalProperties/anyOf/0" 132 + $ref: '#/additionalProperties/anyOf/0' 133 133 134 134 examples: 135 135 - |
+1 -4
Documentation/devicetree/bindings/pinctrl/renesas,rza1-ports.yaml
··· 65 65 - '#gpio-cells' 66 66 - gpio-ranges 67 67 68 - 69 68 additionalProperties: 70 69 anyOf: 71 70 - type: object ··· 117 118 118 119 - type: object 119 120 additionalProperties: 120 - $ref: "#/additionalProperties/anyOf/0" 121 + $ref: '#/additionalProperties/anyOf/0' 121 122 122 123 examples: 123 124 - | ··· 149 150 pinmux = <RZA1_PINMUX(3, 0, 6)>, <RZA1_PINMUX(3, 2, 4)>; 150 151 }; 151 152 152 - 153 153 /* 154 154 * I2c master: both SDA and SCL pins need bi-directional operations 155 155 * Pin #4 on port #1 is configured as alternate function #1. ··· 159 161 i2c2_pins: i2c2 { 160 162 pinmux = <RZA1_PINMUX(1, 4, 1)>, <RZA1_PINMUX(1, 5, 1)>; 161 163 }; 162 - 163 164 164 165 /* 165 166 * Multi-function timer input and output compare pins.
+1 -1
Documentation/devicetree/bindings/pinctrl/renesas,rzg2l-pinctrl.yaml
··· 135 135 136 136 - type: object 137 137 additionalProperties: 138 - $ref: "#/additionalProperties/anyOf/0" 138 + $ref: '#/additionalProperties/anyOf/0' 139 139 140 140 allOf: 141 141 - $ref: pinctrl.yaml#
+1 -1
Documentation/devicetree/bindings/pinctrl/renesas,rzv2m-pinctrl.yaml
··· 88 88 89 89 - type: object 90 90 additionalProperties: 91 - $ref: "#/additionalProperties/anyOf/0" 91 + $ref: '#/additionalProperties/anyOf/0' 92 92 93 93 allOf: 94 94 - $ref: pinctrl.yaml#
-1
Documentation/devicetree/bindings/pinctrl/starfive,jh7100-pinctrl.yaml
··· 32 32 | | | | | | ------- 33 33 UART0 UART1 -- 34 34 35 - 36 35 The big MUX in the diagram only has 7 different ways of mapping peripherals 37 36 on the left to pins on the right. StarFive calls the 7 configurations "signal 38 37 groups".
-21
Documentation/devicetree/bindings/power/actions,owl-sps.txt
··· 1 - Actions Semi Owl Smart Power System (SPS) 2 - 3 - Required properties: 4 - - compatible : "actions,s500-sps" for S500 5 - "actions,s700-sps" for S700 6 - "actions,s900-sps" for S900 7 - - reg : Offset and length of the register set for the device. 8 - - #power-domain-cells : Must be 1. 9 - See macros in: 10 - include/dt-bindings/power/owl-s500-powergate.h for S500 11 - include/dt-bindings/power/owl-s700-powergate.h for S700 12 - include/dt-bindings/power/owl-s900-powergate.h for S900 13 - 14 - 15 - Example: 16 - 17 - sps: power-controller@b01b0100 { 18 - compatible = "actions,s500-sps"; 19 - reg = <0xb01b0100 0x100>; 20 - #power-domain-cells = <1>; 21 - };
+39
Documentation/devicetree/bindings/power/actions,s500-sps.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/power/actions,s500-sps.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Actions Semi Owl Smart Power System (SPS) 8 + 9 + maintainers: 10 + - Andreas Färber <afaerber@suse.de> 11 + - Manivannan Sadhasivam <mani@kernel.org> 12 + 13 + properties: 14 + compatible: 15 + enum: 16 + - actions,s500-sps 17 + - actions,s700-sps 18 + - actions,s900-sps 19 + 20 + reg: 21 + maxItems: 1 22 + 23 + '#power-domain-cells': 24 + const: 1 25 + 26 + required: 27 + - compatible 28 + - reg 29 + - '#power-domain-cells' 30 + 31 + additionalProperties: false 32 + 33 + examples: 34 + - | 35 + power-controller@b01b0100 { 36 + compatible = "actions,s500-sps"; 37 + reg = <0xb01b0100 0x100>; 38 + #power-domain-cells = <1>; 39 + };
+2 -2
Documentation/devicetree/bindings/power/renesas,sysc-rmobile.yaml
··· 45 45 const: 0 46 46 47 47 additionalProperties: 48 - $ref: "#/$defs/pd-node" 48 + $ref: '#/$defs/pd-node' 49 49 50 50 required: 51 51 - compatible ··· 83 83 - '#power-domain-cells' 84 84 85 85 additionalProperties: 86 - $ref: "#/$defs/pd-node" 86 + $ref: '#/$defs/pd-node' 87 87 88 88 examples: 89 89 - |
-1
Documentation/devicetree/bindings/power/supply/mt6360_charger.yaml
··· 21 21 description: Maximum CHGIN regulation voltage in uV. 22 22 enum: [ 5500000, 6500000, 11000000, 14500000 ] 23 23 24 - 25 24 usb-otg-vbus-regulator: 26 25 type: object 27 26 description: OTG boost regulator.
-1
Documentation/devicetree/bindings/power/supply/stericsson,ab8500-charger.yaml
··· 65 65 - const: vbus_v 66 66 - const: usb_charger_c 67 67 68 - 69 68 required: 70 69 - compatible 71 70 - monitored-battery
-1
Documentation/devicetree/bindings/pwm/allwinner,sun4i-a10-pwm.yaml
··· 55 55 resets: 56 56 maxItems: 1 57 57 58 - 59 58 allOf: 60 59 - $ref: pwm.yaml# 61 60
+1 -1
Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <bjorn.andersson@linaro.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: | 14 14 rpmh-regulator devices support PMIC regulator management via the Voltage
-1
Documentation/devicetree/bindings/regulator/richtek,rt6245-regulator.yaml
··· 55 55 delay time 0us, 10us, 20us, 40us. If this property is missing then keep 56 56 in chip default. 57 57 58 - 59 58 richtek,switch-freq-select: 60 59 $ref: /schemas/types.yaml#/definitions/uint8 61 60 enum: [0, 1, 2]
-2
Documentation/devicetree/bindings/remoteproc/ti,k3-r5f-rproc.yaml
··· 79 79 It should be set as 3 (Single-Core mode) which is also the default if 80 80 omitted. 81 81 82 - 83 82 # R5F Processor Child Nodes: 84 83 # ========================== 85 84 ··· 165 166 vring buffers 166 167 - description: region reserved for firmware image sections 167 168 additionalItems: true 168 - 169 169 170 170 # Optional properties: 171 171 # --------------------
-1
Documentation/devicetree/bindings/reset/ti,sci-reset.yaml
··· 40 40 Please see https://software-dl.ti.com/tisci/esd/latest/index.html for 41 41 protocol documentation for the values to be used for different devices. 42 42 43 - 44 43 additionalProperties: false 45 44 46 45 examples:
-2
Documentation/devicetree/bindings/rng/inside-secure,safexcel-eip76.yaml
··· 44 44 - const: core 45 45 - const: reg 46 46 47 - 48 47 allOf: 49 48 - if: 50 49 properties: ··· 56 57 then: 57 58 required: 58 59 - interrupts 59 - 60 60 61 61 required: 62 62 - compatible
+1 -1
Documentation/devicetree/bindings/serial/qcom,msm-uart.yaml
··· 8 8 9 9 maintainers: 10 10 - Bjorn Andersson <andersson@kernel.org> 11 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 + - Krzysztof Kozlowski <krzk@kernel.org> 12 12 13 13 description: 14 14 The MSM serial UART hardware is designed for low-speed use cases where a
+1 -1
Documentation/devicetree/bindings/serial/qcom,msm-uartdm.yaml
··· 9 9 maintainers: 10 10 - Andy Gross <agross@kernel.org> 11 11 - Bjorn Andersson <bjorn.andersson@linaro.org> 12 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 12 + - Krzysztof Kozlowski <krzk@kernel.org> 13 13 14 14 description: | 15 15 The MSM serial UARTDM hardware is designed for high-speed use cases where the
+1 -1
Documentation/devicetree/bindings/slimbus/qcom,slim-ngd.yaml
··· 7 7 title: Qualcomm SoC SLIMBus Non Generic Device (NGD) Controller 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12 12 13 13 description:
-1
Documentation/devicetree/bindings/soc/fsl/cpm_qe/fsl,qe-muram.yaml
··· 30 30 $ref: /schemas/types.yaml#/definitions/string 31 31 enum: [host, slave] 32 32 33 - 34 33 patternProperties: 35 34 '^data\-only@[a-f0-9]+$': 36 35 type: object
-1
Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
··· 91 91 required: 92 92 - clocks 93 93 94 - 95 94 required: 96 95 - compatible 97 96 - reg
+4 -5
Documentation/devicetree/bindings/soc/microchip/atmel,at91rm9200-tcb.yaml
··· 57 57 const: 0 58 58 59 59 patternProperties: 60 - "^timer@[0-2]$": 60 + '^timer@[0-2]$': 61 61 description: The timer block channels that are used as timers or counters. 62 62 type: object 63 63 additionalProperties: false ··· 80 80 - compatible 81 81 - reg 82 82 83 - "^pwm@[0-2]$": 83 + '^pwm@[0-2]$': 84 84 description: The timer block channels that are used as PWMs. 85 85 $ref: /schemas/pwm/pwm.yaml# 86 86 type: object ··· 92 92 TCB channel to use for this PWM. 93 93 enum: [ 0, 1, 2 ] 94 94 95 - "#pwm-cells": 95 + '#pwm-cells': 96 96 description: 97 97 The only third cell flag supported by this binding is 98 98 PWM_POLARITY_INVERTED. ··· 101 101 required: 102 102 - compatible 103 103 - reg 104 - - "#pwm-cells" 104 + - '#pwm-cells' 105 105 106 106 additionalProperties: false 107 - 108 107 109 108 allOf: 110 109 - if:
+1 -1
Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.yaml
··· 9 9 maintainers: 10 10 - Andy Gross <agross@kernel.org> 11 11 - Bjorn Andersson <bjorn.andersson@linaro.org> 12 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 12 + - Krzysztof Kozlowski <krzk@kernel.org> 13 13 14 14 description: 15 15 The GSBI controller is modeled as a node with zero or more child nodes, each
+1 -1
Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml
··· 9 9 maintainers: 10 10 - Andy Gross <agross@kernel.org> 11 11 - Bjorn Andersson <bjorn.andersson@linaro.org> 12 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 12 + - Krzysztof Kozlowski <krzk@kernel.org> 13 13 14 14 description: 15 15 The Qualcomm Shared Memory Driver is a FIFO based communication channel for
+1 -1
Documentation/devicetree/bindings/soc/qcom/qcom,smp2p.yaml
··· 9 9 maintainers: 10 10 - Andy Gross <agross@kernel.org> 11 11 - Bjorn Andersson <bjorn.andersson@linaro.org> 12 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 12 + - Krzysztof Kozlowski <krzk@kernel.org> 13 13 14 14 description: 15 15 The Shared Memory Point to Point (SMP2P) protocol facilitates communication
+1 -1
Documentation/devicetree/bindings/soc/qcom/qcom,smsm.yaml
··· 9 9 maintainers: 10 10 - Andy Gross <agross@kernel.org> 11 11 - Bjorn Andersson <bjorn.andersson@linaro.org> 12 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 12 + - Krzysztof Kozlowski <krzk@kernel.org> 13 13 14 14 description: 15 15 The Shared Memory State Machine facilitates broadcasting of single bit state
-1
Documentation/devicetree/bindings/soc/rockchip/grf.yaml
··· 317 317 properties: 318 318 clocks: false 319 319 320 - 321 320 examples: 322 321 - | 323 322 #include <dt-bindings/clock/rk3399-cru.h>
+6 -6
Documentation/devicetree/bindings/soc/tegra/nvidia,tegra20-pmc.yaml
··· 133 133 property. The supported-hw is a bitfield indicating SoC speedo or 134 134 process ID mask. 135 135 136 - "#power-domain-cells": 136 + '#power-domain-cells': 137 137 const: 0 138 138 139 139 required: 140 140 - operating-points-v2 141 - - "#power-domain-cells" 141 + - '#power-domain-cells' 142 142 143 143 i2c-thermtrip: 144 144 type: object ··· 220 220 xusbc USB Partition C Tegra114/124/210 221 221 222 222 patternProperties: 223 - "^[a-z0-9]+$": 223 + '^[a-z0-9]+$': 224 224 type: object 225 225 additionalProperties: false 226 226 properties: ··· 365 365 additionalProperties: false 366 366 367 367 dependencies: 368 - nvidia,suspend-mode: ["nvidia,core-pwr-off-time", "nvidia,cpu-pwr-off-time"] 369 - nvidia,core-pwr-off-time: ["nvidia,core-pwr-good-time"] 370 - nvidia,cpu-pwr-off-time: ["nvidia,cpu-pwr-good-time"] 368 + nvidia,suspend-mode: ['nvidia,core-pwr-off-time', 'nvidia,cpu-pwr-off-time'] 369 + nvidia,core-pwr-off-time: ['nvidia,core-pwr-good-time'] 370 + nvidia,cpu-pwr-off-time: ['nvidia,cpu-pwr-good-time'] 371 371 372 372 examples: 373 373 - |
-3
Documentation/devicetree/bindings/soc/ti/ti,pruss.yaml
··· 11 11 - Suman Anna <s-anna@ti.com> 12 12 13 13 description: |+ 14 - 15 14 The Programmable Real-Time Unit and Industrial Communication Subsystem 16 15 (PRU-ICSS a.k.a. PRUSS) is present on various TI SoCs such as AM335x, AM437x, 17 16 Keystone 66AK2G, OMAP-L138/DA850 etc. A PRUSS consists of dual 32-bit RISC ··· 43 44 integration within the IP and the SoC. These nodes are described in the 44 45 following sections. 45 46 46 - 47 47 PRU-ICSS Node 48 48 ============== 49 49 Each PRU-ICSS instance is represented as its own node with the individual PRU ··· 51 53 corresponding interconnect bus nodes or target-module nodes. 52 54 53 55 See ../../mfd/syscon.yaml for generic SysCon binding details. 54 - 55 56 56 57 properties: 57 58 $nodename:
-1
Documentation/devicetree/bindings/sound/adi,adau1372.yaml
··· 4 4 $id: http://devicetree.org/schemas/sound/adi,adau1372.yaml# 5 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 - 8 7 title: Analog Devices ADAU1372 CODEC 9 8 10 9 maintainers:
+1 -1
Documentation/devicetree/bindings/sound/adi,adau7002.yaml
··· 7 7 title: Analog Devices ADAU7002 Stereo PDM-to-I2S/TDM Converter 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 12 12 allOf: 13 13 - $ref: dai-common.yaml#
-1
Documentation/devicetree/bindings/sound/adi,adau7118.yaml
··· 4 4 $id: http://devicetree.org/schemas/sound/adi,adau7118.yaml# 5 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 - 8 7 title: Analog Devices ADAU7118 8 Channel PDM to I2S/TDM Converter 9 8 10 9 maintainers:
+1 -1
Documentation/devicetree/bindings/sound/maxim,max98090.yaml
··· 7 7 title: Maxim Integrated MAX98090/MAX98091 audio codecs 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 12 12 description: | 13 13 Pins on the device (for linking into audio routes):
+1 -1
Documentation/devicetree/bindings/sound/maxim,max98095.yaml
··· 7 7 title: Maxim Integrated MAX98095 audio codec 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 12 12 allOf: 13 13 - $ref: dai-common.yaml#
+1 -1
Documentation/devicetree/bindings/sound/maxim,max98504.yaml
··· 7 7 title: Maxim Integrated MAX98504 class D mono speaker amplifier 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 12 12 description: 13 13 Maxim Integrated MAX98504 speaker amplifier supports I2C control interface
+1 -1
Documentation/devicetree/bindings/sound/qcom,q6adm-routing.yaml
··· 7 7 title: Qualcomm Audio Device Manager (Q6ADM) routing 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12 12 13 13 description:
+1 -1
Documentation/devicetree/bindings/sound/qcom,q6adm.yaml
··· 7 7 title: Qualcomm Audio Device Manager (Q6ADM) 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12 12 13 13 allOf:
+1 -1
Documentation/devicetree/bindings/sound/qcom,q6afe.yaml
··· 7 7 title: Qualcomm Audio FrontEnd (Q6AFE) 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12 12 13 13 allOf:
+1 -1
Documentation/devicetree/bindings/sound/qcom,q6apm-lpass-dais.yaml
··· 7 7 title: Qualcomm DSP LPASS (Low Power Audio SubSystem) Audio Ports 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12 12 13 13 allOf:
+1 -1
Documentation/devicetree/bindings/sound/qcom,q6apm.yaml
··· 7 7 title: Qualcomm Audio Process Manager (Q6APM) 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12 12 13 13 allOf:
+1 -1
Documentation/devicetree/bindings/sound/qcom,q6asm-dais.yaml
··· 7 7 title: Qualcomm Audio Stream Manager (Q6ASM) 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12 12 13 13 description:
+1 -1
Documentation/devicetree/bindings/sound/qcom,q6asm.yaml
··· 7 7 title: Qualcomm Audio Stream Manager (Q6ASM) 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12 12 13 13 allOf:
+1 -1
Documentation/devicetree/bindings/sound/qcom,q6core.yaml
··· 7 7 title: Qualcomm Audio Core (Q6Core) 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12 12 13 13 allOf:
+1 -1
Documentation/devicetree/bindings/sound/qcom,q6prm.yaml
··· 7 7 title: Qualcomm Proxy Resource Manager (Q6PRM) 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12 12 13 13 allOf:
+1 -1
Documentation/devicetree/bindings/sound/qcom,wsa8840.yaml
··· 7 7 title: Qualcomm WSA8840/WSA8845/WSA8845H smart speaker amplifier 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12 12 13 13 description:
-1
Documentation/devicetree/bindings/sound/rockchip,i2s-tdm.yaml
··· 135 135 the direction (input/output) needs to be dynamically adjusted. 136 136 type: boolean 137 137 138 - 139 138 required: 140 139 - compatible 141 140 - reg
+1 -1
Documentation/devicetree/bindings/sound/rockchip,rk3328-codec.yaml
··· 8 8 9 9 maintainers: 10 10 - Heiko Stuebner <heiko@sntech.de> 11 + 11 12 allOf: 12 13 - $ref: dai-common.yaml# 13 - 14 14 15 15 properties: 16 16 compatible:
-1
Documentation/devicetree/bindings/sound/samsung,tm2.yaml
··· 30 30 - items: 31 31 - description: Phandle to the HDMI transmitter node. 32 32 33 - 34 33 samsung,audio-routing: 35 34 description: | 36 35 List of the connections between audio components; each entry is
-1
Documentation/devicetree/bindings/sound/ti,tlv320dac3100.yaml
··· 84 84 description: gpio pin number used for codec reset 85 85 deprecated: true 86 86 87 - 88 87 required: 89 88 - compatible 90 89 - reg
-1
Documentation/devicetree/bindings/sound/wlf,wm8903.yaml
··· 75 75 DCVDD-supply: 76 76 description: Digital core supply regulator for the DCVDD pin. 77 77 78 - 79 78 required: 80 79 - compatible 81 80 - reg
+1 -1
Documentation/devicetree/bindings/sound/wlf,wm8994.yaml
··· 7 7 title: Wolfson WM1811/WM8994/WM8958 audio codecs 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 - patches@opensource.cirrus.com 12 12 13 13 description: |
+1 -1
Documentation/devicetree/bindings/spi/qcom,spi-geni-qcom.yaml
··· 9 9 maintainers: 10 10 - Andy Gross <agross@kernel.org> 11 11 - Bjorn Andersson <bjorn.andersson@linaro.org> 12 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 12 + - Krzysztof Kozlowski <krzk@kernel.org> 13 13 14 14 description: 15 15 The QUP v3 core is a GENI based AHB slave that provides a common data path
+1 -1
Documentation/devicetree/bindings/spi/qcom,spi-qup.yaml
··· 9 9 maintainers: 10 10 - Andy Gross <agross@kernel.org> 11 11 - Bjorn Andersson <bjorn.andersson@linaro.org> 12 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 12 + - Krzysztof Kozlowski <krzk@kernel.org> 13 13 14 14 description: 15 15 The QUP core is an AHB slave that provides a common data path (an output FIFO
-33
Documentation/devicetree/bindings/thermal/amazon,al-thermal.txt
··· 1 - Amazon's Annapurna Labs Thermal Sensor 2 - 3 - Simple thermal device that allows temperature reading by a single MMIO 4 - transaction. 5 - 6 - Required properties: 7 - - compatible: "amazon,al-thermal". 8 - - reg: The physical base address and length of the sensor's registers. 9 - - #thermal-sensor-cells: Must be 1. See Documentation/devicetree/bindings/thermal/thermal-sensor.yaml for a description. 10 - 11 - Example: 12 - thermal: thermal { 13 - compatible = "amazon,al-thermal"; 14 - reg = <0x0 0x05002860 0x0 0x1>; 15 - #thermal-sensor-cells = <0x1>; 16 - }; 17 - 18 - thermal-zones { 19 - thermal-z0 { 20 - polling-delay-passive = <250>; 21 - polling-delay = <1000>; 22 - thermal-sensors = <&thermal 0>; 23 - trips { 24 - critical { 25 - temperature = <105000>; 26 - hysteresis = <2000>; 27 - type = "critical"; 28 - }; 29 - }; 30 - 31 - }; 32 - }; 33 -
+50
Documentation/devicetree/bindings/thermal/amazon,al-thermal.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/thermal/amazon,al-thermal.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Amazon Annapurna Labs Thermal Sensor 8 + 9 + maintainers: 10 + - Talel Shenhar <talel@amazon.com> 11 + 12 + description: 13 + Simple thermal device that allows temperature reading by a single MMIO 14 + transaction. 15 + 16 + properties: 17 + compatible: 18 + items: 19 + - const: amazon,al-thermal 20 + 21 + reg: 22 + maxItems: 1 23 + 24 + '#thermal-sensor-cells': 25 + const: 1 26 + 27 + additionalProperties: false 28 + 29 + examples: 30 + - | 31 + thermal: thermal@5002860 { 32 + compatible = "amazon,al-thermal"; 33 + reg = <0x05002860 0x1>; 34 + #thermal-sensor-cells = <0x1>; 35 + }; 36 + 37 + thermal-zones { 38 + z0-thermal { 39 + polling-delay-passive = <250>; 40 + polling-delay = <1000>; 41 + thermal-sensors = <&thermal 0>; 42 + trips { 43 + critical { 44 + temperature = <105000>; 45 + hysteresis = <2000>; 46 + type = "critical"; 47 + }; 48 + }; 49 + }; 50 + };
-105
Documentation/devicetree/bindings/thermal/brcm,sr-thermal.txt
··· 1 - * Broadcom Stingray Thermal 2 - 3 - This binding describes thermal sensors that is part of Stingray SoCs. 4 - 5 - Required properties: 6 - - compatible : Must be "brcm,sr-thermal" 7 - - reg : Memory where tmon data will be available. 8 - - brcm,tmon-mask: A one cell bit mask of valid TMON sources. 9 - Each bit represents single TMON source. 10 - - #thermal-sensor-cells : Thermal sensor phandler 11 - - polling-delay: Max number of milliseconds to wait between polls. 12 - - thermal-sensors: A list of thermal sensor phandles and specifier. 13 - specifier value is tmon ID and it should be 14 - in correspond with brcm,tmon-mask. 15 - - temperature: trip temperature threshold in millicelsius. 16 - 17 - Example: 18 - tmons { 19 - compatible = "simple-bus"; 20 - #address-cells = <1>; 21 - #size-cells = <1>; 22 - ranges = <0x0 0x0 0x8f100000 0x100>; 23 - 24 - tmon: tmon@0 { 25 - compatible = "brcm,sr-thermal"; 26 - reg = <0x0 0x40>; 27 - brcm,tmon-mask = <0x3f>; 28 - #thermal-sensor-cells = <1>; 29 - }; 30 - }; 31 - 32 - thermal-zones { 33 - ihost0_thermal: ihost0-thermal { 34 - polling-delay-passive = <0>; 35 - polling-delay = <1000>; 36 - thermal-sensors = <&tmon 0>; 37 - trips { 38 - cpu-crit { 39 - temperature = <105000>; 40 - hysteresis = <0>; 41 - type = "critical"; 42 - }; 43 - }; 44 - }; 45 - ihost1_thermal: ihost1-thermal { 46 - polling-delay-passive = <0>; 47 - polling-delay = <1000>; 48 - thermal-sensors = <&tmon 1>; 49 - trips { 50 - cpu-crit { 51 - temperature = <105000>; 52 - hysteresis = <0>; 53 - type = "critical"; 54 - }; 55 - }; 56 - }; 57 - ihost2_thermal: ihost2-thermal { 58 - polling-delay-passive = <0>; 59 - polling-delay = <1000>; 60 - thermal-sensors = <&tmon 2>; 61 - trips { 62 - cpu-crit { 63 - temperature = <105000>; 64 - hysteresis = <0>; 65 - type = "critical"; 66 - }; 67 - }; 68 - }; 69 - ihost3_thermal: ihost3-thermal { 70 - polling-delay-passive = <0>; 71 - polling-delay = <1000>; 72 - thermal-sensors = <&tmon 3>; 73 - trips { 74 - cpu-crit { 75 - temperature = <105000>; 76 - hysteresis = <0>; 77 - type = "critical"; 78 - }; 79 - }; 80 - }; 81 - crmu_thermal: crmu-thermal { 82 - polling-delay-passive = <0>; 83 - polling-delay = <1000>; 84 - thermal-sensors = <&tmon 4>; 85 - trips { 86 - cpu-crit { 87 - temperature = <105000>; 88 - hysteresis = <0>; 89 - type = "critical"; 90 - }; 91 - }; 92 - }; 93 - nitro_thermal: nitro-thermal { 94 - polling-delay-passive = <0>; 95 - polling-delay = <1000>; 96 - thermal-sensors = <&tmon 5>; 97 - trips { 98 - cpu-crit { 99 - temperature = <105000>; 100 - hysteresis = <0>; 101 - type = "critical"; 102 - }; 103 - }; 104 - }; 105 - };
+121
Documentation/devicetree/bindings/thermal/brcm,sr-thermal.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/thermal/brcm,sr-thermal.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Broadcom Stingray Thermal Sensors 8 + 9 + maintainers: 10 + - Ray Jui <rjui@broadcom.com> 11 + - Scott Branden <sbranden@broadcom.com> 12 + 13 + allOf: 14 + - $ref: thermal-sensor.yaml# 15 + 16 + properties: 17 + compatible: 18 + const: brcm,sr-thermal 19 + 20 + reg: 21 + maxItems: 1 22 + 23 + brcm,tmon-mask: 24 + description: 25 + A one-cell bit mask of valid TMON sources. Each bit represents a single 26 + TMON source. 27 + $ref: /schemas/types.yaml#/definitions/uint32 28 + 29 + '#thermal-sensor-cells': 30 + const: 1 31 + 32 + required: 33 + - compatible 34 + - reg 35 + - brcm,tmon-mask 36 + 37 + additionalProperties: false 38 + 39 + examples: 40 + - | 41 + tmon: thermal-sensor@0 { 42 + compatible = "brcm,sr-thermal"; 43 + reg = <0x0 0x40>; 44 + brcm,tmon-mask = <0x3f>; 45 + #thermal-sensor-cells = <1>; 46 + }; 47 + 48 + thermal-zones { 49 + ihost0_thermal: ihost0-thermal { 50 + polling-delay-passive = <0>; 51 + polling-delay = <1000>; 52 + thermal-sensors = <&tmon 0>; 53 + trips { 54 + cpu-crit { 55 + temperature = <105000>; 56 + hysteresis = <0>; 57 + type = "critical"; 58 + }; 59 + }; 60 + }; 61 + ihost1_thermal: ihost1-thermal { 62 + polling-delay-passive = <0>; 63 + polling-delay = <1000>; 64 + thermal-sensors = <&tmon 1>; 65 + trips { 66 + cpu-crit { 67 + temperature = <105000>; 68 + hysteresis = <0>; 69 + type = "critical"; 70 + }; 71 + }; 72 + }; 73 + ihost2_thermal: ihost2-thermal { 74 + polling-delay-passive = <0>; 75 + polling-delay = <1000>; 76 + thermal-sensors = <&tmon 2>; 77 + trips { 78 + cpu-crit { 79 + temperature = <105000>; 80 + hysteresis = <0>; 81 + type = "critical"; 82 + }; 83 + }; 84 + }; 85 + ihost3_thermal: ihost3-thermal { 86 + polling-delay-passive = <0>; 87 + polling-delay = <1000>; 88 + thermal-sensors = <&tmon 3>; 89 + trips { 90 + cpu-crit { 91 + temperature = <105000>; 92 + hysteresis = <0>; 93 + type = "critical"; 94 + }; 95 + }; 96 + }; 97 + crmu_thermal: crmu-thermal { 98 + polling-delay-passive = <0>; 99 + polling-delay = <1000>; 100 + thermal-sensors = <&tmon 4>; 101 + trips { 102 + cpu-crit { 103 + temperature = <105000>; 104 + hysteresis = <0>; 105 + type = "critical"; 106 + }; 107 + }; 108 + }; 109 + nitro_thermal: nitro-thermal { 110 + polling-delay-passive = <0>; 111 + polling-delay = <1000>; 112 + thermal-sensors = <&tmon 5>; 113 + trips { 114 + cpu-crit { 115 + temperature = <105000>; 116 + hysteresis = <0>; 117 + type = "critical"; 118 + }; 119 + }; 120 + }; 121 + };
-44
Documentation/devicetree/bindings/thermal/db8500-thermal.txt
··· 1 - * ST-Ericsson DB8500 Thermal 2 - 3 - ** Thermal node properties: 4 - 5 - - compatible : "stericsson,db8500-thermal"; 6 - - reg : address range of the thermal sensor registers; 7 - - interrupts : interrupts generated from PRCMU; 8 - - interrupt-names : "IRQ_HOTMON_LOW" and "IRQ_HOTMON_HIGH"; 9 - - num-trips : number of total trip points, this is required, set it 0 if none, 10 - if greater than 0, the following properties must be defined; 11 - - tripN-temp : temperature of trip point N, should be in ascending order; 12 - - tripN-type : type of trip point N, should be one of "active" "passive" "hot" 13 - "critical"; 14 - - tripN-cdev-num : number of the cooling devices which can be bound to trip 15 - point N, this is required if trip point N is defined, set it 0 if none, 16 - otherwise the following cooling device names must be defined; 17 - - tripN-cdev-nameM : name of the No. M cooling device of trip point N; 18 - 19 - Usually the num-trips and tripN-*** are separated in board related dts files. 20 - 21 - Example: 22 - thermal@801573c0 { 23 - compatible = "stericsson,db8500-thermal"; 24 - reg = <0x801573c0 0x40>; 25 - interrupts = <21 0x4>, <22 0x4>; 26 - interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH"; 27 - 28 - num-trips = <3>; 29 - 30 - trip0-temp = <75000>; 31 - trip0-type = "active"; 32 - trip0-cdev-num = <1>; 33 - trip0-cdev-name0 = "thermal-cpufreq-0"; 34 - 35 - trip1-temp = <80000>; 36 - trip1-type = "active"; 37 - trip1-cdev-num = <2>; 38 - trip1-cdev-name0 = "thermal-cpufreq-0"; 39 - trip1-cdev-name1 = "thermal-fan"; 40 - 41 - trip2-temp = <85000>; 42 - trip2-type = "critical"; 43 - trip2-cdev-num = <0>; 44 - }
-1
Documentation/devicetree/bindings/timer/nvidia,tegra-timer.yaml
··· 100 100 items: 101 101 - const: timer 102 102 103 - 104 103 required: 105 104 - compatible 106 105 - reg
-1
Documentation/devicetree/bindings/timer/nvidia,tegra186-timer.yaml
··· 15 15 reference generated by USEC, TSC or either clk_m or OSC. Each TMR can be 16 16 programmed to generate one-shot, periodic, or watchdog interrupts. 17 17 18 - 19 18 properties: 20 19 compatible: 21 20 oneOf:
-1
Documentation/devicetree/bindings/usb/qcom,pmic-typec.yaml
··· 28 28 - qcom,pm4125-typec 29 29 - const: qcom,pmi632-typec 30 30 31 - 32 31 connector: 33 32 type: object 34 33 $ref: /schemas/connector/usb-connector.yaml#
+1 -1
Documentation/devicetree/bindings/watchdog/qcom,pm8916-wdt.yaml
··· 7 7 title: Qualcomm PM8916 watchdog timer controller 8 8 9 9 maintainers: 10 - - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 10 + - Krzysztof Kozlowski <krzk@kernel.org> 11 11 12 12 allOf: 13 13 - $ref: watchdog.yaml#
+4 -4
MAINTAINERS
··· 974 974 AMAZON ANNAPURNA LABS THERMAL MMIO DRIVER 975 975 M: Talel Shenhar <talel@amazon.com> 976 976 S: Maintained 977 - F: Documentation/devicetree/bindings/thermal/amazon,al-thermal.txt 977 + F: Documentation/devicetree/bindings/thermal/amazon,al-thermal.yaml 978 978 F: drivers/thermal/thermal_mmio.c 979 979 980 980 AMAZON ETHERNET DRIVERS ··· 2294 2294 F: Documentation/devicetree/bindings/mmc/owl-mmc.yaml 2295 2295 F: Documentation/devicetree/bindings/net/actions,owl-emac.yaml 2296 2296 F: Documentation/devicetree/bindings/pinctrl/actions,* 2297 - F: Documentation/devicetree/bindings/power/actions,owl-sps.txt 2297 + F: Documentation/devicetree/bindings/power/actions,s500-sps.yaml 2298 2298 F: Documentation/devicetree/bindings/timer/actions,owl-timer.yaml 2299 2299 F: arch/arm/boot/dts/actions/ 2300 2300 F: arch/arm/mach-actions/ ··· 2688 2688 F: Documentation/ABI/testing/sysfs-bus-i2c-devices-turris-omnia-mcu 2689 2689 F: Documentation/ABI/testing/sysfs-bus-moxtet-devices 2690 2690 F: Documentation/ABI/testing/sysfs-firmware-turris-mox-rwtm 2691 - F: Documentation/devicetree/bindings/bus/moxtet.txt 2691 + F: Documentation/devicetree/bindings/bus/cznic,moxtet.yaml 2692 2692 F: Documentation/devicetree/bindings/firmware/cznic,turris-mox-rwtm.txt 2693 2693 F: Documentation/devicetree/bindings/firmware/cznic,turris-omnia-mcu.yaml 2694 2694 F: Documentation/devicetree/bindings/interrupt-controller/marvell,mpic.yaml ··· 3435 3435 F: drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c 3436 3436 3437 3437 ARM/SOCFPGA EDAC BINDINGS 3438 - M: Matthew Gerlach <matthew.gerlach@altera.com> 3438 + M: Niravkumar L Rabara <niravkumarlaxmidas.rabara@altera.com> 3439 3439 S: Maintained 3440 3440 F: Documentation/devicetree/bindings/edac/altr,socfpga-ecc-manager.yaml 3441 3441
+4 -11
drivers/cpufreq/cpufreq-dt-platdev.c
··· 219 219 220 220 static int __init cpufreq_dt_platdev_init(void) 221 221 { 222 - struct device_node *np __free(device_node) = of_find_node_by_path("/"); 223 - const struct of_device_id *match; 224 - const void *data = NULL; 222 + const void *data; 225 223 226 - if (!np) 227 - return -ENODEV; 228 - 229 - match = of_match_node(allowlist, np); 230 - if (match) { 231 - data = match->data; 224 + data = of_machine_get_match_data(allowlist); 225 + if (data) 232 226 goto create_pdev; 233 - } 234 227 235 - if (cpu0_node_has_opp_v2_prop() && !of_match_node(blocklist, np)) 228 + if (cpu0_node_has_opp_v2_prop() && !of_machine_device_match(blocklist)) 236 229 goto create_pdev; 237 230 238 231 return -ENODEV;
+2 -10
drivers/cpufreq/mediatek-cpufreq.c
··· 764 764 765 765 static int __init mtk_cpufreq_driver_init(void) 766 766 { 767 - struct device_node *np; 768 - const struct of_device_id *match; 769 767 const struct mtk_cpufreq_platform_data *data; 770 768 int err; 771 769 772 - np = of_find_node_by_path("/"); 773 - if (!np) 774 - return -ENODEV; 775 - 776 - match = of_match_node(mtk_cpufreq_machines, np); 777 - of_node_put(np); 778 - if (!match) { 770 + data = of_machine_get_match_data(mtk_cpufreq_machines); 771 + if (!data) { 779 772 pr_debug("Machine is not compatible with mtk-cpufreq\n"); 780 773 return -ENODEV; 781 774 } 782 - data = match->data; 783 775 784 776 err = platform_driver_register(&mtk_cpufreq_platdrv); 785 777 if (err)
+1 -10
drivers/cpufreq/sun50i-cpufreq-nvmem.c
··· 332 332 }; 333 333 MODULE_DEVICE_TABLE(of, sun50i_cpufreq_match_list); 334 334 335 - static const struct of_device_id *sun50i_cpufreq_match_node(void) 336 - { 337 - struct device_node *np __free(device_node) = of_find_node_by_path("/"); 338 - 339 - return of_match_node(sun50i_cpufreq_match_list, np); 340 - } 341 - 342 335 /* 343 336 * Since the driver depends on nvmem drivers, which may return EPROBE_DEFER, 344 337 * all the real activity is done in the probe, which may be defered as well. ··· 339 346 */ 340 347 static int __init sun50i_cpufreq_init(void) 341 348 { 342 - const struct of_device_id *match; 343 349 int ret; 344 350 345 - match = sun50i_cpufreq_match_node(); 346 - if (!match) 351 + if (!of_machine_device_match(sun50i_cpufreq_match_list)) 347 352 return -ENODEV; 348 353 349 354 ret = platform_driver_register(&sun50i_cpufreq_driver);
+1 -10
drivers/cpuidle/cpuidle-big_little.c
··· 166 166 static int __init bl_idle_init(void) 167 167 { 168 168 int ret; 169 - struct device_node *root = of_find_node_by_path("/"); 170 - const struct of_device_id *match_id; 171 - 172 - if (!root) 173 - return -ENODEV; 174 169 175 170 /* 176 171 * Initialize the driver just for a compliant set of machines 177 172 */ 178 - match_id = of_match_node(compatible_machine_match, root); 179 - 180 - of_node_put(root); 181 - 182 - if (!match_id) 173 + if (!of_machine_device_match(compatible_machine_match)) 183 174 return -ENODEV; 184 175 185 176 if (!mcpm_is_available())
+1 -16
drivers/firmware/qcom/qcom_scm.c
··· 2018 2018 { } 2019 2019 }; 2020 2020 2021 - static bool qcom_scm_qseecom_machine_is_allowed(void) 2022 - { 2023 - struct device_node *np; 2024 - bool match; 2025 - 2026 - np = of_find_node_by_path("/"); 2027 - if (!np) 2028 - return false; 2029 - 2030 - match = of_match_node(qcom_scm_qseecom_allowlist, np); 2031 - of_node_put(np); 2032 - 2033 - return match; 2034 - } 2035 - 2036 2021 static void qcom_scm_qseecom_free(void *data) 2037 2022 { 2038 2023 struct platform_device *qseecom_dev = data; ··· 2049 2064 2050 2065 dev_info(scm->dev, "qseecom: found qseecom with version 0x%x\n", version); 2051 2066 2052 - if (!qcom_scm_qseecom_machine_is_allowed()) { 2067 + if (!of_machine_device_match(qcom_scm_qseecom_allowlist)) { 2053 2068 dev_info(scm->dev, "qseecom: untested machine, skipping\n"); 2054 2069 return 0; 2055 2070 }
+3 -12
drivers/irqchip/irq-atmel-aic-common.c
··· 187 187 188 188 static void __init aic_common_irq_fixup(const struct of_device_id *matches) 189 189 { 190 - struct device_node *root = of_find_node_by_path("/"); 191 - const struct of_device_id *match; 190 + void (*fixup)(void); 192 191 193 - if (!root) 194 - return; 195 - 196 - match = of_match_node(matches, root); 197 - 198 - if (match) { 199 - void (*fixup)(void) = match->data; 192 + fixup = of_machine_get_match_data(matches); 193 + if (fixup) 200 194 fixup(); 201 - } 202 - 203 - of_node_put(root); 204 195 } 205 196 206 197 struct irq_domain *__init aic_common_of_init(struct device_node *node,
-4
drivers/of/address.c
··· 328 328 329 329 static int of_bus_default_match(struct device_node *np) 330 330 { 331 - /* 332 - * Check for presence first since of_bus_n_addr_cells() will warn when 333 - * walking parent nodes. 334 - */ 335 331 return of_property_present(np, "#address-cells"); 336 332 } 337 333
+47
drivers/of/base.c
··· 434 434 } 435 435 EXPORT_SYMBOL(of_machine_compatible_match); 436 436 437 + /** 438 + * of_machine_device_match - Test root of device tree against a of_device_id array 439 + * @matches: NULL terminated array of of_device_id match structures to search in 440 + * 441 + * Returns true if the root node has any of the given compatible values in its 442 + * compatible property. 443 + */ 444 + bool of_machine_device_match(const struct of_device_id *matches) 445 + { 446 + struct device_node *root; 447 + const struct of_device_id *match = NULL; 448 + 449 + root = of_find_node_by_path("/"); 450 + if (root) { 451 + match = of_match_node(matches, root); 452 + of_node_put(root); 453 + } 454 + 455 + return match != NULL; 456 + } 457 + EXPORT_SYMBOL(of_machine_device_match); 458 + 459 + /** 460 + * of_machine_get_match_data - Tell if root of device tree has a matching of_match structure 461 + * @matches: NULL terminated array of of_device_id match structures to search in 462 + * 463 + * Returns data associated with matched entry or NULL 464 + */ 465 + const void *of_machine_get_match_data(const struct of_device_id *matches) 466 + { 467 + const struct of_device_id *match; 468 + struct device_node *root; 469 + 470 + root = of_find_node_by_path("/"); 471 + if (!root) 472 + return NULL; 473 + 474 + match = of_match_node(matches, root); 475 + of_node_put(root); 476 + 477 + if (!match) 478 + return NULL; 479 + 480 + return match->data; 481 + } 482 + EXPORT_SYMBOL(of_machine_get_match_data); 483 + 437 484 static bool __of_device_is_status(const struct device_node *device, 438 485 const char * const*strings) 439 486 {
+65 -36
drivers/of/fdt.c
··· 625 625 return fdt_getprop(initial_boot_params, node, name, size); 626 626 } 627 627 628 + const __be32 *__init of_flat_dt_get_addr_size_prop(unsigned long node, 629 + const char *name, 630 + int *entries) 631 + { 632 + const __be32 *prop; 633 + int len, elen = (dt_root_addr_cells + dt_root_size_cells) * sizeof(__be32); 634 + 635 + prop = of_get_flat_dt_prop(node, name, &len); 636 + if (!prop || len % elen) { 637 + *entries = 0; 638 + return NULL; 639 + } 640 + 641 + *entries = len / elen; 642 + return prop; 643 + } 644 + 645 + bool __init of_flat_dt_get_addr_size(unsigned long node, const char *name, 646 + u64 *addr, u64 *size) 647 + { 648 + const __be32 *prop; 649 + int entries; 650 + 651 + prop = of_flat_dt_get_addr_size_prop(node, name, &entries); 652 + if (!prop || entries != 1) 653 + return false; 654 + 655 + of_flat_dt_read_addr_size(prop, 0, addr, size); 656 + return true; 657 + } 658 + 659 + void __init of_flat_dt_read_addr_size(const __be32 *prop, int entry_index, 660 + u64 *addr, u64 *size) 661 + { 662 + int entry_cells = dt_root_addr_cells + dt_root_size_cells; 663 + prop += entry_cells * entry_index; 664 + 665 + *addr = dt_mem_next_cell(dt_root_addr_cells, &prop); 666 + *size = dt_mem_next_cell(dt_root_size_cells, &prop); 667 + } 668 + 628 669 /** 629 670 * of_fdt_is_compatible - Return true if given node from the given blob has 630 671 * compat in its compatible list ··· 853 812 */ 854 813 static void __init early_init_dt_check_for_elfcorehdr(unsigned long node) 855 814 { 856 - const __be32 *prop; 857 - int len; 858 - 859 815 if (!IS_ENABLED(CONFIG_CRASH_DUMP)) 860 816 return; 861 817 862 818 pr_debug("Looking for elfcorehdr property... "); 863 819 864 - prop = of_get_flat_dt_prop(node, "linux,elfcorehdr", &len); 865 - if (!prop || (len < (dt_root_addr_cells + dt_root_size_cells))) 820 + if (!of_flat_dt_get_addr_size(node, "linux,elfcorehdr", 821 + &elfcorehdr_addr, &elfcorehdr_size)) 866 822 return; 867 - 868 - elfcorehdr_addr = dt_mem_next_cell(dt_root_addr_cells, &prop); 869 - elfcorehdr_size = dt_mem_next_cell(dt_root_size_cells, &prop); 870 823 871 824 pr_debug("elfcorehdr_start=0x%llx elfcorehdr_size=0x%llx\n", 872 825 elfcorehdr_addr, elfcorehdr_size); ··· 884 849 void __init early_init_dt_check_for_usable_mem_range(void) 885 850 { 886 851 struct memblock_region rgn[MAX_USABLE_RANGES] = {0}; 887 - const __be32 *prop, *endp; 852 + const __be32 *prop; 888 853 int len, i; 854 + u64 base, size; 889 855 unsigned long node = chosen_node_offset; 890 856 891 857 if ((long)node < 0) ··· 894 858 895 859 pr_debug("Looking for usable-memory-range property... "); 896 860 897 - prop = of_get_flat_dt_prop(node, "linux,usable-memory-range", &len); 898 - if (!prop || (len % (dt_root_addr_cells + dt_root_size_cells))) 861 + prop = of_flat_dt_get_addr_size_prop(node, "linux,usable-memory-range", 862 + &len); 863 + if (!prop) 899 864 return; 900 865 901 - endp = prop + (len / sizeof(__be32)); 902 - for (i = 0; i < MAX_USABLE_RANGES && prop < endp; i++) { 903 - rgn[i].base = dt_mem_next_cell(dt_root_addr_cells, &prop); 904 - rgn[i].size = dt_mem_next_cell(dt_root_size_cells, &prop); 866 + len = min(len, MAX_USABLE_RANGES); 867 + 868 + for (i = 0; i < len; i++) { 869 + of_flat_dt_read_addr_size(prop, i, &base, &size); 870 + rgn[i].base = base; 871 + rgn[i].size = size; 905 872 906 873 pr_debug("cap_mem_regions[%d]: base=%pa, size=%pa\n", 907 874 i, &rgn[i].base, &rgn[i].size); ··· 922 883 { 923 884 unsigned long node = chosen_node_offset; 924 885 u64 fdt_start, fdt_size, scratch_start, scratch_size; 925 - const __be32 *p; 926 - int l; 927 886 928 887 if (!IS_ENABLED(CONFIG_KEXEC_HANDOVER) || (long)node < 0) 929 888 return; 930 889 931 - p = of_get_flat_dt_prop(node, "linux,kho-fdt", &l); 932 - if (l != (dt_root_addr_cells + dt_root_size_cells) * sizeof(__be32)) 890 + if (!of_flat_dt_get_addr_size(node, "linux,kho-fdt", 891 + &fdt_start, &fdt_size)) 933 892 return; 934 893 935 - fdt_start = dt_mem_next_cell(dt_root_addr_cells, &p); 936 - fdt_size = dt_mem_next_cell(dt_root_addr_cells, &p); 937 - 938 - p = of_get_flat_dt_prop(node, "linux,kho-scratch", &l); 939 - if (l != (dt_root_addr_cells + dt_root_size_cells) * sizeof(__be32)) 894 + if (!of_flat_dt_get_addr_size(node, "linux,kho-scratch", 895 + &scratch_start, &scratch_size)) 940 896 return; 941 - 942 - scratch_start = dt_mem_next_cell(dt_root_addr_cells, &p); 943 - scratch_size = dt_mem_next_cell(dt_root_addr_cells, &p); 944 897 945 898 kho_populate(fdt_start, fdt_size, scratch_start, scratch_size); 946 899 } ··· 1033 1002 1034 1003 fdt_for_each_subnode(node, fdt, 0) { 1035 1004 const char *type = of_get_flat_dt_prop(node, "device_type", NULL); 1036 - const __be32 *reg, *endp; 1037 - int l; 1005 + const __be32 *reg; 1006 + int i, l; 1038 1007 bool hotpluggable; 1039 1008 1040 1009 /* We are scanning "memory" nodes only */ ··· 1044 1013 if (!of_fdt_device_is_available(fdt, node)) 1045 1014 continue; 1046 1015 1047 - reg = of_get_flat_dt_prop(node, "linux,usable-memory", &l); 1016 + reg = of_flat_dt_get_addr_size_prop(node, "linux,usable-memory", &l); 1048 1017 if (reg == NULL) 1049 - reg = of_get_flat_dt_prop(node, "reg", &l); 1018 + reg = of_flat_dt_get_addr_size_prop(node, "reg", &l); 1050 1019 if (reg == NULL) 1051 1020 continue; 1052 1021 1053 - endp = reg + (l / sizeof(__be32)); 1054 1022 hotpluggable = of_get_flat_dt_prop(node, "hotpluggable", NULL); 1055 1023 1056 - pr_debug("memory scan node %s, reg size %d,\n", 1024 + pr_debug("memory scan node %s, reg {addr,size} entries %d,\n", 1057 1025 fdt_get_name(fdt, node, NULL), l); 1058 1026 1059 - while ((endp - reg) >= (dt_root_addr_cells + dt_root_size_cells)) { 1027 + for (i = 0; i < l; i++) { 1060 1028 u64 base, size; 1061 1029 1062 - base = dt_mem_next_cell(dt_root_addr_cells, &reg); 1063 - size = dt_mem_next_cell(dt_root_size_cells, &reg); 1030 + of_flat_dt_read_addr_size(reg, i, &base, &size); 1064 1031 1065 1032 if (size == 0) 1066 1033 continue;
+3 -1
drivers/of/irq.c
··· 613 613 * are the same distance away from the root irq controller. 614 614 */ 615 615 desc->interrupt_parent = of_parse_phandle(np, "interrupts-extended", 0); 616 - if (!desc->interrupt_parent) 616 + if (!desc->interrupt_parent && of_property_present(np, "interrupts")) 617 617 desc->interrupt_parent = of_irq_find_parent(np); 618 + else if (!desc->interrupt_parent) 619 + desc->interrupt_parent = of_parse_phandle(np, "interrupt-parent", 0); 618 620 if (desc->interrupt_parent == np) { 619 621 of_node_put(desc->interrupt_parent); 620 622 desc->interrupt_parent = NULL;
+3 -2
drivers/of/of_kunit_helpers.c
··· 18 18 */ 19 19 void of_root_kunit_skip(struct kunit *test) 20 20 { 21 - if (IS_ENABLED(CONFIG_ARM64) && IS_ENABLED(CONFIG_ACPI) && !of_root) 22 - kunit_skip(test, "arm64+acpi doesn't populate a root node"); 21 + if ((IS_ENABLED(CONFIG_ARM64) || IS_ENABLED(CONFIG_RISCV)) && 22 + IS_ENABLED(CONFIG_ACPI) && !of_root) 23 + kunit_skip(test, "arm64/riscv+acpi doesn't populate a root node"); 23 24 } 24 25 EXPORT_SYMBOL_GPL(of_root_kunit_skip); 25 26
+23 -46
drivers/of/of_reserved_mem.c
··· 154 154 static int __init __reserved_mem_reserve_reg(unsigned long node, 155 155 const char *uname) 156 156 { 157 - int t_len = (dt_root_addr_cells + dt_root_size_cells) * sizeof(__be32); 158 157 phys_addr_t base, size; 159 - int len; 158 + int i, len; 160 159 const __be32 *prop; 161 160 bool nomap; 162 161 163 - prop = of_get_flat_dt_prop(node, "reg", &len); 162 + prop = of_flat_dt_get_addr_size_prop(node, "reg", &len); 164 163 if (!prop) 165 164 return -ENOENT; 166 165 167 - if (len && len % t_len != 0) { 168 - pr_err("Reserved memory: invalid reg property in '%s', skipping node.\n", 169 - uname); 170 - return -EINVAL; 171 - } 172 - 173 166 nomap = of_get_flat_dt_prop(node, "no-map", NULL) != NULL; 174 167 175 - while (len >= t_len) { 176 - base = dt_mem_next_cell(dt_root_addr_cells, &prop); 177 - size = dt_mem_next_cell(dt_root_size_cells, &prop); 168 + for (i = 0; i < len; i++) { 169 + u64 b, s; 170 + 171 + of_flat_dt_read_addr_size(prop, i, &b, &s); 172 + 173 + base = b; 174 + size = s; 178 175 179 176 if (size && early_init_dt_reserve_memory(base, size, nomap) == 0) { 180 177 /* Architecture specific contiguous memory fixup. */ ··· 184 187 pr_err("Reserved memory: failed to reserve memory for node '%s': base %pa, size %lu MiB\n", 185 188 uname, &base, (unsigned long)(size / SZ_1M)); 186 189 } 187 - 188 - len -= t_len; 189 190 } 190 191 return 0; 191 192 } ··· 225 230 */ 226 231 void __init fdt_scan_reserved_mem_reg_nodes(void) 227 232 { 228 - int t_len = (dt_root_addr_cells + dt_root_size_cells) * sizeof(__be32); 229 233 const void *fdt = initial_boot_params; 230 234 phys_addr_t base, size; 231 - const __be32 *prop; 232 235 int node, child; 233 - int len; 234 236 235 237 if (!fdt) 236 238 return; ··· 248 256 249 257 fdt_for_each_subnode(child, fdt, node) { 250 258 const char *uname; 259 + u64 b, s; 251 260 252 - prop = of_get_flat_dt_prop(child, "reg", &len); 253 - if (!prop) 254 - continue; 255 261 if (!of_fdt_device_is_available(fdt, child)) 256 262 continue; 257 263 258 - uname = fdt_get_name(fdt, child, NULL); 259 - if (len && len % t_len != 0) { 260 - pr_err("Reserved memory: invalid reg property in '%s', skipping node.\n", 261 - uname); 264 + if (!of_flat_dt_get_addr_size(child, "reg", &b, &s)) 262 265 continue; 263 - } 264 266 265 - if (len > t_len) 266 - pr_warn("%s() ignores %d regions in node '%s'\n", 267 - __func__, len / t_len - 1, uname); 267 + base = b; 268 + size = s; 268 269 269 - base = dt_mem_next_cell(dt_root_addr_cells, &prop); 270 - size = dt_mem_next_cell(dt_root_size_cells, &prop); 271 - 272 - if (size) 270 + if (size) { 271 + uname = fdt_get_name(fdt, child, NULL); 273 272 fdt_reserved_mem_save_node(child, uname, base, size); 273 + } 274 274 } 275 275 276 276 /* check for overlapping reserved regions */ ··· 385 401 */ 386 402 static int __init __reserved_mem_alloc_size(unsigned long node, const char *uname) 387 403 { 388 - int t_len = (dt_root_addr_cells + dt_root_size_cells) * sizeof(__be32); 389 404 phys_addr_t start = 0, end = 0; 390 405 phys_addr_t base = 0, align = 0, size; 391 - int len; 406 + int i, len; 392 407 const __be32 *prop; 393 408 bool nomap; 394 409 int ret; ··· 421 438 && !nomap) 422 439 align = max_t(phys_addr_t, align, CMA_MIN_ALIGNMENT_BYTES); 423 440 424 - prop = of_get_flat_dt_prop(node, "alloc-ranges", &len); 441 + prop = of_flat_dt_get_addr_size_prop(node, "alloc-ranges", &len); 425 442 if (prop) { 443 + for (i = 0; i < len; i++) { 444 + u64 b, s; 426 445 427 - if (len % t_len != 0) { 428 - pr_err("invalid alloc-ranges property in '%s', skipping node.\n", 429 - uname); 430 - return -EINVAL; 431 - } 446 + of_flat_dt_read_addr_size(prop, i, &b, &s); 432 447 433 - while (len > 0) { 434 - start = dt_mem_next_cell(dt_root_addr_cells, &prop); 435 - end = start + dt_mem_next_cell(dt_root_size_cells, 436 - &prop); 448 + start = b; 449 + end = b + s; 437 450 438 451 base = 0; 439 452 ret = __reserved_mem_alloc_in_range(size, align, ··· 440 461 (unsigned long)(size / SZ_1M)); 441 462 break; 442 463 } 443 - len -= t_len; 444 464 } 445 - 446 465 } else { 447 466 ret = early_init_dt_alloc_reserved_memory_arch(size, align, 448 467 0, 0, nomap, &base);
+3
drivers/of/overlay.c
··· 1190 1190 struct overlay_changeset *ovcs; 1191 1191 int ret, ret_apply, ret_tmp; 1192 1192 1193 + if (*ovcs_id == 0) 1194 + return 0; 1195 + 1193 1196 if (devicetree_corrupt()) { 1194 1197 pr_err("suspect devicetree state, refuse to remove overlay\n"); 1195 1198 ret = -EBUSY;
+1 -12
drivers/platform/surface/surface_aggregator_registry.c
··· 491 491 static int ssam_platform_hub_probe(struct platform_device *pdev) 492 492 { 493 493 const struct software_node **nodes; 494 - const struct of_device_id *match; 495 - struct device_node *fdt_root; 496 494 struct ssam_controller *ctrl; 497 495 struct fwnode_handle *root; 498 496 int status; 499 497 500 498 nodes = (const struct software_node **)acpi_device_get_match_data(&pdev->dev); 501 499 if (!nodes) { 502 - fdt_root = of_find_node_by_path("/"); 503 - if (!fdt_root) 504 - return -ENODEV; 505 - 506 - match = of_match_node(ssam_platform_hub_of_match, fdt_root); 507 - of_node_put(fdt_root); 508 - if (!match) 509 - return -ENODEV; 510 - 511 - nodes = (const struct software_node **)match->data; 500 + nodes = (const struct software_node **)of_machine_get_match_data(ssam_platform_hub_of_match); 512 501 if (!nodes) 513 502 return -ENODEV; 514 503 }
+1 -15
drivers/powercap/dtpm.c
··· 548 548 */ 549 549 int dtpm_create_hierarchy(struct of_device_id *dtpm_match_table) 550 550 { 551 - const struct of_device_id *match; 552 551 const struct dtpm_node *hierarchy; 553 - struct device_node *np; 554 552 int i, ret; 555 553 556 554 mutex_lock(&dtpm_lock); ··· 565 567 goto out_pct; 566 568 } 567 569 568 - ret = -ENODEV; 569 - np = of_find_node_by_path("/"); 570 - if (!np) 571 - goto out_err; 572 - 573 - match = of_match_node(dtpm_match_table, np); 574 - 575 - of_node_put(np); 576 - 577 - if (!match) 578 - goto out_err; 579 - 580 - hierarchy = match->data; 570 + hierarchy = of_machine_get_match_data(dtpm_match_table); 581 571 if (!hierarchy) { 582 572 ret = -EFAULT; 583 573 goto out_err;
+4 -10
drivers/soc/qcom/ubwc_config.c
··· 277 277 278 278 const struct qcom_ubwc_cfg_data *qcom_ubwc_config_get_data(void) 279 279 { 280 - const struct of_device_id *match; 281 - struct device_node *root; 280 + const struct qcom_ubwc_cfg_data *data; 282 281 283 - root = of_find_node_by_path("/"); 284 - if (!root) 285 - return ERR_PTR(-ENODEV); 286 - 287 - match = of_match_node(qcom_ubwc_configs, root); 288 - of_node_put(root); 289 - if (!match) { 282 + data = of_machine_get_match_data(qcom_ubwc_configs); 283 + if (!data) { 290 284 pr_err("Couldn't find UBWC config data for this platform!\n"); 291 285 return ERR_PTR(-EINVAL); 292 286 } 293 287 294 - return match->data; 288 + return data; 295 289 } 296 290 EXPORT_SYMBOL_GPL(qcom_ubwc_config_get_data); 297 291
+1 -11
drivers/soc/tegra/common.c
··· 27 27 28 28 bool soc_is_tegra(void) 29 29 { 30 - const struct of_device_id *match; 31 - struct device_node *root; 32 - 33 - root = of_find_node_by_path("/"); 34 - if (!root) 35 - return false; 36 - 37 - match = of_match_node(tegra_machine_match, root); 38 - of_node_put(root); 39 - 40 - return match != NULL; 30 + return of_machine_device_match(tegra_machine_match); 41 31 } 42 32 43 33 static int tegra_core_dev_init_opp_state(struct device *dev)
+13
include/linux/of.h
··· 407 407 extern int of_alias_get_highest_id(const char *stem); 408 408 409 409 bool of_machine_compatible_match(const char *const *compats); 410 + bool of_machine_device_match(const struct of_device_id *matches); 411 + const void *of_machine_get_match_data(const struct of_device_id *matches); 410 412 411 413 /** 412 414 * of_machine_is_compatible - Test root of device tree for a given compatible value ··· 855 853 static inline bool of_machine_compatible_match(const char *const *compats) 856 854 { 857 855 return false; 856 + } 857 + 858 + static inline bool of_machine_device_match(const struct of_device_id *matches) 859 + { 860 + return false; 861 + } 862 + 863 + static inline const void * 864 + of_machine_get_match_data(const struct of_device_id *matches) 865 + { 866 + return NULL; 858 867 } 859 868 860 869 static inline bool of_console_check(const struct device_node *dn, const char *name, int index)
+9
include/linux/of_fdt.h
··· 55 55 const char *uname); 56 56 extern const void *of_get_flat_dt_prop(unsigned long node, const char *name, 57 57 int *size); 58 + 59 + extern const __be32 *of_flat_dt_get_addr_size_prop(unsigned long node, 60 + const char *name, 61 + int *entries); 62 + extern bool of_flat_dt_get_addr_size(unsigned long node, const char *name, 63 + u64 *addr, u64 *size); 64 + extern void of_flat_dt_read_addr_size(const __be32 *prop, int entry_index, 65 + u64 *addr, u64 *size); 66 + 58 67 extern int of_flat_dt_is_compatible(unsigned long node, const char *name); 59 68 extern unsigned long of_get_flat_dt_root(void); 60 69 extern uint32_t of_get_flat_dt_phandle(unsigned long node);
+9
scripts/Makefile.dtbs
··· 1 1 # SPDX-License-Identifier: GPL-2.0-only 2 2 3 + all-dtb := $(dtb-y) $(dtb-) 4 + 3 5 # If CONFIG_OF_ALL_DTBS is enabled, all DT blobs are built 4 6 dtb-$(CONFIG_OF_ALL_DTBS) += $(dtb-) 5 7 ··· 11 9 real-dtb-y := $(call real-search, $(dtb-y), .dtb, -dtbs) 12 10 # Base DTB that overlay is applied onto 13 11 base-dtb-y := $(filter %.dtb, $(call real-search, $(multi-dtb-y), .dtb, -dtbs)) 12 + 13 + # Ensure that any .dtbo is applied to at least one base .dtb. Otherwise, it 14 + # does not get validated. 15 + applied-dtbo := $(filter %.dtbo, \ 16 + $(call real-search, $(call multi-search, $(all-dtb), .dtb, -dtbs), .dtb, -dtbs)) 17 + unapplied-dtbo := $(filter-out $(applied-dtbo),$(filter %.dtbo, $(dtb-y))) 18 + $(if $(unapplied-dtbo), $(warning .dtbo is not applied to any base: $(unapplied-dtbo))) 14 19 15 20 dtb-y := $(addprefix $(obj)/, $(dtb-y)) 16 21 multi-dtb-y := $(addprefix $(obj)/, $(multi-dtb-y))