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.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/dt

Allwinner DT changes for 5.4

Our usual pile of patches for the next release, which include mostly:
- More fixes thanks to the DT validation using the YAML bindings
- IR receiver support on the H6
- SPDIF support on the H6
- I2C Support on the H6
- CSI support on the A20
- RTC support on the H6
- New Boards: Lichee Zero Plus, Tanix TX6, A64-Olinuxino-eMMC

* tag 'sunxi-dt-for-5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (40 commits)
arm64: dts: allwinner: orange-pi-3: Enable WiFi
ARM: dts: sunxi: Add missing watchdog clocks
ARM: dts: sunxi: Add missing watchdog interrupts
arm64: dts: allwinner: h6: Add support for RTC and fix the clock tree
ARM: dts: sun7i: Add CSI0 controller
arm64: dts: allwinner: a64: Add A64 OlinuXino board (with eMMC)
dt-bindings: arm: sunxi: Add compatible for A64 OlinuXino with eMMC
ARM: dts: v3s: Change the timers compatible
ARM: dts: h3: Change the timers compatible
ARM: dts: a83t: Change the timers compatible
ARM: dts: a23/a33: Change the timers compatible
ARM: dts: sun6i: Add missing timers interrupts
ARM: dts: sun5i: Add missing timers interrupts
ARM: dts: sun4i: Add missing timers interrupts
dt-bindings: mfd: Convert Allwinner GPADC bindings to a schema
arm64: dts: allwinner: h6: Introduce Tanix TX6 board
dt-bindings: arm: sunxi: Add compatible for Tanix TX6 board
arm64: allwinner: h6: add I2C nodes
dt-bindings: i2c: mv64xxx: Add compatible for the H6 i2c node.
ARM: dts: sunxi: Add mdio bus sub-node to GMAC
...

