Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to v5.14 and some fixes #2

Closed
wants to merge 123 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
fd555dc
RISC-V: Use SBI SRST extension when available
avpatel Mar 15, 2021
a8f9da3
RISC-V: Enable CPU_IDLE drivers
avpatel May 17, 2021
7a44e45
RISC-V: Rename relocate() and make it global
avpatel May 17, 2021
e9b62bc
RISC-V: Add arch functions for non-retentive suspend entry/exit
avpatel May 17, 2021
7c99495
RISC-V: Add SBI HSM suspend related defines
avpatel May 17, 2021
e87de21
cpuidle: Factor-out power domain related code from PSCI domain driver
avpatel May 17, 2021
2aeeefb
cpuidle: Add RISC-V SBI CPU idle driver
avpatel May 17, 2021
b3f391d
cpuidle: sbi: Fix build with !CONFIG_SMP
smaeul Jun 14, 2021
afd096c
dt-bindings: Add common bindings for ARM and RISC-V idle states
avpatel May 17, 2021
d0042e8
RISC-V: Enable RISC-V SBI CPU Idle driver for QEMU virt machine
avpatel May 17, 2021
904f70f
riscv: Introduce CONFIG_RELOCATABLE
AlexGhiti May 18, 2021
57aadbd
powerpc: Move script to check relocations at compile time in scripts/
AlexGhiti May 18, 2021
37d4140
riscv: Check relocations at compile time
AlexGhiti May 18, 2021
1197dbd
riscv: pgtable: Fixup _PAGE_CHG_MASK usage
guoren83 Jun 6, 2021
036c88f
riscv: pgtable: Add custom protection_map init
guoren83 Jun 6, 2021
b789c51
riscv: pgtable: Add DMA_COHERENT with custom PTE attributes
guoren83 Jun 6, 2021
01a3fe9
riscv: cmo: Add dma-noncoherency support
guoren83 Jun 6, 2021
0100aa7
riscv: cmo: Add vendor custom icache sync
guoren83 Jun 6, 2021
b3f6800
[HACK] Enable T-HEAD MMU extensions unconditionally
smaeul Jun 6, 2021
d1e94c7
riscv: cacheinfo: Remind myself to fix this
smaeul Jun 1, 2021
c193219
bus: sun50i-de2: Use devm_of_platform_populate
smaeul Jan 19, 2020
885ac1d
dt-bindings: clk: sunxi-ccu: Add compatibles for D1 CCUs
smaeul Jun 6, 2021
21cd100
clk: sunxi-ng: Add missing dependency for A83T CCU
smaeul May 17, 2021
4c39efc
clk: sunxi-ng: div: Add macros using CLK_HW_INIT_HWS
smaeul May 31, 2021
4718a73
clk: sunxi-ng: Add macros for gates with fixed dividers
smaeul May 31, 2021
9c03f58
clk: sunxi-ng: mux: Remove unused field
smaeul May 31, 2021
4bf6056
clk: sunxi-ng: Allow muxes to have keys
smaeul May 20, 2021
9510ca9
clk: sunxi-ng: Add support for newer sun50i RTCs
smaeul May 20, 2021
f4fea1b
clk: sunxi-ng: Add support for the D1 SoC clocks
smaeul May 20, 2021
d989270
clocksource: riscv: Prefer it over MMIO clocksources
smaeul Jun 14, 2021
cea41b6
[STUB] riscv: Enable cpufreq
smaeul Jun 6, 2021
195547d
cpufreq: sun50i: add efuse_xlate to get efuse version.
Dec 8, 2020
338d56d
cpufreq: sun50i: add A100 cpufreq support
Dec 8, 2020
a6ffa79
cpufreq: sun50i: Move out of ARM-specific section
smaeul May 17, 2021
68d5f6c
[STUB] cpufreq: sun50i: Add D1 cpufreq support
smaeul May 17, 2021
3cccee5
crypto: sun8i-ce: add support for sun20i-d1
montjoie Jun 14, 2021
7d6ba1d
dt-bindings: dma: Add Allwinner D1 compatible
smaeul Jun 12, 2021
1d8c2dd
dmaengine: sun6i: Add support for 34-bit physical addresses
smaeul Jun 13, 2021
5d7149f
dmaengine: sun6i: Stop using virt_to_phys
smaeul Jun 13, 2021
2fbfb06
dmaengine: sun6i: Changes from BSP
smaeul Jun 13, 2021
1a3ca84
dmaengine: sun6i: Add support for D1 DMA
smaeul Jun 12, 2021
3a1011d
hwspinlock: sun6i: Update driver to match binding
smaeul Jun 14, 2021
fc70767
hwspinlock: sun6i: Register layout is known
smaeul Jun 14, 2021
d06bc35
hwspinlock: sun6i: Fix debugfs leak
smaeul Jun 14, 2021
c1acad0
dt-bindings: input: Add D1 support to LRADC keys
smaeul Jun 6, 2021
aeddd11
Input: sun4i-lradc-keys: Add clock/reset support for D1
smaeul Jun 6, 2021
5806ca1
Input: sun4i-lradc-keys: Add support for D1
smaeul Jun 6, 2021
5da41e9
dt-bindings: iommu: Add compatible for D1 IOMMU
smaeul Jun 6, 2021
d796e5f
[WIP] iommu/sun50i: Add support for D1 IOMMU
smaeul Jun 6, 2021
6038cb9
irqchip/sun20i: Add an Allwinner D1 stacked driver
smaeul Jun 6, 2021
a7088e0
leds-sun20i: New driver for the sun20i internal LED controller
smaeul Jun 26, 2021
1ad05ba
[STUB] mailbox: Add v2 mailbox
smaeul May 17, 2021
96ee3f8
dt-bindings: media: Add compatible for D1 video engine
smaeul Jun 6, 2021
d867a5c
media: cedrus: Add D1 variant
smaeul Jun 14, 2021
982b375
dt-bindings: mmc: sunxi: Add D1 MMC and eMMC compatibles
smaeul Jun 14, 2021
09b0cf6
mmc: sunxi-mmc: Correct the maximum transfer size
smaeul Jun 14, 2021
b8630c8
mmc: sunxi-mmc: Fix DMA descriptors above 32 bits
smaeul Jun 14, 2021
d65ada5
mmc: sunxi-mmc: Add D1 MMC compatible
smaeul Jun 14, 2021
0e00698
mmc: sunxi-mmc: Add more registers
smaeul Jun 14, 2021
d4c8de1
net: stmmac: dwmac-sun8i: Add D1 variant
smaeul Jun 14, 2021
56df1ca
nvmem: sunxi_sid: Add D1 variant
smaeul Jun 14, 2021
9c8d031
of/irq: Use interrupts-extended to find parent
smaeul Jun 14, 2021
41eb276
phy: sun4i-usb: Rework HCI PHY (aka. "pmu_unk1") handling
Andre-ARM Jun 15, 2021
4826f27
phy: sun4i-usb: Remove disc_thresh where not applicable
smaeul Jun 24, 2021
ba22d61
phy: sun4i-usb: Add D1 variant
smaeul Jun 14, 2021
de2b245
dt-bindings: pinctrl: Add compatible for Allwinner D1
smaeul Jun 6, 2021
3bd5882
pinctrl: sunxi: Support new 2.5V I/O bias mode
smaeul May 17, 2021
b44da17
[HACK] pinctrl: sunxi: Adapt for D1 register layout
smaeul May 16, 2021
1d89790
pinctrl: sunxi: Add support for Allwinner D1 SoC
smaeul May 16, 2021
0f0a827
pwm: sun8i-v536: document device tree bindings
Mar 2, 2021
3de9d17
pwm: sunxi: Add Allwinner SoC PWM controller driver
Mar 2, 2021
ecc0e91
squash? pwm: sunxi: Add Allwinner SoC PWM controller driver
smaeul Jun 6, 2021
a39d672
pwm: sun8i-v536: Add support for the Allwinner D1
smaeul Jun 6, 2021
d5b2dfc
remoteproc: sun8i-dsp: Add a driver for the DSPs in sunxi SoCs
smaeul Jul 11, 2021
3524ea0
rtc: sun6i: Add support for linear day storage
Andre-ARM Feb 26, 2021
3d4e09a
rtc: sun6i: Add Allwinner H616 support
Andre-ARM Apr 21, 2021
6744fe8
[WIP] rtc: sun6i: Make fw_devlink happy
smaeul Jun 1, 2021
4406d2e
soc: sunxi: sram: Actually marked claimed regions as claimed
smaeul Jan 19, 2020
de67022
soc: sunxi: sram: Map SRAM back to CPU on release
smaeul Jul 11, 2021
9ac742b
soc: sunxi: sram: Fix debugfs file leak
smaeul May 16, 2021
368ec7b
soc: sunxi: sram: Use devm_of_platform_populate
smaeul May 16, 2021
7e6a802
soc: sunxi: sram: Add support for D1 LDOs
smaeul May 16, 2021
7117844
soc: sunxi: sram: Fix debugfs for A64 SRAM C
smaeul Jun 14, 2021
292cc81
soc: sunxi: sram: Add D1 DSP SRAM
smaeul Jun 14, 2021
d61e28a
soc: sunxi: sram: Add D1 syscon variant
smaeul Jun 14, 2021
a13eb4a
spi: spi-sun6i: Use a struct for quirks
smaeul Jul 17, 2021
b203363
spi: spi-sun6i: Add Allwinner R329 support
smaeul Jul 17, 2021
3e272aa
thermal/of: Remove duplicate null check
smaeul Jun 24, 2021
1f563b3
dt-bindings: thermal: sun8i: Add compatible for D1 thermal sensor
smaeul Jun 6, 2021
b569c6e
thermal: sun8i: Fill in the unknown field name
smaeul Jun 6, 2021
2070d3d
thermal: sun8i: Set the event type for new samples
smaeul Jun 24, 2021
53df343
thermal: sun8i: Use optional clock/reset getters
smaeul Jun 24, 2021
f5f58e8
thermal: sun8i: Ensure vref is powered
smaeul Jun 24, 2021
9f05fdd
thermal: sun8i: Add support for the D1 thermal sensor
smaeul Jun 6, 2021
496cfd0
dt-bindings: watchdog: Add compatible for Allwinner D1
smaeul Jun 6, 2021
ed37440
watchdog: sunxi_wdt: Add support for the D1 SoC
smaeul Jun 1, 2021
78b13a9
ASoC: simple-card-utils: Fix overallocation of DLCs
smaeul Jun 14, 2021
1b1e31b
ASoC: sun4i-i2s: Correct registers for multiple data pins
smaeul Jun 14, 2021
2455f65
ASoC: sun4i-i2s: Also set capture DMA width
smaeul Jun 14, 2021
601976d
ASoC: sun4i-i2s: Add D1 variant
smaeul Jun 14, 2021
1251376
[WIP] ASoC: sun4i-spdif: Add support for separate resets
smaeul Jun 14, 2021
8d7e577
[WIP] ASoC: sun4i-spdif: Add support for separate clocks
smaeul Jun 14, 2021
527e685
[WIP] ASoC: sun4i-spdif: Add D1 variant
smaeul Jun 14, 2021
5087f1f
ASoC: sun20i-codec: New driver for D1 internal codec
smaeul Jun 13, 2021
589dbed
[WIP] ASoC: sun20i-codec: What is this ramp thing?
smaeul Jun 24, 2021
407dfbe
[SPLIT] dt-bindings: Add compatibles for D1
smaeul Jun 14, 2021
7841e5c
[SPLIT] treewide: ARCH_SUNXI += SOC_SUNXI
smaeul May 17, 2021
9451b65
dt-bindings: riscv: Add compatible for D1 PLIC
smaeul May 16, 2021
139b576
dt-bindings: riscv: Add compatible for T-HEAD C906
smaeul May 16, 2021
4bb15bb
[WIP] riscv: Add Allwinner D1 SoC support
smaeul May 16, 2021
7e062d9
[WIP] riscv: Add Allwinner D1 SoC device tree
smaeul May 16, 2021
eccf985
[TEMP] Add static memory info to the D1 device tree
smaeul May 31, 2021
29457d2
[WIP] riscv: Add D1 Nezha board device tree
smaeul May 16, 2021
8e6d0e6
[DO NOT MERGE] misc changes
smaeul Jun 14, 2021
d895cf7
[WIP] spi: spi-sun6i: Dual/Quad RX Support
smaeul Jul 17, 2021
319b62e
[DO NOT MERGE] Add a defconfig for the NeZha
smaeul Aug 9, 2021
012f5a3
pinctrl: sunxi: sunxi_pinctrl_irq_ack avoid build warning
xypron Oct 12, 2021
6677454
Merge remote-tracking branch 'smaeul/riscv/d1-wip' into v5.14-d1
cyyself Oct 26, 2021
bae5890
change to defconfig and fixed CONFIG_PHYS_RAM_BASE
cyyself Oct 26, 2021
d45fe47
fixed UB which lead to cache coherence bug
cyyself Oct 26, 2021
e635dfa
PTE workaround, now pthread works
cyyself Oct 26, 2021
a57d71b
Revert "PTE workaround, now pthread works"
cyyself Oct 26, 2021
1ed5834
a better way to solve pthread issue by @Icenowy
cyyself Oct 26, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ properties:
- allwinner,sun8i-v3-ccu
- allwinner,sun8i-v3s-ccu
- allwinner,sun9i-a80-ccu
- allwinner,sun20i-d1-ccu
- allwinner,sun20i-d1-r-ccu
- allwinner,sun50i-a64-ccu
- allwinner,sun50i-a64-r-ccu
- allwinner,sun50i-a100-ccu
Expand Down Expand Up @@ -79,6 +81,7 @@ if:
enum:
- allwinner,sun8i-a83t-r-ccu
- allwinner,sun8i-h3-r-ccu
- allwinner,sun20i-d1-r-ccu
- allwinner,sun50i-a64-r-ccu
- allwinner,sun50i-a100-r-ccu
- allwinner,sun50i-h6-r-ccu
Expand All @@ -99,6 +102,7 @@ else:
properties:
compatible:
enum:
- allwinner,sun20i-d1-ccu
- allwinner,sun50i-a100-ccu
- allwinner,sun50i-h6-ccu
- allwinner,sun50i-h616-ccu
Expand Down
Original file line number Diff line number Diff line change
@@ -1,25 +1,30 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/idle-states.yaml#
$id: http://devicetree.org/schemas/cpu/idle-states.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ARM idle states binding description
title: Idle states binding description

