diff --git a/config/sources/sun50iw1.conf b/config/sources/sun50iw1.conf index 99c5d5858..6b0393ea1 100644 --- a/config/sources/sun50iw1.conf +++ b/config/sources/sun50iw1.conf @@ -90,7 +90,7 @@ family_tweaks_s() fi fi # power manager - [[ $BUILD_DESKTOP == yes && $BOARD == pinebook-a64 ]] && chroot $SDCARD /bin/bash -c "apt-get -qq -y install xfce4-power-manager bluetooth >/dev/null 2>&1" + [[ $BUILD_DESKTOP == yes && $BOARD == pinebook-a64 || $BOARD == teres-a64 || $BOARD == lime-a64 ]] && chroot $SDCARD /bin/bash -c "apt-get -qq -y install xfce4-power-manager bluetooth >/dev/null 2>&1" } family_tweaks_bsp() diff --git a/patch/kernel/sunxi-dev/xxx-nanopik1plus.patch b/patch/kernel/sunxi-dev/xxx-nanopik1plus.patch new file mode 100644 index 000000000..4ff6387a1 --- /dev/null +++ b/patch/kernel/sunxi-dev/xxx-nanopik1plus.patch @@ -0,0 +1,47 @@ +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-k1-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-k1-plus.dts +index 10d567ea7..726d76b47 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-k1-plus.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-k1-plus.dts +@@ -152,6 +152,10 @@ + }; + }; + ++&cpu0 { ++ cpu-supply = <®_vdd_cpux>; ++}; ++ + &codec { + allwinner,audio-routing = + "Line Out", "LINEOUT", +@@ -301,6 +305,31 @@ + status = "okay"; + }; + ++ ++&r_i2c { ++ status = "okay"; ++ reg_vdd_cpux: regulator@65 { ++ compatible = "silergy,sy8106a"; ++ reg = <0x65>; ++ regulator-name = "vdd-cpux"; ++ silergy,fixed-microvolt = <1200000>; ++ /* ++ * The datasheet uses 1.1V as the minimum value of VDD-CPUX, ++ * however both the Armbian DVFS table and the official one ++ * have operating points with voltage under 1.1V, and both ++ * DVFS table are known to work properly at the lowest ++ * operating point. ++ * ++ * Use 1.0V as the minimum voltage instead. ++ */ ++ regulator-min-microvolt = <1000000>; ++ regulator-max-microvolt = <1400000>; ++ regulator-ramp-delay = <200>; ++ regulator-boot-on; ++ regulator-always-on; ++ }; ++}; ++ + &spi0 { + status = "okay"; + spi-flash@0 { diff --git a/patch/kernel/sunxi-dev/xxx-teres-add-battery-hdmi-bits.patch b/patch/kernel/sunxi-dev/xxx-teres-add-battery-hdmi-bits.patch new file mode 100644 index 000000000..2e8d6c6f1 --- /dev/null +++ b/patch/kernel/sunxi-dev/xxx-teres-add-battery-hdmi-bits.patch @@ -0,0 +1,158 @@ +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts +index 6c3318b3c..92ed9665f 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts +@@ -19,6 +19,15 @@ + + aliases { + serial0 = &uart0; ++ ethernet0 = &rtl8723bs; ++ }; ++ ++ backlight: backlight { ++ compatible = "pwm-backlight"; ++ pwms = <&pwm 0 50000 0>; ++ brightness-levels = <0 5 10 15 20 30 40 55 70 85 100>; ++ default-brightness-level = <2>; ++ enable-gpios = <&pio 3 22 GPIO_ACTIVE_HIGH>; /* PD22 */ + }; + + chosen { +@@ -42,6 +51,17 @@ + }; + }; + ++ hdmi-connector { ++ compatible = "hdmi-connector"; ++ type = "a"; ++ ++ port { ++ hdmi_con_in: endpoint { ++ remote-endpoint = <&hdmi_out_con>; ++ }; ++ }; ++ }; ++ + leds { + compatible = "gpio-leds"; + +@@ -66,16 +86,39 @@ + status = "okay"; + }; + ++ speaker_amp: speaker_amp { ++ compatible = "simple-audio-amplifier"; ++ enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; ++ }; ++ + wifi_pwrseq: wifi_pwrseq { + compatible = "mmc-pwrseq-simple"; + reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ + }; + }; + ++&codec { ++ status = "okay"; ++}; ++ ++&codec_analog { ++ status = "okay"; ++}; ++ ++&dai { ++ status = "okay"; ++}; ++ + &de { + status = "okay"; + }; + ++&ehci0 { ++ phys = <&usbphy 0>; ++ phy-names = "usb"; ++ status = "okay"; ++}; ++ + &ehci1 { + status = "okay"; + }; +@@ -102,6 +145,21 @@ + }; + }; + ++&hdmi { ++ hvcc-supply = <®_dldo1>; ++ status = "okay"; ++}; ++ ++&hdmi_out { ++ hdmi_out_con: endpoint { ++ remote-endpoint = <&hdmi_con_in>; ++ }; ++}; ++ ++&i2s2 { ++ status = "okay"; ++}; ++ + &mixer0 { + status = "okay"; + }; +@@ -145,10 +203,20 @@ + status = "okay"; + }; + ++&ohci0 { ++ phys = <&usbphy 0>; ++ phy-names = "usb"; ++ status = "okay"; ++}; ++ + &ohci1 { + status = "okay"; + }; + ++&pwm { ++ status = "okay"; ++}; ++ + &r_rsb { + status = "okay"; + +@@ -163,6 +231,14 @@ + + #include "axp803.dtsi" + ++&ac_power_supply { ++ status = "okay"; ++}; ++ ++&battery_power_supply { ++ status = "okay"; ++}; ++ + ®_aldo1 { + regulator-always-on; + regulator-min-microvolt = <2800000>; +@@ -276,6 +352,10 @@ + vcc-hdmi-supply = <®_dldo1>; + }; + ++&sound_hdmi { ++ status = "okay"; ++}; ++ + &tcon0 { + pinctrl-names = "default"; + pinctrl-0 = <&lcd_rgb666_pins>; +@@ -296,6 +376,10 @@ + status = "okay"; + }; + ++&usb_otg { ++ dr_mode = "host"; ++}; ++ + &usbphy { + usb1_vbus-supply = <®_usb1_vbus>; + status = "okay";