diff --git a/patch/kernel/sunxi-next/add-sunxi-overlays.patch b/patch/kernel/sunxi-next/add-sunxi-overlays.patch index a9f2de6c0..b13f53650 100644 --- a/patch/kernel/sunxi-next/add-sunxi-overlays.patch +++ b/patch/kernel/sunxi-next/add-sunxi-overlays.patch @@ -1,5 +1,5 @@ diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 4b17f35d..ff6b68e2 100644 +index 4b17f35dc..ff6b68e26 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -1062,4 +1062,7 @@ dtstree := $(srctree)/$(src) @@ -12,10 +12,10 @@ index 4b17f35d..ff6b68e2 100644 +dts-dirs += overlay diff --git a/arch/arm/boot/dts/overlay/Makefile b/arch/arm/boot/dts/overlay/Makefile new file mode 100644 -index 00000000..2285ac06 +index 000000000..f83b4bbe3 --- /dev/null +++ b/arch/arm/boot/dts/overlay/Makefile -@@ -0,0 +1,84 @@ +@@ -0,0 +1,87 @@ +ifeq ($(CONFIG_OF_CONFIGFS),y) + +dtbo-$(CONFIG_MACH_SUN4I) += \ @@ -47,6 +47,8 @@ index 00000000..2285ac06 + sun7i-a20-i2c2.dtbo \ + sun7i-a20-i2c3.dtbo \ + sun7i-a20-i2c4.dtbo \ ++ sun7i-a20-i2s0.dtbo \ ++ sun7i-a20-i2s1.dtbo \ + sun7i-a20-mmc2.dtbo \ + sun7i-a20-nand.dtbo \ + sun7i-a20-pps-gpio.dtbo \ @@ -82,6 +84,7 @@ index 00000000..2285ac06 + sun8i-h3-uart2.dtbo \ + sun8i-h3-uart3.dtbo \ + sun8i-h3-usbhost0.dtbo \ ++ sun8i-h3-usbhost1.dtbo \ + sun8i-h3-usbhost2.dtbo \ + sun8i-h3-usbhost3.dtbo \ + sun8i-h3-w1-gpio.dtbo @@ -102,10 +105,10 @@ index 00000000..2285ac06 +clean-files := *.dtbo *.scr diff --git a/arch/arm/boot/dts/overlay/README.sun4i-a10-overlays b/arch/arm/boot/dts/overlay/README.sun4i-a10-overlays new file mode 100644 -index 00000000..fd059d1d +index 000000000..e0795f13d --- /dev/null +++ b/arch/arm/boot/dts/overlay/README.sun4i-a10-overlays -@@ -0,0 +1,271 @@ +@@ -0,0 +1,278 @@ +This document describes overlays provided in the kernel packages +For generic Armbian overlays documentation please see +https://docs.armbian.com/User-Guide_Allwinner_overlays/ @@ -314,10 +317,17 @@ index 00000000..fd059d1d + +Activates serial port 3 (/dev/ttyS3) + -+UART 3 pins (TX, RX, RTS, CTS): PG6, PG7, PG8, PG9 ++UART 3 pins a (TX, RX, RTS, CTS): PG6, PG7, PG8, PG9 ++UART 3 pins b (TX, RX, RTS, CTS): PH0, PH1, PH2, PH3 + +Parameters: + ++param_uart3_pins (char) ++ Determines what pins UART 3 is exposed on ++ Optional ++ Default: a ++ Supported values: a, b ++ +param_uart3_rtscts (bool) + Enable RTS and CTS pins + Optional @@ -379,10 +389,10 @@ index 00000000..fd059d1d + please use external pull-up resistor instead diff --git a/arch/arm/boot/dts/overlay/README.sun7i-a20-overlays b/arch/arm/boot/dts/overlay/README.sun7i-a20-overlays new file mode 100644 -index 00000000..9e53a862 +index 000000000..362f87961 --- /dev/null +++ b/arch/arm/boot/dts/overlay/README.sun7i-a20-overlays -@@ -0,0 +1,327 @@ +@@ -0,0 +1,348 @@ +This document describes overlays provided in the kernel packages +For generic Armbian overlays documentation please see +https://docs.armbian.com/User-Guide_Allwinner_overlays/ @@ -409,6 +419,8 @@ index 00000000..9e53a862 +- i2c2 +- i2c3 +- i2c4 ++- i2s0 ++- i2s1 +- mmc2 +- nand +- pps-gpio @@ -466,6 +478,18 @@ index 00000000..9e53a862 + +I2C4 pins (SCL, SDA): PI2, PI3 + ++### i2s0 ++ ++Activates SoC I2S controller 0 ++ ++I2S0 pins (MCLK, BCLK, LRCK, DO0, DO1, DO2, DO3, DI): PB5, PB6, PB7, PB8, PB9, PB10, PB11, PB12 ++ ++### i2s1 ++ ++Activates SoC I2S controller 1 ++ ++I2S1 pins (MCLK, BCLK, LRCK, DO, DI): PA9, PA14, PA15, PA16, PA17 ++ +### mmc2 + +Activates SD/MMC controller 2. To be used on boards with second SD slot, eMMC @@ -647,10 +671,17 @@ index 00000000..9e53a862 + +Activates serial port 3 (/dev/ttyS3) + -+UART 3 pins (TX, RX, RTS, CTS): PG6, PG7, PG8, PG9 ++UART 3 pins a (TX, RX, RTS, CTS): PG6, PG7, PG8, PG9 ++UART 3 pins b (TX, RX, RTS, CTS): PH0, PH1, PH2, PH3 + +Parameters: + ++param_uart3_pins (char) ++ Determines what pins UART 3 is exposed on ++ Optional ++ Default: a ++ Supported values: a, b ++ +param_uart3_rtscts (bool) + Enable RTS and CTS pins + Optional @@ -712,7 +743,7 @@ index 00000000..9e53a862 + please use external pull-up resistor instead diff --git a/arch/arm/boot/dts/overlay/README.sun8i-h3-overlays b/arch/arm/boot/dts/overlay/README.sun8i-h3-overlays new file mode 100644 -index 00000000..30297349 +index 000000000..302973491 --- /dev/null +++ b/arch/arm/boot/dts/overlay/README.sun8i-h3-overlays @@ -0,0 +1,250 @@ @@ -968,7 +999,7 @@ index 00000000..30297349 + or long wires - please use external pull-up resistor instead diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-analog-codec.dts b/arch/arm/boot/dts/overlay/sun4i-a10-analog-codec.dts new file mode 100644 -index 00000000..9254e22e +index 000000000..9254e22e0 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-analog-codec.dts @@ -0,0 +1,13 @@ @@ -987,7 +1018,7 @@ index 00000000..9254e22e +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-can.dts b/arch/arm/boot/dts/overlay/sun4i-a10-can.dts new file mode 100644 -index 00000000..4be3a38b +index 000000000..4be3a38b9 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-can.dts @@ -0,0 +1,15 @@ @@ -1008,10 +1039,10 @@ index 00000000..4be3a38b +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-fixup.scr-cmd b/arch/arm/boot/dts/overlay/sun4i-a10-fixup.scr-cmd new file mode 100644 -index 00000000..69af411f +index 000000000..8dd3eeb85 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-fixup.scr-cmd -@@ -0,0 +1,109 @@ +@@ -0,0 +1,124 @@ +# overlays fixup script +# implements (or rather substitutes) overlay arguments functionality +# using u-boot scripting, environment variables and "fdt" command @@ -1107,13 +1138,28 @@ index 00000000..69af411f + env delete tmp_phandle +fi + -+if test "${param_uart3_rtscts}" = "1"; then -+ fdt get value tmp_phandle1 /soc@01c00000/pinctrl@01c20800/uart3 phandle -+ fdt get value tmp_phandle2 /soc@01c00000/pinctrl@01c20800/uart3_rts_cts phandle -+ fdt set /soc@01c00000/serial@01c28c00 pinctrl-names "default" "default" -+ fdt set /soc@01c00000/serial@01c28c00 pinctrl-0 "<${tmp_phandle1}>" -+ fdt set /soc@01c00000/serial@01c28c00 pinctrl-1 "<${tmp_phandle2}>" -+ env delete tmp_phandle1 tmp_phandle2 ++if test "${param_uart3_pins}" = "b"; then ++ if test "${param_uart3_rtscts}" = "1"; then ++ fdt get value tmp_phandle1 /soc@01c00000/pinctrl@01c20800/uart3_pins_b phandle ++ fdt get value tmp_phandle2 /soc@01c00000/pinctrl@01c20800/uart3_pins_b_rts_cts phandle ++ fdt set /soc@01c00000/serial@01c28c00 pinctrl-names "default" "default" ++ fdt set /soc@01c00000/serial@01c28c00 pinctrl-0 "<${tmp_phandle1}>" ++ fdt set /soc@01c00000/serial@01c28c00 pinctrl-1 "<${tmp_phandle2}>" ++ env delete tmp_phandle1 tmp_phandle2 ++ else ++ fdt get value tmp_phandle /soc@01c00000/pinctrl@01c20800/uart3_pins_b phandle ++ fdt set /soc@01c00000/serial@01c28c00 pinctrl-0 "<${tmp_phandle}>" ++ env delete tmp_phandle ++ fi ++else ++ if test "${param_uart3_rtscts}" = "1"; then ++ fdt get value tmp_phandle1 /soc@01c00000/pinctrl@01c20800/uart3_pins_a phandle ++ fdt get value tmp_phandle2 /soc@01c00000/pinctrl@01c20800/uart3_pins_a_rts_cts phandle ++ fdt set /soc@01c00000/serial@01c28c00 pinctrl-names "default" "default" ++ fdt set /soc@01c00000/serial@01c28c00 pinctrl-0 "<${tmp_phandle1}>" ++ fdt set /soc@01c00000/serial@01c28c00 pinctrl-1 "<${tmp_phandle2}>" ++ env delete tmp_phandle1 tmp_phandle2 ++ fi +fi + +if test "${param_uart4_pins}" = "b"; then @@ -1123,7 +1169,7 @@ index 00000000..69af411f +fi diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-i2c1.dts b/arch/arm/boot/dts/overlay/sun4i-a10-i2c1.dts new file mode 100644 -index 00000000..44a7ce9b +index 000000000..44a7ce9be --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-i2c1.dts @@ -0,0 +1,22 @@ @@ -1151,7 +1197,7 @@ index 00000000..44a7ce9b +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-i2c2.dts b/arch/arm/boot/dts/overlay/sun4i-a10-i2c2.dts new file mode 100644 -index 00000000..ab3c00fa +index 000000000..ab3c00fa0 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-i2c2.dts @@ -0,0 +1,22 @@ @@ -1179,7 +1225,7 @@ index 00000000..ab3c00fa +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-nand.dts b/arch/arm/boot/dts/overlay/sun4i-a10-nand.dts new file mode 100644 -index 00000000..f0d4c2f3 +index 000000000..f0d4c2f34 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-nand.dts @@ -0,0 +1,103 @@ @@ -1288,7 +1334,7 @@ index 00000000..f0d4c2f3 +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-pps-gpio.dts b/arch/arm/boot/dts/overlay/sun4i-a10-pps-gpio.dts new file mode 100644 -index 00000000..6031fc53 +index 000000000..6031fc53e --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-pps-gpio.dts @@ -0,0 +1,29 @@ @@ -1323,7 +1369,7 @@ index 00000000..6031fc53 +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-pwm.dts b/arch/arm/boot/dts/overlay/sun4i-a10-pwm.dts new file mode 100644 -index 00000000..1927fc52 +index 000000000..1927fc528 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-pwm.dts @@ -0,0 +1,15 @@ @@ -1344,7 +1390,7 @@ index 00000000..1927fc52 +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-spdif-out.dts b/arch/arm/boot/dts/overlay/sun4i-a10-spdif-out.dts new file mode 100644 -index 00000000..5811e474 +index 000000000..5811e4746 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-spdif-out.dts @@ -0,0 +1,38 @@ @@ -1388,7 +1434,7 @@ index 00000000..5811e474 +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-spi-jedec-nor.dts b/arch/arm/boot/dts/overlay/sun4i-a10-spi-jedec-nor.dts new file mode 100644 -index 00000000..9cf640f3 +index 000000000..9cf640f33 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-spi-jedec-nor.dts @@ -0,0 +1,57 @@ @@ -1451,7 +1497,7 @@ index 00000000..9cf640f3 +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-spi-spidev.dts b/arch/arm/boot/dts/overlay/sun4i-a10-spi-spidev.dts new file mode 100644 -index 00000000..f603d6dc +index 000000000..f603d6dc8 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-spi-spidev.dts @@ -0,0 +1,57 @@ @@ -1514,7 +1560,7 @@ index 00000000..f603d6dc +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-spi0.dts b/arch/arm/boot/dts/overlay/sun4i-a10-spi0.dts new file mode 100644 -index 00000000..04442626 +index 000000000..04442626a --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-spi0.dts @@ -0,0 +1,23 @@ @@ -1543,7 +1589,7 @@ index 00000000..04442626 +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-spi1.dts b/arch/arm/boot/dts/overlay/sun4i-a10-spi1.dts new file mode 100644 -index 00000000..3c3fcb86 +index 000000000..3c3fcb864 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-spi1.dts @@ -0,0 +1,22 @@ @@ -1571,7 +1617,7 @@ index 00000000..3c3fcb86 +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-spi2.dts b/arch/arm/boot/dts/overlay/sun4i-a10-spi2.dts new file mode 100644 -index 00000000..b38e04c3 +index 000000000..b38e04c35 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-spi2.dts @@ -0,0 +1,23 @@ @@ -1600,7 +1646,7 @@ index 00000000..b38e04c3 +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-uart2.dts b/arch/arm/boot/dts/overlay/sun4i-a10-uart2.dts new file mode 100644 -index 00000000..41ce3e67 +index 000000000..41ce3e670 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-uart2.dts @@ -0,0 +1,37 @@ @@ -1643,10 +1689,10 @@ index 00000000..41ce3e67 +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-uart3.dts b/arch/arm/boot/dts/overlay/sun4i-a10-uart3.dts new file mode 100644 -index 00000000..6da2fe73 +index 000000000..0b70a65eb --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-uart3.dts -@@ -0,0 +1,37 @@ +@@ -0,0 +1,47 @@ +/dts-v1/; +/plugin/; + @@ -1664,12 +1710,22 @@ index 00000000..6da2fe73 + target = <&pio>; + __overlay__ { + uart3_pins_a: uart3@0 { -+ pins = "PG6", "PG7", "PG8", "PG9"; ++ pins = "PG6", "PG7"; + function = "uart3"; + }; + -+ uart3_pins_a_2: uart3@1 { -+ pins = "PG6", "PG7"; ++ uart3_pins_a_rts_cts: uart3@1 { ++ pins = "PG8", "PG9"; ++ function = "uart3"; ++ }; ++ ++ uart3_pins_b: uart3@2 { ++ pins = "PH0", "PH1"; ++ function = "uart3"; ++ }; ++ ++ uart3_pins_b_rts_cts: uart3@3 { ++ pins = "PH2", "PH3"; + function = "uart3"; + }; + }; @@ -1679,14 +1735,14 @@ index 00000000..6da2fe73 + target = <&uart3>; + __overlay__ { + pinctrl-names = "default"; -+ pinctrl-0 = <&uart3_pins_a_2>; ++ pinctrl-0 = <&uart3_pins_a>; + status = "okay"; + }; + }; +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-uart4.dts b/arch/arm/boot/dts/overlay/sun4i-a10-uart4.dts new file mode 100644 -index 00000000..0677c634 +index 000000000..0677c634d --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-uart4.dts @@ -0,0 +1,37 @@ @@ -1729,7 +1785,7 @@ index 00000000..0677c634 +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-uart5.dts b/arch/arm/boot/dts/overlay/sun4i-a10-uart5.dts new file mode 100644 -index 00000000..0a3ed9b5 +index 000000000..0a3ed9b5f --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-uart5.dts @@ -0,0 +1,32 @@ @@ -1767,7 +1823,7 @@ index 00000000..0a3ed9b5 +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-uart6.dts b/arch/arm/boot/dts/overlay/sun4i-a10-uart6.dts new file mode 100644 -index 00000000..f58b4112 +index 000000000..f58b4112a --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-uart6.dts @@ -0,0 +1,32 @@ @@ -1805,7 +1861,7 @@ index 00000000..f58b4112 +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-uart7.dts b/arch/arm/boot/dts/overlay/sun4i-a10-uart7.dts new file mode 100644 -index 00000000..65d8c688 +index 000000000..65d8c6885 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-uart7.dts @@ -0,0 +1,32 @@ @@ -1843,7 +1899,7 @@ index 00000000..65d8c688 +}; diff --git a/arch/arm/boot/dts/overlay/sun4i-a10-w1-gpio.dts b/arch/arm/boot/dts/overlay/sun4i-a10-w1-gpio.dts new file mode 100644 -index 00000000..41da08c6 +index 000000000..41da08c60 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun4i-a10-w1-gpio.dts @@ -0,0 +1,29 @@ @@ -1878,7 +1934,7 @@ index 00000000..41da08c6 +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-analog-codec.dts b/arch/arm/boot/dts/overlay/sun7i-a20-analog-codec.dts new file mode 100644 -index 00000000..e1a70c51 +index 000000000..e1a70c510 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-analog-codec.dts @@ -0,0 +1,13 @@ @@ -1897,7 +1953,7 @@ index 00000000..e1a70c51 +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-can.dts b/arch/arm/boot/dts/overlay/sun7i-a20-can.dts new file mode 100644 -index 00000000..65aebcd4 +index 000000000..65aebcd41 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-can.dts @@ -0,0 +1,15 @@ @@ -1918,10 +1974,10 @@ index 00000000..65aebcd4 +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-fixup.scr-cmd b/arch/arm/boot/dts/overlay/sun7i-a20-fixup.scr-cmd new file mode 100644 -index 00000000..86028d79 +index 000000000..5a320b836 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-fixup.scr-cmd -@@ -0,0 +1,128 @@ +@@ -0,0 +1,143 @@ +# overlays fixup script +# implements (or rather substitutes) overlay arguments functionality +# using u-boot scripting, environment variables and "fdt" command @@ -2036,13 +2092,28 @@ index 00000000..86028d79 + env delete tmp_phandle +fi + -+if test "${param_uart3_rtscts}" = "1"; then -+ fdt get value tmp_phandle1 /soc@01c00000/pinctrl@01c20800/uart3 phandle -+ fdt get value tmp_phandle2 /soc@01c00000/pinctrl@01c20800/uart3_rts_cts phandle -+ fdt set /soc@01c00000/serial@01c28c00 pinctrl-names "default" "default" -+ fdt set /soc@01c00000/serial@01c28c00 pinctrl-0 "<${tmp_phandle1}>" -+ fdt set /soc@01c00000/serial@01c28c00 pinctrl-1 "<${tmp_phandle2}>" -+ env delete tmp_phandle1 tmp_phandle2 ++if test "${param_uart3_pins}" = "b"; then ++ if test "${param_uart3_rtscts}" = "1"; then ++ fdt get value tmp_phandle1 /soc@01c00000/pinctrl@01c20800/uart3_pins_b phandle ++ fdt get value tmp_phandle2 /soc@01c00000/pinctrl@01c20800/uart3_pins_b_rts_cts phandle ++ fdt set /soc@01c00000/serial@01c28c00 pinctrl-names "default" "default" ++ fdt set /soc@01c00000/serial@01c28c00 pinctrl-0 "<${tmp_phandle1}>" ++ fdt set /soc@01c00000/serial@01c28c00 pinctrl-1 "<${tmp_phandle2}>" ++ env delete tmp_phandle1 tmp_phandle2 ++ else ++ fdt get value tmp_phandle /soc@01c00000/pinctrl@01c20800/uart3_pins_b phandle ++ fdt set /soc@01c00000/serial@01c28c00 pinctrl-0 "<${tmp_phandle}>" ++ env delete tmp_phandle ++ fi ++else ++ if test "${param_uart3_rtscts}" = "1"; then ++ fdt get value tmp_phandle1 /soc@01c00000/pinctrl@01c20800/uart3_pins_a_2 phandle ++ fdt get value tmp_phandle2 /soc@01c00000/pinctrl@01c20800/uart3_pins_a_rts_cts phandle ++ fdt set /soc@01c00000/serial@01c28c00 pinctrl-names "default" "default" ++ fdt set /soc@01c00000/serial@01c28c00 pinctrl-0 "<${tmp_phandle1}>" ++ fdt set /soc@01c00000/serial@01c28c00 pinctrl-1 "<${tmp_phandle2}>" ++ env delete tmp_phandle1 tmp_phandle2 ++ fi +fi + +if test "${param_uart4_pins}" = "b"; then @@ -2052,7 +2123,7 @@ index 00000000..86028d79 +fi diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-i2c1.dts b/arch/arm/boot/dts/overlay/sun7i-a20-i2c1.dts new file mode 100644 -index 00000000..d1146ee4 +index 000000000..d1146ee4c --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-i2c1.dts @@ -0,0 +1,22 @@ @@ -2080,7 +2151,7 @@ index 00000000..d1146ee4 +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-i2c2.dts b/arch/arm/boot/dts/overlay/sun7i-a20-i2c2.dts new file mode 100644 -index 00000000..e6b32de5 +index 000000000..e6b32de59 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-i2c2.dts @@ -0,0 +1,22 @@ @@ -2108,7 +2179,7 @@ index 00000000..e6b32de5 +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-i2c3.dts b/arch/arm/boot/dts/overlay/sun7i-a20-i2c3.dts new file mode 100644 -index 00000000..5273d06c +index 000000000..5273d06c9 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-i2c3.dts @@ -0,0 +1,22 @@ @@ -2136,7 +2207,7 @@ index 00000000..5273d06c +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-i2c4.dts b/arch/arm/boot/dts/overlay/sun7i-a20-i2c4.dts new file mode 100644 -index 00000000..113a220b +index 000000000..113a220bc --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-i2c4.dts @@ -0,0 +1,32 @@ @@ -2172,9 +2243,71 @@ index 00000000..113a220b + }; + }; +}; +diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-i2s0.dts b/arch/arm/boot/dts/overlay/sun7i-a20-i2s0.dts +new file mode 100644 +index 000000000..1a19a2417 +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/sun7i-a20-i2s0.dts +@@ -0,0 +1,25 @@ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "allwinner,sun7i-a20"; ++ ++ fragment@0 { ++ target = <&pio>; ++ __overlay__ { ++ i2s0_pins: i2s0 { ++ pins = "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12"; ++ function = "i2s0"; ++ }; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&i2s0>; ++ __overlay__ { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2s0_pins>; ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-i2s1.dts b/arch/arm/boot/dts/overlay/sun7i-a20-i2s1.dts +new file mode 100644 +index 000000000..e6f0a22b7 +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/sun7i-a20-i2s1.dts +@@ -0,0 +1,25 @@ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "allwinner,sun7i-a20"; ++ ++ fragment@0 { ++ target = <&pio>; ++ __overlay__ { ++ i2s1_pins: i2s1 { ++ pins = "PA9", "PA14", "PA15", "PA16", "PA17"; ++ function = "i2s1"; ++ }; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&i2s1>; ++ __overlay__ { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2s1_pins>; ++ status = "okay"; ++ }; ++ }; ++}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-mmc2.dts b/arch/arm/boot/dts/overlay/sun7i-a20-mmc2.dts new file mode 100644 -index 00000000..f1ddbaa2 +index 000000000..f1ddbaa2c --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-mmc2.dts @@ -0,0 +1,18 @@ @@ -2198,7 +2331,7 @@ index 00000000..f1ddbaa2 +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-nand.dts b/arch/arm/boot/dts/overlay/sun7i-a20-nand.dts new file mode 100644 -index 00000000..ffa49cc6 +index 000000000..ffa49cc69 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-nand.dts @@ -0,0 +1,103 @@ @@ -2307,7 +2440,7 @@ index 00000000..ffa49cc6 +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-pps-gpio.dts b/arch/arm/boot/dts/overlay/sun7i-a20-pps-gpio.dts new file mode 100644 -index 00000000..fe3e2bd9 +index 000000000..fe3e2bd96 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-pps-gpio.dts @@ -0,0 +1,29 @@ @@ -2342,7 +2475,7 @@ index 00000000..fe3e2bd9 +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-pwm.dts b/arch/arm/boot/dts/overlay/sun7i-a20-pwm.dts new file mode 100644 -index 00000000..a0cc4695 +index 000000000..a0cc4695c --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-pwm.dts @@ -0,0 +1,15 @@ @@ -2363,7 +2496,7 @@ index 00000000..a0cc4695 +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-spdif-out.dts b/arch/arm/boot/dts/overlay/sun7i-a20-spdif-out.dts new file mode 100644 -index 00000000..7983ad0e +index 000000000..7983ad0eb --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-spdif-out.dts @@ -0,0 +1,38 @@ @@ -2407,7 +2540,7 @@ index 00000000..7983ad0e +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-spi-add-cs1.dts b/arch/arm/boot/dts/overlay/sun7i-a20-spi-add-cs1.dts new file mode 100644 -index 00000000..2de39a20 +index 000000000..2de39a20e --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-spi-add-cs1.dts @@ -0,0 +1,16 @@ @@ -2429,7 +2562,7 @@ index 00000000..2de39a20 +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-spi-jedec-nor.dts b/arch/arm/boot/dts/overlay/sun7i-a20-spi-jedec-nor.dts new file mode 100644 -index 00000000..baf59df7 +index 000000000..baf59df75 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-spi-jedec-nor.dts @@ -0,0 +1,57 @@ @@ -2492,7 +2625,7 @@ index 00000000..baf59df7 +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-spi-spidev.dts b/arch/arm/boot/dts/overlay/sun7i-a20-spi-spidev.dts new file mode 100644 -index 00000000..8d0f6ac8 +index 000000000..8d0f6ac8e --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-spi-spidev.dts @@ -0,0 +1,57 @@ @@ -2555,7 +2688,7 @@ index 00000000..8d0f6ac8 +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-spi0.dts b/arch/arm/boot/dts/overlay/sun7i-a20-spi0.dts new file mode 100644 -index 00000000..04442626 +index 000000000..04442626a --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-spi0.dts @@ -0,0 +1,23 @@ @@ -2584,7 +2717,7 @@ index 00000000..04442626 +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-spi1.dts b/arch/arm/boot/dts/overlay/sun7i-a20-spi1.dts new file mode 100644 -index 00000000..3c3fcb86 +index 000000000..3c3fcb864 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-spi1.dts @@ -0,0 +1,22 @@ @@ -2612,7 +2745,7 @@ index 00000000..3c3fcb86 +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-spi2.dts b/arch/arm/boot/dts/overlay/sun7i-a20-spi2.dts new file mode 100644 -index 00000000..b38e04c3 +index 000000000..b38e04c35 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-spi2.dts @@ -0,0 +1,23 @@ @@ -2641,7 +2774,7 @@ index 00000000..b38e04c3 +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-uart2.dts b/arch/arm/boot/dts/overlay/sun7i-a20-uart2.dts new file mode 100644 -index 00000000..b4f7230d +index 000000000..b4f7230d7 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-uart2.dts @@ -0,0 +1,32 @@ @@ -2679,10 +2812,10 @@ index 00000000..b4f7230d +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-uart3.dts b/arch/arm/boot/dts/overlay/sun7i-a20-uart3.dts new file mode 100644 -index 00000000..010d8a53 +index 000000000..75e79eadc --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-uart3.dts -@@ -0,0 +1,32 @@ +@@ -0,0 +1,42 @@ +/dts-v1/; +/plugin/; + @@ -2703,6 +2836,16 @@ index 00000000..010d8a53 + pins = "PG6", "PG7"; + function = "uart3"; + }; ++ ++ uart3_pins_a_rts_cts: uart3@1 { ++ pins = "PG8", "PG9"; ++ function = "uart3"; ++ }; ++ ++ uart3_pins_b_rts_cts: uart3@3 { ++ pins = "PH2", "PH3"; ++ function = "uart3"; ++ }; + }; + }; + @@ -2717,7 +2860,7 @@ index 00000000..010d8a53 +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-uart4.dts b/arch/arm/boot/dts/overlay/sun7i-a20-uart4.dts new file mode 100644 -index 00000000..008cf83a +index 000000000..008cf83a2 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-uart4.dts @@ -0,0 +1,22 @@ @@ -2745,7 +2888,7 @@ index 00000000..008cf83a +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-uart5.dts b/arch/arm/boot/dts/overlay/sun7i-a20-uart5.dts new file mode 100644 -index 00000000..32367102 +index 000000000..32367102a --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-uart5.dts @@ -0,0 +1,22 @@ @@ -2773,7 +2916,7 @@ index 00000000..32367102 +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-uart6.dts b/arch/arm/boot/dts/overlay/sun7i-a20-uart6.dts new file mode 100644 -index 00000000..12435386 +index 000000000..124353866 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-uart6.dts @@ -0,0 +1,22 @@ @@ -2801,7 +2944,7 @@ index 00000000..12435386 +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-uart7.dts b/arch/arm/boot/dts/overlay/sun7i-a20-uart7.dts new file mode 100644 -index 00000000..3087271b +index 000000000..3087271b4 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-uart7.dts @@ -0,0 +1,22 @@ @@ -2829,7 +2972,7 @@ index 00000000..3087271b +}; diff --git a/arch/arm/boot/dts/overlay/sun7i-a20-w1-gpio.dts b/arch/arm/boot/dts/overlay/sun7i-a20-w1-gpio.dts new file mode 100644 -index 00000000..7d77606a +index 000000000..7d77606a1 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun7i-a20-w1-gpio.dts @@ -0,0 +1,29 @@ @@ -2864,7 +3007,7 @@ index 00000000..7d77606a +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-analog-codec.dts b/arch/arm/boot/dts/overlay/sun8i-h3-analog-codec.dts new file mode 100644 -index 00000000..36dbc31a +index 000000000..36dbc31ae --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-analog-codec.dts @@ -0,0 +1,17 @@ @@ -2887,7 +3030,7 @@ index 00000000..36dbc31a +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-cir.dts b/arch/arm/boot/dts/overlay/sun8i-h3-cir.dts new file mode 100644 -index 00000000..9b62fd2b +index 000000000..9b62fd2b8 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-cir.dts @@ -0,0 +1,15 @@ @@ -2908,7 +3051,7 @@ index 00000000..9b62fd2b +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-fixup.scr-cmd b/arch/arm/boot/dts/overlay/sun8i-h3-fixup.scr-cmd new file mode 100644 -index 00000000..744889c6 +index 000000000..744889c6e --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-fixup.scr-cmd @@ -0,0 +1,110 @@ @@ -3024,7 +3167,7 @@ index 00000000..744889c6 +fi diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-i2c0.dts b/arch/arm/boot/dts/overlay/sun8i-h3-i2c0.dts new file mode 100644 -index 00000000..b457ac71 +index 000000000..b457ac717 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-i2c0.dts @@ -0,0 +1,20 @@ @@ -3050,7 +3193,7 @@ index 00000000..b457ac71 +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-i2c1.dts b/arch/arm/boot/dts/overlay/sun8i-h3-i2c1.dts new file mode 100644 -index 00000000..fd0928a1 +index 000000000..fd0928a18 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-i2c1.dts @@ -0,0 +1,20 @@ @@ -3076,7 +3219,7 @@ index 00000000..fd0928a1 +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-i2c2.dts b/arch/arm/boot/dts/overlay/sun8i-h3-i2c2.dts new file mode 100644 -index 00000000..25b75b71 +index 000000000..25b75b71c --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-i2c2.dts @@ -0,0 +1,20 @@ @@ -3102,7 +3245,7 @@ index 00000000..25b75b71 +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-pps-gpio.dts b/arch/arm/boot/dts/overlay/sun8i-h3-pps-gpio.dts new file mode 100644 -index 00000000..16a737b0 +index 000000000..16a737b02 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-pps-gpio.dts @@ -0,0 +1,29 @@ @@ -3137,7 +3280,7 @@ index 00000000..16a737b0 +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-pwm.dts b/arch/arm/boot/dts/overlay/sun8i-h3-pwm.dts new file mode 100644 -index 00000000..ed3b8e60 +index 000000000..ed3b8e606 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-pwm.dts @@ -0,0 +1,39 @@ @@ -3182,7 +3325,7 @@ index 00000000..ed3b8e60 +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-spdif-out.dts b/arch/arm/boot/dts/overlay/sun8i-h3-spdif-out.dts new file mode 100644 -index 00000000..c7c01411 +index 000000000..c7c01411a --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-spdif-out.dts @@ -0,0 +1,38 @@ @@ -3226,7 +3369,7 @@ index 00000000..c7c01411 +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-spi-add-cs1.dts b/arch/arm/boot/dts/overlay/sun8i-h3-spi-add-cs1.dts new file mode 100644 -index 00000000..bd8e2561 +index 000000000..bd8e25617 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-spi-add-cs1.dts @@ -0,0 +1,41 @@ @@ -3273,7 +3416,7 @@ index 00000000..bd8e2561 +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-spi-jedec-nor.dts b/arch/arm/boot/dts/overlay/sun8i-h3-spi-jedec-nor.dts new file mode 100644 -index 00000000..ad22a71a +index 000000000..ad22a71ac --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-spi-jedec-nor.dts @@ -0,0 +1,42 @@ @@ -3321,7 +3464,7 @@ index 00000000..ad22a71a +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-spi-spidev.dts b/arch/arm/boot/dts/overlay/sun8i-h3-spi-spidev.dts new file mode 100644 -index 00000000..180979e0 +index 000000000..180979e0b --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-spi-spidev.dts @@ -0,0 +1,42 @@ @@ -3369,7 +3512,7 @@ index 00000000..180979e0 +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-uart1.dts b/arch/arm/boot/dts/overlay/sun8i-h3-uart1.dts new file mode 100644 -index 00000000..8a4f7e49 +index 000000000..8a4f7e49b --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-uart1.dts @@ -0,0 +1,22 @@ @@ -3397,7 +3540,7 @@ index 00000000..8a4f7e49 +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-uart2.dts b/arch/arm/boot/dts/overlay/sun8i-h3-uart2.dts new file mode 100644 -index 00000000..499a1b49 +index 000000000..499a1b496 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-uart2.dts @@ -0,0 +1,22 @@ @@ -3425,7 +3568,7 @@ index 00000000..499a1b49 +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-uart3.dts b/arch/arm/boot/dts/overlay/sun8i-h3-uart3.dts new file mode 100644 -index 00000000..b5734c5b +index 000000000..b5734c5bf --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-uart3.dts @@ -0,0 +1,22 @@ @@ -3453,10 +3596,10 @@ index 00000000..b5734c5b +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-usbhost0.dts b/arch/arm/boot/dts/overlay/sun8i-h3-usbhost0.dts new file mode 100644 -index 00000000..ff1d82fd +index 000000000..6bd8aedbe --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-usbhost0.dts -@@ -0,0 +1,20 @@ +@@ -0,0 +1,27 @@ +/dts-v1/; +/plugin/; + @@ -3476,13 +3619,20 @@ index 00000000..ff1d82fd + status = "okay"; + }; + }; ++ ++ fragment@2 { ++ target = <&usbphy>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-usbhost1.dts b/arch/arm/boot/dts/overlay/sun8i-h3-usbhost1.dts new file mode 100644 -index 00000000..92049ec1 +index 000000000..4c7222b10 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-usbhost1.dts -@@ -0,0 +1,20 @@ +@@ -0,0 +1,27 @@ +/dts-v1/; +/plugin/; + @@ -3502,13 +3652,20 @@ index 00000000..92049ec1 + status = "okay"; + }; + }; ++ ++ fragment@2 { ++ target = <&usbphy>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-usbhost2.dts b/arch/arm/boot/dts/overlay/sun8i-h3-usbhost2.dts new file mode 100644 -index 00000000..bf0c4f59 +index 000000000..2b83ec933 --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-usbhost2.dts -@@ -0,0 +1,20 @@ +@@ -0,0 +1,27 @@ +/dts-v1/; +/plugin/; + @@ -3528,13 +3685,20 @@ index 00000000..bf0c4f59 + status = "okay"; + }; + }; ++ ++ fragment@2 { ++ target = <&usbphy>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-usbhost3.dts b/arch/arm/boot/dts/overlay/sun8i-h3-usbhost3.dts new file mode 100644 -index 00000000..f737075b +index 000000000..e2f28ab1a --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-usbhost3.dts -@@ -0,0 +1,20 @@ +@@ -0,0 +1,27 @@ +/dts-v1/; +/plugin/; + @@ -3554,10 +3718,17 @@ index 00000000..f737075b + status = "okay"; + }; + }; ++ ++ fragment@2 { ++ target = <&usbphy>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; +}; diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-w1-gpio.dts b/arch/arm/boot/dts/overlay/sun8i-h3-w1-gpio.dts new file mode 100644 -index 00000000..f4ccb7fb +index 000000000..f4ccb7fba --- /dev/null +++ b/arch/arm/boot/dts/overlay/sun8i-h3-w1-gpio.dts @@ -0,0 +1,29 @@ diff --git a/patch/kernel/sunxi-next/add-sunxi64-overlays.patch b/patch/kernel/sunxi-next/add-sunxi64-overlays.patch index be8fc4eab..cc82b6791 100644 --- a/patch/kernel/sunxi-next/add-sunxi64-overlays.patch +++ b/patch/kernel/sunxi-next/add-sunxi64-overlays.patch @@ -1,10 +1,10 @@ diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile -index 94de6044..1e85fd7c 100644 +index 108f12ce6..c01e6d7e7 100644 --- a/arch/arm64/boot/dts/allwinner/Makefile +++ b/arch/arm64/boot/dts/allwinner/Makefile -@@ -6,5 +6,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-prime.dtb +@@ -8,5 +8,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus2.dtb dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo2.dtb - + always := $(dtb-y) -subdir-y := $(dts-dirs) +subdir-y := $(dts-dirs) overlay @@ -13,10 +13,10 @@ index 94de6044..1e85fd7c 100644 +dts-dirs += overlay diff --git a/arch/arm64/boot/dts/allwinner/overlay/Makefile b/arch/arm64/boot/dts/allwinner/overlay/Makefile new file mode 100644 -index 00000000..4c945d83 +index 000000000..379d8527f --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/Makefile -@@ -0,0 +1,43 @@ +@@ -0,0 +1,44 @@ +dtbo-$(CONFIG_ARCH_SUNXI) += \ + sun50i-a64-i2c0.dtbo \ + sun50i-a64-i2c1.dtbo \ @@ -44,6 +44,7 @@ index 00000000..4c945d83 + sun50i-h5-uart2.dtbo \ + sun50i-h5-uart3.dtbo \ + sun50i-h5-usbhost0.dtbo \ ++ sun50i-h5-usbhost1.dtbo \ + sun50i-h5-usbhost2.dtbo \ + sun50i-h5-usbhost3.dtbo \ + sun50i-h5-w1-gpio.dtbo @@ -62,7 +63,7 @@ index 00000000..4c945d83 +clean-files := *.dtbo *.scr diff --git a/arch/arm64/boot/dts/allwinner/overlay/README.sun50i-a64-overlays b/arch/arm64/boot/dts/allwinner/overlay/README.sun50i-a64-overlays new file mode 100644 -index 00000000..cd9dbc68 +index 000000000..cd9dbc686 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/README.sun50i-a64-overlays @@ -0,0 +1,196 @@ @@ -264,10 +265,10 @@ index 00000000..cd9dbc68 + or long wires - please use external pull-up resistor instead diff --git a/arch/arm64/boot/dts/allwinner/overlay/README.sun50i-h5-overlays b/arch/arm64/boot/dts/allwinner/overlay/README.sun50i-h5-overlays new file mode 100644 -index 00000000..ad5feef1 +index 000000000..1ac7fbcf6 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/README.sun50i-h5-overlays -@@ -0,0 +1,245 @@ +@@ -0,0 +1,250 @@ +This document describes overlays provided in the kernel packages +For generic Armbian overlays documentation please see +https://docs.armbian.com/User-Guide_Allwinner_overlays/ @@ -300,6 +301,7 @@ index 00000000..ad5feef1 +- uart2 +- uart3 +- usbhost0 ++- usbhost1 +- usbhost2 +- usbhost3 +- w1-gpio @@ -485,6 +487,10 @@ index 00000000..ad5feef1 + +Activates USB host controller 0 + ++### usbhost1 ++ ++Activates USB host controller 1 ++ +### usbhost2 + +Activates USB host controller 2 @@ -515,7 +521,7 @@ index 00000000..ad5feef1 + or long wires - please use external pull-up resistor instead diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-fixup.scr-cmd b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-fixup.scr-cmd new file mode 100644 -index 00000000..6e192b56 +index 000000000..6e192b56a --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-fixup.scr-cmd @@ -0,0 +1,95 @@ @@ -616,7 +622,7 @@ index 00000000..6e192b56 +fi diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-i2c0.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-i2c0.dts new file mode 100644 -index 00000000..37bdb2c2 +index 000000000..37bdb2c2f --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-i2c0.dts @@ -0,0 +1,32 @@ @@ -654,7 +660,7 @@ index 00000000..37bdb2c2 +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-i2c1.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-i2c1.dts new file mode 100644 -index 00000000..b2483c9c +index 000000000..b2483c9cd --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-i2c1.dts @@ -0,0 +1,22 @@ @@ -682,7 +688,7 @@ index 00000000..b2483c9c +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-pps-gpio.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-pps-gpio.dts new file mode 100644 -index 00000000..5fa161c4 +index 000000000..5fa161c47 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-pps-gpio.dts @@ -0,0 +1,29 @@ @@ -717,7 +723,7 @@ index 00000000..5fa161c4 +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-spi-add-cs1.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-spi-add-cs1.dts new file mode 100644 -index 00000000..4432aac5 +index 000000000..4432aac51 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-spi-add-cs1.dts @@ -0,0 +1,41 @@ @@ -764,7 +770,7 @@ index 00000000..4432aac5 +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-spi-jedec-nor.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-spi-jedec-nor.dts new file mode 100644 -index 00000000..d67a4f67 +index 000000000..d67a4f676 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-spi-jedec-nor.dts @@ -0,0 +1,34 @@ @@ -804,7 +810,7 @@ index 00000000..d67a4f67 +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-spi-spidev.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-spi-spidev.dts new file mode 100644 -index 00000000..fe8fb14e +index 000000000..fe8fb14e5 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-spi-spidev.dts @@ -0,0 +1,42 @@ @@ -852,7 +858,7 @@ index 00000000..fe8fb14e +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-uart1.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-uart1.dts new file mode 100644 -index 00000000..4d8dac1a +index 000000000..4d8dac1a5 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-uart1.dts @@ -0,0 +1,22 @@ @@ -880,7 +886,7 @@ index 00000000..4d8dac1a +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-uart2.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-uart2.dts new file mode 100644 -index 00000000..36475fd5 +index 000000000..36475fd5d --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-uart2.dts @@ -0,0 +1,37 @@ @@ -923,7 +929,7 @@ index 00000000..36475fd5 +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-uart3.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-uart3.dts new file mode 100644 -index 00000000..a103a751 +index 000000000..a103a7516 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-uart3.dts @@ -0,0 +1,32 @@ @@ -961,7 +967,7 @@ index 00000000..a103a751 +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-uart4.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-uart4.dts new file mode 100644 -index 00000000..f84333c7 +index 000000000..f84333c71 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-uart4.dts @@ -0,0 +1,37 @@ @@ -1004,7 +1010,7 @@ index 00000000..f84333c7 +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-w1-gpio.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-w1-gpio.dts new file mode 100644 -index 00000000..d2304691 +index 000000000..d23046913 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-w1-gpio.dts @@ -0,0 +1,29 @@ @@ -1039,7 +1045,7 @@ index 00000000..d2304691 +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-analog-codec.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-analog-codec.dts new file mode 100644 -index 00000000..aaa66d5e +index 000000000..aaa66d5e7 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-analog-codec.dts @@ -0,0 +1,17 @@ @@ -1062,7 +1068,7 @@ index 00000000..aaa66d5e +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cir.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cir.dts new file mode 100644 -index 00000000..74569cbf +index 000000000..74569cbfd --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cir.dts @@ -0,0 +1,15 @@ @@ -1083,7 +1089,7 @@ index 00000000..74569cbf +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-fixup.scr-cmd b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-fixup.scr-cmd new file mode 100644 -index 00000000..744889c6 +index 000000000..744889c6e --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-fixup.scr-cmd @@ -0,0 +1,110 @@ @@ -1199,7 +1205,7 @@ index 00000000..744889c6 +fi diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-i2c0.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-i2c0.dts new file mode 100644 -index 00000000..55d249db +index 000000000..55d249db6 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-i2c0.dts @@ -0,0 +1,20 @@ @@ -1225,7 +1231,7 @@ index 00000000..55d249db +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-i2c1.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-i2c1.dts new file mode 100644 -index 00000000..2528870c +index 000000000..2528870c7 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-i2c1.dts @@ -0,0 +1,20 @@ @@ -1251,7 +1257,7 @@ index 00000000..2528870c +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-i2c2.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-i2c2.dts new file mode 100644 -index 00000000..ff42f01a +index 000000000..ff42f01ab --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-i2c2.dts @@ -0,0 +1,20 @@ @@ -1277,7 +1283,7 @@ index 00000000..ff42f01a +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-pps-gpio.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-pps-gpio.dts new file mode 100644 -index 00000000..46e06756 +index 000000000..46e067562 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-pps-gpio.dts @@ -0,0 +1,29 @@ @@ -1312,7 +1318,7 @@ index 00000000..46e06756 +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-pwm.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-pwm.dts new file mode 100644 -index 00000000..6d12e842 +index 000000000..6d12e8420 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-pwm.dts @@ -0,0 +1,39 @@ @@ -1357,7 +1363,7 @@ index 00000000..6d12e842 +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-spdif-out.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-spdif-out.dts new file mode 100644 -index 00000000..2bb301f7 +index 000000000..2bb301f77 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-spdif-out.dts @@ -0,0 +1,38 @@ @@ -1401,7 +1407,7 @@ index 00000000..2bb301f7 +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-spi-add-cs1.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-spi-add-cs1.dts new file mode 100644 -index 00000000..8e3eab29 +index 000000000..8e3eab295 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-spi-add-cs1.dts @@ -0,0 +1,41 @@ @@ -1448,7 +1454,7 @@ index 00000000..8e3eab29 +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-spi-jedec-nor.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-spi-jedec-nor.dts new file mode 100644 -index 00000000..d4accd95 +index 000000000..d4accd95e --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-spi-jedec-nor.dts @@ -0,0 +1,42 @@ @@ -1496,7 +1502,7 @@ index 00000000..d4accd95 +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-spi-spidev.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-spi-spidev.dts new file mode 100644 -index 00000000..d8a008d0 +index 000000000..d8a008d0d --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-spi-spidev.dts @@ -0,0 +1,42 @@ @@ -1544,7 +1550,7 @@ index 00000000..d8a008d0 +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-uart1.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-uart1.dts new file mode 100644 -index 00000000..0ce76efd +index 000000000..0ce76efdd --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-uart1.dts @@ -0,0 +1,22 @@ @@ -1572,7 +1578,7 @@ index 00000000..0ce76efd +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-uart2.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-uart2.dts new file mode 100644 -index 00000000..88cc0cdc +index 000000000..88cc0cdc3 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-uart2.dts @@ -0,0 +1,32 @@ @@ -1610,7 +1616,7 @@ index 00000000..88cc0cdc +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-uart3.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-uart3.dts new file mode 100644 -index 00000000..a738ff83 +index 000000000..3ad6cc982 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-uart3.dts @@ -0,0 +1,32 @@ @@ -1648,7 +1654,7 @@ index 00000000..a738ff83 +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-usbhost0.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-usbhost0.dts new file mode 100644 -index 00000000..7ca3eb35 +index 000000000..c1d79c232 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-usbhost0.dts @@ -0,0 +1,27 @@ @@ -1659,29 +1665,62 @@ index 00000000..7ca3eb35 + compatible = "allwinner,sun50i-h5"; + + fragment@0 { -+ target = <&usbphy>; -+ __overlay__ { -+ status = "okay"; -+ }; -+ }; -+ -+ fragment@1 { + target = <&ehci0>; + __overlay__ { + status = "okay"; + }; + }; + -+ fragment@2 { ++ fragment@1 { + target = <&ohci0>; + __overlay__ { + status = "okay"; + }; + }; ++ ++ fragment@2 { ++ target = <&usbphy>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-usbhost1.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-usbhost1.dts +new file mode 100644 +index 000000000..2b4f245bf +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-usbhost1.dts +@@ -0,0 +1,27 @@ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "allwinner,sun50i-h5"; ++ ++ fragment@0 { ++ target = <&ehci1>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&ohci1>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ ++ fragment@2 { ++ target = <&usbphy>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-usbhost2.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-usbhost2.dts new file mode 100644 -index 00000000..3e910af7 +index 000000000..54800e729 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-usbhost2.dts @@ -0,0 +1,27 @@ @@ -1692,29 +1731,29 @@ index 00000000..3e910af7 + compatible = "allwinner,sun50i-h5"; + + fragment@0 { -+ target = <&usbphy>; -+ __overlay__ { -+ status = "okay"; -+ }; -+ }; -+ -+ fragment@1 { + target = <&ehci2>; + __overlay__ { + status = "okay"; + }; + }; + -+ fragment@2 { ++ fragment@1 { + target = <&ohci2>; + __overlay__ { + status = "okay"; + }; + }; ++ ++ fragment@2 { ++ target = <&usbphy>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-usbhost3.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-usbhost3.dts new file mode 100644 -index 00000000..87f30ced +index 000000000..a99524ea3 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-usbhost3.dts @@ -0,0 +1,27 @@ @@ -1725,29 +1764,29 @@ index 00000000..87f30ced + compatible = "allwinner,sun50i-h5"; + + fragment@0 { -+ target = <&usbphy>; -+ __overlay__ { -+ status = "okay"; -+ }; -+ }; -+ -+ fragment@1 { + target = <&ehci3>; + __overlay__ { + status = "okay"; + }; + }; + -+ fragment@2 { ++ fragment@1 { + target = <&ohci3>; + __overlay__ { + status = "okay"; + }; + }; ++ ++ fragment@2 { ++ target = <&usbphy>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; +}; diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-w1-gpio.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-w1-gpio.dts new file mode 100644 -index 00000000..6e99626a +index 000000000..6e99626ac --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-w1-gpio.dts @@ -0,0 +1,29 @@