maintainers:
- Lorenzo Pieralisi <[email protected]>
- Anup Patel <[email protected]>

description: |+
==========================================
1 - Introduction
==========================================

ARM systems contain HW capable of managing power consumption dynamically,
where cores can be put in different low-power states (ranging from simple wfi
to power gating) according to OS PM policies. The CPU states representing the
range of dynamic idle states that a processor can enter at run-time, can be
specified through device tree bindings representing the parameters required to
enter/exit specific idle states on a given processor.
ARM and RISC-V systems contain HW capable of managing power consumption
dynamically, where cores can be put in different low-power states (ranging
from simple wfi to power gating) according to OS PM policies. The CPU states
representing the range of dynamic idle states that a processor can enter at
run-time, can be specified through device tree bindings representing the
parameters required to enter/exit specific idle states on a given processor.

==========================================
2 - ARM idle states
==========================================

According to the Server Base System Architecture document (SBSA, [3]), the
power states an ARM CPU can be put into are identified by the following list:
Expand All @@ -43,8 +48,23 @@ description: |+
The device tree binding definition for ARM idle states is the subject of this
document.

==========================================
3 - RISC-V idle states
==========================================

On RISC-V systems, the HARTs (or CPUs) [6] can be put in platform specific
suspend (or idle) states (ranging from simple WFI, power gating, etc). The
RISC-V SBI v0.3 (or higher) [7] hart state management extension provides a
standard mechanism for OS to request HART state transitions.

