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

Merge tag 'sunxi-dt-for-5.10-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/dt

Our usual bunch of patches to support the Allwinner SoCs, this time
adding:
- Allwinner A100 initial support
- Mali, DMA, cedrus and IR Support for the R40
- Crypto support for the v3s
- New board: Allwinner A100 Perf1

* tag 'sunxi-dt-for-5.10-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (24 commits)
ARM: dts: sun8i: v3s: Enable crypto engine
dt-bindings: crypto: Add compatible for V3s
dt-bindings: crypto: Specify that allwinner, sun8i-a33-crypto needs reset
arm64: dts: allwinner: a64: Update the audio codec compatible
arm64: dts: allwinner: a64: Update codec widget names
ARM: dts: sun8i: a33: Update codec widget names
ARM: dts: sun8i: r40: Add video engine node
ARM: dts: sun8i: r40: Add node for system controller
dt-bindings: sram: allwinner, sun4i-a10-system-control: Add R40 compatibles
ARM: dts: sun8i: r40: bananapi-m2-ultra: Enable IR
ARM: dts: sun8i: r40: Add IR nodes
dt-bindings: media: allwinner, sun4i-a10-ir: Add R40 compatible
ARM: dts: sun8i: r40: Add DMA node
dt-bindings: dma: allwinner,sun50i-a64-dma: Add R40 compatible
arm64: allwinner: A100: add support for Allwinner Perf1 board
dt-bindings: arm: sunxi: Add Allwinner A100 Perf1 Board bindings
arm64: allwinner: A100: add the basical Allwinner A100 DTSI file
dt-bindings: irq: sun7i-nmi: Add binding for A100's NMI controller
dt-bindings: irq: sun7i-nmi: fix dt-binding for a80 nmi
ARM: dts: sun4i: Enable HDMI support on the Mele A1000
...

Link: https://lore.kernel.org/r/ac39ee89-ea3a-4971-8cd7-8c4b2ecef39d.lettre@localhost
Signed-off-by: Olof Johansson <olof@lixom.net>

