uboot-tools and arm-image-installer added
Signed-off-by: tuibuilder_pel7x64builder0 <tuibuilder@powerel.org>master
parent
6fbf7a208b
commit
7d41c9785f
|
@ -0,0 +1,86 @@
|
|||
a64-olinuxino
|
||||
amarula_a64_relic
|
||||
apple_m1
|
||||
bananapi_m2_plus_h5
|
||||
bananapi_m64
|
||||
beelink_gs1
|
||||
dragonboard410c
|
||||
dragonboard820c
|
||||
evb-rk3328
|
||||
evb-rk3399
|
||||
ficus-rk3399
|
||||
firefly-rk3399
|
||||
geekbox
|
||||
hikey
|
||||
khadas-edge-captain-rk3399
|
||||
khadas-edge-rk3399
|
||||
khadas-edge-v-rk3399
|
||||
khadas-vim
|
||||
khadas-vim2
|
||||
khadas-vim3
|
||||
khadas-vim3l
|
||||
leez-rk3399
|
||||
libretech-ac
|
||||
libretech_all_h3_cc_h5
|
||||
libretech_all_h3_it_h5
|
||||
libretech_all_h5_cc_h5
|
||||
libretech-cc
|
||||
mvebu_espressobin-88f3720
|
||||
mvebu_mcbin-88f8040
|
||||
nanopc-t4-rk3399
|
||||
nanopi_a64
|
||||
nanopi-k2
|
||||
nanopi-m4-2gb-rk3399
|
||||
nanopi-m4b-rk3399
|
||||
nanopi-m4-rk3399
|
||||
nanopi_neo2
|
||||
nanopi-neo4-rk3399
|
||||
nanopi_neo_plus2
|
||||
nanopi_r1s_h5
|
||||
nanopi-r2s-rk3328
|
||||
nanopi-r4s-rk3399
|
||||
odroid-c2
|
||||
orangepi_3
|
||||
orangepi_lite2
|
||||
orangepi_one_plus
|
||||
orangepi_pc2
|
||||
orangepi_prime
|
||||
orangepi-rk3399
|
||||
orangepi_win
|
||||
orangepi_zero2
|
||||
orangepi_zero_plus
|
||||
orangepi_zero_plus2
|
||||
p212
|
||||
p2371-2180
|
||||
p2771-0000-500
|
||||
p3450-0000
|
||||
pine64-lts
|
||||
pine64_plus
|
||||
pinebook
|
||||
pinebook-pro-rk3399
|
||||
pinephone-pro-rk3399
|
||||
pine_h64
|
||||
pinephone
|
||||
pinetab
|
||||
poplar
|
||||
puma-rk3399
|
||||
roc-cc-rk3328
|
||||
rock64-rk3328
|
||||
rock960-rk3399
|
||||
rock-pi-4c-rk3399
|
||||
rock-pi-4-rk3399
|
||||
rock-pi-e-rk3328
|
||||
rock-pi-n10-rk3399pro
|
||||
rockpro64-rk3399
|
||||
roc-pc-mezzanine-rk3399
|
||||
roc-pc-rk3399
|
||||
rpi_3
|
||||
rpi_4
|
||||
rpi_arm64
|
||||
starqltechn
|
||||
sopine_baseboard
|
||||
tanix_tx6
|
||||
teres_i
|
||||
turris_mox
|
||||
vexpress_aemv8a_juno
|
||||
xilinx_zynqmp_virt
|
|
@ -0,0 +1,886 @@
|
|||
From: Martijn Braam <martijn@brixit.nl>
|
||||
Subject: [PATCH] rockchip: Add initial support for the PinePhone Pro
|
||||
Date: Thu, 21 Oct 2021 19:18:43 +0200
|
||||
|
||||
This is a new device by PINE64 that's very similar to the Pinebook Pro
|
||||
that's already supported.
|
||||
|
||||
Specification:
|
||||
- Rockchip RK3399
|
||||
- 4GB Dual-Channel LPDDR4
|
||||
- 128GB eMMC
|
||||
- mSD card slot
|
||||
- AP6255 for 802.11ac WiFi and Bluetooth
|
||||
- 6 inch 720*1440 DSI display
|
||||
- Quectel EG25g usb modem
|
||||
- Type-C port with alt-mode display (DP 1.2) and PD charging.
|
||||
|
||||
Signed-off-by: Martijn Braam <martijn@brixit.nl>
|
||||
---
|
||||
|
||||
arch/arm/dts/Makefile | 1 +
|
||||
arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi | 44 ++
|
||||
arch/arm/dts/rk3399-pinephone-pro.dts | 520 ++++++++++++++++++
|
||||
arch/arm/mach-rockchip/rk3399/Kconfig | 8 +
|
||||
board/pine64/pinephone-pro-rk3399/Kconfig | 15 +
|
||||
board/pine64/pinephone-pro-rk3399/MAINTAINERS | 8 +
|
||||
board/pine64/pinephone-pro-rk3399/Makefile | 1 +
|
||||
.../pinephone-pro-rk3399.c | 57 ++
|
||||
configs/pinephone-pro-rk3399_defconfig | 92 ++++
|
||||
include/configs/pinephone-pro-rk3399.h | 23 +
|
||||
10 files changed, 769 insertions(+)
|
||||
create mode 100644 arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi
|
||||
create mode 100644 arch/arm/dts/rk3399-pinephone-pro.dts
|
||||
create mode 100644 board/pine64/pinephone-pro-rk3399/Kconfig
|
||||
create mode 100644 board/pine64/pinephone-pro-rk3399/MAINTAINERS
|
||||
create mode 100644 board/pine64/pinephone-pro-rk3399/Makefile
|
||||
create mode 100644 board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c
|
||||
create mode 100644 configs/pinephone-pro-rk3399_defconfig
|
||||
create mode 100644 include/configs/pinephone-pro-rk3399.h
|
||||
|
||||
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
|
||||
index ed3d360bb1..3206370226 100644
|
||||
--- a/arch/arm/dts/Makefile
|
||||
+++ b/arch/arm/dts/Makefile
|
||||
@@ -137,6 +137,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \
|
||||
rk3399-nanopi-r4s.dtb \
|
||||
rk3399-orangepi.dtb \
|
||||
rk3399-pinebook-pro.dtb \
|
||||
+ rk3399-pinephone-pro.dtb \
|
||||
rk3399-puma-haikou.dtb \
|
||||
rk3399-roc-pc.dtb \
|
||||
rk3399-roc-pc-mezzanine.dtb \
|
||||
diff --git a/arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi b/arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi
|
||||
new file mode 100644
|
||||
index 0000000000..9d44db5978
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi
|
||||
@@ -0,0 +1,44 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+/*
|
||||
+ * Copyright (C) 2019 Peter Robinson <pbrobinson at gmail.com>
|
||||
+ * Copyright (C) 2021 Martijn Braam <martijn at brixit.nl>
|
||||
+ */
|
||||
+
|
||||
+#include "rk3399-u-boot.dtsi"
|
||||
+#include "rk3399-sdram-lpddr4-100.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ aliases {
|
||||
+ spi0 = &spi1;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc;
|
||||
+ };
|
||||
+
|
||||
+ config {
|
||||
+ u-boot,spl-payload-offset = <0x60000>; /* @ 384KB */
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c0 {
|
||||
+ u-boot,dm-pre-reloc;
|
||||
+};
|
||||
+
|
||||
+&rk818 {
|
||||
+ u-boot,dm-pre-reloc;
|
||||
+};
|
||||
+
|
||||
+&rng {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sdhci {
|
||||
+ max-frequency = <25000000>;
|
||||
+ u-boot,dm-pre-reloc;
|
||||
+};
|
||||
+
|
||||
+&sdmmc {
|
||||
+ max-frequency = <20000000>;
|
||||
+ u-boot,dm-pre-reloc;
|
||||
+};
|
||||
diff --git a/arch/arm/dts/rk3399-pinephone-pro.dts b/arch/arm/dts/rk3399-pinephone-pro.dts
|
||||
new file mode 100644
|
||||
index 0000000000..3fe1845ced
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/rk3399-pinephone-pro.dts
|
||||
@@ -0,0 +1,520 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2021 Martijn Braam <martijn@brixit.nl>
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "rk3399.dtsi"
|
||||
+#include "rk3399-opp.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Pine64 PinePhone Pro";
|
||||
+ compatible = "pine64,pinephone-pro", "rockchip,rk3399";
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial2:1500000n8";
|
||||
+ };
|
||||
+
|
||||
+ sdio_pwrseq: sdio-pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ pinctrl-names = "default";
|
||||
+ };
|
||||
+
|
||||
+ /* Power tree */
|
||||
+ /* Root power source */
|
||||
+ vcc_sysin: vcc-sysin {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc_sysin";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ };
|
||||
+
|
||||
+ /* Main 3.3v supply */
|
||||
+ vcc3v3_sys: vcc3v3-sys {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc3v3_sys";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ vin-supply = <&vcc_sysin>;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cpu_l0 {
|
||||
+ cpu-supply = <&vdd_cpu_l>;
|
||||
+};
|
||||
+
|
||||
+&cpu_l1 {
|
||||
+ cpu-supply = <&vdd_cpu_l>;
|
||||
+};
|
||||
+
|
||||
+&cpu_l2 {
|
||||
+ cpu-supply = <&vdd_cpu_l>;
|
||||
+};
|
||||
+
|
||||
+&cpu_l3 {
|
||||
+ cpu-supply = <&vdd_cpu_l>;
|
||||
+};
|
||||
+
|
||||
+&cpu_b0 {
|
||||
+ cpu-supply = <&vdd_cpu_b>;
|
||||
+};
|
||||
+
|
||||
+&cpu_b1 {
|
||||
+ cpu-supply = <&vdd_cpu_b>;
|
||||
+};
|
||||
+
|
||||
+&emmc_phy {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&gpu {
|
||||
+ mali-supply = <&vdd_gpu>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2c0 {
|
||||
+ clock-frequency = <400000>;
|
||||
+ i2c-scl-rising-time-ns = <168>;
|
||||
+ i2c-scl-falling-time-ns = <4>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ rk818: pmic@1c {
|
||||
+ compatible = "rockchip,rk818";
|
||||
+ reg = <0x1c>;
|
||||
+ interrupt-parent = <&gpio1>;
|
||||
+ interrupts = <RK_PC5 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ #clock-cells = <1>;
|
||||
+ clock-output-names = "xin32k", "rk808-clkout2";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pmic_int_l>;
|
||||
+ rockchip,system-power-controller;
|
||||
+ wakeup-source;
|
||||
+
|
||||
+ vcc1-supply = <&vcc_sysin>;
|
||||
+ vcc2-supply = <&vcc_sysin>;
|
||||
+ vcc3-supply = <&vcc_sysin>;
|
||||
+ vcc4-supply = <&vcc_sysin>;
|
||||
+ vcc6-supply = <&vcc_sysin>;
|
||||
+ vcc7-supply = <&vcc3v3_sys>;
|
||||
+ vcc8-supply = <&vcc_sysin>;
|
||||
+ vcc9-supply = <&vcc3v3_sys>;
|
||||
+
|
||||
+ regulators {
|
||||
+ vdd_cpu_l: DCDC_REG1 {
|
||||
+ regulator-name = "vdd_cpu_1";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <750000>;
|
||||
+ regulator-max-microvolt = <1350000>;
|
||||
+ regulator-ramp-delay = <6001>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdd_center: DCDC_REG2 {
|
||||
+ regulator-name = "vdd_center";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <800000>;
|
||||
+ regulator-max-microvolt = <1350000>;
|
||||
+ regulator-ramp-delay = <6001>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_ddr: DCDC_REG3 {
|
||||
+ regulator-name = "vcc_ddr";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_1v8: DCDC_REG4 {
|
||||
+ regulator-name = "vcc_1v8";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <1800000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcca3v0_codec: LDO_REG1 {
|
||||
+ regulator-name = "vcca3v0_codec";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3000000>;
|
||||
+ regulator-max-microvolt = <3000000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc3v0_touch: LDO_REG2 {
|
||||
+ regulator-name = "vcc3v0_touch";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3000000>;
|
||||
+ regulator-max-microvolt = <3000000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcca1v8_codec: LDO_REG3 {
|
||||
+ regulator-name = "vcca1v8_codec";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_power_on: LDO_REG4 {
|
||||
+ regulator-name = "vcc_power_on";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <3300000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_3v0: LDO_REG5 {
|
||||
+ regulator-name = "vcc_3v0";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3000000>;
|
||||
+ regulator-max-microvolt = <3000000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <3000000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_1v5: LDO_REG6 {
|
||||
+ regulator-name = "vcc_1v5";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1500000>;
|
||||
+ regulator-max-microvolt = <1500000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <1500000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc1v8_dvp: LDO_REG7 {
|
||||
+ regulator-name = "vcc1v8_dvp";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc3v3_s3: LDO_REG8 {
|
||||
+ regulator-name = "vcc3v3_s3";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_sd: LDO_REG9 {
|
||||
+ regulator-name = "vcc_sd";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <3300000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc3v3_s0: SWITCH_REG {
|
||||
+ regulator-name = "vcc3v3_s0";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ boost_otg: DCDC_BOOST {
|
||||
+ regulator-name = "boost_otg";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <5000000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ otg_switch: OTG_SWITCH {
|
||||
+ regulator-name = "otg_switch";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdd_cpu_b: regulator@40 {
|
||||
+ compatible = "silergy,syr827";
|
||||
+ reg = <0x40>;
|
||||
+ fcs,suspend-voltage-selector = <1>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&vsel1_pin>;
|
||||
+ regulator-name = "vdd_cpu_b";
|
||||
+ regulator-min-microvolt = <712500>;
|
||||
+ regulator-max-microvolt = <1500000>;
|
||||
+ regulator-ramp-delay = <1000>;
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdd_gpu: regulator@41 {
|
||||
+ compatible = "silergy,syr828";
|
||||
+ reg = <0x41>;
|
||||
+ fcs,suspend-voltage-selector = <1>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&vsel2_pin>;
|
||||
+ regulator-name = "vdd_gpu";
|
||||
+ regulator-min-microvolt = <712500>;
|
||||
+ regulator-max-microvolt = <1500000>;
|
||||
+ regulator-ramp-delay = <1000>;
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c1 {
|
||||
+ i2c-scl-rising-time-ns = <300>;
|
||||
+ i2c-scl-falling-time-ns = <15>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2c3 {
|
||||
+ i2c-scl-rising-time-ns = <450>;
|
||||
+ i2c-scl-falling-time-ns = <15>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2c4 {
|
||||
+ i2c-scl-rising-time-ns = <600>;
|
||||
+ i2c-scl-falling-time-ns = <20>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ fusb0: typec-portc@22 {
|
||||
+ compatible = "fcs,fusb302";
|
||||
+ reg = <0x22>;
|
||||
+ interrupt-parent = <&gpio1>;
|
||||
+ interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&fusb0_int>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&io_domains {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ bt656-supply = <&vcc1v8_dvp>;
|
||||
+ audio-supply = <&vcca1v8_codec>;
|
||||
+ sdmmc-supply = <&vcc_sd>;
|
||||
+ gpio1830-supply = <&vcc_3v0>;
|
||||
+};
|
||||
+
|
||||
+&pmu_io_domains {
|
||||
+ pmu1830-supply = <&vcc_3v0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pinctrl {
|
||||
+ bt {
|
||||
+ bt_enable_h: bt-enable-h {
|
||||
+ rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+
|
||||
+ bt_host_wake_l: bt-host-wake-l {
|
||||
+ rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
+ };
|
||||
+
|
||||
+ bt_wake_l: bt-wake-l {
|
||||
+ rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ buttons {
|
||||
+ pwrbtn: pwrbtn {
|
||||
+ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fusb302x {
|
||||
+ fusb0_int: fusb0-int {
|
||||
+ rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ work_led_pin: work-led-pin {
|
||||
+ rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+
|
||||
+ diy_led_pin: diy-led-pin {
|
||||
+ rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pcie {
|
||||
+ pcie_perst: pcie-perst {
|
||||
+ rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+
|
||||
+ pcie_pwr_en: pcie-pwr-en {
|
||||
+ rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pmic {
|
||||
+ pmic_int_l: pmic-int-l {
|
||||
+ rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
+ };
|
||||
+
|
||||
+ vsel1_pin: vsel1-pin {
|
||||
+ rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
+ };
|
||||
+
|
||||
+ vsel2_pin: vsel2-pin {
|
||||
+ rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ sdcard {
|
||||
+ sdmmc0_pwr_h: sdmmc0-pwr-h {
|
||||
+ rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+
|
||||
+ };
|
||||
+
|
||||
+ sdio-pwrseq {
|
||||
+ wifi_enable_h: wifi-enable-h {
|
||||
+ rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ usb-typec {
|
||||
+ vcc5v0_typec_en: vcc5v0_typec_en {
|
||||
+ rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ usb2 {
|
||||
+ vcc5v0_host_en: vcc5v0-host-en {
|
||||
+ rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pwm0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pwm1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pwm2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sdio0 {
|
||||
+ bus-width = <4>;
|
||||
+ cap-sd-highspeed;
|
||||
+ cap-sdio-irq;
|
||||
+ disable-wp;
|
||||
+ keep-power-in-suspend;
|
||||
+ mmc-pwrseq = <&sdio_pwrseq>;
|
||||
+ non-removable;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
|
||||
+ sd-uhs-sdr104;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sdmmc {
|
||||
+ bus-width = <4>;
|
||||
+ cap-sd-highspeed;
|
||||
+ cd-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
|
||||
+ disable-wp;
|
||||
+ max-frequency = <150000000>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
|
||||
+ vmmc-supply = <&vcc3v3_s3>;
|
||||
+ vqmmc-supply = <&vcc_1v8>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sdhci {
|
||||
+ bus-width = <8>;
|
||||
+ mmc-hs200-1_8v;
|
||||
+ non-removable;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&tsadc {
|
||||
+ /* tshut mode 0:CRU 1:GPIO */
|
||||
+ rockchip,hw-tshut-mode = <1>;
|
||||
+ /* tshut polarity 0:LOW 1:HIGH */
|
||||
+ rockchip,hw-tshut-polarity = <1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&vopb {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&vopb_mmu {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&vopl {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&vopl_mmu {
|
||||
+ status = "okay";
|
||||
+};
|
||||
diff --git a/arch/arm/mach-rockchip/rk3399/Kconfig b/arch/arm/mach-rockchip/rk3399/Kconfig
|
||||
index 17628f9171..3ba603ca80 100644
|
||||
--- a/arch/arm/mach-rockchip/rk3399/Kconfig
|
||||
+++ b/arch/arm/mach-rockchip/rk3399/Kconfig
|
||||
@@ -28,6 +28,13 @@ config TARGET_PINEBOOK_PRO_RK3399
|
||||
with 4Gb RAM, onboard eMMC, USB-C, a USB3 and USB2 port,
|
||||
1920*1080 screen and all the usual laptop features.
|
||||
|
||||
+config TARGET_PINEPHONE_PRO_RK3399
|
||||
+ bool "PinePhone Pro"
|
||||
+ help
|
||||
+ PinePhone Pro is a phone based on the Rockchip rk3399 SoC
|
||||
+ with 4Gb RAM, onboard eMMC, USB-C, a headphone jack,
|
||||
+ 720x1440 screen and an external Quectel USB modem.
|
||||
+
|
||||
config TARGET_PUMA_RK3399
|
||||
bool "Theobroma Systems RK3399-Q7 (Puma)"
|
||||
help
|
||||
@@ -154,6 +161,7 @@ endif # BOOTCOUNT_LIMIT
|
||||
source "board/firefly/roc-pc-rk3399/Kconfig"
|
||||
source "board/google/gru/Kconfig"
|
||||
source "board/pine64/pinebook-pro-rk3399/Kconfig"
|
||||
+source "board/pine64/pinephone-pro-rk3399/Kconfig"
|
||||
source "board/pine64/rockpro64_rk3399/Kconfig"
|
||||
source "board/rockchip/evb_rk3399/Kconfig"
|
||||
source "board/theobroma-systems/puma_rk3399/Kconfig"
|
||||
diff --git a/board/pine64/pinephone-pro-rk3399/Kconfig b/board/pine64/pinephone-pro-rk3399/Kconfig
|
||||
new file mode 100644
|
||||
index 0000000000..13d6465ae6
|
||||
--- /dev/null
|
||||
+++ b/board/pine64/pinephone-pro-rk3399/Kconfig
|
||||
@@ -0,0 +1,15 @@
|
||||
+if TARGET_PINEPHONE_PRO_RK3399
|
||||
+
|
||||
+config SYS_BOARD
|
||||
+ default "pinephone-pro-rk3399"
|
||||
+
|
||||
+config SYS_VENDOR
|
||||
+ default "pine64"
|
||||
+
|
||||
+config SYS_CONFIG_NAME
|
||||
+ default "pinephone-pro-rk3399"
|
||||
+
|
||||
+config BOARD_SPECIFIC_OPTIONS
|
||||
+ def_bool y
|
||||
+
|
||||
+endif
|
||||
diff --git a/board/pine64/pinephone-pro-rk3399/MAINTAINERS b/board/pine64/pinephone-pro-rk3399/MAINTAINERS
|
||||
new file mode 100644
|
||||
index 0000000000..9ca4fc4cbe
|
||||
--- /dev/null
|
||||
+++ b/board/pine64/pinephone-pro-rk3399/MAINTAINERS
|
||||
@@ -0,0 +1,8 @@
|
||||
+PINEPHONE_PRO
|
||||
+M: Martijn Braam <martijn@brixit.nl>
|
||||
+S: Maintained
|
||||
+F: board/pine64/rk3399-pinephone-pro/
|
||||
+F: include/configs/rk3399-pinephone-pro.h
|
||||
+F: arch/arm/dts/rk3399-pinephone-pro.dts
|
||||
+F: arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi
|
||||
+F: configs/pinephone-pro-rk3399_defconfig
|
||||
diff --git a/board/pine64/pinephone-pro-rk3399/Makefile b/board/pine64/pinephone-pro-rk3399/Makefile
|
||||
new file mode 100644
|
||||
index 0000000000..8d9203053e
|
||||
--- /dev/null
|
||||
+++ b/board/pine64/pinephone-pro-rk3399/Makefile
|
||||
@@ -0,0 +1 @@
|
||||
+obj-y += pinephone-pro-rk3399.o
|
||||
diff --git a/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c
|
||||
new file mode 100644
|
||||
index 0000000000..8efeb6ea3d
|
||||
--- /dev/null
|
||||
+++ b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c
|
||||
@@ -0,0 +1,57 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+/*
|
||||
+ * (C) Copyright 2019 Vasily Khoruzhick <anarsoul@gmail.com>
|
||||
+ * (C) Copyright 2021 Martijn Braam <martijn@brixit.nl>
|
||||
+ */
|
||||
+
|
||||
+#include <common.h>
|
||||
+#include <dm.h>
|
||||
+#include <init.h>
|
||||
+#include <syscon.h>
|
||||
+#include <asm/io.h>
|
||||
+#include <asm/arch-rockchip/clock.h>
|
||||
+#include <asm/arch-rockchip/grf_rk3399.h>
|
||||
+#include <asm/arch-rockchip/hardware.h>
|
||||
+#include <asm/arch-rockchip/misc.h>
|
||||
+
|
||||
+#define GRF_IO_VSEL_BT565_SHIFT 0
|
||||
+#define PMUGRF_CON0_VSEL_SHIFT 8
|
||||
+
|
||||
+#ifdef CONFIG_MISC_INIT_R
|
||||
+static void setup_iodomain(void)
|
||||
+{
|
||||
+ struct rk3399_grf_regs *grf =
|
||||
+ syscon_get_first_range(ROCKCHIP_SYSCON_GRF);
|
||||
+ struct rk3399_pmugrf_regs *pmugrf =
|
||||
+ syscon_get_first_range(ROCKCHIP_SYSCON_PMUGRF);
|
||||
+
|
||||
+ /* BT565 is in 1.8v domain */
|
||||
+ rk_setreg(&grf->io_vsel, 1 << GRF_IO_VSEL_BT565_SHIFT);
|
||||
+
|
||||
+ /* Set GPIO1 1.8v/3.0v source select to PMU1830_VOL */
|
||||
+ rk_setreg(&pmugrf->soc_con0, 1 << PMUGRF_CON0_VSEL_SHIFT);
|
||||
+}
|
||||
+
|
||||
+int misc_init_r(void)
|
||||
+{
|
||||
+ const u32 cpuid_offset = 0x7;
|
||||
+ const u32 cpuid_length = 0x10;
|
||||
+ u8 cpuid[cpuid_length];
|
||||
+ int ret;
|
||||
+
|
||||
+ setup_iodomain();
|
||||
+
|
||||
+ ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ ret = rockchip_cpuid_set(cpuid, cpuid_length);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ ret = rockchip_setup_macaddr();
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+#endif
|
||||
diff --git a/configs/pinephone-pro-rk3399_defconfig b/configs/pinephone-pro-rk3399_defconfig
|
||||
new file mode 100644
|
||||
index 0000000000..2cf80f7d35
|
||||
--- /dev/null
|
||||
+++ b/configs/pinephone-pro-rk3399_defconfig
|
||||
@@ -0,0 +1,92 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_SKIP_LOWLEVEL_INIT=y
|
||||
+CONFIG_ARCH_ROCKCHIP=y
|
||||
+CONFIG_SYS_TEXT_BASE=0x00200000
|
||||
+CONFIG_NR_DRAM_BANKS=1
|
||||
+CONFIG_ENV_SIZE=0x8000
|
||||
+CONFIG_ROCKCHIP_RK3399=y
|
||||
+CONFIG_TARGET_PINEPHONE_PRO_RK3399=y
|
||||
+CONFIG_DEBUG_UART_BASE=0xFF1A0000
|
||||
+CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
+CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
||||
+CONFIG_SPL_SPI_SUPPORT=y
|
||||
+CONFIG_DEFAULT_DEVICE_TREE="rk3399-pinephone-pro"
|
||||
+CONFIG_DEBUG_UART=y
|
||||
+CONFIG_SYS_LOAD_ADDR=0x800800
|
||||
+CONFIG_BOOTDELAY=3
|
||||
+CONFIG_USE_PREBOOT=y
|
||||
+CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-pinephone-pro.dtb"
|
||||
+CONFIG_DISPLAY_BOARDINFO_LATE=y
|
||||
+CONFIG_MISC_INIT_R=y
|
||||
+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
||||
+CONFIG_SPL_STACK_R=y
|
||||
+CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
|
||||
+CONFIG_SPL_MTD_SUPPORT=y
|
||||
+CONFIG_SPL_SPI_LOAD=y
|
||||
+CONFIG_TPL=y
|
||||
+CONFIG_CMD_BOOTZ=y
|
||||
+CONFIG_CMD_GPIO=y
|
||||
+CONFIG_CMD_GPT=y
|
||||
+CONFIG_CMD_I2C=y
|
||||
+CONFIG_CMD_MMC=y
|
||||
+CONFIG_CMD_PCI=y
|
||||
+CONFIG_CMD_USB=y
|
||||
+# CONFIG_CMD_SETEXPR is not set
|
||||
+CONFIG_CMD_TIME=y
|
||||
+CONFIG_CMD_PMIC=y
|
||||
+CONFIG_CMD_REGULATOR=y
|
||||
+CONFIG_SPL_OF_CONTROL=y
|
||||
+CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
|
||||
+CONFIG_ENV_IS_IN_SPI_FLASH=y
|
||||
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
+CONFIG_ROCKCHIP_GPIO=y
|
||||
+CONFIG_SYS_I2C_ROCKCHIP=y
|
||||
+CONFIG_DM_KEYBOARD=y
|
||||
+CONFIG_LED=y
|
||||
+CONFIG_LED_GPIO=y
|
||||
+CONFIG_MISC=y
|
||||
+CONFIG_ROCKCHIP_EFUSE=y
|
||||
+CONFIG_MMC_DW=y
|
||||
+CONFIG_MMC_DW_ROCKCHIP=y
|
||||
+CONFIG_MMC_SDHCI=y
|
||||
+CONFIG_MMC_SDHCI_SDMA=y
|
||||
+CONFIG_MMC_SDHCI_ROCKCHIP=y
|
||||
+CONFIG_SF_DEFAULT_SPEED=20000000
|
||||
+CONFIG_SPI_FLASH_GIGADEVICE=y
|
||||
+CONFIG_SPI_FLASH_WINBOND=y
|
||||
+CONFIG_DM_ETH=y
|
||||
+CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
||||
+CONFIG_PHY_ROCKCHIP_TYPEC=y
|
||||
+CONFIG_DM_PMIC_FAN53555=y
|
||||
+CONFIG_PMIC_RK8XX=y
|
||||
+CONFIG_REGULATOR_PWM=y
|
||||
+CONFIG_REGULATOR_RK8XX=y
|
||||
+CONFIG_PWM_ROCKCHIP=y
|
||||
+CONFIG_RAM_RK3399_LPDDR4=y
|
||||
+CONFIG_DM_RESET=y
|
||||
+CONFIG_DM_RNG=y
|
||||
+CONFIG_RNG_ROCKCHIP=y
|
||||
+CONFIG_BAUDRATE=1500000
|
||||
+CONFIG_DEBUG_UART_SHIFT=2
|
||||
+CONFIG_ROCKCHIP_SPI=y
|
||||
+CONFIG_SYSRESET=y
|
||||
+CONFIG_USB=y
|
||||
+CONFIG_USB_XHCI_HCD=y
|
||||
+CONFIG_USB_XHCI_DWC3=y
|
||||
+CONFIG_USB_EHCI_HCD=y
|
||||
+CONFIG_USB_EHCI_GENERIC=y
|
||||
+CONFIG_USB_OHCI_HCD=y
|
||||
+CONFIG_USB_OHCI_GENERIC=y
|
||||
+CONFIG_USB_DWC3=y
|
||||
+CONFIG_USB_DWC3_GENERIC=y
|
||||
+CONFIG_USB_KEYBOARD=y
|
||||
+CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y
|
||||
+CONFIG_USB_HOST_ETHER=y
|
||||
+CONFIG_USB_ETHER_ASIX=y
|
||||
+CONFIG_USB_ETHER_RTL8152=y
|
||||
+CONFIG_DM_VIDEO=y
|
||||
+CONFIG_DISPLAY=y
|
||||
+CONFIG_VIDEO_ROCKCHIP=y
|
||||
+CONFIG_DISPLAY_ROCKCHIP_EDP=y
|
||||
+CONFIG_SPL_TINY_MEMSET=y
|
||||
+CONFIG_ERRNO_STR=y
|
||||
diff --git a/include/configs/pinephone-pro-rk3399.h b/include/configs/pinephone-pro-rk3399.h
|
||||
new file mode 100644
|
||||
index 0000000000..fefa793fdd
|
||||
--- /dev/null
|
||||
+++ b/include/configs/pinephone-pro-rk3399.h
|
||||
@@ -0,0 +1,23 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
+/*
|
||||
+ * Copyright (C) 2016 Rockchip Electronics Co., Ltd
|
||||
+ * Copyright (C) 2020 Peter Robinson <pbrobinson at gmail.com>
|
||||
+ * Copyright (C) 2021 Martijn Braam <martijn@brixit.nl>
|
||||
+ */
|
||||
+
|
||||
+#ifndef __PINEPHONE_PRO_RK3399_H
|
||||
+#define __PINEPHONE_PRO_RK3399_H
|
||||
+
|
||||
+#define ROCKCHIP_DEVICE_SETTINGS \
|
||||
+ "stdin=serial,usbkbd\0" \
|
||||
+ "stdout=serial,vidconsole\0" \
|
||||
+ "stderr=serial,vidconsole\0"
|
||||
+
|
||||
+#include <configs/rk3399_common.h>
|
||||
+
|
||||
+#define SDRAM_BANK_SIZE (2UL << 30)
|
||||
+
|
||||
+#define CONFIG_USB_OHCI_NEW
|
||||
+#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2
|
||||
+
|
||||
+#endif
|
|
@ -0,0 +1,96 @@
|
|||
From f10f94831450671a77f61fe413b4a57459963860 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Mon, 10 Aug 2020 22:20:29 +0100
|
||||
Subject: [PATCH] rpi: Use firmware provided device tree
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
configs/rpi_0_w_defconfig | 2 +-
|
||||
configs/rpi_2_defconfig | 2 +-
|
||||
configs/rpi_3_32b_defconfig | 2 +-
|
||||
configs/rpi_3_b_plus_defconfig | 2 +-
|
||||
configs/rpi_3_defconfig | 2 +-
|
||||
configs/rpi_defconfig | 2 +-
|
||||
6 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig
|
||||
index bba5e12b12..0241f4c6d3 100644
|
||||
--- a/configs/rpi_0_w_defconfig
|
||||
+++ b/configs/rpi_0_w_defconfig
|
||||
@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_FS_UUID=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig
|
||||
index 1c2bbb29ce..9573e475f4 100644
|
||||
--- a/configs/rpi_2_defconfig
|
||||
+++ b/configs/rpi_2_defconfig
|
||||
@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_FS_UUID=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig
|
||||
index b8a3d17f43..252df994e6 100644
|
||||
--- a/configs/rpi_3_32b_defconfig
|
||||
+++ b/configs/rpi_3_32b_defconfig
|
||||
@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_FS_UUID=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
diff --git a/configs/rpi_3_b_plus_defconfig b/configs/rpi_3_b_plus_defconfig
|
||||
index 4c361438fa..3b2996a2f9 100644
|
||||
--- a/configs/rpi_3_b_plus_defconfig
|
||||
+++ b/configs/rpi_3_b_plus_defconfig
|
||||
@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_FS_UUID=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig
|
||||
index 9b281a4f15..1e9ee6122e 100644
|
||||
--- a/configs/rpi_3_defconfig
|
||||
+++ b/configs/rpi_3_defconfig
|
||||
@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_FS_UUID=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig
|
||||
index b5ad53c37b..223fc03275 100644
|
||||
--- a/configs/rpi_defconfig
|
||||
+++ b/configs/rpi_defconfig
|
||||
@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_FS_UUID=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
--
|
||||
2.26.2
|
||||
|
|
@ -0,0 +1,228 @@
|
|||
From f3a870bfa075fb880f5e018a0a5ae6f27ca8be49 Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Fazio <vfazio@xes-inc.com>
|
||||
Date: Mon, 13 Sep 2021 13:34:45 -0500
|
||||
Subject: [PATCH] mmc: bcm2835-host: let firmware manage the clock
|
||||
|
||||
Newer firmware supports managing the sdhost clock divisor, so leverage
|
||||
this feature if it is available.
|
||||
|
||||
SET_SDHOST_CLOCK is largely undocumented except for its usage within the
|
||||
Linux kernel, which this change is based on.
|
||||
|
||||
https://github.com/raspberrypi/linux/commit/3cd16c39c718e2dda7885c4ed7a20118aed12524
|
||||
|
||||
Signed-off-by: Vincent Fazio <vfazio@xes-inc.com>
|
||||
---
|
||||
arch/arm/mach-bcm283x/include/mach/mbox.h | 18 ++++++++
|
||||
arch/arm/mach-bcm283x/include/mach/msg.h | 10 +++++
|
||||
arch/arm/mach-bcm283x/msg.c | 30 +++++++++++++
|
||||
drivers/mmc/bcm2835_sdhost.c | 53 ++++++++++++++---------
|
||||
4 files changed, 90 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
index 7dcac583cc4..9b1943fcfc4 100644
|
||||
--- a/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
+++ b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
@@ -252,6 +252,24 @@ struct bcm2835_mbox_tag_get_clock_rate {
|
||||
} body;
|
||||
};
|
||||
|
||||
+#define BCM2835_MBOX_TAG_SET_SDHOST_CLOCK 0x00038042
|
||||
+
|
||||
+struct bcm2835_mbox_tag_set_sdhost_clock {
|
||||
+ struct bcm2835_mbox_tag_hdr tag_hdr;
|
||||
+ union {
|
||||
+ struct {
|
||||
+ u32 rate_hz;
|
||||
+ u32 rate_1;
|
||||
+ u32 rate_2;
|
||||
+ } req;
|
||||
+ struct {
|
||||
+ u32 rate_hz;
|
||||
+ u32 rate_1;
|
||||
+ u32 rate_2;
|
||||
+ } resp;
|
||||
+ } body;
|
||||
+};
|
||||
+
|
||||
#define BCM2835_MBOX_TAG_ALLOCATE_BUFFER 0x00040001
|
||||
|
||||
struct bcm2835_mbox_tag_allocate_buffer {
|
||||
diff --git a/arch/arm/mach-bcm283x/include/mach/msg.h b/arch/arm/mach-bcm283x/include/mach/msg.h
|
||||
index e45c1bf010f..ab37abdb6c6 100644
|
||||
--- a/arch/arm/mach-bcm283x/include/mach/msg.h
|
||||
+++ b/arch/arm/mach-bcm283x/include/mach/msg.h
|
||||
@@ -22,6 +22,16 @@ int bcm2835_power_on_module(u32 module);
|
||||
*/
|
||||
int bcm2835_get_mmc_clock(u32 clock_id);
|
||||
|
||||
+/**
|
||||
+ * bcm2835_set_sdhost_clock() - determine if firmware controls sdhost cdiv
|
||||
+ *
|
||||
+ * @rate_hz: Input clock frequency
|
||||
+ * @rate_1: Returns a clock frequency
|
||||
+ * @rate_2: Returns a clock frequency
|
||||
+ * @return 0 of OK, -EIO on error
|
||||
+ */
|
||||
+int bcm2835_set_sdhost_clock(u32 rate_hz, u32 *rate_1, u32 *rate_2);
|
||||
+
|
||||
/**
|
||||
* bcm2835_get_video_size() - get the current display size
|
||||
*
|
||||
diff --git a/arch/arm/mach-bcm283x/msg.c b/arch/arm/mach-bcm283x/msg.c
|
||||
index e2badfecb09..8c1c36a5f15 100644
|
||||
--- a/arch/arm/mach-bcm283x/msg.c
|
||||
+++ b/arch/arm/mach-bcm283x/msg.c
|
||||
@@ -21,6 +21,12 @@ struct msg_get_clock_rate {
|
||||
u32 end_tag;
|
||||
};
|
||||
|
||||
+struct msg_set_sdhost_clock {
|
||||
+ struct bcm2835_mbox_hdr hdr;
|
||||
+ struct bcm2835_mbox_tag_set_sdhost_clock set_sdhost_clock;
|
||||
+ u32 end_tag;
|
||||
+};
|
||||
+
|
||||
struct msg_query {
|
||||
struct bcm2835_mbox_hdr hdr;
|
||||
struct bcm2835_mbox_tag_physical_w_h physical_w_h;
|
||||
@@ -111,6 +117,30 @@ int bcm2835_get_mmc_clock(u32 clock_id)
|
||||
return clock_rate;
|
||||
}
|
||||
|
||||
+int bcm2835_set_sdhost_clock(u32 rate_hz, u32 *rate_1, u32 *rate_2)
|
||||
+{
|
||||
+ ALLOC_CACHE_ALIGN_BUFFER(struct msg_set_sdhost_clock, msg_sdhost_clk, 1);
|
||||
+ int ret;
|
||||
+
|
||||
+ BCM2835_MBOX_INIT_HDR(msg_sdhost_clk);
|
||||
+ BCM2835_MBOX_INIT_TAG(&msg_sdhost_clk->set_sdhost_clock, SET_SDHOST_CLOCK);
|
||||
+
|
||||
+ msg_sdhost_clk->set_sdhost_clock.body.req.rate_hz = rate_hz;
|
||||
+ msg_sdhost_clk->set_sdhost_clock.body.req.rate_1 = *rate_1;
|
||||
+ msg_sdhost_clk->set_sdhost_clock.body.req.rate_2 = *rate_2;
|
||||
+
|
||||
+ ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN, &msg_sdhost_clk->hdr);
|
||||
+ if (ret) {
|
||||
+ printf("bcm2835: Could not query sdhost clock rate\n");
|
||||
+ return -EIO;
|
||||
+ }
|
||||
+
|
||||
+ *rate_1 = msg_sdhost_clk->set_sdhost_clock.body.resp.rate_1;
|
||||
+ *rate_2 = msg_sdhost_clk->set_sdhost_clock.body.resp.rate_2;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
int bcm2835_get_video_size(int *widthp, int *heightp)
|
||||
{
|
||||
ALLOC_CACHE_ALIGN_BUFFER(struct msg_query, msg_query, 1);
|
||||
diff --git a/drivers/mmc/bcm2835_sdhost.c b/drivers/mmc/bcm2835_sdhost.c
|
||||
index 894dbdd6861..3a9cd6f1eb2 100644
|
||||
--- a/drivers/mmc/bcm2835_sdhost.c
|
||||
+++ b/drivers/mmc/bcm2835_sdhost.c
|
||||
@@ -181,6 +181,7 @@ struct bcm2835_host {
|
||||
struct udevice *dev;
|
||||
struct mmc *mmc;
|
||||
struct bcm2835_plat *plat;
|
||||
+ unsigned int firmware_sets_cdiv:1;
|
||||
};
|
||||
|
||||
static void bcm2835_dumpregs(struct bcm2835_host *host)
|
||||
@@ -233,7 +234,7 @@ static void bcm2835_reset_internal(struct bcm2835_host *host)
|
||||
msleep(20);
|
||||
host->clock = 0;
|
||||
writel(host->hcfg, host->ioaddr + SDHCFG);
|
||||
- writel(host->cdiv, host->ioaddr + SDCDIV);
|
||||
+ writel(SDCDIV_MAX_CDIV, host->ioaddr + SDCDIV);
|
||||
}
|
||||
|
||||
static int bcm2835_wait_transfer_complete(struct bcm2835_host *host)
|
||||
@@ -598,6 +599,7 @@ static int bcm2835_transmit(struct bcm2835_host *host)
|
||||
static void bcm2835_set_clock(struct bcm2835_host *host, unsigned int clock)
|
||||
{
|
||||
int div;
|
||||
+ u32 clock_rate[2] = { 0 };
|
||||
|
||||
/* The SDCDIV register has 11 bits, and holds (div - 2). But
|
||||
* in data mode the max is 50MHz wihout a minimum, and only
|
||||
@@ -620,26 +622,34 @@ static void bcm2835_set_clock(struct bcm2835_host *host, unsigned int clock)
|
||||
* clock divisor at all times.
|
||||
*/
|
||||
|
||||
- if (clock < 100000) {
|
||||
- /* Can't stop the clock, but make it as slow as possible
|
||||
- * to show willing
|
||||
- */
|
||||
- host->cdiv = SDCDIV_MAX_CDIV;
|
||||
- writel(host->cdiv, host->ioaddr + SDCDIV);
|
||||
- return;
|
||||
- }
|
||||
+ if (host->firmware_sets_cdiv) {
|
||||
+ bcm2835_set_sdhost_clock(clock, &clock_rate[0], &clock_rate[1]);
|
||||
+ clock = max(clock_rate[0], clock_rate[1]);
|
||||
+ } else {
|
||||
+ if (clock < 100000) {
|
||||
+ /* Can't stop the clock, but make it as slow as possible
|
||||
+ * to show willing
|
||||
+ */
|
||||
+ host->cdiv = SDCDIV_MAX_CDIV;
|
||||
+ writel(host->cdiv, host->ioaddr + SDCDIV);
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
- div = host->max_clk / clock;
|
||||
- if (div < 2)
|
||||
- div = 2;
|
||||
- if ((host->max_clk / div) > clock)
|
||||
- div++;
|
||||
- div -= 2;
|
||||
+ div = host->max_clk / clock;
|
||||
+ if (div < 2)
|
||||
+ div = 2;
|
||||
+ if ((host->max_clk / div) > clock)
|
||||
+ div++;
|
||||
+ div -= 2;
|
||||
|
||||
- if (div > SDCDIV_MAX_CDIV)
|
||||
- div = SDCDIV_MAX_CDIV;
|
||||
+ if (div > SDCDIV_MAX_CDIV)
|
||||
+ div = SDCDIV_MAX_CDIV;
|
||||
+
|
||||
+ clock = host->max_clk / (div + 2);
|
||||
+ host->cdiv = div;
|
||||
+ writel(host->cdiv, host->ioaddr + SDCDIV);
|
||||
+ }
|
||||
|
||||
- clock = host->max_clk / (div + 2);
|
||||
host->mmc->clock = clock;
|
||||
|
||||
/* Calibrate some delays */
|
||||
@@ -647,9 +657,6 @@ static void bcm2835_set_clock(struct bcm2835_host *host, unsigned int clock)
|
||||
host->ns_per_fifo_word = (1000000000 / clock) *
|
||||
((host->mmc->card_caps & MMC_MODE_4BIT) ? 8 : 32);
|
||||
|
||||
- host->cdiv = div;
|
||||
- writel(host->cdiv, host->ioaddr + SDCDIV);
|
||||
-
|
||||
/* Set the timeout to 500ms */
|
||||
writel(host->mmc->clock / 2, host->ioaddr + SDTOUT);
|
||||
}
|
||||
@@ -759,6 +766,7 @@ static int bcm2835_probe(struct udevice *dev)
|
||||
struct bcm2835_host *host = dev_get_priv(dev);
|
||||
struct mmc *mmc = mmc_get_mmc_dev(dev);
|
||||
struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev);
|
||||
+ u32 clock_rate[2] = { ~0 };
|
||||
|
||||
host->dev = dev;
|
||||
host->mmc = mmc;
|
||||
@@ -776,6 +784,9 @@ static int bcm2835_probe(struct udevice *dev)
|
||||
|
||||
host->max_clk = bcm2835_get_mmc_clock(BCM2835_MBOX_CLOCK_ID_CORE);
|
||||
|
||||
+ bcm2835_set_sdhost_clock(0, &clock_rate[0], &clock_rate[1]);
|
||||
+ host->firmware_sets_cdiv = (clock_rate[0] != ~0);
|
||||
+
|
||||
bcm2835_add_host(host);
|
||||
|
||||
dev_dbg(dev, "%s -> OK\n", __func__);
|
|
@ -0,0 +1,77 @@
|
|||
From 71ba043e5c5575f3d86536acade70dab6599489b Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Fazio <vfazio@xes-inc.com>
|
||||
Date: Mon, 13 Sep 2021 11:22:30 -0500
|
||||
Subject: [PATCH] arm: rpi: fallback to max clock rate for MMC clock
|
||||
|
||||
In rpi-firmware 25e2b597ebfb2495eab4816a276758dcc6ea21f1 and later,
|
||||
the GET_CLOCK_RATE mailbox property was changed to return the last
|
||||
value set by SET_CLOCK_RATE.
|
||||
|
||||
https://github.com/raspberrypi/firmware/issues/1619#issuecomment-917025502
|
||||
|
||||
U-Boot does not call SET_CLOCK_RATE so bcm2835_get_mmc_clock will
|
||||
return zero and can cause degraded MMC performance.
|
||||
|
||||
Calling SET_CLOCK_RATE fixes the frequency of the clock to a specific
|
||||
value and disables the firmware's clock scaling so is not an option.
|
||||
|
||||
Instead, fallback to GET_MAX_CLOCK_RATE in bcm2835_get_mmc_clock if
|
||||
GET_CLOCK_RATE returns zero.
|
||||
|
||||
Signed-off-by: Vincent Fazio <vfazio@xes-inc.com>
|
||||
---
|
||||
arch/arm/mach-bcm283x/include/mach/mbox.h | 2 ++
|
||||
arch/arm/mach-bcm283x/msg.c | 20 +++++++++++++++++++-
|
||||
2 files changed, 21 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
index 2ae2d3d97c3..7dcac583cc4 100644
|
||||
--- a/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
+++ b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
@@ -224,6 +224,8 @@ struct bcm2835_mbox_tag_set_power_state {
|
||||
};
|
||||
|
||||
#define BCM2835_MBOX_TAG_GET_CLOCK_RATE 0x00030002
|
||||
+#define BCM2835_MBOX_TAG_GET_MAX_CLOCK_RATE 0x00030004
|
||||
+#define BCM2835_MBOX_TAG_GET_MIN_CLOCK_RATE 0x00030007
|
||||
|
||||
#define BCM2835_MBOX_CLOCK_ID_EMMC 1
|
||||
#define BCM2835_MBOX_CLOCK_ID_UART 2
|
||||
diff --git a/arch/arm/mach-bcm283x/msg.c b/arch/arm/mach-bcm283x/msg.c
|
||||
index 347aece3cd8..e2badfecb09 100644
|
||||
--- a/arch/arm/mach-bcm283x/msg.c
|
||||
+++ b/arch/arm/mach-bcm283x/msg.c
|
||||
@@ -75,6 +75,7 @@ int bcm2835_get_mmc_clock(u32 clock_id)
|
||||
{
|
||||
ALLOC_CACHE_ALIGN_BUFFER(struct msg_get_clock_rate, msg_clk, 1);
|
||||
int ret;
|
||||
+ u32 clock_rate = 0;
|
||||
|
||||
ret = bcm2835_power_on_module(BCM2835_MBOX_POWER_DEVID_SDHCI);
|
||||
if (ret)
|
||||
@@ -90,7 +91,24 @@ int bcm2835_get_mmc_clock(u32 clock_id)
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
- return msg_clk->get_clock_rate.body.resp.rate_hz;
|
||||
+ clock_rate = msg_clk->get_clock_rate.body.resp.rate_hz;
|
||||
+
|
||||
+ if (clock_rate == 0)
|
||||
+ {
|
||||
+ BCM2835_MBOX_INIT_HDR(msg_clk);
|
||||
+ BCM2835_MBOX_INIT_TAG(&msg_clk->get_clock_rate, GET_MAX_CLOCK_RATE);
|
||||
+ msg_clk->get_clock_rate.body.req.clock_id = clock_id;
|
||||
+
|
||||
+ ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN, &msg_clk->hdr);
|
||||
+ if (ret) {
|
||||
+ printf("bcm2835: Could not query max eMMC clock rate\n");
|
||||
+ return -EIO;
|
||||
+ }
|
||||
+
|
||||
+ clock_rate = msg_clk->get_clock_rate.body.resp.rate_hz;
|
||||
+ }
|
||||
+
|
||||
+ return clock_rate;
|
||||
}
|
||||
|
||||
int bcm2835_get_video_size(int *widthp, int *heightp)
|
|
@ -0,0 +1,84 @@
|
|||
From fd3434c754b3b8dddb345352a2434b6b8445343a Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Sun, 18 Apr 2021 14:05:45 +0100
|
||||
Subject: [PATCH] distro: load FDT from any partition on boot device
|
||||
|
||||
In the EFI_LOADER boot path, we were only checking the FAT partition
|
||||
containing the EFI payload for dtb files. But this is somewhat of a
|
||||
fiction. In reality there will be one small (V)FAT partition containing
|
||||
grub (or whatever the payload may be), and a second boot partition
|
||||
containing kernel/initrd/fdt (typically ext4). It is this second
|
||||
partition where we should be looking for a FDT to load.
|
||||
|
||||
So instead scan all the partitions of the disk containing the EFI
|
||||
payload. This matches where grub looks for kernel/initrd (barring
|
||||
custom grub.cfg, in which case the user can use grub's 'devicetree'
|
||||
command to load the correct FDT).
|
||||
|
||||
The other option is somehow passing the ${fdtfile} to grub so that it
|
||||
can load the FDT based on selected kernel version location (which grub
|
||||
knows) and SoC/board specific ${fdtfile} (which grub does not know).
|
||||
|
||||
Signed-off-by: Rob Clark <robdclark@gmail.com>
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
include/config_distro_bootcmd.h | 35 ++++++++++++++++++++++-----------
|
||||
1 file changed, 23 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
|
||||
index 2627c2a6a5..eadd1080b3 100644
|
||||
--- a/include/config_distro_bootcmd.h
|
||||
+++ b/include/config_distro_bootcmd.h
|
||||
@@ -148,26 +148,37 @@
|
||||
"fi\0" \
|
||||
\
|
||||
"load_efi_dtb=" \
|
||||
- "load ${devtype} ${devnum}:${distro_bootpart} " \
|
||||
- "${fdt_addr_r} ${prefix}${efi_fdtfile}\0" \
|
||||
+ "load ${devtype} ${devnum}:${dtb_devp} " \
|
||||
+ "${fdt_addr_r} ${prefix}${efi_fdtfile} && " \
|
||||
+ "run boot_efi_binary\0" \
|
||||
\
|
||||
"efi_dtb_prefixes=/ /dtb/ /dtb/current/\0" \
|
||||
- "scan_dev_for_efi=" \
|
||||
+ "scan_dev_for_dtb=" \
|
||||
"setenv efi_fdtfile ${fdtfile}; " \
|
||||
BOOTENV_EFI_SET_FDTFILE_FALLBACK \
|
||||
- "for prefix in ${efi_dtb_prefixes}; do " \
|
||||
- "if test -e ${devtype} " \
|
||||
- "${devnum}:${distro_bootpart} " \
|
||||
- "${prefix}${efi_fdtfile}; then " \
|
||||
- "run load_efi_dtb; " \
|
||||
- "fi;" \
|
||||
- "done;" \
|
||||
- "run boot_efi_bootmgr;" \
|
||||
+ "part list ${devtype} ${devnum} dtb_devplist; " \
|
||||
+ "env exists dtb_devplist || setenv dtb_devplist " \
|
||||
+ "${distro_bootpart}; " \
|
||||
+ "for dtb_devp in ${dtb_devplist}; do " \
|
||||
+ "for prefix in ${efi_dtb_prefixes}; do " \
|
||||
+ "if test -e ${devtype} " \
|
||||
+ "${devnum}:${dtb_devp} " \
|
||||
+ "${prefix}${efi_fdtfile};"\
|
||||
+ " then " \
|
||||
+ "echo Found DTB ${devtype} " \
|
||||
+ "${devnum}:${dtb_devp} " \
|
||||
+ "${prefix}${efi_fdtfile};"\
|
||||
+ "run load_efi_dtb; " \
|
||||
+ "fi;" \
|
||||
+ "done; " \
|
||||
+ "done; " \
|
||||
+ "run boot_efi_binary\0" \
|
||||
+ "scan_dev_for_efi=" \
|
||||
"if test -e ${devtype} ${devnum}:${distro_bootpart} " \
|
||||
"efi/boot/"BOOTEFI_NAME"; then " \
|
||||
"echo Found EFI removable media binary " \
|
||||
"efi/boot/"BOOTEFI_NAME"; " \
|
||||
- "run boot_efi_binary; " \
|
||||
+ "run scan_dev_for_dtb; " \
|
||||
"echo EFI LOAD FAILED: continuing...; " \
|
||||
"fi; " \
|
||||
"setenv efi_fdtfile\0"
|
||||
--
|
||||
2.31.1
|
||||
|
|
@ -0,0 +1,236 @@
|
|||
# Tarfile created using git
|
||||
# git clone https://pagure.io/arm-image-installer.git
|
||||
# git archive --format=tar --prefix=%{name}-%{version}/ %{version} | xz > ~/%{name}-%{version}.tar.xz
|
||||
|
||||
Name: arm-image-installer
|
||||
Version: 3.6
|
||||
Release: 1%{?dist}
|
||||
Summary: Writes binary image files to any specified block device
|
||||
License: GPLv2+
|
||||
Url: https://pagure.io/arm-image-installer
|
||||
Source0: %{name}-%{version}.tar.xz
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
Requires: btrfs-progs
|
||||
Requires: e2fsprogs
|
||||
Requires: libselinux-utils
|
||||
Requires: parted
|
||||
Requires: sudo
|
||||
Requires: util-linux
|
||||
Requires: xfsprogs
|
||||
Requires: xz
|
||||
|
||||
|
||||
%description
|
||||
Allows one to first select a source image (local or remote). The image must be
|
||||
a binary file containing: [MBR + Partitions + File Systems + Data]. A
|
||||
destination block device should then be selected for final installation.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup
|
||||
|
||||
%build
|
||||
echo "skipping..."
|
||||
|
||||
%install
|
||||
install -d %{buildroot}%{_datadir}/arm-image-installer
|
||||
install -d %{buildroot}%{_datadir}/arm-image-installer/socs.d
|
||||
install -pm 644 socs.d/* %{buildroot}%{_datadir}/arm-image-installer/socs.d/
|
||||
install -d %{buildroot}%{_datadir}/arm-image-installer/boards.d
|
||||
install -pm 644 boards.d/* %{buildroot}%{_datadir}/arm-image-installer/boards.d/
|
||||
|
||||
install -d %{buildroot}%{_bindir}
|
||||
install -pm 0755 update-uboot %{buildroot}%{_bindir}/
|
||||
install -pm 0755 arm-image-installer %{buildroot}%{_bindir}/
|
||||
install -pm 0755 rpi-uboot-update %{buildroot}%{_bindir}/
|
||||
install -pm 0755 spi-flashing-disk %{buildroot}%{_bindir}/
|
||||
ln -s /usr/bin/arm-image-installer %{buildroot}%{_bindir}/fedora-arm-image-installer
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%doc AUTHORS README TODO SUPPORTED-BOARDS
|
||||
%{_bindir}/arm-image-installer
|
||||
%{_bindir}/fedora-arm-image-installer
|
||||
%{_bindir}/update-uboot
|
||||
%{_bindir}/rpi-uboot-update
|
||||
%{_bindir}/spi-flashing-disk
|
||||
%{_datadir}/arm-image-installer/
|
||||
|
||||
%changelog
|
||||
* Wed Mar 30 2022 Paul Whalen <pwhalen@fedoraproject.org> - 3.6-1
|
||||
- Update to 3.6
|
||||
|
||||
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Fri Nov 12 2021 Paul Whalen <pwhalen@fedoraproject.org> - 3.5-1
|
||||
- Update to 3.5
|
||||
|
||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Mon Apr 19 2021 Paul Whalen <pwhalen@fedoraproject.org> - 3.4-1
|
||||
- Update to 3.4
|
||||
- Add spi-flashing-disk script
|
||||
|
||||
* Tue Apr 06 2021 Paul Whalen <pwhalen@fedoraproject.org> - 3.3-1
|
||||
- Update to 3.3
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Mon Jan 25 2021 Paul Whalen <pwhalen@fedoraproject.org> - 3.1-1
|
||||
- Update to 3.1
|
||||
|
||||
* Wed Oct 07 2020 Paul Whalen <pwhalen@fedoraproject.org> - 3.0-1
|
||||
- Update to 3.0
|
||||
|
||||
* Fri Aug 28 2020 Neal Gompa <ngompa13@gmail.com> - 2.18-2
|
||||
- Add missing dependency for btrfs-progs
|
||||
|
||||
* Wed Aug 12 2020 Paul Whalen <pwhalen@fedoraproject.org> - 2.18-1
|
||||
- Update to 2.18
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.17-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Fri May 15 2020 Paul Whalen <pwhalen@fedoraproject.org> - 2.17-1
|
||||
- Update to 2.17
|
||||
- readd rpi-uboot-update
|
||||
|
||||
* Tue Apr 07 2020 Paul Whalen <pwhalen@fedoraproject.org> - 2.16-1
|
||||
- Update to 2.16
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.15-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Fri Dec 20 2019 Paul Whalen <pwhalen@fedoraproject.org> - 2.15-1
|
||||
- Update to 2.15
|
||||
|
||||
* Thu Dec 19 2019 Paul Whalen <pwhalen@fedoraproject.org> - 2.14-1
|
||||
- Update to 2.14
|
||||
|
||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.13-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Wed Jun 26 2019 Paul Whalen <pwhalen@fedoraproject.org> - 2.13-1
|
||||
- Update to 2.13
|
||||
- Fix BZ#1655329, BZ#1692903
|
||||
|
||||
* Tue Apr 09 2019 Paul Whalen <pwhalen@fedoraproject.org> - 2.11-1
|
||||
- Update to 2.11
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.10-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Tue Dec 04 2018 Paul Whalen <pwhalen@fedoraproject.org> - 2.10-1
|
||||
- Update to 2.10
|
||||
|
||||
* Sat Dec 01 2018 Paul Whalen <pwhalen@fedoraproject.org> - 2.9-1
|
||||
- Update to 2.9
|
||||
|
||||
* Tue Oct 09 2018 Paul Whalen <pwhalen@redhat.com> - 2.8-1
|
||||
- Update to 2.8
|
||||
|
||||
* Tue Aug 28 2018 Paul Whalen <pwhalen@redhat.com> - 2.7-1
|
||||
- Update to 2.7
|
||||
|
||||
* Tue Aug 28 2018 Paul Whalen <pwhalen@redhat.com> - 2.6-1
|
||||
- Update to 2.6
|
||||
|
||||
* Tue Jul 10 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2.5-1
|
||||
- Update to 2.5
|
||||
- Package rename with obsolete/provides
|
||||
|
||||
* Fri Jun 01 2018 Paul Whalen <pwhalen@redhat.com> - 2.4-1
|
||||
- Update to 2.4
|
||||
- Add initial IoT disk image support
|
||||
- Add lvm support
|
||||
|
||||
* Mon May 28 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2.3-1
|
||||
- Update to 2.3
|
||||
|
||||
* Thu Apr 12 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2.2-1
|
||||
- Update to 2.2
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Tue Nov 28 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2.1-1
|
||||
- Update to 2.1
|
||||
|
||||
* Thu Nov 23 2017 Peter Robinson <pbrobinson@fedoraproject.org> 2.0-1
|
||||
- Update to 2.0
|
||||
- Initial support for aarch64 images and associated SBCs
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.99.16-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Tue May 16 2017 Peter Robinson <pbrobinson@fedoraproject.org> 1.99.16-1
|
||||
- Update to 1.99.16
|
||||
|
||||
* Wed May 3 2017 Peter Robinson <pbrobinson@fedoraproject.org> 1.99.15-1
|
||||
- Update to 1.99.15
|
||||
|
||||
* Fri Apr 28 2017 Peter Robinson <pbrobinson@fedoraproject.org> 1.99.14-1
|
||||
- Update to 1.99.14
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.99.13-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Mon Oct 24 2016 Peter Robinson <pbrobinson@fedoraproject.org> 1.99.13-1
|
||||
- Update to 1.99.13
|
||||
- Add basic Raspberry Pi firmware upgrade script
|
||||
|
||||
* Wed Sep 21 2016 Peter Robinson <pbrobinson@fedoraproject.org> 1.99.12-1
|
||||
- Update to 1.99.12
|
||||
|
||||
* Mon Aug 22 2016 Peter Robinson <pbrobinson@fedoraproject.org> 1.99.11-1
|
||||
- Update to 1.99.11
|
||||
|
||||
* Wed Aug 17 2016 Peter Robinson <pbrobinson@fedoraproject.org> 1.99.10-1
|
||||
- Update to 1.99.10
|
||||
- Added numerous boards
|
||||
|
||||
* Tue Jun 21 2016 Peter Robinson <pbrobinson@fedoraproject.org> 1.99.9-2
|
||||
- Require sudo
|
||||
|
||||
* Wed May 18 2016 Peter Robinson <pbrobinson@fedoraproject.org> 1.99.9-1
|
||||
- Update to 1.99.9
|
||||
- Support for ClearFog
|
||||
|
||||
* Mon Mar 7 2016 Peter Robinson <pbrobinson@fedoraproject.org> 1.99.8-1
|
||||
- Update to 1.99.8
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.99.7-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Tue Jan 19 2016 Peter Robinson <pbrobinson@fedoraproject.org> 1.99.7-1
|
||||
- Minor updates
|
||||
|
||||
* Mon Jan 18 2016 Peter Robinson <pbrobinson@fedoraproject.org> 1.99.6-2
|
||||
- Fix directory of data location
|
||||
|
||||
* Mon Jan 18 2016 Peter Robinson <pbrobinson@fedoraproject.org> 1.99.6-1
|
||||
- Update to 1.99.6
|
||||
- Rename binary to arm-image-installer, add compat symlink
|
||||
|
||||
* Sun Aug 2 2015 Peter Robinson <pbrobinson@fedoraproject.org> 1.99.5-1
|
||||
- Update to 1.99.5
|
||||
|
||||
* Fri Jul 24 2015 Peter Robinson <pbrobinson@fedoraproject.org> 1.99.4-1
|
||||
- Update to 1.99.4
|
||||
|
||||
* Fri Jul 3 2015 Peter Robinson <pbrobinson@fedoraproject.org> 1.99.3-1
|
||||
- Update to 1.99.3 for u-boot 2015.07 support
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.99.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Thu Mar 19 2015 Peter Robinson <pbrobinson@fedoraproject.org> 1.99.2-1
|
||||
- Update to 1.99.2
|
||||
|
||||
* Wed Mar 18 2015 Peter Robinson <pbrobinson@fedoraproject.org> 1.99.1-0.1
|
||||
- Update to new upstream
|
|
@ -0,0 +1,479 @@
|
|||
#global candidate rc0
|
||||
%bcond_without toolsonly
|
||||
|
||||
Name: uboot-tools
|
||||
Version: 2022.07
|
||||
Release: 1%{?candidate:.%{candidate}}%{?dist}
|
||||
Summary: U-Boot utilities
|
||||
License: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+
|
||||
URL: http://www.denx.de/wiki/U-Boot
|
||||
|
||||
ExcludeArch: s390x
|
||||
Source0: https://ftp.denx.de/pub/u-boot/u-boot-%{version}%{?candidate:-%{candidate}}.tar.bz2
|
||||
Source1: aarch64-boards
|
||||
|
||||
# Fedoraisms patches
|
||||
# Needed to find DT on boot partition that's not the first partition
|
||||
Patch1: uefi-distro-load-FDT-from-any-partition-on-boot-device.patch
|
||||
|
||||
# Board fixes and enablement
|
||||
# RPi - uses RPI firmware device tree for HAT support
|
||||
Patch3: rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch
|
||||
Patch4: rpi-fallback-to-max-clock-for-mmc.patch
|
||||
Patch5: rpi-bcm2835_sdhost-firmware-managed-clock.patch
|
||||
# Rockchips improvements
|
||||
Patch7: rockchip-Add-initial-support-for-the-PinePhone-Pro.patch
|
||||
|
||||
BuildRequires: bc
|
||||
BuildRequires: bison
|
||||
BuildRequires: dtc
|
||||
BuildRequires: flex
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gnutls-devel
|
||||
BuildRequires: libuuid-devel
|
||||
BuildRequires: make
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: perl-interpreter
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: python3-libfdt
|
||||
BuildRequires: SDL-devel
|
||||
BuildRequires: swig
|
||||
%ifarch aarch64
|
||||
BuildRequires: arm-trusted-firmware-armv8
|
||||
%endif
|
||||
Requires: dtc
|
||||
|
||||
%description
|
||||
This package contains a few U-Boot utilities - mkimage for creating boot images
|
||||
and fw_printenv/fw_setenv for manipulating the boot environment variables.
|
||||
|
||||
%if %{with toolsonly}
|
||||
%ifarch aarch64
|
||||
%package -n uboot-images-armv8
|
||||
Summary: U-Boot firmware images for aarch64 boards
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n uboot-images-armv8
|
||||
U-Boot firmware binaries for aarch64 boards
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n u-boot-%{version}%{?candidate:-%{candidate}}
|
||||
|
||||
cp %SOURCE1 .
|
||||
|
||||
%build
|
||||
mkdir builds
|
||||
|
||||
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" tools-only_defconfig O=builds/
|
||||
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" tools-all O=builds/
|
||||
|
||||
%if %{with toolsonly}
|
||||
# U-Boot device firmwares don't currently support LTO
|
||||
%define _lto_cflags %{nil}
|
||||
|
||||
%ifarch aarch64
|
||||
for board in $(cat %{_arch}-boards)
|
||||
do
|
||||
echo "Building board: $board"
|
||||
mkdir builds/$(echo $board)/
|
||||
|
||||
# ATF selection, needs improving, suggestions of ATF SoC to Board matrix welcome
|
||||
sun50i=(a64-olinuxino amarula_a64_relic bananapi_m2_plus_h5 bananapi_m64 libretech_all_h3_cc_h5 nanopi_a64 nanopi_neo2 nanopi_neo_plus2 orangepi_pc2 orangepi_prime orangepi_win orangepi_zero_plus orangepi_zero_plus2 pine64-lts pine64_plus pinebook pinephone pinetab sopine_baseboard teres_i)
|
||||
if [[ " ${sun50i[*]} " == *" $board "* ]]; then
|
||||
echo "Board: $board using sun50i_a64"
|
||||
cp /usr/share/arm-trusted-firmware/sun50i_a64/* builds/$(echo $board)/
|
||||
fi
|
||||
sun50h6=(beelink_gs1 orangepi_3 orangepi_lite2 orangepi_one_plus orangepi_zero2 pine_h64 tanix_tx6)
|
||||
if [[ " ${sun50h6[*]} " == *" $board "* ]]; then
|
||||
echo "Board: $board using sun50i_h6"
|
||||
cp /usr/share/arm-trusted-firmware/sun50i_h6/* builds/$(echo $board)/
|
||||
fi
|
||||
rk3328=(evb-rk3328 nanopi-r2s-rk3328 rock64-rk3328 rock-pi-e-rk3328 roc-cc-rk3328)
|
||||
if [[ " ${rk3328[*]} " == *" $board "* ]]; then
|
||||
echo "Board: $board using rk3328"
|
||||
cp /usr/share/arm-trusted-firmware/rk3328/* builds/$(echo $board)/
|
||||
fi
|
||||
rk3399=(evb-rk3399 ficus-rk3399 firefly-rk3399 khadas-edge-captain-rk3399 khadas-edge-rk3399 khadas-edge-v-rk3399 leez-rk3399 nanopc-t4-rk3399 nanopi-m4-2gb-rk3399 nanopi-m4b-rk3399 nanopi-m4-rk3399 nanopi-neo4-rk3399 nanopi-r4s-rk3399 orangepi-rk3399 pinebook-pro-rk3399 pinephone-pro-rk3399 puma-rk3399 rock960-rk3399 rock-pi-4c-rk3399 rock-pi-4-rk3399 rock-pi-n10-rk3399pro rockpro64-rk3399 roc-pc-mezzanine-rk3399 roc-pc-rk3399)
|
||||
if [[ " ${rk3399[*]} " == *" $board "* ]]; then
|
||||
echo "Board: $board using rk3399"
|
||||
cp /usr/share/arm-trusted-firmware/rk3399/* builds/$(echo $board)/
|
||||
fi
|
||||
# End ATF
|
||||
|
||||
make $(echo $board)_defconfig O=builds/$(echo $board)/
|
||||
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" O=builds/$(echo $board)/
|
||||
|
||||
# build spi images for rockchip boards with SPI flash
|
||||
rkspi=(rock64-rk3328)
|
||||
if [[ " ${rkspi[*]} " == *" $board "* ]]; then
|
||||
echo "Board: $board with SPI flash"
|
||||
builds/$(echo $board)/tools/mkimage -n rk3328 -T rkspi -d builds/$(echo $board)/tpl/u-boot-tpl.bin:builds/$(echo $board)/spl/u-boot-spl.bin builds/$(echo $board)/idbloader.spi
|
||||
fi
|
||||
rkspi=(evb-rk3399 khadas-edge-captain-rk3399 khadas-edge-rk3399 khadas-edge-v-rk3399 nanopc-t4-rk3399 pinebook-pro-rk3399 pinephone-pro-rk3399 rockpro64-rk3399 roc-pc-mezzanine-rk3399 roc-pc-rk3399)
|
||||
if [[ " ${rkspi[*]} " == *" $board "* ]]; then
|
||||
echo "Board: $board with SPI flash"
|
||||
builds/$(echo $board)/tools/mkimage -n rk3399 -T rkspi -d builds/$(echo $board)/tpl/u-boot-tpl.bin:builds/$(echo $board)/spl/u-boot-spl.bin builds/$(echo $board)/idbloader.spi
|
||||
fi
|
||||
done
|
||||
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
mkdir -p %{buildroot}%{_mandir}/man1
|
||||
mkdir -p %{buildroot}%{_datadir}/uboot/
|
||||
|
||||
%if %{with toolsonly}
|
||||
%ifarch aarch64
|
||||
for board in $(ls builds)
|
||||
do
|
||||
mkdir -p %{buildroot}%{_datadir}/uboot/$(echo $board)/
|
||||
for file in u-boot.bin u-boot.dtb u-boot.img u-boot-dtb.img u-boot.itb u-boot-sunxi-with-spl.bin u-boot-rockchip.bin idbloader.img idbloader.spi spl/boot.bin spl/sunxi-spl.bin
|
||||
do
|
||||
if [ -f builds/$(echo $board)/$(echo $file) ]; then
|
||||
install -p -m 0644 builds/$(echo $board)/$(echo $file) %{buildroot}%{_datadir}/uboot/$(echo $board)/
|
||||
fi
|
||||
done
|
||||
done
|
||||
%endif
|
||||
|
||||
# Bit of a hack to remove binaries we don't use as they're large
|
||||
%ifarch aarch64
|
||||
for board in $(ls builds)
|
||||
do
|
||||
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.dtb
|
||||
if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot-sunxi-with-spl.bin ]; then
|
||||
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot{,-dtb}.*
|
||||
fi
|
||||
if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/MLO ]; then
|
||||
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.bin
|
||||
fi
|
||||
if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/SPL ]; then
|
||||
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.bin
|
||||
fi
|
||||
if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.imx ]; then
|
||||
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.bin
|
||||
fi
|
||||
if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot-spl.kwb ]; then
|
||||
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.*
|
||||
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot-spl.bin
|
||||
fi
|
||||
if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/idbloader.img ]; then
|
||||
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.bin
|
||||
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot{,-dtb}.img
|
||||
fi
|
||||
done
|
||||
%endif
|
||||
%endif
|
||||
|
||||
for tool in bmp_logo dumpimage env/fw_printenv fit_check_sign fit_info gdb/gdbcont gdb/gdbsend gen_eth_addr gen_ethaddr_crc img2srec mkenvimage mkimage mksunxiboot ncb proftool sunxi-spl-image-builder ubsha1 xway-swap-bytes kwboot
|
||||
do
|
||||
install -p -m 0755 builds/tools/$tool %{buildroot}%{_bindir}
|
||||
done
|
||||
install -p -m 0644 doc/mkimage.1 %{buildroot}%{_mandir}/man1
|
||||
|
||||
install -p -m 0755 builds/tools/env/fw_printenv %{buildroot}%{_bindir}
|
||||
( cd %{buildroot}%{_bindir}; ln -sf fw_printenv fw_setenv )
|
||||
|
||||
# Copy some useful docs over
|
||||
mkdir -p builds/docs
|
||||
cp -p board/hisilicon/hikey/README builds/docs/README.hikey
|
||||
cp -p board/rockchip/evb_rk3399/README builds/docs/README.evb_rk3399
|
||||
cp -p board/sunxi/README.sunxi64 builds/docs/README.sunxi64
|
||||
cp -p board/sunxi/README.nand builds/docs/README.sunxi-nand
|
||||
|
||||
%files
|
||||
%doc README doc/develop/distro.rst doc/README.gpt
|
||||
%doc doc/README.rockchip doc/develop/uefi doc/uImage.FIT doc/arch/arm64.rst
|
||||
%doc builds/docs/* doc/board/amlogic/ doc/board/rockchip/
|
||||
%{_bindir}/*
|
||||
%{_mandir}/man1/mkimage.1*
|
||||
%dir %{_datadir}/uboot/
|
||||
|
||||
%if %{with toolsonly}
|
||||
%ifarch aarch64
|
||||
%files -n uboot-images-armv8
|
||||
%{_datadir}/uboot/*
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Sun Jul 17 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.07-1
|
||||
- Update to 2022.07 GA
|
||||
|
||||
* Mon Jul 04 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.07-0.6.rc6
|
||||
- Update to 2022.07 RC6
|
||||
|
||||
* Mon Jun 20 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.07-0.5.rc5
|
||||
- Update to 2022.07 RC5
|
||||
|
||||
* Sun Jun 12 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.07-0.4.rc4
|
||||
- Update to 2022.07 RC4
|
||||
- Some minor Rockchips device fixes
|
||||
|
||||
* Wed May 25 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.07-0.3.rc3
|
||||
- Update to 2022.07 RC3
|
||||
|
||||
* Sat May 14 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.07-0.2.rc2
|
||||
- Update to 2022.07 RC2
|
||||
|
||||
* Tue Apr 26 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.07-0.1.rc1
|
||||
- Update to 2022.07 RC1
|
||||
|
||||
* Mon Apr 04 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.04-1
|
||||
- Update to 2022.04 GA
|
||||
|
||||
* Mon Mar 28 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.04-0.4.rc5
|
||||
- Update to 2022.04 RC5
|
||||
|
||||
* Tue Mar 08 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.04-0.3.rc3
|
||||
- Update to 2022.04 RC3
|
||||
- Enable new Rockchip devices
|
||||
|
||||
* Tue Feb 15 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.04-0.2.rc2
|
||||
- Update to 2022.04 RC2
|
||||
|
||||
* Wed Feb 02 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.04-0.1.rc1
|
||||
- Update to 2022.04 RC1
|
||||
|
||||
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2022.01-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Mon Jan 10 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.01-1
|
||||
- Update to 2022.01
|
||||
|
||||
* Wed Jan 05 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.01-0.3.rc4
|
||||
- Upstream fixes for PHY and UEFI
|
||||
|
||||
* Mon Dec 20 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.01-0.2.rc4
|
||||
- Update to 2022.01 RC4
|
||||
|
||||
* Mon Nov 15 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.01-0.1.rc2
|
||||
- Update to 2022.01 RC2
|
||||
|
||||
* Mon Nov 15 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-3
|
||||
- Fixes for rk3399 devices
|
||||
|
||||
* Thu Oct 14 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-2
|
||||
- Fix booting from MMC for Rockchip 3399 (rhbz #2014182)
|
||||
- Enable new rk3399 devices (Leez, NanoPi-M4B, NanoPi-4S, NanoPi-T4) (rhbz #2009126)
|
||||
|
||||
* Mon Oct 04 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-1
|
||||
- Update to 2021.10
|
||||
|
||||
* Mon Sep 27 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-0.7.rc5
|
||||
- Update to 2021.10 RC5
|
||||
|
||||
* Wed Sep 15 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-0.6.rc4
|
||||
- Update to 2021.10 RC4
|
||||
- Proposed fix for RPi MMC clock issue
|
||||
|
||||
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 2021.10-0.6.rc3
|
||||
- Rebuilt with OpenSSL 3.0.0
|
||||
|
||||
* Mon Aug 30 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-0.5.rc3
|
||||
- Update to 2021.10 RC3
|
||||
|
||||
* Tue Aug 24 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-0.4.rc2
|
||||
- Fix for Raspberry Pi firmware properties
|
||||
|
||||
* Mon Aug 23 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-0.3.rc2
|
||||
- Fix for rockchip SPI
|
||||
|
||||
* Mon Aug 16 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-0.2.rc2
|
||||
- Update to 2021.10 RC2
|
||||
|
||||
* Sun Aug 08 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-0.1.rc1
|
||||
- Update to 2021.10 RC1
|
||||
|
||||
* Thu Jul 22 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.07-2
|
||||
- Fix regression for Rockchip devices running firmware from SPI flash
|
||||
|
||||
* Mon Jul 05 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.07-1
|
||||
- Update to 2021.07 GA
|
||||
|
||||
* Mon Jun 28 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.07-0.6.rc5
|
||||
- Update to 2021.07 RC5
|
||||
- Build SPI fash images for ROC-PC-RK3399
|
||||
|
||||
* Mon Jun 07 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.07-0.5.rc4
|
||||
- Update to 2021.07 RC4
|
||||
|
||||
* Sat Jun 05 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.07-0.4.rc3
|
||||
- Fix AllWinner devices booting from mSD/MMC
|
||||
|
||||
* Tue May 25 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.07-0.3.rc3
|
||||
- Update to 2021.07 RC3
|
||||
- Build against ATF 2.5 GA
|
||||
|
||||
* Thu May 13 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.07-0.2.rc2
|
||||
- Build against new ATF 2.5-rc1
|
||||
|
||||
* Mon May 10 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.07-0.1.rc2
|
||||
- Update to 2021.07 RC2
|
||||
|
||||
* Wed Apr 28 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.04-3
|
||||
- Upstream fix for console regression (rhbz 1946278)
|
||||
- Fix for fallback.efi crash (rhbz 1733817)
|
||||
|
||||
* Wed Apr 21 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.04-2
|
||||
- Revert keyboard console regression change (rhbz 1946278)
|
||||
|
||||
* Sun Apr 18 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.04-1
|
||||
- Update to 2021.04 GA
|
||||
- Fix DTB load check (rhbz 1946278)
|
||||
- Build Rockchip SPI support as idbloader.spi
|
||||
- Fixes for Rockchip devices
|
||||
- Build Turris Omnia for MMC/SPI/UART
|
||||
|
||||
* Wed Mar 17 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.04-0.6.rc4
|
||||
- Update to 2021.04 RC4
|
||||
- Move to upstream fix for SMP on RPi3B and RPi3B+
|
||||
|
||||
* Sat Mar 13 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.04-0.5.rc3
|
||||
- Fix for SMP on RPi3B and RPi3B+
|
||||
- Initial support for Pinephone 3Gb edition
|
||||
|
||||
* Mon Mar 08 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.04-0.4.rc3
|
||||
- Update to 2021.04 RC3
|
||||
|
||||
* Tue Feb 16 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.04-0.3.rc2
|
||||
- Update to 2021.04 RC2
|
||||
|
||||
* Mon Feb 15 2021 Dennis Gilmore <dennis@ausil.us>
|
||||
- build spi and uart images in addition to mmc for helios4 and clearfog
|
||||
|
||||
* Wed Feb 10 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.04-0.2.rc1
|
||||
- Fixes for network issues on some Allwinner devices
|
||||
|
||||
* Mon Feb 01 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.04-0.1.rc1
|
||||
- Update to 2021.04 RC1
|
||||
- Add new upstream devices
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2021.01-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Mon Jan 11 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.01-1
|
||||
- Update to 2021.01 GA
|
||||
- Updates for Raspberry Pi 4 Series of devices
|
||||
|
||||
* Tue Jan 5 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.01-0.5.rc5
|
||||
- Update to 2021.01 RC5
|
||||
|
||||
* Sun Dec 27 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.01-0.4.rc4
|
||||
- Update to 2021.01 RC4
|
||||
- Latest RPi-400/CM4 support patch
|
||||
|
||||
* Tue Dec 15 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.01-0.3.rc3
|
||||
- Update to 2021.01 RC3
|
||||
- Latest RPi-400/CM4 support patch
|
||||
- Re-enable previously disabled device support
|
||||
|
||||
* Mon Dec 14 2020 Javier Martinez Canillas <javierm@redhat.com> - 2021.01-0.2.rc2
|
||||
- Fix a "scan_dev_for_efi" not defined error
|
||||
|
||||
* Sun Nov 22 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.01-0.1.rc2
|
||||
- Update to 2021.01 RC2
|
||||
- Latest Pinebook Pro display patches
|
||||
- Initial RPi-400 support patch
|
||||
- Update Fedora specific patches
|
||||
|
||||
* Sun Nov 8 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-3
|
||||
- Fix SPI on Rockchip devices
|
||||
- Latest Pinebook Pro display patches
|
||||
- Fix Keyboard and USB-A ports on Pinebook Pro
|
||||
|
||||
* Wed Oct 28 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-2
|
||||
- Fix kernel installs for non EBBR systems
|
||||
- Fix for wired networks on some Allwinner devices
|
||||
|
||||
* Tue Oct 06 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-1
|
||||
- Update to 2020.10
|
||||
|
||||
* Sun Sep 27 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-0.6.rc5
|
||||
- Initial support for display output on Pinebook Pro
|
||||
|
||||
* Tue Sep 22 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-0.5.rc5
|
||||
- Update to 2020.10 RC5
|
||||
|
||||
* Wed Sep 09 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-0.4.rc4
|
||||
- Update to 2020.10 RC4
|
||||
|
||||
* Wed Aug 19 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-0.3.rc2
|
||||
- Enable a number of new Rockchip devices
|
||||
|
||||
* Mon Aug 10 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-0.2.rc2
|
||||
- Update to 2020.10 RC2
|
||||
|
||||
* Tue Jul 28 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-0.1.rc1
|
||||
- 2020.10 RC1
|
||||
|
||||
* Tue Jul 14 2020 Tom Stellard <tstellar@redhat.com> - 2020.07-2
|
||||
- Use make macros
|
||||
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
|
||||
|
||||
* Mon Jul 06 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.07-1
|
||||
- 2020.07 GA
|
||||
|
||||
* Tue Jun 23 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.07-0.5.rc5
|
||||
- 2020.07 RC5
|
||||
|
||||
* Thu Jun 18 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.07-0.4.rc4
|
||||
- Update various patches to latest upstream
|
||||
|
||||
* Wed Jun 10 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.07-0.3.rc4
|
||||
- 2020.07 RC4
|
||||
- Minor updates and other fixes
|
||||
|
||||
* Tue May 12 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.07-0.2.rc2
|
||||
- 2020.07 RC2
|
||||
- Minor device updates
|
||||
|
||||
* Wed Apr 29 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.07-0.1.rc1
|
||||
- 2020.07 RC1
|
||||
|
||||
* Tue Apr 21 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.04-4
|
||||
- Initial support for USB on Rasperry Pi 4
|
||||
|
||||
* Tue Apr 21 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.04-3
|
||||
- Ship u-boot-rockchip.bin for SPI flash
|
||||
|
||||
* Mon Apr 20 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.04-2
|
||||
- Fix ATF for new aarch64 devices
|
||||
- Fix Wandboard board detection (rhbz 1825247)
|
||||
- Fix mSD card on RockPro64
|
||||
- Enable (inital) Pinebook Pro
|
||||
|
||||
* Tue Apr 14 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.04-1
|
||||
- 2020.04
|
||||
|
||||
* Tue Apr 7 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.7-rc5
|
||||
- 2020.04 RC5
|
||||
|
||||
* Tue Mar 31 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.6-rc4
|
||||
- 2020.04 RC4
|
||||
- Updates for NVIDIA Jetson platforms
|
||||
- Support RNG for random seed for KASLR on some Rockchip devices
|
||||
|
||||
* Thu Mar 26 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.5-rc3
|
||||
- Fix ext4 alignment issue seen on some NXP i.MX devices
|
||||
|
||||
* Wed Feb 26 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.4-rc3
|
||||
- 2020.04 RC3
|
||||
|
||||
* Thu Feb 13 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.3-rc2
|
||||
- 2020.04 RC2
|
||||
|
||||
* Sun Feb 2 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.2-rc1
|
||||
- Update genet NIC driver
|
||||
|
||||
* Wed Jan 29 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.1-rc1
|
||||
- 2020.04 RC1
|
||||
|
||||
* Tue Jan 7 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.01-1
|
||||
- 2020.01
|
Loading…
Reference in New Issue