The platform specific suspend (or idle) states of a hart can be either
retentive or non-rententive in nature. A retentive suspend state will
preserve HART registers and CSR values for all privilege modes whereas
a non-retentive suspend state will not preserve HART registers and CSR
values.

===========================================
2 - idle-states definitions
4 - idle-states definitions
===========================================

Idle states are characterized for a specific system through a set of
Expand Down Expand Up @@ -211,10 +231,10 @@ description: |+
properties specification that is the subject of the following sections.

===========================================
3 - idle-states node
5 - idle-states node
===========================================

ARM processor idle states are defined within the idle-states node, which is
The processor idle states are defined within the idle-states node, which is
a direct child of the cpus node [1] and provides a container where the
processor idle states, defined as device tree nodes, are listed.

Expand All @@ -223,7 +243,7 @@ description: |+
just supports idle_standby, an idle-states node is not required.

===========================================
4 - References
6 - References
===========================================

[1] ARM Linux Kernel documentation - CPUs bindings
Expand All @@ -238,9 +258,15 @@ description: |+
[4] ARM Architecture Reference Manuals
http://infocenter.arm.com/help/index.jsp

[6] ARM Linux Kernel documentation - Booting AArch64 Linux
[5] ARM Linux Kernel documentation - Booting AArch64 Linux
Documentation/arm64/booting.rst

