armbian_build/patch/kernel/archive/sunxi-6.6/patches.megous/arm64-dts-pinephone-Add-reboot-mode-driver.patch
Gunjan Gupta d1186b8a0e kernel: sunxi: Add patches for 6.6 kernel
I have changed the way the patches are generated a bit. Instead of using orange-pi branch from megous tree for 6.6 kernel, I have used the following kernel branches

	a83t-suspend, af8133j, anx, audio,
	axp, cam, drm, err, fixes, mbus,
	modem, opi3, pb, pinetab, pp, ppkb,
	samuel, speed, tbs-a711, ths

These branches were carefully chosen to include only allwinner related patches and remove importing of the rockchip related patches into the allwinner kernel.

Following patches are modified to fix patch application failure
- patches.armbian/arm64-dts-sun50i-h616-orangepi-zero2-reg_usb1_vbus-status-ok.patch
- patches.armbian/arm64-dts-sun50i-h616-orangepi-zero2-Enable-GPU-mali.patch
- patches.armbian/arm64-dts-allwinner-h616-Add-efuse_xlate-cpu-frequency-scaling-v1_6_2.patch
- patches.armbian/arm64-dts-allwinner-h616-LED-green_power_on-red_status_heartbeat.patch
- patches.armbian/arm64-dts-allwinner-overlay-Add-Overlays-for-sunxi64.patch
- patches.armbian/arm64-dts-sun50i-h616-bigtreetech-cb1.patch

Following patches are modified because of kernel api change to fix compilation failure
- patches.armbian/drv-gpu-drm-sun4i-Add-HDMI-audio-sun4i-hdmi-encoder.patch
- patches.armbian/drv-of-Device-Tree-Overlay-ConfigFS-interface.patch
2023-10-30 22:58:11 +05:30

81 lines
2.4 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= <megi@xff.cz>
Date: Mon, 15 Feb 2021 17:45:13 +0100
Subject: arm64: dts: pinephone: Add reboot mode driver
With the latest p-boot (released 2021-02-15), you can reboot to
a particular boot option or to the menu, to FEL, to eMMC bootloader,
regardless of the user defined p-boot defaults.
Call reboot with cmd of LINUX_REBOOT_CMD_RESTART2 and arg:
- fel Reboot to FEL
- emmc-egon Reboot with chainload of bootloader from eMMC
- sd1-8 Reboot to SD bootfs option
- emmc1-8 Reboot to eMMC bootfs option
- menu Reboot to p-boot menu
Signed-off-by: Ondrej Jirman <megi@xff.cz>
---
arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi | 37 ++++++++++
1 file changed, 37 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
index 16a5ac6d14c0..67c4ecff7150 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi
@@ -416,6 +416,34 @@ sgm3140_flash: led {
};
};
+ /* PinePhone specific reboot modes for p-boot. */
+ reboot-mode {
+ compatible = "nvmem-reboot-mode";
+ nvmem-cells = <&reboot_mode>;
+ nvmem-cell-names = "reboot-mode";
+
+ mode-normal = <0x0>;
+ mode-fel = <0xb0010fe1>;
+ mode-emmc-egon = <0xb001e33c>;
+ mode-sd1 = <0xb0010020>;
+ mode-sd2 = <0xb0010021>;
+ mode-sd3 = <0xb0010022>;
+ mode-sd4 = <0xb0010023>;
+ mode-sd5 = <0xb0010024>;
+ mode-sd6 = <0xb0010025>;
+ mode-sd7 = <0xb0010026>;
+ mode-sd8 = <0xb0010027>;
+ mode-emmc1 = <0xb0010000>;
+ mode-emmc2 = <0xb0010001>;
+ mode-emmc3 = <0xb0010002>;
+ mode-emmc4 = <0xb0010003>;
+ mode-emmc5 = <0xb0010004>;
+ mode-emmc6 = <0xb0010005>;
+ mode-emmc7 = <0xb0010006>;
+ mode-emmc8 = <0xb0010007>;
+ mode-menu = <0xb00100ff>;
+ };
+
speaker_amp: audio-amplifier {
compatible = "simple-audio-amplifier";
enable-gpios = <&pio 2 7 GPIO_ACTIVE_HIGH>; /* PC7 */
@@ -909,6 +937,15 @@ &reg_rtc_ldo {
regulator-name = "vcc-rtc";
};
+&rtc {
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ reboot_mode: reboot-mode@4 {
+ reg = <0x4 0x4>;
+ };
+};
+
&sound {
status = "okay";
simple-audio-card,name = "PinePhone";
--
Armbian