+770 -51
+5
Documentation/devicetree/bindings/arm/sunxi.yaml
··· 16 16 compatible: 17 17 oneOf: 18 18 19 + - description: Allwinner A100 Perf1 Board 20 + items: 21 + - const: allwinner,a100-perf1 22 + - const: allwinner,sun50i-a100 23 + 19 24 - description: Allwinner A23 Evaluation Board 20 25 items: 21 26 - const: allwinner,sun8i-a23-evb
+5 -1
Documentation/devicetree/bindings/crypto/allwinner,sun4i-a10-crypto.yaml
··· 23 23 - items: 24 24 - const: allwinner,sun7i-a20-crypto 25 25 - const: allwinner,sun4i-a10-crypto 26 + - const: allwinner,sun8i-a33-crypto 26 27 - items: 28 + - const: allwinner,sun8i-v3s-crypto 27 29 - const: allwinner,sun8i-a33-crypto 28 30 29 31 reg: ··· 61 59 properties: 62 60 compatible: 63 61 contains: 64 - const: allwinner,sun6i-a31-crypto 62 + enum: 63 + - allwinner,sun6i-a31-crypto 64 + - allwinner,sun8i-a33-crypto 65 65 66 66 then: 67 67 required:
+6 -3
Documentation/devicetree/bindings/dma/allwinner,sun50i-a64-dma.yaml
··· 19 19 description: The cell is the request line number. 20 20 21 21 compatible: 22 - enum: 23 - - allwinner,sun50i-a64-dma 24 - - allwinner,sun50i-h6-dma 22 + oneOf: 23 + - const: allwinner,sun50i-a64-dma 24 + - const: allwinner,sun50i-h6-dma 25 + - items: 26 + - const: allwinner,sun8i-r40-dma 27 + - const: allwinner,sun50i-a64-dma 25 28 26 29 reg: 27 30 maxItems: 1
+2
Documentation/devicetree/bindings/gpu/arm,mali-utgard.yaml
··· 25 25 - allwinner,sun4i-a10-mali 26 26 - allwinner,sun7i-a20-mali 27 27 - allwinner,sun8i-h3-mali 28 + - allwinner,sun8i-r40-mali 28 29 - allwinner,sun50i-a64-mali 29 30 - rockchip,rk3036-mali 30 31 - rockchip,rk3066-mali ··· 130 129 enum: 131 130 - allwinner,sun4i-a10-mali 132 131 - allwinner,sun7i-a20-mali 132 + - allwinner,sun8i-r40-mali 133 133 - allwinner,sun50i-a64-mali 134 134 - allwinner,sun50i-h5-mali 135 135 - amlogic,meson8-mali
+4 -1
Documentation/devicetree/bindings/interrupt-controller/allwinner,sun7i-a20-sc-nmi.yaml
··· 29 29 - items: 30 30 - const: allwinner,sun8i-a83t-r-intc 31 31 - const: allwinner,sun6i-a31-r-intc 32 - - const: allwinner,sun9i-a80-sc-nmi 32 + - const: allwinner,sun9i-a80-nmi 33 33 - items: 34 34 - const: allwinner,sun50i-a64-r-intc 35 35 - const: allwinner,sun6i-a31-r-intc 36 + - items: 37 + - const: allwinner,sun50i-a100-nmi 38 + - const: allwinner,sun9i-a80-nmi 36 39 - items: 37 40 - const: allwinner,sun50i-h6-r-intc 38 41 - const: allwinner,sun6i-a31-r-intc
+4 -1
Documentation/devicetree/bindings/media/allwinner,sun4i-a10-ir.yaml
··· 18 18 oneOf: 19 19 - const: allwinner,sun4i-a10-ir 20 20 - const: allwinner,sun5i-a13-ir 21 + - const: allwinner,sun6i-a31-ir 21 22 - items: 22 23 - const: allwinner,sun8i-a83t-ir 23 24 - const: allwinner,sun6i-a31-ir 24 - - const: allwinner,sun6i-a31-ir 25 + - items: 26 + - const: allwinner,sun8i-r40-ir 27 + - const: allwinner,sun6i-a31-ir 25 28 - items: 26 29 - const: allwinner,sun50i-a64-ir 27 30 - const: allwinner,sun6i-a31-ir
+6
Documentation/devicetree/bindings/sram/allwinner,sun4i-a10-system-control.yaml
··· 33 33 - const: allwinner,sun4i-a10-system-control 34 34 - const: allwinner,sun8i-a23-system-control 35 35 - const: allwinner,sun8i-h3-system-control 36 + - items: 37 + - const: allwinner,sun8i-r40-system-control 38 + - const: allwinner,sun4i-a10-system-control 36 39 - const: allwinner,sun50i-a64-sram-controller 37 40 deprecated: true 38 41 - const: allwinner,sun50i-a64-system-control ··· 88 85 - const: allwinner,sun4i-a10-sram-c1 89 86 - items: 90 87 - const: allwinner,sun8i-h3-sram-c1 88 + - const: allwinner,sun4i-a10-sram-c1 89 + - items: 90 + - const: allwinner,sun8i-r40-sram-c1 91 91 - const: allwinner,sun4i-a10-sram-c1 92 92 - items: 93 93 - const: allwinner,sun50i-a64-sram-c1
+25
arch/arm/boot/dts/sun4i-a10-a1000.dts
··· 60 60 stdout-path = "serial0:115200n8"; 61 61 }; 62 62 63 + hdmi-connector { 64 + compatible = "hdmi-connector"; 65 + type = "a"; 66 + 67 + port { 68 + hdmi_con_in: endpoint { 69 + remote-endpoint = <&hdmi_out_con>; 70 + }; 71 + }; 72 + }; 73 + 63 74 leds { 64 75 compatible = "gpio-leds"; 65 76 ··· 142 131 143 132 &emac_sram { 144 133 status = "okay"; 134 + }; 135 + 136 + &de { 137 + status = "okay"; 138 + }; 139 + 140 + &hdmi { 141 + status = "okay"; 142 + }; 143 + 144 + &hdmi_out { 145 + hdmi_out_con: endpoint { 146 + remote-endpoint = <&hdmi_con_in>; 147 + }; 145 148 }; 146 149 147 150 &i2c0 {
+2 -2
arch/arm/boot/dts/sun8i-a33-olinuxino.dts
··· 194 194 "Headphone", "Headphone Jack"; 195 195 /* Board level routing. First 2 routes copied from SoC level */ 196 196 simple-audio-card,routing = 197 - "Left DAC", "AIF1 Slot 0 Left", 198 - "Right DAC", "AIF1 Slot 0 Right", 197 + "Left DAC", "DACL", 198 + "Right DAC", "DACR", 199 199 "HP", "HPCOM", 200 200 "Headphone Jack", "HP", 201 201 "MIC1", "Microphone Jack",
+2 -2
arch/arm/boot/dts/sun8i-a33.dtsi
··· 189 189 simple-audio-card,mclk-fs = <128>; 190 190 simple-audio-card,aux-devs = <&codec_analog>; 191 191 simple-audio-card,routing = 192 - "Left DAC", "AIF1 Slot 0 Left", 193 - "Right DAC", "AIF1 Slot 0 Right"; 192 + "Left DAC", "DACL", 193 + "Right DAC", "DACR"; 194 194 status = "disabled"; 195 195 196 196 simple-audio-card,cpu {
+4
arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts
··· 164 164 165 165 #include "axp22x.dtsi" 166 166 167 + &ir0 { 168 + status = "okay"; 169 + }; 170 + 167 171 &mmc0 { 168 172 vmmc-supply = <&reg_dcdc1>; 169 173 bus-width = <4>;
+104
arch/arm/boot/dts/sun8i-r40.dtsi
··· 190 190 }; 191 191 }; 192 192 193 + syscon: system-control@1c00000 { 194 + compatible = "allwinner,sun8i-r40-system-control", 195 + "allwinner,sun4i-a10-system-control"; 196 + reg = <0x01c00000 0x30>; 197 + #address-cells = <1>; 198 + #size-cells = <1>; 199 + ranges; 200 + 201 + sram_c: sram@1d00000 { 202 + compatible = "mmio-sram"; 203 + reg = <0x01d00000 0xd0000>; 204 + #address-cells = <1>; 205 + #size-cells = <1>; 206 + ranges = <0 0x01d00000 0xd0000>; 207 + 208 + ve_sram: sram-section@0 { 209 + compatible = "allwinner,sun8i-r40-sram-c1", 210 + "allwinner,sun4i-a10-sram-c1"; 211 + reg = <0x000000 0x80000>; 212 + }; 213 + }; 214 + }; 215 + 193 216 nmi_intc: interrupt-controller@1c00030 { 194 217 compatible = "allwinner,sun7i-a20-sc-nmi"; 195 218 interrupt-controller; 196 219 #interrupt-cells = <2>; 197 220 reg = <0x01c00030 0x0c>; 198 221 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 222 + }; 223 + 224 + dma: dma-controller@1c02000 { 225 + compatible = "allwinner,sun8i-r40-dma", 226 + "allwinner,sun50i-a64-dma"; 227 + reg = <0x01c02000 0x1000>; 228 + interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 229 + clocks = <&ccu CLK_BUS_DMA>; 230 + dma-channels = <16>; 231 + dma-requests = <31>; 232 + resets = <&ccu RST_BUS_DMA>; 233 + #dma-cells = <1>; 199 234 }; 200 235 201 236 spi0: spi@1c05000 { ··· 271 236 interconnects = <&mbus 5>; 272 237 interconnect-names = "dma-mem"; 273 238 status = "disabled"; 239 + }; 240 + 241 + video-codec@1c0e000 { 242 + compatible = "allwinner,sun8i-r40-video-engine"; 243 + reg = <0x01c0e000 0x1000>; 244 + clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>, 245 + <&ccu CLK_DRAM_VE>; 246 + clock-names = "ahb", "mod", "ram"; 247 + resets = <&ccu RST_BUS_VE>; 248 + interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 249 + allwinner,sram = <&ve_sram 1>; 274 250 }; 275 251 276 252 mmc0: mmc@1c0f000 { ··· 547 501 function = "i2c4"; 548 502 }; 549 503 504 + ir0_pins: ir0-pins { 505 + pins = "PB4"; 506 + function = "ir0"; 507 + }; 508 + 509 + ir1_pins: ir1-pins { 510 + pins = "PB23"; 511 + function = "ir1"; 512 + }; 513 + 550 514 mmc0_pins: mmc0-pins { 551 515 pins = "PF0", "PF1", "PF2", 552 516 "PF3", "PF4", "PF5"; ··· 633 577 reg = <0x01c20c90 0x10>; 634 578 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 635 579 clocks = <&osc24M>; 580 + }; 581 + 582 + ir0: ir@1c21800 { 583 + compatible = "allwinner,sun8i-r40-ir", 584 + "allwinner,sun6i-a31-ir"; 585 + reg = <0x01c21800 0x400>; 586 + pinctrl-0 = <&ir0_pins>; 587 + pinctrl-names = "default"; 588 + clocks = <&ccu CLK_BUS_IR0>, <&ccu CLK_IR0>; 589 + clock-names = "apb", "ir"; 590 + interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 591 + resets = <&ccu RST_BUS_IR0>; 592 + status = "disabled"; 593 + }; 594 + 595 + ir1: ir@1c21c00 { 596 + compatible = "allwinner,sun8i-r40-ir", 597 + "allwinner,sun6i-a31-ir"; 598 + reg = <0x01c21c00 0x400>; 599 + pinctrl-0 = <&ir1_pins>; 600 + pinctrl-names = "default"; 601 + clocks = <&ccu CLK_BUS_IR1>, <&ccu CLK_IR1>; 602 + clock-names = "apb", "ir"; 603 + interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 604 + resets = <&ccu RST_BUS_IR1>; 605 + status = "disabled"; 636 606 }; 637 607 638 608 ths: thermal-sensor@1c24c00 { ··· 823 741 status = "disabled"; 824 742 #address-cells = <1>; 825 743 #size-cells = <0>; 744 + }; 745 + 746 + mali: gpu@1c40000 { 747 + compatible = "allwinner,sun8i-r40-mali", "arm,mali-400"; 748 + reg = <0x01c40000 0x10000>; 749 + interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 750 + <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 751 + <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>, 752 + <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>, 753 + <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>, 754 + <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>, 755 + <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 756 + interrupt-names = "gp", 757 + "gpmmu", 758 + "pp0", 759 + "ppmmu0", 760 + "pp1", 761 + "ppmmu1", 762 + "pmu"; 763 + clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>; 764 + clock-names = "bus", "core"; 765 + resets = <&ccu RST_BUS_GPU>; 826 766 }; 827 767 828 768 gmac: ethernet@1c50000 {
+11
arch/arm/boot/dts/sun8i-v3s.dtsi
··· 234 234 #size-cells = <0>; 235 235 }; 236 236 237 + crypto@1c15000 { 238 + compatible = "allwinner,sun8i-v3s-crypto", 239 + "allwinner,sun8i-a33-crypto"; 240 + reg = <0x01c15000 0x1000>; 241 + interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 242 + clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>; 243 + clock-names = "ahb", "mod"; 244 + resets = <&ccu RST_BUS_CE>; 245 + reset-names = "ahb"; 246 + }; 247 + 237 248 usb_otg: usb@1c19000 { 238 249 compatible = "allwinner,sun8i-h3-musb"; 239 250 reg = <0x01c19000 0x0400>;
+1
arch/arm64/boot/dts/allwinner/Makefile
··· 15 15 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pinetab.dtb 16 16 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb 17 17 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb 18 + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a100-allwinner-perf1.dtb 18 19 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus.dtb 19 20 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus-v1.2.dtb 20 21 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-emlid-neutis-n5-devboard.dtb
+180
arch/arm64/boot/dts/allwinner/sun50i-a100-allwinner-perf1.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ or MIT) 2 + /* 3 + * Copyright (c) 2020 Yangtao Li <frank@allwinnertech.com> 4 + */ 5 + 6 + /dts-v1/; 7 + 8 + #include "sun50i-a100.dtsi" 9 + 10 + /{ 11 + model = "Allwinner A100 Perf1"; 12 + compatible = "allwinner,a100-perf1", "allwinner,sun50i-a100"; 13 + 14 + aliases { 15 + serial0 = &uart0; 16 + }; 17 + 18 + chosen { 19 + stdout-path = "serial0:115200n8"; 20 + }; 21 + }; 22 + 23 + &pio { 24 + vcc-pb-supply = <&reg_dcdc1>; 25 + vcc-pc-supply = <&reg_eldo1>; 26 + vcc-pd-supply = <&reg_dcdc1>; 27 + vcc-pe-supply = <&reg_dldo2>; 28 + vcc-pf-supply = <&reg_dcdc1>; 29 + vcc-pg-supply = <&reg_dldo1>; 30 + vcc-ph-supply = <&reg_dcdc1>; 31 + }; 32 + 33 + &r_pio { 34 + /* 35 + * FIXME: We can't add that supply for now since it would 36 + * create a circular dependency between pinctrl, the regulator 37 + * and the RSB Bus. 38 + * 39 + * vcc-pl-supply = <&reg_aldo3>; 40 + */ 41 + }; 42 + 43 + &r_i2c0 { 44 + status = "okay"; 45 + 46 + axp803: pmic@34 { 47 + compatible = "x-powers,axp803"; 48 + reg = <0x34>; 49 + interrupt-parent = <&r_intc>; 50 + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 51 + x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */ 52 + }; 53 + }; 54 + 55 + #include "axp803.dtsi" 56 + 57 + &ac_power_supply { 58 + status = "okay"; 59 + }; 60 + 61 + &reg_aldo1 { 62 + regulator-always-on; 63 + regulator-min-microvolt = <1800000>; 64 + regulator-max-microvolt = <1800000>; 65 + regulator-name = "vcc-pll-avcc"; 66 + }; 67 + 68 + &reg_aldo2 { 69 + regulator-always-on; 70 + regulator-min-microvolt = <1800000>; 71 + regulator-max-microvolt = <1800000>; 72 + regulator-name = "vcc-dram-1"; 73 + }; 74 + 75 + &reg_aldo3 { 76 + regulator-always-on; 77 + regulator-min-microvolt = <3300000>; 78 + regulator-max-microvolt = <3300000>; 79 + regulator-name = "vcc-usb-pl"; 80 + }; 81 + 82 + &reg_dcdc1 { 83 + regulator-always-on; 84 + regulator-min-microvolt = <3300000>; 85 + regulator-max-microvolt = <3300000>; 86 + regulator-name = "vcc-io-usb-pd-emmc-nand-card"; 87 + }; 88 + 89 + &reg_dcdc2 { 90 + regulator-always-on; 91 + /* 92 + * FIXME: update min and max before support dvfs. 93 + */ 94 + regulator-min-microvolt = <500000>; 95 + regulator-max-microvolt = <1300000>; 96 + regulator-name = "vdd-cpux"; 97 + }; 98 + 99 + /* DCDC3 is polyphased with DCDC2 */ 100 + 101 + &reg_dcdc4 { 102 + regulator-always-on; 103 + regulator-min-microvolt = <950000>; 104 + regulator-max-microvolt = <950000>; 105 + regulator-name = "vdd-sys-usb-dram"; 106 + }; 107 + 108 + &reg_dcdc5 { 109 + regulator-always-on; 110 + regulator-min-microvolt = <1500000>; 111 + regulator-max-microvolt = <1500000>; 112 + regulator-name = "vcc-dram-2"; 113 + }; 114 + 115 + &reg_dldo1 { 116 + regulator-min-microvolt = <3300000>; 117 + regulator-max-microvolt = <3300000>; 118 + regulator-name = "vcc-pg-dcxo-wifi"; 119 + }; 120 + 121 + &reg_dldo2 { 122 + regulator-min-microvolt = <1800000>; 123 + regulator-max-microvolt = <2800000>; 124 + regulator-name = "vcc-pe-csi"; 125 + }; 126 + 127 + &reg_dldo3 { 128 + regulator-min-microvolt = <1800000>; 129 + regulator-max-microvolt = <3300000>; 130 + regulator-name = "ldo-avdd-csi"; 131 + }; 132 + 133 + &reg_dldo4 { 134 + regulator-min-microvolt = <1800000>; 135 + regulator-max-microvolt = <2800000>; 136 + regulator-name = "avcc-csi"; 137 + }; 138 + 139 + &reg_eldo1 { 140 + regulator-min-microvolt = <1800000>; 141 + regulator-max-microvolt = <1800000>; 142 + regulator-name = "vcc-pc-lvds-csi-efuse-emmc-nand"; 143 + }; 144 + 145 + &reg_eldo2 { 146 + regulator-min-microvolt = <1200000>; 147 + regulator-max-microvolt = <1800000>; 148 + regulator-name = "dvdd-csi"; 149 + }; 150 + 151 + &reg_eldo3 { 152 + regulator-min-microvolt = <1800000>; 153 + regulator-max-microvolt = <1800000>; 154 + regulator-name = "vcc-mipi-lcd"; 155 + }; 156 + 157 + &reg_fldo1 { 158 + regulator-always-on; 159 + regulator-min-microvolt = <900000>; 160 + regulator-max-microvolt = <900000>; 161 + regulator-name = "vdd-cpus-usb"; 162 + }; 163 + 164 + &reg_ldo_io0 { 165 + regulator-min-microvolt = <3300000>; 166 + regulator-max-microvolt = <3300000>; 167 + regulator-name = "vcc-ctp"; 168 + status = "okay"; 169 + }; 170 + 171 + &reg_drivevbus { 172 + regulator-name = "usb0-vbus"; 173 + status = "okay"; 174 + }; 175 + 176 + &uart0 { 177 + pinctrl-names = "default"; 178 + pinctrl-0 = <&uart0_pb_pins>; 179 + status = "okay"; 180 + };
+364
arch/arm64/boot/dts/allwinner/sun50i-a100.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ or MIT) 2 + /* 3 + * Copyright (c) 2020 Yangtao Li <frank@allwinnertech.com> 4 + */ 5 + 6 + #include <dt-bindings/interrupt-controller/arm-gic.h> 7 + #include <dt-bindings/clock/sun50i-a100-ccu.h> 8 + #include <dt-bindings/clock/sun50i-a100-r-ccu.h> 9 + #include <dt-bindings/reset/sun50i-a100-ccu.h> 10 + #include <dt-bindings/reset/sun50i-a100-r-ccu.h> 11 + 12 + / { 13 + interrupt-parent = <&gic>; 14 + #address-cells = <2>; 15 + #size-cells = <2>; 16 + 17 + cpus { 18 + #address-cells = <1>; 19 + #size-cells = <0>; 20 + 21 + cpu0: cpu@0 { 22 + compatible = "arm,cortex-a53"; 23 + device_type = "cpu"; 24 + reg = <0x0>; 25 + enable-method = "psci"; 26 + }; 27 + 28 + cpu@1 { 29 + compatible = "arm,cortex-a53"; 30 + device_type = "cpu"; 31 + reg = <0x1>; 32 + enable-method = "psci"; 33 + }; 34 + 35 + cpu@2 { 36 + compatible = "arm,cortex-a53"; 37 + device_type = "cpu"; 38 + reg = <0x2>; 39 + enable-method = "psci"; 40 + }; 41 + 42 + cpu@3 { 43 + compatible = "arm,cortex-a53"; 44 + device_type = "cpu"; 45 + reg = <0x3>; 46 + enable-method = "psci"; 47 + }; 48 + }; 49 + 50 + psci { 51 + compatible = "arm,psci-1.0"; 52 + method = "smc"; 53 + }; 54 + 55 + dcxo24M: dcxo24M-clk { 56 + compatible = "fixed-clock"; 57 + clock-frequency = <24000000>; 58 + clock-output-names = "dcxo24M"; 59 + #clock-cells = <0>; 60 + }; 61 + 62 + iosc: internal-osc-clk { 63 + compatible = "fixed-clock"; 64 + clock-frequency = <16000000>; 65 + clock-accuracy = <300000000>; 66 + clock-output-names = "iosc"; 67 + #clock-cells = <0>; 68 + }; 69 + 70 + osc32k: osc32k-clk { 71 + compatible = "fixed-clock"; 72 + clock-frequency = <32768>; 73 + clock-output-names = "osc32k"; 74 + #clock-cells = <0>; 75 + }; 76 + 77 + timer { 78 + compatible = "arm,armv8-timer"; 79 + interrupts = <GIC_PPI 13 80 + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 81 + <GIC_PPI 14 82 + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 83 + <GIC_PPI 11 84 + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 85 + <GIC_PPI 10 86 + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 87 + }; 88 + 89 + soc { 90 + compatible = "simple-bus"; 91 + #address-cells = <1>; 92 + #size-cells = <1>; 93 + ranges = <0 0 0 0x3fffffff>; 94 + 95 + ccu: clock@3001000 { 96 + compatible = "allwinner,sun50i-a100-ccu"; 97 + reg = <0x03001000 0x1000>; 98 + clocks = <&dcxo24M>, <&osc32k>, <&iosc>; 99 + clock-names = "hosc", "losc", "iosc"; 100 + #clock-cells = <1>; 101 + #reset-cells = <1>; 102 + }; 103 + 104 + gic: interrupt-controller@3021000 { 105 + compatible = "arm,gic-400"; 106 + reg = <0x03021000 0x1000>, <0x03022000 0x2000>, 107 + <0x03024000 0x2000>, <0x03026000 0x2000>; 108 + interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | 109 + IRQ_TYPE_LEVEL_HIGH)>; 110 + interrupt-controller; 111 + #interrupt-cells = <3>; 112 + }; 113 + 114 + efuse@3006000 { 115 + compatible = "allwinner,sun50i-a100-sid", 116 + "allwinner,sun50i-a64-sid"; 117 + reg = <0x03006000 0x1000>; 118 + #address-cells = <1>; 119 + #size-cells = <1>; 120 + 121 + ths_calibration: calib@14 { 122 + reg = <0x14 8>; 123 + }; 124 + }; 125 + 126 + pio: pinctrl@300b000 { 127 + compatible = "allwinner,sun50i-a100-pinctrl"; 128 + reg = <0x0300b000 0x400>; 129 + interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, 130 + <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, 131 + <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>, 132 + <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>, 133 + <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, 134 + <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 135 + <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 136 + clocks = <&ccu CLK_APB1>, <&dcxo24M>, <&osc32k>; 137 + clock-names = "apb", "hosc", "losc"; 138 + gpio-controller; 139 + #gpio-cells = <3>; 140 + interrupt-controller; 141 + #interrupt-cells = <3>; 142 + 143 + uart0_pb_pins: uart0-pb-pins { 144 + pins = "PB9", "PB10"; 145 + function = "uart0"; 146 + }; 147 + }; 148 + 149 + uart0: serial@5000000 { 150 + compatible = "snps,dw-apb-uart"; 151 + reg = <0x05000000 0x400>; 152 + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 153 + reg-shift = <2>; 154 + reg-io-width = <4>; 155 + clocks = <&ccu CLK_BUS_UART0>; 156 + resets = <&ccu RST_BUS_UART0>; 157 + status = "disabled"; 158 + }; 159 + 160 + uart1: serial@5000400 { 161 + compatible = "snps,dw-apb-uart"; 162 + reg = <0x05000400 0x400>; 163 + interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 164 + reg-shift = <2>; 165 + reg-io-width = <4>; 166 + clocks = <&ccu CLK_BUS_UART1>; 167 + resets = <&ccu RST_BUS_UART1>; 168 + status = "disabled"; 169 + }; 170 + 171 + uart2: serial@5000800 { 172 + compatible = "snps,dw-apb-uart"; 173 + reg = <0x05000800 0x400>; 174 + interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 175 + reg-shift = <2>; 176 + reg-io-width = <4>; 177 + clocks = <&ccu CLK_BUS_UART2>; 178 + resets = <&ccu RST_BUS_UART2>; 179 + status = "disabled"; 180 + }; 181 + 182 + uart3: serial@5000c00 { 183 + compatible = "snps,dw-apb-uart"; 184 + reg = <0x05000c00 0x400>; 185 + interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 186 + reg-shift = <2>; 187 + reg-io-width = <4>; 188 + clocks = <&ccu CLK_BUS_UART3>; 189 + resets = <&ccu RST_BUS_UART3>; 190 + status = "disabled"; 191 + }; 192 + 193 + uart4: serial@5001000 { 194 + compatible = "snps,dw-apb-uart"; 195 + reg = <0x05001000 0x400>; 196 + interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 197 + reg-shift = <2>; 198 + reg-io-width = <4>; 199 + clocks = <&ccu CLK_BUS_UART4>; 200 + resets = <&ccu RST_BUS_UART4>; 201 + status = "disabled"; 202 + }; 203 + 204 + i2c0: i2c@5002000 { 205 + compatible = "allwinner,sun50i-a100-i2c", 206 + "allwinner,sun6i-a31-i2c"; 207 + reg = <0x05002000 0x400>; 208 + interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 209 + clocks = <&ccu CLK_BUS_I2C0>; 210 + resets = <&ccu RST_BUS_I2C0>; 211 + status = "disabled"; 212 + #address-cells = <1>; 213 + #size-cells = <0>; 214 + }; 215 + 216 + i2c1: i2c@5002400 { 217 + compatible = "allwinner,sun50i-a100-i2c", 218 + "allwinner,sun6i-a31-i2c"; 219 + reg = <0x05002400 0x400>; 220 + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 221 + clocks = <&ccu CLK_BUS_I2C1>; 222 + resets = <&ccu RST_BUS_I2C1>; 223 + status = "disabled"; 224 + #address-cells = <1>; 225 + #size-cells = <0>; 226 + }; 227 + 228 + i2c2: i2c@5002800 { 229 + compatible = "allwinner,sun50i-a100-i2c", 230 + "allwinner,sun6i-a31-i2c"; 231 + reg = <0x05002800 0x400>; 232 + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 233 + clocks = <&ccu CLK_BUS_I2C2>; 234 + resets = <&ccu RST_BUS_I2C2>; 235 + status = "disabled"; 236 + #address-cells = <1>; 237 + #size-cells = <0>; 238 + }; 239 + 240 + i2c3: i2c@5002c00 { 241 + compatible = "allwinner,sun50i-a100-i2c", 242 + "allwinner,sun6i-a31-i2c"; 243 + reg = <0x05002c00 0x400>; 244 + interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 245 + clocks = <&ccu CLK_BUS_I2C3>; 246 + resets = <&ccu RST_BUS_I2C3>; 247 + status = "disabled"; 248 + #address-cells = <1>; 249 + #size-cells = <0>; 250 + }; 251 + 252 + ths: thermal-sensor@5070400 { 253 + compatible = "allwinner,sun50i-a100-ths"; 254 + reg = <0x05070400 0x100>; 255 + interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 256 + clocks = <&ccu CLK_BUS_THS>; 257 + clock-names = "bus"; 258 + resets = <&ccu RST_BUS_THS>; 259 + nvmem-cells = <&ths_calibration>; 260 + nvmem-cell-names = "calibration"; 261 + #thermal-sensor-cells = <1>; 262 + }; 263 + 264 + r_ccu: clock@7010000 { 265 + compatible = "allwinner,sun50i-a100-r-ccu"; 266 + reg = <0x07010000 0x300>; 267 + clocks = <&dcxo24M>, <&osc32k>, <&iosc>, 268 + <&ccu CLK_PLL_PERIPH0>; 269 + clock-names = "hosc", "losc", "iosc", "pll-periph"; 270 + #clock-cells = <1>; 271 + #reset-cells = <1>; 272 + }; 273 + 274 + r_intc: interrupt-controller@7010320 { 275 + compatible = "allwinner,sun50i-a100-nmi", 276 + "allwinner,sun9i-a80-nmi"; 277 + interrupt-controller; 278 + #interrupt-cells = <2>; 279 + reg = <0x07010320 0xc>; 280 + interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 281 + }; 282 + 283 + r_pio: pinctrl@7022000 { 284 + compatible = "allwinner,sun50i-a100-r-pinctrl"; 285 + reg = <0x07022000 0x400>; 286 + interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 287 + clocks = <&r_ccu CLK_R_APB1>, <&dcxo24M>, <&osc32k>; 288 + clock-names = "apb", "hosc", "losc"; 289 + gpio-controller; 290 + #gpio-cells = <3>; 291 + interrupt-controller; 292 + #interrupt-cells = <3>; 293 + 294 + r_i2c0_pins: r-i2c0-pins { 295 + pins = "PL0", "PL1"; 296 + function = "s_i2c0"; 297 + }; 298 + 299 + r_i2c1_pins: r-i2c1-pins { 300 + pins = "PL8", "PL9"; 301 + function = "s_i2c1"; 302 + }; 303 + }; 304 + 305 + r_uart: serial@7080000 { 306 + compatible = "snps,dw-apb-uart"; 307 + reg = <0x07080000 0x400>; 308 + interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 309 + reg-shift = <2>; 310 + reg-io-width = <4>; 311 + clocks = <&r_ccu CLK_R_APB2_UART>; 312 + resets = <&r_ccu RST_R_APB2_UART>; 313 + status = "disabled"; 314 + }; 315 + 316 + r_i2c0: i2c@7081400 { 317 + compatible = "allwinner,sun50i-a100-i2c", 318 + "allwinner,sun6i-a31-i2c"; 319 + reg = <0x07081400 0x400>; 320 + interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 321 + clocks = <&r_ccu CLK_R_APB2_I2C0>; 322 + resets = <&r_ccu RST_R_APB2_I2C0>; 323 + pinctrl-names = "default"; 324 + pinctrl-0 = <&r_i2c0_pins>; 325 + status = "disabled"; 326 + #address-cells = <1>; 327 + #size-cells = <0>; 328 + }; 329 + 330 + r_i2c1: i2c@7081800 { 331 + compatible = "allwinner,sun50i-a100-i2c", 332 + "allwinner,sun6i-a31-i2c"; 333 + reg = <0x07081800 0x400>; 334 + interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 335 + clocks = <&r_ccu CLK_R_APB2_I2C1>; 336 + resets = <&r_ccu RST_R_APB2_I2C1>; 337 + pinctrl-names = "default"; 338 + pinctrl-0 = <&r_i2c1_pins>; 339 + status = "disabled"; 340 + #address-cells = <1>; 341 + #size-cells = <0>; 342 + }; 343 + }; 344 + 345 + thermal-zones { 346 + cpu-thermal-zone { 347 + polling-delay-passive = <0>; 348 + polling-delay = <0>; 349 + thermal-sensors = <&ths 0>; 350 + }; 351 + 352 + ddr-thermal-zone { 353 + polling-delay-passive = <0>; 354 + polling-delay = <0>; 355 + thermal-sensors = <&ths 2>; 356 + }; 357 + 358 + gpu-thermal-zone { 359 + polling-delay-passive = <0>; 360 + polling-delay = <0>; 361 + thermal-sensors = <&ths 1>; 362 + }; 363 + }; 364 + };
+4 -4
arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
··· 331 331 "Microphone", "Microphone Jack", 332 332 "Microphone", "Onboard Microphone"; 333 333 simple-audio-card,routing = 334 - "Left DAC", "AIF1 Slot 0 Left", 335 - "Right DAC", "AIF1 Slot 0 Right", 336 - "AIF1 Slot 0 Left ADC", "Left ADC", 337 - "AIF1 Slot 0 Right ADC", "Right ADC", 334 + "Left DAC", "DACL", 335 + "Right DAC", "DACR", 336 + "ADCL", "Left ADC", 337 + "ADCR", "Right ADC", 338 338 "Headphone Jack", "HP", 339 339 "MIC2", "Microphone Jack", 340 340 "Onboard Microphone", "MBIAS",
+4 -4
arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
··· 330 330 "Microphone", "Microphone Jack", 331 331 "Microphone", "Onboard Microphone"; 332 332 simple-audio-card,routing = 333 - "Left DAC", "AIF1 Slot 0 Left", 334 - "Right DAC", "AIF1 Slot 0 Right", 335 - "AIF1 Slot 0 Left ADC", "Left ADC", 336 - "AIF1 Slot 0 Right ADC", "Right ADC", 333 + "Left DAC", "DACL", 334 + "Right DAC", "DACR", 335 + "ADCL", "Left ADC", 336 + "ADCR", "Right ADC", 337 337 "Headphone Jack", "HP", 338 338 "MIC2", "Microphone Jack", 339 339 "Onboard Microphone", "MBIAS",
+4 -4
arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
··· 261 261 simple-audio-card,widgets = "Microphone", "Microphone Jack", 262 262 "Headphone", "Headphone Jack"; 263 263 simple-audio-card,routing = 264 - "Left DAC", "AIF1 Slot 0 Left", 265 - "Right DAC", "AIF1 Slot 0 Right", 264 + "Left DAC", "DACL", 265 + "Right DAC", "DACR", 266 266 "Headphone Jack", "HP", 267 - "AIF1 Slot 0 Left ADC", "Left ADC", 268 - "AIF1 Slot 0 Right ADC", "Right ADC", 267 + "ADCL", "Left ADC", 268 + "ADCR", "Right ADC", 269 269 "MIC2", "Microphone Jack"; 270 270 status = "okay"; 271 271 };
+4 -4
arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
··· 374 374 "Headphone", "Headphone Jack", 375 375 "Speaker", "Internal Speaker"; 376 376 simple-audio-card,routing = 377 - "Left DAC", "AIF1 Slot 0 Left", 378 - "Right DAC", "AIF1 Slot 0 Right", 377 + "Left DAC", "DACL", 378 + "Right DAC", "DACR", 379 379 "Speaker Amp INL", "LINEOUT", 380 380 "Speaker Amp INR", "LINEOUT", 381 381 "Internal Speaker", "Speaker Amp OUTL", 382 382 "Internal Speaker", "Speaker Amp OUTR", 383 383 "Headphone Jack", "HP", 384 - "AIF1 Slot 0 Left ADC", "Left ADC", 385 - "AIF1 Slot 0 Right ADC", "Right ADC", 384 + "ADCL", "Left ADC", 385 + "ADCR", "Right ADC", 386 386 "Internal Microphone Left", "MBIAS", 387 387 "MIC1", "Internal Microphone Left", 388 388 "Internal Microphone Right", "HBIAS",
+4 -4
arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
··· 392 392 "Internal Speaker", "Speaker Amp OUTR", 393 393 "Speaker Amp INL", "LINEOUT", 394 394 "Speaker Amp INR", "LINEOUT", 395 - "Left DAC", "AIF1 Slot 0 Left", 396 - "Right DAC", "AIF1 Slot 0 Right", 397 - "AIF1 Slot 0 Left ADC", "Left ADC", 398 - "AIF1 Slot 0 Right ADC", "Right ADC", 395 + "Left DAC", "DACL", 396 + "Right DAC", "DACR", 397 + "ADCL", "Left ADC", 398 + "ADCR", "Right ADC", 399 399 "Internal Microphone", "MBIAS", 400 400 "MIC1", "Internal Microphone", 401 401 "Headset Microphone", "HBIAS",
+4 -4
arch/arm64/boot/dts/allwinner/sun50i-a64-pinetab.dts
··· 421 421 "Headphone", "Headphone Jack", 422 422 "Speaker", "Internal Speaker"; 423 423 simple-audio-card,routing = 424 - "Left DAC", "AIF1 Slot 0 Left", 425 - "Right DAC", "AIF1 Slot 0 Right", 424 + "Left DAC", "DACL", 425 + "Right DAC", "DACR", 426 426 "Speaker Amp INL", "LINEOUT", 427 427 "Speaker Amp INR", "LINEOUT", 428 428 "Internal Speaker", "Speaker Amp OUTL", 429 429 "Internal Speaker", "Speaker Amp OUTR", 430 430 "Headphone Jack", "HP", 431 - "AIF1 Slot 0 Left ADC", "Left ADC", 432 - "AIF1 Slot 0 Right ADC", "Right ADC", 431 + "ADCL", "Left ADC", 432 + "ADCR", "Right ADC", 433 433 "Internal Microphone Left", "MBIAS", 434 434 "MIC1", "Internal Microphone Left", 435 435 "Internal Microphone Right", "HBIAS",
+4 -4
arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
··· 159 159 simple-audio-card,widgets = "Microphone", "Microphone Jack", 160 160 "Headphone", "Headphone Jack"; 161 161 simple-audio-card,routing = 162 - "Left DAC", "AIF1 Slot 0 Left", 163 - "Right DAC", "AIF1 Slot 0 Right", 162 + "Left DAC", "DACL", 163 + "Right DAC", "DACR", 164 164 "Headphone Jack", "HP", 165 - "AIF1 Slot 0 Left ADC", "Left ADC", 166 - "AIF1 Slot 0 Right ADC", "Right ADC", 165 + "ADCL", "Left ADC", 166 + "ADCR", "Right ADC", 167 167 "MIC2", "Microphone Jack"; 168 168 status = "okay"; 169 169 };
+4 -4
arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
··· 340 340 "Microphone", "Internal Microphone", 341 341 "Speaker", "Internal Speaker"; 342 342 simple-audio-card,routing = 343 - "Left DAC", "AIF1 Slot 0 Left", 344 - "Right DAC", "AIF1 Slot 0 Right", 345 - "AIF1 Slot 0 Left ADC", "Left ADC", 346 - "AIF1 Slot 0 Right ADC", "Right ADC", 343 + "Left DAC", "DACL", 344 + "Right DAC", "DACR", 345 + "ADCL", "Left ADC", 346 + "ADCR", "Right ADC", 347 347 "Headphone Jack", "HP", 348 348 "Speaker Amp INL", "LINEOUT", 349 349 "Speaker Amp INR", "LINEOUT",
+11 -9
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
··· 51 51 reg = <0>; 52 52 enable-method = "psci"; 53 53 next-level-cache = <&L2>; 54 - clocks = <&ccu 21>; 54 + clocks = <&ccu CLK_CPUX>; 55 55 clock-names = "cpu"; 56 56 #cooling-cells = <2>; 57 57 }; ··· 62 62 reg = <1>; 63 63 enable-method = "psci"; 64 64 next-level-cache = <&L2>; 65 - clocks = <&ccu 21>; 65 + clocks = <&ccu CLK_CPUX>; 66 66 clock-names = "cpu"; 67 67 #cooling-cells = <2>; 68 68 }; ··· 73 73 reg = <2>; 74 74 enable-method = "psci"; 75 75 next-level-cache = <&L2>; 76 - clocks = <&ccu 21>; 76 + clocks = <&ccu CLK_CPUX>; 77 77 clock-names = "cpu"; 78 78 #cooling-cells = <2>; 79 79 }; ··· 84 84 reg = <3>; 85 85 enable-method = "psci"; 86 86 next-level-cache = <&L2>; 87 - clocks = <&ccu 21>; 87 + clocks = <&ccu CLK_CPUX>; 88 88 clock-names = "cpu"; 89 89 #cooling-cells = <2>; 90 90 }; ··· 139 139 simple-audio-card,mclk-fs = <128>; 140 140 simple-audio-card,aux-devs = <&codec_analog>; 141 141 simple-audio-card,routing = 142 - "Left DAC", "AIF1 Slot 0 Left", 143 - "Right DAC", "AIF1 Slot 0 Right", 144 - "AIF1 Slot 0 Left ADC", "Left ADC", 145 - "AIF1 Slot 0 Right ADC", "Right ADC"; 142 + "Left DAC", "DACL", 143 + "Right DAC", "DACR", 144 + "ADCL", "Left ADC", 145 + "ADCR", "Right ADC"; 146 146 status = "disabled"; 147 147 148 148 cpudai: simple-audio-card,cpu { ··· 157 157 timer { 158 158 compatible = "arm,armv8-timer"; 159 159 allwinner,erratum-unknown1; 160 + arm,no-tick-in-suspend; 160 161 interrupts = <GIC_PPI 13 161 162 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 162 163 <GIC_PPI 14 ··· 861 860 862 861 codec: codec@1c22e00 { 863 862 #sound-dai-cells = <0>; 864 - compatible = "allwinner,sun8i-a33-codec"; 863 + compatible = "allwinner,sun50i-a64-codec", 864 + "allwinner,sun8i-a33-codec"; 865 865 reg = <0x01c22e00 0x600>; 866 866 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 867 867 clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>;
+1
arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
··· 67 67 68 68 timer { 69 69 compatible = "arm,armv8-timer"; 70 + arm,no-tick-in-suspend; 70 71 interrupts = <GIC_PPI 13 71 72 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 72 73 <GIC_PPI 14
+1
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
··· 90 90 91 91 timer { 92 92 compatible = "arm,armv8-timer"; 93 + arm,no-tick-in-suspend; 93 94 interrupts = <GIC_PPI 13 94 95 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 95 96 <GIC_PPI 14