[6] RISC-V Linux Kernel documentation - CPUs bindings
Documentation/devicetree/bindings/riscv/cpus.yaml

[7] RISC-V Supervisor Binary Interface (SBI)
http://github.com/riscv/riscv-sbi-doc/riscv-sbi.adoc

properties:
$nodename:
const: idle-states
Expand All @@ -253,7 +279,7 @@ properties:
On ARM 32-bit systems this property is optional

This assumes that the "enable-method" property is set to "psci" in the cpu
node[6] that is responsible for setting up CPU idle management in the OS
node[5] that is responsible for setting up CPU idle management in the OS
implementation.
const: psci

Expand All @@ -265,8 +291,8 @@ patternProperties:
as follows.

The idle state entered by executing the wfi instruction (idle_standby
SBSA,[3][4]) is considered standard on all ARM platforms and therefore
must not be listed.
SBSA,[3][4]) is considered standard on all ARM and RISC-V platforms and
therefore must not be listed.

In addition to the properties listed above, a state node may require
additional properties specific to the entry-method defined in the
Expand All @@ -275,7 +301,27 @@ patternProperties:

properties:
compatible:
const: arm,idle-state
oneOf:
- const: arm,idle-state
- const: riscv,idle-state

arm,psci-suspend-param:
$ref: /schemas/types.yaml#/definitions/uint32
description: |
power_state parameter to pass to the ARM PSCI suspend call.

