mirror of
https://github.com/Fishwaldo/build.git
synced 2025-06-27 16:49:00 +00:00
helios64: Enable Advanced U-Boot recovery (#2261)
* Enable ums and maskrom u-boot recovery button * Configure USB MUX before starting download mode * Blink system status led to notify user the download mode * Move HDD power staggering to board function
This commit is contained in:
parent
01882653ef
commit
079b467342
1 changed files with 62 additions and 25 deletions
|
@ -5,19 +5,19 @@ Subject: [PATCH] Patching something
|
||||||
|
|
||||||
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
|
Signed-off-by: Aditya Prayoga <aditya@kobol.io>
|
||||||
---
|
---
|
||||||
arch/arm/dts/Makefile | 1 +
|
arch/arm/dts/Makefile | 1 +
|
||||||
arch/arm/dts/rk3399-kobol-helios64-u-boot.dtsi | 140 +++
|
arch/arm/dts/rk3399-kobol-helios64-u-boot.dtsi | 136 ++
|
||||||
arch/arm/dts/rk3399-kobol-helios64.dts | 1152 ++++++++++++++++++++++
|
arch/arm/dts/rk3399-kobol-helios64.dts | 1146 +++++++++++++++++
|
||||||
arch/arm/mach-rockchip/rk3399/Kconfig | 17 +
|
arch/arm/mach-rockchip/rk3399/Kconfig | 17 +
|
||||||
board/kobol/helios64/Kconfig | 24 +
|
board/kobol/helios64/Kconfig | 24 +
|
||||||
board/kobol/helios64/MAINTAINERS | 6 +
|
board/kobol/helios64/MAINTAINERS | 6 +
|
||||||
board/kobol/helios64/Makefile | 5 +
|
board/kobol/helios64/Makefile | 5 +
|
||||||
board/kobol/helios64/helios64.c | 262 +++++
|
board/kobol/helios64/helios64.c | 304 +++++
|
||||||
board/kobol/helios64/sys_otp.c | 248 +++++
|
board/kobol/helios64/sys_otp.c | 248 ++++
|
||||||
board/kobol/helios64/sys_otp.h | 10 +
|
board/kobol/helios64/sys_otp.h | 10 +
|
||||||
configs/helios64-rk3399_defconfig | 149 +++
|
configs/helios64-rk3399_defconfig | 145 +++
|
||||||
include/configs/helios64.h | 47 +
|
include/configs/helios64.h | 47 +
|
||||||
12 files changed, 2061 insertions(+)
|
12 files changed, 2089 insertions(+)
|
||||||
create mode 100644 arch/arm/dts/rk3399-kobol-helios64-u-boot.dtsi
|
create mode 100644 arch/arm/dts/rk3399-kobol-helios64-u-boot.dtsi
|
||||||
create mode 100644 arch/arm/dts/rk3399-kobol-helios64.dts
|
create mode 100644 arch/arm/dts/rk3399-kobol-helios64.dts
|
||||||
create mode 100644 board/kobol/helios64/Kconfig
|
create mode 100644 board/kobol/helios64/Kconfig
|
||||||
|
@ -46,7 +46,7 @@ new file mode 100644
|
||||||
index 00000000..2988a209
|
index 00000000..2988a209
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/arch/arm/dts/rk3399-kobol-helios64-u-boot.dtsi
|
+++ b/arch/arm/dts/rk3399-kobol-helios64-u-boot.dtsi
|
||||||
@@ -0,0 +1,140 @@
|
@@ -0,0 +1,136 @@
|
||||||
+// SPDX-License-Identifier: GPL-2.0+
|
+// SPDX-License-Identifier: GPL-2.0+
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (c) 2020 Aditya Prayoga (aditya@kobol.io)
|
+ * Copyright (c) 2020 Aditya Prayoga (aditya@kobol.io)
|
||||||
|
@ -163,10 +163,6 @@ index 00000000..2988a209
|
||||||
+ };
|
+ };
|
||||||
+};
|
+};
|
||||||
+
|
+
|
||||||
+&power_hdd_a {
|
|
||||||
+ startup-delay-us = <10000000>;
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+&spi1 {
|
+&spi1 {
|
||||||
+ spiflash: flash@0 {
|
+ spiflash: flash@0 {
|
||||||
+ compatible = "jedec,spi-nor";
|
+ compatible = "jedec,spi-nor";
|
||||||
|
@ -192,7 +188,7 @@ new file mode 100644
|
||||||
index 00000000..9d067505
|
index 00000000..9d067505
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/arch/arm/dts/rk3399-kobol-helios64.dts
|
+++ b/arch/arm/dts/rk3399-kobol-helios64.dts
|
||||||
@@ -0,0 +1,1150 @@
|
@@ -0,0 +1,1146 @@
|
||||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (c) 2020 Aditya Prayoga (aditya@kobol.io)
|
+ * Copyright (c) 2020 Aditya Prayoga (aditya@kobol.io)
|
||||||
|
@ -417,8 +413,6 @@ index 00000000..9d067505
|
||||||
+ pinctrl-names = "default";
|
+ pinctrl-names = "default";
|
||||||
+ pinctrl-0 = <&hdd_a_power>;
|
+ pinctrl-0 = <&hdd_a_power>;
|
||||||
+ regulator-name = "power_hdd_a";
|
+ regulator-name = "power_hdd_a";
|
||||||
+ regulator-always-on;
|
|
||||||
+ regulator-boot-on;
|
|
||||||
+ };
|
+ };
|
||||||
+
|
+
|
||||||
+ power_hdd_b: power-hdd-b {
|
+ power_hdd_b: power-hdd-b {
|
||||||
|
@ -428,8 +422,6 @@ index 00000000..9d067505
|
||||||
+ pinctrl-names = "default";
|
+ pinctrl-names = "default";
|
||||||
+ pinctrl-0 = <&hdd_b_power>;
|
+ pinctrl-0 = <&hdd_b_power>;
|
||||||
+ regulator-name = "power_hdd_b";
|
+ regulator-name = "power_hdd_b";
|
||||||
+ regulator-always-on;
|
|
||||||
+ regulator-boot-on;
|
|
||||||
+ };
|
+ };
|
||||||
+
|
+
|
||||||
+ usblan_power: usblan-power {
|
+ usblan_power: usblan-power {
|
||||||
|
@ -1436,7 +1428,7 @@ new file mode 100644
|
||||||
index 00000000..c7a0efa4
|
index 00000000..c7a0efa4
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/board/kobol/helios64/helios64.c
|
+++ b/board/kobol/helios64/helios64.c
|
||||||
@@ -0,0 +1,262 @@
|
@@ -0,0 +1,304 @@
|
||||||
+// SPDX-License-Identifier: GPL-2.0+
|
+// SPDX-License-Identifier: GPL-2.0+
|
||||||
+/*
|
+/*
|
||||||
+ * (C) Copyright 2020 Aditya Prayoga (aditya@kobol.io)
|
+ * (C) Copyright 2020 Aditya Prayoga (aditya@kobol.io)
|
||||||
|
@ -1632,6 +1624,29 @@ index 00000000..c7a0efa4
|
||||||
+}
|
+}
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
|
+#ifdef CONFIG_ROCKCHIP_ADVANCED_RECOVERY
|
||||||
|
+void rockchip_prepare_download_mode(void)
|
||||||
|
+{
|
||||||
|
+ struct gpio_desc *enable, *mux;
|
||||||
|
+
|
||||||
|
+ if (gpio_hog_lookup_name("USB_MUX_OE#", &enable)) {
|
||||||
|
+ debug("Fail to get USB_MUX_OE\n");
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (gpio_hog_lookup_name("USB_MUX_HS", &mux)) {
|
||||||
|
+ debug("Fail to get USB_MUX_HS\n");
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ dm_gpio_set_value(enable, 0);
|
||||||
|
+ mdelay(100);
|
||||||
|
+ dm_gpio_set_value(mux, 1);
|
||||||
|
+ mdelay(100);
|
||||||
|
+ dm_gpio_set_value(enable, 1);
|
||||||
|
+}
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
+#ifdef CONFIG_LAST_STAGE_INIT
|
+#ifdef CONFIG_LAST_STAGE_INIT
|
||||||
+static void auto_power_enable(void)
|
+static void auto_power_enable(void)
|
||||||
+{
|
+{
|
||||||
|
@ -1653,9 +1668,28 @@ index 00000000..c7a0efa4
|
||||||
+ dm_gpio_set_value(clock, 0);
|
+ dm_gpio_set_value(clock, 0);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
|
+static void sata_power_enable(void)
|
||||||
|
+{
|
||||||
|
+ struct udevice *rail_a, *rail_b;
|
||||||
|
+ int ret;
|
||||||
|
+
|
||||||
|
+ ret = regulator_get_by_platname("power_hdd_a", &rail_a);
|
||||||
|
+ if (!ret) {
|
||||||
|
+ ret = regulator_set_enable(rail_a, true);
|
||||||
|
+ if (!ret)
|
||||||
|
+ mdelay(10000);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ ret = regulator_get_by_platname("power_hdd_b", &rail_b);
|
||||||
|
+ if (!ret)
|
||||||
|
+ ret = regulator_set_enable(rail_b, true);
|
||||||
|
+
|
||||||
|
+}
|
||||||
|
+
|
||||||
+int last_stage_init(void)
|
+int last_stage_init(void)
|
||||||
+{
|
+{
|
||||||
+ auto_power_enable();
|
+ auto_power_enable();
|
||||||
|
+ sata_power_enable();
|
||||||
+
|
+
|
||||||
+#ifdef CONFIG_PCI
|
+#ifdef CONFIG_PCI
|
||||||
+ scsi_scan(true);
|
+ scsi_scan(true);
|
||||||
|
@ -1974,13 +2008,16 @@ new file mode 100644
|
||||||
index 00000000..62210055
|
index 00000000..62210055
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/configs/helios64-rk3399_defconfig
|
+++ b/configs/helios64-rk3399_defconfig
|
||||||
@@ -0,0 +1,142 @@
|
@@ -0,0 +1,145 @@
|
||||||
+CONFIG_ARM=y
|
+CONFIG_ARM=y
|
||||||
+CONFIG_ARCH_ROCKCHIP=y
|
+CONFIG_ARCH_ROCKCHIP=y
|
||||||
+CONFIG_SYS_TEXT_BASE=0x00200000
|
+CONFIG_SYS_TEXT_BASE=0x00200000
|
||||||
+CONFIG_SPL_GPIO_SUPPORT=y
|
+CONFIG_SPL_GPIO_SUPPORT=y
|
||||||
+CONFIG_ENV_OFFSET=0x3F8000
|
+CONFIG_ENV_OFFSET=0x3F8000
|
||||||
+CONFIG_ROCKCHIP_RK3399=y
|
+CONFIG_ROCKCHIP_RK3399=y
|
||||||
|
+CONFIG_ROCKCHIP_ADVANCED_RECOVERY=y
|
||||||
|
+CONFIG_ROCKCHIP_ADVANCED_RECOVERY_LED="helios64::status"
|
||||||
|
+# CONFIG_ROCKCHIP_ADVANCED_RECOVERY_ROCKUSB is not set
|
||||||
+CONFIG_TARGET_HELIOS64=y
|
+CONFIG_TARGET_HELIOS64=y
|
||||||
+CONFIG_NR_DRAM_BANKS=1
|
+CONFIG_NR_DRAM_BANKS=1
|
||||||
+CONFIG_DEBUG_UART_BASE=0xFF1A0000
|
+CONFIG_DEBUG_UART_BASE=0xFF1A0000
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue