mirror of
https://github.com/revyos/th1520-vendor-uboot.git
synced 2026-06-21 17:12:31 +02:00
Compare commits
100 Commits
Linux_SDK_
...
20241223
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
68565d2855 | ||
|
|
72c738e9ce | ||
|
|
a46c283102 | ||
|
|
71bb3b069e | ||
|
|
8942b2dce6 | ||
|
|
fc9575fa63 | ||
|
|
4ca0f76729 | ||
|
|
660cb1b920 | ||
|
|
f0e5c60169 | ||
|
|
0248804ead | ||
|
|
7ce2d43f6b | ||
|
|
dd138c76f8 | ||
|
|
197c6cdccd | ||
|
|
2a2c5264a5 | ||
|
|
96627087db | ||
|
|
da9c7240ac | ||
|
|
e6d25986dd | ||
|
|
d2c6528890 | ||
|
|
cefbf1d0ea | ||
|
|
c7e455caf5 | ||
|
|
905fa2e762 | ||
|
|
2674ac70e4 | ||
|
|
e0247b8a62 | ||
|
|
2fc52cbb27 | ||
|
|
ce1890d0dc | ||
|
|
9893f1a2c0 | ||
|
|
f80c918aa2 | ||
|
|
69d7d3cda0 | ||
|
|
4529d8d50f | ||
|
|
74eca2553e | ||
|
|
f14addebf4 | ||
|
|
9d7cb33654 | ||
|
|
5dd8bce935 | ||
|
|
de8dcffdd9 | ||
|
|
0060af48c1 | ||
|
|
6935c50d54 | ||
|
|
5bd86ffd9d | ||
|
|
abe41ba65e | ||
|
|
3e564f9f0c | ||
|
|
34dd739d4c | ||
|
|
1f45edb0fc | ||
|
|
f79d320ffa | ||
|
|
e66283f0d5 | ||
|
|
d43b44b9a0 | ||
|
|
a455494040 | ||
|
|
adec30ace4 | ||
|
|
7632089652 | ||
|
|
e76acfd716 | ||
|
|
0e64ba274e | ||
|
|
119bb8eaed | ||
|
|
078bfd152e | ||
|
|
b604779862 | ||
|
|
253adbc8e9 | ||
|
|
985e884b0b | ||
|
|
918a8c89e0 | ||
|
|
79454e91bc | ||
|
|
491776f3c1 | ||
|
|
24498fc55d | ||
|
|
146c2c2031 | ||
|
|
bb72cf3a29 | ||
|
|
b24d63765c | ||
|
|
c7f2155100 | ||
|
|
3e7fb26cb0 | ||
|
|
ce871ac516 | ||
|
|
798af1f1c5 | ||
|
|
cccf006cae | ||
|
|
c86cc5402a | ||
|
|
5468ecbaf0 | ||
|
|
4f8a362580 | ||
|
|
e6972d40e0 | ||
|
|
44d2f2e746 | ||
|
|
620420ad19 | ||
|
|
a9ee746687 | ||
|
|
8640db84b8 | ||
|
|
329e2581fe | ||
|
|
8337ee75f4 | ||
|
|
a1d4fb05b7 | ||
|
|
5de93f1630 | ||
|
|
54c4a8493c | ||
|
|
5742f1a0d7 | ||
|
|
1957dccb60 | ||
|
|
32c42cd31c | ||
|
|
6fb1286862 | ||
|
|
ea605b77cf | ||
|
|
abc7bb33e3 | ||
|
|
5316611f0d | ||
|
|
a75631c2e3 | ||
|
|
5532ffee67 | ||
|
|
94a1ac2308 | ||
|
|
0cc8176254 | ||
|
|
b69e053b49 | ||
|
|
3e234eecd6 | ||
|
|
f81b413992 | ||
|
|
d43b782d70 | ||
|
|
d6c9182f62 | ||
|
|
b5768043c2 | ||
|
|
57dbac41bd | ||
|
|
403553d697 | ||
|
|
0fd098d190 | ||
|
|
09e2c3f93f |
166
.github/workflows/build.yml
vendored
Normal file
166
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,166 @@
|
||||
name: thead-u-boot-build
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '*'
|
||||
branches:
|
||||
- '*'
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 2 * * *"
|
||||
|
||||
env:
|
||||
xuantie_toolchain: https://occ-oss-prod.oss-cn-hangzhou.aliyuncs.com/resource//1705395627867
|
||||
toolchain_file_name: Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.8.1-20240115.tar.gz
|
||||
mainline_toolchain: https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2024.04.12
|
||||
mainline_toolchain_file_name: riscv64-glibc-ubuntu-22.04-gcc-nightly-2024.04.12-nightly.tar.gz
|
||||
wget_alias: 'wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -t 0'
|
||||
ARCH: riscv
|
||||
CROSS_COMPILE: riscv64-unknown-linux-gnu-
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
name: [thead-gcc, gcc-13]
|
||||
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
steps:
|
||||
- name: Install software
|
||||
run: |
|
||||
sudo apt update && \
|
||||
sudo apt install -y gdisk dosfstools g++-12-riscv64-linux-gnu build-essential \
|
||||
libncurses-dev gawk flex bison openssl libssl-dev tree \
|
||||
dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf device-tree-compiler
|
||||
|
||||
- name: Checkout uboot
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: uboot compile
|
||||
run: |
|
||||
mkdir output
|
||||
if [[ ${{ matrix.name }} = "thead-gcc" ]]; then
|
||||
${wget_alias} ${xuantie_toolchain}/${toolchain_file_name}
|
||||
tar -xvf ${toolchain_file_name} -C /opt
|
||||
export PATH="/opt/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.8.1/bin:$PATH"
|
||||
else
|
||||
${wget_alias} ${mainline_toolchain}/${mainline_toolchain_file_name}
|
||||
tar -xvf ${mainline_toolchain_file_name} -C /opt
|
||||
export PATH="/opt/riscv/bin:$PATH"
|
||||
fi
|
||||
${CROSS_COMPILE}gcc -v
|
||||
|
||||
pushd $PWD
|
||||
make light_lpi4a_16g_defconfig
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-lpi4a-16g.bin
|
||||
make clean
|
||||
make light_lpi4a_defconfig
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-lpi4a.bin
|
||||
make clean
|
||||
make light_lpi4a_console_defconfig
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-lcon4a.bin
|
||||
make clean
|
||||
make light_lpi4a_console_16g_defconfig
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-lcon4a-16g.bin
|
||||
make clean
|
||||
make light_lpi4a_plastic_defconfig
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-laptop4a.bin
|
||||
make clean
|
||||
make light_lpi4a_plastic_16g_defconfig
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-laptop4a-16g.bin
|
||||
make clean
|
||||
make light_lpi4a_pocket_defconfig
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-pocket4a.bin
|
||||
make clean
|
||||
make light_lpi4a_cluster_defconfig
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-lc4a.bin
|
||||
make clean
|
||||
make light_lpi4a_cluster_16g_defconfig
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-lc4a-16g.bin
|
||||
make clean
|
||||
make light_beagle_defconfig
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-beagle.bin
|
||||
make clean
|
||||
make light_a_val_defconfig
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-vala.bin
|
||||
make clean
|
||||
make light_milkv_meles_16g_defconfig
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-meles-16g.bin
|
||||
make clean
|
||||
make light_milkv_meles_dualrank_defconfig
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-meles.bin
|
||||
make clean
|
||||
make light_milkv_meles_singlerank_defconfig
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-meles-4g.bin
|
||||
|
||||
# mainline support
|
||||
make clean
|
||||
make light_lpi4a_defconfig
|
||||
sed -i 's#thead/light-lpi4a.dtb#thead/th1520-lichee-pi-4a.dtb#' .config
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-lpi4a-main.bin
|
||||
|
||||
make clean
|
||||
make light_lpi4a_16g_defconfig
|
||||
sed -i 's#thead/light-lpi4a-16gb.dtb#thead/th1520-lichee-pi-4a-16g.dtb#' .config
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-lpi4a-16g-main.bin
|
||||
|
||||
make clean
|
||||
make light_lpi4a_cluster_defconfig
|
||||
sed -i 's#thead/light-lpi4a-cluster.dtb#thead/th1520-lichee-cluster-4a.dtb#' .config
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-lc4a-main.bin
|
||||
|
||||
make clean
|
||||
make light_lpi4a_cluster_16g_defconfig
|
||||
sed -i 's#thead/light-lpi4a-cluster-16gb.dtb#thead/th1520-lichee-cluster-4a-16g.dtb#' .config
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-lc4a-16g-main.bin
|
||||
|
||||
# 8g emmc support
|
||||
sed -i 's/name=swap,size=4096MiB,type=swap/name=swap,size=2MiB,type=swap/' include/configs/light-c910.h
|
||||
make clean
|
||||
make light_lpi4a_defconfig
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-lpi4a_8gemmc.bin
|
||||
|
||||
make clean
|
||||
make light_lpi4a_defconfig
|
||||
sed -i 's#thead/light-lpi4a.dtb#thead/th1520-lichee-pi-4a.dtb#' .config
|
||||
make -j$(nproc)
|
||||
find . -name "u-boot-with-spl.bin" | xargs -I{} cp -av {} ${GITHUB_WORKSPACE}/output/u-boot-with-spl-lpi4a-main_8gemmc.bin
|
||||
popd
|
||||
tree ${GITHUB_WORKSPACE}/output
|
||||
|
||||
- name: 'Upload Artifact'
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: thead-u-uboot-${{ matrix.name }}
|
||||
path: output/*.bin
|
||||
retention-days: 30
|
||||
|
||||
- name: 'Create release by tag'
|
||||
uses: softprops/action-gh-release@v1
|
||||
if: ${{ startsWith(github.ref, 'refs/tags/') && matrix.name == 'thead-gcc' }}
|
||||
with:
|
||||
files: output/*.bin
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
@@ -119,6 +119,7 @@ config SANDBOX
|
||||
select SPI
|
||||
select SUPPORT_OF_CONTROL
|
||||
select SYSRESET_CMD_POWEROFF if CMD_POWEROFF
|
||||
select SUPPORT_EXTENSION_SCAN
|
||||
imply BITREVERSE
|
||||
select BLOBLIST
|
||||
imply CMD_DM
|
||||
@@ -152,6 +153,7 @@ config SANDBOX
|
||||
imply PHYLIB
|
||||
imply DM_MDIO
|
||||
imply DM_MDIO_MUX
|
||||
imply CMD_EXTENSION
|
||||
|
||||
config SH
|
||||
bool "SuperH architecture"
|
||||
|
||||
@@ -24,7 +24,16 @@ ifeq ($(CONFIG_CMODEL_MEDANY),y)
|
||||
CMODEL = medany
|
||||
endif
|
||||
|
||||
ARCH_FLAGS = -march=$(ARCH_BASE)$(ARCH_A)$(ARCH_C) -mabi=$(ABI) \
|
||||
RISCV_MARCH = $(ARCH_BASE)$(ARCH_A)$(ARCH_C)
|
||||
|
||||
# Newer binutils versions default to ISA spec version 20191213 which moves some
|
||||
# instructions from the I extension to the Zicsr and Zifencei extensions.
|
||||
toolchain-need-zicsr-zifencei := $(call cc-option-yn, -mabi=$(ABI) -march=$(RISCV_MARCH)_zicsr_zifencei)
|
||||
ifeq ($(toolchain-need-zicsr-zifencei),y)
|
||||
RISCV_MARCH := $(RISCV_MARCH)_zicsr_zifencei
|
||||
endif
|
||||
|
||||
ARCH_FLAGS = -march=$(RISCV_MARCH) -mabi=$(ABI) \
|
||||
-mcmodel=$(CMODEL)
|
||||
|
||||
PLATFORM_CPPFLAGS += $(ARCH_FLAGS)
|
||||
|
||||
@@ -125,10 +125,11 @@ void icache_enable(void)
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
#ifdef CONFIG_SPL_RISCV_MMODE
|
||||
#ifdef CONFIG_TARGET_LIGHT_C910
|
||||
// mhcr is 0x7c1
|
||||
asm volatile (
|
||||
"csrr x29, mhcr\n\t"
|
||||
"csrr x29, 0x7c1\n\t"
|
||||
"ori x28, x29, 0x1\n\t"
|
||||
"csrw mhcr, x28\n\t"
|
||||
"csrw 0x7c1, x28\n\t"
|
||||
);
|
||||
#endif
|
||||
#endif
|
||||
@@ -141,9 +142,9 @@ void dcache_enable(void)
|
||||
#ifdef CONFIG_SPL_RISCV_MMODE
|
||||
#ifdef CONFIG_TARGET_LIGHT_C910
|
||||
asm volatile (
|
||||
"csrr x29, mhcr\n\t"
|
||||
"ori x28, x29, 0x2\n\t"
|
||||
"csrw mhcr, x28\n\t"
|
||||
"csrr x29, 0x7c1\n\t"
|
||||
"ori x28, x29, 0x2\n\t"
|
||||
"csrw 0x7c1, x28\n\t"
|
||||
);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -5,7 +5,9 @@ dtb-$(CONFIG_TARGET_SIFIVE_FU540) += hifive-unleashed-a00.dtb
|
||||
dtb-$(CONFIG_TARGET_ICE_C910) += ice-c910.dtb
|
||||
dtb-$(CONFIG_TARGET_LIGHT_EVB_MPW_C910) += light-evb-mpw-c910.dtb
|
||||
dtb-$(CONFIG_TARGET_LIGHT_FPGA_FM_C910) += light-fpga-fm-c910.dtb
|
||||
dtb-$(CONFIG_TARGET_LIGHT_C910) += light-a-ref.dtb light-b-ref.dtb light-a-val.dtb light-b-product.dtb light-a-product.dtb light-ant-ref.dtb light-beagle.dtb light-b-power.dtb light-lpi4a.dtb th1520-rvbook.dtb
|
||||
dtb-$(CONFIG_TARGET_LIGHT_C910) += light-a-ref.dtb light-b-ref.dtb light-a-val.dtb light-b-product.dtb light-a-product.dtb light-ant-ref.dtb light-beagle.dtb light-b-power.dtb light-lpi4a.dtb light-milkv-meles.dtb
|
||||
dtb-$(CONFIG_TARGET_LIGHT_C910) += light-lpi4a-laptop.dtb
|
||||
dtb-$(CONFIG_TARGET_LIGHT_C910) += th1520-rvbook.dtb
|
||||
|
||||
targets += $(dtb-y)
|
||||
|
||||
|
||||
46
arch/riscv/dts/light-lpi4a-laptop.dts
Normal file
46
arch/riscv/dts/light-lpi4a-laptop.dts
Normal file
@@ -0,0 +1,46 @@
|
||||
#include "light-lpi4a.dts"
|
||||
|
||||
/ {
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
clock-frequency = <400000>;
|
||||
status = "okay";
|
||||
|
||||
pcal6408ahk_c: gpio@20 {
|
||||
compatible = "nxp,pca9557";
|
||||
reg = <0x18>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
clock-frequency = <400000>;
|
||||
status = "okay";
|
||||
pcal6408ahk_d: gpio@20 {
|
||||
compatible = "nxp,pca9557";
|
||||
reg = <0x18>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
&lcd_backlight {
|
||||
pwms = <&pwm 0 50000>;
|
||||
brightness-levels = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
||||
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
||||
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100>;
|
||||
default-brightness-level = <2>;
|
||||
};
|
||||
|
||||
&panel0 {
|
||||
compatible = "ilitek,ili9881c";
|
||||
status = "okay";
|
||||
backlight = <&lcd_backlight>;
|
||||
// 5v power cycle
|
||||
// TODO: move into regulator
|
||||
reset-gpios = <&pcal6408ahk_c 0 0>; /* active low */
|
||||
/delete-property/ lcd-en-gpios;
|
||||
/delete-property/ lcd-bias-en-gpios;
|
||||
};
|
||||
@@ -8,6 +8,10 @@
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
config {
|
||||
huben-gpio = <&gpio1_porta 16 0>;
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0xc0000000 0x0 0x40000000>;
|
||||
@@ -489,7 +493,7 @@
|
||||
default-brightness-level = <7>;
|
||||
};
|
||||
|
||||
jadard_jd9365da {
|
||||
panel0: dsi_panel0 {
|
||||
compatible = "jadard,jd9365da-h3";
|
||||
backlight = <&lcd_backlight>;
|
||||
reset-gpio = <&pcal6408ahk_d 7 0>;
|
||||
|
||||
654
arch/riscv/dts/light-milkv-meles.dts
Normal file
654
arch/riscv/dts/light-milkv-meles.dts
Normal file
@@ -0,0 +1,654 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/pmic/light_pmic.h>
|
||||
|
||||
/ {
|
||||
model = "Milk-V Meles";
|
||||
compatible = "milkv,meles", "thead,c910_light";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
config {
|
||||
select-gpio = <&gpio1_porta 16 0>;
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0xc0000000 0x0 0x40000000>;
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
timebase-frequency = <3000000>;
|
||||
u-boot,dm-pre-reloc;
|
||||
cpu@0 {
|
||||
device_type = "cpu";
|
||||
reg = <0>;
|
||||
status = "okay";
|
||||
compatible = "riscv";
|
||||
riscv,isa = "rv64imafdcvsu";
|
||||
mmu-type = "riscv,sv39";
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
compatible = "simple-bus";
|
||||
ranges;
|
||||
u-boot,dm-pre-reloc;
|
||||
|
||||
intc: interrupt-controller@ffd8000000 {
|
||||
compatible = "riscv,plic0";
|
||||
reg = <0xff 0xd8000000 0x0 0x04000000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dummy_apb: apb-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <62500000>;
|
||||
clock-output-names = "dummy_apb";
|
||||
#clock-cells = <0>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
dummy_ahb: ahb-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <250000000>;
|
||||
clock-output-names = "core";
|
||||
#clock-cells = <0>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
dummy_spi: spi-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <396000000>;
|
||||
clock-output-names = "dummy_spi";
|
||||
#clock-cells = <0>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
dummy_qspi0: qspi0-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <792000000>;
|
||||
clock-output-names = "dummy_qspi0";
|
||||
#clock-cells = <0>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
dummy_uart_sclk: uart-sclk-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <100000000>;
|
||||
clock-output-names = "dummy_uart_sclk";
|
||||
#clock-cells = <0>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
dummy_i2c_icclk: i2c-icclk-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <50000000>;
|
||||
clock-output-names = "dummy_i2c_icclk";
|
||||
#clock-cells = <0>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
dummy_dpu_pixclk: dpu-pix-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <74250000>;
|
||||
clock-output-names = "dummy_dpu_pixclk";
|
||||
#clock-cells = <0>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
dummy_dphy_refclk: dphy-ref-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <24000000>;
|
||||
clock-output-names = "dummy_dpu_refclk";
|
||||
#clock-cells = <0>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
serial@ffe7014000 {
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0xff 0xe7014000 0x0 0x400>;
|
||||
clocks = <&dummy_uart_sclk>;
|
||||
clock-frequency = <100000000>;
|
||||
clock-names = "baudclk";
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
gmac0: ethernet@ffe7070000 {
|
||||
compatible = "snps,dwmac";
|
||||
reg = <0xff 0xe7070000 0x0 0x2000>;
|
||||
clocks = <&dummy_apb>;
|
||||
clock-names = "stmmaceth";
|
||||
snps,pbl = <32>;
|
||||
snps,fixed-burst;
|
||||
|
||||
phy-mode = "rgmii-id";
|
||||
phy-handle = <&phy_88E1111_a>;
|
||||
status = "okay";
|
||||
mdio0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "snps,dwmac-mdio";
|
||||
|
||||
phy_88E1111_a: ethernet-phy@1 {
|
||||
reg = <0x1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
emmc: sdhci@ffe7080000 {
|
||||
compatible = "snps,dwcmshc-sdhci";
|
||||
reg = <0xff 0xe7080000 0x0 0x10000>;
|
||||
index = <0x0>;
|
||||
clocks = <&dummy_ahb>;
|
||||
clock-frequency = <198000000>;
|
||||
clock-names = "core";
|
||||
max-frequency = <198000000>;
|
||||
sdhci-caps-mask = <0x0 0x1000000>;
|
||||
mmc-hs400-1_8v;
|
||||
non-removable;
|
||||
no-sdio;
|
||||
no-sd;
|
||||
bus-width = <8>;
|
||||
voltage= "1.8v";
|
||||
pull_up;
|
||||
io_fixed_1v8;
|
||||
fifo-mode;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
sdhci0: sd@ffe7090000 {
|
||||
compatible = "snps,dwcmshc-sdhci";
|
||||
reg = <0xff 0xe7090000 0x0 0x10000>;
|
||||
index = <0x1>;
|
||||
clocks = <&dummy_ahb>;
|
||||
clock-frequency = <198000000>;
|
||||
max-frequency = <198000000>;
|
||||
sd-uhs-sdr104;
|
||||
pull_up;
|
||||
clock-names = "core";
|
||||
bus-width = <4>;
|
||||
voltage= "3.3v";
|
||||
};
|
||||
|
||||
gpio2: gpio@ffe7f34000 {
|
||||
compatible = "snps,dw-apb-gpio";
|
||||
reg = <0xff 0xe7f34000 0x0 0x1000>;
|
||||
clocks = <&dummy_apb>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
gpio2_porta: gpio-controller@0 {
|
||||
compatible = "snps,dw-apb-gpio-port";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
snps,nr-gpios = <32>;
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio0: gpio@ffec005000 {
|
||||
compatible = "snps,dw-apb-gpio";
|
||||
reg = <0xff 0xec005000 0x0 0x1000>;
|
||||
clocks = <&dummy_apb>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
gpio0_porta: gpio-controller@0 {
|
||||
compatible = "snps,dw-apb-gpio-port";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
snps,nr-gpios = <32>;
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio1: gpio@ffec006000 {
|
||||
compatible = "snps,dw-apb-gpio";
|
||||
reg = <0xff 0xec006000 0x0 0x1000>;
|
||||
clocks = <&dummy_apb>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
gpio1_porta: gpio-controller@0 {
|
||||
compatible = "snps,dw-apb-gpio-port";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
snps,nr-gpios = <32>;
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
axiscr {
|
||||
compatible = "thead,axiscr";
|
||||
reg = <0xff 0xff004000 0x0 0x1000>;
|
||||
lock-read = "okay";
|
||||
lock-write = "okay";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
u-boot,dm-pre-reloc;
|
||||
axiscr0: axisrc@0 {
|
||||
device_type = "axiscr";
|
||||
region = <0x00 0x00000000 0x00 0x80000000>; // 4KB align
|
||||
status = "disabled";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
axiscr1: axisrc@1 {
|
||||
device_type = "axiscr";
|
||||
region = <0x00 0x80000000 0x00 0x80000000>; // 4KB align
|
||||
status = "disabled";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
axiscr2: axisrc@2 {
|
||||
device_type = "axiscr";
|
||||
region = <0x01 0x00000000 0x00 0x80000000>; // 4KB align
|
||||
status = "disabled";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
|
||||
axiparity {
|
||||
compatible = "thead,axiparity";
|
||||
reg = <0xff 0xff00c000 0x0 0x1000>;
|
||||
lock = "okay";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
u-boot,dm-pre-reloc;
|
||||
axiparity0: axiparity@0 {
|
||||
device_type = "axiparity";
|
||||
region = <0x00 0x00000000 0x01 0x0000000>; // 4KB align
|
||||
status = "disabled";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
axiparity1: axiparity@1 {
|
||||
device_type = "axiparity";
|
||||
region = <0x01 0x00000000 0x01 0x00000000>; // 4KB align
|
||||
status = "disabled";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
|
||||
aon {
|
||||
compatible = "thead,light-aon";
|
||||
status = "okay";
|
||||
|
||||
wakeup-by-gpio-on;
|
||||
wakeup-by-rtc-on;
|
||||
|
||||
pd: light-aon-pd {
|
||||
compatible = "thead,light-aon-pd";
|
||||
#power-domain-cells = <1>;
|
||||
};
|
||||
|
||||
light-regu-reg {
|
||||
compatible = "thead,light-dialog-pmic";
|
||||
status = "okay";
|
||||
|
||||
|
||||
|
||||
soc_dvdd18_aon_reg: soc_dvdd18_aon {
|
||||
regulator-name = "soc_dvdd18_aon";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
soc_avdd33_usb3_reg: soc_avdd33_usb3 {
|
||||
regulator-name = "soc_avdd33_usb3";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
soc_dvdd08_aon_reg: soc_dvdd08_aon {
|
||||
regulator-name = "soc_dvdd08_aon";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
soc_apcpu_dvdd_dvddm_reg: soc_apcpu_dvdd_dvddm {
|
||||
regulator-name = "soc_apcpu_dvdd_dvddm";
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1570000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
soc_dvdd08_ddr_reg: soc_dvdd08_ddr {
|
||||
regulator-name = "soc_dvdd08_ddr";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
soc_vdd_ddr_1v8_reg: soc_vdd_ddr_1v8 {
|
||||
regulator-name = "soc_vdd_ddr_1v8";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
soc_vdd_ddr_1v1_reg: soc_vdd_ddr_1v1 {
|
||||
regulator-name = "soc_vdd_ddr_1v1";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
soc_vdd_ddr_0v6_reg: soc_vdd_ddr_0v6 {
|
||||
regulator-name = "soc_vdd_ddr_0v6";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
soc_dvdd18_ap_reg: soc_dvdd18_ap {
|
||||
regulator-name = "soc_dvdd18_ap";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
soc_dvdd08_ap_reg: soc_dvdd08_ap {
|
||||
regulator-name = "soc_dvdd08_ap";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
soc_avdd08_mipi_hdmi_reg: soc_avdd08_mipi_hdmi {
|
||||
regulator-name = "soc_avdd08_mipi_hdmi";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
soc_avdd18_mipi_hdmi_reg: soc_avdd18_mipi_hdmi {
|
||||
regulator-name = "soc_avdd18_mipi_hdmi";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
soc_dvdd33_emmc_reg: soc_dvdd33_emmc {
|
||||
regulator-name = "soc_dvdd33_emmc";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
soc_dvdd18_emmc_reg: soc_dvdd18_emmc {
|
||||
regulator-name = "soc_vdd18_emmc";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
soc_dovdd18_scan_reg: soc_dovdd18_scan {
|
||||
regulator-name = "soc_dovdd18_scan";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
};
|
||||
soc_vext_2v8_reg: soc_vext_2v8 {
|
||||
regulator-name = "soc_vext_2v8";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
status = "disabled";
|
||||
};
|
||||
soc_dvdd12_scan_reg: soc_dvdd12_scan {
|
||||
regulator-name = "soc_dvdd12_scan";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
};
|
||||
soc_avdd28_scan_en_reg: soc_avdd28_scan_en {
|
||||
regulator-name = "soc_avdd28_scan_en";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
};
|
||||
soc_avdd28_rgb_reg: soc_avdd28_rgb {
|
||||
regulator-name = "soc_avdd28_rgb";
|
||||
regulator-min-microvolt = <2200000>;
|
||||
regulator-max-microvolt = <3475000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
status = "disabled";
|
||||
};
|
||||
soc_dovdd18_rgb_reg: soc_dovdd18_rgb {
|
||||
regulator-name = "soc_dovdd18_rgb";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
status = "disabled";
|
||||
};
|
||||
soc_dvdd12_rgb_reg: soc_dvdd12_rgb {
|
||||
regulator-name = "soc_dvdd12_rgb";
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1675000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
status = "disabled";
|
||||
};
|
||||
soc_avdd25_ir_reg: soc_avdd25_ir {
|
||||
regulator-name = "soc_avdd25_ir";
|
||||
regulator-min-microvolt = <2200000>;
|
||||
regulator-max-microvolt = <3475000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
status = "disabled";
|
||||
};
|
||||
soc_dovdd18_ir_reg: soc_dovdd18_ir {
|
||||
regulator-name = "soc_dovdd18_ir";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
status = "disabled";
|
||||
};
|
||||
soc_dvdd12_ir_reg: soc_dvdd12_ir {
|
||||
regulator-name = "soc_dvdd12_ir";
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1675000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
aon_pmic_config {
|
||||
compatible = "thead,light-pmic-conf";
|
||||
status = "okay";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
iic-config = <0 0 2>;
|
||||
pmic_dev_0: pmic-dev@0 {
|
||||
pmic-name = "dialog,da9063,v1";
|
||||
pmic-addr = <0x5a 0x5b>;
|
||||
pmic_wdt_on;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pmic_dev_1: pmic-dev@1 {
|
||||
pmic-name = "dialog,da9121,v1";
|
||||
pmic-addr = <0x68>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
regu_config_0 {
|
||||
reg_info = <&soc_dvdd18_aon_reg>;
|
||||
status = "okay";
|
||||
regu_id@0 {
|
||||
pmic_dev = <&pmic_dev_0 DA9063_ID_LDO3>;
|
||||
};
|
||||
};
|
||||
|
||||
regu_config_1 {
|
||||
reg_info = <&soc_avdd33_usb3_reg>;
|
||||
status = "okay";
|
||||
regu_id@0 {
|
||||
pmic_dev = <&pmic_dev_0 DA9063_ID_LDO9>;
|
||||
};
|
||||
};
|
||||
|
||||
regu_config_2 {
|
||||
reg_info = <&soc_dvdd08_aon_reg>;
|
||||
status = "okay";
|
||||
regu_id@0 {
|
||||
pmic_dev = <&pmic_dev_0 DA9063_ID_LDO2>;
|
||||
};
|
||||
};
|
||||
|
||||
regu_config_3 {
|
||||
reg_info = <&soc_apcpu_dvdd_dvddm_reg>;
|
||||
status = "okay";
|
||||
regu_id@0 {
|
||||
pmic_dev = <&pmic_dev_0 DA9063_ID_BCORE1>;
|
||||
auto_on_info = <0 0 800000>;
|
||||
};
|
||||
|
||||
regu_id@1 {
|
||||
pmic_dev = <&pmic_dev_0 DA9063_ID_BCORE2>;
|
||||
auto_on_info = <1 0 800000>;
|
||||
};
|
||||
|
||||
regu_id@2 {
|
||||
pmic_dev = <&pmic_dev_0 DA9063_ID_BUCKIO>;
|
||||
auto_on_info = <2 0 800000>;
|
||||
};
|
||||
|
||||
coupling_info@0 {
|
||||
negative-min;
|
||||
info = <0 2 5 30>;
|
||||
};
|
||||
|
||||
coupling_info@1 {
|
||||
negative-min;
|
||||
info = <1 2 5 30>;
|
||||
};
|
||||
};
|
||||
|
||||
regu_config_4 {
|
||||
reg_info = <&soc_dvdd08_ddr_reg>;
|
||||
status = "okay";
|
||||
regu_id@0 {
|
||||
pmic_dev = <&pmic_dev_0 DA9063_ID_BUCKPERI>;
|
||||
};
|
||||
};
|
||||
|
||||
regu_config_5 {
|
||||
reg_info = <&soc_vdd_ddr_1v8_reg>;
|
||||
status = "okay";
|
||||
regu_id@0 {
|
||||
pmic_dev = <&pmic_dev_0 DA9063_ID_LDO4>;
|
||||
};
|
||||
};
|
||||
|
||||
regu_config_6 {
|
||||
reg_info = <&soc_vdd_ddr_1v1_reg>;
|
||||
status = "okay";
|
||||
regu_id@0 {
|
||||
pmic_dev = <&pmic_dev_0 DA9063_ID_BUCKMEM>;
|
||||
};
|
||||
};
|
||||
|
||||
regu_config_7 {
|
||||
reg_info = <&soc_vdd_ddr_0v6_reg>;
|
||||
status = "okay";
|
||||
regu_id@0 {
|
||||
pmic_dev = <&pmic_dev_0 DA9063_ID_BUCKPRO>;
|
||||
};
|
||||
};
|
||||
|
||||
regu_config_8 {
|
||||
reg_info = <&soc_dvdd18_ap_reg>;
|
||||
status = "okay";
|
||||
regu_id@0 {
|
||||
pmic_dev = <&pmic_dev_0 DA9063_ID_LDO11>;
|
||||
};
|
||||
};
|
||||
|
||||
regu_config_9 {
|
||||
reg_info = <&soc_avdd08_mipi_hdmi_reg>;
|
||||
status = "okay";
|
||||
regu_id@0 {
|
||||
pmic_dev = <&pmic_dev_0 DA9063_ID_LDO1>;
|
||||
};
|
||||
};
|
||||
|
||||
regu_config_10 {
|
||||
reg_info = <&soc_avdd18_mipi_hdmi_reg>;
|
||||
status = "okay";
|
||||
regu_id@0 {
|
||||
pmic_dev = <&pmic_dev_0 DA9063_ID_LDO5>;
|
||||
};
|
||||
};
|
||||
|
||||
regu_config_11 {
|
||||
reg_info = <&soc_dvdd33_emmc_reg>;
|
||||
status = "okay";
|
||||
regu_id@0 {
|
||||
pmic_dev = <&pmic_dev_0 DA9063_ID_LDO10>;
|
||||
};
|
||||
};
|
||||
|
||||
regu_config_12 {
|
||||
reg_info = <&soc_dovdd18_scan_reg>;
|
||||
status = "okay";
|
||||
regu_id@0 {
|
||||
pmic_dev = <&pmic_dev_0 DA9063_ID_LDO6>;
|
||||
auto_on_info = <3 1 1800000>;
|
||||
auto_off_info = <1 1>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
regu_config_13 {
|
||||
reg_info = <&soc_dvdd12_scan_reg>;
|
||||
status = "okay";
|
||||
regu_id@0 {
|
||||
pmic_dev = <&pmic_dev_0 DA9063_ID_LDO8>;
|
||||
auto_on_info = <4 1 1200000>;
|
||||
auto_off_info = <2 1>;
|
||||
};
|
||||
};
|
||||
|
||||
regu_config_14 {
|
||||
reg_info = <&soc_avdd28_scan_en_reg>;
|
||||
status = "okay";
|
||||
regu_id@0 {
|
||||
pmic_dev = <&pmic_dev_0 DA9063_ID_LDO7>;
|
||||
auto_on_info = <5 1 2800000>;
|
||||
auto_off_info = <0 1>;
|
||||
};
|
||||
};
|
||||
|
||||
regu_config_15 {
|
||||
reg_info = <&soc_dvdd08_ap_reg>;
|
||||
status = "okay";
|
||||
regu_id@0 {
|
||||
pmic_dev = <&pmic_dev_1 DA9121_ID_BUCK1>;
|
||||
parent_pmic_dev = <&pmic_dev_0 2 0>;
|
||||
};
|
||||
};
|
||||
|
||||
regu_config_16 {
|
||||
reg_info = <&soc_dvdd18_emmc_reg>;
|
||||
status = "okay";
|
||||
regu_id@0 {
|
||||
pmic_dev = <&pmic_dev_0 DA9063_ID_GPIO7>;
|
||||
parent_pmic_dev = <&pmic_dev_0 7 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,115200";
|
||||
stdout-path = "/soc/serial@ffe7014000:115200";
|
||||
};
|
||||
};
|
||||
@@ -90,6 +90,16 @@ static inline int __test_and_clear_bit(int nr, void *addr)
|
||||
return retval;
|
||||
}
|
||||
|
||||
static inline int test_and_clear_bit(int nr, volatile void * addr)
|
||||
{
|
||||
unsigned long flags = 0;
|
||||
int out;
|
||||
|
||||
out = __test_and_clear_bit(nr, addr);
|
||||
|
||||
return out;
|
||||
}
|
||||
|
||||
static inline int __test_and_change_bit(int nr, void *addr)
|
||||
{
|
||||
int mask, retval;
|
||||
|
||||
@@ -110,7 +110,7 @@ void next_stage(void)
|
||||
bool has_reset_sample(ulong dtb_addr)
|
||||
{
|
||||
int node_offset;
|
||||
node_offset = fdt_path_offset(dtb_addr, "/soc/reset-sample");
|
||||
node_offset = fdt_path_offset((void *)dtb_addr, "/soc/reset-sample");
|
||||
if (node_offset < 0) {
|
||||
printf("## fdt has no reset_sample\n");
|
||||
return false;
|
||||
@@ -160,8 +160,8 @@ static void boot_jump_linux(bootm_headers_t *images, int flag)
|
||||
|
||||
announce_and_cleanup(fake);
|
||||
|
||||
_load_start = kernel;
|
||||
_dtb_addr = images->ft_addr;
|
||||
_load_start = (ulong)kernel;
|
||||
_dtb_addr = (ulong)(images->ft_addr);
|
||||
_dyn_info_addr = (ulong)&opensbi_info;
|
||||
if (!has_reset_sample(_dtb_addr)) {
|
||||
opensbi_info.magic = FW_DYNAMIC_INFO_MAGIC_VALUE;
|
||||
|
||||
@@ -6,6 +6,7 @@ else
|
||||
dtb-$(CONFIG_SANDBOX) += sandbox.dtb
|
||||
endif
|
||||
dtb-$(CONFIG_UT_DM) += test.dtb
|
||||
dtb-$(CONFIG_CMD_EXTENSION) += overlay0.dtbo overlay1.dtbo
|
||||
|
||||
targets += $(dtb-y)
|
||||
|
||||
|
||||
9
arch/sandbox/dts/overlay0.dts
Normal file
9
arch/sandbox/dts/overlay0.dts
Normal file
@@ -0,0 +1,9 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
&{/buttons} {
|
||||
btn3 {
|
||||
gpios = <&gpio_a 5 0>;
|
||||
label = "button3";
|
||||
};
|
||||
};
|
||||
9
arch/sandbox/dts/overlay1.dts
Normal file
9
arch/sandbox/dts/overlay1.dts
Normal file
@@ -0,0 +1,9 @@
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
&{/buttons} {
|
||||
btn4 {
|
||||
gpios = <&gpio_a 5 0>;
|
||||
label = "button4";
|
||||
};
|
||||
};
|
||||
@@ -12,6 +12,9 @@
|
||||
#include <os.h>
|
||||
#include <asm/test.h>
|
||||
#include <asm/u-boot-sandbox.h>
|
||||
#include <malloc.h>
|
||||
|
||||
#include <extension_board.h>
|
||||
|
||||
/*
|
||||
* Pointer to initial global data area
|
||||
@@ -58,6 +61,26 @@ int board_init(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_CMD_EXTENSION
|
||||
int extension_board_scan(struct list_head *extension_list)
|
||||
{
|
||||
struct extension *extension;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 2; i++) {
|
||||
extension = calloc(1, sizeof(struct extension));
|
||||
snprintf(extension->overlay, sizeof(extension->overlay), "overlay%d.dtbo", i);
|
||||
snprintf(extension->name, sizeof(extension->name), "extension board %d", i);
|
||||
snprintf(extension->owner, sizeof(extension->owner), "sandbox");
|
||||
snprintf(extension->version, sizeof(extension->version), "1.1");
|
||||
snprintf(extension->other, sizeof(extension->other), "Fictionnal extension board");
|
||||
list_add_tail(&extension->list, extension_list);
|
||||
}
|
||||
|
||||
return i;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BOARD_LATE_INIT
|
||||
int board_late_init(void)
|
||||
{
|
||||
|
||||
@@ -138,13 +138,17 @@ config TARGET_LIGHT_FM_C910_B_POWER
|
||||
bool "light fullmask for light-b-power board "
|
||||
default n
|
||||
|
||||
config TARGET_LIGHT_FM_C910_MILKV_MELES
|
||||
bool "light fullmask for Milk-V Meles board "
|
||||
default n
|
||||
|
||||
config SYS_TEXT_BASE
|
||||
default 0xc0000000 if RISCV_MMODE
|
||||
default 0x00200000 if RISCV_SMODE
|
||||
|
||||
config SPL_TEXT_BASE
|
||||
hex
|
||||
default 0xffe0000800
|
||||
default 0xffe0000000
|
||||
|
||||
config SPL_MAX_SIZE
|
||||
hex
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include <usb.h>
|
||||
#include <usb/xhci.h>
|
||||
#include <cpu_func.h>
|
||||
#include <asm/gpio.h>
|
||||
#include <abuf.h>
|
||||
#include "sec_library.h"
|
||||
|
||||
@@ -57,8 +58,6 @@ int board_usb_cleanup(int index, enum usb_init_type init)
|
||||
|
||||
int xhci_hcd_init(int index, struct xhci_hccr **hccr, struct xhci_hcor **hcor)
|
||||
{
|
||||
|
||||
|
||||
int ret = board_usb_init(index, USB_INIT_HOST);
|
||||
if (ret != 0) {
|
||||
puts("Failed to initialize board for USB\n");
|
||||
@@ -249,6 +248,35 @@ int do_bootslave(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
|
||||
}
|
||||
#endif
|
||||
|
||||
static void light_c910_set_gpio_output_high(void)
|
||||
{
|
||||
ofnode node;
|
||||
struct gpio_desc select_gpio;
|
||||
|
||||
printf("%s: trying to set gpio output high\n", __func__);
|
||||
|
||||
node = ofnode_path("/config");
|
||||
if (!ofnode_valid(node)) {
|
||||
printf("%s: no /config node?\n", __func__);
|
||||
return;
|
||||
}
|
||||
|
||||
if (gpio_request_by_name_nodev(node, "select-gpio", 0,
|
||||
&select_gpio, GPIOD_IS_OUT)) {
|
||||
printf("%s: could not find a /config/select-gpio\n", __func__);
|
||||
return;
|
||||
}
|
||||
|
||||
dm_gpio_set_value(&select_gpio, 1);
|
||||
}
|
||||
|
||||
int misc_init_r(void)
|
||||
{
|
||||
light_c910_set_gpio_output_high();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_BOARD_RNG_SEED
|
||||
const char pre_gen_seed[128] = {211, 134, 226, 116, 1, 13, 224, 196, 88, 213, 188, 219, 128, 41, 231, 228, 129, 123, 173, 234, 219, 79, 152, 154, 169, 27, 183, 166, 52, 21, 118, 7, 155, 89, 124, 156, 102, 92, 96, 190, 49, 28, 154, 177, 69, 129, 149, 199, 253, 66, 177, 216, 146, 73, 114, 59, 100, 41, 225, 152, 62, 88, 160, 217, 177, 28, 117, 23, 120, 213, 213, 169, 242, 111, 90, 55, 241, 239, 254, 238, 50, 175, 198, 196, 248, 56, 255, 92, 97, 224, 245, 160, 56, 149, 121, 233, 177, 239, 0, 41, 196, 214, 210, 182, 69, 44, 238, 54, 27, 236, 36, 77, 156, 234, 17, 148, 34, 16, 241, 132, 241, 230, 36, 41, 123, 157, 19, 44};
|
||||
/* Use hardware rng to seed Linux random. */
|
||||
|
||||
@@ -1146,7 +1146,7 @@ void ap_mipi_dsi1_clk_endisable(bool en)
|
||||
writel(cfg1, (void __iomem *)AP_DPU1_PLL_CFG1);
|
||||
}
|
||||
|
||||
#if defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_DISCRETE) || defined (CONFIG_TARGET_LIGHT_FM_C910_BEAGLE) || defined (CONFIG_TARGET_LIGHT_FM_C910_B_REF) || defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_REF) || defined (CONFIG_TARGET_LIGHT_FM_C910_B_POWER) || defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_B)
|
||||
#if defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_DISCRETE) || defined (CONFIG_TARGET_LIGHT_FM_C910_BEAGLE) || defined (CONFIG_TARGET_LIGHT_FM_C910_B_REF) || defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_REF) || defined (CONFIG_TARGET_LIGHT_FM_C910_B_POWER) || defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_B) || defined (CONFIG_TARGET_LIGHT_FM_C910_LPI4A) || defined (CONFIG_TARGET_LIGHT_FM_C910_MILKV_MELES)
|
||||
static void ap_multimedia_div_num_set(enum multimedia_div_type type, unsigned int div_num)
|
||||
{
|
||||
unsigned long div_reg;
|
||||
@@ -1305,7 +1305,7 @@ int clk_config(void)
|
||||
|
||||
/* The boards other than the LightA board perform the bus down-speed operation */
|
||||
|
||||
#if defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_DISCRETE) || defined (CONFIG_TARGET_LIGHT_FM_C910_BEAGLE) || defined (CONFIG_TARGET_LIGHT_FM_C910_B_REF) || defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_REF) || defined (CONFIG_TARGET_LIGHT_FM_C910_B_POWER) || defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_B)
|
||||
#if defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_DISCRETE) || defined (CONFIG_TARGET_LIGHT_FM_C910_BEAGLE) || defined (CONFIG_TARGET_LIGHT_FM_C910_B_REF) || defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_REF) || defined (CONFIG_TARGET_LIGHT_FM_C910_B_POWER) || defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_B) || defined (CONFIG_TARGET_LIGHT_FM_C910_LPI4A) || defined (CONFIG_TARGET_LIGHT_FM_C910_MILKV_MELES)
|
||||
ap_multimedia_div_num_set(VI_MIPI_CSI0_DIV, 12); /* Input frquency: 2376MHZ */
|
||||
ap_multimedia_div_num_set(VI_ISP0_CORE_DIV, 12); /* Input frquency: 2376MHZ */
|
||||
ap_multimedia_div_num_set(VI_ISP1_CORE_DIV, 12); /* Input frquency: 2376MHZ */
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
|
||||
#define GMAC0_APB3S_BADDR 0xffec003000
|
||||
#define GMAC1_APB3S_BADDR 0xffec004000
|
||||
|
||||
static uint64_t apb3s_baddr;
|
||||
extern int check_image_board_id(uint8_t *image_data);
|
||||
|
||||
@@ -826,6 +827,7 @@ static void light_iopin_init(void)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
#elif defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_A)
|
||||
static void light_iopin_init(void)
|
||||
{
|
||||
@@ -1005,6 +1007,7 @@ static void light_iopin_init(void)
|
||||
light_pin_cfg(GMAC0_RXD3, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
|
||||
}
|
||||
|
||||
#elif defined ( CONFIG_TARGET_LIGHT_FM_C910_VAL_B) || defined ( CONFIG_TARGET_LIGHT_FM_C910_B_REF) || defined (CONFIG_TARGET_LIGHT_FM_C910_B_POWER)
|
||||
static void light_iopin_init(void)
|
||||
{
|
||||
@@ -1410,7 +1413,8 @@ static void light_iopin_init(void)
|
||||
light_pin_cfg(GMAC0_RXD2, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_RXD3, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
}
|
||||
#elif defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_REF) || defined (CONFIG_TARGET_LIGHT_FM_C910_BEAGLE)
|
||||
|
||||
#elif defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_REF)
|
||||
static void light_iopin_init(void)
|
||||
{
|
||||
/* aon-padmux config */
|
||||
@@ -1563,7 +1567,7 @@ static void light_iopin_init(void)
|
||||
light_pin_cfg(GPIO2_22,PIN_SPEED_NORMAL,PIN_PN,2); ///<WIFI_BT_GPIO2
|
||||
light_pin_cfg(GPIO2_23,PIN_SPEED_NORMAL,PIN_PN,2); ///<WIFI_BT_GPIO3
|
||||
light_pin_cfg(GPIO2_24,PIN_SPEED_NORMAL,PIN_PN,2); ///<WIFI_BT_RST_N
|
||||
light_pin_cfg(GPIO2_25,PIN_SPEED_NORMAL,PIN_PU,2); ///KEY1
|
||||
light_pin_cfg(GPIO2_25,PIN_SPEED_NORMAL,PIN_PN,2); ///KEY1
|
||||
|
||||
|
||||
light_pin_mux(SDIO0_WPRTN,3);
|
||||
@@ -1580,7 +1584,7 @@ static void light_iopin_init(void)
|
||||
light_pin_mux(GPIO3_2,1);
|
||||
light_pin_mux(GPIO3_3,0);
|
||||
light_pin_cfg(GPIO2_30, PIN_SPEED_NORMAL, PIN_PN, 0x2); ///NC
|
||||
light_pin_cfg(GPIO2_31, PIN_SPEED_NORMAL, PIN_PN, 0x2); ///NC
|
||||
light_pin_cfg(GPIO2_31, PIN_SPEED_NORMAL, PIN_PU, 0x2); ///NC
|
||||
light_pin_cfg(GPIO3_0, PIN_SPEED_NORMAL, PIN_PN, 0x2); ///NC
|
||||
light_pin_cfg(GPIO3_1, PIN_SPEED_NORMAL, PIN_PN, 0x2);
|
||||
light_pin_cfg(GPIO3_2, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
@@ -1883,6 +1887,565 @@ static void light_iopin_init(void)
|
||||
light_pin_cfg(GMAC0_COL, PIN_SPEED_NORMAL, PIN_PU, 2);
|
||||
light_pin_cfg(GMAC0_CRS, PIN_SPEED_NORMAL, PIN_PU, 2);
|
||||
}
|
||||
|
||||
#elif defined (CONFIG_TARGET_LIGHT_FM_C910_BEAGLE)
|
||||
static void light_iopin_init(void)
|
||||
{
|
||||
/* P8_03 (Ball:J34) GPIO1_21_MUX*/
|
||||
light_pin_mux(GPIO1_21,3);
|
||||
light_pin_cfg(GPIO1_21, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_04 (Ball:J35) GPIO1_22_MUX*/
|
||||
light_pin_mux(GPIO1_22,3);
|
||||
light_pin_cfg(GPIO1_22, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_05 (Ball:K32) GPIO1_23_MUX*/
|
||||
light_pin_mux(GPIO1_23,3);
|
||||
light_pin_cfg(GPIO1_23, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_06 (Ball:K33) GPIO1_24_MUX*/
|
||||
light_pin_mux(GPIO1_24,3);
|
||||
light_pin_cfg(GPIO1_24, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_07 (Ball:K34) GPIO1_25_MUX*/
|
||||
light_pin_mux(GPIO1_25,3);
|
||||
light_pin_cfg(GPIO1_25, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_08 (Ball:K35) GPIO1_26_MUX*/
|
||||
light_pin_mux(GPIO1_26,0);
|
||||
light_pin_cfg(GPIO1_26, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_09 (Ball:K36) GPIO1_27_MUX*/
|
||||
light_pin_mux(GPIO1_27,0);
|
||||
light_pin_cfg(GPIO1_27, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_10 (Ball:K37) GPIO1_28_MUX*/
|
||||
light_pin_mux(GPIO1_28,0);
|
||||
light_pin_cfg(GPIO1_28, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_11 (Ball:L32) GPIO1_29_MUX*/
|
||||
light_pin_mux(GPIO1_29,0);
|
||||
light_pin_cfg(GPIO1_29, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_12 (Ball:L33) GPIO1_30_MUX*/
|
||||
light_pin_mux(GPIO1_30,0);
|
||||
light_pin_cfg(GPIO1_30, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_13 (Ball:C6) GPIO3_2_MUX*/
|
||||
light_pin_mux(GPIO3_2,0);
|
||||
light_pin_cfg(GPIO3_2, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_14 (Ball:E29) CLK_OUT_3_MUX*/
|
||||
light_pin_mux(CLK_OUT_3,3);
|
||||
light_pin_cfg(CLK_OUT_3, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_15 (Ball:A6) GPIO3_0_MUX*/
|
||||
light_pin_mux(GPIO3_0,0);
|
||||
light_pin_cfg(GPIO3_0, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_16 (Ball:F34) GPIO0_20_MUX*/
|
||||
light_pin_mux(GPIO0_20,0);
|
||||
light_pin_cfg(GPIO0_20, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_17 (Ball:B6) GPIO3_1_MUX*/
|
||||
light_pin_mux(GPIO3_1,0);
|
||||
light_pin_cfg(GPIO3_1, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_18 (Ball:B34) GPIO1_5_MUX*/
|
||||
light_pin_mux(GPIO1_5,0);
|
||||
light_pin_cfg(GPIO1_5, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_19 (Ball:D6) GPIO3_3_MUX*/
|
||||
light_pin_mux(GPIO3_3,0);
|
||||
light_pin_cfg(GPIO3_3, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_20 (Ball:C34) GPIO1_6_MUX*/
|
||||
light_pin_mux(GPIO1_6,0);
|
||||
light_pin_cfg(GPIO1_6, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_21 (Ball:D34) GPIO1_7_MUX*/
|
||||
light_pin_mux(GPIO1_7,0);
|
||||
light_pin_cfg(GPIO1_7, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_22 (Ball:B35) GPIO1_8_MUX*/
|
||||
light_pin_mux(GPIO1_8,0);
|
||||
light_pin_cfg(GPIO1_8, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_23 (Ball:A36) GPIO1_9_MUX*/
|
||||
light_pin_mux(GPIO1_9,0);
|
||||
light_pin_cfg(GPIO1_9, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_24 (Ball:B36) GPIO1_10_MUX*/
|
||||
light_pin_mux(GPIO1_10,0);
|
||||
light_pin_cfg(GPIO1_10, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_25 (Ball:B37) GPIO1_11_MUX*/
|
||||
light_pin_mux(GPIO1_11,0);
|
||||
light_pin_cfg(GPIO1_11, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_26 (Ball:C36) GPIO1_12_MUX*/
|
||||
light_pin_mux(GPIO1_12,0);
|
||||
light_pin_cfg(GPIO1_12, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_27 (Ball:D37) GPIO1_15_MUX*/
|
||||
light_pin_mux(GPIO1_15,0);
|
||||
light_pin_cfg(GPIO1_15, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_28 (Ball:E34) GPIO1_16_MUX*/
|
||||
light_pin_mux(GPIO1_16,0);
|
||||
light_pin_cfg(GPIO1_16, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_29 (Ball:D36) GPIO1_14_MUX*/
|
||||
light_pin_mux(GPIO1_14,0);
|
||||
light_pin_cfg(GPIO1_14, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_30 (Ball:D35) GPIO1_13_MUX*/
|
||||
light_pin_mux(GPIO1_13,0);
|
||||
light_pin_cfg(GPIO1_13, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_31 (Ball:D33) GPIO1_3_MUX*/
|
||||
light_pin_mux(GPIO1_3,0);
|
||||
light_pin_cfg(GPIO1_3, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_32 (Ball:A34) GPIO1_4_MUX*/
|
||||
light_pin_mux(GPIO1_4,0);
|
||||
light_pin_cfg(GPIO1_4, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_33 (Ball:C33) GPIO1_2_MUX*/
|
||||
light_pin_mux(GPIO1_2,0);
|
||||
light_pin_cfg(GPIO1_2, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_34 (Ball:E32) GPIO1_0_MUX*/
|
||||
light_pin_mux(GPIO1_0,0);
|
||||
light_pin_cfg(GPIO1_0, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_35 (Ball:A32) GPIO1_1_MUX*/
|
||||
light_pin_mux(GPIO1_1,0);
|
||||
light_pin_cfg(GPIO1_1, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_36 (Ball:D32) GPIO0_31_MUX*/
|
||||
light_pin_mux(GPIO0_31,0);
|
||||
light_pin_cfg(GPIO0_31, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_37 (Ball:B32) GPIO0_29_MUX*/
|
||||
light_pin_mux(GPIO0_29,0);
|
||||
light_pin_cfg(GPIO0_29, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_38 (Ball:C32) GPIO0_30_MUX*/
|
||||
light_pin_mux(GPIO0_30,0);
|
||||
light_pin_cfg(GPIO0_30, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_39 (Ball:D31) GPIO0_27_MUX*/
|
||||
light_pin_mux(GPIO0_27,0);
|
||||
light_pin_cfg(GPIO0_27, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_40 (Ball:E31) GPIO0_28_MUX*/
|
||||
light_pin_mux(GPIO0_28,0);
|
||||
light_pin_cfg(GPIO0_28, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_41 (Ball:F30) GPIO0_25_MUX*/
|
||||
light_pin_mux(GPIO0_25,0);
|
||||
light_pin_cfg(GPIO0_25, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_42 (Ball:C31) GPIO0_26_MUX*/
|
||||
light_pin_mux(GPIO0_26,0);
|
||||
light_pin_cfg(GPIO0_26, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_43 (Ball:C30) GPIO0_23_MUX*/
|
||||
light_pin_mux(GPIO0_23,0);
|
||||
light_pin_cfg(GPIO0_23, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_44 (Ball:D30) GPIO0_24_MUX*/
|
||||
light_pin_mux(GPIO0_24,0);
|
||||
light_pin_cfg(GPIO0_24, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_45 (Ball:F36) GPIO0_21_MUX*/
|
||||
light_pin_mux(GPIO0_21,0);
|
||||
light_pin_cfg(GPIO0_21, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P8_46 (Ball:D29) GPIO0_22_MUX*/
|
||||
light_pin_mux(GPIO0_22,0);
|
||||
light_pin_cfg(GPIO0_22, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_01 - GND */
|
||||
/* P9_02 - GND */
|
||||
/* P9_03 - VOUT_3V3 */
|
||||
/* P9_04 - VOUT_3V3 */
|
||||
/* P9_05 - VIN */
|
||||
/* P9_06 - VIN */
|
||||
/* P9_07 - VOUT_SYS */
|
||||
/* P9_08 - VOUT_SYS */
|
||||
/* P9_09 - ONKEY# */
|
||||
/* P9_10 - RESET# */
|
||||
/* P9_11 (Ball:M32) UART1_TXD_MUX*/
|
||||
light_pin_mux(UART1_TXD,3);
|
||||
light_pin_cfg(UART1_TXD, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_12 (Ball:H1) QSPI0_CSN0_MUX*/
|
||||
light_pin_mux(QSPI0_CSN0,3);
|
||||
light_pin_cfg(QSPI0_CSN0, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_13 (Ball:M33) UART1_RXD_MUX*/
|
||||
light_pin_mux(UART1_RXD,3);
|
||||
light_pin_cfg(UART1_RXD, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_14 (Ball:K3) QSPI0_D1_MISO_MUX*/
|
||||
light_pin_mux(QSPI0_D1_MISO,3);
|
||||
light_pin_cfg(QSPI0_D1_MISO, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_15 (Ball:K2) QSPI0_D2_WP_MUX*/
|
||||
light_pin_mux(QSPI0_D2_WP,3);
|
||||
light_pin_cfg(QSPI0_D2_WP, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_16 (Ball:J3) QSPI0_D0_MOSI_MUX*/
|
||||
light_pin_mux(QSPI0_D0_MOSI,3);
|
||||
light_pin_cfg(QSPI0_D0_MOSI, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_17 (Ball:H32) QSPI1_CSN0_MUX*/
|
||||
light_pin_mux(QSPI1_CSN0,3);
|
||||
light_pin_cfg(QSPI1_CSN0, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_18 (Ball:G35) QSPI1_D0_MOSI_MUX*/
|
||||
light_pin_mux(QSPI1_D0_MOSI,3);
|
||||
light_pin_cfg(QSPI1_D0_MOSI, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_19 (Ball:G4) I2C2_SCL_MUX*/
|
||||
light_pin_mux(I2C2_SCL,3);
|
||||
light_pin_cfg(I2C2_SCL, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_20 (Ball:G3) I2C2_SDA_MUX*/
|
||||
light_pin_mux(I2C2_SDA,3);
|
||||
light_pin_cfg(I2C2_SDA, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_21 (Ball:G34) QSPI1_D1_MISO_MUX*/
|
||||
light_pin_mux(QSPI1_D1_MISO,3);
|
||||
light_pin_cfg(QSPI1_D1_MISO, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_22 (Ball:H34) QSPI1_SCLK_MUX*/
|
||||
light_pin_mux(QSPI1_SCLK,3);
|
||||
light_pin_cfg(QSPI1_SCLK, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_23 (Ball:K1) QSPI0_D3_HOLD_MUX*/
|
||||
light_pin_mux(QSPI0_D3_HOLD,3);
|
||||
light_pin_cfg(QSPI0_D3_HOLD, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_24 (Ball:G33) QSPI1_D2_WP_MUX*/
|
||||
light_pin_mux(QSPI1_D2_WP,3);
|
||||
light_pin_cfg(QSPI1_D2_WP, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_25 (Ball:F5) GPIO2_18_MUX*/
|
||||
light_pin_mux(GPIO2_18,0);
|
||||
light_pin_cfg(GPIO2_18, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_26 (Ball:F37) QSPI1_D3_HOLD_MUX*/
|
||||
light_pin_mux(QSPI1_D3_HOLD,3);
|
||||
light_pin_cfg(QSPI1_D3_HOLD, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_27 (Ball:E4) GPIO2_19_MUX*/
|
||||
light_pin_mux(GPIO2_19,0);
|
||||
light_pin_cfg(GPIO2_19, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_28 (Ball:E3) SPI_CSN_MUX*/
|
||||
light_pin_mux(SPI_CSN,3);
|
||||
light_pin_cfg(SPI_CSN, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_29 (Ball:F1) SPI_MISO_MUX*/
|
||||
light_pin_mux(SPI_MISO,3);
|
||||
light_pin_cfg(SPI_MISO, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_30 (Ball:F2) SPI_MOSI_MUX*/
|
||||
light_pin_mux(SPI_MOSI,3);
|
||||
light_pin_cfg(SPI_MOSI, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_31 (Ball:D3) SPI_SCLK_MUX*/
|
||||
light_pin_mux(SPI_SCLK,3);
|
||||
light_pin_cfg(SPI_SCLK, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_32 - GND */
|
||||
/* P9_33 - ADC_VIN_CH4 */
|
||||
/* P9_34 - GND */
|
||||
/* P9_35 - ADC_VIN_CH6 */
|
||||
/* P9_36 - ADC_VIN_CH5 */
|
||||
/* P9_37 - ADC_VIN_CH2 */
|
||||
/* P9_38 - ADC_VIN_CH3 */
|
||||
/* P9_39 - ADC_VIN_CH0 */
|
||||
/* P9_39 - ADC_VIN_CH1 */
|
||||
/* P9_41 (Ball:D2) GPIO2_13_MUX*/
|
||||
light_pin_mux(GPIO2_13,0);
|
||||
light_pin_cfg(GPIO2_13, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_42 (Ball:H3) QSPI0_SCLK_MUX*/
|
||||
light_pin_mux(QSPI0_SCLK,3);
|
||||
light_pin_cfg(QSPI0_SCLK, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
/* P9_43 - GND */
|
||||
/* P9_44 - GND */
|
||||
/* P9_45 - GND */
|
||||
/* P9_46 - GND */
|
||||
|
||||
/* RTL8211F-VD-CG */
|
||||
|
||||
light_pin_mux(GMAC0_COL,3);
|
||||
light_pin_mux(GMAC0_CRS,3);
|
||||
light_pin_cfg(GMAC0_COL,PIN_SPEED_NORMAL,PIN_PU,2);
|
||||
light_pin_cfg(GMAC0_CRS,PIN_SPEED_NORMAL,PIN_PU,2);
|
||||
|
||||
light_pin_cfg(GMAC0_TX_CLK, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_RX_CLK, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_TXEN, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_TXD0, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_TXD1, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_TXD2, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_TXD3, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_RXDV, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_RXD0, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_RXD1, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_RXD2, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_RXD3, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
|
||||
/* PMIC */
|
||||
light_pin_cfg(I2C_AON_SCL,PIN_SPEED_NORMAL,PIN_PN,8);
|
||||
light_pin_cfg(I2C_AON_SDA,PIN_SPEED_NORMAL,PIN_PN,8);
|
||||
|
||||
light_pin_cfg(AOGPIO_14,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(AOGPIO_15,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_mux(AOGPIO_14,0);
|
||||
light_pin_mux(AOGPIO_15,0);
|
||||
|
||||
/* Debug port */
|
||||
light_pin_mux(AOGPIO_12,0xF); // TXD
|
||||
light_pin_mux(AOGPIO_13,0xF); // RXD
|
||||
|
||||
/* LEDs */
|
||||
light_pin_mux(AUDIO_PA8,3);
|
||||
light_pin_cfg(AUDIO_PA8,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_mux(AUDIO_PA9,3);
|
||||
light_pin_cfg(AUDIO_PA9,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_mux(AUDIO_PA10,3);
|
||||
light_pin_cfg(AUDIO_PA10,PIN_SPEED_NORMAL,PIN_PU,2);
|
||||
light_pin_mux(AUDIO_PA11,3);
|
||||
light_pin_cfg(AUDIO_PA11,PIN_SPEED_NORMAL,PIN_PU,2);
|
||||
light_pin_mux(AUDIO_PA12,3);
|
||||
light_pin_cfg(AUDIO_PA12,PIN_SPEED_NORMAL,PIN_PU,2);
|
||||
|
||||
/* Boot select*/
|
||||
|
||||
/* SD boot button*/
|
||||
light_pin_mux(CLK_OUT_0,3);
|
||||
light_pin_cfg(CLK_OUT_0,PIN_SPEED_NORMAL,PIN_PD,2);
|
||||
|
||||
/* NC */
|
||||
light_pin_mux(CLK_OUT_1,3);
|
||||
light_pin_cfg(CLK_OUT_1,PIN_SPEED_NORMAL,PIN_PD,2);
|
||||
|
||||
/* USB boot button*/
|
||||
light_pin_mux(CLK_OUT_2,3);
|
||||
light_pin_cfg(CLK_OUT_2,PIN_SPEED_NORMAL,PIN_PU,2);
|
||||
|
||||
|
||||
/*mikroBUS pinmuxing*/
|
||||
|
||||
/*mikroBUS PWM*/
|
||||
light_pin_mux(QSPI0_CSN1,3); // MB_PWM
|
||||
light_pin_cfg(QSPI0_CSN1,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
|
||||
/*mikroBUS GPIO*/
|
||||
light_pin_mux(AUDIO_PA3,3); // MB_RST
|
||||
light_pin_mux(GPIO2_21,0); // MB_INT
|
||||
light_pin_cfg(AUDIO_PA3,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO2_21,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
|
||||
/*mikroBUS UART*/
|
||||
light_pin_mux(UART3_RXD,3); // MB_RXD
|
||||
light_pin_mux(UART3_TXD,3); // MB_TXD
|
||||
light_pin_cfg(UART3_RXD,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(UART3_TXD,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
|
||||
/*mikroBUS SPI*/
|
||||
light_pin_mux(GPIO2_20,3); // MB_CS
|
||||
light_pin_mux(SPI_SCLK,3); // MB_SCK
|
||||
light_pin_mux(SPI_MISO,3); // MB_MOSI
|
||||
light_pin_mux(SPI_MOSI,3); // MB_MISO
|
||||
light_pin_cfg(GPIO2_20,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(SPI_SCLK,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(SPI_MISO,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(SPI_MOSI,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
|
||||
/*mikroBUS I2C*/
|
||||
light_pin_mux(GPIO0_18,0); // MB_SCL
|
||||
light_pin_mux(GPIO0_19,0); // MB_SDA
|
||||
light_pin_cfg(GPIO0_18,PIN_SPEED_NORMAL,PIN_PN,4);
|
||||
light_pin_cfg(GPIO0_19,PIN_SPEED_NORMAL,PIN_PN,4);
|
||||
|
||||
/* CSI0 */
|
||||
light_pin_mux(GPIO2_23,0); // CSI0
|
||||
light_pin_cfg(GPIO2_23,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(I2C1_SCL,PIN_SPEED_NORMAL,PIN_PN,4);
|
||||
light_pin_cfg(I2C1_SDA,PIN_SPEED_NORMAL,PIN_PN,4);
|
||||
|
||||
/* CSI1 */
|
||||
light_pin_mux(GPIO2_24,0); // CSI1
|
||||
light_pin_cfg(GPIO2_24,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(I2C3_SCL,PIN_SPEED_NORMAL,PIN_PN,4);
|
||||
light_pin_cfg(I2C3_SDA,PIN_SPEED_NORMAL,PIN_PN,4);
|
||||
|
||||
/* EEPROM */
|
||||
light_pin_mux(GPIO2_22,0); // EEPROM
|
||||
light_pin_cfg(GPIO2_22,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(I2C0_SCL,PIN_SPEED_NORMAL,PIN_PN,4);
|
||||
light_pin_cfg(I2C0_SDA,PIN_SPEED_NORMAL,PIN_PN,4);
|
||||
|
||||
/* AM6203BM */
|
||||
light_pin_mux(SDIO1_WPRTN,3);
|
||||
light_pin_mux(SDIO1_DETN,3);
|
||||
light_pin_mux(GPIO2_25,0);
|
||||
light_pin_mux(GPIO2_30,0);
|
||||
light_pin_mux(GPIO2_31,0);
|
||||
light_pin_cfg(SDIO1_WPRTN,PIN_SPEED_NORMAL,PIN_PU,2);
|
||||
light_pin_cfg(SDIO1_DETN,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO2_25,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO2_30,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO2_31,PIN_SPEED_NORMAL,PIN_PU,2);
|
||||
|
||||
//BT hardware flow control uart
|
||||
light_pin_cfg(UART4_TXD, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
light_pin_cfg(UART4_RXD, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
light_pin_cfg(UART4_CTSN, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
light_pin_cfg(UART4_RTSN, PIN_SPEED_NORMAL, PIN_PN, 2);
|
||||
|
||||
|
||||
}
|
||||
|
||||
#elif defined (CONFIG_TARGET_LIGHT_FM_C910_MILKV_MELES)
|
||||
static void light_iopin_init(void)
|
||||
{
|
||||
/* aon-padmux config */
|
||||
light_pin_cfg(I2C_AON_SCL,PIN_SPEED_NORMAL,PIN_PN,8);
|
||||
light_pin_cfg(I2C_AON_SDA,PIN_SPEED_NORMAL,PIN_PN,8);
|
||||
|
||||
light_pin_mux(AOGPIO_7,3);
|
||||
light_pin_mux(AOGPIO_8,3);
|
||||
light_pin_mux(AOGPIO_9,3);
|
||||
light_pin_mux(AOGPIO_10,3);
|
||||
light_pin_mux(AOGPIO_11,0);
|
||||
light_pin_mux(AOGPIO_12,1);
|
||||
light_pin_mux(AOGPIO_13,1);
|
||||
light_pin_mux(AOGPIO_14,0);
|
||||
light_pin_mux(AOGPIO_15,0);
|
||||
light_pin_cfg(AOGPIO_7,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(AOGPIO_8,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(AOGPIO_9,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(AOGPIO_10,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(AOGPIO_11,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(AOGPIO_14,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(AOGPIO_15,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
|
||||
light_pin_mux(AUDIO_PA9,3);
|
||||
light_pin_cfg(AUDIO_PA9,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_mux(AUDIO_PA10,3);
|
||||
light_pin_cfg(AUDIO_PA10,PIN_SPEED_NORMAL,PIN_PU,2);
|
||||
light_pin_mux(AUDIO_PA12,3);
|
||||
light_pin_cfg(AUDIO_PA12,PIN_SPEED_NORMAL,PIN_PU,2);
|
||||
light_pin_mux(AUDIO_PA13,0);
|
||||
|
||||
/*ap-padmux on left/top */
|
||||
light_pin_mux(QSPI1_CSN0,3);
|
||||
light_pin_mux(QSPI1_D2_WP,1);
|
||||
light_pin_cfg(QSPI1_CSN0,PIN_SPEED_NORMAL,PIN_PN,8);
|
||||
light_pin_cfg(QSPI1_SCLK,PIN_SPEED_NORMAL,PIN_PN,8);
|
||||
light_pin_cfg(QSPI1_D0_MOSI,PIN_SPEED_NORMAL,PIN_PU,8);
|
||||
light_pin_cfg(QSPI1_D1_MISO,PIN_SPEED_NORMAL,PIN_PU,8);
|
||||
light_pin_cfg(QSPI1_D2_WP,PIN_SPEED_NORMAL,PIN_PN,0xF);
|
||||
light_pin_cfg(QSPI1_D3_HOLD,PIN_SPEED_NORMAL,PIN_PN,8);
|
||||
|
||||
light_pin_mux(I2C0_SCL,0);
|
||||
light_pin_mux(I2C0_SDA,0);
|
||||
light_pin_cfg(I2C0_SCL,PIN_SPEED_NORMAL,PIN_PN,4);
|
||||
light_pin_cfg(I2C0_SDA,PIN_SPEED_NORMAL,PIN_PN,4);
|
||||
|
||||
light_pin_mux(UART3_TXD,1);
|
||||
light_pin_mux(UART3_RXD,1);
|
||||
light_pin_cfg(UART3_TXD,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(UART3_RXD,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
|
||||
light_pin_mux(GPIO0_18,1);
|
||||
light_pin_mux(GPIO0_19,1);
|
||||
light_pin_cfg(GPIO0_18,PIN_SPEED_NORMAL,PIN_PN,4);
|
||||
light_pin_cfg(GPIO0_19,PIN_SPEED_NORMAL,PIN_PN,4);
|
||||
|
||||
light_pin_mux(GPIO0_20,0);
|
||||
light_pin_mux(GPIO0_21,0);
|
||||
light_pin_mux(GPIO0_22,1);
|
||||
light_pin_mux(GPIO0_23,1);
|
||||
light_pin_mux(GPIO0_24,1);
|
||||
light_pin_mux(GPIO0_25,1);
|
||||
light_pin_mux(GPIO0_26,1);
|
||||
light_pin_mux(GPIO0_27,0);
|
||||
light_pin_mux(GPIO0_28,0);
|
||||
light_pin_mux(GPIO0_29,0);
|
||||
light_pin_mux(GPIO0_30,0);
|
||||
light_pin_cfg(GPIO0_20,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO0_21,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO0_27,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO0_28,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO0_29,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO0_30,PIN_SPEED_NORMAL,PIN_PU,2);
|
||||
|
||||
light_pin_mux(GPIO1_0,1);
|
||||
light_pin_mux(GPIO1_1,1);
|
||||
light_pin_mux(GPIO1_2,1);
|
||||
light_pin_mux(GPIO1_3,1);
|
||||
light_pin_mux(GPIO1_4,1);
|
||||
light_pin_mux(GPIO1_9,0);
|
||||
light_pin_mux(GPIO1_10,0);
|
||||
light_pin_mux(GPIO1_11,0);
|
||||
light_pin_mux(GPIO1_12,0);
|
||||
light_pin_mux(GPIO1_13,0);
|
||||
light_pin_mux(GPIO1_14,0);
|
||||
light_pin_mux(GPIO1_15,0);
|
||||
light_pin_mux(GPIO1_16,0);
|
||||
light_pin_mux(GPIO1_21,3);
|
||||
light_pin_mux(GPIO1_22,3);
|
||||
light_pin_mux(GPIO1_23,3);
|
||||
light_pin_mux(GPIO1_24,3);
|
||||
light_pin_mux(GPIO1_25,3);
|
||||
light_pin_cfg(GPIO1_0,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO1_1,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO1_2,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO1_3,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO1_4,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO1_9,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO1_10,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO1_11,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO1_12,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO1_13,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO1_14,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO1_15,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO1_16,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO1_21,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO1_22,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO1_23,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO1_24,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO1_25,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO1_26,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
|
||||
light_pin_mux(CLK_OUT_0,1);
|
||||
light_pin_mux(CLK_OUT_1,1);
|
||||
light_pin_mux(CLK_OUT_3,1);
|
||||
light_pin_mux(CLK_OUT_2,3);
|
||||
light_pin_cfg(CLK_OUT_2,PIN_SPEED_NORMAL,PIN_PU,2);
|
||||
|
||||
/*ap-pdmux on righ/top*/
|
||||
light_pin_mux(QSPI0_SCLK,3);
|
||||
light_pin_mux(QSPI0_CSN0,3);
|
||||
light_pin_mux(QSPI0_CSN1,3);
|
||||
light_pin_mux(QSPI0_D0_MOSI,3);
|
||||
light_pin_mux(QSPI0_D1_MISO,3);
|
||||
light_pin_mux(QSPI0_D2_WP,3);
|
||||
light_pin_mux(QSPI0_D3_HOLD,3);
|
||||
|
||||
light_pin_cfg(I2C2_SCL,PIN_SPEED_NORMAL,PIN_PN,4);
|
||||
light_pin_cfg(I2C2_SDA,PIN_SPEED_NORMAL,PIN_PN,4);
|
||||
|
||||
light_pin_mux(I2C3_SCL,0);
|
||||
light_pin_mux(I2C3_SDA,0);
|
||||
light_pin_cfg(I2C3_SCL,PIN_SPEED_NORMAL,PIN_PU,4);
|
||||
light_pin_cfg(I2C3_SDA,PIN_SPEED_NORMAL,PIN_PU,4);
|
||||
|
||||
light_pin_mux(SPI_CSN,1);
|
||||
light_pin_cfg(SPI_CSN,PIN_SPEED_NORMAL,PIN_PU,2);
|
||||
|
||||
light_pin_mux(GPIO2_18,0);
|
||||
light_pin_mux(GPIO2_19,0);
|
||||
light_pin_mux(GPIO2_20,0);
|
||||
light_pin_mux(GPIO2_21,0);
|
||||
light_pin_mux(GPIO2_22,0);
|
||||
light_pin_mux(GPIO2_23,0);
|
||||
light_pin_mux(GPIO2_24,0);
|
||||
light_pin_mux(GPIO2_25,0);
|
||||
|
||||
light_pin_cfg(GPIO2_18,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO2_19,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO2_20,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO2_21,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO2_22,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO2_23,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO2_24,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_cfg(GPIO2_25,PIN_SPEED_NORMAL,PIN_PU,2);
|
||||
|
||||
light_pin_mux(SDIO0_WPRTN,3);
|
||||
light_pin_cfg(SDIO0_WPRTN,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
light_pin_mux(SDIO1_WPRTN,3);
|
||||
light_pin_cfg(SDIO1_WPRTN,PIN_SPEED_NORMAL,PIN_PU,2);
|
||||
light_pin_mux(SDIO1_DETN,3);
|
||||
light_pin_cfg(SDIO1_DETN,PIN_SPEED_NORMAL,PIN_PN,2);
|
||||
|
||||
light_pin_mux(GPIO2_30,0);
|
||||
light_pin_mux(GPIO2_31,0);
|
||||
light_pin_mux(GPIO3_0,0);
|
||||
light_pin_mux(GPIO3_1,0);
|
||||
light_pin_mux(GPIO3_2,1);
|
||||
light_pin_mux(GPIO3_3,1);
|
||||
light_pin_cfg(GPIO2_30, PIN_SPEED_NORMAL, PIN_PN, 0x2);
|
||||
light_pin_cfg(GPIO2_31, PIN_SPEED_NORMAL, PIN_PN, 0x2);
|
||||
light_pin_cfg(GPIO3_0, PIN_SPEED_NORMAL, PIN_PN, 0x2);
|
||||
light_pin_cfg(GPIO3_1, PIN_SPEED_NORMAL, PIN_PN, 0x2);
|
||||
light_pin_cfg(GPIO3_2, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GPIO3_3, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
|
||||
light_pin_mux(GMAC0_COL,3);
|
||||
light_pin_mux(GMAC0_CRS,3);
|
||||
light_pin_cfg(GMAC0_COL,PIN_SPEED_NORMAL,PIN_PU,2);
|
||||
light_pin_cfg(GMAC0_CRS,PIN_SPEED_NORMAL,PIN_PU,2);
|
||||
|
||||
/* GMAC0 pad drive strength configurate to 0xF */
|
||||
light_pin_cfg(GMAC0_TX_CLK, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_RX_CLK, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_TXEN, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_TXD0, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_TXD1, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_TXD2, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_TXD3, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_RXDV, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_RXD0, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_RXD1, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_RXD2, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
light_pin_cfg(GMAC0_RXD3, PIN_SPEED_NORMAL, PIN_PN, 0xF);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
static void light_iopin_init(void)
|
||||
@@ -2062,10 +2625,10 @@ int board_init(void)
|
||||
|
||||
static void light_usb_boot_check(void)
|
||||
{
|
||||
int boot_mode;
|
||||
uchar env_enetaddr[6]={0};
|
||||
uchar env_enet1addr[6]={0};
|
||||
uchar env_enetaddr[6];
|
||||
uchar env_enet1addr[6];
|
||||
int env_ethaddr_flag,env_eth1addr_flag;
|
||||
int boot_mode;
|
||||
int ret = 0;
|
||||
|
||||
boot_mode = readl((void *)SOC_OM_ADDRBASE) & 0x7;
|
||||
@@ -2081,31 +2644,49 @@ static void light_usb_boot_check(void)
|
||||
#ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
|
||||
env_set("usb_fastboot", "yes");
|
||||
#endif
|
||||
/*Get this version ethaddr(mac addr) env,which follows one board, trans to next version env*/
|
||||
|
||||
/* ensure flashing img not to lose mac address on ramfs mode */
|
||||
env_ethaddr_flag = eth_env_get_enetaddr_by_index("eth", 0, env_enetaddr);
|
||||
env_eth1addr_flag = eth_env_get_enetaddr_by_index("eth", 1, env_enet1addr);
|
||||
|
||||
run_command("env default -a -f", 0);
|
||||
/*If mac addr in last version env is valid, before save,inherit env mac addr */
|
||||
if(env_ethaddr_flag){
|
||||
if (env_ethaddr_flag)
|
||||
eth_env_set_enetaddr_by_index("eth", 0, env_enetaddr);
|
||||
run_command("printenv ethaddr",0);
|
||||
}else{
|
||||
printf("env ethaddr not exist or invalid\n");
|
||||
}
|
||||
|
||||
if(env_eth1addr_flag){
|
||||
if (env_eth1addr_flag)
|
||||
eth_env_set_enetaddr_by_index("eth", 1, env_enet1addr);
|
||||
run_command("printenv eth1addr",0);
|
||||
}else{
|
||||
printf("env eth1addr not exist or invalid\n");
|
||||
}
|
||||
|
||||
run_command("env save", 0);
|
||||
env_save();
|
||||
run_command("run gpt_partition", 0);
|
||||
run_command("fastboot usb 0", 0);
|
||||
}
|
||||
|
||||
static void light_mac_vaild_check(void)
|
||||
{
|
||||
uchar env_enetaddr[6];
|
||||
uchar env_enet1addr[6];
|
||||
int env_ethaddr_flag,env_eth1addr_flag;
|
||||
|
||||
/*Get this version ethaddr(mac addr) env,which follows one board, trans to next version env*/
|
||||
env_ethaddr_flag = eth_env_get_enetaddr_by_index("eth", 0, env_enetaddr);
|
||||
env_eth1addr_flag = eth_env_get_enetaddr_by_index("eth", 1, env_enet1addr);
|
||||
|
||||
if (!env_ethaddr_flag || !env_eth1addr_flag) {
|
||||
net_random_ethaddr(env_enetaddr);
|
||||
if (env_enetaddr[5] == (uchar)(0xff)) {
|
||||
env_enetaddr[5] = 0xfe;
|
||||
}
|
||||
eth_env_set_enetaddr_by_index("eth", 0, env_enetaddr);
|
||||
env_enetaddr[5] += 0x01;
|
||||
eth_env_set_enetaddr_by_index("eth", 1, env_enetaddr);
|
||||
printf("Use random addr as fixed mac addr\n");
|
||||
env_save();
|
||||
}
|
||||
|
||||
printf("ethaddr: %s\n", env_get("ethaddr"));
|
||||
printf("eth1addr: %s\n", env_get("eth1addr"));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
int board_late_init(void)
|
||||
{
|
||||
light_usb_boot_check();
|
||||
@@ -2117,19 +2698,18 @@ int board_late_init(void)
|
||||
nonsec_upgrade_thread();
|
||||
sec_firmware_version_dump();
|
||||
#endif
|
||||
|
||||
|
||||
light_mac_vaild_check();
|
||||
ap_peri_clk_disable();
|
||||
|
||||
#ifdef CONFIG_MCU_HC32fX
|
||||
mcu_poweron();
|
||||
mcu_poweron();
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_DM_CHARGE_DISPLAY
|
||||
charge_display();
|
||||
charge_display();
|
||||
#endif
|
||||
|
||||
update_sn();
|
||||
update_mac();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -136,7 +136,7 @@ static const struct regulator_t g_apcpu_regu_id_list[] = {
|
||||
REGU_ID_DEF(IIC_IDX_AONIIC,APCPU_REGU_VDDM,0x31,0x39,0,1,800000,600000,3500000,12500,1),
|
||||
},
|
||||
};
|
||||
#elif defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_REF) || defined (CONFIG_TARGET_LIGHT_FM_C910_A_REF) || defined (CONFIG_TARGET_LIGHT_FM_C910_B_REF) || (CONFIG_TARGET_LIGHT_FM_C910_BEAGLE) || defined (CONFIG_TARGET_LIGHT_FM_C910_LPI4A) || defined(CONFIG_TARGET_LIGHT_FM_C910_RVBOOK)
|
||||
#elif defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_REF) || defined (CONFIG_TARGET_LIGHT_FM_C910_A_REF) || defined (CONFIG_TARGET_LIGHT_FM_C910_B_REF) || (CONFIG_TARGET_LIGHT_FM_C910_BEAGLE) || defined (CONFIG_TARGET_LIGHT_FM_C910_LPI4A) || defined (CONFIG_TARGET_LIGHT_FM_C910_MILKV_MELES) || defined(CONFIG_TARGET_LIGHT_FM_C910_RVBOOK)
|
||||
/**
|
||||
* board for ant-ref
|
||||
*
|
||||
@@ -955,7 +955,7 @@ int pmic_reset_apcpu_voltage(void)
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
#elif defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_REF) || defined (CONFIG_TARGET_LIGHT_FM_C910_A_REF) || defined (CONFIG_TARGET_LIGHT_FM_C910_B_REF)|| (CONFIG_TARGET_LIGHT_FM_C910_BEAGLE) || defined (CONFIG_TARGET_LIGHT_FM_C910_LPI4A) || defined(CONFIG_TARGET_LIGHT_FM_C910_RVBOOK)
|
||||
#elif defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_REF) || defined (CONFIG_TARGET_LIGHT_FM_C910_A_REF) || defined (CONFIG_TARGET_LIGHT_FM_C910_B_REF)|| (CONFIG_TARGET_LIGHT_FM_C910_BEAGLE) || defined (CONFIG_TARGET_LIGHT_FM_C910_LPI4A) || defined (CONFIG_TARGET_LIGHT_FM_C910_MILKV_MELES) || defined(CONFIG_TARGET_LIGHT_FM_C910_RVBOOK)
|
||||
int pmic_reset_apcpu_voltage(void)
|
||||
{
|
||||
int ret = -1;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "../include/common_lib.h"
|
||||
#include "../include/ddr_common_func.h"
|
||||
#include "../include/ddr_retention.h"
|
||||
#include "../include/pinmux.h"
|
||||
|
||||
DDR_SYSREG_REG_SW_REG_S ddr_sysreg;
|
||||
|
||||
@@ -48,7 +49,7 @@ int get_ddr_rank_number() {
|
||||
#ifdef CONFIG_DDR_MSG
|
||||
DDR_DEBUG("unsupported ddr rank type!!!\n");
|
||||
#endif
|
||||
return NULL;
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "../include/common_lib.h"
|
||||
#include "../include/ddr_common_func.h"
|
||||
#include "../include/ddr_retention.h"
|
||||
#include "../include/pinmux.h"
|
||||
|
||||
/*
|
||||
/// data structure to store register address, value pairs
|
||||
|
||||
@@ -338,37 +338,37 @@ int boundary_verify(unsigned long boundary) {
|
||||
phys_addr_t verify_addr4 = (phys_addr_t)boundary + CONFIG_SYS_SDRAM_BASE;
|
||||
|
||||
// verify data accessing result firstly
|
||||
writel(MAGIC_DATA2, verify_addr);
|
||||
writel(MAGIC_DATA2, (void *)verify_addr);
|
||||
invalidate_dcache_range(verify_addr, verify_addr + CONFIG_SYS_CACHELINE_SIZE);
|
||||
if (readl(verify_addr) != MAGIC_DATA2) {
|
||||
if (readl((void *)verify_addr) != MAGIC_DATA2) {
|
||||
printf("ddr rw test failed\n");
|
||||
return -1;
|
||||
}
|
||||
writel(MAGIC_DATA, verify_addr); // writing at beginning
|
||||
writel(MAGIC_DATA, (void *)verify_addr); // writing at beginning
|
||||
invalidate_dcache_range(verify_addr, verify_addr + CONFIG_SYS_CACHELINE_SIZE);
|
||||
if (readl(verify_addr) != MAGIC_DATA) {
|
||||
if (readl((void *)verify_addr) != MAGIC_DATA) {
|
||||
printf("ddr rw test failed\n");
|
||||
return -1;
|
||||
}
|
||||
writel(MAGIC_DATA2, verify_addr2); // writing at one-quarter addr
|
||||
writel(MAGIC_DATA3, verify_addr3); // writing at half addr
|
||||
writel(MAGIC_DATA2, (void *)verify_addr2); // writing at one-quarter addr
|
||||
writel(MAGIC_DATA3, (void *)verify_addr3); // writing at half addr
|
||||
invalidate_dcache_range(verify_addr, verify_addr + CONFIG_SYS_CACHELINE_SIZE);
|
||||
invalidate_dcache_range(verify_addr2, verify_addr2 + CONFIG_SYS_CACHELINE_SIZE);
|
||||
invalidate_dcache_range(verify_addr3, verify_addr3 + CONFIG_SYS_CACHELINE_SIZE);
|
||||
|
||||
if (boundary == (unsigned long)MAXIMAL_DDR_DENSITY_MB * UNIT_MB) { // boundary by design
|
||||
if ((readl(verify_addr) == MAGIC_DATA) &&
|
||||
(readl(verify_addr2) == MAGIC_DATA2) &&
|
||||
(readl(verify_addr3) == MAGIC_DATA3))
|
||||
if ((readl((void *)verify_addr) == MAGIC_DATA) &&
|
||||
(readl((void *)verify_addr2) == MAGIC_DATA2) &&
|
||||
(readl((void *)verify_addr3) == MAGIC_DATA3))
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
writel(MAGIC_DATA4, verify_addr4); // writing out of boundary
|
||||
writel(MAGIC_DATA4, (void *)verify_addr4); // writing out of boundary
|
||||
invalidate_dcache_range(verify_addr4, verify_addr4 + CONFIG_SYS_CACHELINE_SIZE);
|
||||
if ((readl(verify_addr) == MAGIC_DATA4) && // overwrite by verify_addr4
|
||||
(readl(verify_addr2) == MAGIC_DATA2) &&
|
||||
(readl(verify_addr3) == MAGIC_DATA3) &&
|
||||
(readl(verify_addr4) == MAGIC_DATA4))
|
||||
if ((readl((void *)verify_addr) == MAGIC_DATA4) && // overwrite by verify_addr4
|
||||
(readl((void *)verify_addr2) == MAGIC_DATA2) &&
|
||||
(readl((void *)verify_addr3) == MAGIC_DATA3) &&
|
||||
(readl((void *)verify_addr4) == MAGIC_DATA4))
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -420,14 +420,14 @@ void cpu_performance_enable(void)
|
||||
#define CSR_MHINT2_E 0x7cc
|
||||
#define CSR_MHINT4 0x7ce
|
||||
csr_write(CSR_SMPEN, 0x1);
|
||||
csr_write(CSR_MCCR2, 0xe2490009);
|
||||
csr_write(CSR_MXSTATUS, 0x638000);
|
||||
csr_write(CSR_MHINT, 0x6e30c | (1<<21) | (1<<22)); // set bit21 & bit 22 to close tlb & fence broadcast
|
||||
// FIXME: Clear bit[12] to disable L0BTB.
|
||||
csr_write(CSR_MHCR, 0x17f); // clear bit7 to disable indirect brantch prediction
|
||||
// FIXME set mhint2[22] to enable core icg en
|
||||
csr_write(CSR_MHINT2_E, csr_read(CSR_MHINT2_E) | 0x420000);
|
||||
csr_write(CSR_MHINT4, csr_read(CSR_MHINT4) | 0x410);
|
||||
csr_write(CSR_MCCR2, 0xe2490009);
|
||||
// FIXME: Clear bit[12] to disable L0BTB.
|
||||
csr_write(CSR_MHCR, 0x17f); // clear bit7 to disable indirect brantch prediction
|
||||
csr_write(CSR_MHINT, 0x6e30c | (1<<21) | (1<<22)); // set bit21 & bit 22 to close tlb & fence broadcast
|
||||
mdelay(50); // workaround
|
||||
}
|
||||
|
||||
static int bl1_img_have_head(unsigned long img_src_addr)
|
||||
|
||||
12
cmd/Kconfig
12
cmd/Kconfig
@@ -375,6 +375,18 @@ config CMD_FDT
|
||||
help
|
||||
Do FDT related setup before booting into the Operating System.
|
||||
|
||||
config SUPPORT_EXTENSION_SCAN
|
||||
bool
|
||||
|
||||
config CMD_EXTENSION
|
||||
bool "Extension board management command"
|
||||
select CMD_FDT
|
||||
depends on SUPPORT_EXTENSION_SCAN
|
||||
help
|
||||
Enables the "extension" command, which allows to detect
|
||||
extension boards connected to the system, and apply
|
||||
corresponding Device Tree overlays.
|
||||
|
||||
config CMD_GO
|
||||
bool "go"
|
||||
default y
|
||||
|
||||
@@ -48,6 +48,7 @@ ifdef CONFIG_POST
|
||||
obj-$(CONFIG_CMD_DIAG) += diag.o
|
||||
endif
|
||||
obj-$(CONFIG_CMD_DTIMG) += dtimg.o
|
||||
obj-$(CONFIG_CMD_EXTENSION) += extension_board.o
|
||||
obj-$(CONFIG_CMD_ECHO) += echo.o
|
||||
obj-$(CONFIG_ENV_IS_IN_EEPROM) += eeprom.o
|
||||
obj-$(CONFIG_CMD_EEPROM) += eeprom.o
|
||||
|
||||
167
cmd/extension_board.c
Normal file
167
cmd/extension_board.c
Normal file
@@ -0,0 +1,167 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* (C) Copyright 2021
|
||||
* Köry Maincent, Bootlin, <kory.maincent@bootlin.com>
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <command.h>
|
||||
#include <malloc.h>
|
||||
#include <extension_board.h>
|
||||
#include <mapmem.h>
|
||||
#include <linux/libfdt.h>
|
||||
#include <fdt_support.h>
|
||||
|
||||
static LIST_HEAD(extension_list);
|
||||
|
||||
static int extension_apply(struct extension *extension)
|
||||
{
|
||||
char *overlay_cmd;
|
||||
ulong extrasize, overlay_addr;
|
||||
struct fdt_header *blob;
|
||||
|
||||
if (!working_fdt) {
|
||||
printf("No FDT memory address configured. Please configure\n"
|
||||
"the FDT address via \"fdt addr <address>\" command.\n");
|
||||
return CMD_RET_FAILURE;
|
||||
}
|
||||
|
||||
overlay_cmd = env_get("extension_overlay_cmd");
|
||||
if (!overlay_cmd) {
|
||||
printf("Environment extension_overlay_cmd is missing\n");
|
||||
return CMD_RET_FAILURE;
|
||||
}
|
||||
|
||||
overlay_addr = env_get_hex("extension_overlay_addr", 0);
|
||||
if (!overlay_addr) {
|
||||
printf("Environment extension_overlay_addr is missing\n");
|
||||
return CMD_RET_FAILURE;
|
||||
}
|
||||
|
||||
env_set("extension_overlay_name", extension->overlay);
|
||||
if (run_command(overlay_cmd, 0) != 0)
|
||||
return CMD_RET_FAILURE;
|
||||
|
||||
extrasize = env_get_hex("filesize", 0);
|
||||
if (!extrasize)
|
||||
return CMD_RET_FAILURE;
|
||||
|
||||
fdt_shrink_to_minimum(working_fdt, extrasize);
|
||||
|
||||
blob = map_sysmem(overlay_addr, 0);
|
||||
if (!fdt_valid(&blob))
|
||||
return CMD_RET_FAILURE;
|
||||
|
||||
/* apply method prints messages on error */
|
||||
if (fdt_overlay_apply_verbose(working_fdt, blob))
|
||||
return CMD_RET_FAILURE;
|
||||
|
||||
return CMD_RET_SUCCESS;
|
||||
}
|
||||
|
||||
static int do_extension_list(struct cmd_tbl *cmdtp, int flag,
|
||||
int argc, char *const argv[])
|
||||
{
|
||||
int i = 0;
|
||||
struct extension *extension;
|
||||
|
||||
if (list_empty(&extension_list)) {
|
||||
printf("No extension registered - Please run \"extension scan\"\n");
|
||||
return CMD_RET_SUCCESS;
|
||||
}
|
||||
|
||||
list_for_each_entry(extension, &extension_list, list) {
|
||||
printf("Extension %d: %s\n", i++, extension->name);
|
||||
printf("\tManufacturer: \t\t%s\n", extension->owner);
|
||||
printf("\tVersion: \t\t%s\n", extension->version);
|
||||
printf("\tDevicetree overlay: \t%s\n", extension->overlay);
|
||||
printf("\tOther information: \t%s\n", extension->other);
|
||||
}
|
||||
return CMD_RET_SUCCESS;
|
||||
}
|
||||
|
||||
static int do_extension_scan(struct cmd_tbl *cmdtp, int flag,
|
||||
int argc, char *const argv[])
|
||||
{
|
||||
struct extension *extension, *next;
|
||||
int extension_num;
|
||||
|
||||
list_for_each_entry_safe(extension, next, &extension_list, list) {
|
||||
list_del(&extension->list);
|
||||
free(extension);
|
||||
}
|
||||
extension_num = extension_board_scan(&extension_list);
|
||||
|
||||
if (extension_num < 0)
|
||||
return CMD_RET_FAILURE;
|
||||
|
||||
printf("Found %d extension board(s).\n", extension_num);
|
||||
|
||||
return CMD_RET_SUCCESS;
|
||||
}
|
||||
|
||||
static int do_extension_apply(struct cmd_tbl *cmdtp, int flag,
|
||||
int argc, char *const argv[])
|
||||
{
|
||||
struct extension *extension = NULL;
|
||||
struct list_head *entry;
|
||||
int i = 0, extension_id, ret;
|
||||
|
||||
if (argc < 2)
|
||||
return CMD_RET_USAGE;
|
||||
|
||||
if (strcmp(argv[1], "all") == 0) {
|
||||
list_for_each_entry(extension, &extension_list, list) {
|
||||
ret = extension_apply(extension);
|
||||
if (ret != CMD_RET_SUCCESS)
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
extension_id = simple_strtol(argv[1], NULL, 10);
|
||||
list_for_each(entry, &extension_list) {
|
||||
if (i == extension_id) {
|
||||
extension = list_entry(entry, struct extension, list);
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
if (!extension) {
|
||||
printf("Wrong extension number\n");
|
||||
return CMD_RET_FAILURE;
|
||||
}
|
||||
|
||||
ret = extension_apply(extension);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static struct cmd_tbl cmd_extension[] = {
|
||||
U_BOOT_CMD_MKENT(scan, 1, 1, do_extension_scan, "", ""),
|
||||
U_BOOT_CMD_MKENT(list, 1, 0, do_extension_list, "", ""),
|
||||
U_BOOT_CMD_MKENT(apply, 2, 0, do_extension_apply, "", ""),
|
||||
};
|
||||
|
||||
static int do_extensionops(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||
char *const argv[])
|
||||
{
|
||||
struct cmd_tbl *cp;
|
||||
|
||||
/* Drop the extension command */
|
||||
argc--;
|
||||
argv++;
|
||||
|
||||
cp = find_cmd_tbl(argv[0], cmd_extension, ARRAY_SIZE(cmd_extension));
|
||||
if (cp)
|
||||
return cp->cmd(cmdtp, flag, argc, argv);
|
||||
|
||||
return CMD_RET_USAGE;
|
||||
}
|
||||
|
||||
U_BOOT_CMD(extension, 3, 1, do_extensionops,
|
||||
"Extension board management sub system",
|
||||
"scan - scan plugged extension(s) board(s)\n"
|
||||
"extension list - lists available extension(s) board(s)\n"
|
||||
"extension apply <extension number|all> - applies DT overlays corresponding to extension boards\n"
|
||||
);
|
||||
49
cmd/fdt.c
49
cmd/fdt.c
@@ -27,7 +27,6 @@
|
||||
*/
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
static int fdt_valid(struct fdt_header **blobp);
|
||||
static int fdt_parse_prop(char *const*newval, int count, char *data, int *len);
|
||||
static int fdt_print(const char *pathp, char *prop, int depth);
|
||||
static int is_printable_string(const void *data, int len);
|
||||
@@ -732,54 +731,6 @@ static int do_fdt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/**
|
||||
* fdt_valid() - Check if an FDT is valid. If not, change it to NULL
|
||||
*
|
||||
* @blobp: Pointer to FDT pointer
|
||||
* @return 1 if OK, 0 if bad (in which case *blobp is set to NULL)
|
||||
*/
|
||||
static int fdt_valid(struct fdt_header **blobp)
|
||||
{
|
||||
const void *blob = *blobp;
|
||||
int err;
|
||||
|
||||
if (blob == NULL) {
|
||||
printf ("The address of the fdt is invalid (NULL).\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
err = fdt_check_header(blob);
|
||||
if (err == 0)
|
||||
return 1; /* valid */
|
||||
|
||||
if (err < 0) {
|
||||
printf("libfdt fdt_check_header(): %s", fdt_strerror(err));
|
||||
/*
|
||||
* Be more informative on bad version.
|
||||
*/
|
||||
if (err == -FDT_ERR_BADVERSION) {
|
||||
if (fdt_version(blob) <
|
||||
FDT_FIRST_SUPPORTED_VERSION) {
|
||||
printf (" - too old, fdt %d < %d",
|
||||
fdt_version(blob),
|
||||
FDT_FIRST_SUPPORTED_VERSION);
|
||||
}
|
||||
if (fdt_last_comp_version(blob) >
|
||||
FDT_LAST_SUPPORTED_VERSION) {
|
||||
printf (" - too new, fdt %d > %d",
|
||||
fdt_version(blob),
|
||||
FDT_LAST_SUPPORTED_VERSION);
|
||||
}
|
||||
}
|
||||
printf("\n");
|
||||
*blobp = NULL;
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/****************************************************************************/
|
||||
|
||||
/*
|
||||
* Parse the user's input, partially heuristic. Valid formats:
|
||||
* <0x00112233 4 05> - an array of cells. Numbers follow standard
|
||||
|
||||
103
cmd/pxe_utils.c
103
cmd/pxe_utils.c
@@ -9,6 +9,8 @@
|
||||
#include <malloc.h>
|
||||
#include <mapmem.h>
|
||||
#include <lcd.h>
|
||||
#include <fdt_support.h>
|
||||
#include <linux/libfdt.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/ctype.h>
|
||||
#include <errno.h>
|
||||
@@ -279,6 +281,9 @@ static void label_destroy(struct pxe_label *label)
|
||||
if (label->fdtdir)
|
||||
free(label->fdtdir);
|
||||
|
||||
if (label->fdtoverlays)
|
||||
free(label->fdtoverlays);
|
||||
|
||||
free(label);
|
||||
}
|
||||
|
||||
@@ -326,6 +331,92 @@ static int label_localboot(struct pxe_label *label)
|
||||
return run_command_list(localcmd, strlen(localcmd), 0);
|
||||
}
|
||||
|
||||
/*
|
||||
* Loads fdt overlays specified in 'fdtoverlays'.
|
||||
*/
|
||||
#ifdef CONFIG_OF_LIBFDT_OVERLAY
|
||||
static void label_boot_fdtoverlay(cmd_tbl_t *cmdtp, struct pxe_label *label)
|
||||
{
|
||||
char *fdtoverlay = label->fdtoverlays;
|
||||
struct fdt_header *working_fdt;
|
||||
char *fdtoverlay_addr_env;
|
||||
ulong fdtoverlay_addr;
|
||||
ulong fdt_addr;
|
||||
int err;
|
||||
|
||||
/* Get the main fdt and map it */
|
||||
fdt_addr = simple_strtoul(env_get("fdt_addr_r"), NULL, 16);
|
||||
working_fdt = map_sysmem(fdt_addr, 0);
|
||||
err = fdt_check_header(working_fdt);
|
||||
if (err)
|
||||
return;
|
||||
|
||||
/* Get the specific overlay loading address */
|
||||
fdtoverlay_addr_env = env_get("fdtoverlay_addr_r");
|
||||
if (!fdtoverlay_addr_env) {
|
||||
printf("Invalid fdtoverlay_addr_r for loading overlays\n");
|
||||
return;
|
||||
}
|
||||
|
||||
fdtoverlay_addr = simple_strtoul(fdtoverlay_addr_env, NULL, 16);
|
||||
|
||||
/* Cycle over the overlay files and apply them in order */
|
||||
do {
|
||||
struct fdt_header *blob;
|
||||
char *overlayfile;
|
||||
char *end;
|
||||
int len;
|
||||
|
||||
/* Drop leading spaces */
|
||||
while (*fdtoverlay == ' ')
|
||||
++fdtoverlay;
|
||||
|
||||
/* Copy a single filename if multiple provided */
|
||||
end = strstr(fdtoverlay, " ");
|
||||
if (end) {
|
||||
len = (int)(end - fdtoverlay);
|
||||
overlayfile = malloc(len + 1);
|
||||
strncpy(overlayfile, fdtoverlay, len);
|
||||
overlayfile[len] = '\0';
|
||||
} else
|
||||
overlayfile = fdtoverlay;
|
||||
|
||||
if (!strlen(overlayfile))
|
||||
goto skip_overlay;
|
||||
|
||||
/* Load overlay file */
|
||||
err = get_relfile_envaddr(cmdtp, overlayfile,
|
||||
"fdtoverlay_addr_r");
|
||||
if (err < 0) {
|
||||
printf("Failed loading overlay %s\n", overlayfile);
|
||||
goto skip_overlay;
|
||||
}
|
||||
|
||||
/* Resize main fdt */
|
||||
fdt_shrink_to_minimum(working_fdt, 8192);
|
||||
|
||||
blob = map_sysmem(fdtoverlay_addr, 0);
|
||||
err = fdt_check_header(blob);
|
||||
if (err) {
|
||||
printf("Invalid overlay %s, skipping\n",
|
||||
overlayfile);
|
||||
goto skip_overlay;
|
||||
}
|
||||
|
||||
err = fdt_overlay_apply_verbose(working_fdt, blob);
|
||||
if (err) {
|
||||
printf("Failed to apply overlay %s, skipping\n",
|
||||
overlayfile);
|
||||
goto skip_overlay;
|
||||
}
|
||||
|
||||
skip_overlay:
|
||||
if (end)
|
||||
free(overlayfile);
|
||||
} while ((fdtoverlay = strstr(fdtoverlay, " ")));
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Boot according to the contents of a pxe_label.
|
||||
*
|
||||
@@ -520,6 +611,11 @@ static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label *label)
|
||||
label->name);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_OF_LIBFDT_OVERLAY
|
||||
if (label->fdtoverlays)
|
||||
label_boot_fdtoverlay(cmdtp, label);
|
||||
#endif
|
||||
} else {
|
||||
bootm_argv[3] = NULL;
|
||||
}
|
||||
@@ -577,6 +673,7 @@ enum token_type {
|
||||
T_INCLUDE,
|
||||
T_FDT,
|
||||
T_FDTDIR,
|
||||
T_FDTOVERLAYS,
|
||||
T_ONTIMEOUT,
|
||||
T_IPAPPEND,
|
||||
T_BACKGROUND,
|
||||
@@ -611,6 +708,7 @@ static const struct token keywords[] = {
|
||||
{"fdt", T_FDT},
|
||||
{"devicetreedir", T_FDTDIR},
|
||||
{"fdtdir", T_FDTDIR},
|
||||
{"fdtoverlays", T_FDTOVERLAYS},
|
||||
{"ontimeout", T_ONTIMEOUT,},
|
||||
{"ipappend", T_IPAPPEND,},
|
||||
{"background", T_BACKGROUND,},
|
||||
@@ -1043,6 +1141,11 @@ static int parse_label(char **c, struct pxe_menu *cfg)
|
||||
err = parse_sliteral(c, &label->fdtdir);
|
||||
break;
|
||||
|
||||
case T_FDTOVERLAYS:
|
||||
if (!label->fdtoverlays)
|
||||
err = parse_sliteral(c, &label->fdtoverlays);
|
||||
break;
|
||||
|
||||
case T_LOCALBOOT:
|
||||
label->localboot = 1;
|
||||
err = parse_integer(c, &label->localboot_val);
|
||||
|
||||
@@ -43,6 +43,7 @@ struct pxe_label {
|
||||
char *initrd;
|
||||
char *fdt;
|
||||
char *fdtdir;
|
||||
char *fdtoverlays;
|
||||
int ipappend;
|
||||
int attempted;
|
||||
int localboot;
|
||||
|
||||
@@ -1822,3 +1822,49 @@ int fdt_overlay_apply_verbose(void *fdt, void *fdto)
|
||||
return err;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* fdt_valid() - Check if an FDT is valid. If not, change it to NULL
|
||||
*
|
||||
* @blobp: Pointer to FDT pointer
|
||||
* @return 1 if OK, 0 if bad (in which case *blobp is set to NULL)
|
||||
*/
|
||||
int fdt_valid(struct fdt_header **blobp)
|
||||
{
|
||||
const void *blob = *blobp;
|
||||
int err;
|
||||
|
||||
if (!blob) {
|
||||
printf("The address of the fdt is invalid (NULL).\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
err = fdt_check_header(blob);
|
||||
if (err == 0)
|
||||
return 1; /* valid */
|
||||
|
||||
if (err < 0) {
|
||||
printf("libfdt fdt_check_header(): %s", fdt_strerror(err));
|
||||
/*
|
||||
* Be more informative on bad version.
|
||||
*/
|
||||
if (err == -FDT_ERR_BADVERSION) {
|
||||
if (fdt_version(blob) <
|
||||
FDT_FIRST_SUPPORTED_VERSION) {
|
||||
printf(" - too old, fdt %d < %d",
|
||||
fdt_version(blob),
|
||||
FDT_FIRST_SUPPORTED_VERSION);
|
||||
}
|
||||
if (fdt_last_comp_version(blob) >
|
||||
FDT_LAST_SUPPORTED_VERSION) {
|
||||
printf(" - too new, fdt %d > %d",
|
||||
fdt_version(blob),
|
||||
FDT_LAST_SUPPORTED_VERSION);
|
||||
}
|
||||
}
|
||||
printf("\n");
|
||||
*blobp = NULL;
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -735,6 +735,30 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
|
||||
jump_to_image_no_args(&spl_image);
|
||||
}
|
||||
|
||||
static void print_ruyisdk_logo(void)
|
||||
{
|
||||
// _____ _ _____ _____ _ __
|
||||
// | __ \ (_)/ ____| __ \| |/ /
|
||||
// | |__) | _ _ _ _| (___ | | | | ' /
|
||||
// | _ / | | | | | | |\___ \| | | | <
|
||||
// | | \ \ |_| | |_| | |____) | |__| | . \
|
||||
// |_| \_\__,_|\__, |_|_____/|_____/|_|\_\
|
||||
// __/ |
|
||||
// |___/
|
||||
|
||||
printf("-----------------------------------------\n");
|
||||
printf(" _____ _ _____ _____ _ __\n");
|
||||
printf(" | __ \\ (_)/ ____| __ \\| |/ /\n");
|
||||
printf(" | |__) | _ _ _ _| (___ | | | | ' / \n");
|
||||
printf(" | _ / | | | | | | |\\___ \\| | | | < \n");
|
||||
printf(" | | \\ \\ |_| | |_| | |____) | |__| | . \\ \n");
|
||||
printf(" |_| \\_\\__,_|\\__, |_|_____/|_____/|_|\\_\\\n");
|
||||
printf(" __/ | \n");
|
||||
printf(" |___/ \n");
|
||||
printf(" -- Presented by ISCAS\n");
|
||||
printf("-----------------------------------------\n");
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SPL_SERIAL_SUPPORT
|
||||
/*
|
||||
* This requires UART clocks to be enabled. In order for this to work the
|
||||
@@ -748,6 +772,8 @@ void preloader_console_init(void)
|
||||
|
||||
gd->have_console = 1;
|
||||
|
||||
print_ruyisdk_logo();
|
||||
|
||||
#if CONFIG_IS_ENABLED(BANNER_PRINT)
|
||||
puts("\nU-Boot " SPL_TPL_NAME " " PLAIN_VERSION " (" U_BOOT_DATE " - "
|
||||
U_BOOT_TIME " " U_BOOT_TZ ")\n");
|
||||
|
||||
@@ -6,6 +6,7 @@ CONFIG_NR_DRAM_BANKS=8
|
||||
CONFIG_SPL=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_TARGET_LIGHT_C910=y
|
||||
CONFIG_TARGET_LIGHT_FM_C910_VAL_A=y
|
||||
# CONFIG_THEAD_PLIC is not set
|
||||
# CONFIG_THEAD_LIGHT_TIMER is not set
|
||||
# CONFIG_THEAD_LIGHT_DIGITAL_SENSOR is not set
|
||||
@@ -17,7 +18,7 @@ CONFIG_DISPLAY_BOARDINFO=y
|
||||
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
|
||||
CONFIG_SPL_RAM_SUPPORT=y
|
||||
CONFIG_SPL_RAM_DEVICE=y
|
||||
CONFIG_SYS_PROMPT="C910 Light# "
|
||||
CONFIG_SYS_PROMPT="Light VAL-A# "
|
||||
CONFIG_DDR_LP4X_3733_SINGLERANK=y
|
||||
# CONFIG_DDR_LP4_3733_DUALRANK is not set
|
||||
CONFIG_DDR_BOARD_CONFIG=y
|
||||
@@ -63,6 +64,7 @@ CONFIG_MMC_SDHCI_SNPS=y
|
||||
CONFIG_MMC_SDHCI_SDMA=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_MMC_RPMB=y
|
||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_MTD_SPI_NAND=y
|
||||
@@ -85,9 +87,11 @@ CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_MANUFACTURER="U-Boot-THEAD"
|
||||
CONFIG_USB_GADGET_VENDOR_NUM=0x1234
|
||||
CONFIG_USB_GADGET_PRODUCT_NUM=0x8888
|
||||
CONFIG_USB_FUNCTION_MASS_STORAGE=y
|
||||
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
# CONFIG_LIGHT_BOOT_FORCE_SEQ is not set
|
||||
# CONFIG_LIGHT_SEC_BOOT is not set
|
||||
CONFIG_DEFAULT_FDT_FILE="light-a-val.dtb"
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_DM_VIDEO=y
|
||||
@@ -107,5 +111,6 @@ CONFIG_PMIC_VOL_INIT=y
|
||||
CONFIG_DDR_REGU_0V6=600000
|
||||
CONFIG_DDR_REGU_0V8=800000
|
||||
CONFIG_DDR_REGU_1V1=1100000
|
||||
CONFIG_BOARD_RNG_SEED=y
|
||||
CONFIG_MISC=y
|
||||
CONFIG_LIGHT_AON_CONF=y
|
||||
|
||||
@@ -6,39 +6,41 @@ CONFIG_NR_DRAM_BANKS=8
|
||||
CONFIG_SPL=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_TARGET_LIGHT_C910=y
|
||||
CONFIG_PMIC_VOL_INIT=y
|
||||
CONFIG_TARGET_LIGHT_FM_C910_BEAGLE=y
|
||||
# CONFIG_THEAD_PLIC is not set
|
||||
# CONFIG_THEAD_LIGHT_TIMER is not set
|
||||
# CONFIG_THEAD_LIGHT_DIGITAL_SENSOR is not set
|
||||
CONFIG_DDR_LP4X_3733_SINGLERANK=y
|
||||
CONFIG_DDR_BOARD_CONFIG=y
|
||||
CONFIG_ARCH_RV64I=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BUILD_TARGET="u-boot-with-spl.bin"
|
||||
CONFIG_DEFAULT_FDT_FILE="thead/light-beagle.dtb"
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_DISPLAY_CPUINFO=y
|
||||
CONFIG_DISPLAY_BOARDINFO=y
|
||||
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
|
||||
CONFIG_SPL_RAM_SUPPORT=y
|
||||
CONFIG_SPL_RAM_DEVICE=y
|
||||
CONFIG_SYS_PROMPT="C910 Light# "
|
||||
CONFIG_DDR_LP4X_3733_SINGLERANK=y
|
||||
# CONFIG_DDR_LP4_3733_DUALRANK is not set
|
||||
CONFIG_DDR_BOARD_CONFIG=y
|
||||
CONFIG_SYS_PROMPT="Light AHead# "
|
||||
CONFIG_CMD_BOOT_SLAVE=y
|
||||
CONFIG_CMD_ERASEENV=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MEMTEST=y
|
||||
CONFIG_DDR_SCAN=y
|
||||
CONFIG_DDR_PRBS_TEST=n
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_BMP=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
# CONFIG_ISO_PARTITION is not set
|
||||
CONFIG_PARTITION_TYPE_GUID=y
|
||||
CONFIG_OF_EMBED=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="light-a-val"
|
||||
CONFIG_DEFAULT_DEVICE_TREE="light-beagle"
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SYSCON=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_USB_FUNCTION_FASTBOOT=y
|
||||
CONFIG_UDP_FUNCTION_FASTBOOT=y
|
||||
@@ -47,11 +49,12 @@ CONFIG_FASTBOOT_FLASH=y
|
||||
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
|
||||
CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DWAPB_GPIO=y
|
||||
CONFIG_DM_PCA953X=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_DW=y
|
||||
CONFIG_DWAPB_GPIO=y
|
||||
# CONFIG_MMC_SPI is not set
|
||||
CONFIG_MMC_VERBOSE=y
|
||||
CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
CONFIG_SUPPORT_EMMC_BOOT=y
|
||||
CONFIG_MMC_IO_VOLTAGE=y
|
||||
CONFIG_MMC_UHS_SUPPORT=y
|
||||
@@ -59,19 +62,21 @@ CONFIG_MMC_HS400_SUPPORT=y
|
||||
CONFIG_MMC_DW=y
|
||||
CONFIG_MMC_DW_SNPS=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_SNPS=y
|
||||
CONFIG_MMC_SDHCI_SDMA=y
|
||||
CONFIG_MMC_SDHCI_SNPS=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_MMC_RPMB=y
|
||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_MTD_SPI_NAND=y
|
||||
CONFIG_SPI_FLASH_WINBOND=y
|
||||
CONFIG_ETH_DESIGNWARE=y
|
||||
CONFIG_PHY_REALTEK=y
|
||||
CONFIG_RTL8211E_PINE64_GIGABIT_FIX=y
|
||||
CONFIG_RTL8211X_PHY_FORCE_MASTER=y
|
||||
CONFIG_RTL8211F_PHY_FORCE_EEE_RXC_ON=y
|
||||
CONFIG_ETH_DESIGNWARE=y
|
||||
CONFIG_PHY=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_DESIGNWARE_SPI=y
|
||||
@@ -82,25 +87,18 @@ CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_MANUFACTURER="U-Boot-THEAD"
|
||||
CONFIG_USB_GADGET_VENDOR_NUM=0x1234
|
||||
CONFIG_USB_GADGET_PRODUCT_NUM=0x8888
|
||||
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
# CONFIG_LIGHT_SEC_BOOT is not set
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_USB_FUNCTION_MASS_STORAGE=y
|
||||
CONFIG_DM_VIDEO=y
|
||||
CONFIG_PHY=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SYSCON=y
|
||||
CONFIG_CMD_BMP=y
|
||||
CONFIG_VIDEO_BRIDGE=y
|
||||
CONFIG_DM_PCA953X=y
|
||||
CONFIG_VIDEO_VS_DPU=y
|
||||
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
CONFIG_VIDEO_LCD_ILITEK_ILI9881C=y
|
||||
CONFIG_VIDEO_BRIDGE=y
|
||||
CONFIG_VIDEO_VS_DPU=y
|
||||
CONFIG_VIDEO_DW_DSI_LIGHT=y
|
||||
CONFIG_VIDEO_DW_DPHY=y
|
||||
CONFIG_VIDEO_DW_DSI_HOST=y
|
||||
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
CONFIG_PMIC_VOL_INIT=y
|
||||
CONFIG_DDR_REGU_0V6=600000
|
||||
CONFIG_DDR_REGU_0V8=800000
|
||||
CONFIG_DDR_REGU_1V1=1100000
|
||||
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
CONFIG_BOARD_RNG_SEED=y
|
||||
CONFIG_FIXUP_MEMORY_REGION=y
|
||||
CONFIG_MISC=y
|
||||
CONFIG_LIGHT_AON_CONF=y
|
||||
|
||||
114
configs/light_lpi4a_16g_defconfig
Normal file
114
configs/light_lpi4a_16g_defconfig
Normal file
@@ -0,0 +1,114 @@
|
||||
CONFIG_RISCV=y
|
||||
CONFIG_SPL_MMC_SUPPORT=y
|
||||
CONFIG_ENV_SIZE=0x20000
|
||||
CONFIG_ENV_OFFSET=0xe0000
|
||||
CONFIG_NR_DRAM_BANKS=8
|
||||
CONFIG_SPL=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_TARGET_LIGHT_C910=y
|
||||
CONFIG_TARGET_LIGHT_FM_C910_LPI4A=y
|
||||
# CONFIG_THEAD_PLIC is not set
|
||||
# CONFIG_THEAD_LIGHT_TIMER is not set
|
||||
# CONFIG_THEAD_LIGHT_DIGITAL_SENSOR is not set
|
||||
CONFIG_ARCH_RV64I=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BUILD_TARGET="u-boot-with-spl.bin"
|
||||
CONFIG_DISPLAY_CPUINFO=y
|
||||
CONFIG_DISPLAY_BOARDINFO=y
|
||||
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
|
||||
CONFIG_SPL_RAM_SUPPORT=y
|
||||
CONFIG_SPL_RAM_DEVICE=y
|
||||
CONFIG_SYS_PROMPT="Light LPI4A 16G# "
|
||||
CONFIG_DDR_LP4X_3733_DUALRANK=y
|
||||
CONFIG_DDR_DDP=y
|
||||
# CONFIG_DDR_LP4_3733_DUALRANK is not set
|
||||
CONFIG_DDR_BOARD_CONFIG=y
|
||||
CONFIG_CMD_BOOT_SLAVE=y
|
||||
CONFIG_CMD_ERASEENV=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MEMTEST=y
|
||||
CONFIG_DDR_SCAN=y
|
||||
CONFIG_DDR_PRBS_TEST=n
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
# CONFIG_ISO_PARTITION is not set
|
||||
CONFIG_PARTITION_TYPE_GUID=y
|
||||
CONFIG_OF_EMBED=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="light-lpi4a"
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_USB_FUNCTION_FASTBOOT=y
|
||||
CONFIG_UDP_FUNCTION_FASTBOOT=y
|
||||
CONFIG_FASTBOOT_BUF_ADDR=0x10000000
|
||||
CONFIG_FASTBOOT_FLASH=y
|
||||
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
|
||||
CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_DW=y
|
||||
CONFIG_DWAPB_GPIO=y
|
||||
# CONFIG_MMC_SPI is not set
|
||||
CONFIG_MMC_VERBOSE=y
|
||||
CONFIG_SUPPORT_EMMC_BOOT=y
|
||||
CONFIG_MMC_IO_VOLTAGE=y
|
||||
CONFIG_MMC_UHS_SUPPORT=y
|
||||
CONFIG_MMC_HS400_SUPPORT=y
|
||||
CONFIG_MMC_DW=y
|
||||
CONFIG_MMC_DW_SNPS=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_SNPS=y
|
||||
CONFIG_MMC_SDHCI_SDMA=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_MMC_RPMB=y
|
||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_MTD_SPI_NAND=y
|
||||
CONFIG_SPI_FLASH_WINBOND=y
|
||||
CONFIG_ETH_DESIGNWARE=y
|
||||
CONFIG_PHY_REALTEK=y
|
||||
CONFIG_RTL8211E_PINE64_GIGABIT_FIX=y
|
||||
CONFIG_RTL8211X_PHY_FORCE_MASTER=y
|
||||
CONFIG_RTL8211F_PHY_FORCE_EEE_RXC_ON=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_DESIGNWARE_SPI=y
|
||||
CONFIG_DESIGNWARE_QSPI=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DWC3=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_MANUFACTURER="U-Boot-THEAD"
|
||||
CONFIG_USB_GADGET_VENDOR_NUM=0x1234
|
||||
CONFIG_USB_GADGET_PRODUCT_NUM=0x8888
|
||||
CONFIG_USB_FUNCTION_MASS_STORAGE=y
|
||||
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
# CONFIG_LIGHT_SEC_BOOT is not set
|
||||
CONFIG_DEFAULT_FDT_FILE="thead/light-lpi4a-16gb.dtb"
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_DM_VIDEO=y
|
||||
CONFIG_PHY=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SYSCON=y
|
||||
CONFIG_CMD_BMP=y
|
||||
CONFIG_VIDEO_BRIDGE=y
|
||||
CONFIG_DM_PCA953X=y
|
||||
CONFIG_VIDEO_VS_DPU=y
|
||||
CONFIG_VIDEO_LCD_ILITEK_ILI9881C=y
|
||||
CONFIG_VIDEO_DW_DSI_LIGHT=y
|
||||
CONFIG_VIDEO_DW_DPHY=y
|
||||
CONFIG_VIDEO_DW_DSI_HOST=y
|
||||
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
CONFIG_PMIC_VOL_INIT=y
|
||||
CONFIG_DDR_REGU_0V6=600000
|
||||
CONFIG_DDR_REGU_0V8=800000
|
||||
CONFIG_DDR_REGU_1V1=1100000
|
||||
CONFIG_BOARD_RNG_SEED=y
|
||||
CONFIG_FIXUP_MEMORY_REGION=y
|
||||
CONFIG_MISC=y
|
||||
CONFIG_LIGHT_AON_CONF=y
|
||||
114
configs/light_lpi4a_cluster_16g_defconfig
Normal file
114
configs/light_lpi4a_cluster_16g_defconfig
Normal file
@@ -0,0 +1,114 @@
|
||||
CONFIG_RISCV=y
|
||||
CONFIG_SPL_MMC_SUPPORT=y
|
||||
CONFIG_ENV_SIZE=0x20000
|
||||
CONFIG_ENV_OFFSET=0xe0000
|
||||
CONFIG_NR_DRAM_BANKS=8
|
||||
CONFIG_SPL=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_TARGET_LIGHT_C910=y
|
||||
CONFIG_TARGET_LIGHT_FM_C910_LPI4A=y
|
||||
# CONFIG_THEAD_PLIC is not set
|
||||
# CONFIG_THEAD_LIGHT_TIMER is not set
|
||||
# CONFIG_THEAD_LIGHT_DIGITAL_SENSOR is not set
|
||||
CONFIG_ARCH_RV64I=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BUILD_TARGET="u-boot-with-spl.bin"
|
||||
CONFIG_DISPLAY_CPUINFO=y
|
||||
CONFIG_DISPLAY_BOARDINFO=y
|
||||
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
|
||||
CONFIG_SPL_RAM_SUPPORT=y
|
||||
CONFIG_SPL_RAM_DEVICE=y
|
||||
CONFIG_SYS_PROMPT="LicheeCluster4A 16G # "
|
||||
CONFIG_DDR_LP4X_3733_DUALRANK=y
|
||||
CONFIG_DDR_DDP=y
|
||||
# CONFIG_DDR_LP4_3733_DUALRANK is not set
|
||||
CONFIG_DDR_BOARD_CONFIG=y
|
||||
CONFIG_CMD_BOOT_SLAVE=y
|
||||
CONFIG_CMD_ERASEENV=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MEMTEST=y
|
||||
CONFIG_DDR_SCAN=y
|
||||
CONFIG_DDR_PRBS_TEST=n
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
# CONFIG_ISO_PARTITION is not set
|
||||
CONFIG_PARTITION_TYPE_GUID=y
|
||||
CONFIG_OF_EMBED=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="light-lpi4a"
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_USB_FUNCTION_FASTBOOT=y
|
||||
CONFIG_UDP_FUNCTION_FASTBOOT=y
|
||||
CONFIG_FASTBOOT_BUF_ADDR=0x10000000
|
||||
CONFIG_FASTBOOT_FLASH=y
|
||||
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
|
||||
CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_DW=y
|
||||
CONFIG_DWAPB_GPIO=y
|
||||
# CONFIG_MMC_SPI is not set
|
||||
CONFIG_MMC_VERBOSE=y
|
||||
CONFIG_SUPPORT_EMMC_BOOT=y
|
||||
CONFIG_MMC_IO_VOLTAGE=y
|
||||
CONFIG_MMC_UHS_SUPPORT=y
|
||||
CONFIG_MMC_HS400_SUPPORT=y
|
||||
CONFIG_MMC_DW=y
|
||||
CONFIG_MMC_DW_SNPS=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_SNPS=y
|
||||
CONFIG_MMC_SDHCI_SDMA=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_MMC_RPMB=y
|
||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_MTD_SPI_NAND=y
|
||||
CONFIG_SPI_FLASH_WINBOND=y
|
||||
CONFIG_ETH_DESIGNWARE=y
|
||||
CONFIG_PHY_REALTEK=y
|
||||
CONFIG_RTL8211E_PINE64_GIGABIT_FIX=y
|
||||
CONFIG_RTL8211X_PHY_FORCE_MASTER=y
|
||||
CONFIG_RTL8211F_PHY_FORCE_EEE_RXC_ON=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_DESIGNWARE_SPI=y
|
||||
CONFIG_DESIGNWARE_QSPI=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DWC3=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_MANUFACTURER="U-Boot-THEAD"
|
||||
CONFIG_USB_GADGET_VENDOR_NUM=0x1234
|
||||
CONFIG_USB_GADGET_PRODUCT_NUM=0x8888
|
||||
CONFIG_USB_FUNCTION_MASS_STORAGE=y
|
||||
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
# CONFIG_LIGHT_SEC_BOOT is not set
|
||||
CONFIG_DEFAULT_FDT_FILE="thead/light-lpi4a-cluster-16gb.dtb"
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_DM_VIDEO=y
|
||||
CONFIG_PHY=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SYSCON=y
|
||||
CONFIG_CMD_BMP=y
|
||||
CONFIG_VIDEO_BRIDGE=y
|
||||
CONFIG_DM_PCA953X=y
|
||||
CONFIG_VIDEO_VS_DPU=y
|
||||
CONFIG_VIDEO_LCD_ILITEK_ILI9881C=y
|
||||
CONFIG_VIDEO_DW_DSI_LIGHT=y
|
||||
CONFIG_VIDEO_DW_DPHY=y
|
||||
CONFIG_VIDEO_DW_DSI_HOST=y
|
||||
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
CONFIG_PMIC_VOL_INIT=y
|
||||
CONFIG_DDR_REGU_0V6=600000
|
||||
CONFIG_DDR_REGU_0V8=800000
|
||||
CONFIG_DDR_REGU_1V1=1100000
|
||||
CONFIG_BOARD_RNG_SEED=y
|
||||
CONFIG_FIXUP_MEMORY_REGION=y
|
||||
CONFIG_MISC=y
|
||||
CONFIG_LIGHT_AON_CONF=y
|
||||
113
configs/light_lpi4a_cluster_defconfig
Normal file
113
configs/light_lpi4a_cluster_defconfig
Normal file
@@ -0,0 +1,113 @@
|
||||
CONFIG_RISCV=y
|
||||
CONFIG_SPL_MMC_SUPPORT=y
|
||||
CONFIG_ENV_SIZE=0x20000
|
||||
CONFIG_ENV_OFFSET=0xe0000
|
||||
CONFIG_NR_DRAM_BANKS=8
|
||||
CONFIG_SPL=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_TARGET_LIGHT_C910=y
|
||||
CONFIG_TARGET_LIGHT_FM_C910_LPI4A=y
|
||||
# CONFIG_THEAD_PLIC is not set
|
||||
# CONFIG_THEAD_LIGHT_TIMER is not set
|
||||
# CONFIG_THEAD_LIGHT_DIGITAL_SENSOR is not set
|
||||
CONFIG_ARCH_RV64I=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BUILD_TARGET="u-boot-with-spl.bin"
|
||||
CONFIG_DISPLAY_CPUINFO=y
|
||||
CONFIG_DISPLAY_BOARDINFO=y
|
||||
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
|
||||
CONFIG_SPL_RAM_SUPPORT=y
|
||||
CONFIG_SPL_RAM_DEVICE=y
|
||||
CONFIG_SYS_PROMPT="LicheeCluster4A # "
|
||||
CONFIG_DDR_LP4X_3733_DUALRANK=y
|
||||
# CONFIG_DDR_LP4_3733_DUALRANK is not set
|
||||
CONFIG_DDR_BOARD_CONFIG=y
|
||||
CONFIG_CMD_BOOT_SLAVE=y
|
||||
CONFIG_CMD_ERASEENV=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MEMTEST=y
|
||||
CONFIG_DDR_SCAN=y
|
||||
CONFIG_DDR_PRBS_TEST=n
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
# CONFIG_ISO_PARTITION is not set
|
||||
CONFIG_PARTITION_TYPE_GUID=y
|
||||
CONFIG_OF_EMBED=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="light-lpi4a"
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_USB_FUNCTION_FASTBOOT=y
|
||||
CONFIG_UDP_FUNCTION_FASTBOOT=y
|
||||
CONFIG_FASTBOOT_BUF_ADDR=0x10000000
|
||||
CONFIG_FASTBOOT_FLASH=y
|
||||
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
|
||||
CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_DW=y
|
||||
CONFIG_DWAPB_GPIO=y
|
||||
# CONFIG_MMC_SPI is not set
|
||||
CONFIG_MMC_VERBOSE=y
|
||||
CONFIG_SUPPORT_EMMC_BOOT=y
|
||||
CONFIG_MMC_IO_VOLTAGE=y
|
||||
CONFIG_MMC_UHS_SUPPORT=y
|
||||
CONFIG_MMC_HS400_SUPPORT=y
|
||||
CONFIG_MMC_DW=y
|
||||
CONFIG_MMC_DW_SNPS=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_SNPS=y
|
||||
CONFIG_MMC_SDHCI_SDMA=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_MMC_RPMB=y
|
||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_MTD_SPI_NAND=y
|
||||
CONFIG_SPI_FLASH_WINBOND=y
|
||||
CONFIG_ETH_DESIGNWARE=y
|
||||
CONFIG_PHY_REALTEK=y
|
||||
CONFIG_RTL8211E_PINE64_GIGABIT_FIX=y
|
||||
CONFIG_RTL8211X_PHY_FORCE_MASTER=y
|
||||
CONFIG_RTL8211F_PHY_FORCE_EEE_RXC_ON=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_DESIGNWARE_SPI=y
|
||||
CONFIG_DESIGNWARE_QSPI=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DWC3=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_MANUFACTURER="U-Boot-THEAD"
|
||||
CONFIG_USB_GADGET_VENDOR_NUM=0x1234
|
||||
CONFIG_USB_GADGET_PRODUCT_NUM=0x8888
|
||||
CONFIG_USB_FUNCTION_MASS_STORAGE=y
|
||||
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
# CONFIG_LIGHT_SEC_BOOT is not set
|
||||
CONFIG_DEFAULT_FDT_FILE="thead/light-lpi4a-cluster.dtb"
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_DM_VIDEO=y
|
||||
CONFIG_PHY=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SYSCON=y
|
||||
CONFIG_CMD_BMP=y
|
||||
CONFIG_VIDEO_BRIDGE=y
|
||||
CONFIG_DM_PCA953X=y
|
||||
CONFIG_VIDEO_VS_DPU=y
|
||||
CONFIG_VIDEO_LCD_ILITEK_ILI9881C=y
|
||||
CONFIG_VIDEO_DW_DSI_LIGHT=y
|
||||
CONFIG_VIDEO_DW_DPHY=y
|
||||
CONFIG_VIDEO_DW_DSI_HOST=y
|
||||
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
CONFIG_PMIC_VOL_INIT=y
|
||||
CONFIG_DDR_REGU_0V6=600000
|
||||
CONFIG_DDR_REGU_0V8=800000
|
||||
CONFIG_DDR_REGU_1V1=1100000
|
||||
CONFIG_BOARD_RNG_SEED=y
|
||||
CONFIG_FIXUP_MEMORY_REGION=y
|
||||
CONFIG_MISC=y
|
||||
CONFIG_LIGHT_AON_CONF=y
|
||||
119
configs/light_lpi4a_console_16g_defconfig
Normal file
119
configs/light_lpi4a_console_16g_defconfig
Normal file
@@ -0,0 +1,119 @@
|
||||
CONFIG_RISCV=y
|
||||
CONFIG_SPL_MMC_SUPPORT=y
|
||||
CONFIG_ENV_SIZE=0x20000
|
||||
CONFIG_ENV_OFFSET=0xe0000
|
||||
CONFIG_NR_DRAM_BANKS=8
|
||||
CONFIG_SPL=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_TARGET_LIGHT_C910=y
|
||||
CONFIG_TARGET_LIGHT_FM_C910_LPI4A=y
|
||||
# CONFIG_THEAD_PLIC is not set
|
||||
# CONFIG_THEAD_LIGHT_TIMER is not set
|
||||
# CONFIG_THEAD_LIGHT_DIGITAL_SENSOR is not set
|
||||
CONFIG_ARCH_RV64I=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BUILD_TARGET="u-boot-with-spl.bin"
|
||||
CONFIG_DISPLAY_CPUINFO=y
|
||||
CONFIG_DISPLAY_BOARDINFO=y
|
||||
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
|
||||
CONFIG_SPL_RAM_SUPPORT=y
|
||||
CONFIG_SPL_RAM_DEVICE=y
|
||||
CONFIG_SYS_PROMPT="LicheeConsole4A 16G # "
|
||||
CONFIG_DDR_LP4X_3733_DUALRANK=y
|
||||
CONFIG_DDR_DDP=y
|
||||
# CONFIG_DDR_LP4_3733_DUALRANK is not set
|
||||
CONFIG_DDR_BOARD_CONFIG=y
|
||||
CONFIG_CMD_BOOT_SLAVE=y
|
||||
CONFIG_CMD_ERASEENV=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MEMTEST=y
|
||||
CONFIG_DDR_SCAN=y
|
||||
CONFIG_DDR_PRBS_TEST=n
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
# CONFIG_ISO_PARTITION is not set
|
||||
CONFIG_PARTITION_TYPE_GUID=y
|
||||
CONFIG_OF_EMBED=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="light-lpi4a-laptop"
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_USB_FUNCTION_FASTBOOT=y
|
||||
CONFIG_UDP_FUNCTION_FASTBOOT=y
|
||||
CONFIG_FASTBOOT_BUF_ADDR=0x10000000
|
||||
CONFIG_FASTBOOT_FLASH=y
|
||||
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
|
||||
CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_DW=y
|
||||
CONFIG_DWAPB_GPIO=y
|
||||
# CONFIG_MMC_SPI is not set
|
||||
CONFIG_MMC_VERBOSE=y
|
||||
CONFIG_SUPPORT_EMMC_BOOT=y
|
||||
CONFIG_MMC_IO_VOLTAGE=y
|
||||
CONFIG_MMC_UHS_SUPPORT=y
|
||||
CONFIG_MMC_HS400_SUPPORT=y
|
||||
CONFIG_MMC_DW=y
|
||||
CONFIG_MMC_DW_SNPS=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_SNPS=y
|
||||
CONFIG_MMC_SDHCI_SDMA=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_MMC_RPMB=y
|
||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_MTD_SPI_NAND=y
|
||||
CONFIG_SPI_FLASH_WINBOND=y
|
||||
CONFIG_ETH_DESIGNWARE=y
|
||||
CONFIG_PHY_REALTEK=y
|
||||
CONFIG_RTL8211E_PINE64_GIGABIT_FIX=y
|
||||
CONFIG_RTL8211X_PHY_FORCE_MASTER=y
|
||||
CONFIG_RTL8211F_PHY_FORCE_EEE_RXC_ON=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_DESIGNWARE_SPI=y
|
||||
CONFIG_DESIGNWARE_QSPI=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DWC3=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_MANUFACTURER="U-Boot-THEAD"
|
||||
CONFIG_USB_GADGET_VENDOR_NUM=0x1234
|
||||
CONFIG_USB_GADGET_PRODUCT_NUM=0x8888
|
||||
CONFIG_USB_FUNCTION_MASS_STORAGE=y
|
||||
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
# CONFIG_LIGHT_SEC_BOOT is not set
|
||||
CONFIG_DEFAULT_FDT_FILE="thead/light-lpi4a-console-16g.dtb"
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_DM_VIDEO=y
|
||||
CONFIG_PHY=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SYSCON=y
|
||||
CONFIG_CMD_BMP=y
|
||||
CONFIG_VIDEO_BRIDGE=y
|
||||
CONFIG_DM_PCA953X=y
|
||||
CONFIG_VIDEO_VS_DPU=y
|
||||
CONFIG_VIDEO_LCD_ILITEK_ILI9881C=y
|
||||
CONFIG_VIDEO_DW_DSI_LIGHT=y
|
||||
CONFIG_VIDEO_DW_DPHY=y
|
||||
CONFIG_VIDEO_DW_DSI_HOST=y
|
||||
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
CONFIG_PMIC_VOL_INIT=y
|
||||
CONFIG_DDR_REGU_0V6=600000
|
||||
CONFIG_DDR_REGU_0V8=800000
|
||||
CONFIG_DDR_REGU_1V1=1100000
|
||||
CONFIG_BOARD_RNG_SEED=y
|
||||
CONFIG_FIXUP_MEMORY_REGION=y
|
||||
CONFIG_MISC=y
|
||||
CONFIG_LIGHT_AON_CONF=y
|
||||
CONFIG_DM_USB=y
|
||||
CONFIG_USB_XHCI_HCD=y
|
||||
CONFIG_USB_XHCI_DWC3=y
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
CONFIG_CMD_USB=y
|
||||
118
configs/light_lpi4a_console_defconfig
Normal file
118
configs/light_lpi4a_console_defconfig
Normal file
@@ -0,0 +1,118 @@
|
||||
CONFIG_RISCV=y
|
||||
CONFIG_SPL_MMC_SUPPORT=y
|
||||
CONFIG_ENV_SIZE=0x20000
|
||||
CONFIG_ENV_OFFSET=0xe0000
|
||||
CONFIG_NR_DRAM_BANKS=8
|
||||
CONFIG_SPL=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_TARGET_LIGHT_C910=y
|
||||
CONFIG_TARGET_LIGHT_FM_C910_LPI4A=y
|
||||
# CONFIG_THEAD_PLIC is not set
|
||||
# CONFIG_THEAD_LIGHT_TIMER is not set
|
||||
# CONFIG_THEAD_LIGHT_DIGITAL_SENSOR is not set
|
||||
CONFIG_ARCH_RV64I=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BUILD_TARGET="u-boot-with-spl.bin"
|
||||
CONFIG_DISPLAY_CPUINFO=y
|
||||
CONFIG_DISPLAY_BOARDINFO=y
|
||||
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
|
||||
CONFIG_SPL_RAM_SUPPORT=y
|
||||
CONFIG_SPL_RAM_DEVICE=y
|
||||
CONFIG_SYS_PROMPT="LicheeConsole4A # "
|
||||
CONFIG_DDR_LP4X_3733_DUALRANK=y
|
||||
# CONFIG_DDR_LP4_3733_DUALRANK is not set
|
||||
CONFIG_DDR_BOARD_CONFIG=y
|
||||
CONFIG_CMD_BOOT_SLAVE=y
|
||||
CONFIG_CMD_ERASEENV=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MEMTEST=y
|
||||
CONFIG_DDR_SCAN=y
|
||||
CONFIG_DDR_PRBS_TEST=n
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
# CONFIG_ISO_PARTITION is not set
|
||||
CONFIG_PARTITION_TYPE_GUID=y
|
||||
CONFIG_OF_EMBED=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="light-lpi4a-laptop"
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_USB_FUNCTION_FASTBOOT=y
|
||||
CONFIG_UDP_FUNCTION_FASTBOOT=y
|
||||
CONFIG_FASTBOOT_BUF_ADDR=0x10000000
|
||||
CONFIG_FASTBOOT_FLASH=y
|
||||
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
|
||||
CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_DW=y
|
||||
CONFIG_DWAPB_GPIO=y
|
||||
# CONFIG_MMC_SPI is not set
|
||||
CONFIG_MMC_VERBOSE=y
|
||||
CONFIG_SUPPORT_EMMC_BOOT=y
|
||||
CONFIG_MMC_IO_VOLTAGE=y
|
||||
CONFIG_MMC_UHS_SUPPORT=y
|
||||
CONFIG_MMC_HS400_SUPPORT=y
|
||||
CONFIG_MMC_DW=y
|
||||
CONFIG_MMC_DW_SNPS=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_SNPS=y
|
||||
CONFIG_MMC_SDHCI_SDMA=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_MMC_RPMB=y
|
||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_MTD_SPI_NAND=y
|
||||
CONFIG_SPI_FLASH_WINBOND=y
|
||||
CONFIG_ETH_DESIGNWARE=y
|
||||
CONFIG_PHY_REALTEK=y
|
||||
CONFIG_RTL8211E_PINE64_GIGABIT_FIX=y
|
||||
CONFIG_RTL8211X_PHY_FORCE_MASTER=y
|
||||
CONFIG_RTL8211F_PHY_FORCE_EEE_RXC_ON=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_DESIGNWARE_SPI=y
|
||||
CONFIG_DESIGNWARE_QSPI=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DWC3=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_MANUFACTURER="U-Boot-THEAD"
|
||||
CONFIG_USB_GADGET_VENDOR_NUM=0x1234
|
||||
CONFIG_USB_GADGET_PRODUCT_NUM=0x8888
|
||||
CONFIG_USB_FUNCTION_MASS_STORAGE=y
|
||||
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
# CONFIG_LIGHT_SEC_BOOT is not set
|
||||
CONFIG_DEFAULT_FDT_FILE="thead/light-lpi4a-console.dtb"
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_DM_VIDEO=y
|
||||
CONFIG_PHY=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SYSCON=y
|
||||
CONFIG_CMD_BMP=y
|
||||
CONFIG_VIDEO_BRIDGE=y
|
||||
CONFIG_DM_PCA953X=y
|
||||
CONFIG_VIDEO_VS_DPU=y
|
||||
CONFIG_VIDEO_LCD_ILITEK_ILI9881C=y
|
||||
CONFIG_VIDEO_DW_DSI_LIGHT=y
|
||||
CONFIG_VIDEO_DW_DPHY=y
|
||||
CONFIG_VIDEO_DW_DSI_HOST=y
|
||||
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
CONFIG_PMIC_VOL_INIT=y
|
||||
CONFIG_DDR_REGU_0V6=600000
|
||||
CONFIG_DDR_REGU_0V8=800000
|
||||
CONFIG_DDR_REGU_1V1=1100000
|
||||
CONFIG_BOARD_RNG_SEED=y
|
||||
CONFIG_FIXUP_MEMORY_REGION=y
|
||||
CONFIG_MISC=y
|
||||
CONFIG_LIGHT_AON_CONF=y
|
||||
CONFIG_DM_USB=y
|
||||
CONFIG_USB_XHCI_HCD=y
|
||||
CONFIG_USB_XHCI_DWC3=y
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
CONFIG_CMD_USB=y
|
||||
@@ -18,7 +18,7 @@ CONFIG_DISPLAY_BOARDINFO=y
|
||||
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
|
||||
CONFIG_SPL_RAM_SUPPORT=y
|
||||
CONFIG_SPL_RAM_DEVICE=y
|
||||
CONFIG_SYS_PROMPT="C910 Light# "
|
||||
CONFIG_SYS_PROMPT="Light LPI4A# "
|
||||
CONFIG_DDR_LP4X_3733_DUALRANK=y
|
||||
# CONFIG_DDR_LP4_3733_DUALRANK is not set
|
||||
CONFIG_DDR_BOARD_CONFIG=y
|
||||
@@ -63,6 +63,7 @@ CONFIG_MMC_SDHCI_SNPS=y
|
||||
CONFIG_MMC_SDHCI_SDMA=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_MMC_RPMB=y
|
||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_MTD_SPI_NAND=y
|
||||
@@ -85,9 +86,11 @@ CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_MANUFACTURER="U-Boot-THEAD"
|
||||
CONFIG_USB_GADGET_VENDOR_NUM=0x1234
|
||||
CONFIG_USB_GADGET_PRODUCT_NUM=0x8888
|
||||
CONFIG_USB_FUNCTION_MASS_STORAGE=y
|
||||
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
# CONFIG_LIGHT_SEC_BOOT is not set
|
||||
CONFIG_DEFAULT_FDT_FILE="thead/light-lpi4a.dtb"
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_DM_VIDEO=y
|
||||
@@ -101,7 +104,7 @@ CONFIG_DM_PCA953X=y
|
||||
CONFIG_VIDEO_VS_DPU=y
|
||||
CONFIG_VIDEO_LCD_ILITEK_ILI9881C=n
|
||||
CONFIG_VIDEO_LCD_JD9365DA=y
|
||||
CONFIG_VIDEO_LCD_CUSTOM_LOGO=y
|
||||
#CONFIG_VIDEO_LCD_CUSTOM_LOGO=y
|
||||
CONFIG_VIDEO_DW_DSI_LIGHT=y
|
||||
CONFIG_VIDEO_DW_DPHY=y
|
||||
CONFIG_VIDEO_DW_DSI_HOST=y
|
||||
@@ -110,6 +113,6 @@ CONFIG_PMIC_VOL_INIT=y
|
||||
CONFIG_DDR_REGU_0V6=600000
|
||||
CONFIG_DDR_REGU_0V8=800000
|
||||
CONFIG_DDR_REGU_1V1=1100000
|
||||
CONFIG_BOARD_RNG_SEED=y
|
||||
CONFIG_MISC=y
|
||||
CONFIG_LIGHT_AON_CONF=y
|
||||
|
||||
|
||||
119
configs/light_lpi4a_plastic_16g_defconfig
Normal file
119
configs/light_lpi4a_plastic_16g_defconfig
Normal file
@@ -0,0 +1,119 @@
|
||||
CONFIG_RISCV=y
|
||||
CONFIG_SPL_MMC_SUPPORT=y
|
||||
CONFIG_ENV_SIZE=0x20000
|
||||
CONFIG_ENV_OFFSET=0xe0000
|
||||
CONFIG_NR_DRAM_BANKS=8
|
||||
CONFIG_SPL=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_TARGET_LIGHT_C910=y
|
||||
CONFIG_TARGET_LIGHT_FM_C910_LPI4A=y
|
||||
# CONFIG_THEAD_PLIC is not set
|
||||
# CONFIG_THEAD_LIGHT_TIMER is not set
|
||||
# CONFIG_THEAD_LIGHT_DIGITAL_SENSOR is not set
|
||||
CONFIG_ARCH_RV64I=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BUILD_TARGET="u-boot-with-spl.bin"
|
||||
CONFIG_DISPLAY_CPUINFO=y
|
||||
CONFIG_DISPLAY_BOARDINFO=y
|
||||
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
|
||||
CONFIG_SPL_RAM_SUPPORT=y
|
||||
CONFIG_SPL_RAM_DEVICE=y
|
||||
CONFIG_SYS_PROMPT="LicheeLaptop4A 16G # "
|
||||
CONFIG_DDR_LP4X_3733_DUALRANK=y
|
||||
# CONFIG_DDR_LP4_3733_DUALRANK is not set
|
||||
CONFIG_DDR_BOARD_CONFIG=y
|
||||
CONFIG_CMD_BOOT_SLAVE=y
|
||||
CONFIG_CMD_ERASEENV=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MEMTEST=y
|
||||
CONFIG_DDR_SCAN=y
|
||||
CONFIG_DDR_PRBS_TEST=n
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
# CONFIG_ISO_PARTITION is not set
|
||||
CONFIG_PARTITION_TYPE_GUID=y
|
||||
CONFIG_OF_EMBED=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="light-lpi4a-laptop"
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_USB_FUNCTION_FASTBOOT=y
|
||||
CONFIG_UDP_FUNCTION_FASTBOOT=y
|
||||
CONFIG_FASTBOOT_BUF_ADDR=0x10000000
|
||||
CONFIG_FASTBOOT_FLASH=y
|
||||
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
|
||||
CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_DW=y
|
||||
CONFIG_DWAPB_GPIO=y
|
||||
# CONFIG_MMC_SPI is not set
|
||||
CONFIG_MMC_VERBOSE=y
|
||||
CONFIG_SUPPORT_EMMC_BOOT=y
|
||||
CONFIG_MMC_IO_VOLTAGE=y
|
||||
CONFIG_MMC_UHS_SUPPORT=y
|
||||
CONFIG_MMC_HS400_SUPPORT=y
|
||||
CONFIG_MMC_DW=y
|
||||
CONFIG_MMC_DW_SNPS=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_SNPS=y
|
||||
CONFIG_MMC_SDHCI_SDMA=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_MMC_RPMB=y
|
||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_MTD_SPI_NAND=y
|
||||
CONFIG_SPI_FLASH_WINBOND=y
|
||||
CONFIG_ETH_DESIGNWARE=y
|
||||
CONFIG_PHY_REALTEK=y
|
||||
CONFIG_RTL8211E_PINE64_GIGABIT_FIX=y
|
||||
CONFIG_RTL8211X_PHY_FORCE_MASTER=y
|
||||
CONFIG_RTL8211F_PHY_FORCE_EEE_RXC_ON=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_DESIGNWARE_SPI=y
|
||||
CONFIG_DESIGNWARE_QSPI=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DWC3=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_MANUFACTURER="U-Boot-THEAD"
|
||||
CONFIG_USB_GADGET_VENDOR_NUM=0x1234
|
||||
CONFIG_USB_GADGET_PRODUCT_NUM=0x8888
|
||||
CONFIG_USB_FUNCTION_MASS_STORAGE=y
|
||||
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
# CONFIG_LIGHT_SEC_BOOT is not set
|
||||
CONFIG_DEFAULT_FDT_FILE="thead/th1520-lpi4a-plastic-16g.dtb"
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_DM_VIDEO=y
|
||||
CONFIG_PHY=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SYSCON=y
|
||||
CONFIG_CMD_BMP=y
|
||||
CONFIG_VIDEO_BRIDGE=y
|
||||
CONFIG_DM_PCA953X=y
|
||||
CONFIG_VIDEO_VS_DPU=y
|
||||
CONFIG_VIDEO_LCD_ILITEK_ILI9881C=y
|
||||
CONFIG_VIDEO_DW_DSI_LIGHT=y
|
||||
CONFIG_VIDEO_DW_DPHY=y
|
||||
CONFIG_VIDEO_DW_DSI_HOST=y
|
||||
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
CONFIG_PMIC_VOL_INIT=y
|
||||
CONFIG_DDR_REGU_0V6=600000
|
||||
CONFIG_DDR_REGU_0V8=800000
|
||||
CONFIG_DDR_REGU_1V1=1100000
|
||||
CONFIG_BOARD_RNG_SEED=y
|
||||
CONFIG_FIXUP_MEMORY_REGION=y
|
||||
CONFIG_MISC=y
|
||||
CONFIG_LIGHT_AON_CONF=y
|
||||
CONFIG_DM_USB=y
|
||||
CONFIG_USB_XHCI_HCD=y
|
||||
CONFIG_USB_XHCI_DWC3=y
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
CONFIG_CMD_USB=y
|
||||
|
||||
119
configs/light_lpi4a_plastic_defconfig
Normal file
119
configs/light_lpi4a_plastic_defconfig
Normal file
@@ -0,0 +1,119 @@
|
||||
CONFIG_RISCV=y
|
||||
CONFIG_SPL_MMC_SUPPORT=y
|
||||
CONFIG_ENV_SIZE=0x20000
|
||||
CONFIG_ENV_OFFSET=0xe0000
|
||||
CONFIG_NR_DRAM_BANKS=8
|
||||
CONFIG_SPL=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_TARGET_LIGHT_C910=y
|
||||
CONFIG_TARGET_LIGHT_FM_C910_LPI4A=y
|
||||
# CONFIG_THEAD_PLIC is not set
|
||||
# CONFIG_THEAD_LIGHT_TIMER is not set
|
||||
# CONFIG_THEAD_LIGHT_DIGITAL_SENSOR is not set
|
||||
CONFIG_ARCH_RV64I=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BUILD_TARGET="u-boot-with-spl.bin"
|
||||
CONFIG_DISPLAY_CPUINFO=y
|
||||
CONFIG_DISPLAY_BOARDINFO=y
|
||||
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
|
||||
CONFIG_SPL_RAM_SUPPORT=y
|
||||
CONFIG_SPL_RAM_DEVICE=y
|
||||
CONFIG_SYS_PROMPT="LicheeLaptop4A # "
|
||||
CONFIG_DDR_LP4X_3733_DUALRANK=y
|
||||
# CONFIG_DDR_LP4_3733_DUALRANK is not set
|
||||
CONFIG_DDR_BOARD_CONFIG=y
|
||||
CONFIG_CMD_BOOT_SLAVE=y
|
||||
CONFIG_CMD_ERASEENV=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MEMTEST=y
|
||||
CONFIG_DDR_SCAN=y
|
||||
CONFIG_DDR_PRBS_TEST=n
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
# CONFIG_ISO_PARTITION is not set
|
||||
CONFIG_PARTITION_TYPE_GUID=y
|
||||
CONFIG_OF_EMBED=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="light-lpi4a-laptop"
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_USB_FUNCTION_FASTBOOT=y
|
||||
CONFIG_UDP_FUNCTION_FASTBOOT=y
|
||||
CONFIG_FASTBOOT_BUF_ADDR=0x10000000
|
||||
CONFIG_FASTBOOT_FLASH=y
|
||||
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
|
||||
CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_DW=y
|
||||
CONFIG_DWAPB_GPIO=y
|
||||
# CONFIG_MMC_SPI is not set
|
||||
CONFIG_MMC_VERBOSE=y
|
||||
CONFIG_SUPPORT_EMMC_BOOT=y
|
||||
CONFIG_MMC_IO_VOLTAGE=y
|
||||
CONFIG_MMC_UHS_SUPPORT=y
|
||||
CONFIG_MMC_HS400_SUPPORT=y
|
||||
CONFIG_MMC_DW=y
|
||||
CONFIG_MMC_DW_SNPS=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_SNPS=y
|
||||
CONFIG_MMC_SDHCI_SDMA=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_MMC_RPMB=y
|
||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_MTD_SPI_NAND=y
|
||||
CONFIG_SPI_FLASH_WINBOND=y
|
||||
CONFIG_ETH_DESIGNWARE=y
|
||||
CONFIG_PHY_REALTEK=y
|
||||
CONFIG_RTL8211E_PINE64_GIGABIT_FIX=y
|
||||
CONFIG_RTL8211X_PHY_FORCE_MASTER=y
|
||||
CONFIG_RTL8211F_PHY_FORCE_EEE_RXC_ON=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_DESIGNWARE_SPI=y
|
||||
CONFIG_DESIGNWARE_QSPI=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DWC3=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_MANUFACTURER="U-Boot-THEAD"
|
||||
CONFIG_USB_GADGET_VENDOR_NUM=0x1234
|
||||
CONFIG_USB_GADGET_PRODUCT_NUM=0x8888
|
||||
CONFIG_USB_FUNCTION_MASS_STORAGE=y
|
||||
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
# CONFIG_LIGHT_SEC_BOOT is not set
|
||||
CONFIG_DEFAULT_FDT_FILE="thead/th1520-lpi4a-plastic.dtb"
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_DM_VIDEO=y
|
||||
CONFIG_PHY=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SYSCON=y
|
||||
CONFIG_CMD_BMP=y
|
||||
CONFIG_VIDEO_BRIDGE=y
|
||||
CONFIG_DM_PCA953X=y
|
||||
CONFIG_VIDEO_VS_DPU=y
|
||||
CONFIG_VIDEO_LCD_ILITEK_ILI9881C=y
|
||||
CONFIG_VIDEO_DW_DSI_LIGHT=y
|
||||
CONFIG_VIDEO_DW_DPHY=y
|
||||
CONFIG_VIDEO_DW_DSI_HOST=y
|
||||
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
CONFIG_PMIC_VOL_INIT=y
|
||||
CONFIG_DDR_REGU_0V6=600000
|
||||
CONFIG_DDR_REGU_0V8=800000
|
||||
CONFIG_DDR_REGU_1V1=1100000
|
||||
CONFIG_BOARD_RNG_SEED=y
|
||||
CONFIG_FIXUP_MEMORY_REGION=y
|
||||
CONFIG_MISC=y
|
||||
CONFIG_LIGHT_AON_CONF=y
|
||||
CONFIG_DM_USB=y
|
||||
CONFIG_USB_XHCI_HCD=y
|
||||
CONFIG_USB_XHCI_DWC3=y
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
CONFIG_CMD_USB=y
|
||||
|
||||
119
configs/light_lpi4a_pocket_defconfig
Normal file
119
configs/light_lpi4a_pocket_defconfig
Normal file
@@ -0,0 +1,119 @@
|
||||
CONFIG_RISCV=y
|
||||
CONFIG_SPL_MMC_SUPPORT=y
|
||||
CONFIG_ENV_SIZE=0x20000
|
||||
CONFIG_ENV_OFFSET=0xe0000
|
||||
CONFIG_NR_DRAM_BANKS=8
|
||||
CONFIG_SPL=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_TARGET_LIGHT_C910=y
|
||||
CONFIG_TARGET_LIGHT_FM_C910_LPI4A=y
|
||||
# CONFIG_THEAD_PLIC is not set
|
||||
# CONFIG_THEAD_LIGHT_TIMER is not set
|
||||
# CONFIG_THEAD_LIGHT_DIGITAL_SENSOR is not set
|
||||
CONFIG_ARCH_RV64I=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BUILD_TARGET="u-boot-with-spl.bin"
|
||||
CONFIG_DISPLAY_CPUINFO=y
|
||||
CONFIG_DISPLAY_BOARDINFO=y
|
||||
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
|
||||
CONFIG_SPL_RAM_SUPPORT=y
|
||||
CONFIG_SPL_RAM_DEVICE=y
|
||||
CONFIG_SYS_PROMPT="LicheePocket4A # "
|
||||
CONFIG_DDR_LP4X_3733_DUALRANK=y
|
||||
# CONFIG_DDR_LP4_3733_DUALRANK is not set
|
||||
CONFIG_DDR_BOARD_CONFIG=y
|
||||
CONFIG_CMD_BOOT_SLAVE=y
|
||||
CONFIG_CMD_ERASEENV=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MEMTEST=y
|
||||
CONFIG_DDR_SCAN=y
|
||||
CONFIG_DDR_PRBS_TEST=n
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
# CONFIG_ISO_PARTITION is not set
|
||||
CONFIG_PARTITION_TYPE_GUID=y
|
||||
CONFIG_OF_EMBED=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="light-lpi4a"
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_USB_FUNCTION_FASTBOOT=y
|
||||
CONFIG_UDP_FUNCTION_FASTBOOT=y
|
||||
CONFIG_FASTBOOT_BUF_ADDR=0x10000000
|
||||
CONFIG_FASTBOOT_FLASH=y
|
||||
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
|
||||
CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_DW=y
|
||||
CONFIG_DWAPB_GPIO=y
|
||||
# CONFIG_MMC_SPI is not set
|
||||
CONFIG_MMC_VERBOSE=y
|
||||
CONFIG_SUPPORT_EMMC_BOOT=y
|
||||
CONFIG_MMC_IO_VOLTAGE=y
|
||||
CONFIG_MMC_UHS_SUPPORT=y
|
||||
CONFIG_MMC_HS400_SUPPORT=y
|
||||
CONFIG_MMC_DW=y
|
||||
CONFIG_MMC_DW_SNPS=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_SNPS=y
|
||||
CONFIG_MMC_SDHCI_SDMA=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_MMC_RPMB=y
|
||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_MTD_SPI_NAND=y
|
||||
CONFIG_SPI_FLASH_WINBOND=y
|
||||
CONFIG_ETH_DESIGNWARE=y
|
||||
CONFIG_PHY_REALTEK=y
|
||||
CONFIG_RTL8211E_PINE64_GIGABIT_FIX=y
|
||||
CONFIG_RTL8211X_PHY_FORCE_MASTER=y
|
||||
CONFIG_RTL8211F_PHY_FORCE_EEE_RXC_ON=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_DESIGNWARE_SPI=y
|
||||
CONFIG_DESIGNWARE_QSPI=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DWC3=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_MANUFACTURER="U-Boot-THEAD"
|
||||
CONFIG_USB_GADGET_VENDOR_NUM=0x1234
|
||||
CONFIG_USB_GADGET_PRODUCT_NUM=0x8888
|
||||
CONFIG_USB_FUNCTION_MASS_STORAGE=y
|
||||
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
# CONFIG_LIGHT_SEC_BOOT is not set
|
||||
CONFIG_DEFAULT_FDT_FILE="thead/th1520-lpi4a-pocket.dtb"
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_DM_VIDEO=y
|
||||
CONFIG_PHY=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SYSCON=y
|
||||
CONFIG_CMD_BMP=y
|
||||
CONFIG_VIDEO_BRIDGE=y
|
||||
CONFIG_DM_PCA953X=y
|
||||
CONFIG_VIDEO_VS_DPU=y
|
||||
CONFIG_VIDEO_LCD_ILITEK_ILI9881C=y
|
||||
CONFIG_VIDEO_DW_DSI_LIGHT=y
|
||||
CONFIG_VIDEO_DW_DPHY=y
|
||||
CONFIG_VIDEO_DW_DSI_HOST=y
|
||||
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
CONFIG_PMIC_VOL_INIT=y
|
||||
CONFIG_DDR_REGU_0V6=600000
|
||||
CONFIG_DDR_REGU_0V8=800000
|
||||
CONFIG_DDR_REGU_1V1=1100000
|
||||
CONFIG_BOARD_RNG_SEED=y
|
||||
CONFIG_FIXUP_MEMORY_REGION=y
|
||||
CONFIG_MISC=y
|
||||
CONFIG_LIGHT_AON_CONF=y
|
||||
CONFIG_DM_USB=y
|
||||
CONFIG_USB_XHCI_HCD=y
|
||||
CONFIG_USB_XHCI_DWC3=y
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
CONFIG_CMD_USB=y
|
||||
|
||||
@@ -102,7 +102,7 @@ CONFIG_DM_PCA953X=y
|
||||
CONFIG_VIDEO_VS_DPU=y
|
||||
CONFIG_VIDEO_LCD_ILITEK_ILI9881C=n
|
||||
CONFIG_VIDEO_LCD_JD9365DA=y
|
||||
CONFIG_VIDEO_LCD_CUSTOM_LOGO=y
|
||||
#CONFIG_VIDEO_LCD_CUSTOM_LOGO=y
|
||||
CONFIG_VIDEO_DW_DSI_LIGHT=y
|
||||
CONFIG_VIDEO_DW_DPHY=y
|
||||
CONFIG_VIDEO_DW_DSI_HOST=y
|
||||
|
||||
94
configs/light_milkv_meles_16g_defconfig
Normal file
94
configs/light_milkv_meles_16g_defconfig
Normal file
@@ -0,0 +1,94 @@
|
||||
CONFIG_RISCV=y
|
||||
CONFIG_SPL_MMC_SUPPORT=y
|
||||
CONFIG_ENV_SIZE=0x20000
|
||||
CONFIG_ENV_OFFSET=0xe0000
|
||||
CONFIG_NR_DRAM_BANKS=8
|
||||
CONFIG_SPL=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_TARGET_LIGHT_C910=y
|
||||
CONFIG_PMIC_VOL_INIT=y
|
||||
CONFIG_TARGET_LIGHT_FM_C910_MILKV_MELES=y
|
||||
CONFIG_DDR_LP4X_3733_DUALRANK=y
|
||||
CONFIG_DDR_DDP=y
|
||||
CONFIG_DDR_BOARD_CONFIG=y
|
||||
CONFIG_ARCH_RV64I=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BUILD_TARGET="u-boot-with-spl.bin"
|
||||
CONFIG_DEFAULT_FDT_FILE="thead/th1520-milkv-meles-16g.dtb"
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_DISPLAY_CPUINFO=y
|
||||
CONFIG_DISPLAY_BOARDINFO=y
|
||||
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
|
||||
CONFIG_SPL_RAM_SUPPORT=y
|
||||
CONFIG_SPL_RAM_DEVICE=y
|
||||
CONFIG_SYS_PROMPT="Milk-V Meles 16G# "
|
||||
CONFIG_CMD_BOOT_SLAVE=y
|
||||
CONFIG_CMD_ERASEENV=y
|
||||
CONFIG_CMD_MEMTEST=y
|
||||
CONFIG_DDR_SCAN=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
# CONFIG_ISO_PARTITION is not set
|
||||
CONFIG_PARTITION_TYPE_GUID=y
|
||||
CONFIG_OF_EMBED=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="light-milkv-meles"
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SYSCON=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_USB_FUNCTION_FASTBOOT=y
|
||||
CONFIG_UDP_FUNCTION_FASTBOOT=y
|
||||
CONFIG_FASTBOOT_BUF_ADDR=0x10000000
|
||||
CONFIG_FASTBOOT_FLASH=y
|
||||
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
|
||||
CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DWAPB_GPIO=y
|
||||
CONFIG_DM_PCA953X=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_DW=y
|
||||
# CONFIG_MMC_SPI is not set
|
||||
CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
CONFIG_SUPPORT_EMMC_BOOT=y
|
||||
CONFIG_MMC_IO_VOLTAGE=y
|
||||
CONFIG_MMC_UHS_SUPPORT=y
|
||||
CONFIG_MMC_HS400_SUPPORT=y
|
||||
CONFIG_MMC_DW=y
|
||||
CONFIG_MMC_DW_SNPS=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_SDMA=y
|
||||
CONFIG_MMC_SDHCI_SNPS=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_MTD_SPI_NAND=y
|
||||
CONFIG_SPI_FLASH_WINBOND=y
|
||||
CONFIG_PHY_REALTEK=y
|
||||
CONFIG_RTL8211E_PINE64_GIGABIT_FIX=y
|
||||
CONFIG_RTL8211X_PHY_FORCE_MASTER=y
|
||||
CONFIG_RTL8211F_PHY_FORCE_EEE_RXC_ON=y
|
||||
CONFIG_ETH_DESIGNWARE=y
|
||||
CONFIG_PHY=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_DESIGNWARE_SPI=y
|
||||
CONFIG_DESIGNWARE_QSPI=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DWC3=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_MANUFACTURER="U-Boot-THEAD"
|
||||
CONFIG_USB_GADGET_VENDOR_NUM=0x1234
|
||||
CONFIG_USB_GADGET_PRODUCT_NUM=0x8888
|
||||
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
CONFIG_BOARD_RNG_SEED=y
|
||||
CONFIG_FIXUP_MEMORY_REGION=y
|
||||
CONFIG_MISC=y
|
||||
CONFIG_LIGHT_AON_CONF=y
|
||||
89
configs/light_milkv_meles_defconfig
Normal file
89
configs/light_milkv_meles_defconfig
Normal file
@@ -0,0 +1,89 @@
|
||||
CONFIG_RISCV=y
|
||||
CONFIG_SPL_MMC_SUPPORT=y
|
||||
CONFIG_ENV_SIZE=0x20000
|
||||
CONFIG_ENV_OFFSET=0xe0000
|
||||
CONFIG_NR_DRAM_BANKS=8
|
||||
CONFIG_SPL=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_TARGET_LIGHT_C910=y
|
||||
CONFIG_PMIC_VOL_INIT=y
|
||||
CONFIG_TARGET_LIGHT_FM_C910_MILKV_MELES=y
|
||||
CONFIG_DDR_LP4X_3733_SINGLERANK=y
|
||||
CONFIG_DDR_BOARD_CONFIG=y
|
||||
CONFIG_ARCH_RV64I=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BUILD_TARGET="u-boot-with-spl.bin"
|
||||
CONFIG_DEFAULT_FDT_FILE="thead/th1520-milkv-meles.dtb"
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_DISPLAY_CPUINFO=y
|
||||
CONFIG_DISPLAY_BOARDINFO=y
|
||||
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
|
||||
CONFIG_SPL_RAM_SUPPORT=y
|
||||
CONFIG_SPL_RAM_DEVICE=y
|
||||
CONFIG_SYS_PROMPT="Milk-V Meles# "
|
||||
CONFIG_CMD_BOOT_SLAVE=y
|
||||
CONFIG_CMD_ERASEENV=y
|
||||
CONFIG_CMD_MEMTEST=y
|
||||
CONFIG_DDR_SCAN=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
# CONFIG_ISO_PARTITION is not set
|
||||
CONFIG_PARTITION_TYPE_GUID=y
|
||||
CONFIG_OF_EMBED=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="light-milkv-meles"
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SYSCON=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_USB_FUNCTION_FASTBOOT=y
|
||||
CONFIG_UDP_FUNCTION_FASTBOOT=y
|
||||
CONFIG_FASTBOOT_BUF_ADDR=0x10000000
|
||||
CONFIG_FASTBOOT_FLASH=y
|
||||
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
|
||||
CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DWAPB_GPIO=y
|
||||
CONFIG_DM_PCA953X=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_DW=y
|
||||
# CONFIG_MMC_SPI is not set
|
||||
CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
CONFIG_SUPPORT_EMMC_BOOT=y
|
||||
CONFIG_MMC_IO_VOLTAGE=y
|
||||
CONFIG_MMC_UHS_SUPPORT=y
|
||||
CONFIG_MMC_HS400_SUPPORT=y
|
||||
CONFIG_MMC_DW=y
|
||||
CONFIG_MMC_DW_SNPS=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_SDMA=y
|
||||
CONFIG_MMC_SDHCI_SNPS=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_MTD_SPI_NAND=y
|
||||
CONFIG_SPI_FLASH_WINBOND=y
|
||||
CONFIG_PHY_REALTEK=y
|
||||
CONFIG_RTL8211E_PINE64_GIGABIT_FIX=y
|
||||
CONFIG_RTL8211X_PHY_FORCE_MASTER=y
|
||||
CONFIG_RTL8211F_PHY_FORCE_EEE_RXC_ON=y
|
||||
CONFIG_ETH_DESIGNWARE=y
|
||||
CONFIG_PHY=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_DESIGNWARE_SPI=y
|
||||
CONFIG_DESIGNWARE_QSPI=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DWC3=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_MANUFACTURER="U-Boot-THEAD"
|
||||
CONFIG_USB_GADGET_VENDOR_NUM=0x1234
|
||||
CONFIG_USB_GADGET_PRODUCT_NUM=0x8888
|
||||
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
93
configs/light_milkv_meles_dualrank_defconfig
Normal file
93
configs/light_milkv_meles_dualrank_defconfig
Normal file
@@ -0,0 +1,93 @@
|
||||
CONFIG_RISCV=y
|
||||
CONFIG_SPL_MMC_SUPPORT=y
|
||||
CONFIG_ENV_SIZE=0x20000
|
||||
CONFIG_ENV_OFFSET=0xe0000
|
||||
CONFIG_NR_DRAM_BANKS=8
|
||||
CONFIG_SPL=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_TARGET_LIGHT_C910=y
|
||||
CONFIG_PMIC_VOL_INIT=y
|
||||
CONFIG_TARGET_LIGHT_FM_C910_MILKV_MELES=y
|
||||
CONFIG_DDR_LP4X_3733_DUALRANK=y
|
||||
CONFIG_DDR_BOARD_CONFIG=y
|
||||
CONFIG_ARCH_RV64I=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BUILD_TARGET="u-boot-with-spl.bin"
|
||||
CONFIG_DEFAULT_FDT_FILE="thead/th1520-milkv-meles.dtb"
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_DISPLAY_CPUINFO=y
|
||||
CONFIG_DISPLAY_BOARDINFO=y
|
||||
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
|
||||
CONFIG_SPL_RAM_SUPPORT=y
|
||||
CONFIG_SPL_RAM_DEVICE=y
|
||||
CONFIG_SYS_PROMPT="Milk-V Meles# "
|
||||
CONFIG_CMD_BOOT_SLAVE=y
|
||||
CONFIG_CMD_ERASEENV=y
|
||||
CONFIG_CMD_MEMTEST=y
|
||||
CONFIG_DDR_SCAN=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
# CONFIG_ISO_PARTITION is not set
|
||||
CONFIG_PARTITION_TYPE_GUID=y
|
||||
CONFIG_OF_EMBED=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="light-milkv-meles"
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SYSCON=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_USB_FUNCTION_FASTBOOT=y
|
||||
CONFIG_UDP_FUNCTION_FASTBOOT=y
|
||||
CONFIG_FASTBOOT_BUF_ADDR=0x10000000
|
||||
CONFIG_FASTBOOT_FLASH=y
|
||||
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
|
||||
CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DWAPB_GPIO=y
|
||||
CONFIG_DM_PCA953X=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_DW=y
|
||||
# CONFIG_MMC_SPI is not set
|
||||
CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
CONFIG_SUPPORT_EMMC_BOOT=y
|
||||
CONFIG_MMC_IO_VOLTAGE=y
|
||||
CONFIG_MMC_UHS_SUPPORT=y
|
||||
CONFIG_MMC_HS400_SUPPORT=y
|
||||
CONFIG_MMC_DW=y
|
||||
CONFIG_MMC_DW_SNPS=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_SDMA=y
|
||||
CONFIG_MMC_SDHCI_SNPS=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_MTD_SPI_NAND=y
|
||||
CONFIG_SPI_FLASH_WINBOND=y
|
||||
CONFIG_PHY_REALTEK=y
|
||||
CONFIG_RTL8211E_PINE64_GIGABIT_FIX=y
|
||||
CONFIG_RTL8211X_PHY_FORCE_MASTER=y
|
||||
CONFIG_RTL8211F_PHY_FORCE_EEE_RXC_ON=y
|
||||
CONFIG_ETH_DESIGNWARE=y
|
||||
CONFIG_PHY=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_DESIGNWARE_SPI=y
|
||||
CONFIG_DESIGNWARE_QSPI=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DWC3=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_MANUFACTURER="U-Boot-THEAD"
|
||||
CONFIG_USB_GADGET_VENDOR_NUM=0x1234
|
||||
CONFIG_USB_GADGET_PRODUCT_NUM=0x8888
|
||||
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
CONFIG_BOARD_RNG_SEED=y
|
||||
CONFIG_FIXUP_MEMORY_REGION=y
|
||||
CONFIG_MISC=y
|
||||
CONFIG_LIGHT_AON_CONF=y
|
||||
93
configs/light_milkv_meles_singlerank_defconfig
Normal file
93
configs/light_milkv_meles_singlerank_defconfig
Normal file
@@ -0,0 +1,93 @@
|
||||
CONFIG_RISCV=y
|
||||
CONFIG_SPL_MMC_SUPPORT=y
|
||||
CONFIG_ENV_SIZE=0x20000
|
||||
CONFIG_ENV_OFFSET=0xe0000
|
||||
CONFIG_NR_DRAM_BANKS=8
|
||||
CONFIG_SPL=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_TARGET_LIGHT_C910=y
|
||||
CONFIG_PMIC_VOL_INIT=y
|
||||
CONFIG_TARGET_LIGHT_FM_C910_MILKV_MELES=y
|
||||
CONFIG_DDR_LP4X_3733_SINGLERANK=y
|
||||
CONFIG_DDR_BOARD_CONFIG=y
|
||||
CONFIG_ARCH_RV64I=y
|
||||
CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_BUILD_TARGET="u-boot-with-spl.bin"
|
||||
CONFIG_DEFAULT_FDT_FILE="thead/th1520-milkv-meles-4g.dtb"
|
||||
CONFIG_BOARD_LATE_INIT=y
|
||||
CONFIG_DISPLAY_CPUINFO=y
|
||||
CONFIG_DISPLAY_BOARDINFO=y
|
||||
# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
|
||||
CONFIG_SPL_RAM_SUPPORT=y
|
||||
CONFIG_SPL_RAM_DEVICE=y
|
||||
CONFIG_SYS_PROMPT="Milk-V Meles 4G# "
|
||||
CONFIG_CMD_BOOT_SLAVE=y
|
||||
CONFIG_CMD_ERASEENV=y
|
||||
CONFIG_CMD_MEMTEST=y
|
||||
CONFIG_DDR_SCAN=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_MTD=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_USB_MASS_STORAGE=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
# CONFIG_DOS_PARTITION is not set
|
||||
# CONFIG_ISO_PARTITION is not set
|
||||
CONFIG_PARTITION_TYPE_GUID=y
|
||||
CONFIG_OF_EMBED=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="light-milkv-meles"
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SYSCON=y
|
||||
CONFIG_SPL_CLK=y
|
||||
CONFIG_USB_FUNCTION_FASTBOOT=y
|
||||
CONFIG_UDP_FUNCTION_FASTBOOT=y
|
||||
CONFIG_FASTBOOT_BUF_ADDR=0x10000000
|
||||
CONFIG_FASTBOOT_FLASH=y
|
||||
CONFIG_FASTBOOT_FLASH_MMC_DEV=0
|
||||
CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
|
||||
CONFIG_DM_GPIO=y
|
||||
CONFIG_DWAPB_GPIO=y
|
||||
CONFIG_DM_PCA953X=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_DW=y
|
||||
# CONFIG_MMC_SPI is not set
|
||||
CONFIG_SUPPORT_EMMC_RPMB=y
|
||||
CONFIG_SUPPORT_EMMC_BOOT=y
|
||||
CONFIG_MMC_IO_VOLTAGE=y
|
||||
CONFIG_MMC_UHS_SUPPORT=y
|
||||
CONFIG_MMC_HS400_SUPPORT=y
|
||||
CONFIG_MMC_DW=y
|
||||
CONFIG_MMC_DW_SNPS=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_SDMA=y
|
||||
CONFIG_MMC_SDHCI_SNPS=y
|
||||
CONFIG_DM_MTD=y
|
||||
CONFIG_MTD_SPI_NAND=y
|
||||
CONFIG_SPI_FLASH_WINBOND=y
|
||||
CONFIG_PHY_REALTEK=y
|
||||
CONFIG_RTL8211E_PINE64_GIGABIT_FIX=y
|
||||
CONFIG_RTL8211X_PHY_FORCE_MASTER=y
|
||||
CONFIG_RTL8211F_PHY_FORCE_EEE_RXC_ON=y
|
||||
CONFIG_ETH_DESIGNWARE=y
|
||||
CONFIG_PHY=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_DESIGNWARE_SPI=y
|
||||
CONFIG_DESIGNWARE_QSPI=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DWC3=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_MANUFACTURER="U-Boot-THEAD"
|
||||
CONFIG_USB_GADGET_VENDOR_NUM=0x1234
|
||||
CONFIG_USB_GADGET_PRODUCT_NUM=0x8888
|
||||
CONFIG_SYS_WHITE_ON_BLACK=y
|
||||
# CONFIG_SPL_USE_TINY_PRINTF is not set
|
||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
CONFIG_BOARD_RNG_SEED=y
|
||||
CONFIG_FIXUP_MEMORY_REGION=y
|
||||
CONFIG_MISC=y
|
||||
CONFIG_LIGHT_AON_CONF=y
|
||||
@@ -6,6 +6,7 @@ CONFIG_FIT_SIGNATURE=y
|
||||
# CONFIG_CMD_BOOTD is not set
|
||||
# CONFIG_CMD_BOOTM is not set
|
||||
# CONFIG_CMD_ELF is not set
|
||||
# CONFIG_CMD_EXTENSION is not set
|
||||
# CONFIG_CMD_DATE is not set
|
||||
CONFIG_OF_CONTROL=y
|
||||
CONFIG_OF_HOSTFILE=y
|
||||
|
||||
@@ -89,6 +89,9 @@ pxe boot
|
||||
fdt_addr - the location of a fdt blob. 'fdt_addr' will be passed to bootm
|
||||
command if it is set and 'fdt_addr_r' is not passed to bootm command.
|
||||
|
||||
fdtoverlay_addr_r - location in RAM at which 'pxe boot' will temporarily store
|
||||
fdt overlay(s) before applying them to the fdt blob stored at 'fdt_addr_r'.
|
||||
|
||||
pxe file format
|
||||
===============
|
||||
The pxe file format is nearly a subset of the PXELINUX file format; see
|
||||
@@ -148,6 +151,12 @@ kernel <path> - if this label is chosen, use tftp to retrieve the kernel
|
||||
It useful for overlay selection in pxe file
|
||||
(see: doc/uImage.FIT/overlay-fdt-boot.txt)
|
||||
|
||||
fdtoverlays <path> [...] - if this label is chosen, use tftp to retrieve the DT
|
||||
overlay(s) at <path>. it will be temporarily stored at the
|
||||
address indicated in the fdtoverlay_addr_r environment variable,
|
||||
and then applied in the load order to the fdt blob stored at the
|
||||
address indicated in the fdt_addr_r environment variable.
|
||||
|
||||
append <string> - use <string> as the kernel command line when booting this
|
||||
label.
|
||||
|
||||
|
||||
111
doc/usage/extension.rst
Normal file
111
doc/usage/extension.rst
Normal file
@@ -0,0 +1,111 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+
|
||||
.. Copyright 2021, Kory Maincent <kory.maincent@bootlin.com>
|
||||
|
||||
U-Boot extension board usage (CONFIG_EXTENSION)
|
||||
===============================================
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
|
||||
::
|
||||
|
||||
extension scan
|
||||
extension list
|
||||
extension apply <extension number|all>
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
The "extension" command proposes a generic U-Boot mechanism to detect
|
||||
extension boards connected to the HW platform, and apply the appropriate
|
||||
Device Tree overlays depending on the detected extension boards.
|
||||
|
||||
The "extension" command comes with three sub-commands:
|
||||
|
||||
- "extension scan" makes the generic code call the board-specific
|
||||
extension_board_scan() function to retrieve the list of detected
|
||||
extension boards.
|
||||
|
||||
- "extension list" allows to list the detected extension boards.
|
||||
|
||||
- "extension apply <number>|all" allows to apply the Device Tree
|
||||
overlay(s) corresponding to one, or all, extension boards
|
||||
|
||||
The latter requires two environment variables to exist:
|
||||
|
||||
- extension_overlay_addr: the RAM address where to load the Device
|
||||
Tree overlays
|
||||
|
||||
- extension_overlay_cmd: the U-Boot command to load one overlay.
|
||||
Indeed, the location and mechanism to load DT overlays is very setup
|
||||
specific.
|
||||
|
||||
In order to enable this mechanism, board-specific code must implement
|
||||
the extension_board_scan() function that fills in a linked list of
|
||||
"struct extension", each describing one extension board. In addition,
|
||||
the board-specific code must select the SUPPORT_EXTENSION_SCAN Kconfig
|
||||
boolean.
|
||||
|
||||
Usage example
|
||||
-------------
|
||||
|
||||
1. Make sure your devicetree is loaded and set as the working fdt tree.
|
||||
|
||||
::
|
||||
|
||||
=> run loadfdt
|
||||
=> fdt addr $fdtaddr
|
||||
|
||||
2. Prepare the environment variables
|
||||
|
||||
::
|
||||
|
||||
=> setenv extension_overlay_addr 0x88080000
|
||||
=> setenv extension_overlay_cmd 'load mmc 0:1 ${extension_overlay_addr} /boot/${extension_overlay_name}'
|
||||
|
||||
3. Detect the plugged extension board
|
||||
|
||||
::
|
||||
|
||||
=> extension scan
|
||||
|
||||
4. List the plugged extension board information and the devicetree
|
||||
overlay name
|
||||
|
||||
::
|
||||
|
||||
=> extension list
|
||||
|
||||
5. Apply the appropriate devicetree overlay
|
||||
|
||||
For apply the selected overlay:
|
||||
|
||||
::
|
||||
|
||||
=> extension apply 0
|
||||
|
||||
For apply all the overlays:
|
||||
|
||||
::
|
||||
|
||||
=> extension apply all
|
||||
|
||||
Simple extension_board_scan function example
|
||||
--------------------------------------------
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
int extension_board_scan(struct list_head *extension_list)
|
||||
{
|
||||
struct extension *extension;
|
||||
|
||||
extension = calloc(1, sizeof(struct extension));
|
||||
snprintf(extension->overlay, sizeof(extension->overlay), "overlay.dtbo");
|
||||
snprintf(extension->name, sizeof(extension->name), "extension board");
|
||||
snprintf(extension->owner, sizeof(extension->owner), "sandbox");
|
||||
snprintf(extension->version, sizeof(extension->version), "1.1");
|
||||
snprintf(extension->other, sizeof(extension->other), "Extension board information");
|
||||
list_add_tail(&extension->list, extension_list);
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -34,7 +34,10 @@
|
||||
*/
|
||||
void xhci_flush_cache(uintptr_t addr, u32 len)
|
||||
{
|
||||
BUG_ON((void *)addr == NULL || len == 0);
|
||||
// th1520 will load fw_dymaic.bin into 0x0
|
||||
// so disable it
|
||||
// load usb 0:2 0x0 fw_dynamic.bin
|
||||
//BUG_ON((void *)addr == NULL || len == 0);
|
||||
|
||||
flush_dcache_range(addr & ~(CACHELINE_SIZE - 1),
|
||||
ALIGN(addr + len, CACHELINE_SIZE));
|
||||
@@ -49,7 +52,10 @@ void xhci_flush_cache(uintptr_t addr, u32 len)
|
||||
*/
|
||||
void xhci_inval_cache(uintptr_t addr, u32 len)
|
||||
{
|
||||
BUG_ON((void *)addr == NULL || len == 0);
|
||||
// th1520 will load fw_dymaic.bin into 0x0
|
||||
// so disable it
|
||||
// load usb 0:2 0x0 fw_dynamic.bin
|
||||
//BUG_ON((void *)addr == NULL || len == 0);
|
||||
|
||||
invalidate_dcache_range(addr & ~(CACHELINE_SIZE - 1),
|
||||
ALIGN(addr + len, CACHELINE_SIZE));
|
||||
|
||||
@@ -351,16 +351,24 @@ config VIDEO_LCD_ILITEK_ILI9881C
|
||||
Say Y here if you want to enable support for ILITEK ILI9881C
|
||||
800x1280 DSI video mode panel.
|
||||
|
||||
config VIDEO_LCD_MINGJUN_070BI30IA2
|
||||
bool "MingJun 070BI30IA2 DSI LCD panel support"
|
||||
depends on DM_VIDEO
|
||||
select VIDEO_MIPI_DSI
|
||||
help
|
||||
Say Y here if you want to enable support for Mingjun 070BI30IA2
|
||||
800x1280 DSI video mode panel.
|
||||
|
||||
config VIDEO_LCD_JD9365DA
|
||||
bool "JD9365DA DSI LCD panel support"
|
||||
depends on DM_VIDEO
|
||||
select VIDEO_MIPI_DSI
|
||||
help
|
||||
Say Y here if you want to enable support for JD9365DA
|
||||
800x1280 DSI video mode panel.
|
||||
|
||||
config VIDEO_LCD_CUSTOM_LOGO
|
||||
bool "LCD CUSTOM logo support"
|
||||
default n
|
||||
help
|
||||
Say Y here if you want to enable support for custom logo.
|
||||
|
||||
|
||||
@@ -55,6 +55,7 @@ obj-$(CONFIG_VIDEO_LCD_HITACHI_TX18D42VM) += hitachi_tx18d42vm_lcd.o
|
||||
obj-$(CONFIG_VIDEO_LCD_ORISETECH_OTM8009A) += orisetech_otm8009a.o
|
||||
obj-$(CONFIG_VIDEO_LCD_RAYDIUM_RM68200) += raydium-rm68200.o
|
||||
obj-$(CONFIG_VIDEO_LCD_ILITEK_ILI9881C) += ilitek-ili9881c.o
|
||||
obj-$(CONFIG_VIDEO_LCD_MINGJUN_070BI30IA2) += mingjun-070bi30ia2.o
|
||||
obj-$(CONFIG_VIDEO_LCD_SSD2828) += ssd2828.o
|
||||
obj-$(CONFIG_VIDEO_MB862xx) += mb862xx.o videomodes.o
|
||||
obj-${CONFIG_VIDEO_MESON} += meson/
|
||||
|
||||
@@ -368,12 +368,12 @@ static int ili9881c_panel_prepare(struct udevice *panel)
|
||||
ret = dm_gpio_set_value(&priv->reset, true);
|
||||
if (ret)
|
||||
return ret;
|
||||
mdelay(1);
|
||||
mdelay(500);
|
||||
|
||||
ret = dm_gpio_set_value(&priv->reset, false);
|
||||
if (ret)
|
||||
return ret;
|
||||
mdelay(10);
|
||||
mdelay(100);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -464,6 +464,20 @@ static int ili9881c_panel_ofdata_to_platdata(struct udevice *dev)
|
||||
dev_err(dev, "Warning: cannot get reset GPIO\n");
|
||||
if (ret != -ENOENT)
|
||||
return ret;
|
||||
} else {
|
||||
/* not a bug, but uboot's regulator is buggy,
|
||||
I haven't more time to fix it, so put it here
|
||||
*/
|
||||
/* reset panel */
|
||||
ret = dm_gpio_set_value(&priv->reset, false);
|
||||
if (ret)
|
||||
return ret;
|
||||
mdelay(100);
|
||||
|
||||
ret = dm_gpio_set_value(&priv->reset, true);
|
||||
if (ret)
|
||||
return ret;
|
||||
mdelay(100);
|
||||
}
|
||||
|
||||
/* power gpios */
|
||||
|
||||
490
drivers/video/mingjun-070bi30ia2.c
Normal file
490
drivers/video/mingjun-070bi30ia2.c
Normal file
@@ -0,0 +1,490 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
#include <common.h>
|
||||
#include <backlight.h>
|
||||
#include <dm.h>
|
||||
#include <mipi_dsi.h>
|
||||
#include <panel.h>
|
||||
#include <asm/gpio.h>
|
||||
|
||||
struct mingjun_panel_cmd {
|
||||
char cmdlen;
|
||||
char cmddata[0x40];
|
||||
};
|
||||
|
||||
static const struct mingjun_panel_cmd mingjun_on_cmds[] = {
|
||||
// { .cmdlen = 4, .cmddata = {0xB9, 0xFF, 0x83, 0x94} },
|
||||
// { .cmdlen = 11, .cmddata = {0xB1, 0x48, 0x0A, 0x6A, 0x09, 0x33, 0x54,
|
||||
// 0x71, 0x71, 0x2E, 0x45} },
|
||||
// { .cmdlen = 7, .cmddata = {0xBA, 0x63, 0x03, 0x68, 0x6B, 0xB2, 0xC0} },
|
||||
// { .cmdlen = 7, .cmddata = {0xB2, 0x00, 0x80, 0x64, 0x0C, 0x06, 0x2F} },
|
||||
// { .cmdlen = 22, .cmddata = {0xB4, 0x1C, 0x78, 0x1C, 0x78, 0x1C, 0x78, 0x01,
|
||||
// 0x0C, 0x86, 0x75, 0x00, 0x3F, 0x1C, 0x78, 0x1C,
|
||||
// 0x78, 0x1C, 0x78, 0x01, 0x0C, 0x86} },
|
||||
// { .cmdlen = 34, .cmddata = {0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
|
||||
// 0x08, 0x32, 0x10, 0x05, 0x00, 0x05, 0x32, 0x13,
|
||||
// 0xC1, 0x00, 0x01, 0x32, 0x10, 0x08, 0x00, 0x00,
|
||||
// 0x37, 0x03, 0x07, 0x07, 0x37, 0x05, 0x05, 0x37,
|
||||
// 0x0C, 0x40} },
|
||||
// { .cmdlen = 45, .cmddata = {0xD5, 0x18, 0x18, 0x18, 0x18, 0x22, 0x23, 0x20,
|
||||
// 0x21, 0x04, 0x05, 0x06, 0x07, 0x00, 0x01, 0x02,
|
||||
// 0x03, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
// 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
// 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
// 0x18, 0x19, 0x19, 0x19, 0x19} },
|
||||
// { .cmdlen = 45, .cmddata = {0xD6, 0x18, 0x18, 0x19, 0x19, 0x21, 0x20, 0x23,
|
||||
// 0x22, 0x03, 0x02, 0x01, 0x00, 0x07, 0x06, 0x05,
|
||||
// 0x04, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
// 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
// 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
// 0x18, 0x19, 0x19, 0x18, 0x18} },
|
||||
// { .cmdlen = 59, .cmddata = {0xE0, 0x07, 0x08, 0x09, 0x0D, 0x10, 0x14, 0x16,
|
||||
// 0x13, 0x24, 0x36, 0x48, 0x4A, 0x58, 0x6F, 0x76,
|
||||
// 0x80, 0x97, 0xA5, 0xA8, 0xB5, 0xC6, 0x62, 0x63,
|
||||
// 0x68, 0x6F, 0x72, 0x78, 0x7F, 0x7F, 0x00, 0x02,
|
||||
// 0x08, 0x0D, 0x0C, 0x0E, 0x0F, 0x10, 0x24, 0x36,
|
||||
// 0x48, 0x4A, 0x58, 0x6F, 0x78, 0x82, 0x99, 0xA4,
|
||||
// 0xA0, 0xB1, 0xC0, 0x5E, 0x5E, 0x64, 0x6B, 0x6C,
|
||||
// 0x73, 0x7F, 0x7F} },
|
||||
// { .cmdlen = 2, .cmddata = {0xCC, 0x03} },
|
||||
// { .cmdlen = 3, .cmddata = {0xC0, 0x1F, 0x73} },
|
||||
// { .cmdlen = 3, .cmddata = {0xB6, 0x90, 0x90} },
|
||||
// { .cmdlen = 2, .cmddata = {0xD4, 0x02} },
|
||||
// { .cmdlen = 2, .cmddata = {0xBD, 0x01} },
|
||||
// { .cmdlen = 2, .cmddata = {0xB1, 0x00} },
|
||||
// { .cmdlen = 2, .cmddata = {0xBD, 0x00} },
|
||||
// { .cmdlen = 8, .cmddn bata = {0xBF, 0x40, 0x81, 0x50, 0x00, 0x1A, 0xFC, 0x01} },
|
||||
|
||||
// { .cmdlen = 2, .cmddata = {0x36, 0x02} },
|
||||
{ .cmdlen =4, .cmddata = {0xFF,0x98,0x81,0x03} },
|
||||
{ .cmdlen = 2, .cmddata = {0x01,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x02,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x03,0x73} },
|
||||
{ .cmdlen = 2, .cmddata = {0x04,0x13} },
|
||||
{ .cmdlen = 2, .cmddata = {0x05,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x06,0x0A} },
|
||||
{ .cmdlen = 2, .cmddata = {0x07,0x05} },
|
||||
{ .cmdlen = 2, .cmddata = {0x11,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x09,0x28} },
|
||||
{ .cmdlen = 2, .cmddata = {0x0A,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x0B,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x0C,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x0D,0x28} },
|
||||
{ .cmdlen = 2, .cmddata = {0x0E,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x0F,0x28} },
|
||||
{ .cmdlen = 2, .cmddata = {0x10,0x28} },
|
||||
{ .cmdlen = 2, .cmddata = {0x11,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x12,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x13,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x14,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x15,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x16,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x17,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x18,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x19,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x1A,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x1B,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x1C,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x1D,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x1E,0x40} },
|
||||
{ .cmdlen = 2, .cmddata = {0x1F,0x80} },
|
||||
{ .cmdlen = 2, .cmddata = {0x20,0x06} },
|
||||
{ .cmdlen = 2, .cmddata = {0x21,0x01} },
|
||||
{ .cmdlen = 2, .cmddata = {0x22,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x23,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x24,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x25,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x26,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x27,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x28,0x33} },
|
||||
{ .cmdlen = 2, .cmddata = {0x29,0x33} },
|
||||
{ .cmdlen = 2, .cmddata = {0x2A,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x2B,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x2C,0x04} },
|
||||
{ .cmdlen = 2, .cmddata = {0x2D,0x0C} },
|
||||
{ .cmdlen = 2, .cmddata = {0x2E,0x05} },
|
||||
{ .cmdlen = 2, .cmddata = {0x2F,0x05} },
|
||||
{ .cmdlen = 2, .cmddata = {0x30,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x31,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x32,0x31} },
|
||||
{ .cmdlen = 2, .cmddata = {0x33,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x34,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x35,0x0A} },
|
||||
{ .cmdlen = 2, .cmddata = {0x36,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x37,0x08} },
|
||||
{ .cmdlen = 2, .cmddata = {0x70,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x39,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x3A,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x3B,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x3C,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x3D,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x3E,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x3F,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x40,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x41,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x42,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x43,0x08} },
|
||||
{ .cmdlen = 2, .cmddata = {0x44,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0xA0,0x02} },
|
||||
{ .cmdlen = 2, .cmddata = {0x51,0x23} },
|
||||
{ .cmdlen = 2, .cmddata = {0x52,0x44} },
|
||||
{ .cmdlen = 2, .cmddata = {0x53,0x67} },
|
||||
{ .cmdlen = 2, .cmddata = {0x54,0x89} },
|
||||
{ .cmdlen = 2, .cmddata = {0x55,0xAB} },
|
||||
{ .cmdlen = 2, .cmddata = {0x56,0x01} },
|
||||
{ .cmdlen = 2, .cmddata = {0x57,0x23} },
|
||||
{ .cmdlen = 2, .cmddata = {0x58,0x45} },
|
||||
{ .cmdlen = 2, .cmddata = {0x59,0x67} },
|
||||
{ .cmdlen = 2, .cmddata = {0x5A,0x89} },
|
||||
{ .cmdlen = 2, .cmddata = {0x5B,0xAB} },
|
||||
{ .cmdlen = 2, .cmddata = {0x5C,0xCD} },
|
||||
{ .cmdlen = 2, .cmddata = {0x5D,0xEF} },
|
||||
{ .cmdlen = 2, .cmddata = {0x5E,0x11} },
|
||||
{ .cmdlen = 2, .cmddata = {0x5F,0x02} },
|
||||
{ .cmdlen = 2, .cmddata = {0x60,0x08} },
|
||||
{ .cmdlen = 2, .cmddata = {0x61,0x0E} },
|
||||
{ .cmdlen = 2, .cmddata = {0x62,0x0F} },
|
||||
{ .cmdlen = 2, .cmddata = {0x63,0x0C} },
|
||||
{ .cmdlen = 2, .cmddata = {0x64,0x0D} },
|
||||
{ .cmdlen = 2, .cmddata = {0x65,0x17} },
|
||||
{ .cmdlen = 2, .cmddata = {0x66,0x01} },
|
||||
{ .cmdlen = 2, .cmddata = {0x67,0x01} },
|
||||
{ .cmdlen = 2, .cmddata = {0x68,0x02} },
|
||||
{ .cmdlen = 2, .cmddata = {0x69,0x02} },
|
||||
{ .cmdlen = 2, .cmddata = {0x6A,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x6B,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x6C,0x02} },
|
||||
{ .cmdlen = 2, .cmddata = {0x6D,0x02} },
|
||||
{ .cmdlen = 2, .cmddata = {0x6E,0x16} },
|
||||
{ .cmdlen = 2, .cmddata = {0x6F,0x16} },
|
||||
{ .cmdlen = 2, .cmddata = {0x70,0x06} },
|
||||
{ .cmdlen = 2, .cmddata = {0x71,0x06} },
|
||||
{ .cmdlen = 2, .cmddata = {0x72,0x07} },
|
||||
{ .cmdlen = 2, .cmddata = {0x73,0x07} },
|
||||
{ .cmdlen = 2, .cmddata = {0x74,0x02} },
|
||||
{ .cmdlen = 2, .cmddata = {0x75,0x02} },
|
||||
{ .cmdlen = 2, .cmddata = {0x76,0x08} },
|
||||
{ .cmdlen = 2, .cmddata = {0x77,0x0E} },
|
||||
{ .cmdlen = 2, .cmddata = {0x78,0x0F} },
|
||||
{ .cmdlen = 2, .cmddata = {0x79,0x0C} },
|
||||
{ .cmdlen = 2, .cmddata = {0x7A,0x0D} },
|
||||
{ .cmdlen = 2, .cmddata = {0x7B,0x17} },
|
||||
{ .cmdlen = 2, .cmddata = {0x7C,0x01} },
|
||||
{ .cmdlen = 2, .cmddata = {0x7D,0x01} },
|
||||
{ .cmdlen = 2, .cmddata = {0x7E,0x02} },
|
||||
{ .cmdlen = 2, .cmddata = {0x7F,0x02} },
|
||||
{ .cmdlen = 2, .cmddata = {0x80,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x81,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x82,0x02} },
|
||||
{ .cmdlen = 2, .cmddata = {0x83,0x02} },
|
||||
{ .cmdlen = 2, .cmddata = {0x84,0x16} },
|
||||
{ .cmdlen = 2, .cmddata = {0x85,0x16} },
|
||||
{ .cmdlen = 2, .cmddata = {0x86,0x06} },
|
||||
{ .cmdlen = 2, .cmddata = {0x87,0x06} },
|
||||
{ .cmdlen = 2, .cmddata = {0x88,0x07} },
|
||||
{ .cmdlen = 2, .cmddata = {0x89,0x07} },
|
||||
{ .cmdlen = 2, .cmddata = {0x8A,0x02} },
|
||||
{ .cmdlen = 4, .cmddata = {0xFF,0x98,0x81,0x04} },
|
||||
{ .cmdlen = 2, .cmddata = {0x6E,0x1A} },
|
||||
{ .cmdlen = 2, .cmddata = {0x6F,0x37} },
|
||||
{ .cmdlen = 2, .cmddata = {0x3A,0xA4} },
|
||||
{ .cmdlen = 2, .cmddata = {0x8D,0x1F} },
|
||||
{ .cmdlen = 2, .cmddata = {0x87,0xBA} },
|
||||
{ .cmdlen = 2, .cmddata = {0xB2,0xD1} },
|
||||
{ .cmdlen = 2, .cmddata = {0x88,0x0B} },
|
||||
{ .cmdlen = 2, .cmddata = {0x38,0x01} },
|
||||
{ .cmdlen = 2, .cmddata = {0x39,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0xB5,0x02} },
|
||||
{ .cmdlen = 2, .cmddata = {0x31,0x25} },
|
||||
{ .cmdlen = 2, .cmddata = {0x3B,0x98} },
|
||||
{ .cmdlen = 4, .cmddata = {0xFF,0x98,0x81,0x01} },
|
||||
{ .cmdlen = 2, .cmddata = {0x22,0x0A} },
|
||||
{ .cmdlen = 2, .cmddata = {0x31,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0xA6,0xA6} },
|
||||
{ .cmdlen = 2, .cmddata = {0x55,0x3D} },
|
||||
{ .cmdlen = 2, .cmddata = {0x50,0x9E} },
|
||||
{ .cmdlen = 2, .cmddata = {0x51,0x99} },
|
||||
{ .cmdlen = 2, .cmddata = {0x60,0x06} },
|
||||
{ .cmdlen = 2, .cmddata = {0x62,0x20} },
|
||||
{ .cmdlen = 2, .cmddata = {0xA0,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0xA1,0x17} },
|
||||
{ .cmdlen = 2, .cmddata = {0xA2,0x26} },
|
||||
{ .cmdlen = 2, .cmddata = {0xA3,0x13} },
|
||||
{ .cmdlen = 2, .cmddata = {0xA4,0x16} },
|
||||
{ .cmdlen = 2, .cmddata = {0xA5,0x29} },
|
||||
{ .cmdlen = 2, .cmddata = {0xA6,0x1E} },
|
||||
{ .cmdlen = 2, .cmddata = {0xA7,0x1F} },
|
||||
{ .cmdlen = 2, .cmddata = {0xA8,0x8B} },
|
||||
{ .cmdlen = 2, .cmddata = {0xA9,0x1D} },
|
||||
{ .cmdlen = 2, .cmddata = {0xAA,0x2A} },
|
||||
{ .cmdlen = 2, .cmddata = {0xAB,0x7B} },
|
||||
{ .cmdlen = 2, .cmddata = {0xAC,0x1A} },
|
||||
{ .cmdlen = 2, .cmddata = {0xAD,0x19} },
|
||||
{ .cmdlen = 2, .cmddata = {0xAE,0x4E} },
|
||||
{ .cmdlen = 2, .cmddata = {0xAF,0x24} },
|
||||
{ .cmdlen = 2, .cmddata = {0xB0,0x29} },
|
||||
{ .cmdlen = 2, .cmddata = {0xB1,0x4F} },
|
||||
{ .cmdlen = 2, .cmddata = {0xB2,0x5C} },
|
||||
{ .cmdlen = 2, .cmddata = {0xB3,0x3E} },
|
||||
{ .cmdlen = 2, .cmddata = {0xC0,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0xC1,0x17} },
|
||||
{ .cmdlen = 2, .cmddata = {0xC2,0x26} },
|
||||
{ .cmdlen = 2, .cmddata = {0xC3,0x13} },
|
||||
{ .cmdlen = 2, .cmddata = {0xC4,0x16} },
|
||||
{ .cmdlen = 2, .cmddata = {0xC5,0x29} },
|
||||
{ .cmdlen = 2, .cmddata = {0xC6,0x1E} },
|
||||
{ .cmdlen = 2, .cmddata = {0xC7,0x1F} },
|
||||
{ .cmdlen = 2, .cmddata = {0xC8,0x8B} },
|
||||
{ .cmdlen = 2, .cmddata = {0xC9,0x1D} },
|
||||
{ .cmdlen = 2, .cmddata = {0xCA,0x2A} },
|
||||
{ .cmdlen = 2, .cmddata = {0xCB,0x7B} },
|
||||
{ .cmdlen = 2, .cmddata = {0xCC,0x1A} },
|
||||
{ .cmdlen = 2, .cmddata = {0xCD,0x19} },
|
||||
{ .cmdlen = 2, .cmddata = {0xCE,0x4E} },
|
||||
{ .cmdlen = 2, .cmddata = {0xCF,0x24} },
|
||||
{ .cmdlen = 2, .cmddata = {0xD0,0x29} },
|
||||
{ .cmdlen = 2, .cmddata = {0xD1,0x4D} },
|
||||
{ .cmdlen = 2, .cmddata = {0xD2,0x5C} },
|
||||
{ .cmdlen = 2, .cmddata = {0xD3,0x3E} },
|
||||
{ .cmdlen = 4, .cmddata = {0xFF,0x98,0x81,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x11,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x29,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x35,0x00} },
|
||||
{ .cmdlen = 2, .cmddata = {0x00,0x00} },
|
||||
};
|
||||
|
||||
|
||||
struct mj070bi30ia2_desc {
|
||||
const struct mingjun_panel_cmd *on_cmds;
|
||||
unsigned int on_cmds_num;
|
||||
const struct display_timing *timing;
|
||||
};
|
||||
|
||||
struct mj070bi30ia2_panel_priv {
|
||||
struct udevice *backlight;
|
||||
struct gpio_desc reset;
|
||||
const struct mj070bi30ia2_desc *desc;
|
||||
};
|
||||
|
||||
static const struct display_timing mj070bi30ia2_timing = {
|
||||
.pixelclock.typ = 75750000,
|
||||
.hactive.typ = 800,
|
||||
.hfront_porch.typ = 48,
|
||||
.hback_porch.typ = 80,
|
||||
.hsync_len.typ = 32,
|
||||
.vactive.typ = 1280,
|
||||
.vfront_porch.typ = 3,
|
||||
.vback_porch.typ = 24,
|
||||
.vsync_len.typ = 10,
|
||||
.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW,
|
||||
};
|
||||
|
||||
static int mingjun_send_mipi_cmds(struct udevice *panel,
|
||||
struct mingjun_panel_cmd *cmds)
|
||||
{
|
||||
struct mipi_dsi_panel_plat *plat = dev_get_platdata(panel);
|
||||
struct mipi_dsi_device *dsi = plat->device;
|
||||
struct mj070bi30ia2_panel_priv *priv = dev_get_priv(panel);
|
||||
int ret;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < priv->desc->on_cmds_num; i++) {
|
||||
ret = mipi_dsi_dcs_write_buffer(dsi,
|
||||
&(cmds[i].cmddata[0]), cmds[i].cmdlen);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
}
|
||||
dev_info(dsi->dev, "%s: send initial instruction\n", __func__);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mj070bi30ia2_panel_setup(struct udevice *panel)
|
||||
{
|
||||
int ret;
|
||||
u8 power_mode;
|
||||
const struct mj070bi30ia2_instr *instr;
|
||||
struct mj070bi30ia2_panel_priv *priv = dev_get_priv(panel);
|
||||
struct mipi_dsi_panel_plat *plat = dev_get_platdata(panel);
|
||||
struct mipi_dsi_device *dsi = plat->device;
|
||||
|
||||
dsi->mode_flags |= MIPI_DSI_MODE_LPM;
|
||||
|
||||
/* sanity test for connection */
|
||||
ret = mipi_dsi_dcs_get_power_mode(dsi, &power_mode);
|
||||
if (ret) {
|
||||
dev_warn(dsi->dev, "%s: failed to get power mode: %d\n", __func__, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mj070bi30ia2_panel_prepare(struct udevice *panel)
|
||||
{
|
||||
struct mj070bi30ia2_panel_priv *priv = dev_get_priv(panel);
|
||||
int ret;
|
||||
|
||||
/* reset panel */
|
||||
ret = dm_gpio_set_value(&priv->reset, true);
|
||||
if (ret)
|
||||
return ret;
|
||||
mdelay(1);
|
||||
|
||||
ret = dm_gpio_set_value(&priv->reset, false);
|
||||
if (ret)
|
||||
return ret;
|
||||
mdelay(10);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mj070bi30ia2_panel_enable(struct udevice *panel)
|
||||
{
|
||||
int ret;
|
||||
struct mj070bi30ia2_panel_priv *priv = dev_get_priv(panel);
|
||||
struct mipi_dsi_panel_plat *plat = dev_get_platdata(panel);
|
||||
struct mipi_dsi_device *dsi = plat->device;
|
||||
|
||||
dsi->mode_flags |= MIPI_DSI_MODE_LPM;
|
||||
|
||||
ret = mingjun_send_mipi_cmds(panel, priv->desc->on_cmds);
|
||||
if (ret < 0) {
|
||||
dev_err(panel->dev, "failed to send DCS Init Code: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = mipi_dsi_dcs_set_tear_on(dsi, MIPI_DSI_DCS_TEAR_MODE_VBLANK);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = mipi_dsi_dcs_exit_sleep_mode(dsi);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
mdelay(10);
|
||||
|
||||
ret = mipi_dsi_dcs_set_display_on(dsi);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
#if 0
|
||||
ret = backlight_enable(priv->backlight);
|
||||
if (ret)
|
||||
return ret;
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mj070bi30ia2_panel_enable_backlight(struct udevice *dev)
|
||||
{
|
||||
int ret;
|
||||
struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
|
||||
struct mipi_dsi_device *device = plat->device;
|
||||
|
||||
ret = mipi_dsi_attach(device);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
ret = mj070bi30ia2_panel_setup(dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = mj070bi30ia2_panel_enable(dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mj070bi30ia2_panel_get_display_timing(struct udevice *dev,
|
||||
struct display_timing *timings)
|
||||
{
|
||||
struct mipi_dsi_panel_plat *plat = dev_get_platdata(dev);
|
||||
struct mipi_dsi_device *device = plat->device;
|
||||
struct mj070bi30ia2_panel_priv *priv = dev_get_priv(dev);
|
||||
|
||||
memcpy(timings, priv->desc->timing, sizeof(*timings));
|
||||
|
||||
device->lanes = 4;
|
||||
device->format = MIPI_DSI_FMT_RGB888;
|
||||
device->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mj070bi30ia2_panel_ofdata_to_platdata(struct udevice *dev)
|
||||
{
|
||||
struct mj070bi30ia2_panel_priv *priv = dev_get_priv(dev);
|
||||
int ret;
|
||||
|
||||
ret = gpio_request_by_name(dev, "reset-gpios", 0,
|
||||
&priv->reset, GPIOD_IS_OUT);
|
||||
if (ret) {
|
||||
dev_err(dev, "Warning: cannot get reset GPIO\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = uclass_get_device_by_phandle(UCLASS_PANEL_BACKLIGHT, dev,
|
||||
"backlight", &priv->backlight);
|
||||
if (ret) {
|
||||
dev_err(dev, "Cannot get backlight: ret=%d\n", ret);
|
||||
}
|
||||
|
||||
/* TODO: get lanes, format and mode from dtb */
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mj070bi30ia2_panel_probe(struct udevice *panel)
|
||||
{
|
||||
int ret;
|
||||
struct mj070bi30ia2_panel_priv *priv = dev_get_priv(panel);
|
||||
|
||||
priv->desc = (const struct mj070bi30ia2_desc *)dev_get_driver_data(panel);
|
||||
|
||||
/* prepare_panel */
|
||||
ret = mj070bi30ia2_panel_prepare(panel);
|
||||
if (ret) {
|
||||
dev_err(panel, "failed to prepare panel : %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mj070bi30ia2_panel_remove(struct udevice *panel)
|
||||
{
|
||||
struct mj070bi30ia2_panel_priv *priv = dev_get_priv(panel);
|
||||
|
||||
return dm_gpio_set_value(&priv->reset, true);
|
||||
}
|
||||
|
||||
static const struct mj070bi30ia2_desc mj070bi30ia2_desc = {
|
||||
.on_cmds = mingjun_on_cmds,
|
||||
.on_cmds_num = ARRAY_SIZE(mingjun_on_cmds),
|
||||
.timing = &mj070bi30ia2_timing,
|
||||
};
|
||||
|
||||
static const struct panel_ops mj070bi30ia2_panel_ops = {
|
||||
.enable_backlight = mj070bi30ia2_panel_enable_backlight,
|
||||
.get_display_timing = mj070bi30ia2_panel_get_display_timing,
|
||||
};
|
||||
|
||||
static const struct udevice_id mj070bi30ia2_panel_ids[] = {
|
||||
{ .compatible = "mingjun,mj070bi30ia2", .data = (ulong)&mj070bi30ia2_desc },
|
||||
{ /* sentinel */ }
|
||||
};
|
||||
|
||||
U_BOOT_DRIVER(mj070bi30ia2_panel) = {
|
||||
.name = "mj070bi30ia2_panel",
|
||||
.id = UCLASS_PANEL,
|
||||
.of_match = mj070bi30ia2_panel_ids,
|
||||
.ops = &mj070bi30ia2_panel_ops,
|
||||
.ofdata_to_platdata = mj070bi30ia2_panel_ofdata_to_platdata,
|
||||
.probe = mj070bi30ia2_panel_probe,
|
||||
.remove = mj070bi30ia2_panel_remove,
|
||||
.platdata_auto_alloc_size = sizeof(struct mipi_dsi_panel_plat),
|
||||
.priv_auto_alloc_size = sizeof(struct mj070bi30ia2_panel_priv),
|
||||
};
|
||||
@@ -134,630 +134,51 @@
|
||||
/*public bootargs in mostly boards, make env 'set_booargs' shorter and clean */
|
||||
#define ENV_PUBLIC_BOOTARGS "pub_bootargs=rootfstype=ext4 rdinit=/sbin/init rootwait rw earlycon clk_ignore_unused\0"
|
||||
|
||||
/* Define board ID in ENV for firmware download protection */
|
||||
#if defined(CONFIG_LIGHT_ANDROID_BOOT_IMAGE_VAL_A) || \
|
||||
defined(CONFIG_LIGHT_SEC_BOOT_WITH_VERIFY_VAL_A) || \
|
||||
defined(CONFIG_TARGET_LIGHT_FM_C910_VAL_A)
|
||||
#define ENV_STR_BOARD "board#=LA\0"
|
||||
#elif defined(CONFIG_LIGHT_ANDROID_BOOT_IMAGE_VAL_B) || \
|
||||
defined(CONFIG_LIGHT_SEC_BOOT_WITH_VERIFY_VAL_B) || \
|
||||
defined(CONFIG_TARGET_LIGHT_FM_C910_VAL_B)
|
||||
#define ENV_STR_BOARD "board#=LB\0"
|
||||
#elif defined(CONFIG_LIGHT_ANDROID_BOOT_IMAGE_VAL_LPI4A) || \
|
||||
defined(CONFIG_LIGHT_SEC_BOOT_WITH_VERIFY_LPI4A) || \
|
||||
defined(CONFIG_TARGET_LIGHT_FM_C910_LPI4A) || \
|
||||
defined(CONFIG_LIGHT_SEC_BOOT_WITH_VERIFY_RVBOOK) || \
|
||||
defined(CONFIG_TARGET_LIGHT_FM_C910_RVBOOK)
|
||||
#define CONFIG_MISC_INIT_R
|
||||
|
||||
#define ENV_STR_BOARD "board#=LP\0"
|
||||
#elif defined(CONFIG_LIGHT_ANDROID_BOOT_IMAGE_VAL_BEAGLE) || \
|
||||
defined(CONFIG_TARGET_LIGHT_FM_C910_BEAGLE)
|
||||
#define ENV_STR_BOARD "board#=LG\0"
|
||||
#elif defined(CONFIG_LIGHT_ANDROID_BOOT_IMAGE_ANT_REF) || \
|
||||
defined(CONFIG_LIGHT_SEC_BOOT_WITH_VERIFY_ANT_REF) || \
|
||||
defined(CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_REF)
|
||||
#define ENV_STR_BOARD "board#=LD\0"
|
||||
#endif
|
||||
|
||||
#if defined (CONFIG_LIGHT_SEC_BOOT_WITH_VERIFY_VAL_A)
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"splashimage=0x30000000\0" \
|
||||
"splashpos=m,m\0" \
|
||||
"fdt_high=0xffffffffffffffff\0" \
|
||||
ENV_STR_BOARD \
|
||||
"tf_addr=0x100000\0" \
|
||||
"scriptaddr=0x00500000\0" \
|
||||
"pxefile_addr_r=0x00600000\0" \
|
||||
"dtb_addr=0x03800000\0" \
|
||||
"kernel_addr=0x00200000\0" \
|
||||
"fdt_addr_r=0x03800000\0" \
|
||||
"fdtoverlay_addr_r=0x03700000\0" \
|
||||
"initrd_high=0x1a000000\0" \
|
||||
"kernel_addr_r=0x00200000\0" \
|
||||
"ramdisk_addr_r=0x06000000\0" \
|
||||
"boot_conf_addr_r=0xc0000000\0" \
|
||||
"aon_ram_addr=0xffffef8000\0" \
|
||||
"audio_ram_addr=0x32000000\0" \
|
||||
"str_ram_addr=0xffe0000000\0" \
|
||||
"fwaddr=0x10000000\0"\
|
||||
"tee_addr=0x1c000000\0" \
|
||||
"sec_upgrade_mode=0\0"\
|
||||
"mmcdev=0\0" \
|
||||
"mmcpart=c\0" \
|
||||
"mmcbootpart=2\0" \
|
||||
"mmcteepart=3\0" \
|
||||
"mmcsbmetapart=5\0" \
|
||||
"slot_suffix=a\0" \
|
||||
"retries=5\0" \
|
||||
ENV_KERNEL_LOGLEVEL \
|
||||
"kdump_buf=180M\0" \
|
||||
ENV_STR_BOOT_DELAY \
|
||||
"sbmeta_security_level=1\0" \
|
||||
"nvpart_name=" NV_PARTITION_NAME"\0" \
|
||||
"uboot_version=0x0000000000000000\0"\
|
||||
"tee_version=0x00000000\0"\
|
||||
"tf_version=0x00000000\0"\
|
||||
"sbmeta_version=0x00000000\0"\
|
||||
"fdt_file=th1520-a-val-sec.dtb\0" \
|
||||
"uuid_rootfs=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
|
||||
"partitions=name=table,size=2031KB;name=boot_a,size=200MiB,type=boot;name=tee_a,size=36MiB,type=boot;name=stash,size=16MiB,type=boot;name=sbmeta_a,size=8MiB,type=boot;name=swap,size=1536MiB,type=boot;name=fastresume,size=512MiB,type=boot;name=${nvpart_name},size=1MiB;name=boot_b,size=200M,type=boot;name=tee_b,size=36M,type=boot;name=sbmeta_b,size=8M,type=boot;name=root,size=-,type=linux,uuid=${uuid_rootfs}\0" \
|
||||
"finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
|
||||
"gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
|
||||
ENV_PUBLIC_BOOTARGS \
|
||||
"set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} ${pub_bootargs} loglevel=${kernel_loglevel} eth=$ethaddr crashkernel=${kdump_buf} ${resume_bootargs}\0" \
|
||||
"load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize;bootaon\0"\
|
||||
"load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
|
||||
"load_str=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr str.bin;cp.b $fwaddr $str_ram_addr $filesize\0"\
|
||||
"bootcmd_load=run load_aon;run load_c906_audio;ext4load mmc ${mmcdev}:${mmcteepart} $tf_addr trust_firmware.bin; ext4load mmc ${mmcdev}:${mmcteepart} $tee_addr tee.bin;ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
|
||||
"bootcmd=light_bootab;run bootcmd_load; chk_hibernate; fixup_memory_region; bootslave; run finduuid; run set_bootargs; sbmetaboot; measureboot;run load_str;booti $kernel_addr - $dtb_addr;\0" \
|
||||
"\0"
|
||||
|
||||
#elif defined (CONFIG_LIGHT_SEC_BOOT_WITH_VERIFY_VAL_B)
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"opensbi_addr=0x0\0" \
|
||||
"fwaddr=0x10000000\0" \
|
||||
"splashimage=0x30000000\0" \
|
||||
"splashpos=m,m\0" \
|
||||
"fdt_high=0xffffffffffffffff\0" \
|
||||
ENV_STR_BOARD \
|
||||
"tf_addr=0x100000\0" \
|
||||
"dtb_addr=0x03800000\0" \
|
||||
"kernel_addr=0x00200000\0" \
|
||||
"aon_ram_addr=0xffffef8000\0" \
|
||||
"audio_ram_addr=0x32000000\0" \
|
||||
"str_ram_addr=0xffe0000000\0" \
|
||||
"fwaddr=0x10000000\0"\
|
||||
"tee_addr=0x1c000000\0" \
|
||||
"sec_upgrade_mode=0\0"\
|
||||
"mmcdev=0\0" \
|
||||
"mmcpart=a\0" \
|
||||
"mmcbootpart=2\0" \
|
||||
"mmcteepart=3\0" \
|
||||
"mmcsbmetapart=5\0" \
|
||||
"slot_suffix=a\0" \
|
||||
"retries=5\0" \
|
||||
ENV_KERNEL_LOGLEVEL \
|
||||
"kdump_buf=180M\0" \
|
||||
ENV_STR_BOOT_DELAY \
|
||||
"sbmeta_security_level=1\0" \
|
||||
"nvpart_name=" NV_PARTITION_NAME"\0" \
|
||||
"uboot_version=0x0000000000000000\0"\
|
||||
"tee_version=0x00000000\0"\
|
||||
"tf_version=0x00000000\0"\
|
||||
"sbmeta_version=0x00000000\0"\
|
||||
"fdt_file=th1520-b-product-sec.dtb\0" \
|
||||
"uuid_rootfs=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
|
||||
"partitions=name=table,size=2031KB;name=boot_a,size=200MiB,type=boot;name=tee_a,size=36MiB,type=boot;name=stash,size=16MiB,type=boot;name=sbmeta_a,size=8MiB,type=boot;name=${nvpart_name},size=1MiB;name=boot_b,size=200M,type=boot;name=tee_b,size=36M,type=boot;name=sbmeta_b,size=8M,type=boot;name=root,size=-,type=linux,uuid=${uuid_rootfs}\0" \
|
||||
"finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
|
||||
"gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
|
||||
ENV_PUBLIC_BOOTARGS \
|
||||
"set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} ${pub_bootargs} loglevel=${kernel_loglevel} eth=$ethaddr crashkernel=${kdump_buf}\0" \
|
||||
"load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize;bootaon\0"\
|
||||
"load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
|
||||
"load_str=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr str.bin;cp.b $fwaddr $str_ram_addr $filesize\0"\
|
||||
"bootcmd_load=run load_aon;run load_c906_audio;ext4load mmc ${mmcdev}:${mmcteepart} $tf_addr trust_firmware.bin; ext4load mmc ${mmcdev}:${mmcteepart} $tee_addr tee.bin;ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
|
||||
"bootcmd=light_bootab;run bootcmd_load; fixup_memory_region; bootslave; run finduuid; run set_bootargs; sbmetaboot; run load_str;booti $kernel_addr - $dtb_addr;\0" \
|
||||
"\0"
|
||||
|
||||
#elif defined (CONFIG_LIGHT_SEC_BOOT_WITH_VERIFY_ANT_REF)
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"splashimage=0x30000000\0" \
|
||||
"splashpos=m,m\0" \
|
||||
"fdt_high=0xffffffffffffffff\0" \
|
||||
ENV_STR_BOARD \
|
||||
"tf_addr=0x100000\0" \
|
||||
"dtb_addr=0x03800000\0" \
|
||||
"kernel_addr=0x00200000\0" \
|
||||
"aon_ram_addr=0xffffef8000\0" \
|
||||
"audio_ram_addr=0x32000000\0" \
|
||||
"str_ram_addr=0xffe0000000\0" \
|
||||
"fwaddr=0x10000000\0"\
|
||||
"tee_addr=0x1c000000\0" \
|
||||
"sec_upgrade_mode=0\0"\
|
||||
"mmcdev=0\0" \
|
||||
"mmcpart=6\0" \
|
||||
"mmcbootpart=2\0" \
|
||||
ENV_KERNEL_LOGLEVEL \
|
||||
"kdump_buf=180M\0" \
|
||||
ENV_STR_BOOT_DELAY \
|
||||
"uboot_version=0x0000000000000000\0"\
|
||||
"tee_version=0x00000000\0"\
|
||||
"tf_version=0x00000000\0"\
|
||||
"fdt_file=th1520-ant-ref-sec.dtb\0" \
|
||||
"uuid_rootfs=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
|
||||
"partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=tf,size=50MiB,type=boot;name=tee,size=50MiB,type=boot;name=stash,size=50MiB,type=boot;name=root,size=-,type=linux,uuid=${uuid_rootfs}\0" \
|
||||
"finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
|
||||
"gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
|
||||
ENV_PUBLIC_BOOTARGS \
|
||||
"set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} ${pub_bootargs} loglevel=${kernel_loglevel} eth=$ethaddr crashkernel=${kdump_buf}\0" \
|
||||
"load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize;bootaon\0"\
|
||||
"load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
|
||||
"load_str=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr str.bin;cp.b $fwaddr $str_ram_addr $filesize\0"\
|
||||
"bootcmd_load=run load_aon;run load_c906_audio;run load_str; ext4load mmc 0:3 $tf_addr trust_firmware.bin; ext4load mmc 0:4 $tee_addr tee.bin;ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
|
||||
"bootcmd=run bootcmd_load; fixup_memory_region; bootslave; run finduuid; run set_bootargs; secboot; booti $kernel_addr - $dtb_addr;\0" \
|
||||
"\0"
|
||||
#elif defined (CONFIG_LIGHT_SEC_BOOT_WITH_VERIFY_RVBOOK)
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"splashimage=0x30000000\0" \
|
||||
"splashpos=m,m\0" \
|
||||
"fdt_high=0xffffffffffffffff\0" \
|
||||
ENV_STR_BOARD \
|
||||
"tf_addr=0x100000\0" \
|
||||
"dtb_addr=0x03800000\0" \
|
||||
"kernel_addr=0x00200000\0" \
|
||||
"aon_ram_addr=0xffffef8000\0" \
|
||||
"audio_ram_addr=0x32000000\0" \
|
||||
"str_ram_addr=0xffe0000000\0" \
|
||||
"fwaddr=0x10000000\0"\
|
||||
"tee_addr=0x1c000000\0" \
|
||||
"sec_upgrade_mode=0\0"\
|
||||
"mmcdev=0\0" \
|
||||
"mmcpart=c\0" \
|
||||
"mmcbootpart=2\0" \
|
||||
"mmcteepart=3\0" \
|
||||
"mmcsbmetapart=5\0" \
|
||||
"slot_suffix=a\0" \
|
||||
"retries=5\0" \
|
||||
ENV_KERNEL_LOGLEVEL \
|
||||
"sbmeta_security_level=1\0" \
|
||||
"nvpart_name=" NV_PARTITION_NAME"\0" \
|
||||
"kdump_buf=180M\0" \
|
||||
ENV_STR_BOOT_DELAY \
|
||||
"uboot_version=0x0000000000000000\0"\
|
||||
"tee_version=0x00000000\0"\
|
||||
"tf_version=0x00000000\0"\
|
||||
"sbmeta_version=0x00000000\0"\
|
||||
"fdt_file=th1520-rvbook-product-sec.dtb\0" \
|
||||
"uuid_rootfs=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
|
||||
"partitions=name=table,size=2031KB;name=boot_a,size=200MiB,type=boot;name=tee_a,size=36MiB,type=boot;name=stash,size=16MiB,type=boot;name=sbmeta_a,size=8MiB,type=boot;name=swap,size=1536MiB,type=boot;name=fastresume,size=512MiB,type=boot;name=${nvpart_name},size=1MiB;name=boot_b,size=200M,type=boot;name=tee_b,size=36M,type=boot;name=sbmeta_b,size=8M,type=boot;name=root,size=-,type=linux,uuid=${uuid_rootfs}\0" \
|
||||
"finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
|
||||
"gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
|
||||
ENV_PUBLIC_BOOTARGS \
|
||||
"set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} ${pub_bootargs} loglevel=${kernel_loglevel} eth=$ethaddr crashkernel=${kdump_buf} ${resume_bootargs}\0" \
|
||||
"load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize;bootaon\0"\
|
||||
"load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
|
||||
"load_str=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr str.bin;cp.b $fwaddr $str_ram_addr $filesize\0"\
|
||||
"bootcmd_load=run load_aon;run load_c906_audio;ext4load mmc ${mmcdev}:${mmcteepart} $tf_addr trust_firmware.bin; ext4load mmc ${mmcdev}:${mmcteepart} $tee_addr tee.bin;ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
|
||||
"bootcmd=light_bootab;run bootcmd_load; chk_hibernate; fixup_memory_region; bootslave; run finduuid; run set_bootargs; sbmetaboot; run load_str;booti $kernel_addr - $dtb_addr;\0" \
|
||||
"\0"
|
||||
|
||||
#elif defined (CONFIG_LIGHT_SEC_BOOT_WITH_VERIFY_LPI4A)
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"splashimage=0x30000000\0" \
|
||||
"splashpos=m,m\0" \
|
||||
"fdt_high=0xffffffffffffffff\0" \
|
||||
ENV_STR_BOARD \
|
||||
"tf_addr=0x100000\0" \
|
||||
"dtb_addr=0x03800000\0" \
|
||||
"kernel_addr=0x00200000\0" \
|
||||
"aon_ram_addr=0xffffef8000\0" \
|
||||
"audio_ram_addr=0x32000000\0" \
|
||||
"str_ram_addr=0xffe0000000\0" \
|
||||
"fwaddr=0x10000000\0"\
|
||||
"tee_addr=0x1c000000\0" \
|
||||
"sec_upgrade_mode=0\0"\
|
||||
"mmcdev=0\0" \
|
||||
"mmcpart=c\0" \
|
||||
"mmcbootpart=2\0" \
|
||||
"mmcteepart=3\0" \
|
||||
"mmcsbmetapart=5\0" \
|
||||
"slot_suffix=a\0" \
|
||||
"retries=5\0" \
|
||||
ENV_KERNEL_LOGLEVEL \
|
||||
"sbmeta_security_level=1\0" \
|
||||
"nvpart_name=" NV_PARTITION_NAME"\0" \
|
||||
"kdump_buf=180M\0" \
|
||||
ENV_STR_BOOT_DELAY \
|
||||
"uboot_version=0x0000000000000000\0"\
|
||||
"tee_version=0x00000000\0"\
|
||||
"tf_version=0x00000000\0"\
|
||||
"sbmeta_version=0x00000000\0"\
|
||||
"fdt_file=th1520-lpi4a-product-sec.dtb\0" \
|
||||
"uuid_rootfs=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
|
||||
"partitions=name=table,size=2031KB;name=boot_a,size=200MiB,type=boot;name=tee_a,size=36MiB,type=boot;name=stash,size=16MiB,type=boot;name=sbmeta_a,size=8MiB,type=boot;name=swap,size=1536MiB,type=boot;name=fastresume,size=512MiB,type=boot;name=${nvpart_name},size=1MiB;name=boot_b,size=200M,type=boot;name=tee_b,size=36M,type=boot;name=sbmeta_b,size=8M,type=boot;name=root,size=-,type=linux,uuid=${uuid_rootfs}\0" \
|
||||
"finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
|
||||
"gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
|
||||
ENV_PUBLIC_BOOTARGS \
|
||||
"set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} ${pub_bootargs} loglevel=${kernel_loglevel} eth=$ethaddr crashkernel=${kdump_buf} ${resume_bootargs}\0" \
|
||||
"load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize;bootaon\0"\
|
||||
"load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
|
||||
"load_str=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr str.bin;cp.b $fwaddr $str_ram_addr $filesize\0"\
|
||||
"bootcmd_load=run load_aon;run load_c906_audio;ext4load mmc ${mmcdev}:${mmcteepart} $tf_addr trust_firmware.bin; ext4load mmc ${mmcdev}:${mmcteepart} $tee_addr tee.bin;ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
|
||||
"bootcmd=light_bootab;run bootcmd_load; chk_hibernate; fixup_memory_region; bootslave; run finduuid; run set_bootargs; sbmetaboot; run load_str;booti $kernel_addr - $dtb_addr;\0" \
|
||||
"\0"
|
||||
|
||||
#elif defined(CONFIG_LIGHT_ANDROID_BOOT_IMAGE_VAL_A) || defined(CONFIG_LIGHT_ANDROID_BOOT_IMAGE_VAL_B) || \
|
||||
defined(CONFIG_LIGHT_ANDROID_BOOT_IMAGE_VAL_LPI4A) || defined(CONFIG_LIGHT_ANDROID_BOOT_IMAGE_VAL_BEAGLE) || \
|
||||
defined(CONFIG_LIGHT_ANDROID_BOOT_IMAGE_ANT_REF)
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"splashimage=0x30000000\0" \
|
||||
"splashpos=m,m\0" \
|
||||
"fdt_high=0xffffffffffffffff\0" \
|
||||
ENV_STR_SERIAL \
|
||||
ENV_STR_BOARD \
|
||||
"tf_addr=0x0\0" \
|
||||
"tee_addr=0x1c000000\0" \
|
||||
"opensbi_addr=0x0\0" \
|
||||
"dtb_addr=0x03800000\0" \
|
||||
"kernel_addr=0x00200000\0" \
|
||||
"ramdisk_addr=0x02000000\0" \
|
||||
"aon_ram_addr=0xffffef8000\0" \
|
||||
"audio_ram_addr=0x32000000\0" \
|
||||
"fwaddr=0x10000000\0"\
|
||||
"boot_ab=_a\0"\
|
||||
"sb_emulater=1\0"\
|
||||
"mmcdev=0\0" \
|
||||
"mmcpart=3\0" \
|
||||
"kernel_addr_r=0x00200000\0" \
|
||||
"kdump_buf=180M\0" \
|
||||
"boottype=mmc\0" \
|
||||
"mmcbootpart=2\0" \
|
||||
"mmcteepart=8\0" \
|
||||
ENV_KERNEL_LOGLEVEL \
|
||||
ENV_KERNEL_KDUMP \
|
||||
ENV_STR_BOOT_DELAY \
|
||||
"fdt_file=light-val.dtb\0" \
|
||||
"uuid_rootfs=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
|
||||
"partitions=name=sparse,size=2031kb;name=bootpart_a,size=16MiB;name=bootpart_b,size=16MiB;name=boot_a,size=32MiB;name=boot_b,size=32MiB;name=vendor_boot_a,size=32MiB;name=vendor_boot_b,size=32MiB;name=tee_a,size=32MiB;name=tee_b,size=32MiB;name=dtbo_a,size=8MiB;name=dtbo_b,size=8MiB;name=super,size=4096MiB;name=vbmeta_a,size=1MiB;name=vbmeta_b,size=1MiB;name=vbmeta_system_a,size=1MiB;name=vbmeta_system_b,size=1MiB;name=misc,size=2MiB;name=metadata,size=16MiB;name=userdata,size=-\0" \
|
||||
"finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
|
||||
"gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
|
||||
"set_bootargs=setenv bootargs console=ttyS0,115200 earlycon clk_ignore_unused loop.max_part=7 loglevel=${kernel_loglevel} crashkernel=${kdump_buf} init=/init bootconfig video=HDMI-A-1:800x600-32@60 firmware_class.path=/vendor/firmware androidboot.serialno=${serial#}\0" \
|
||||
"load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize;bootaon\0"\
|
||||
"load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
|
||||
"sec_m_load=ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin\0"\
|
||||
"bootcmd_load=bootandroid;secimg_load;run sec_m_load;run load_aon;run load_c906_audio;fdt addr ${dtb_addr};fdt resize 100;fdt chosen;\0" \
|
||||
"bootcmd=run bootcmd_load; fixup_memory_region; bootslave; run finduuid; run set_bootargs; bootm $kernel_addr $ramdisk_addr:$ramdisk_size $dtb_addr;\0" \
|
||||
"\0"
|
||||
"default_mmcdev=1\0" \
|
||||
"emmc_dev=0\0" \
|
||||
"sdcard_dev=1\0" \
|
||||
"mmc_select=if test -e ${boottype} ${default_mmcdev}:${mmcbootpart} ${boot_conf_file}; then mmcdev=1; else mmcdev=0; fi;\0" \
|
||||
"boot_conf_file=/extlinux/extlinux.conf\0" \
|
||||
"uuid_rootfsA=80a5a8e9-c744-491a-93c1-4f4194fd690a\0" \
|
||||
"uuid_swap=5ebcaaf0-e098-43b9-beef-1f8deedd135e\0" \
|
||||
"partitions=name=table,size=2031KB;name=boot,size=500MiB,type=boot;name=swap,size=4096MiB,type=swap,uuid=${uuid_swap};name=root,size=-,type=linux,uuid=${uuid_rootfsA}\0" \
|
||||
"gpt_partition=gpt write mmc ${emmc_dev} $partitions\0" \
|
||||
"sdcard_gpt_partition=gpt write mmc ${sdcard_dev} $partitions\0" \
|
||||
"load_aon=load ${boottype} ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize;bootaon\0" \
|
||||
"load_c906_audio=load ${boottype} ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0" \
|
||||
"load_str=load ${boottype} ${mmcdev}:${mmcbootpart} $fwaddr str.bin;cp.b $fwaddr $str_ram_addr $filesize\0" \
|
||||
"load_opensbi=load ${boottype} ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin\0" \
|
||||
"load_usb=usb start; load usb ${mmcdev}:${mmcbootpart} ${boot_conf_addr_r} ${boot_conf_file}; if test -e usb ${mmcdev}:${mmcbootpart} ${boot_conf_file}; then setenv boottype usb; fi;\0" \
|
||||
"bootcmd_load=run load_usb; run mmc_select; run load_aon; run load_c906_audio; run load_str; run load_opensbi\0" \
|
||||
"bootcmd=run bootcmd_load; chk_hibernate; fixup_memory_region; bootslave; sysboot ${boottype} ${mmcdev}:${mmcbootpart} any $boot_conf_addr_r $boot_conf_file;\0" \
|
||||
"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
|
||||
"\0"
|
||||
|
||||
#else
|
||||
#if defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_A)
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"splashimage=0x30000000\0" \
|
||||
"splashpos=m,m\0" \
|
||||
"fdt_high=0xffffffffffffffff\0" \
|
||||
"opensbi_addr=0x0\0" \
|
||||
"dtb_addr=0x03800000\0" \
|
||||
"kernel_addr=0x00200000\0" \
|
||||
"aon_ram_addr=0xffffef8000\0" \
|
||||
"audio_ram_addr=0x32000000\0" \
|
||||
"str_ram_addr=0xffe0000000\0" \
|
||||
"fwaddr=0x10000000\0"\
|
||||
ENV_STR_BOARD \
|
||||
"mmcdev=0\0" \
|
||||
"mmcpart=5\0" \
|
||||
"mmcbootpart=2\0" \
|
||||
ENV_KERNEL_LOGLEVEL \
|
||||
"kdump_buf=180M\0" \
|
||||
ENV_STR_BOOT_DELAY \
|
||||
"fdt_file=th1520-a-product.dtb\0" \
|
||||
"uuid_rootfs=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
|
||||
"partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=swap,size=1536MiB,type=boot;name=fastresume,size=512MiB,type=boot;name=root,size=-,type=linux,uuid=${uuid_rootfs}\0" \
|
||||
"finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
|
||||
"gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
|
||||
ENV_PUBLIC_BOOTARGS \
|
||||
"set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} ${pub_bootargs} loglevel=${kernel_loglevel} eth=$ethaddr crashkernel=${kdump_buf} ${resume_bootargs}\0" \
|
||||
"load_aon=ext4load mmc 0:2 $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize;bootaon\0"\
|
||||
"load_c906_audio=ext4load mmc 0:2 $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
|
||||
"load_str=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr str.bin;cp.b $fwaddr $str_ram_addr $filesize\0"\
|
||||
"bootcmd_load=run load_aon;run load_c906_audio; run load_str; ext4load mmc 0:2 $opensbi_addr fw_dynamic.bin; ext4load mmc 0:2 $dtb_addr ${fdt_file}; ext4load mmc 0:2 $kernel_addr Image\0" \
|
||||
"bootcmd=run bootcmd_load; bootslave; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
|
||||
"\0"
|
||||
#elif defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_B)
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"splashimage=0x30000000\0" \
|
||||
"splashpos=m,m\0" \
|
||||
"fdt_high=0xffffffffffffffff\0" \
|
||||
"opensbi_addr=0x0\0" \
|
||||
"dtb_addr=0x03800000\0" \
|
||||
"kernel_addr=0x00200000\0" \
|
||||
"aon_ram_addr=0xffffef8000\0" \
|
||||
"audio_ram_addr=0x32000000\0" \
|
||||
"str_ram_addr=0xffe0000000\0" \
|
||||
"fwaddr=0x10000000\0"\
|
||||
"mmcdev=0\0" \
|
||||
"mmcpart=3\0" \
|
||||
"mmcbootpart=2\0" \
|
||||
ENV_KERNEL_LOGLEVEL \
|
||||
"kdump_buf=180M\0" \
|
||||
ENV_STR_BOOT_DELAY \
|
||||
"fdt_file=th1520-b-product.dtb\0" \
|
||||
"uuid_rootfs=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
|
||||
"partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=root,size=-,type=linux,uuid=${uuid_rootfs}\0" \
|
||||
"finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
|
||||
"gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
|
||||
ENV_PUBLIC_BOOTARGS \
|
||||
"set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} ${pub_bootargs} loglevel=${kernel_loglevel} eth=$ethaddr crashkernel=${kdump_buf}\0" \
|
||||
"load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize;bootaon\0"\
|
||||
"load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
|
||||
"load_str=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr str.bin;cp.b $fwaddr $str_ram_addr $filesize\0"\
|
||||
"bootcmd_load=run load_aon;run load_c906_audio; run load_str; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file};ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image;\0" \
|
||||
"bootcmd=run bootcmd_load; fixup_memory_region; bootslave ; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
|
||||
"\0"
|
||||
#elif defined (CONFIG_TARGET_LIGHT_FM_C910_B_REF)
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"splashimage=0x30000000\0" \
|
||||
"splashpos=m,m\0" \
|
||||
"fdt_high=0xffffffffffffffff\0" \
|
||||
"opensbi_addr=0x0\0" \
|
||||
"dtb_addr=0x03800000\0" \
|
||||
"kernel_addr=0x00200000\0" \
|
||||
"aon_ram_addr=0xffffef8000\0" \
|
||||
"audio_ram_addr=0x32000000\0" \
|
||||
"str_ram_addr=0xffe0000000\0" \
|
||||
"fwaddr=0x10000000\0"\
|
||||
"mmcdev=0\0" \
|
||||
"mmcpart=3\0" \
|
||||
"mmcbootpart=2\0" \
|
||||
ENV_KERNEL_LOGLEVEL \
|
||||
"kdump_buf=180M\0" \
|
||||
ENV_STR_BOOT_DELAY \
|
||||
"fdt_file=th1520-b-ref.dtb\0" \
|
||||
"uuid_rootfs=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
|
||||
"partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=root,size=-,type=linux,uuid=${uuid_rootfs}\0" \
|
||||
"finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
|
||||
"gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
|
||||
ENV_PUBLIC_BOOTARGS \
|
||||
"set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} ${pub_bootargs} loglevel=${kernel_loglevel} eth=$ethaddr crashkernel=${kdump_buf}\0" \
|
||||
"load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize;bootaon\0"\
|
||||
"load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
|
||||
"load_str=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr str.bin;cp.b $fwaddr $str_ram_addr $filesize\0"\
|
||||
"bootcmd_load=run load_aon;run load_c906_audio; run load_str; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file};ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image;\0" \
|
||||
"bootcmd=run bootcmd_load; bootslave ; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
|
||||
"\0"
|
||||
#elif defined (CONFIG_TARGET_LIGHT_FM_C910_B_POWER)
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"splashimage=0x30000000\0" \
|
||||
"splashpos=m,m\0" \
|
||||
"fdt_high=0xffffffffffffffff\0" \
|
||||
"opensbi_addr=0x0\0" \
|
||||
"dtb_addr=0x03800000\0" \
|
||||
"kernel_addr=0x00200000\0" \
|
||||
"aon_ram_addr=0xffffef8000\0" \
|
||||
"audio_ram_addr=0x32000000\0" \
|
||||
"str_ram_addr=0xffe0000000\0" \
|
||||
"fwaddr=0x10000000\0"\
|
||||
"mmcdev=0\0" \
|
||||
"mmcpart=3\0" \
|
||||
"mmcbootpart=2\0" \
|
||||
ENV_KERNEL_LOGLEVEL \
|
||||
"kdump_buf=180M\0" \
|
||||
ENV_STR_BOOT_DELAY \
|
||||
"fdt_file=th1520-b-power.dtb\0" \
|
||||
"uuid_rootfs=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
|
||||
"partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=root,size=-,type=linux,uuid=${uuid_rootfs}\0" \
|
||||
"finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
|
||||
"gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
|
||||
ENV_PUBLIC_BOOTARGS \
|
||||
"set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} ${pub_bootargs} loglevel=${kernel_loglevel} eth=$ethaddr crashkernel=${kdump_buf}\0" \
|
||||
"load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize;bootaon\0"\
|
||||
"load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
|
||||
"load_str=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr str.bin;cp.b $fwaddr $str_ram_addr $filesize\0"\
|
||||
"bootcmd_load=run load_aon;run load_c906_audio; run load_str; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
|
||||
"bootcmd=run bootcmd_load; bootslave; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
|
||||
"\0"
|
||||
#elif defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_REF)
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"splashimage=0x30000000\0" \
|
||||
"splashpos=m,m\0" \
|
||||
"fdt_high=0xffffffffffffffff\0" \
|
||||
"opensbi_addr=0x0\0" \
|
||||
"dtb_addr=0x03800000\0" \
|
||||
"kernel_addr=0x00200000\0" \
|
||||
"aon_ram_addr=0xffffef8000\0" \
|
||||
"audio_ram_addr=0x32000000\0" \
|
||||
"str_ram_addr=0xffe0000000\0" \
|
||||
"fwaddr=0x10000000\0"\
|
||||
"mmcdev=0\0" \
|
||||
"mmcpart=3\0" \
|
||||
"mmcbootpart=2\0" \
|
||||
ENV_KERNEL_LOGLEVEL \
|
||||
"kdump_buf=180M\0" \
|
||||
ENV_STR_BOOT_DELAY \
|
||||
"fdt_file=th1520-ant-ref.dtb\0" \
|
||||
"uuid_rootfs=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
|
||||
"partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=root,size=-,type=linux,uuid=${uuid_rootfs}\0" \
|
||||
"finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
|
||||
"gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
|
||||
ENV_PUBLIC_BOOTARGS \
|
||||
"set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} ${pub_bootargs} loglevel=${kernel_loglevel} eth=$ethaddr crashkernel=${kdump_buf}\0" \
|
||||
"load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize;bootaon\0"\
|
||||
"load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
|
||||
"load_str=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr str.bin;cp.b $fwaddr $str_ram_addr $filesize\0"\
|
||||
"bootcmd_load=run load_aon;run load_c906_audio; run load_str; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
|
||||
"bootcmd=run bootcmd_load; fixup_memory_region; bootslave; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
|
||||
"\0"
|
||||
#elif defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_DISCRETE)
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"splashimage=0x30000000\0" \
|
||||
"splashpos=m,m\0" \
|
||||
"fdt_high=0xffffffffffffffff\0" \
|
||||
"opensbi_addr=0x0\0" \
|
||||
"dtb_addr=0x03800000\0" \
|
||||
"kernel_addr=0x00200000\0" \
|
||||
"aon_ram_addr=0xffffef8000\0" \
|
||||
"audio_ram_addr=0x32000000\0" \
|
||||
"str_ram_addr=0xffe0000000\0" \
|
||||
"fwaddr=0x10000000\0"\
|
||||
"mmcdev=0\0" \
|
||||
"mmcpart=3\0" \
|
||||
"mmcbootpart=2\0" \
|
||||
ENV_KERNEL_LOGLEVEL \
|
||||
"kdump_buf=180M\0" \
|
||||
ENV_STR_BOOT_DELAY \
|
||||
"fdt_file=th1520-ant-discrete.dtb\0" \
|
||||
"uuid_rootfs=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
|
||||
"partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=root,size=-,type=linux,uuid=${uuid_rootfs}\0" \
|
||||
"finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
|
||||
"gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
|
||||
ENV_PUBLIC_BOOTARGS \
|
||||
"set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} ${pub_bootargs} loglevel=${kernel_loglevel} eth=$ethaddr crashkernel=${kdump_buf}\0" \
|
||||
"load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize;bootaon\0"\
|
||||
"load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
|
||||
"load_str=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr str.bin;cp.b $fwaddr $str_ram_addr $filesize\0"\
|
||||
"bootcmd_load=run load_aon;run load_c906_audio; run load_str; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
|
||||
"bootcmd=run bootcmd_load; bootslave; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
|
||||
"\0"
|
||||
#elif defined (CONFIG_TARGET_LIGHT_FM_C910_BEAGLE)
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"splashimage=0x30000000\0" \
|
||||
"splashpos=m,m\0" \
|
||||
"fdt_high=0xffffffffffffffff\0" \
|
||||
"opensbi_addr=0x0\0" \
|
||||
"dtb_addr=0x03800000\0" \
|
||||
"kernel_addr=0x00200000\0" \
|
||||
"aon_ram_addr=0xffffef8000\0" \
|
||||
"audio_ram_addr=0x32000000\0" \
|
||||
"str_ram_addr=0xffe0000000\0" \
|
||||
"fwaddr=0x10000000\0"\
|
||||
"mmcdev=0\0" \
|
||||
"mmcpart=3\0" \
|
||||
"mmcbootpart=2\0" \
|
||||
ENV_KERNEL_LOGLEVEL \
|
||||
"kdump_buf=180M\0" \
|
||||
ENV_STR_BOOT_DELAY \
|
||||
"fdt_file=th1520-beagle.dtb\0" \
|
||||
"uuid_rootfs=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
|
||||
"partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=root,size=-,type=linux,uuid=${uuid_rootfs}\0" \
|
||||
"finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
|
||||
"gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
|
||||
ENV_PUBLIC_BOOTARGS \
|
||||
"set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} ${pub_bootargs} loglevel=${kernel_loglevel} eth=$ethaddr crashkernel=${kdump_buf}\0" \
|
||||
"load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize;bootaon\0"\
|
||||
"load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
|
||||
"load_str=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr str.bin;cp.b $fwaddr $str_ram_addr $filesize\0"\
|
||||
"bootcmd_load=run load_aon;run load_c906_audio; run load_str; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
|
||||
"bootcmd=run bootcmd_load; fixup_memory_region; bootslave; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
|
||||
"\0"
|
||||
#elif defined (CONFIG_TARGET_LIGHT_FM_C910_RVBOOK)
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"splashimage=0x30000000\0" \
|
||||
"splashpos=m,m\0" \
|
||||
"fdt_high=0xffffffffffffffff\0" \
|
||||
"opensbi_addr=0x0\0" \
|
||||
"dtb_addr=0x03800000\0" \
|
||||
"kernel_addr=0x00200000\0" \
|
||||
"aon_ram_addr=0xffffef8000\0" \
|
||||
"audio_ram_addr=0x32000000\0" \
|
||||
"str_ram_addr=0xffe0000000\0" \
|
||||
"fwaddr=0x10000000\0"\
|
||||
"mmcdev=0\0" \
|
||||
"mmcpart=5\0" \
|
||||
"mmcbootpart=2\0" \
|
||||
ENV_KERNEL_LOGLEVEL \
|
||||
"kdump_buf=180M\0" \
|
||||
ENV_STR_BOOT_DELAY \
|
||||
"fdt_file=th1520-rvbook-product.dtb\0" \
|
||||
"uuid_rootfs=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
|
||||
"partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=swap,size=1536MiB,type=boot;name=fastresume,size=512MiB,type=boot;name=root,size=-,type=linux,uuid=${uuid_rootfs}\0" \
|
||||
"finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
|
||||
"gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
|
||||
ENV_PUBLIC_BOOTARGS \
|
||||
"set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} ${pub_bootargs} loglevel=${kernel_loglevel} eth=$ethaddr crashkernel=${kdump_buf} ${resume_bootargs}\0" \
|
||||
"load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize;bootaon\0"\
|
||||
"load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
|
||||
"load_str=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr str.bin;cp.b $fwaddr $str_ram_addr $filesize\0"\
|
||||
"bootcmd_load=run load_aon;run load_c906_audio; run load_str; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
|
||||
"bootcmd=run bootcmd_load; chk_hibernate; fixup_memory_region; bootslave; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
|
||||
"\0"
|
||||
#elif defined (CONFIG_TARGET_LIGHT_FM_C910_LPI4A)
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"splashimage=0x30000000\0" \
|
||||
"splashpos=m,m\0" \
|
||||
"fdt_high=0xffffffffffffffff\0" \
|
||||
"opensbi_addr=0x0\0" \
|
||||
"dtb_addr=0x03800000\0" \
|
||||
"kernel_addr=0x00200000\0" \
|
||||
"aon_ram_addr=0xffffef8000\0" \
|
||||
"audio_ram_addr=0x32000000\0" \
|
||||
"str_ram_addr=0xffe0000000\0" \
|
||||
"fwaddr=0x10000000\0"\
|
||||
"mmcdev=0\0" \
|
||||
"mmcpart=5\0" \
|
||||
"mmcbootpart=2\0" \
|
||||
ENV_KERNEL_LOGLEVEL \
|
||||
"kdump_buf=180M\0" \
|
||||
ENV_STR_BOOT_DELAY \
|
||||
"fdt_file=th1520-lpi4a-product.dtb\0" \
|
||||
"uuid_rootfs=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
|
||||
"partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=swap,size=1536MiB,type=boot;name=fastresume,size=512MiB,type=boot;name=root,size=-,type=linux,uuid=${uuid_rootfs}\0" \
|
||||
"finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
|
||||
"gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
|
||||
ENV_PUBLIC_BOOTARGS \
|
||||
"set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} ${pub_bootargs} loglevel=${kernel_loglevel} eth=$ethaddr crashkernel=${kdump_buf} ${resume_bootargs}\0" \
|
||||
"load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize;bootaon\0"\
|
||||
"load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
|
||||
"load_str=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr str.bin;cp.b $fwaddr $str_ram_addr $filesize\0"\
|
||||
"bootcmd_load=run load_aon;run load_c906_audio; run load_str; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
|
||||
"bootcmd=run bootcmd_load; chk_hibernate; fixup_memory_region; bootslave; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
|
||||
"\0"
|
||||
#elif defined (CONFIG_TARGET_LIGHT_FM_C910_A_REF)
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"splashimage=0x30000000\0" \
|
||||
"splashpos=m,m\0" \
|
||||
"fdt_high=0xffffffffffffffff\0" \
|
||||
"opensbi_addr=0x0\0" \
|
||||
"dtb_addr=0x03800000\0" \
|
||||
"kernel_addr=0x00200000\0" \
|
||||
"aon_ram_addr=0xffffef8000\0" \
|
||||
"audio_ram_addr=0x32000000\0" \
|
||||
"str_ram_addr=0xffe0000000\0" \
|
||||
"fwaddr=0x10000000\0"\
|
||||
"mmcdev=0\0" \
|
||||
"mmcpart=3\0" \
|
||||
"mmcbootpart=2\0" \
|
||||
ENV_KERNEL_LOGLEVEL \
|
||||
"kdump_buf=180M\0" \
|
||||
ENV_STR_BOOT_DELAY \
|
||||
"fdt_file=th1520-a-ref.dtb\0" \
|
||||
"uuid_rootfs=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
|
||||
"partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=root,size=-,type=linux,uuid=${uuid_rootfs}\0" \
|
||||
"finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
|
||||
"gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
|
||||
ENV_PUBLIC_BOOTARGS \
|
||||
"set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} ${pub_bootargs} loglevel=${kernel_loglevel} eth=$ethaddr crashkernel=${kdump_buf}\0" \
|
||||
"load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize;bootaon\0"\
|
||||
"load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
|
||||
"load_str=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr str.bin;cp.b $fwaddr $str_ram_addr $filesize\0"\
|
||||
"bootcmd_load=run load_aon;run load_c906_audio; run load_str; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
|
||||
"bootcmd=run bootcmd_load; bootslave; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
|
||||
"\0"
|
||||
#else
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"splashimage=0x30000000\0" \
|
||||
"splashpos=m,m\0" \
|
||||
"fdt_high=0xffffffffffffffff\0" \
|
||||
"opensbi_addr=0x0\0" \
|
||||
"dtb_addr=0x03800000\0" \
|
||||
"kernel_addr=0x00200000\0" \
|
||||
"aon_ram_addr=0xffffef8000\0" \
|
||||
"audio_ram_addr=0x32000000\0" \
|
||||
"str_ram_addr=0xffe0000000\0" \
|
||||
"fwaddr=0x10000000\0"\
|
||||
"mmcdev=0\0" \
|
||||
"mmcpart=5\0" \
|
||||
"mmcbootpart=2\0" \
|
||||
ENV_KERNEL_LOGLEVEL \
|
||||
"kdump_buf=180M\0" \
|
||||
ENV_STR_BOOT_DELAY \
|
||||
"fdt_file=th1520-a-val.dtb\0" \
|
||||
"uuid_rootfs=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
|
||||
"partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=swap,size=1536MiB,type=boot;name=fastresume,size=512MiB,type=boot;name=root,size=-,type=linux,uuid=${uuid_rootfs}\0" \
|
||||
"finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
|
||||
"gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
|
||||
ENV_PUBLIC_BOOTARGS \
|
||||
"set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} ${pub_bootargs} loglevel=${kernel_loglevel} eth=$ethaddr crashkernel=${kdump_buf} ${resume_bootargs}\0" \
|
||||
"load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize;bootaon\0"\
|
||||
"load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
|
||||
"load_str=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr str.bin;cp.b $fwaddr $str_ram_addr $filesize\0"\
|
||||
"bootcmd_load=run load_aon;run load_c906_audio; run load_str; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
|
||||
"bootcmd=run bootcmd_load; chk_hibernate; fixup_memory_region; bootslave; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
|
||||
"\0"
|
||||
#endif
|
||||
#endif
|
||||
#endif /* __CONFIG_H */
|
||||
|
||||
31
include/extension_board.h
Normal file
31
include/extension_board.h
Normal file
@@ -0,0 +1,31 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* (C) Copyright 2021
|
||||
* Köry Maincent, Bootlin, <kory.maincent@bootlin.com>
|
||||
*/
|
||||
|
||||
#ifndef __EXTENSION_SUPPORT_H
|
||||
#define __EXTENSION_SUPPORT_H
|
||||
|
||||
struct extension {
|
||||
struct list_head list;
|
||||
char name[32];
|
||||
char owner[32];
|
||||
char version[32];
|
||||
char overlay[32];
|
||||
char other[32];
|
||||
};
|
||||
|
||||
/**
|
||||
* extension_board_scan - Add system-specific function to scan extension board.
|
||||
* @param extension_list List of extension board information to update.
|
||||
* @return the number of extension.
|
||||
*
|
||||
* This function is called if CONFIG_CMD_EXTENSION is defined.
|
||||
* Needs to fill the list extension_list with elements.
|
||||
* Each element need to be allocated to an extension structure.
|
||||
*
|
||||
*/
|
||||
int extension_board_scan(struct list_head *extension_list);
|
||||
|
||||
#endif /* __EXTENSION_SUPPORT_H */
|
||||
@@ -326,6 +326,8 @@ int fdt_setup_simplefb_node(void *fdt, int node, u64 base_address, u32 width,
|
||||
|
||||
int fdt_overlay_apply_verbose(void *fdt, void *fdto);
|
||||
|
||||
int fdt_valid(struct fdt_header **blobp);
|
||||
|
||||
/**
|
||||
* fdt_get_cells_len() - Get the length of a type of cell in top-level nodes
|
||||
*
|
||||
|
||||
53
test/py/tests/test_extension.py
Normal file
53
test/py/tests/test_extension.py
Normal file
@@ -0,0 +1,53 @@
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
# Copyright (c) 2020
|
||||
# Author: Kory Maincent <kory.maincent@bootlin.com>
|
||||
|
||||
# Test U-Boot's "extension" commands.
|
||||
|
||||
import os
|
||||
import pytest
|
||||
import u_boot_utils
|
||||
|
||||
overlay_addr = 0x1000
|
||||
|
||||
SANDBOX_DTB='arch/sandbox/dts/sandbox.dtb'
|
||||
OVERLAY_DIR='arch/sandbox/dts/'
|
||||
|
||||
def load_dtb(u_boot_console):
|
||||
u_boot_console.log.action('Loading devicetree to RAM...')
|
||||
u_boot_console.run_command('host load hostfs - $fdt_addr_r %s' % (os.path.join(u_boot_console.config.build_dir, SANDBOX_DTB)))
|
||||
u_boot_console.run_command('fdt addr $fdt_addr_r')
|
||||
|
||||
@pytest.mark.buildconfigspec('cmd_fdt')
|
||||
@pytest.mark.boardspec('sandbox')
|
||||
def test_extension(u_boot_console):
|
||||
"""Test the 'extension' command."""
|
||||
|
||||
load_dtb(u_boot_console)
|
||||
|
||||
output = u_boot_console.run_command('extension list')
|
||||
assert('No extension' in output)
|
||||
|
||||
output = u_boot_console.run_command('extension scan')
|
||||
assert output == 'Found 2 extension board(s).'
|
||||
|
||||
output = u_boot_console.run_command('extension list')
|
||||
assert('overlay0.dtbo' in output)
|
||||
assert('overlay1.dtbo' in output)
|
||||
|
||||
u_boot_console.run_command_list([
|
||||
'setenv extension_overlay_addr %s' % (overlay_addr),
|
||||
'setenv extension_overlay_cmd \'host load hostfs - ${extension_overlay_addr} %s${extension_overlay_name}\'' % (os.path.join(u_boot_console.config.build_dir, OVERLAY_DIR))])
|
||||
|
||||
output = u_boot_console.run_command('extension apply 0')
|
||||
assert('bytes read' in output)
|
||||
|
||||
output = u_boot_console.run_command('fdt print')
|
||||
assert('button3' in output)
|
||||
|
||||
output = u_boot_console.run_command('extension apply all')
|
||||
assert('bytes read' in output)
|
||||
|
||||
output = u_boot_console.run_command('fdt print')
|
||||
assert('button4' in output)
|
||||
|
||||
Reference in New Issue
Block a user