Device tree nodes that require usage of PSCI CPU_SUSPEND function
(i.e. idle states node with entry-method property is set to "psci")
must specify this property.

riscv,sbi-suspend-param:
$ref: /schemas/types.yaml#/definitions/uint32
description: |
suspend_type parameter to pass to the RISC-V SBI HSM suspend call.

This property is required in idle state nodes of device tree meant
for RISC-V systems. For more details on the suspend_type parameter
refer the SBI specifiation v0.3 (or higher) [7].

local-timer-stop:
description:
Expand Down Expand Up @@ -317,6 +363,8 @@ patternProperties:
description:
A string used as a descriptive name for the idle state.

additionalProperties: false

required:
- compatible
- entry-latency-us
Expand Down Expand Up @@ -658,4 +706,150 @@ examples:
};
};

- |
// Example 3 (RISC-V 64-bit, 4-cpu systems, two clusters):

cpus {
#size-cells = <0>;
#address-cells = <1>;

cpu@0 {
device_type = "cpu";
compatible = "riscv";
reg = <0x0>;
riscv,isa = "rv64imafdc";
mmu-type = "riscv,sv48";
cpu-idle-states = <&CPU_RET_0_0 &CPU_NONRET_0_0
&CLUSTER_RET_0 &CLUSTER_NONRET_0>;

cpu_intc0: interrupt-controller {
#interrupt-cells = <1>;
compatible = "riscv,cpu-intc";
interrupt-controller;
};
};

cpu@1 {
device_type = "cpu";
compatible = "riscv";
reg = <0x1>;
riscv,isa = "rv64imafdc";
mmu-type = "riscv,sv48";
cpu-idle-states = <&CPU_RET_0_0 &CPU_NONRET_0_0
&CLUSTER_RET_0 &CLUSTER_NONRET_0>;

cpu_intc1: interrupt-controller {
#interrupt-cells = <1>;
compatible = "riscv,cpu-intc";
interrupt-controller;
};
};

cpu@10 {
device_type = "cpu";
compatible = "riscv";
reg = <0x10>;
riscv,isa = "rv64imafdc";
mmu-type = "riscv,sv48";
cpu-idle-states = <&CPU_RET_1_0 &CPU_NONRET_1_0
&CLUSTER_RET_1 &CLUSTER_NONRET_1>;

cpu_intc10: interrupt-controller {
#interrupt-cells = <1>;
compatible = "riscv,cpu-intc";
interrupt-controller;
};
};

cpu@11 {
device_type = "cpu";
compatible = "riscv";
reg = <0x11>;
riscv,isa = "rv64imafdc";
mmu-type = "riscv,sv48";
cpu-idle-states = <&CPU_RET_1_0 &CPU_NONRET_1_0
&CLUSTER_RET_1 &CLUSTER_NONRET_1>;

cpu_intc11: interrupt-controller {
#interrupt-cells = <1>;
compatible = "riscv,cpu-intc";
interrupt-controller;
};
};

idle-states {
CPU_RET_0_0: cpu-retentive-0-0 {
compatible = "riscv,idle-state";
riscv,sbi-suspend-param = <0x10000000>;
entry-latency-us = <20>;
exit-latency-us = <40>;
min-residency-us = <80>;
};

CPU_NONRET_0_0: cpu-nonretentive-0-0 {
compatible = "riscv,idle-state";
riscv,sbi-suspend-param = <0x90000000>;
entry-latency-us = <250>;
exit-latency-us = <500>;
min-residency-us = <950>;
};

CLUSTER_RET_0: cluster-retentive-0 {
compatible = "riscv,idle-state";
riscv,sbi-suspend-param = <0x11000000>;
local-timer-stop;
entry-latency-us = <50>;
exit-latency-us = <100>;
min-residency-us = <250>;
wakeup-latency-us = <130>;
};

CLUSTER_NONRET_0: cluster-nonretentive-0 {
compatible = "riscv,idle-state";
riscv,sbi-suspend-param = <0x91000000>;
local-timer-stop;
entry-latency-us = <600>;
exit-latency-us = <1100>;
min-residency-us = <2700>;
wakeup-latency-us = <1500>;
};

CPU_RET_1_0: cpu-retentive-1-0 {
compatible = "riscv,idle-state";
riscv,sbi-suspend-param = <0x10000010>;
entry-latency-us = <20>;
exit-latency-us = <40>;
min-residency-us = <80>;
};

CPU_NONRET_1_0: cpu-nonretentive-1-0 {
compatible = "riscv,idle-state";
riscv,sbi-suspend-param = <0x90000010>;
entry-latency-us = <250>;
exit-latency-us = <500>;
min-residency-us = <950>;
};

CLUSTER_RET_1: cluster-retentive-1 {
compatible = "riscv,idle-state";
riscv,sbi-suspend-param = <0x11000010>;
local-timer-stop;
entry-latency-us = <50>;
exit-latency-us = <100>;
min-residency-us = <250>;
wakeup-latency-us = <130>;
};

CLUSTER_NONRET_1: cluster-nonretentive-1 {
compatible = "riscv,idle-state";
riscv,sbi-suspend-param = <0x91000010>;
local-timer-stop;
entry-latency-us = <600>;
exit-latency-us = <1100>;
min-residency-us = <2700>;
wakeup-latency-us = <1500>;
};
};
};

