mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
Pull devicetree updates from Rob Herring:
"DT core:
- Fix node refcounting in of_find_last_cache_level()
- Constify device_node in of_device_compatible_match()
- Fix 'dma-ranges' handling in bus controller nodes
- Fix handling of initrd start > end
- Improve error reporting in of_irq_init()
- Taint kernel on DT unittest running
- Use strscpy instead of strlcpy
- Add a build target, dt_compatible_check, to check for compatible
strings used in kernel sources against compatible strings in DT
schemas.
- Handle DT_SCHEMA_FILES changes when rebuilding
DT bindings:
- LED bindings for MT6370 PMIC
- Convert Mediatek mtk-gce mailbox, MIPS CPU interrupt controller,
mt7621 I2C, virtio,pci-iommu, nxp,tda998x, QCom fastrpc, qcom,pdc,
and arm,versatile-sysreg to DT schema format
- Add nvmem cells to u-boot,env schema
- Add more LED_COLOR_ID definitions
- Require 'opp-table' uses to be a node
- Various schema fixes to match QEMU 'virt' DT usage
- Tree wide dropping of redundant 'Device Tree Binding' in schema
titles
- More (unevaluated|additional)Properties fixes in schema child nodes
- Drop various redundant minItems equal to maxItems"
* tag 'devicetree-for-6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (62 commits)
of: base: Shift refcount decrement in of_find_last_cache_level()
dt-bindings: leds: Add MediaTek MT6370 flashlight
dt-bindings: leds: mt6370: Add MediaTek MT6370 current sink type LED indicator
dt-bindings: mailbox: Convert mtk-gce to DT schema
of: base: make of_device_compatible_match() accept const device node
of: Fix "dma-ranges" handling for bus controllers
of: fdt: Remove unused struct fdt_scan_status
dt-bindings: display: st,stm32-dsi: Handle data-lanes in DSI port node
dt-bindings: timer: Add power-domains for TI timer-dm on K3
dt: Add a check for undocumented compatible strings in kernel
kbuild: take into account DT_SCHEMA_FILES changes while checking dtbs
dt-bindings: interrupt-controller: migrate MIPS CPU interrupt controller text bindings to YAML
dt-bindings: i2c: migrate mt7621 text bindings to YAML
dt-bindings: power: gpcv2: correct patternProperties
dt-bindings: virtio: Convert virtio,pci-iommu to DT schema
dt-bindings: timer: arm,arch_timer: Allow dual compatible string
dt-bindings: arm: cpus: Add kryo240 compatible
dt-bindings: display: bridge: nxp,tda998x: Convert to json-schema
dt-bindings: nvmem: u-boot,env: add basic NVMEM cells
dt-bindings: remoteproc: qcom,adsp: enforce smd-edge schema
...
260 lines
5.8 KiB
YAML
260 lines
5.8 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mfd/allwinner,sun6i-a31-prcm.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Allwinner A31 PRCM
|
|
|
|
maintainers:
|
|
- Chen-Yu Tsai <wens@csie.org>
|
|
- Maxime Ripard <mripard@kernel.org>
|
|
|
|
deprecated: true
|
|
|
|
properties:
|
|
compatible:
|
|
const: allwinner,sun6i-a31-prcm
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
patternProperties:
|
|
"^.*_(clk|rst)$":
|
|
type: object
|
|
unevaluatedProperties: false
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- allwinner,sun4i-a10-mod0-clk
|
|
- allwinner,sun6i-a31-apb0-clk
|
|
- allwinner,sun6i-a31-apb0-gates-clk
|
|
- allwinner,sun6i-a31-ar100-clk
|
|
- allwinner,sun6i-a31-clock-reset
|
|
- fixed-factor-clock
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: fixed-factor-clock
|
|
|
|
then:
|
|
$ref: /schemas/clock/fixed-factor-clock.yaml#
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: allwinner,sun4i-a10-mod0-clk
|
|
|
|
then:
|
|
properties:
|
|
"#clock-cells":
|
|
const: 0
|
|
|
|
# Already checked in the main schema
|
|
compatible: true
|
|
|
|
clocks:
|
|
maxItems: 2
|
|
|
|
clock-output-names:
|
|
maxItems: 1
|
|
|
|
phandle: true
|
|
|
|
required:
|
|
- "#clock-cells"
|
|
- compatible
|
|
- clocks
|
|
- clock-output-names
|
|
|
|
additionalProperties: false
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: allwinner,sun6i-a31-apb0-clk
|
|
|
|
then:
|
|
properties:
|
|
"#clock-cells":
|
|
const: 0
|
|
|
|
# Already checked in the main schema
|
|
compatible: true
|
|
|
|
clocks:
|
|
maxItems: 1
|
|
|
|
clock-output-names:
|
|
maxItems: 1
|
|
|
|
phandle: true
|
|
|
|
required:
|
|
- "#clock-cells"
|
|
- compatible
|
|
- clocks
|
|
- clock-output-names
|
|
|
|
additionalProperties: false
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: allwinner,sun6i-a31-apb0-gates-clk
|
|
|
|
then:
|
|
properties:
|
|
"#clock-cells":
|
|
const: 1
|
|
description: >
|
|
This additional argument passed to that clock is the
|
|
offset of the bit controlling this particular gate in
|
|
the register.
|
|
|
|
# Already checked in the main schema
|
|
compatible: true
|
|
|
|
clocks:
|
|
maxItems: 1
|
|
|
|
clock-output-names:
|
|
minItems: 1
|
|
maxItems: 32
|
|
|
|
phandle: true
|
|
|
|
required:
|
|
- "#clock-cells"
|
|
- compatible
|
|
- clocks
|
|
- clock-output-names
|
|
|
|
additionalProperties: false
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: allwinner,sun6i-a31-ar100-clk
|
|
|
|
then:
|
|
properties:
|
|
"#clock-cells":
|
|
const: 0
|
|
|
|
# Already checked in the main schema
|
|
compatible: true
|
|
|
|
clocks:
|
|
maxItems: 4
|
|
description: >
|
|
The parent order must match the hardware programming
|
|
order.
|
|
|
|
clock-output-names:
|
|
maxItems: 1
|
|
|
|
phandle: true
|
|
|
|
required:
|
|
- "#clock-cells"
|
|
- compatible
|
|
- clocks
|
|
- clock-output-names
|
|
|
|
additionalProperties: false
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: allwinner,sun6i-a31-clock-reset
|
|
|
|
then:
|
|
properties:
|
|
"#reset-cells":
|
|
const: 1
|
|
|
|
# Already checked in the main schema
|
|
compatible: true
|
|
|
|
phandle: true
|
|
|
|
required:
|
|
- "#reset-cells"
|
|
- compatible
|
|
|
|
additionalProperties: false
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/sun6i-a31-ccu.h>
|
|
|
|
prcm@1f01400 {
|
|
compatible = "allwinner,sun6i-a31-prcm";
|
|
reg = <0x01f01400 0x200>;
|
|
|
|
ar100: ar100_clk {
|
|
compatible = "allwinner,sun6i-a31-ar100-clk";
|
|
#clock-cells = <0>;
|
|
clocks = <&rtc 0>, <&osc24M>,
|
|
<&ccu CLK_PLL_PERIPH>,
|
|
<&ccu CLK_PLL_PERIPH>;
|
|
clock-output-names = "ar100";
|
|
};
|
|
|
|
ahb0: ahb0_clk {
|
|
compatible = "fixed-factor-clock";
|
|
#clock-cells = <0>;
|
|
clock-div = <1>;
|
|
clock-mult = <1>;
|
|
clocks = <&ar100>;
|
|
clock-output-names = "ahb0";
|
|
};
|
|
|
|
apb0: apb0_clk {
|
|
compatible = "allwinner,sun6i-a31-apb0-clk";
|
|
#clock-cells = <0>;
|
|
clocks = <&ahb0>;
|
|
clock-output-names = "apb0";
|
|
};
|
|
|
|
apb0_gates: apb0_gates_clk {
|
|
compatible = "allwinner,sun6i-a31-apb0-gates-clk";
|
|
#clock-cells = <1>;
|
|
clocks = <&apb0>;
|
|
clock-output-names = "apb0_pio", "apb0_ir",
|
|
"apb0_timer", "apb0_p2wi",
|
|
"apb0_uart", "apb0_1wire",
|
|
"apb0_i2c";
|
|
};
|
|
|
|
ir_clk: ir_clk {
|
|
#clock-cells = <0>;
|
|
compatible = "allwinner,sun4i-a10-mod0-clk";
|
|
clocks = <&rtc 0>, <&osc24M>;
|
|
clock-output-names = "ir";
|
|
};
|
|
|
|
apb0_rst: apb0_rst {
|
|
compatible = "allwinner,sun6i-a31-clock-reset";
|
|
#reset-cells = <1>;
|
|
};
|
|
};
|
|
|
|
...
|