arch: arm64: boot: dts: allwinner: overlays: Add Overlays for h616/h618
sun50i-h616-gpu.dts sun50i-h616-i2c1.dts sun50i-h616-i2c2.dts sun50i-h616-i2c3.dts sun50i-h616-i2c4.dts sun50i-h616-pwm12.dts sun50i-h616-pwm34.dts sun50i-h616-uart2.dts sun50i-h616-uart5.dts sun50i-h616-spi0-spidev.dts sun50i-h616-spi1-spidev.dts sun50i-h616-disable-leds.dts sun50i-h616-disable-uart0.dts
This commit is contained in:
parent
1c9ffcf412
commit
d79c17cf80
@ -41,3 +41,5 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6-mini.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero3.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb
|
||||
|
||||
subdir-y := $(dts-dirs) overlay
|
||||
|
||||
23
arch/arm64/boot/dts/allwinner/overlay/Makefile
Executable file
23
arch/arm64/boot/dts/allwinner/overlay/Makefile
Executable file
@ -0,0 +1,23 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
dtbo-$(CONFIG_ARCH_SUNXI) += \
|
||||
sun50i-h616-gpu.dtbo \
|
||||
sun50i-h616-uart2.dtbo \
|
||||
sun50i-h616-uart5.dtbo \
|
||||
sun50i-h616-i2c1.dtbo \
|
||||
sun50i-h616-i2c2.dtbo \
|
||||
sun50i-h616-i2c3.dtbo \
|
||||
sun50i-h616-i2c4.dtbo \
|
||||
sun50i-h616-pwm12.dtbo \
|
||||
sun50i-h616-pwm34.dtbo \
|
||||
sun50i-h616-spi0-spidev.dtbo \
|
||||
sun50i-h616-spi1-spidev.dtbo \
|
||||
sun50i-h616-disable-leds.dtbo \
|
||||
sun50i-h616-disable-uart0.dtbo
|
||||
|
||||
scr-$(CONFIG_ARCH_SUNXI) += \
|
||||
sun50i-h616-fixup.scr
|
||||
|
||||
targets += $(dtbo-y) $(scr-y) $(dtbotxt-y)
|
||||
|
||||
always := $(dtbo-y) $(scr-y) $(dtbotxt-y)
|
||||
clean-files := *.dtbo *.scr
|
||||
20
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-disable-leds.dts
Executable file
20
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-disable-leds.dts
Executable file
@ -0,0 +1,20 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
fragment@0 {
|
||||
target = <&leds>;
|
||||
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
|
||||
led-red {
|
||||
linux,default-trigger = "none";
|
||||
};
|
||||
|
||||
led-green {
|
||||
linux,default-trigger = "none";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
11
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-disable-uart0.dts
Executable file
11
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-disable-uart0.dts
Executable file
@ -0,0 +1,11 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
fragment@0 {
|
||||
target = <&uart0>;
|
||||
__overlay__ {
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
BIN
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-fixup.scr
Executable file
BIN
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-fixup.scr
Executable file
Binary file not shown.
110
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-fixup.scr-cmd
Executable file
110
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-fixup.scr-cmd
Executable file
@ -0,0 +1,110 @@
|
||||
# overlays fixup script
|
||||
# implements (or rather substitutes) overlay arguments functionality
|
||||
# using u-boot scripting, environment variables and "fdt" command
|
||||
|
||||
# setexpr test_var ${tmp_bank} - A
|
||||
# works only for hex numbers (A-F)
|
||||
|
||||
setenv decompose_pin 'setexpr tmp_bank sub "P(C|G|H|I)\\d+" "\\1";
|
||||
setexpr tmp_pin sub "P\\S(\\d+)" "\\1";
|
||||
test "${tmp_bank}" = "C" && setenv tmp_bank 2;
|
||||
test "${tmp_bank}" = "G" && setenv tmp_bank 6'
|
||||
test "${tmp_bank}" = "H" && setenv tmp_bank 7;
|
||||
test "${tmp_bank}" = "I" && setenv tmp_bank 8;
|
||||
|
||||
if test -n "${param_spinor_spi_bus}"; then
|
||||
test "${param_spinor_spi_bus}" = "0" && setenv tmp_spi_path "spi@5010000"
|
||||
test "${param_spinor_spi_bus}" = "1" && setenv tmp_spi_path "spi@5011000"
|
||||
fdt set /soc/${tmp_spi_path} status "okay"
|
||||
fdt set /soc/${tmp_spi_path}/spiflash@0 status "okay"
|
||||
if test -n "${param_spinor_max_freq}"; then
|
||||
fdt set /soc/${tmp_spi_path}/spiflash@0 spi-max-frequency "<${param_spinor_max_freq}>"
|
||||
fi
|
||||
if test "${param_spinor_spi_cs}" = "1"; then
|
||||
fdt set /soc/${tmp_spi_path}/spiflash@0 reg "<1>"
|
||||
fi
|
||||
env delete tmp_spi_path
|
||||
fi
|
||||
|
||||
if test -n "${param_spidev_spi_bus}"; then
|
||||
test "${param_spidev_spi_bus}" = "0" && setenv tmp_spi_path "spi@5010000"
|
||||
test "${param_spidev_spi_bus}" = "1" && setenv tmp_spi_path "spi@5011000"
|
||||
fdt set /soc/${tmp_spi_path} status "okay"
|
||||
fdt set /soc/${tmp_spi_path}/spidev status "okay"
|
||||
if test -n "${param_spidev_max_freq}"; then
|
||||
fdt set /soc/${tmp_spi_path}/spidev spi-max-frequency "<${param_spidev_max_freq}>"
|
||||
fi
|
||||
if test "${param_spidev_spi_cs}" = "1"; then
|
||||
fdt set /soc/${tmp_spi_path}/spidev reg "<1>"
|
||||
fi
|
||||
env delete tmp_spi_path
|
||||
fi
|
||||
|
||||
if test -n "${param_pps_pin}"; then
|
||||
setenv tmp_bank "${param_pps_pin}"
|
||||
setenv tmp_pin "${param_pps_pin}"
|
||||
run decompose_pin
|
||||
fdt set /soc/pinctrl@300b000/pps_pins pins "${param_pps_pin}"
|
||||
fdt get value tmp_phandle /soc/pinctrl@300b000 phandle
|
||||
fdt set /pps@0 gpios "<${tmp_phandle} ${tmp_bank} ${tmp_pin} 0>"
|
||||
env delete tmp_pin tmp_bank tmp_phandle
|
||||
fi
|
||||
|
||||
if test "${param_pps_falling_edge}" = "1"; then
|
||||
fdt set /pps@0 assert-falling-edge
|
||||
fi
|
||||
|
||||
for f in ${overlays}; do
|
||||
if test "${f}" = "pwm34"; then
|
||||
setenv bootargs_new ""
|
||||
for arg in ${bootargs}; do
|
||||
if test "${arg}" = "console=ttyS0,115200"; then
|
||||
echo "Warning: Disabling ttyS0 console due to enabled PWM3 and PWM4 overlay"
|
||||
else
|
||||
setenv bootargs_new "${bootargs_new} ${arg}"
|
||||
fi
|
||||
done
|
||||
setenv bootargs "${bootargs_new}"
|
||||
fi
|
||||
done
|
||||
|
||||
if test -n "${param_w1_pin}"; then
|
||||
setenv tmp_bank "${param_w1_pin}"
|
||||
setenv tmp_pin "${param_w1_pin}"
|
||||
run decompose_pin
|
||||
fdt set /soc/pinctrl@300b000/w1_pins pins "${param_w1_pin}"
|
||||
fdt get value tmp_phandle /soc/pinctrl@300b000 phandle
|
||||
fdt set /onewire@0 gpios "<${tmp_phandle} ${tmp_bank} ${tmp_pin} 0>"
|
||||
env delete tmp_pin tmp_bank tmp_phandle
|
||||
fi
|
||||
|
||||
if test "${param_w1_pin_int_pullup}" = "1"; then
|
||||
fdt set /soc/pinctrl@300b000/w1_pins bias-pull-up
|
||||
fi
|
||||
|
||||
if test "${param_uart1_rtscts}" = "1"; then
|
||||
fdt get value tmp_phandle1 /soc/pinctrl@300b000/uart1-pins phandle
|
||||
fdt get value tmp_phandle2 /soc/pinctrl@300b000/uart1-rts-cts-pins phandle
|
||||
fdt set /soc/serial@5000400 pinctrl-names "default" "default"
|
||||
fdt set /soc/serial@5000400 pinctrl-0 "<${tmp_phandle1}>"
|
||||
fdt set /soc/serial@5000400 pinctrl-1 "<${tmp_phandle2}>"
|
||||
env delete tmp_phandle1 tmp_phandle2
|
||||
fi
|
||||
|
||||
if test "${param_uart2_rtscts}" = "1"; then
|
||||
fdt get value tmp_phandle1 /soc/pinctrl@300b000/uart2-pins phandle
|
||||
fdt get value tmp_phandle2 /soc/pinctrl@300b000/uart2-rts-cts-pins phandle
|
||||
fdt set /soc/serial@5000800 pinctrl-names "default" "default"
|
||||
fdt set /soc/serial@5000800 pinctrl-0 "<${tmp_phandle1}>"
|
||||
fdt set /soc/serial@5000800 pinctrl-1 "<${tmp_phandle2}>"
|
||||
env delete tmp_phandle1 tmp_phandle2
|
||||
fi
|
||||
|
||||
if test "${param_uart3_rtscts}" = "1"; then
|
||||
fdt get value tmp_phandle1 /soc/pinctrl@300b000/uart3-pins phandle
|
||||
fdt get value tmp_phandle2 /soc/pinctrl@300b000/uart3-rts-cts-pins phandle
|
||||
fdt set /soc/serial@5000c00 pinctrl-names "default" "default"
|
||||
fdt set /soc/serial@5000c00 pinctrl-0 "<${tmp_phandle1}>"
|
||||
fdt set /soc/serial@5000c00 pinctrl-1 "<${tmp_phandle2}>"
|
||||
env delete tmp_phandle1 tmp_phandle2
|
||||
fi
|
||||
11
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-gpu.dts
Executable file
11
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-gpu.dts
Executable file
@ -0,0 +1,11 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
fragment@0 {
|
||||
target = <&gpu>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
26
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c1.dts
Executable file
26
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c1.dts
Executable file
@ -0,0 +1,26 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
fragment@0 {
|
||||
target-path = "/aliases";
|
||||
__overlay__ {
|
||||
i2c1 = "/soc/i2c@5002400";
|
||||
serial2 = "/soc/serial@5000800";
|
||||
};
|
||||
};
|
||||
|
||||
fragment@1 {
|
||||
target = <&i2c1>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
fragment@2 {
|
||||
target = <&uart0>;
|
||||
__overlay__ {
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
20
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c2.dts
Executable file
20
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c2.dts
Executable file
@ -0,0 +1,20 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
compatible = "allwinner,sun50i-h616";
|
||||
|
||||
fragment@0 {
|
||||
target-path = "/aliases";
|
||||
__overlay__ {
|
||||
i2c2 = "/soc/i2c@5002800";
|
||||
};
|
||||
};
|
||||
|
||||
fragment@1 {
|
||||
target = <&i2c2>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
18
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c3.dts
Executable file
18
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c3.dts
Executable file
@ -0,0 +1,18 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
fragment@0 {
|
||||
target-path = "/aliases";
|
||||
__overlay__ {
|
||||
i2c3 = "/soc/i2c@5002c00";
|
||||
};
|
||||
};
|
||||
|
||||
fragment@1 {
|
||||
target = <&i2c3>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
18
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c4.dts
Executable file
18
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-i2c4.dts
Executable file
@ -0,0 +1,18 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
fragment@0 {
|
||||
target-path = "/aliases";
|
||||
__overlay__ {
|
||||
i2c4 = "/soc/i2c@5003000";
|
||||
};
|
||||
};
|
||||
|
||||
fragment@1 {
|
||||
target = <&i2c4>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
11
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm12.dts
Executable file
11
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm12.dts
Executable file
@ -0,0 +1,11 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
fragment@0 {
|
||||
target = <&pwm>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
18
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm34.dts
Executable file
18
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-pwm34.dts
Executable file
@ -0,0 +1,18 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
fragment@0 {
|
||||
target = <&uart0>;
|
||||
__overlay__ {
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
fragment@1 {
|
||||
target = <&pwm>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
34
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-spi0-spidev.dts
Executable file
34
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-spi0-spidev.dts
Executable file
@ -0,0 +1,34 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
fragment@0 {
|
||||
target-path = "/aliases";
|
||||
__overlay__ {
|
||||
spi0 = "/soc/spi@5010000";
|
||||
};
|
||||
};
|
||||
|
||||
fragment@1 {
|
||||
target = <&spi0>;
|
||||
__overlay__ {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
spidev@0 {
|
||||
compatible = "rohm,dh2228fv";
|
||||
status = "okay";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <1000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fragment@2 {
|
||||
target = <&spi0>;
|
||||
__overlay__ {
|
||||
flash@0 {
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
26
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-spi1-spidev.dts
Executable file
26
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-spi1-spidev.dts
Executable file
@ -0,0 +1,26 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
fragment@0 {
|
||||
target-path = "/aliases";
|
||||
__overlay__ {
|
||||
spi1 = "/soc/spi@5011000";
|
||||
};
|
||||
};
|
||||
|
||||
fragment@2 {
|
||||
target = <&spi1>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
spidev@1 {
|
||||
compatible = "rohm,dh2228fv";
|
||||
status = "okay";
|
||||
reg = <1>;
|
||||
spi-max-frequency = <1000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
18
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart2.dts
Executable file
18
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart2.dts
Executable file
@ -0,0 +1,18 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
fragment@0 {
|
||||
target-path = "/aliases";
|
||||
__overlay__ {
|
||||
serial2 = "/soc/serial@5000800";
|
||||
};
|
||||
};
|
||||
|
||||
fragment@1 {
|
||||
target = <&uart2>;
|
||||
__overlay__ {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
20
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart5.dts
Executable file
20
arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-uart5.dts
Executable file
@ -0,0 +1,20 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
/ {
|
||||
fragment@0 {
|
||||
target-path = "/aliases";
|
||||
__overlay__ {
|
||||
serial5 = "/soc/serial@5001400";
|
||||
};
|
||||
};
|
||||
|
||||
fragment@1 {
|
||||
target = <&uart5>;
|
||||
__overlay__ {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart5_ph_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
Loading…
x
Reference in New Issue
Block a user