...
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ properties:
enum:
- allwinner,sun8i-h3-crypto
- allwinner,sun8i-r40-crypto
- allwinner,sun20i-d1-crypto
- allwinner,sun50i-a64-crypto
- allwinner,sun50i-h5-crypto
- allwinner,sun50i-h6-crypto
Expand Down Expand Up @@ -44,7 +45,10 @@ properties:
if:
properties:
compatible:
const: allwinner,sun50i-h6-crypto
contains:
enum:
- allwinner,sun20i-d1-crypto
- allwinner,sun50i-h6-crypto
then:
properties:
clocks:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ properties:

compatible:
oneOf:
- const: allwinner,sun20i-d1-dma
- const: allwinner,sun50i-a64-dma
- const: allwinner,sun50i-a100-dma
- const: allwinner,sun50i-h6-dma
Expand Down Expand Up @@ -58,6 +59,7 @@ if:
properties:
compatible:
enum:
- allwinner,sun20i-d1-dma
- allwinner,sun50i-a100-dma
- allwinner,sun50i-h6-dma

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,11 @@ description:

properties:
compatible:
const: allwinner,sun6i-a31-hwspinlock
oneOf:
- const: allwinner,sun6i-a31-hwspinlock
- items:
- const: allwinner,sun20i-d1-hwspinlock
- const: allwinner,sun6i-a31-hwspinlock

reg:
maxItems: 1
Expand All @@ -26,6 +30,9 @@ properties:
resets:
maxItems: 1

interrupts:
maxItems: 1

required:
- compatible
- reg
Expand Down
Loading