Link: https://lore.kernel.org/r/d97e6252-9dd7-4cf5-a3cf-56f78b0ca455.lettre@localhost
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+937 -289
+16
Documentation/devicetree/bindings/arm/sunxi.yaml
··· 353 353 - const: licheepi,licheepi-zero 354 354 - const: allwinner,sun8i-v3s 355 355 356 + - description: Lichee Zero Plus (with S3, without eMMC/SPI Flash) 357 + items: 358 + - const: sipeed,lichee-zero-plus 359 + - const: sochip,s3 360 + - const: allwinner,sun8i-v3 361 + 356 362 - description: Linksprite PCDuino 357 363 items: 358 364 - const: linksprite,a10-pcduino ··· 574 568 - const: olimex,a64-olinuxino 575 569 - const: allwinner,sun50i-a64 576 570 571 + - description: Olimex A64-OlinuXino (with eMMC) 572 + items: 573 + - const: olimex,a64-olinuxino-emmc 574 + - const: allwinner,sun50i-a64 575 + 577 576 - description: Olimex A64 Teres-I 578 577 items: 579 578 - const: olimex,a64-teres-i ··· 681 670 items: 682 671 - const: sinlinx,sina33 683 672 - const: allwinner,sun8i-a33 673 + 674 + - description: Tanix TX6 675 + items: 676 + - const: oranth,tanix-tx6 677 + - const: allwinner,sun50i-h6 684 678 685 679 - description: TBS A711 Tablet 686 680 items:
+3
Documentation/devicetree/bindings/i2c/marvell,mv64xxx-i2c.yaml
··· 26 26 - items: 27 27 - const: allwinner,sun50i-a64-i2c 28 28 - const: allwinner,sun6i-a31-i2c 29 + - items: 30 + - const: allwinner,sun50i-h6-i2c 31 + - const: allwinner,sun6i-a31-i2c 29 32 30 33 - const: marvell,mv64xxx-i2c 31 34 - const: marvell,mv78230-i2c
+43
Documentation/devicetree/bindings/iio/adc/allwinner,sun8i-a33-ths.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/iio/adc/allwinner,sun8i-a33-ths.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Allwinner A33 Thermal Sensor Device Tree Bindings 8 + 9 + maintainers: 10 + - Chen-Yu Tsai <wens@csie.org> 11 + - Maxime Ripard <maxime.ripard@bootlin.com> 12 + 13 + properties: 14 + "#io-channel-cells": 15 + const: 0 16 + 17 + "#thermal-sensor-cells": 18 + const: 0 19 + 20 + compatible: 21 + const: allwinner,sun8i-a33-ths 22 + 23 + reg: 24 + maxItems: 1 25 + 26 + required: 27 + - "#io-channel-cells" 28 + - "#thermal-sensor-cells" 29 + - compatible 30 + - reg 31 + 32 + additionalProperties: false 33 + 34 + examples: 35 + - | 36 + ths: ths@1c25000 { 37 + compatible = "allwinner,sun8i-a33-ths"; 38 + reg = <0x01c25000 0x100>; 39 + #thermal-sensor-cells = <0>; 40 + #io-channel-cells = <0>; 41 + }; 42 + 43 + ...
+76
Documentation/devicetree/bindings/mfd/allwinner,sun4i-a10-ts.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/mfd/allwinner,sun4i-a10-ts.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Allwinner A10 Resistive Touchscreen Controller Device Tree Bindings 8 + 9 + maintainers: 10 + - Chen-Yu Tsai <wens@csie.org> 11 + - Maxime Ripard <maxime.ripard@bootlin.com> 12 + 13 + properties: 14 + "#thermal-sensor-cells": 15 + const: 0 16 + 17 + compatible: 18 + enum: 19 + - allwinner,sun4i-a10-ts 20 + - allwinner,sun5i-a13-ts 21 + - allwinner,sun6i-a31-ts 22 + 23 + reg: 24 + maxItems: 1 25 + 26 + interrupts: 27 + maxItems: 1 28 + 29 + allwinner,ts-attached: 30 + $ref: /schemas/types.yaml#/definitions/flag 31 + description: A touchscreen is attached to the controller 32 + 33 + allwinner,tp-sensitive-adjust: 34 + allOf: 35 + - $ref: /schemas/types.yaml#/definitions/uint32 36 + - minimum: 0 37 + maximum: 15 38 + default: 15 39 + description: Sensitivity of pen down detection 40 + 41 + allwinner,filter-type: 42 + allOf: 43 + - $ref: /schemas/types.yaml#/definitions/uint32 44 + - minimum: 0 45 + maximum: 3 46 + default: 1 47 + description: | 48 + Select median and averaging filter. Sample used for median / 49 + averaging filter: 50 + 0: 4/2 51 + 1: 5/3 52 + 2: 8/4 53 + 3: 16/8 54 + 55 + required: 56 + - "#thermal-sensor-cells" 57 + - compatible 58 + - reg 59 + - interrupts 60 + 61 + additionalProperties: false 62 + 63 + examples: 64 + - | 65 + rtp: rtp@1c25000 { 66 + compatible = "allwinner,sun4i-a10-ts"; 67 + reg = <0x01c25000 0x100>; 68 + interrupts = <29>; 69 + allwinner,ts-attached; 70 + #thermal-sensor-cells = <0>; 71 + /* sensitive/noisy touch panel */ 72 + allwinner,tp-sensitive-adjust = <0>; 73 + allwinner,filter-type = <3>; 74 + }; 75 + 76 + ...
-59
Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
··· 1 - Allwinner SoCs' GPADC Device Tree bindings 2 - ------------------------------------------ 3 - The Allwinner SoCs all have an ADC that can also act as a thermal sensor 4 - and sometimes as a touchscreen controller. 5 - 6 - Required properties: 7 - - compatible: "allwinner,sun8i-a33-ths", 8 - - reg: mmio address range of the chip, 9 - - #thermal-sensor-cells: shall be 0, 10 - - #io-channel-cells: shall be 0, 11 - 12 - Example: 13 - ths: ths@1c25000 { 14 - compatible = "allwinner,sun8i-a33-ths"; 15 - reg = <0x01c25000 0x100>; 16 - #thermal-sensor-cells = <0>; 17 - #io-channel-cells = <0>; 18 - }; 19 - 20 - sun4i, sun5i and sun6i SoCs are also supported via the older binding: 21 - 22 - sun4i resistive touchscreen controller 23 - -------------------------------------- 24 - 25 - Required properties: 26 - - compatible: "allwinner,sun4i-a10-ts", "allwinner,sun5i-a13-ts" or 27 - "allwinner,sun6i-a31-ts" 28 - - reg: mmio address range of the chip 29 - - interrupts: interrupt to which the chip is connected 30 - - #thermal-sensor-cells: shall be 0 31 - 32 - Optional properties: 33 - - allwinner,ts-attached : boolean indicating that an actual touchscreen 34 - is attached to the controller 35 - - allwinner,tp-sensitive-adjust : integer (4 bits) 36 - adjust sensitivity of pen down detection 37 - between 0 (least sensitive) and 15 38 - (defaults to 15) 39 - - allwinner,filter-type : integer (2 bits) 40 - select median and averaging filter 41 - samples used for median / averaging filter 42 - 0: 4/2 43 - 1: 5/3 44 - 2: 8/4 45 - 3: 16/8 46 - (defaults to 1) 47 - 48 - Example: 49 - 50 - rtp: rtp@1c25000 { 51 - compatible = "allwinner,sun4i-a10-ts"; 52 - reg = <0x01c25000 0x100>; 53 - interrupts = <29>; 54 - allwinner,ts-attached; 55 - #thermal-sensor-cells = <0>; 56 - /* sensitive/noisy touch panel */ 57 - allwinner,tp-sensitive-adjust = <0>; 58 - allwinner,filter-type = <3>; 59 - };
+1
arch/arm/boot/dts/Makefile
··· 1117 1117 sun8i-r16-nintendo-super-nes-classic.dtb \ 1118 1118 sun8i-r16-parrot.dtb \ 1119 1119 sun8i-r40-bananapi-m2-ultra.dtb \ 1120 + sun8i-s3-lichee-zero-plus.dtb \ 1120 1121 sun8i-t3-cqa3t-bv3.dtb \ 1121 1122 sun8i-v3s-licheepi-zero.dtb \ 1122 1123 sun8i-v3s-licheepi-zero-dock.dtb \
+1 -1
arch/arm/boot/dts/sun4i-a10-a1000.dts
··· 125 125 }; 126 126 127 127 &emac { 128 - phy = <&phy1>; 128 + phy-handle = <&phy1>; 129 129 status = "okay"; 130 130 }; 131 131
+1 -1
arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts
··· 68 68 }; 69 69 70 70 &emac { 71 - phy = <&phy1>; 71 + phy-handle = <&phy1>; 72 72 status = "okay"; 73 73 }; 74 74
+1 -1
arch/arm/boot/dts/sun4i-a10-cubieboard.dts
··· 114 114 }; 115 115 116 116 &emac { 117 - phy = <&phy1>; 117 + phy-handle = <&phy1>; 118 118 status = "okay"; 119 119 }; 120 120
+1 -1
arch/arm/boot/dts/sun4i-a10-hackberry.dts
··· 80 80 }; 81 81 82 82 &emac { 83 - phy = <&phy0>; 83 + phy-handle = <&phy0>; 84 84 status = "okay"; 85 85 }; 86 86
+1 -1
arch/arm/boot/dts/sun4i-a10-itead-iteaduino-plus.dts
··· 58 58 &emac { 59 59 pinctrl-names = "default"; 60 60 pinctrl-0 = <&emac_pins>; 61 - phy = <&phy1>; 61 + phy-handle = <&phy1>; 62 62 status = "okay"; 63 63 }; 64 64
+1 -1
arch/arm/boot/dts/sun4i-a10-jesurun-q5.dts
··· 94 94 }; 95 95 96 96 &emac { 97 - phy = <&phy1>; 97 + phy-handle = <&phy1>; 98 98 status = "okay"; 99 99 }; 100 100
+1 -1
arch/arm/boot/dts/sun4i-a10-marsboard.dts
··· 105 105 }; 106 106 107 107 &emac { 108 - phy = <&phy1>; 108 + phy-handle = <&phy1>; 109 109 status = "okay"; 110 110 }; 111 111
+1 -1
arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
··· 112 112 }; 113 113 114 114 &emac { 115 - phy = <&phy1>; 115 + phy-handle = <&phy1>; 116 116 status = "okay"; 117 117 }; 118 118
+1 -1
arch/arm/boot/dts/sun4i-a10-pcduino.dts
··· 110 110 }; 111 111 112 112 &emac { 113 - phy = <&phy1>; 113 + phy-handle = <&phy1>; 114 114 status = "okay"; 115 115 }; 116 116
+8 -1
arch/arm/boot/dts/sun4i-a10.dtsi
··· 803 803 timer@1c20c00 { 804 804 compatible = "allwinner,sun4i-a10-timer"; 805 805 reg = <0x01c20c00 0x90>; 806 - interrupts = <22>; 806 + interrupts = <22>, 807 + <23>, 808 + <24>, 809 + <25>, 810 + <67>, 811 + <68>; 807 812 clocks = <&osc24M>; 808 813 }; 809 814 810 815 wdt: watchdog@1c20c90 { 811 816 compatible = "allwinner,sun4i-a10-wdt"; 812 817 reg = <0x01c20c90 0x10>; 818 + interrupts = <24>; 819 + clocks = <&osc24M>; 813 820 }; 814 821 815 822 rtc: rtc@1c20d00 {
+1 -1
arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
··· 98 98 &emac { 99 99 pinctrl-names = "default"; 100 100 pinctrl-0 = <&emac_pa_pins>; 101 - phy = <&phy1>; 101 + phy-handle = <&phy1>; 102 102 status = "okay"; 103 103 }; 104 104
+1 -1
arch/arm/boot/dts/sun5i-a10s-wobo-i5.dts
··· 91 91 &emac { 92 92 pinctrl-names = "default"; 93 93 pinctrl-0 = <&emac_pd_pins>; 94 - phy = <&phy1>; 94 + phy-handle = <&phy1>; 95 95 status = "okay"; 96 96 }; 97 97
+1 -1
arch/arm/boot/dts/sun5i-a13-q8-tablet.dts
··· 49 49 compatible = "allwinner,q8-a13", "allwinner,sun5i-a13"; 50 50 51 51 panel: panel { 52 - compatible = "bananapi,s070wv20-ct16", "simple-panel"; 52 + compatible = "bananapi,s070wv20-ct16"; 53 53 power-supply = <&reg_vcc3v3>; 54 54 enable-gpios = <&axp_gpio 0 GPIO_ACTIVE_HIGH>; /* AXP GPIO0 */ 55 55 backlight = <&backlight>;
+8 -1
arch/arm/boot/dts/sun5i.dtsi
··· 588 588 timer@1c20c00 { 589 589 compatible = "allwinner,sun4i-a10-timer"; 590 590 reg = <0x01c20c00 0x90>; 591 - interrupts = <22>; 591 + interrupts = <22>, 592 + <23>, 593 + <24>, 594 + <25>, 595 + <67>, 596 + <68>; 592 597 clocks = <&ccu CLK_HOSC>; 593 598 }; 594 599 595 600 wdt: watchdog@1c20c90 { 596 601 compatible = "allwinner,sun4i-a10-wdt"; 597 602 reg = <0x01c20c90 0x10>; 603 + interrupts = <24>; 604 + clocks = <&osc24M>; 598 605 }; 599 606 600 607 ir0: ir@1c21800 {
+7 -5
arch/arm/boot/dts/sun6i-a31-colombus.dts
··· 76 76 &gmac { 77 77 pinctrl-names = "default"; 78 78 pinctrl-0 = <&gmac_rgmii_pins>; 79 - phy = <&phy1>; 79 + phy-handle = <&phy1>; 80 80 phy-mode = "rgmii"; 81 81 status = "okay"; 82 - 83 - phy1: ethernet-phy@1 { 84 - reg = <1>; 85 - }; 86 82 }; 87 83 88 84 &i2c0 { ··· 97 101 reg = <0x1d>; 98 102 interrupt-parent = <&pio>; 99 103 interrupts = <0 9 IRQ_TYPE_LEVEL_LOW>; /* PA9 */ 104 + }; 105 + }; 106 + 107 + &mdio { 108 + phy1: ethernet-phy@1 { 109 + reg = <1>; 100 110 }; 101 111 }; 102 112
+10 -8
arch/arm/boot/dts/sun6i-a31-hummingbird.dts
··· 153 153 &gmac { 154 154 pinctrl-names = "default"; 155 155 pinctrl-0 = <&gmac_rgmii_pins>; 156 - phy = <&phy1>; 156 + phy-handle = <&phy1>; 157 157 phy-mode = "rgmii"; 158 - snps,reset-gpio = <&pio 0 21 GPIO_ACTIVE_HIGH>; 159 - snps,reset-active-low; 160 - snps,reset-delays-us = <0 10000 30000>; 161 158 status = "okay"; 162 - 163 - phy1: ethernet-phy@1 { 164 - reg = <1>; 165 - }; 166 159 }; 167 160 168 161 &hdmi { ··· 190 197 pinctrl-names = "default"; 191 198 pinctrl-0 = <&s_ir_rx_pin>; 192 199 status = "okay"; 200 + }; 201 + 202 + &mdio { 203 + phy1: ethernet-phy@1 { 204 + reg = <1>; 205 + reset-gpios = <&pio 0 21 GPIO_ACTIVE_LOW>; 206 + reset-assert-us = <10000>; 207 + reset-deassert-us = <30000>; 208 + }; 193 209 }; 194 210 195 211 &mmc0 {
+7 -5
arch/arm/boot/dts/sun6i-a31-i7.dts
··· 117 117 &gmac { 118 118 pinctrl-names = "default"; 119 119 pinctrl-0 = <&gmac_mii_pins>; 120 - phy = <&phy1>; 120 + phy-handle = <&phy1>; 121 121 phy-mode = "mii"; 122 122 status = "okay"; 123 - 124 - phy1: ethernet-phy@1 { 125 - reg = <1>; 126 - }; 127 123 }; 128 124 129 125 &hdmi { ··· 136 140 pinctrl-names = "default"; 137 141 pinctrl-0 = <&s_ir_rx_pin>; 138 142 status = "okay"; 143 + }; 144 + 145 + &mdio { 146 + phy1: ethernet-phy@1 { 147 + reg = <1>; 148 + }; 139 149 }; 140 150 141 151 &mmc0 {
+7 -5
arch/arm/boot/dts/sun6i-a31-m9.dts
··· 84 84 &gmac { 85 85 pinctrl-names = "default"; 86 86 pinctrl-0 = <&gmac_mii_pins>; 87 - phy = <&phy1>; 87 + phy-handle = <&phy1>; 88 88 phy-mode = "mii"; 89 89 phy-supply = <&reg_dldo1>; 90 90 status = "okay"; 91 - 92 - phy1: ethernet-phy@1 { 93 - reg = <1>; 94 - }; 95 91 }; 96 92 97 93 &ir { 98 94 pinctrl-names = "default"; 99 95 pinctrl-0 = <&s_ir_rx_pin>; 100 96 status = "okay"; 97 + }; 98 + 99 + &mdio { 100 + phy1: ethernet-phy@1 { 101 + reg = <1>; 102 + }; 101 103 }; 102 104 103 105 &mmc0 {
+7 -5
arch/arm/boot/dts/sun6i-a31-mele-a1000g-quad.dts
··· 84 84 &gmac { 85 85 pinctrl-names = "default"; 86 86 pinctrl-0 = <&gmac_mii_pins>; 87 - phy = <&phy1>; 87 + phy-handle = <&phy1>; 88 88 phy-mode = "mii"; 89 89 phy-supply = <&reg_dldo1>; 90 90 status = "okay"; 91 - 92 - phy1: ethernet-phy@1 { 93 - reg = <1>; 94 - }; 95 91 }; 96 92 97 93 &ir { 98 94 pinctrl-names = "default"; 99 95 pinctrl-0 = <&s_ir_rx_pin>; 100 96 status = "okay"; 97 + }; 98 + 99 + &mdio { 100 + phy1: ethernet-phy@1 { 101 + reg = <1>; 102 + }; 101 103 }; 102 104 103 105 &mmc0 {
+11 -4
arch/arm/boot/dts/sun6i-a31.dtsi
··· 736 736 <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 737 737 <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>, 738 738 <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>, 739 - <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 739 + <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>, 740 + <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 740 741 clocks = <&osc24M>; 741 742 }; 742 743 743 744 wdt1: watchdog@1c20ca0 { 744 745 compatible = "allwinner,sun6i-a31-wdt"; 745 746 reg = <0x01c20ca0 0x20>; 747 + interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 748 + clocks = <&osc24M>; 746 749 }; 747 750 748 751 spdif: spdif@1c21000 { ··· 942 939 snps,fixed-burst; 943 940 snps,force_sf_dma_mode; 944 941 status = "disabled"; 945 - #address-cells = <1>; 946 - #size-cells = <0>; 942 + 943 + mdio: mdio { 944 + compatible = "snps,dwmac-mdio"; 945 + #address-cells = <1>; 946 + #size-cells = <0>; 947 + }; 947 948 }; 948 949 949 950 crypto: crypto-engine@1c15000 { ··· 1371 1364 }; 1372 1365 1373 1366 ir: ir@1f02000 { 1374 - compatible = "allwinner,sun5i-a13-ir"; 1367 + compatible = "allwinner,sun6i-a31-ir"; 1375 1368 clocks = <&apb0_gates 1>, <&ir_clk>; 1376 1369 clock-names = "apb", "ir"; 1377 1370 resets = <&apb0_rst 1>;
+7 -4
arch/arm/boot/dts/sun6i-a31s-cs908.dts
··· 67 67 &gmac { 68 68 pinctrl-names = "default"; 69 69 pinctrl-0 = <&gmac_mii_pins>; 70 - phy = <&phy1>; 70 + phy-handle = <&phy1>; 71 71 phy-mode = "mii"; 72 72 status = "okay"; 73 - phy1: ethernet-phy@1 { 74 - reg = <1>; 75 - }; 76 73 }; 77 74 78 75 &ir { 79 76 pinctrl-names = "default"; 80 77 pinctrl-0 = <&s_ir_rx_pin>; 81 78 status = "okay"; 79 + }; 80 + 81 + &mdio { 82 + phy1: ethernet-phy@1 { 83 + reg = <1>; 84 + }; 82 85 }; 83 86 84 87 &ohci1 {
+7 -5
arch/arm/boot/dts/sun6i-a31s-sina31s.dts
··· 115 115 &gmac { 116 116 pinctrl-names = "default"; 117 117 pinctrl-0 = <&gmac_mii_pins>; 118 - phy = <&phy1>; 118 + phy-handle = <&phy1>; 119 119 phy-mode = "mii"; 120 120 phy-supply = <&reg_dldo1>; 121 121 status = "okay"; 122 - 123 - phy1: ethernet-phy@1 { 124 - reg = <1>; 125 - }; 126 122 }; 127 123 128 124 &hdmi { ··· 153 157 linux,code = <KEY_VOLUMEDOWN>; 154 158 channel = <0>; 155 159 voltage = <349206>; 160 + }; 161 + }; 162 + 163 + &mdio { 164 + phy1: ethernet-phy@1 { 165 + reg = <1>; 156 166 }; 157 167 }; 158 168
+10 -8
arch/arm/boot/dts/sun6i-a31s-sinovoip-bpi-m2.dts
··· 92 92 &gmac { 93 93 pinctrl-names = "default"; 94 94 pinctrl-0 = <&gmac_rgmii_pins>; 95 - phy = <&phy1>; 95 + phy-handle = <&phy1>; 96 96 phy-mode = "rgmii"; 97 97 phy-supply = <&reg_dldo1>; 98 - snps,reset-gpio = <&pio 0 21 GPIO_ACTIVE_HIGH>; /* PA21 */ 99 - snps,reset-active-low; 100 - snps,reset-delays-us = <0 10000 30000>; 101 98 status = "okay"; 102 - 103 - phy1: ethernet-phy@1 { 104 - reg = <1>; 105 - }; 106 99 }; 107 100 108 101 &ir { 109 102 pinctrl-names = "default"; 110 103 pinctrl-0 = <&s_ir_rx_pin>; 111 104 status = "okay"; 105 + }; 106 + 107 + &mdio { 108 + phy1: ethernet-phy@1 { 109 + reg = <1>; 110 + reset-gpios = <&pio 0 21 GPIO_ACTIVE_LOW>; /* PA21 */ 111 + reset-assert-us = <10000>; 112 + reset-deassert-us = <30000>; 113 + }; 112 114 }; 113 115 114 116 &mmc0 {
+7 -5
arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts
··· 129 129 &gmac { 130 130 pinctrl-names = "default"; 131 131 pinctrl-0 = <&gmac_rgmii_pins>; 132 - phy = <&phy1>; 132 + phy-handle = <&phy1>; 133 133 phy-mode = "rgmii"; 134 134 phy-supply = <&reg_gmac_3v3>; 135 135 status = "okay"; 136 - 137 - phy1: ethernet-phy@1 { 138 - reg = <1>; 139 - }; 140 136 }; 141 137 142 138 &hdmi { ··· 165 169 pinctrl-names = "default"; 166 170 pinctrl-0 = <&ir0_rx_pin>; 167 171 status = "okay"; 172 + }; 173 + 174 + &gmac_mdio { 175 + phy1: ethernet-phy@1 { 176 + reg = <1>; 177 + }; 168 178 }; 169 179 170 180 &mmc0 {
+7 -5
arch/arm/boot/dts/sun7i-a20-bananapi.dts
··· 131 131 &gmac { 132 132 pinctrl-names = "default"; 133 133 pinctrl-0 = <&gmac_rgmii_pins>; 134 - phy = <&phy1>; 134 + phy-handle = <&phy1>; 135 135 phy-mode = "rgmii"; 136 136 phy-supply = <&reg_gmac_3v3>; 137 137 status = "okay"; 138 - 139 - phy1: ethernet-phy@1 { 140 - reg = <1>; 141 - }; 142 138 }; 143 139 144 140 &hdmi { ··· 165 169 pinctrl-names = "default"; 166 170 pinctrl-0 = <&ir0_rx_pin>; 167 171 status = "okay"; 172 + }; 173 + 174 + &gmac_mdio { 175 + phy1: ethernet-phy@1 { 176 + reg = <1>; 177 + }; 168 178 }; 169 179 170 180 &mmc0 {
+7 -5
arch/arm/boot/dts/sun7i-a20-bananapro.dts
··· 109 109 &gmac { 110 110 pinctrl-names = "default"; 111 111 pinctrl-0 = <&gmac_rgmii_pins>; 112 - phy = <&phy1>; 112 + phy-handle = <&phy1>; 113 113 phy-mode = "rgmii"; 114 114 phy-supply = <&reg_gmac_3v3>; 115 115 status = "okay"; 116 - 117 - phy1: ethernet-phy@1 { 118 - reg = <1>; 119 - }; 120 116 }; 121 117 122 118 &i2c0 { ··· 137 141 pinctrl-names = "default"; 138 142 pinctrl-0 = <&ir0_rx_pin>; 139 143 status = "okay"; 144 + }; 145 + 146 + &gmac_mdio { 147 + phy1: ethernet-phy@1 { 148 + reg = <1>; 149 + }; 140 150 }; 141 151 142 152 &mmc0 {
+7 -5
arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
··· 115 115 &gmac { 116 116 pinctrl-names = "default"; 117 117 pinctrl-0 = <&gmac_mii_pins>; 118 - phy = <&phy1>; 118 + phy-handle = <&phy1>; 119 119 phy-mode = "mii"; 120 120 status = "okay"; 121 - 122 - phy1: ethernet-phy@1 { 123 - reg = <1>; 124 - }; 125 121 }; 126 122 127 123 &hdmi { ··· 155 159 bus-width = <4>; 156 160 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */ 157 161 status = "okay"; 162 + }; 163 + 164 + &gmac_mdio { 165 + phy1: ethernet-phy@1 { 166 + reg = <1>; 167 + }; 158 168 }; 159 169 160 170 &ohci0 {
+7 -5
arch/arm/boot/dts/sun7i-a20-cubietruck.dts
··· 150 150 &gmac { 151 151 pinctrl-names = "default"; 152 152 pinctrl-0 = <&gmac_rgmii_pins>; 153 - phy = <&phy1>; 153 + phy-handle = <&phy1>; 154 154 phy-mode = "rgmii"; 155 155 status = "okay"; 156 - 157 - phy1: ethernet-phy@1 { 158 - reg = <1>; 159 - }; 160 156 }; 161 157 162 158 &hdmi { ··· 188 192 pinctrl-names = "default"; 189 193 pinctrl-0 = <&ir0_rx_pin>; 190 194 status = "okay"; 195 + }; 196 + 197 + &gmac_mdio { 198 + phy1: ethernet-phy@1 { 199 + reg = <1>; 200 + }; 191 201 }; 192 202 193 203 &mmc0 {
+11 -10
arch/arm/boot/dts/sun7i-a20-hummingbird.dts
··· 100 100 &gmac { 101 101 pinctrl-names = "default"; 102 102 pinctrl-0 = <&gmac_rgmii_pins>; 103 - phy = <&phy1>; 103 + phy-handle = <&phy1>; 104 104 phy-mode = "rgmii"; 105 105 phy-supply = <&reg_gmac_vdd>; 106 - /* phy reset config */ 107 - snps,reset-gpio = <&pio 0 17 GPIO_ACTIVE_HIGH>; /* PA17 */ 108 - snps,reset-active-low; 109 - /* wait 1s after reset, otherwise fail to read phy id */ 110 - snps,reset-delays-us = <0 10000 1000000>; 111 106 status = "okay"; 112 - 113 - phy1: ethernet-phy@1 { 114 - reg = <1>; 115 - }; 116 107 }; 117 108 118 109 &i2c0 { ··· 135 144 pinctrl-names = "default"; 136 145 pinctrl-0 = <&ir0_rx_pin>; 137 146 status = "okay"; 147 + }; 148 + 149 + &gmac_mdio { 150 + phy1: ethernet-phy@1 { 151 + reg = <1>; 152 + reset-gpios = <&pio 0 17 GPIO_ACTIVE_LOW>; /* PA17 */ 153 + reset-assert-us = <10000>; 154 + /* wait 1s after reset, otherwise fail to read phy id */ 155 + reset-deassert-us = <1000000>; 156 + }; 138 157 }; 139 158 140 159 &mmc0 {
+7 -5
arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts
··· 115 115 &gmac { 116 116 pinctrl-names = "default"; 117 117 pinctrl-0 = <&gmac_mii_pins>; 118 - phy = <&phy1>; 118 + phy-handle = <&phy1>; 119 119 phy-mode = "mii"; 120 120 phy-supply = <&reg_gmac_3v3>; 121 121 status = "okay"; 122 - 123 - phy1: ethernet-phy@1 { 124 - reg = <1>; 125 - }; 126 122 }; 127 123 128 124 &i2c0 { ··· 139 143 pinctrl-names = "default"; 140 144 pinctrl-0 = <&ir0_rx_pin>; 141 145 status = "okay"; 146 + }; 147 + 148 + &gmac_mdio { 149 + phy1: ethernet-phy@1 { 150 + reg = <1>; 151 + }; 142 152 }; 143 153 144 154 &mmc0 {
+7 -5
arch/arm/boot/dts/sun7i-a20-icnova-swac.dts
··· 76 76 &gmac { 77 77 pinctrl-names = "default"; 78 78 pinctrl-0 = <&gmac_mii_pins>; 79 - phy = <&phy1>; 79 + phy-handle = <&phy1>; 80 80 phy-mode = "mii"; 81 81 status = "okay"; 82 - 83 - phy1: ethernet-phy@1 { 84 - reg = <1>; 85 - }; 86 82 }; 87 83 88 84 &i2c0 { ··· 93 97 94 98 &i2c1 { 95 99 status = "okay"; 100 + }; 101 + 102 + &gmac_mdio { 103 + phy1: ethernet-phy@1 { 104 + reg = <1>; 105 + }; 96 106 }; 97 107 98 108 &mmc0 {
+3 -1
arch/arm/boot/dts/sun7i-a20-itead-ibox.dts
··· 97 97 &gmac { 98 98 pinctrl-names = "default"; 99 99 pinctrl-0 = <&gmac_mii_pins>; 100 - phy = <&phy1>; 100 + phy-handle = <&phy1>; 101 101 phy-mode = "mii"; 102 102 status = "okay"; 103 + }; 103 104 105 + &gmac_mdio { 104 106 phy1: ethernet-phy@1 { 105 107 reg = <1>; 106 108 };
-2
arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
··· 123 123 phy-mode = "rgmii"; 124 124 phy-supply = <&reg_gmac_3v3>; 125 125 status = "okay"; 126 - /delete-property/#address-cells; 127 - /delete-property/#size-cells; 128 126 129 127 fixed-link { 130 128 speed = <1000>;
+7 -5
arch/arm/boot/dts/sun7i-a20-m3.dts
··· 82 82 &gmac { 83 83 pinctrl-names = "default"; 84 84 pinctrl-0 = <&gmac_mii_pins>; 85 - phy = <&phy1>; 85 + phy-handle = <&phy1>; 86 86 phy-mode = "mii"; 87 87 status = "okay"; 88 - 89 - phy1: ethernet-phy@1 { 90 - reg = <1>; 91 - }; 92 88 }; 93 89 94 90 &i2c0 { ··· 105 109 pinctrl-names = "default"; 106 110 pinctrl-0 = <&ir0_rx_pin>; 107 111 status = "okay"; 112 + }; 113 + 114 + &gmac_mdio { 115 + phy1: ethernet-phy@1 { 116 + reg = <1>; 117 + }; 108 118 }; 109 119 110 120 &mmc0 {
+7 -5
arch/arm/boot/dts/sun7i-a20-olimex-som-evb.dts
··· 111 111 &gmac { 112 112 pinctrl-names = "default"; 113 113 pinctrl-0 = <&gmac_rgmii_pins>; 114 - phy = <&phy1>; 114 + phy-handle = <&phy1>; 115 115 phy-mode = "rgmii"; 116 116 status = "okay"; 117 - 118 - phy1: ethernet-phy@1 { 119 - reg = <1>; 120 - }; 121 117 }; 122 118 123 119 &hdmi { ··· 195 199 linux,code = <KEY_ENTER>; 196 200 channel = <0>; 197 201 voltage = <1400000>; 202 + }; 203 + }; 204 + 205 + &gmac_mdio { 206 + phy1: ethernet-phy@1 { 207 + reg = <1>; 198 208 }; 199 209 }; 200 210
+11 -9
arch/arm/boot/dts/sun7i-a20-olimex-som204-evb.dts
··· 105 105 &gmac { 106 106 pinctrl-names = "default"; 107 107 pinctrl-0 = <&gmac_rgmii_pins>; 108 - phy = <&phy3>; 108 + phy-handle = <&phy3>; 109 109 phy-mode = "rgmii"; 110 110 phy-supply = <&reg_vcc3v3>; 111 - 112 - snps,reset-gpio = <&pio 0 17 GPIO_ACTIVE_HIGH>; 113 - snps,reset-active-low; 114 - snps,reset-delays-us = <0 10000 1000000>; 115 111 status = "okay"; 116 - 117 - phy3: ethernet-phy@3 { 118 - reg = <3>; 119 - }; 120 112 }; 121 113 122 114 &hdmi { ··· 151 159 pinctrl-names = "default"; 152 160 pinctrl-0 = <&ir0_rx_pin>; 153 161 status = "okay"; 162 + }; 163 + 164 + &gmac_mdio { 165 + phy3: ethernet-phy@3 { 166 + reg = <3>; 167 + reset-gpios = <&pio 0 17 GPIO_ACTIVE_LOW>; /* PA17 */ 168 + reset-assert-us = <10000>; 169 + /* wait 1s after reset, otherwise fail to read phy id */ 170 + reset-deassert-us = <1000000>; 171 + }; 154 172 }; 155 173 156 174 &mmc0 {
+7 -5
arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts
··· 106 106 &gmac { 107 107 pinctrl-names = "default"; 108 108 pinctrl-0 = <&gmac_mii_pins>; 109 - phy = <&phy1>; 109 + phy-handle = <&phy1>; 110 110 phy-mode = "mii"; 111 111 status = "okay"; 112 - 113 - phy1: ethernet-phy@1 { 114 - reg = <1>; 115 - }; 116 112 }; 117 113 118 114 &hdmi { ··· 142 146 compatible = "atmel,24c16"; 143 147 reg = <0x50>; 144 148 pagesize = <16>; 149 + }; 150 + }; 151 + 152 + &gmac_mdio { 153 + phy1: ethernet-phy@1 { 154 + reg = <1>; 145 155 }; 146 156 }; 147 157
+7 -5
arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts
··· 111 111 &gmac { 112 112 pinctrl-names = "default"; 113 113 pinctrl-0 = <&gmac_rgmii_pins>; 114 - phy = <&phy1>; 114 + phy-handle = <&phy1>; 115 115 phy-mode = "rgmii"; 116 116 status = "okay"; 117 - 118 - phy1: ethernet-phy@1 { 119 - reg = <1>; 120 - }; 121 117 }; 122 118 123 119 &hdmi { ··· 148 152 149 153 &lradc { 150 154 vref-supply = <&reg_vcc3v0>; 155 + }; 156 + 157 + &gmac_mdio { 158 + phy1: ethernet-phy@1 { 159 + reg = <1>; 160 + }; 151 161 }; 152 162 153 163 &mmc0 {
+7 -5
arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
··· 118 118 &gmac { 119 119 pinctrl-names = "default"; 120 120 pinctrl-0 = <&gmac_mii_pins>, <&gmac_txerr>; 121 - phy = <&phy1>; 121 + phy-handle = <&phy1>; 122 122 phy-mode = "mii"; 123 123 status = "okay"; 124 - 125 - phy1: ethernet-phy@1 { 126 - reg = <1>; 127 - }; 128 124 }; 129 125 130 126 &hdmi { ··· 208 212 linux,code = <KEY_ENTER>; 209 213 channel = <0>; 210 214 voltage = <1398804>; 215 + }; 216 + }; 217 + 218 + &gmac_mdio { 219 + phy1: ethernet-phy@1 { 220 + reg = <1>; 211 221 }; 212 222 }; 213 223
+7 -5
arch/arm/boot/dts/sun7i-a20-orangepi-mini.dts
··· 120 120 &gmac { 121 121 pinctrl-names = "default"; 122 122 pinctrl-0 = <&gmac_rgmii_pins>; 123 - phy = <&phy1>; 123 + phy-handle = <&phy1>; 124 124 phy-mode = "rgmii"; 125 125 phy-supply = <&reg_gmac_3v3>; 126 126 status = "okay"; 127 - 128 - phy1: ethernet-phy@1 { 129 - reg = <1>; 130 - }; 131 127 }; 132 128 133 129 &hdmi { ··· 152 156 pinctrl-names = "default"; 153 157 pinctrl-0 = <&ir0_rx_pin>; 154 158 status = "okay"; 159 + }; 160 + 161 + &gmac_mdio { 162 + phy1: ethernet-phy@1 { 163 + reg = <1>; 164 + }; 155 165 }; 156 166 157 167 &mmc0 {
+7 -5
arch/arm/boot/dts/sun7i-a20-orangepi.dts
··· 96 96 &gmac { 97 97 pinctrl-names = "default"; 98 98 pinctrl-0 = <&gmac_rgmii_pins>; 99 - phy = <&phy1>; 99 + phy-handle = <&phy1>; 100 100 phy-mode = "rgmii"; 101 101 phy-supply = <&reg_gmac_3v3>; 102 102 status = "okay"; 103 - 104 - phy1: ethernet-phy@1 { 105 - reg = <1>; 106 - }; 107 103 }; 108 104 109 105 &i2c0 { ··· 118 122 pinctrl-names = "default"; 119 123 pinctrl-0 = <&ir0_rx_pin>; 120 124 status = "okay"; 125 + }; 126 + 127 + &gmac_mdio { 128 + phy1: ethernet-phy@1 { 129 + reg = <1>; 130 + }; 121 131 }; 122 132 123 133 &mmc0 {
+7 -5
arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts
··· 114 114 &gmac { 115 115 pinctrl-names = "default"; 116 116 pinctrl-0 = <&gmac_rgmii_pins>; 117 - phy = <&phy1>; 117 + phy-handle = <&phy1>; 118 118 phy-mode = "rgmii"; 119 119 status = "okay"; 120 - 121 - phy1: ethernet-phy@1 { 122 - reg = <1>; 123 - }; 124 120 }; 125 121 126 122 &hdmi { ··· 143 147 pinctrl-names = "default"; 144 148 pinctrl-0 = <&ir0_rx_pin>; 145 149 status = "okay"; 150 + }; 151 + 152 + &gmac_mdio { 153 + phy1: ethernet-phy@1 { 154 + reg = <1>; 155 + }; 146 156 }; 147 157 148 158 &mmc0 {
+7 -5
arch/arm/boot/dts/sun7i-a20-pcduino3.dts
··· 122 122 &gmac { 123 123 pinctrl-names = "default"; 124 124 pinctrl-0 = <&gmac_mii_pins>; 125 - phy = <&phy1>; 125 + phy-handle = <&phy1>; 126 126 phy-mode = "mii"; 127 127 status = "okay"; 128 - 129 - phy1: ethernet-phy@1 { 130 - reg = <1>; 131 - }; 132 128 }; 133 129 134 130 &i2c0 { ··· 143 147 pinctrl-names = "default"; 144 148 pinctrl-0 = <&ir0_rx_pin>; 145 149 status = "okay"; 150 + }; 151 + 152 + &gmac_mdio { 153 + phy1: ethernet-phy@1 { 154 + reg = <1>; 155 + }; 146 156 }; 147 157 148 158 &mmc0 {
+7 -5
arch/arm/boot/dts/sun7i-a20-wits-pro-a20-dkt.dts
··· 81 81 &gmac { 82 82 pinctrl-names = "default"; 83 83 pinctrl-0 = <&gmac_rgmii_pins>; 84 - phy = <&phy1>; 84 + phy-handle = <&phy1>; 85 85 phy-mode = "rgmii"; 86 86 status = "okay"; 87 - 88 - phy1: ethernet-phy@1 { 89 - reg = <1>; 90 - }; 91 87 }; 92 88 93 89 &i2c0 { ··· 105 109 }; 106 110 107 111 #include "axp209.dtsi" 112 + 113 + &gmac_mdio { 114 + phy1: ethernet-phy@1 { 115 + reg = <1>; 116 + }; 117 + }; 108 118 109 119 &mmc0 { 110 120 vmmc-supply = <&reg_vcc3v3>;
+33 -2
arch/arm/boot/dts/sun7i-a20.dtsi
··· 376 376 num-cs = <1>; 377 377 }; 378 378 379 + csi0: csi@1c09000 { 380 + compatible = "allwinner,sun7i-a20-csi0"; 381 + reg = <0x01c09000 0x1000>; 382 + interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 383 + clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI0>, 384 + <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>; 385 + clock-names = "bus", "mod", "isp", "ram"; 386 + resets = <&ccu RST_CSI0>; 387 + status = "disabled"; 388 + }; 389 + 379 390 emac: ethernet@1c0b000 { 380 391 compatible = "allwinner,sun4i-a10-emac"; 381 392 reg = <0x01c0b000 0x1000>; ··· 786 775 }; 787 776 788 777 /omit-if-no-ref/ 778 + csi0_8bits_pins: csi-8bits-pins { 779 + pins = "PE0", "PE2", "PE3", "PE4", "PE5", 780 + "PE6", "PE7", "PE8", "PE9", "PE10", 781 + "PE11"; 782 + function = "csi0"; 783 + }; 784 + 785 + /omit-if-no-ref/ 786 + csi0_clk_pin: csi-clk-pin { 787 + pins = "PE1"; 788 + function = "csi0"; 789 + }; 790 + 791 + /omit-if-no-ref/ 789 792 emac_pa_pins: emac-pa-pins { 790 793 pins = "PA0", "PA1", "PA2", 791 794 "PA3", "PA4", "PA5", "PA6", ··· 1140 1115 wdt: watchdog@1c20c90 { 1141 1116 compatible = "allwinner,sun4i-a10-wdt"; 1142 1117 reg = <0x01c20c90 0x10>; 1118 + interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 1119 + clocks = <&osc24M>; 1143 1120 }; 1144 1121 1145 1122 rtc: rtc@1c20d00 { ··· 1464 1437 snps,fixed-burst; 1465 1438 snps,force_sf_dma_mode; 1466 1439 status = "disabled"; 1467 - #address-cells = <1>; 1468 - #size-cells = <0>; 1440 + 1441 + gmac_mdio: mdio { 1442 + compatible = "snps,dwmac-mdio"; 1443 + #address-cells = <1>; 1444 + #size-cells = <0>; 1445 + }; 1469 1446 }; 1470 1447 1471 1448 hstimer@1c60000 {
+2 -1
arch/arm/boot/dts/sun8i-a23-a33.dtsi
··· 441 441 }; 442 442 443 443 timer@1c20c00 { 444 - compatible = "allwinner,sun4i-a10-timer"; 444 + compatible = "allwinner,sun8i-a23-timer"; 445 445 reg = <0x01c20c00 0xa0>; 446 446 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, 447 447 <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; ··· 452 452 compatible = "allwinner,sun6i-a31-wdt"; 453 453 reg = <0x01c20ca0 0x20>; 454 454 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 455 + clocks = <&osc24M>; 455 456 }; 456 457 457 458 pwm: pwm@1c21400 {
+1 -1
arch/arm/boot/dts/sun8i-a23-q8-tablet.dts
··· 63 63 }; 64 64 65 65 &panel { 66 - compatible = "bananapi,s070wv20-ct16", "simple-panel"; 66 + compatible = "bananapi,s070wv20-ct16"; 67 67 }; 68 68 69 69 &tcon0_out {
+25
arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.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 ··· 164 153 cpu-supply = <&reg_dcdc3>; 165 154 }; 166 155 156 + &de { 157 + status = "okay"; 158 + }; 159 + 167 160 &ehci0 { 168 161 /* GL830 USB-to-SATA bridge here */ 169 162 status = "okay"; ··· 185 170 phy-handle = <&rgmii_phy>; 186 171 phy-mode = "rgmii"; 187 172 status = "okay"; 173 + }; 174 + 175 + &hdmi { 176 + status = "okay"; 177 + }; 178 + 179 + &hdmi_out { 180 + hdmi_out_con: endpoint { 181 + remote-endpoint = <&hdmi_con_in>; 182 + }; 188 183 }; 189 184 190 185 &mdio {
+7 -7
arch/arm/boot/dts/sun8i-a83t.dtsi
··· 314 314 display_clocks: clock@1000000 { 315 315 compatible = "allwinner,sun8i-a83t-de2-clk"; 316 316 reg = <0x01000000 0x100000>; 317 - clocks = <&ccu CLK_PLL_DE>, 318 - <&ccu CLK_BUS_DE>; 319 - clock-names = "mod", 320 - "bus"; 317 + clocks = <&ccu CLK_BUS_DE>, 318 + <&ccu CLK_PLL_DE>; 319 + clock-names = "bus", 320 + "mod"; 321 321 resets = <&ccu RST_BUS_DE>; 322 322 #clock-cells = <1>; 323 323 #reset-cells = <1>; ··· 806 806 }; 807 807 808 808 timer@1c20c00 { 809 - compatible = "allwinner,sun4i-a10-timer"; 809 + compatible = "allwinner,sun8i-a23-timer"; 810 810 reg = <0x01c20c00 0xa0>; 811 811 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, 812 812 <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; ··· 1037 1037 resets = <&ccu RST_BUS_HDMI1>; 1038 1038 reset-names = "ctrl"; 1039 1039 phys = <&hdmi_phy>; 1040 - phy-names = "hdmi-phy"; 1040 + phy-names = "phy"; 1041 1041 pinctrl-names = "default"; 1042 1042 pinctrl-0 = <&hdmi_pins>; 1043 1043 status = "disabled"; ··· 1096 1096 1097 1097 r_cir: ir@1f02000 { 1098 1098 compatible = "allwinner,sun8i-a83t-ir", 1099 - "allwinner,sun5i-a13-ir"; 1099 + "allwinner,sun6i-a31-ir"; 1100 1100 clocks = <&r_ccu CLK_APB0_IR>, <&r_ccu CLK_IR>; 1101 1101 clock-names = "apb", "ir"; 1102 1102 resets = <&r_ccu RST_APB0_IR>;
+7 -5
arch/arm/boot/dts/sun8i-r40.dtsi
··· 119 119 compatible = "allwinner,sun8i-r40-de2-clk", 120 120 "allwinner,sun8i-h3-de2-clk"; 121 121 reg = <0x01000000 0x100000>; 122 - clocks = <&ccu CLK_DE>, 123 - <&ccu CLK_BUS_DE>; 124 - clock-names = "mod", 125 - "bus"; 122 + clocks = <&ccu CLK_BUS_DE>, 123 + <&ccu CLK_DE>; 124 + clock-names = "bus", 125 + "mod"; 126 126 resets = <&ccu RST_BUS_DE>; 127 127 #clock-cells = <1>; 128 128 #reset-cells = <1>; ··· 404 404 wdt: watchdog@1c20c90 { 405 405 compatible = "allwinner,sun4i-a10-wdt"; 406 406 reg = <0x01c20c90 0x10>; 407 + interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 408 + clocks = <&osc24M>; 407 409 }; 408 410 409 411 uart0: serial@1c28000 { ··· 810 808 resets = <&ccu RST_BUS_HDMI1>; 811 809 reset-names = "ctrl"; 812 810 phys = <&hdmi_phy>; 813 - phy-names = "hdmi-phy"; 811 + phy-names = "phy"; 814 812 status = "disabled"; 815 813 816 814 ports {
+53
arch/arm/boot/dts/sun8i-s3-lichee-zero-plus.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.io> 4 + */ 5 + 6 + /dts-v1/; 7 + #include "sun8i-v3.dtsi" 8 + 9 + #include <dt-bindings/gpio/gpio.h> 10 + 11 + / { 12 + model = "Sipeed Lichee Zero Plus"; 13 + compatible = "sipeed,lichee-zero-plus", "sochip,s3", 14 + "allwinner,sun8i-v3"; 15 + 16 + aliases { 17 + serial0 = &uart0; 18 + }; 19 + 20 + chosen { 21 + stdout-path = "serial0:115200n8"; 22 + }; 23 + 24 + reg_vcc3v3: vcc3v3 { 25 + compatible = "regulator-fixed"; 26 + regulator-name = "vcc3v3"; 27 + regulator-min-microvolt = <3300000>; 28 + regulator-max-microvolt = <3300000>; 29 + }; 30 + }; 31 + 32 + &mmc0 { 33 + broken-cd; 34 + bus-width = <4>; 35 + vmmc-supply = <&reg_vcc3v3>; 36 + status = "okay"; 37 + }; 38 + 39 + &uart0 { 40 + pinctrl-0 = <&uart0_pb_pins>; 41 + pinctrl-names = "default"; 42 + status = "okay"; 43 + }; 44 + 45 + &usb_otg { 46 + dr_mode = "peripheral"; 47 + status = "okay"; 48 + }; 49 + 50 + &usbphy { 51 + usb0_id_det-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; 52 + status = "okay"; 53 + };
+14
arch/arm/boot/dts/sun8i-v3.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (C) 2019 Icenowy Zheng <icenowy@aosc.io> 4 + */ 5 + 6 + #include "sun8i-v3s.dtsi" 7 + 8 + &ccu { 9 + compatible = "allwinner,sun8i-v3-ccu"; 10 + }; 11 + 12 + &pio { 13 + compatible = "allwinner,sun8i-v3-pinctrl"; 14 + };
+8 -6
arch/arm/boot/dts/sun8i-v3s.dtsi
··· 106 106 display_clocks: clock@1000000 { 107 107 compatible = "allwinner,sun8i-v3s-de2-clk"; 108 108 reg = <0x01000000 0x100000>; 109 - clocks = <&ccu CLK_DE>, 110 - <&ccu CLK_BUS_DE>; 111 - clock-names = "mod", 112 - "bus"; 109 + clocks = <&ccu CLK_BUS_DE>, 110 + <&ccu CLK_DE>; 111 + clock-names = "bus", 112 + "mod"; 113 113 resets = <&ccu RST_BUS_DE>; 114 114 #clock-cells = <1>; 115 115 #reset-cells = <1>; ··· 327 327 }; 328 328 329 329 timer@1c20c00 { 330 - compatible = "allwinner,sun4i-a10-timer"; 330 + compatible = "allwinner,sun8i-v3s-timer"; 331 331 reg = <0x01c20c00 0xa0>; 332 332 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, 333 - <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 333 + <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 334 + <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 334 335 clocks = <&osc24M>; 335 336 }; 336 337 ··· 339 338 compatible = "allwinner,sun6i-a31-wdt"; 340 339 reg = <0x01c20ca0 0x20>; 341 340 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 341 + clocks = <&osc24M>; 342 342 }; 343 343 344 344 lradc: lradc@1c22800 {
+7 -5
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
··· 128 128 &gmac { 129 129 pinctrl-names = "default"; 130 130 pinctrl-0 = <&gmac_rgmii_pins>; 131 - phy = <&phy1>; 131 + phy-handle = <&phy1>; 132 132 phy-mode = "rgmii"; 133 133 phy-supply = <&reg_cldo1>; 134 134 status = "okay"; 135 - 136 - phy1: ethernet-phy@1 { 137 - reg = <1>; 138 - }; 139 135 }; 140 136 141 137 &i2c3 { 142 138 pinctrl-names = "default"; 143 139 pinctrl-0 = <&i2c3_pins>; 144 140 status = "okay"; 141 + }; 142 + 143 + &mdio { 144 + phy1: ethernet-phy@1 { 145 + reg = <1>; 146 + }; 145 147 }; 146 148 147 149 &mmc0 {
+3 -1
arch/arm/boot/dts/sun9i-a80-optimus.dts
··· 123 123 &gmac { 124 124 pinctrl-names = "default"; 125 125 pinctrl-0 = <&gmac_rgmii_pins>; 126 - phy = <&phy1>; 126 + phy-handle = <&phy1>; 127 127 phy-mode = "rgmii"; 128 128 phy-supply = <&reg_cldo1>; 129 129 status = "okay"; 130 + }; 130 131 132 + &mdio { 131 133 phy1: ethernet-phy@1 { 132 134 reg = <1>; 133 135 };
+7 -3
arch/arm/boot/dts/sun9i-a80.dtsi
··· 331 331 snps,fixed-burst; 332 332 snps,force_sf_dma_mode; 333 333 status = "disabled"; 334 - #address-cells = <1>; 335 - #size-cells = <0>; 334 + 335 + mdio: mdio { 336 + compatible = "snps,dwmac-mdio"; 337 + #address-cells = <1>; 338 + #size-cells = <0>; 339 + }; 336 340 }; 337 341 338 342 ehci0: usb@a00000 { ··· 1171 1167 }; 1172 1168 1173 1169 r_ir: ir@8002000 { 1174 - compatible = "allwinner,sun5i-a13-ir"; 1170 + compatible = "allwinner,sun6i-a31-ir"; 1175 1171 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 1176 1172 pinctrl-names = "default"; 1177 1173 pinctrl-0 = <&r_ir_pins>;
+8 -7
arch/arm/boot/dts/sunxi-h3-h5.dtsi
··· 114 114 display_clocks: clock@1000000 { 115 115 /* compatible is in per SoC .dtsi file */ 116 116 reg = <0x01000000 0x100000>; 117 - clocks = <&ccu CLK_DE>, 118 - <&ccu CLK_BUS_DE>; 119 - clock-names = "mod", 120 - "bus"; 117 + clocks = <&ccu CLK_BUS_DE>, 118 + <&ccu CLK_DE>; 119 + clock-names = "bus", 120 + "mod"; 121 121 resets = <&ccu RST_BUS_DE>; 122 122 #clock-cells = <1>; 123 123 #reset-cells = <1>; ··· 484 484 }; 485 485 486 486 timer@1c20c00 { 487 - compatible = "allwinner,sun4i-a10-timer"; 487 + compatible = "allwinner,sun8i-a23-timer"; 488 488 reg = <0x01c20c00 0xa0>; 489 489 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, 490 490 <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; ··· 574 574 compatible = "allwinner,sun6i-a31-wdt"; 575 575 reg = <0x01c20ca0 0x20>; 576 576 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 577 + clocks = <&osc24M>; 577 578 }; 578 579 579 580 spdif: spdif@1c21000 { ··· 766 765 resets = <&ccu RST_BUS_HDMI1>; 767 766 reset-names = "ctrl"; 768 767 phys = <&hdmi_phy>; 769 - phy-names = "hdmi-phy"; 768 + phy-names = "phy"; 770 769 status = "disabled"; 771 770 772 771 ports { ··· 823 822 }; 824 823 825 824 ir: ir@1f02000 { 826 - compatible = "allwinner,sun5i-a13-ir"; 825 + compatible = "allwinner,sun6i-a31-ir"; 827 826 clocks = <&r_ccu CLK_APB0_IR>, <&r_ccu CLK_IR>; 828 827 clock-names = "apb", "ir"; 829 828 resets = <&r_ccu RST_APB0_IR>;
+2
arch/arm64/boot/dts/allwinner/Makefile
··· 4 4 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-nanopi-a64.dtb 5 5 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-oceanic-5205-5inmfd.dtb 6 6 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-olinuxino.dtb 7 + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-olinuxino-emmc.dtb 7 8 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb 8 9 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-lts.dtb 9 10 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb ··· 26 25 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-lite2.dtb 27 26 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-one-plus.dtb 28 27 dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64.dtb 28 + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6.dtb
+23
arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 + /* 3 + * Copyright (C) 2018 Martin Ayotte <martinayotte@gmail.com> 4 + * Copyright (C) 2019 Sunil Mohan Adapa <sunil@medhas.org> 5 + */ 6 + 7 + #include "sun50i-a64-olinuxino.dts" 8 + 9 + / { 10 + model = "Olimex A64-Olinuxino-eMMC"; 11 + compatible = "olimex,a64-olinuxino-emmc", "allwinner,sun50i-a64"; 12 + }; 13 + 14 + &mmc2 { 15 + pinctrl-names = "default"; 16 + pinctrl-0 = <&mmc2_pins>; 17 + vmmc-supply = <&reg_dcdc1>; 18 + vqmmc-supply = <&reg_dcdc1>; 19 + bus-width = <8>; 20 + non-removable; 21 + cap-mmc-hw-reset; 22 + status = "okay"; 23 + };
+4
arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
··· 190 190 status = "okay"; 191 191 }; 192 192 193 + &r_ir { 194 + status = "okay"; 195 + }; 196 + 193 197 &r_rsb { 194 198 status = "okay"; 195 199
+24 -5
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
··· 228 228 display_clocks: clock@0 { 229 229 compatible = "allwinner,sun50i-a64-de2-clk"; 230 230 reg = <0x0 0x100000>; 231 - clocks = <&ccu CLK_DE>, 232 - <&ccu CLK_BUS_DE>; 233 - clock-names = "mod", 234 - "bus"; 231 + clocks = <&ccu CLK_BUS_DE>, 232 + <&ccu CLK_DE>; 233 + clock-names = "bus", 234 + "mod"; 235 235 resets = <&ccu RST_BUS_DE>; 236 236 #clock-cells = <1>; 237 237 #reset-cells = <1>; ··· 1015 1015 resets = <&ccu RST_BUS_HDMI1>; 1016 1016 reset-names = "ctrl"; 1017 1017 phys = <&hdmi_phy>; 1018 - phy-names = "hdmi-phy"; 1018 + phy-names = "phy"; 1019 1019 status = "disabled"; 1020 1020 1021 1021 ports { ··· 1094 1094 #size-cells = <0>; 1095 1095 }; 1096 1096 1097 + r_ir: ir@1f02000 { 1098 + compatible = "allwinner,sun50i-a64-ir", 1099 + "allwinner,sun6i-a31-ir"; 1100 + reg = <0x01f02000 0x400>; 1101 + clocks = <&r_ccu CLK_APB0_IR>, <&r_ccu CLK_IR>; 1102 + clock-names = "apb", "ir"; 1103 + resets = <&r_ccu RST_APB0_IR>; 1104 + interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 1105 + pinctrl-names = "default"; 1106 + pinctrl-0 = <&r_ir_rx_pin>; 1107 + status = "disabled"; 1108 + }; 1109 + 1097 1110 r_pwm: pwm@1f03800 { 1098 1111 compatible = "allwinner,sun50i-a64-pwm", 1099 1112 "allwinner,sun5i-a13-pwm"; ··· 1132 1119 r_i2c_pl89_pins: r-i2c-pl89-pins { 1133 1120 pins = "PL8", "PL9"; 1134 1121 function = "s_i2c"; 1122 + }; 1123 + 1124 + r_ir_rx_pin: r-ir-rx-pin { 1125 + pins = "PL11"; 1126 + function = "s_cir_rx"; 1135 1127 }; 1136 1128 1137 1129 r_pwm_pin: r-pwm-pin { ··· 1169 1151 "allwinner,sun6i-a31-wdt"; 1170 1152 reg = <0x01c20ca0 0x20>; 1171 1153 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 1154 + clocks = <&osc24M>; 1172 1155 }; 1173 1156 }; 1174 1157 };
+72
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
··· 21 21 stdout-path = "serial0:115200n8"; 22 22 }; 23 23 24 + connector { 25 + compatible = "hdmi-connector"; 26 + ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ 27 + type = "a"; 28 + 29 + port { 30 + hdmi_con_in: endpoint { 31 + remote-endpoint = <&hdmi_out_con>; 32 + }; 33 + }; 34 + }; 35 + 24 36 leds { 25 37 compatible = "gpio-leds"; 26 38 ··· 56 44 regulator-max-microvolt = <5000000>; 57 45 regulator-always-on; 58 46 }; 47 + 48 + reg_vcc33_wifi: vcc33-wifi { 49 + /* Always on 3.3V regulator for WiFi and BT */ 50 + compatible = "regulator-fixed"; 51 + regulator-name = "vcc33-wifi"; 52 + regulator-min-microvolt = <3300000>; 53 + regulator-max-microvolt = <3300000>; 54 + regulator-always-on; 55 + vin-supply = <&reg_vcc5v>; 56 + }; 57 + 58 + reg_vcc_wifi_io: vcc-wifi-io { 59 + /* Always on 1.8V/300mA regulator for WiFi and BT IO */ 60 + compatible = "regulator-fixed"; 61 + regulator-name = "vcc-wifi-io"; 62 + regulator-min-microvolt = <1800000>; 63 + regulator-max-microvolt = <1800000>; 64 + regulator-always-on; 65 + vin-supply = <&reg_vcc33_wifi>; 66 + }; 67 + 68 + wifi_pwrseq: wifi-pwrseq { 69 + compatible = "mmc-pwrseq-simple"; 70 + clocks = <&rtc 1>; 71 + clock-names = "ext_clock"; 72 + reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */ 73 + post-power-on-delay-ms = <200>; 74 + }; 59 75 }; 60 76 61 77 &cpu0 { 62 78 cpu-supply = <&reg_dcdca>; 79 + }; 80 + 81 + &de { 82 + status = "okay"; 63 83 }; 64 84 65 85 &ehci0 { ··· 102 58 status = "okay"; 103 59 }; 104 60 61 + &hdmi { 62 + status = "okay"; 63 + }; 64 + 65 + &hdmi_out { 66 + hdmi_out_con: endpoint { 67 + remote-endpoint = <&hdmi_con_in>; 68 + }; 69 + }; 70 + 105 71 &mmc0 { 106 72 vmmc-supply = <&reg_cldo1>; 107 73 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 108 74 bus-width = <4>; 109 75 status = "okay"; 76 + }; 77 + 78 + &mmc1 { 79 + vmmc-supply = <&reg_vcc33_wifi>; 80 + vqmmc-supply = <&reg_vcc_wifi_io>; 81 + mmc-pwrseq = <&wifi_pwrseq>; 82 + bus-width = <4>; 83 + non-removable; 84 + status = "okay"; 85 + 86 + brcm: sdio-wifi@1 { 87 + reg = <1>; 88 + compatible = "brcm,bcm4329-fmac"; 89 + interrupt-parent = <&r_pio>; 90 + interrupts = <1 0 IRQ_TYPE_LEVEL_LOW>; /* PM0 */ 91 + interrupt-names = "host-wake"; 92 + }; 110 93 }; 111 94 112 95 &ohci0 { ··· 147 76 &pio { 148 77 vcc-pc-supply = <&reg_bldo2>; 149 78 vcc-pd-supply = <&reg_cldo1>; 79 + vcc-pg-supply = <&reg_vcc_wifi_io>; 150 80 }; 151 81 152 82 &r_i2c {
+4
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
··· 189 189 }; 190 190 }; 191 191 192 + &r_ir { 193 + status = "okay"; 194 + }; 195 + 192 196 &uart0 { 193 197 pinctrl-names = "default"; 194 198 pinctrl-0 = <&uart0_ph_pins>;
+4
arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
··· 255 255 }; 256 256 }; 257 257 258 + &r_ir { 259 + status = "okay"; 260 + }; 261 + 258 262 &r_pio { 259 263 vcc-pm-supply = <&reg_aldo1>; 260 264 };
+100
arch/arm64/boot/dts/allwinner/sun50i-h6-tanix-tx6.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ or MIT) 2 + /* 3 + * Copyright (c) 2019 Jernej Skrabec <jernej.skrabec@siol.net> 4 + */ 5 + 6 + /dts-v1/; 7 + 8 + #include "sun50i-h6.dtsi" 9 + 10 + #include <dt-bindings/gpio/gpio.h> 11 + 12 + / { 13 + model = "Tanix TX6"; 14 + compatible = "oranth,tanix-tx6", "allwinner,sun50i-h6"; 15 + 16 + aliases { 17 + serial0 = &uart0; 18 + }; 19 + 20 + chosen { 21 + stdout-path = "serial0:115200n8"; 22 + }; 23 + 24 + connector { 25 + compatible = "hdmi-connector"; 26 + ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */ 27 + type = "a"; 28 + 29 + port { 30 + hdmi_con_in: endpoint { 31 + remote-endpoint = <&hdmi_out_con>; 32 + }; 33 + }; 34 + }; 35 + 36 + reg_vcc3v3: vcc3v3 { 37 + compatible = "regulator-fixed"; 38 + regulator-name = "vcc3v3"; 39 + regulator-min-microvolt = <3300000>; 40 + regulator-max-microvolt = <3300000>; 41 + }; 42 + }; 43 + 44 + &de { 45 + status = "okay"; 46 + }; 47 + 48 + &ehci0 { 49 + status = "okay"; 50 + }; 51 + 52 + &ehci3 { 53 + status = "okay"; 54 + }; 55 + 56 + &hdmi { 57 + status = "okay"; 58 + }; 59 + 60 + &hdmi_out { 61 + hdmi_out_con: endpoint { 62 + remote-endpoint = <&hdmi_con_in>; 63 + }; 64 + }; 65 + 66 + &mmc0 { 67 + pinctrl-names = "default"; 68 + pinctrl-0 = <&mmc0_pins>; 69 + vmmc-supply = <&reg_vcc3v3>; 70 + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 71 + bus-width = <4>; 72 + status = "okay"; 73 + }; 74 + 75 + &ohci0 { 76 + status = "okay"; 77 + }; 78 + 79 + &ohci3 { 80 + status = "okay"; 81 + }; 82 + 83 + &r_ir { 84 + status = "okay"; 85 + }; 86 + 87 + &uart0 { 88 + pinctrl-names = "default"; 89 + pinctrl-0 = <&uart0_ph_pins>; 90 + status = "okay"; 91 + }; 92 + 93 + &usb2otg { 94 + dr_mode = "host"; 95 + status = "okay"; 96 + }; 97 + 98 + &usb2phy { 99 + status = "okay"; 100 + };
+118 -17
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
··· 56 56 status = "disabled"; 57 57 }; 58 58 59 - iosc: internal-osc-clk { 60 - #clock-cells = <0>; 61 - compatible = "fixed-clock"; 62 - clock-frequency = <16000000>; 63 - clock-accuracy = <300000000>; 64 - clock-output-names = "iosc"; 65 - }; 66 - 67 59 osc24M: osc24M_clk { 68 60 #clock-cells = <0>; 69 61 compatible = "fixed-clock"; ··· 63 71 clock-output-names = "osc24M"; 64 72 }; 65 73 66 - osc32k: osc32k_clk { 74 + ext_osc32k: ext_osc32k_clk { 67 75 #clock-cells = <0>; 68 76 compatible = "fixed-clock"; 69 77 clock-frequency = <32768>; 70 - clock-output-names = "osc32k"; 78 + clock-output-names = "ext_osc32k"; 71 79 }; 72 80 73 81 psci { ··· 189 197 ccu: clock@3001000 { 190 198 compatible = "allwinner,sun50i-h6-ccu"; 191 199 reg = <0x03001000 0x1000>; 192 - clocks = <&osc24M>, <&osc32k>, <&iosc>; 200 + clocks = <&osc24M>, <&rtc 0>, <&rtc 2>; 193 201 clock-names = "hosc", "losc", "iosc"; 194 202 #clock-cells = <1>; 195 203 #reset-cells = <1>; ··· 207 215 #dma-cells = <1>; 208 216 }; 209 217 210 - sid: sid@3006000 { 218 + sid: efuse@3006000 { 211 219 compatible = "allwinner,sun50i-h6-sid"; 212 220 reg = <0x03006000 0x400>; 213 221 }; ··· 217 225 "allwinner,sun6i-a31-wdt"; 218 226 reg = <0x030090a0 0x20>; 219 227 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 228 + clocks = <&osc24M>; 220 229 /* Broken on some H6 boards */ 221 230 status = "disabled"; 222 231 }; ··· 229 236 <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, 230 237 <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, 231 238 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 232 - clocks = <&ccu CLK_APB1>, <&osc24M>, <&osc32k>; 239 + clocks = <&ccu CLK_APB1>, <&osc24M>, <&rtc 0>; 233 240 clock-names = "apb", "hosc", "losc"; 234 241 gpio-controller; 235 242 #gpio-cells = <3>; ··· 247 254 hdmi_pins: hdmi-pins { 248 255 pins = "PH8", "PH9", "PH10"; 249 256 function = "hdmi"; 257 + }; 258 + 259 + i2c0_pins: i2c0-pins { 260 + pins = "PD25", "PD26"; 261 + function = "i2c0"; 262 + }; 263 + 264 + i2c1_pins: i2c1-pins { 265 + pins = "PH5", "PH6"; 266 + function = "i2c1"; 267 + }; 268 + 269 + i2c2_pins: i2c2-pins { 270 + pins = "PD23", "PD24"; 271 + function = "i2c2"; 250 272 }; 251 273 252 274 mmc0_pins: mmc0-pins { ··· 288 280 function = "mmc2"; 289 281 drive-strength = <30>; 290 282 bias-pull-up; 283 + }; 284 + 285 + spdif_tx_pin: spdif-tx-pin { 286 + pins = "PH7"; 287 + function = "spdif"; 291 288 }; 292 289 293 290 uart0_ph_pins: uart0-ph-pins { ··· 404 391 status = "disabled"; 405 392 }; 406 393 394 + i2c0: i2c@5002000 { 395 + compatible = "allwinner,sun50i-h6-i2c", 396 + "allwinner,sun6i-a31-i2c"; 397 + reg = <0x05002000 0x400>; 398 + interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 399 + clocks = <&ccu CLK_BUS_I2C0>; 400 + resets = <&ccu RST_BUS_I2C0>; 401 + pinctrl-names = "default"; 402 + pinctrl-0 = <&i2c0_pins>; 403 + status = "disabled"; 404 + #address-cells = <1>; 405 + #size-cells = <0>; 406 + }; 407 + 408 + i2c1: i2c@5002400 { 409 + compatible = "allwinner,sun50i-h6-i2c", 410 + "allwinner,sun6i-a31-i2c"; 411 + reg = <0x05002400 0x400>; 412 + interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 413 + clocks = <&ccu CLK_BUS_I2C1>; 414 + resets = <&ccu RST_BUS_I2C1>; 415 + pinctrl-names = "default"; 416 + pinctrl-0 = <&i2c1_pins>; 417 + status = "disabled"; 418 + #address-cells = <1>; 419 + #size-cells = <0>; 420 + }; 421 + 422 + i2c2: i2c@5002800 { 423 + compatible = "allwinner,sun50i-h6-i2c", 424 + "allwinner,sun6i-a31-i2c"; 425 + reg = <0x05002800 0x400>; 426 + interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 427 + clocks = <&ccu CLK_BUS_I2C2>; 428 + resets = <&ccu RST_BUS_I2C2>; 429 + pinctrl-names = "default"; 430 + pinctrl-0 = <&i2c2_pins>; 431 + status = "disabled"; 432 + #address-cells = <1>; 433 + #size-cells = <0>; 434 + }; 435 + 407 436 emac: ethernet@5020000 { 408 437 compatible = "allwinner,sun50i-h6-emac", 409 438 "allwinner,sun50i-a64-emac"; ··· 464 409 #address-cells = <1>; 465 410 #size-cells = <0>; 466 411 }; 412 + }; 413 + 414 + spdif: spdif@5093000 { 415 + #sound-dai-cells = <0>; 416 + compatible = "allwinner,sun50i-h6-spdif"; 417 + reg = <0x05093000 0x400>; 418 + interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 419 + clocks = <&ccu CLK_BUS_SPDIF>, <&ccu CLK_SPDIF>; 420 + clock-names = "apb", "spdif"; 421 + resets = <&ccu RST_BUS_SPDIF>; 422 + dmas = <&dma 2>; 423 + dma-names = "tx"; 424 + pinctrl-names = "default"; 425 + pinctrl-0 = <&spdif_tx_pin>; 426 + status = "disabled"; 467 427 }; 468 428 469 429 usb2otg: usb@5100000 { ··· 574 504 resets = <&ccu RST_BUS_HDMI_SUB>, <&ccu RST_BUS_HDCP>; 575 505 reset-names = "ctrl", "hdcp"; 576 506 phys = <&hdmi_phy>; 577 - phy-names = "hdmi-phy"; 507 + phy-names = "phy"; 578 508 pinctrl-names = "default"; 579 509 pinctrl-0 = <&hdmi_pins>; 580 510 status = "disabled"; ··· 703 633 }; 704 634 }; 705 635 636 + rtc: rtc@7000000 { 637 + compatible = "allwinner,sun50i-h6-rtc"; 638 + reg = <0x07000000 0x400>; 639 + interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, 640 + <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 641 + clock-output-names = "osc32k", "osc32k-out", "iosc"; 642 + clocks = <&ext_osc32k>; 643 + #clock-cells = <1>; 644 + }; 645 + 706 646 r_ccu: clock@7010000 { 707 647 compatible = "allwinner,sun50i-h6-r-ccu"; 708 648 reg = <0x07010000 0x400>; 709 - clocks = <&osc24M>, <&osc32k>, <&iosc>, 649 + clocks = <&osc24M>, <&rtc 0>, <&rtc 2>, 710 650 <&ccu CLK_PLL_PERIPH0>; 711 651 clock-names = "hosc", "losc", "iosc", "pll-periph"; 712 652 #clock-cells = <1>; ··· 728 648 "allwinner,sun6i-a31-wdt"; 729 649 reg = <0x07020400 0x20>; 730 650 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 651 + clocks = <&osc24M>; 731 652 }; 732 653 733 654 r_intc: interrupt-controller@7021000 { ··· 745 664 reg = <0x07022000 0x400>; 746 665 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, 747 666 <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 748 - clocks = <&r_ccu CLK_R_APB1>, <&osc24M>, <&osc32k>; 667 + clocks = <&r_ccu CLK_R_APB1>, <&osc24M>, <&rtc 0>; 749 668 clock-names = "apb", "hosc", "losc"; 750 669 gpio-controller; 751 670 #gpio-cells = <3>; ··· 756 675 pins = "PL0", "PL1"; 757 676 function = "s_i2c"; 758 677 }; 678 + 679 + r_ir_rx_pin: r-ir-rx-pin { 680 + pins = "PL9"; 681 + function = "s_cir_rx"; 682 + }; 683 + }; 684 + 685 + r_ir: ir@7040000 { 686 + compatible = "allwinner,sun50i-h6-ir", 687 + "allwinner,sun6i-a31-ir"; 688 + reg = <0x07040000 0x400>; 689 + interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 690 + clocks = <&r_ccu CLK_R_APB1_IR>, 691 + <&r_ccu CLK_IR>; 692 + clock-names = "apb", "ir"; 693 + resets = <&r_ccu RST_R_APB1_IR>; 694 + pinctrl-names = "default"; 695 + pinctrl-0 = <&r_ir_rx_pin>; 696 + status = "disabled"; 759 697 }; 760 698 761 699 r_i2c: i2c@7081400 { 762 - compatible = "allwinner,sun6i-a31-i2c"; 700 + compatible = "allwinner,sun50i-h6-i2c", 701 + "allwinner,sun6i-a31-i2c"; 763 702 reg = <0x07081400 0x400>; 764 703 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 765 704 clocks = <&r_ccu CLK_R_APB2_I2C>;