From feda65ed940c7b2d6726ae50c410643895430656 Mon Sep 17 00:00:00 2001 From: Lu Hui Date: Tue, 19 Mar 2024 10:31:35 +0800 Subject: [PATCH] initial arm support --- .gitignore | 1 + build/Makefile | 1 + build/boards/chip_list.json | 2 +- .../dts_arm/cv1811ha_wevb_0007a_spinor.dts | 10 - .../partition/partition_spinor.xml | 9 - .../dts/cv181x_arm/cv181x_base_arm.dtsi | 320 ---------- .../boards/default/dts/sg200x/find_and_set.sh | 12 - .../sg2000_duo_sd/dts_riscv/sg2000_duo_sd.dts | 2 +- .../partition/partition_emmc.xml | 11 - .../sg2000_duo_sd/partition/partition_sd.xml | 5 + .../sg2000_duo_sd/sg2000_duo_sd_defconfig | 4 +- .../u-boot/sg2000_duo_sd_defconfig | 2 +- .../sg2000_wevb_sd}/config.json | 0 .../sg2000_wevb_sd/dts_arm/sg2000_wevb_sd.dts | 13 + .../linux/sg2000_wevb_sd_defconfig} | 2 + .../sg2000_wevb_sd}/memmap.py | 2 +- .../sg2000_wevb_sd/partition/partition_sd.xml | 5 + .../rootfs_script/clean_rootfs.sh | 0 .../sg2000_wevb_sd/sg2000_wevb_sd_defconfig} | 6 +- .../sg2000_wevb_sd}/u-boot/cvi_board_init.c | 0 .../sg2000_wevb_sd}/u-boot/cvitek.h | 0 .../u-boot/sg2000_wevb_sd_defconfig} | 8 +- .../sg2002_licheearmnano_sd/config.json | 9 + .../dts_arm/sg2002_licheearmnano_sd.dts | 177 ++++++ .../linux/sg2002_licheearmnano_sd_defconfig | 570 ++++++++++++++++++ .../sg200x/sg2002_licheearmnano_sd/memmap.py | 85 +++ .../partition/partition_sd.xml | 4 + .../sg2002_licheearmnano_sd_defconfig | 25 + .../u-boot/cvi_board_init.c | 136 +++++ .../sg2002_licheearmnano_sd/u-boot/cvitek.h | 0 .../u-boot/sg2002_licheearmnano_sd_defconfig | 66 ++ .../u-boot/cvi_board_init.c | 3 +- host/archlinux/Dockerfile | 16 + host/debian/Dockerfile | 23 + host/fedora/Dockerfile | 15 + host/{ => ubuntu}/Dockerfile | 3 - 36 files changed, 1170 insertions(+), 377 deletions(-) delete mode 100644 build/boards/cv181x/cv1811ha_wevb_0007a_spinor/dts_arm/cv1811ha_wevb_0007a_spinor.dts delete mode 100644 build/boards/cv181x/cv1811ha_wevb_0007a_spinor/partition/partition_spinor.xml delete mode 100644 build/boards/default/dts/cv181x_arm/cv181x_base_arm.dtsi delete mode 100755 build/boards/default/dts/sg200x/find_and_set.sh delete mode 100644 build/boards/sg200x/sg2000_duo_sd/partition/partition_emmc.xml create mode 100644 build/boards/sg200x/sg2000_duo_sd/partition/partition_sd.xml rename build/boards/{cv181x/cv1811ha_wevb_0007a_spinor => sg200x/sg2000_wevb_sd}/config.json (100%) create mode 100644 build/boards/sg200x/sg2000_wevb_sd/dts_arm/sg2000_wevb_sd.dts rename build/boards/{cv181x/cv1811ha_wevb_0007a_spinor/linux/cv1811ha_wevb_0007a_spinor_defconfig => sg200x/sg2000_wevb_sd/linux/sg2000_wevb_sd_defconfig} (99%) rename build/boards/{cv181x/cv1811ha_wevb_0007a_spinor => sg200x/sg2000_wevb_sd}/memmap.py (98%) create mode 100644 build/boards/sg200x/sg2000_wevb_sd/partition/partition_sd.xml rename build/boards/{cv181x/cv1811ha_wevb_0007a_spinor => sg200x/sg2000_wevb_sd}/rootfs_script/clean_rootfs.sh (100%) rename build/boards/{cv181x/cv1811ha_wevb_0007a_spinor/cv1811ha_wevb_0007a_spinor_defconfig => sg200x/sg2000_wevb_sd/sg2000_wevb_sd_defconfig} (90%) rename build/boards/{cv181x/cv1811ha_wevb_0007a_spinor => sg200x/sg2000_wevb_sd}/u-boot/cvi_board_init.c (100%) rename build/boards/{cv181x/cv1811ha_wevb_0007a_spinor => sg200x/sg2000_wevb_sd}/u-boot/cvitek.h (100%) rename build/boards/{cv181x/cv1811ha_wevb_0007a_spinor/u-boot/cv1811ha_wevb_0007a_spinor_defconfig => sg200x/sg2000_wevb_sd/u-boot/sg2000_wevb_sd_defconfig} (90%) create mode 100644 build/boards/sg200x/sg2002_licheearmnano_sd/config.json create mode 100644 build/boards/sg200x/sg2002_licheearmnano_sd/dts_arm/sg2002_licheearmnano_sd.dts create mode 100644 build/boards/sg200x/sg2002_licheearmnano_sd/linux/sg2002_licheearmnano_sd_defconfig create mode 100755 build/boards/sg200x/sg2002_licheearmnano_sd/memmap.py create mode 100644 build/boards/sg200x/sg2002_licheearmnano_sd/partition/partition_sd.xml create mode 100644 build/boards/sg200x/sg2002_licheearmnano_sd/sg2002_licheearmnano_sd_defconfig create mode 100644 build/boards/sg200x/sg2002_licheearmnano_sd/u-boot/cvi_board_init.c create mode 100644 build/boards/sg200x/sg2002_licheearmnano_sd/u-boot/cvitek.h create mode 100644 build/boards/sg200x/sg2002_licheearmnano_sd/u-boot/sg2002_licheearmnano_sd_defconfig create mode 100755 host/archlinux/Dockerfile create mode 100755 host/debian/Dockerfile create mode 100755 host/fedora/Dockerfile rename host/{ => ubuntu}/Dockerfile (93%) diff --git a/.gitignore b/.gitignore index 986fbd4d42..73a2679197 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ *~ *.swp host-tools/ +*.sqfs build/tools/common/sd_tools/genimage.cfg.tmp fsbl/build/* install/* diff --git a/build/Makefile b/build/Makefile index 5470c576ea..aabd1b8ff3 100644 --- a/build/Makefile +++ b/build/Makefile @@ -559,6 +559,7 @@ br-rootfs-pack: # ${Q}rm -rf $(BR_ROOTFS_DIR)/* # copy rootfs to rawimg dir ${Q}cp $(BR_DIR)/output/images/rootfs.ext4 $(OUTPUT_DIR)/rawimages/rootfs.$(STORAGE_TYPE) + ${Q}tar zcvf $(OUTPUT_DIR)/licheervnano-drivers.tar.gz $(BR_DIR)/output/target/mnt $(call raw2cimg ,rootfs.$(STORAGE_TYPE)) ifeq ($(CONFIG_BUILDROOT_FS),y) diff --git a/build/boards/chip_list.json b/build/boards/chip_list.json index 11183b2bee..ec198f3631 100644 --- a/build/boards/chip_list.json +++ b/build/boards/chip_list.json @@ -4,7 +4,7 @@ }, "cv181x": { - "cv181x": ["cv1811ha", "cv1812cp", "cv1812h", "cv1813h"] + "cv181x": ["cv1812cp", "cv1812h", "cv1813h"] }, "cv180x": { diff --git a/build/boards/cv181x/cv1811ha_wevb_0007a_spinor/dts_arm/cv1811ha_wevb_0007a_spinor.dts b/build/boards/cv181x/cv1811ha_wevb_0007a_spinor/dts_arm/cv1811ha_wevb_0007a_spinor.dts deleted file mode 100644 index b9b9d23d36..0000000000 --- a/build/boards/cv181x/cv1811ha_wevb_0007a_spinor/dts_arm/cv1811ha_wevb_0007a_spinor.dts +++ /dev/null @@ -1,10 +0,0 @@ -/dts-v1/; -#include "cv181x_base_arm.dtsi" -#include "cv181x_asic_bga.dtsi" -#include "cv181x_asic_spinor.dtsi" -#include "cv181x_default_memmap.dtsi" - -/ { - -}; - diff --git a/build/boards/cv181x/cv1811ha_wevb_0007a_spinor/partition/partition_spinor.xml b/build/boards/cv181x/cv1811ha_wevb_0007a_spinor/partition/partition_spinor.xml deleted file mode 100644 index 539988c5a6..0000000000 --- a/build/boards/cv181x/cv1811ha_wevb_0007a_spinor/partition/partition_spinor.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/build/boards/default/dts/cv181x_arm/cv181x_base_arm.dtsi b/build/boards/default/dts/cv181x_arm/cv181x_base_arm.dtsi deleted file mode 100644 index 5074ca857f..0000000000 --- a/build/boards/default/dts/cv181x_arm/cv181x_base_arm.dtsi +++ /dev/null @@ -1,320 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include "cvi_board_memmap.h" - -/memreserve/ CVIMMAP_MONITOR_ADDR CVIMMAP_ATF_SIZE; // ATF (BL31 + BL32) 512KB - -#include "cv181x_base.dtsi" - -/ { - model = "SOPHGO ASIC. ARM."; - interrupt-parent = <&gic>; - - #size-cells = <0x2>; - #address-cells = <0x2>; - - gic: interrupt-controller { - compatible = "arm,cortex-a15-gic"; - ranges; - #size-cells = <0x2>; - #address-cells = <0x2>; - interrupt-controller; - #interrupt-cells = <0x3>; - reg = <0x0 0x01F01000 0x0 0x1000>, - <0x0 0x01F02000 0x0 0x2000>; - }; - - pmu_a53 { - compatible = "arm,cortex-a53-pmu"; - interrupts = , - ; - interrupt-affinity = <&A53_0>; - }; - - psci { - migrate = <0xc4000005>; - cpu_on = <0xc4000003>; - cpu_off = <0x84000002>; - cpu_suspend = <0xc4000001>; - sys_poweroff = <0x84000008>; - sys_reset = <0x84000009>; - method = "smc"; - compatible = "arm,psci-0.2", "arm,psci"; - }; - - cpus { - #size-cells = <0x0>; - #address-cells = <0x1>; - - A53_0: cpu@0 { - reg = <0x0>; - enable-method = "psci"; - compatible = "arm,cortex-a53"; - device_type = "cpu"; - next-level-cache = <&CA53_L2>; - }; - - CA53_L2: l2-cache0 { - compatible = "cache"; - }; - }; - - timer { - interrupts = , - , - , - ; - always-on; - clock-frequency = <25000000>; - compatible = "arm,armv8-timer"; - }; - - firmware { - optee { - compatible = "linaro,optee-tz"; - method = "smc"; - }; - }; - - cooling:cooling { - clocks = <&clk CV181X_CLK_A53>, <&clk CV181X_CLK_TPU>; - clock-names = "clk_cpu", "clk_tpu_axi"; - dev-freqs = <800000000 500000000>, - <400000000 375000000>, - <400000000 300000000>; - compatible = "sophgo,cooling"; - #cooling-cells = <2>; - }; - - tpu { - interrupts = , - ; - }; - - mon { - interrupts = ; - }; - - wiegand0 { - interrupts = ; - }; - - wiegand1 { - interrupts = ; - }; - - wiegand2 { - interrupts = ; - }; - - saradc { - interrupts = ; - }; - - rtc { - interrupts = ; - }; - - sysdma_remap { - int_mux = <0x1FF>; /* enable bit [0..8] for CPU0(CA53) */ - }; - - dmac: dma@0x4330000 { - interrupts = ; - }; - -#if 0 - watchdog0: cv-wd@0x3010000 { - interrupts = ; - }; -#endif - - spinand:cv-spinf@4060000 { - interrupts = ; - }; - - spif:cvi-spif@10000000 { - interrupts = ; - }; - - spi0:spi0@04180000 { - interrupts = ; - }; - - spi1:spi1@04190000 { - interrupts = ; - }; - - spi2:spi2@041A0000 { - interrupts = ; - }; - - spi3:spi3@041B0000 { - interrupts = ; - }; - - uart0: serial@04140000 { - interrupts = ; - }; - - uart1: serial@04150000 { - interrupts = ; - }; - - uart2: serial@04160000 { - interrupts = ; - }; - - uart3: serial@04170000 { - interrupts = ; - }; - - uart4: serial@041C0000 { - interrupts = ; - }; - - gpio0: gpio@03020000 { - porta: gpio-controller@0 { - interrupt-controller; - interrupts = ; - }; - }; - - gpio1: gpio@03021000 { - portb: gpio-controller@1 { - interrupt-controller; - interrupts = ; - }; - }; - - gpio2: gpio@03022000 { - portc: gpio-controller@2 { - interrupt-controller; - interrupts = ; - }; - }; - - gpio3: gpio@03023000 { - portd: gpio-controller@3 { - interrupt-controller; - interrupts = ; - }; - }; - - gpio4: gpio@05021000 { - porte: gpio-controller@4 { - interrupt-controller; - interrupts = ; - }; - }; - - i2c0: i2c@04000000 { - interrupts = ; - }; - - i2c1: i2c@04010000 { - interrupts = ; - }; - - i2c2: i2c@04020000 { - interrupts = ; - }; - - i2c3: i2c@04030000 { - interrupts = ; - }; - - i2c4: i2c@04040000 { - interrupts = ; - }; - - ethernet0: ethernet@4070000 { - interrupt-names = "macirq"; - interrupts = ; - }; - - emmc:cv-emmc@4300000 { - interrupts = ; - }; - - sd:cv-sd@4310000 { - interrupts = ; - }; - - i2s0: i2s@04100000 { - interrupts = ; - }; - - i2s1: i2s@04110000 { - interrupts = ; - }; - - i2s2: i2s@04120000 { - interrupts = ; - }; - - i2s3: i2s@04130000 { - interrupts = ; - }; - - wifisd:wifi-sd@4320000 { - interrupts = ; - }; - - mipi_rx: cif { - interrupts = , - ; - interrupt-names = "csi0", "csi1"; - }; - - vi { - interrupts = ; - interrupt-names = "isp"; - }; - - ive { - interrupt-names = "ive_irq"; - interrupts = ; - }; - - vpss { - interrupts = ; - interrupt-names = "sc"; - }; - - dwa { - interrupts = ; - interrupt-names = "dwa"; - }; - - vcodec { - interrupts = , - , - ; - interrupt-names = "h265","h264","sbm"; - }; - - jpu { - interrupts = ; - interrupt-names = "jpeg"; - }; - - rtos_cmdqu { - interrupts = ; - interrupt-names = "mailbox"; - }; - - usb: usb@04340000 { - interrupts = ; - }; - - thermal:thermal@030E0000 { - interrupts = ; - interrupt-names = "tempsen"; - }; - -}; diff --git a/build/boards/default/dts/sg200x/find_and_set.sh b/build/boards/default/dts/sg200x/find_and_set.sh deleted file mode 100755 index 9af62943d7..0000000000 --- a/build/boards/default/dts/sg200x/find_and_set.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -files=`find . -name "cv181x_*.dtsi"` - -for i in $files -do - echo $i -filename=${i#*cv181x_} -echo $filename -mv $i soph_$filename - -done diff --git a/build/boards/sg200x/sg2000_duo_sd/dts_riscv/sg2000_duo_sd.dts b/build/boards/sg200x/sg2000_duo_sd/dts_riscv/sg2000_duo_sd.dts index cd1db14174..736b713a0a 100644 --- a/build/boards/sg200x/sg2000_duo_sd/dts_riscv/sg2000_duo_sd.dts +++ b/build/boards/sg200x/sg2000_duo_sd/dts_riscv/sg2000_duo_sd.dts @@ -1,7 +1,7 @@ /dts-v1/; #include "soph_base_riscv.dtsi" #include "soph_asic_bga.dtsi" -#include "soph_asic_emmc.dtsi" +#include "soph_asic_sd.dtsi" #include "soph_default_memmap.dtsi" / { diff --git a/build/boards/sg200x/sg2000_duo_sd/partition/partition_emmc.xml b/build/boards/sg200x/sg2000_duo_sd/partition/partition_emmc.xml deleted file mode 100644 index f57e0271d2..0000000000 --- a/build/boards/sg200x/sg2000_duo_sd/partition/partition_emmc.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/build/boards/sg200x/sg2000_duo_sd/partition/partition_sd.xml b/build/boards/sg200x/sg2000_duo_sd/partition/partition_sd.xml new file mode 100644 index 0000000000..004c3da4d9 --- /dev/null +++ b/build/boards/sg200x/sg2000_duo_sd/partition/partition_sd.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/build/boards/sg200x/sg2000_duo_sd/sg2000_duo_sd_defconfig b/build/boards/sg200x/sg2000_duo_sd/sg2000_duo_sd_defconfig index 89d8c91861..a63f8fbc00 100644 --- a/build/boards/sg200x/sg2000_duo_sd/sg2000_duo_sd_defconfig +++ b/build/boards/sg200x/sg2000_duo_sd/sg2000_duo_sd_defconfig @@ -1,5 +1,5 @@ CONFIG_CHIP_sg2000=y -CONFIG_BOARD_wevb_emmc=y +CONFIG_BOARD_duo_sd=y CONFIG_DDR_CFG_ddr3_1866_x16=y CONFIG_ARCH="riscv" CONFIG_CROSS_COMPILE="riscv64-unknown-linux-gnu-" @@ -9,7 +9,7 @@ CONFIG_KERNEL_ENTRY_HACK_ADDR="0x80200000" CONFIG_TOOLCHAIN_MUSL_RISCV64=y CONFIG_FLASH_SIZE_SHRINK=y CONFIG_BOOT_IMAGE_SINGLE_DTB=y -CONFIG_STORAGE_TYPE_emmc=y +CONFIG_STORAGE_TYPE_sd=y CONFIG_SENSOR_GCORE_GC4653=y CONFIG_SENSOR_SMS_SC3335=y CONFIG_SENSOR_SMS_SC500AI=y diff --git a/build/boards/sg200x/sg2000_duo_sd/u-boot/sg2000_duo_sd_defconfig b/build/boards/sg200x/sg2000_duo_sd/u-boot/sg2000_duo_sd_defconfig index be88e9670d..7268cb0d49 100644 --- a/build/boards/sg200x/sg2000_duo_sd/u-boot/sg2000_duo_sd_defconfig +++ b/build/boards/sg200x/sg2000_duo_sd/u-boot/sg2000_duo_sd_defconfig @@ -40,4 +40,4 @@ CONFIG_SPI=y CONFIG_LZ4=y CONFIG_LZMA=y # CONFIG_TOOLS_LIBCRYPTO is not set -CONFIG_ENV_IS_IN_MMC=y +CONFIG_ENV_IS_NOWHERE=y diff --git a/build/boards/cv181x/cv1811ha_wevb_0007a_spinor/config.json b/build/boards/sg200x/sg2000_wevb_sd/config.json similarity index 100% rename from build/boards/cv181x/cv1811ha_wevb_0007a_spinor/config.json rename to build/boards/sg200x/sg2000_wevb_sd/config.json diff --git a/build/boards/sg200x/sg2000_wevb_sd/dts_arm/sg2000_wevb_sd.dts b/build/boards/sg200x/sg2000_wevb_sd/dts_arm/sg2000_wevb_sd.dts new file mode 100644 index 0000000000..9c6b291992 --- /dev/null +++ b/build/boards/sg200x/sg2000_wevb_sd/dts_arm/sg2000_wevb_sd.dts @@ -0,0 +1,13 @@ +/dts-v1/; +#include "soph_base_arm.dtsi" +#include "soph_asic_bga.dtsi" +#include "soph_asic_sd.dtsi" +#include "soph_default_memmap.dtsi" + +/ { + + sd:cv-sd@4310000 { + max-frequency = <10000000>; + }; +}; + diff --git a/build/boards/cv181x/cv1811ha_wevb_0007a_spinor/linux/cv1811ha_wevb_0007a_spinor_defconfig b/build/boards/sg200x/sg2000_wevb_sd/linux/sg2000_wevb_sd_defconfig similarity index 99% rename from build/boards/cv181x/cv1811ha_wevb_0007a_spinor/linux/cv1811ha_wevb_0007a_spinor_defconfig rename to build/boards/sg200x/sg2000_wevb_sd/linux/sg2000_wevb_sd_defconfig index b07ae62ca9..d448a1b124 100644 --- a/build/boards/cv181x/cv1811ha_wevb_0007a_spinor/linux/cv1811ha_wevb_0007a_spinor_defconfig +++ b/build/boards/sg200x/sg2000_wevb_sd/linux/sg2000_wevb_sd_defconfig @@ -198,6 +198,8 @@ CONFIG_ANDROID=y # CONFIG_TEE=y # CONFIG_OPTEE=y # CONFIG_MANDATORY_FILE_LOCKING is not set +CONFIG_EXT3_FS=y +CONFIG_EXT4_FS=y CONFIG_MSDOS_FS=y CONFIG_VFAT_FS=y # CONFIG_PROC_PAGE_MONITOR is not set diff --git a/build/boards/cv181x/cv1811ha_wevb_0007a_spinor/memmap.py b/build/boards/sg200x/sg2000_wevb_sd/memmap.py similarity index 98% rename from build/boards/cv181x/cv1811ha_wevb_0007a_spinor/memmap.py rename to build/boards/sg200x/sg2000_wevb_sd/memmap.py index 39e70cd2c7..ccac8b44b2 100644 --- a/build/boards/cv181x/cv1811ha_wevb_0007a_spinor/memmap.py +++ b/build/boards/sg200x/sg2000_wevb_sd/memmap.py @@ -10,7 +10,7 @@ class MemoryMap: ] DRAM_BASE = 0x80000000 - DRAM_SIZE = 128 * SIZE_1M + DRAM_SIZE = 512 * SIZE_1M # ============== # C906L FreeRTOS diff --git a/build/boards/sg200x/sg2000_wevb_sd/partition/partition_sd.xml b/build/boards/sg200x/sg2000_wevb_sd/partition/partition_sd.xml new file mode 100644 index 0000000000..004c3da4d9 --- /dev/null +++ b/build/boards/sg200x/sg2000_wevb_sd/partition/partition_sd.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/build/boards/cv181x/cv1811ha_wevb_0007a_spinor/rootfs_script/clean_rootfs.sh b/build/boards/sg200x/sg2000_wevb_sd/rootfs_script/clean_rootfs.sh similarity index 100% rename from build/boards/cv181x/cv1811ha_wevb_0007a_spinor/rootfs_script/clean_rootfs.sh rename to build/boards/sg200x/sg2000_wevb_sd/rootfs_script/clean_rootfs.sh diff --git a/build/boards/cv181x/cv1811ha_wevb_0007a_spinor/cv1811ha_wevb_0007a_spinor_defconfig b/build/boards/sg200x/sg2000_wevb_sd/sg2000_wevb_sd_defconfig similarity index 90% rename from build/boards/cv181x/cv1811ha_wevb_0007a_spinor/cv1811ha_wevb_0007a_spinor_defconfig rename to build/boards/sg200x/sg2000_wevb_sd/sg2000_wevb_sd_defconfig index fed6129e19..9088a64057 100644 --- a/build/boards/cv181x/cv1811ha_wevb_0007a_spinor/cv1811ha_wevb_0007a_spinor_defconfig +++ b/build/boards/sg200x/sg2000_wevb_sd/sg2000_wevb_sd_defconfig @@ -1,5 +1,5 @@ -CONFIG_CHIP_cv1811ha=y -CONFIG_BOARD_wevb_0007a_spinor=y +CONFIG_CHIP_sg2000=y +CONFIG_BOARD_wevb_sd=y CONFIG_DDR_CFG_ddr3_1866_x16=y CONFIG_ARCH="arm" CONFIG_CC_OPTIMIZE_FOR_SIZE=y @@ -8,7 +8,7 @@ CONFIG_KERNEL_ENTRY_HACK_ADDR="0x80108000" CONFIG_TOOLCHAIN_GLIBC_ARM=y CONFIG_FLASH_SIZE_SHRINK=y CONFIG_BOOT_IMAGE_SINGLE_DTB=y -CONFIG_STORAGE_TYPE_spinor=y +CONFIG_STORAGE_TYPE_sd=y CONFIG_SENSOR_GCORE_GC2053=y CONFIG_SENSOR_GCORE_GC2053_1L=y CONFIG_SENSOR_GCORE_GC2093=y diff --git a/build/boards/cv181x/cv1811ha_wevb_0007a_spinor/u-boot/cvi_board_init.c b/build/boards/sg200x/sg2000_wevb_sd/u-boot/cvi_board_init.c similarity index 100% rename from build/boards/cv181x/cv1811ha_wevb_0007a_spinor/u-boot/cvi_board_init.c rename to build/boards/sg200x/sg2000_wevb_sd/u-boot/cvi_board_init.c diff --git a/build/boards/cv181x/cv1811ha_wevb_0007a_spinor/u-boot/cvitek.h b/build/boards/sg200x/sg2000_wevb_sd/u-boot/cvitek.h similarity index 100% rename from build/boards/cv181x/cv1811ha_wevb_0007a_spinor/u-boot/cvitek.h rename to build/boards/sg200x/sg2000_wevb_sd/u-boot/cvitek.h diff --git a/build/boards/cv181x/cv1811ha_wevb_0007a_spinor/u-boot/cv1811ha_wevb_0007a_spinor_defconfig b/build/boards/sg200x/sg2000_wevb_sd/u-boot/sg2000_wevb_sd_defconfig similarity index 90% rename from build/boards/cv181x/cv1811ha_wevb_0007a_spinor/u-boot/cv1811ha_wevb_0007a_spinor_defconfig rename to build/boards/sg200x/sg2000_wevb_sd/u-boot/sg2000_wevb_sd_defconfig index fc7c086f97..958013f2a5 100644 --- a/build/boards/cv181x/cv1811ha_wevb_0007a_spinor/u-boot/cv1811ha_wevb_0007a_spinor_defconfig +++ b/build/boards/sg200x/sg2000_wevb_sd/u-boot/sg2000_wevb_sd_defconfig @@ -5,14 +5,14 @@ CONFIG_DEFAULT_DEVICE_TREE="cv181x_asic" CONFIG_IDENT_STRING=" cvitek_cv181x" CONFIG_ARMV8_SET_SMPEN=y CONFIG_TARGET_CVITEK_CV181X=y -CONFIG_CVITEK_SPI_FLASH=y +#CONFIG_CVITEK_SPI_FLASH=y CONFIG_DISTRO_DEFAULTS=y CONFIG_FIT=y # CONFIG_ARCH_FIXUP_FDT_MEMORY is not set CONFIG_BOOTDELAY=1 # CONFIG_DISPLAY_CPUINFO is not set # CONFIG_DISPLAY_BOARDINFO is not set -CONFIG_SYS_PROMPT="cv181x# " +CONFIG_SYS_PROMPT="soph# " # CONFIG_CMD_CONSOLE is not set # CONFIG_CMD_XIMG is not set # CONFIG_CMD_EDITENV is not set @@ -29,6 +29,9 @@ CONFIG_CMD_CVI_SD_UPDATE=y # CONFIG_EFI_PARTITION is not set CONFIG_OF_CONTROL=y CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_DM=y +CONFIG_DM_MMC=y +CONFIG_MMC=y CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_SDMA=y CONFIG_MMC_SDHCI_CVITEK=y @@ -43,3 +46,4 @@ CONFIG_LZ4=y CONFIG_LZMA=y # CONFIG_TOOLS_LIBCRYPTO is not set # CONFIG_SPI_FLASH_USE_4K_SECTORS is not set +CONFIG_ENV_IS_NOWHERE=y diff --git a/build/boards/sg200x/sg2002_licheearmnano_sd/config.json b/build/boards/sg200x/sg2002_licheearmnano_sd/config.json new file mode 100644 index 0000000000..f5def6416c --- /dev/null +++ b/build/boards/sg200x/sg2002_licheearmnano_sd/config.json @@ -0,0 +1,9 @@ +{ + "ddr_cfg_list": [ + "", + "ddr3_1866_x16", + "ddr3_2133_x16", + "ddr_auto_x16" + ], + "board_information": "CA53 + DDR 256MB" +} diff --git a/build/boards/sg200x/sg2002_licheearmnano_sd/dts_arm/sg2002_licheearmnano_sd.dts b/build/boards/sg200x/sg2002_licheearmnano_sd/dts_arm/sg2002_licheearmnano_sd.dts new file mode 100644 index 0000000000..63faf49c14 --- /dev/null +++ b/build/boards/sg200x/sg2002_licheearmnano_sd/dts_arm/sg2002_licheearmnano_sd.dts @@ -0,0 +1,177 @@ +/dts-v1/; +#include "soph_base_arm.dtsi" +#include "soph_asic_qfn.dtsi" +#include "soph_asic_sd.dtsi" +#include "soph_default_memmap.dtsi" + +#include +#include + +&i2c0 { + status = "disabled"; + /delete-property/ scl-pinmux; + /delete-property/ sda-pinmux; + /delete-property/ scl-gpios; + /delete-property/ sda-gpios; +}; + +&i2c1 { + status = "disabled"; + /delete-property/ scl-pinmux; + /delete-property/ sda-pinmux; + /delete-property/ scl-gpios; + /delete-property/ sda-gpios; +}; + +&sd { + min-frequency = <400000>; // 400Khz + //max-frequency = <50000000>; // 50Mhz + max-frequency = <25000000>; // 25Mhz + //max-frequency = <10000000>; // 10Mhz + //max-frequency = <5000000>; // 5Mhz +}; + +&cvi_vo { +#ifndef __UBOOT__ + /delete-property/ reset-gpio; +#else + // for uboot + reset-gpio = <&porte 0 1>; +#endif + /delete-property/ pwm-gpio; + /delete-property/ power-ct-gpio; + +}; + +&mipi_tx { + /delete-property/ pwm-gpio; +#ifndef __UBOOT__ + // for linux kernel + reset-gpio = <&porte 0 1>; +#else + /delete-property/ reset-gpio; +#endif + /delete-property/ power-ct-gpio; + status = "okay"; +}; + +&uart1 { + status = "okay"; +}; + +&pwm0 { + status = "okay"; +}; + +&pwm1 { + status = "okay"; +}; + +&pwm2 { + status = "okay"; +}; + +&i2c2 { + status = "disabled"; + /delete-property/ scl-pinmux; + /delete-property/ sda-pinmux; + /delete-property/ scl-gpios; + /delete-property/ sda-gpios; +}; + +&i2c3 { + status = "disabled"; + /delete-property/ scl-pinmux; + /delete-property/ sda-pinmux; + /delete-property/ scl-gpios; + /delete-property/ sda-gpios; +}; + +&i2c4 { + statuc = "okay"; + gt9xx: gt9xx@14 { + compatible = "goodix,gt9xx"; + reg = <0x14>; + goodix,irq-gpio = <&porte 3 0>; + goodix,rst-gpio = <&porte 4 0>; + status = "okay"; + }; + hytr: hynitron@5a { + compatible = "hynitron,hyn_ts"; + reg = <0x5a>; + hynitron,irq-gpio = <&porte 3 0>; + hynitron,reset-gpio = <&porte 4 0>; + hynitron,max-touch-number = <5>; + hynitron,display-coords = <368 552>; + status = "okay"; + }; +}; + +&dac { + status = "okay"; + /delete-property/ mute-gpio-r; +}; + +&fb_reserved { + status = "okay"; +}; + +&cvi_fb { + status = "okay"; +}; + +&mipi_rx { + snsr-reset = <&porte 1 GPIO_ACTIVE_LOW>; +}; + +/ { + model = "LicheeRv Nano"; + + gpio-keys { + compatible = "gpio-keys"; + key-user { + label = "User Key"; + linux,code = ; + debounce-interval = <1>; + gpios = <&porta 30 1>; + }; + }; + + leds { + compatible = "gpio-leds"; + + led-user { + gpios = <&porta 14 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "activity"; + }; + }; + + wifisd:wifi-sd@4320000 { + compatible = "cvitek,cv181x-sdio"; + bus-width = <4>; + reg = <0x0 0x4320000 0x0 0x1000>; + reg_names = "core_mem"; + src-frequency = <375000000>; + min-frequency = <400000>; // 400Khz + //max-frequency = <50000000>; // 50Mhz + //max-frequency = <45000000>; // 45Mhz + //max-frequency = <40000000>; // 40Mhz + //max-frequency = <35000000>; // 35Mhz + //max-frequency = <30000000>; // 30Mhz + max-frequency = <25000000>; // 25Mhz + //max-frequency = <20000000>; // 20Mhz + //max-frequency = <15000000>; // 15Mhz + //max-frequency = <10000000>; // 10Mhz + //max-frequency = <5000000>; // 5Mhz + 64_addressing; + reset_tx_rx_phy; + non-removable; + pll_index = <0x7>; + pll_reg = <0x300207C>; + no-mmc; + no-sd; + status = "okay"; + interrupts = <38 IRQ_TYPE_LEVEL_HIGH>; + interrupt-parent = <&plic0>; + }; +}; diff --git a/build/boards/sg200x/sg2002_licheearmnano_sd/linux/sg2002_licheearmnano_sd_defconfig b/build/boards/sg200x/sg2002_licheearmnano_sd/linux/sg2002_licheearmnano_sd_defconfig new file mode 100644 index 0000000000..ccd0fe7e6d --- /dev/null +++ b/build/boards/sg200x/sg2002_licheearmnano_sd/linux/sg2002_licheearmnano_sd_defconfig @@ -0,0 +1,570 @@ +CONFIG_ARM_LPAE=y +CONFIG_SWP_EMULATE=y +CONFIG_HAVE_ARM_ARCH_TIMER=y +CONFIG_ARM_PSCI=y +CONFIG_THUMB2_KERNEL=y +CONFIG_FORCE_MAX_ZONEORDER=10 +# CONFIG_ATAGS is not set +CONFIG_VFP=y +CONFIG_NEON=y +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_SWAP is not set +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_PREEMPT=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=15 +CONFIG_BLK_DEV_INITRD=n +# CONFIG_SYSFS_SYSCALL is not set +# CONFIG_FHANDLE is not set +# CONFIG_BASE_FULL is not set +# CONFIG_AIO is not set +CONFIG_EMBEDDED=y +# CONFIG_SLUB_DEBUG is not set +CONFIG_FORCE_MAX_ZONEORDER=10 +CONFIG_ARCH_CVITEK=y +CONFIG_SOC_THEAD=y +# CONFIG_COMPAT is not set +CONFIG_ARCH_CVITEK_CHIP="mars" +CONFIG_ARCH_CV181X_ASIC=y +CONFIG_POWER_RESET=y +CONFIG_COMPAT_32BIT_TIME=y +CONFIG_STRICT_KERNEL_RWX=n +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_MQ_IOSCHED_DEADLINE is not set +# CONFIG_MQ_IOSCHED_KYBER is not set +CONFIG_ELF_CORE=y +CONFIG_COREDUMP=y +CONFIG_PROC_SYSCTL=y +CONFIG_CMA=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +# CONFIG_INET_DIAG is not set +# CONFIG_IPV6 is not set +CONFIG_CFG80211=m +CONFIG_RFKILL=y +CONFIG_UEVENT_HELPER=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_ALLOW_DEV_COREDUMP is not set +CONFIG_MTD=y +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_OF_PARTS is not set +CONFIG_MTD_BLOCK=y +CONFIG_MTD_RAW_NAND=y +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_BLOCK=y +CONFIG_NETDEVICES=y +# CONFIG_NET_CORE is not set +# CONFIG_NET_VENDOR_ALACRITECH is not set +# CONFIG_NET_VENDOR_AMAZON is not set +# CONFIG_NET_VENDOR_AQUANTIA is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_AURORA is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CADENCE is not set +# CONFIG_NET_VENDOR_CAVIUM is not set +# CONFIG_NET_VENDOR_CORTINA is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_HUAWEI is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_MICROSEMI is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_NETRONOME is not set +# CONFIG_NET_VENDOR_NI is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +# CONFIG_NET_VENDOR_RENESAS is not set +# CONFIG_NET_VENDOR_ROCKER is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SOLARFLARE is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set +CONFIG_STMMAC_ETH=y +# CONFIG_DWMAC_GENERIC is not set +# CONFIG_NET_VENDOR_SYNOPSYS is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +CONFIG_CVITEK_PHY=y +# CONFIG_USB_NET_DRIVERS is not set +# CONFIG_WLAN_VENDOR_ADMTEK is not set +# CONFIG_WLAN_VENDOR_ATH is not set +# CONFIG_WLAN_VENDOR_ATMEL is not set +# CONFIG_WLAN_VENDOR_BROADCOM is not set +# CONFIG_WLAN_VENDOR_CISCO is not set +# CONFIG_WLAN_VENDOR_INTEL is not set +# CONFIG_WLAN_VENDOR_INTERSIL is not set +# CONFIG_WLAN_VENDOR_MARVELL is not set +# CONFIG_WLAN_VENDOR_MEDIATEK is not set +# CONFIG_WLAN_VENDOR_RALINK is not set +# CONFIG_RTL8188FU is not set +# CONFIG_WLAN_VENDOR_RSI is not set +# CONFIG_WLAN_VENDOR_ST is not set +# CONFIG_WLAN_VENDOR_TI is not set +# CONFIG_WLAN_VENDOR_ZYDAS is not set +CONFIG_INPUT=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_EVDEV=y +# CONFIG_SERIO is not set +# CONFIG_VT is not set +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_NR_UARTS=5 +CONFIG_SERIAL_8250_RUNTIME_UARTS=5 +CONFIG_SERIAL_8250_DW=y +CONFIG_HW_RANDOM=y +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y +# CONFIG_PTP_1588_CLOCK is not set +CONFIG_PINCTRL=y +CONFIG_CVITEK_PINCTRL_CV1835=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_DWAPB=y +CONFIG_THERMAL=y +CONFIG_THERMAL_NETLINK=y +CONFIG_THERMAL_WRITABLE_TRIPS=y +CONFIG_THERMAL_EMULATION=y +CONFIG_WATCHDOG=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_VIDEO_MEM2MEM_DEINTERLACE=y +CONFIG_VIDEO_CVITEK=m +CONFIG_VIDEO_CVITEK_CIF=m +CONFIG_VIDEO_CVITEK_SNS_I2C=m +CONFIG_VIDEO_CVITEK_MIPI_TX=m +# +# Media SPI Adapters +# +# CONFIG_CXD2880_SPI_DRV is not set +# end of Media SPI Adapters +# +# Customize TV tuners +# +# CONFIG_MEDIA_TUNER_SIMPLE is not set +# CONFIG_MEDIA_TUNER_TDA18250 is not set +# CONFIG_MEDIA_TUNER_TDA8290 is not set +# CONFIG_MEDIA_TUNER_TDA827X is not set +# CONFIG_MEDIA_TUNER_TDA18271 is not set +# CONFIG_MEDIA_TUNER_TDA9887 is not set +# CONFIG_MEDIA_TUNER_TEA5761 is not set +# CONFIG_MEDIA_TUNER_TEA5767 is not set +# CONFIG_MEDIA_TUNER_MSI001 is not set +# CONFIG_MEDIA_TUNER_MT20XX is not set +# CONFIG_MEDIA_TUNER_MT2060 is not set +# CONFIG_MEDIA_TUNER_MT2063 is not set +# CONFIG_MEDIA_TUNER_MT2266 is not set +# CONFIG_MEDIA_TUNER_MT2131 is not set +# CONFIG_MEDIA_TUNER_QT1010 is not set +# CONFIG_MEDIA_TUNER_XC2028 is not set +# CONFIG_MEDIA_TUNER_XC5000 is not set +# CONFIG_MEDIA_TUNER_XC4000 is not set +# CONFIG_MEDIA_TUNER_MXL5005S is not set +# CONFIG_MEDIA_TUNER_MXL5007T is not set +# CONFIG_MEDIA_TUNER_MC44S803 is not set +# CONFIG_MEDIA_TUNER_MAX2165 is not set +# CONFIG_MEDIA_TUNER_TDA18218 is not set +# CONFIG_MEDIA_TUNER_FC0011 is not set +# CONFIG_MEDIA_TUNER_FC0012 is not set +# CONFIG_MEDIA_TUNER_FC0013 is not set +# CONFIG_MEDIA_TUNER_TDA18212 is not set +# CONFIG_MEDIA_TUNER_E4000 is not set +# CONFIG_MEDIA_TUNER_FC2580 is not set +# CONFIG_MEDIA_TUNER_M88RS6000T is not set +# CONFIG_MEDIA_TUNER_TUA9001 is not set +# CONFIG_MEDIA_TUNER_SI2157 is not set +# CONFIG_MEDIA_TUNER_IT913X is not set +# CONFIG_MEDIA_TUNER_R820T is not set +# CONFIG_MEDIA_TUNER_MXL301RF is not set +# CONFIG_MEDIA_TUNER_QM1D1C0042 is not set +# CONFIG_MEDIA_TUNER_QM1D1B0004 is not set +# end of Customize TV tuners +# +# Customise DVB Frontends +# + +# +# Multistandard (satellite) frontends +# +# CONFIG_DVB_STB0899 is not set +# CONFIG_DVB_STB6100 is not set +# CONFIG_DVB_STV090x is not set +# CONFIG_DVB_STV0910 is not set +# CONFIG_DVB_STV6110x is not set +# CONFIG_DVB_STV6111 is not set +# CONFIG_DVB_MXL5XX is not set +# CONFIG_DVB_M88DS3103 is not set + +# +# Multistandard (cable + terrestrial) frontends +# +# CONFIG_DVB_DRXK is not set +# CONFIG_DVB_TDA18271C2DD is not set +# CONFIG_DVB_SI2165 is not set +# CONFIG_DVB_MN88472 is not set +# CONFIG_DVB_MN88473 is not set + +# +# DVB-S (satellite) frontends +# +# CONFIG_DVB_CX24110 is not set +# CONFIG_DVB_CX24123 is not set +# CONFIG_DVB_MT312 is not set +# CONFIG_DVB_ZL10036 is not set +# CONFIG_DVB_ZL10039 is not set +# CONFIG_DVB_S5H1420 is not set +# CONFIG_DVB_STV0288 is not set +# CONFIG_DVB_STB6000 is not set +# CONFIG_DVB_STV0299 is not set +# CONFIG_DVB_STV6110 is not set +# CONFIG_DVB_STV0900 is not set +# CONFIG_DVB_TDA8083 is not set +# CONFIG_DVB_TDA10086 is not set +# CONFIG_DVB_TDA8261 is not set +# CONFIG_DVB_VES1X93 is not set +# CONFIG_DVB_TUNER_ITD1000 is not set +# CONFIG_DVB_TUNER_CX24113 is not set +# CONFIG_DVB_TDA826X is not set +# CONFIG_DVB_TUA6100 is not set +# CONFIG_DVB_CX24116 is not set +# CONFIG_DVB_CX24117 is not set +# CONFIG_DVB_CX24120 is not set +# CONFIG_DVB_SI21XX is not set +# CONFIG_DVB_TS2020 is not set +# CONFIG_DVB_DS3000 is not set +# CONFIG_DVB_MB86A16 is not set +# CONFIG_DVB_TDA10071 is not set + +# +# DVB-T (terrestrial) frontends +# +# CONFIG_DVB_SP8870 is not set +# CONFIG_DVB_SP887X is not set +# CONFIG_DVB_CX22700 is not set +# CONFIG_DVB_CX22702 is not set +# CONFIG_DVB_S5H1432 is not set +# CONFIG_DVB_DRXD is not set +# CONFIG_DVB_L64781 is not set +# CONFIG_DVB_TDA1004X is not set +# CONFIG_DVB_NXT6000 is not set +# CONFIG_DVB_MT352 is not set +# CONFIG_DVB_ZL10353 is not set +# CONFIG_DVB_DIB3000MB is not set +# CONFIG_DVB_DIB3000MC is not set +# CONFIG_DVB_DIB7000M is not set +# CONFIG_DVB_DIB7000P is not set +# CONFIG_DVB_DIB9000 is not set +# CONFIG_DVB_TDA10048 is not set +# CONFIG_DVB_AF9013 is not set +# CONFIG_DVB_EC100 is not set +# CONFIG_DVB_STV0367 is not set +# CONFIG_DVB_CXD2820R is not set +# CONFIG_DVB_CXD2841ER is not set +# CONFIG_DVB_RTL2830 is not set +# CONFIG_DVB_RTL2832 is not set +# CONFIG_DVB_RTL2832_SDR is not set +# CONFIG_DVB_SI2168 is not set +# CONFIG_DVB_ZD1301_DEMOD is not set +# CONFIG_DVB_CXD2880 is not set + +# +# DVB-C (cable) frontends +# +# CONFIG_DVB_VES1820 is not set +# CONFIG_DVB_TDA10021 is not set +# CONFIG_DVB_TDA10023 is not set +# CONFIG_DVB_STV0297 is not set + +# +# ATSC (North American/Korean Terrestrial/Cable DTV) frontends +# +# CONFIG_DVB_NXT200X is not set +# CONFIG_DVB_OR51211 is not set +# CONFIG_DVB_OR51132 is not set +# CONFIG_DVB_BCM3510 is not set +# CONFIG_DVB_LGDT330X is not set +# CONFIG_DVB_LGDT3305 is not set +# CONFIG_DVB_LGDT3306A is not set +# CONFIG_DVB_LG2160 is not set +# CONFIG_DVB_S5H1409 is not set +# CONFIG_DVB_AU8522_DTV is not set +# CONFIG_DVB_AU8522_V4L is not set +# CONFIG_DVB_S5H1411 is not set + +# +# ISDB-T (terrestrial) frontends +# +# CONFIG_DVB_S921 is not set +# CONFIG_DVB_DIB8000 is not set +# CONFIG_DVB_MB86A20S is not set + +# +# ISDB-S (satellite) & ISDB-T (terrestrial) frontends +# +# CONFIG_DVB_TC90522 is not set +# CONFIG_DVB_MN88443X is not set + +# +# Digital terrestrial only tuners/PLL +# +# CONFIG_DVB_PLL is not set +# CONFIG_DVB_TUNER_DIB0070 is not set +# CONFIG_DVB_TUNER_DIB0090 is not set +# +# SEC control devices for DVB-S +# +# CONFIG_DVB_DRX39XYJ is not set +# CONFIG_DVB_LNBH25 is not set +# CONFIG_DVB_LNBH29 is not set +# CONFIG_DVB_LNBP21 is not set +# CONFIG_DVB_LNBP22 is not set +# CONFIG_DVB_ISL6405 is not set +# CONFIG_DVB_ISL6421 is not set +# CONFIG_DVB_ISL6423 is not set +# CONFIG_DVB_A8293 is not set +# CONFIG_DVB_LGS8GL5 is not set +# CONFIG_DVB_LGS8GXX is not set +# CONFIG_DVB_ATBM8830 is not set +# CONFIG_DVB_TDA665x is not set +# CONFIG_DVB_IX2505V is not set +# CONFIG_DVB_M88RS2000 is not set +# CONFIG_DVB_AF9033 is not set +# CONFIG_DVB_HORUS3A is not set +# CONFIG_DVB_ASCOT2E is not set +# CONFIG_DVB_HELENE is not set +# +# Common Interface (EN50221) controller drivers +# +# CONFIG_DVB_CXD2099 is not set +# CONFIG_DVB_SP2 is not set +# end of Customise DVB Frontends +# +# Digital TV options +# +# CONFIG_DVB_NET is not set +# CONFIG_DVB_DYNAMIC_MINORS is not set +# end of Digital TV options + +CONFIG_FB=y +CONFIG_FB_CVITEK=m +CONFIG_SOUND=y +CONFIG_SND=y +# CONFIG_SND_SUPPORT_OLD_API is not set +# CONFIG_SND_PROC_FS is not set +# CONFIG_SND_DRIVERS is not set +CONFIG_SND_HDA_PREALLOC_SIZE=1 +# CONFIG_SND_SPI is not set +# CONFIG_SND_USB is not set +CONFIG_SND_SOC=y +CONFIG_SND_SOC_CV182XA_CV182XAADC=y +CONFIG_SND_SOC_CV182XA_CV182XADAC=y +CONFIG_SND_CV1835_I2S=y +CONFIG_SND_SOC_CV182XAADC=y +CONFIG_SND_SOC_CV182XADAC=y +CONFIG_SND_SOC_CV1835_USE_AUDIO_PLL=y +CONFIG_CV1835_I2S_SUBSYS=y +CONFIG_USB=y +CONFIG_USB_DWC2=y +CONFIG_USB_GADGET=y +CONFIG_MMC=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_CVI=y +CONFIG_BLK_CMDLINE_PARSER=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_CMDLINE_PARTITION=y +CONFIG_EFI_PARTITION=n +CONFIG_DYNAMIC_DEBUG=y +CONFIG_EXT4_FS=y +CONFIG_DMADEVICES=y +CONFIG_DW_DMAC_CVITEK=y +CONFIG_RTC_CLASS=y +# CONFIG_VIRTIO_MENU is not set +CONFIG_STAGING=y +CONFIG_ION=y +CONFIG_ION_SYSTEM_HEAP=y +CONFIG_ION_CARVEOUT_HEAP=y +CONFIG_ION_CMA_HEAP=y +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_CV1835_SYSDMA_REMAP=y +CONFIG_PWM=y +CONFIG_SIFIVE_PLIC=y +CONFIG_ANDROID=y +# CONFIG_MANDATORY_FILE_LOCKING is not set +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +# CONFIG_PROC_PAGE_MONITOR is not set +CONFIG_TMPFS=y +CONFIG_CONFIGFS_FS=y +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_WBUF_VERIFY=y +CONFIG_UBIFS_FS=y +CONFIG_SQUASHFS=y +# CONFIG_SQUASHFS_ZLIB is not set +CONFIG_SQUASHFS_LZ4=y +CONFIG_SQUASHFS_XZ=y +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +CONFIG_ROOT_NFS=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=y +CONFIG_NLS_ISO8859_3=y +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_HW is not set +# CONFIG_XZ_DEC_X86 is not set +# CONFIG_XZ_DEC_POWERPC is not set +# CONFIG_XZ_DEC_IA64 is not set +# CONFIG_XZ_DEC_ARMTHUMB is not set +# CONFIG_XZ_DEC_SPARC is not set +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=0 +CONFIG_PRINTK_TIME=y +CONFIG_DYNAMIC_DEBUG=y +# CONFIG_DEBUG_BUGVERBOSE is not set +CONFIG_DEBUG_INFO=n +CONFIG_DEBUG_INFO_DWARF4=n +CONFIG_GDB_SCRIPTS=y +# CONFIG_ENABLE_MUST_CHECK is not set +CONFIG_DEBUG_FS=y +CONFIG_KALLSYMS=y +CONFIG_FRAME_POINTER=n +CONFIG_DEBUG_MISC=n +CONFIG_RCU_TRACE=n +# CONFIG_SCHED_DEBUG is not set +# CONFIG_DEBUG_PREEMPT is not set +# CONFIG_FTRACE is not set +# CONFIG_RUNTIME_TESTING_MENU is not set +CONFIG_USB_ROLE_SWITCH=y +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_F_ACM=y +CONFIG_USB_U_SERIAL=y +CONFIG_USB_U_ETHER=y +CONFIG_USB_U_AUDIO=y +CONFIG_USB_F_SERIAL=y +CONFIG_USB_F_ECM=y +CONFIG_USB_F_EEM=y +CONFIG_USB_F_RNDIS=y +CONFIG_USB_F_MASS_STORAGE=y +CONFIG_USB_F_FS=y +CONFIG_USB_F_UAC1=y +# buggy driver, need fix +# CONFIG_USB_F_UVC is not set +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONFIGFS_ACM=y +# CONFIG_USB_CONFIGFS_OBEX is not set +# CONFIG_USB_CONFIGFS_NCM is not set +CONFIG_USB_CONFIGFS_ECM=y +# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set +CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_EEM=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +# CONFIG_USB_CONFIGFS_F_LB_SS is not set +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_UEVENT=y +CONFIG_USB_CONFIGFS_F_UAC1=y +# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set +# CONFIG_USB_CONFIGFS_F_UAC2 is not set +# CONFIG_USB_CONFIGFS_F_MIDI is not set +# CONFIG_USB_CONFIGFS_F_HID is not set +CONFIG_USB_CONFIGFS_F_UVC=y +CONFIG_BUG=n +CONFIG_ADVISE_SYSCALLS=n +CONFIG_TIMERFD=n + +# for licheervnano +CONFIG_FB_SIMPLE=y +CONFIG_IP_MULTICAST=y +CONFIG_SND_PROC_FS=y +CONFIG_BT=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BREDR=y +CONFIG_BT_BNEP=y +CONFIG_BT_HIDP=y +CONFIG_BT_HS=y +CONFIG_BT_LE=y +CONFIG_BT_HCIUART=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y +CONFIG_SWAP=y +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_EEM=y +CONFIG_USB_CONFIGFS_ACM=y +CONFIG_USB_F_ACM=y +CONFIG_USB_F_EEM=y +CONFIG_USB_GADGET_VBUS_DRAW=500 +CONFIG_IPV6=y +# CONFIG_IPV6_SIT is not set +CONFIG_PACKET_DIAG=y +CONFIG_UNIX_DIAG=y +CONFIG_NETLINK_DIAG=y +CONFIG_AIC_WLAN_SUPPORT=y +CONFIG_KEYBOARD_GPIO=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_HYNITRON_TS=y +CONFIG_MAGIC_SYSRQ=y +# CONFIG_MAGIC_SYSRQ_SERIAL is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_CLASS_FLASH=y +CONFIG_LEDS_USER=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_CPU=y +CONFIG_LEDS_TRIGGER_CAMERA=y +CONFIG_LEDS_TRIGGER_ACTIVITY=y +CONFIG_LEDS_TRIGGER_NETDEV=y +CONFIG_LEDS_TRIGGER_PANIC=y +CONFIG_V4L2_FLASH_LED_CLASS=y +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y + +# these driver may broken codec driver +# CONFIG_FUSE_FS is not set +# CONFIG_CUSE is not set +# CONFIG_OVERLAY_FS is not set +# CONFIG_NAMESPACES is not set +# CONFIG_UTS_NS is not set +# CONFIG_IPC_NS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +# CONFIG_NET_NS is not set +# CONFIG_CGROUPS is not set +# CONFIG_MEMCG is not set +# CONFIG_BLK_CGROUP is not set +# CONFIG_CGROUP_SCHED is not set +# CONFIG_FAIR_GROUP_SCHED is not set +# CONFIG_CFS_BANDWIDTH is not set +# CONFIG_RT_GROUP_SCHED is not set +# CONFIG_CGROUP_PIDS is not set +# CONFIG_CGROUP_DEVICE is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_EPOLL=y +CONFIG_IO_URING=y +CONFIG_SIGNALFD=y diff --git a/build/boards/sg200x/sg2002_licheearmnano_sd/memmap.py b/build/boards/sg200x/sg2002_licheearmnano_sd/memmap.py new file mode 100755 index 0000000000..4c676f0605 --- /dev/null +++ b/build/boards/sg200x/sg2002_licheearmnano_sd/memmap.py @@ -0,0 +1,85 @@ +SIZE_1M = 0x100000 +SIZE_1K = 1024 + + +# Only attributes in class MemoryMap are generated to .h +class MemoryMap: + # No prefix "CVIMMAP_" for the items in _no_prefix[] + _no_prefix = [ + "CONFIG_SYS_TEXT_BASE" # u-boot's CONFIG_SYS_TEXT_BASE is used without CPP. + ] + + DRAM_BASE = 0x80000000 + DRAM_SIZE = 256 * SIZE_1M + + # ============== + # C906L FreeRTOS + # ============== + FREERTOS_SIZE = 2 * SIZE_1M + # FreeRTOS is at the end of DRAM + FREERTOS_ADDR = DRAM_BASE + DRAM_SIZE - FREERTOS_SIZE + FSBL_C906L_START_ADDR = FREERTOS_ADDR + + # ============================== + # OpenSBI | arm-trusted-firmware + # ============================== + # Monitor is at the begining of DRAM + MONITOR_ADDR = DRAM_BASE + + ATF_SIZE = 512 * SIZE_1K + OPENSBI_SIZE = 512 * SIZE_1K + OPENSBI_FDT_ADDR = MONITOR_ADDR + OPENSBI_SIZE + + # ========================= + # memory@DRAM_BASE in .dts. + # ========================= + # Ignore the area of FreeRTOS in u-boot and kernel + KERNEL_MEMORY_ADDR = DRAM_BASE + KERNEL_MEMORY_SIZE = DRAM_SIZE - FREERTOS_SIZE + + # ================= + # Multimedia buffer. Used by u-boot/kernel/FreeRTOS + # ================= + ION_SIZE = 75 * SIZE_1M + H26X_BITSTREAM_SIZE = 2 * SIZE_1M + H26X_ENC_BUFF_SIZE = 0 + ISP_MEM_BASE_SIZE = 20 * SIZE_1M + FREERTOS_RESERVED_ION_SIZE = H26X_BITSTREAM_SIZE + H26X_ENC_BUFF_SIZE + ISP_MEM_BASE_SIZE + + # ION after FreeRTOS + ION_ADDR = FREERTOS_ADDR - ION_SIZE + + # Buffers of the fast image are inside the ION buffer + H26X_BITSTREAM_ADDR = ION_ADDR + H26X_ENC_BUFF_ADDR = H26X_BITSTREAM_ADDR + H26X_BITSTREAM_SIZE + ISP_MEM_BASE_ADDR = H26X_ENC_BUFF_ADDR + H26X_ENC_BUFF_SIZE + + assert ISP_MEM_BASE_ADDR + ISP_MEM_BASE_SIZE <= ION_ADDR + ION_SIZE + + # Boot logo is after the ION buffer + # Framebuffer uses boot logo's reserved memory + BOOTLOGO_SIZE = 8000 * SIZE_1K + BOOTLOGO_ADDR = ION_ADDR - BOOTLOGO_SIZE + FRAMEBUFFER_SIZE = BOOTLOGO_SIZE + FRAMEBUFFER_ADDR = BOOTLOGO_ADDR + + # =================== + # FSBL and u-boot-2021 + # =================== + CVI_UPDATE_HEADER_SIZE = SIZE_1K + UIMAG_SIZE = 16 * SIZE_1M + + # kernel image loading buffer + UIMAG_ADDR = DRAM_BASE + 24 * SIZE_1M + CVI_UPDATE_HEADER_ADDR = UIMAG_ADDR - CVI_UPDATE_HEADER_SIZE + + # FSBL decompress buffer + FSBL_UNZIP_ADDR = UIMAG_ADDR + FSBL_UNZIP_SIZE = UIMAG_SIZE + + assert UIMAG_ADDR + UIMAG_SIZE <= BOOTLOGO_ADDR + + # u-boot's run address and entry point + CONFIG_SYS_TEXT_BASE = DRAM_BASE + 2 * SIZE_1M + # u-boot's init stack point is only used before board_init_f() + CONFIG_SYS_INIT_SP_ADDR = UIMAG_ADDR + UIMAG_SIZE diff --git a/build/boards/sg200x/sg2002_licheearmnano_sd/partition/partition_sd.xml b/build/boards/sg200x/sg2002_licheearmnano_sd/partition/partition_sd.xml new file mode 100644 index 0000000000..fe8e77e7c6 --- /dev/null +++ b/build/boards/sg200x/sg2002_licheearmnano_sd/partition/partition_sd.xml @@ -0,0 +1,4 @@ + + + + diff --git a/build/boards/sg200x/sg2002_licheearmnano_sd/sg2002_licheearmnano_sd_defconfig b/build/boards/sg200x/sg2002_licheearmnano_sd/sg2002_licheearmnano_sd_defconfig new file mode 100644 index 0000000000..158e74d73d --- /dev/null +++ b/build/boards/sg200x/sg2002_licheearmnano_sd/sg2002_licheearmnano_sd_defconfig @@ -0,0 +1,25 @@ +CONFIG_CHIP_sg2002=y +CONFIG_BOARD_licheearmnano_sd=y +CONFIG_DDR_CFG_ddr3_1866_x16=y +CONFIG_ARCH="arm64" +CONFIG_CROSS_COMPILE="aarch64-linux-gnu-" +CONFIG_CROSS_COMPILE_KERNEL="aarch64-linux-gnu-" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_KERNEL_ENTRY_HACK=y +CONFIG_KERNEL_ENTRY_HACK_ADDR="0x80200000" +CONFIG_TOOLCHAIN_GLIBC_ARM64=y +CONFIG_FLASH_SIZE_SHRINK=y +CONFIG_BOOT_IMAGE_SINGLE_DTB=y +# CONFIG_FLASH_SIZE_SHRINK is not set +CONFIG_CP_EXT_WIRELESS=y +CONFIG_STORAGE_TYPE_sd=y +CONFIG_MIPI_PANEL_ZCT2133V1=y +CONFIG_SENSOR_GCORE_GC4653=y +CONFIG_UBOOT_2021_10=y +CONFIG_KERNEL_SRC_5.10=y +CONFIG_KERNEL_LZMA=y +CONFIG_SKIP_RAMDISK=y +CONFIG_SENSOR_TUNING_PARAM_cv181x_src_gcore_gc4653=y +# CONFIG_ROOTFS_OVERLAYFS is not set +# CONFIG_ENABLE_FREERTOS is not set +# CONFIG_TARGET_PACKAGE_GATORD is not set diff --git a/build/boards/sg200x/sg2002_licheearmnano_sd/u-boot/cvi_board_init.c b/build/boards/sg200x/sg2002_licheearmnano_sd/u-boot/cvi_board_init.c new file mode 100644 index 0000000000..dcd3f942d4 --- /dev/null +++ b/build/boards/sg200x/sg2002_licheearmnano_sd/u-boot/cvi_board_init.c @@ -0,0 +1,136 @@ +__attribute__((optimize("O0"))) +// 1.26ms +void suck_loop(uint64_t loop) { + loop = loop * 50 * 100; + uint64_t a; + while (loop > 0) { + a = loop / (uint64_t)99; + a = loop / (uint64_t)77; + a = loop / (uint64_t)55; + a = loop / (uint64_t)33; + a = loop / (uint64_t)11; + a = loop / (uint64_t)999; + a = loop / (uint64_t)777; + a = loop / (uint64_t)555; + a = loop / (uint64_t)333; + a = loop / (uint64_t)111; + a = loop / (uint64_t)9999; + a = loop / (uint64_t)7777; + a = loop / (uint64_t)5555; + a = loop / (uint64_t)3333; + a = loop / (uint64_t)1111; + a = loop / (uint64_t)99999; + a = loop / (uint64_t)77777; + a = loop / (uint64_t)55555; + a = loop / (uint64_t)33333; + a = loop / (uint64_t)11111; + loop--; + } +} + +static inline void user_led_on(void) { + uint32_t val; + + val = mmio_read_32(0x03020000); + val |= (1 << 14); + mmio_write_32(0x03020000, val); +} + +static inline void user_led_off(void) { + uint32_t val; + + val = mmio_read_32(0x03020000); + val &= ~(1 << 14); + mmio_write_32(0x03020000, val); +} + +static inline void user_led_toggle(void) { + uint32_t val; + + val = mmio_read_32(0x03020000); + val ^= (1 << 14); + mmio_write_32(0x03020000, val); +} + +int cvi_board_init(void) +{ + uint32_t val; + + // user led + mmio_write_32(0x03001038, 0x3); // GPIOA 14 GPIO_MODE + val = mmio_read_32(0x03020004); // GPIOA DIR + val |= (1 << 14); // output + mmio_write_32(0x03020004, val); + user_led_toggle(); + + // wifi power reset + mmio_write_32(0x0300104C, 0x3); // GPIOA 26 + val = mmio_read_32(0x03020004); // GPIOA DIR + val |= (1 << 26); // output + mmio_write_32(0x03020004, val); + + val = mmio_read_32(0x03020000); // signal level + val &= ~(1 << 26); // set level to low + mmio_write_32(0x03020000, val); + + suck_loop(200); + user_led_toggle(); + + val = mmio_read_32(0x03020000); // signal level + val |= (1 << 26); // set level to high + mmio_write_32(0x03020000, val); + + // wifi sdio pinmux + mmio_write_32(0x030010D0, 0x0); // D3 + mmio_write_32(0x030010D4, 0x0); // D2 + mmio_write_32(0x030010D8, 0x0); // D1 + mmio_write_32(0x030010DC, 0x0); // D0 + mmio_write_32(0x030010E0, 0x0); // CMD + mmio_write_32(0x030010E4, 0x0); // CLK + + // uart bluetooth + mmio_write_32(0x03001070, 0x1); // GPIOA 28 UART1 TX + mmio_write_32(0x03001074, 0x1); // GPIOA 29 UART1 RX + mmio_write_32(0x03001068, 0x4); // GPIOA 18 UART1 CTS + mmio_write_32(0x03001064, 0x4); // GPIOA 19 UART1 RTS + + // PWM + //mmio_write_32(0x03001068, 0x2); // GPIOA 18 PWM 6 + + // lcd reset + mmio_write_32(0x030010A4, 0x0); // PWRGPIO 0 GPIO_MODE + + user_led_toggle(); + // lcd backlight + //mmio_write_32(0x030010EC, 0x0); // GPIOB 0 PWM0_BUCK + // for licheervnano alpha + val = mmio_read_32(0x03021000); // signal level + val |= (1 << 0); // set level to high + mmio_write_32(0x03021000, val); + val = mmio_read_32(0x03021004); // GPIOB DIR + val |= (1 << 0); // output + mmio_write_32(0x03021004, val); + mmio_write_32(0x030010EC, 0x3); // GPIOB 0 GPIO_MODE + + // for licheervnano beta + mmio_write_32(0x030010ac, 0x4); // PWRGPIO 2 PWM 10 + + // camera function + //mmio_write_32(0x0300116C, 0x5); // RX4N CAM_MCLK0 for inside preview board + mmio_write_32(0x0300118C, 0x5); // RX0N CAM_MCLK1 + + // camera/tp i2c + mmio_write_32(0x03001090, 0x5); // PWR_GPIO6 IIC4_SCL + mmio_write_32(0x03001098, 0x5); // PWR_GPIO8 IIC4_SDA + + // tp function + mmio_write_32(0x03001084, 0x3); // PWR_SEQ1 PWR_GPIO[3] + mmio_write_32(0x03001088, 0x3); // PWR_SEQ2 PWR_GPIO[4] + mmio_write_32(0x05027078, 0x11);// Unlock PWR_GPIO[3] + mmio_write_32(0x0502707c, 0x11);// Unlock PWR_GPIO[4] + + // wait hardware bootup + suck_loop(100); + user_led_off(); + return 0; +} diff --git a/build/boards/sg200x/sg2002_licheearmnano_sd/u-boot/cvitek.h b/build/boards/sg200x/sg2002_licheearmnano_sd/u-boot/cvitek.h new file mode 100644 index 0000000000..e69de29bb2 diff --git a/build/boards/sg200x/sg2002_licheearmnano_sd/u-boot/sg2002_licheearmnano_sd_defconfig b/build/boards/sg200x/sg2002_licheearmnano_sd/u-boot/sg2002_licheearmnano_sd_defconfig new file mode 100644 index 0000000000..d242825b0f --- /dev/null +++ b/build/boards/sg200x/sg2002_licheearmnano_sd/u-boot/sg2002_licheearmnano_sd_defconfig @@ -0,0 +1,66 @@ +CONFIG_ARM=y +CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_NR_DRAM_BANKS=1 +CONFIG_DEFAULT_DEVICE_TREE="soph_asic" +CONFIG_IDENT_STRING=" soph" +CONFIG_TARGET_CVITEK_CV181X=y +CONFIG_DISTRO_DEFAULTS=y +CONFIG_FIT=y +# CONFIG_ARCH_FIXUP_FDT_MEMORY is not set +CONFIG_BOOTDELAY=1 +CONFIG_SYS_PROMPT="soph# " +# CONFIG_CMD_CONSOLE is not set +# CONFIG_CMD_XIMG is not set +# CONFIG_CMD_EDITENV is not set +# CONFIG_CMD_CRC32 is not set +# CONFIG_CMD_LZMADEC is not set +# CONFIG_CMD_UNLZ4 is not set +# CONFIG_CMD_UNZIP is not set +# CONFIG_CMD_LOADS is not set +CONFIG_CMD_MMC=y +# CONFIG_CMD_ITEST is not set +CONFIG_CMD_CACHE=y +CONFIG_CMD_CVI_SD_UPDATE=y +# CONFIG_ISO_PARTITION is not set +# CONFIG_EFI_PARTITION is not set +CONFIG_NET_RANDOM_ETHADDR=y +CONFIG_MMC=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_SDMA=y +CONFIG_MMC_SDHCI_CVITEK=y +CONFIG_MTD=y +# CONFIG_PHY_SMSC is not set +CONFIG_DM_ETH=y +CONFIG_ETH_DESIGNWARE=y +CONFIG_PHY_CVITEK=y +CONFIG_SYS_NS16550=y +CONFIG_SPI=y +CONFIG_LZ4=y +CONFIG_LZMA=y +# CONFIG_TOOLS_LIBCRYPTO is not set +CONFIG_ENV_IS_NOWHERE=y + +# for licheervnano +CONFIG_UDP_FUNCTION_FASTBOOT=y +CONFIG_FASTBOOT_FLASH=y +CONFIG_FASTBOOT_BUF_ADDR=0x81800000 +CONFIG_FASTBOOT_BUF_SIZE=0x1000000 +CONFIG_FASTBOOT_FLASH_MMC_DEV=0 +CONFIG_DISPLAY=y +CONFIG_DM_VIDEO=y +CONFIG_DM_GPIO=y +CONFIG_DWAPB_GPIO=y +CONFIG_CMD_VIDCONSOLE=y +CONFIG_VIDEO_BPP16=y +CONFIG_VIDEO_BPP32=y +CONFIG_VIDEO_CVITEK=y +CONFIG_DISPLAY_CVITEK_MIPI=y +CONFIG_BMP_16BPP=y +CONFIG_BMP_24BPP=y +CONFIG_BMP_32BPP=y +CONFIG_BOOTLOGO=y +CONFIG_CMD_CVI_VO=y +CONFIG_CMD_GPIO=y + +CONFIG_MMC_IO_VOLTAGE=y +CONFIG_MMC_UHS_SUPPORT=y diff --git a/build/boards/sg200x/sg2002_licheervnano_sd/u-boot/cvi_board_init.c b/build/boards/sg200x/sg2002_licheervnano_sd/u-boot/cvi_board_init.c index 7b58b4e4b1..dcd3f942d4 100644 --- a/build/boards/sg200x/sg2002_licheervnano_sd/u-boot/cvi_board_init.c +++ b/build/boards/sg200x/sg2002_licheervnano_sd/u-boot/cvi_board_init.c @@ -116,7 +116,8 @@ int cvi_board_init(void) mmio_write_32(0x030010ac, 0x4); // PWRGPIO 2 PWM 10 // camera function - mmio_write_32(0x0300116C, 0x5); // RX4N CAM_MCLK0 + //mmio_write_32(0x0300116C, 0x5); // RX4N CAM_MCLK0 for inside preview board + mmio_write_32(0x0300118C, 0x5); // RX0N CAM_MCLK1 // camera/tp i2c mmio_write_32(0x03001090, 0x5); // PWR_GPIO6 IIC4_SCL diff --git a/host/archlinux/Dockerfile b/host/archlinux/Dockerfile new file mode 100755 index 0000000000..24c26da24b --- /dev/null +++ b/host/archlinux/Dockerfile @@ -0,0 +1,16 @@ +FROM archlinux:latest + +RUN pacman -Syu --noconfirm \ + && pacman -S --noconfirm gcc clang flex bison ccache \ + pkg-config ninja automake autoconf libtool \ + wget curl git bc slib squashfs-tools \ + rsync jq cmake openssh tree parallel \ + python3 python-pip tcl scons dtc cpio \ + fakeroot fakechroot bzr ncurses cvs file \ + mercurial unzip subversion gawk diffstat \ + texinfo chrpath socat ckermit neovim zstd \ + cscope confuse dosfstools gettext e2fsprogs \ + make + +RUN echo en_US.UTF-8 UTF-8 >> /etc/locale.gen +RUN locale-gen diff --git a/host/debian/Dockerfile b/host/debian/Dockerfile new file mode 100755 index 0000000000..0a5ccbff44 --- /dev/null +++ b/host/debian/Dockerfile @@ -0,0 +1,23 @@ +FROM debian:latest + +ENV DEBIAN_FRONTEND noninteractive + +RUN ldconfig && apt update -y && \ + apt install -y pkg-config build-essential ninja-build\ + automake autoconf libtool wget curl git gcc libssl-dev bc\ + slib squashfs-tools android-sdk-libsparse-utils rsync\ + jq cmake python3-distutils tclsh scons parallel ssh-client tree\ + python3-dev python3-pip device-tree-compiler libssl-dev ssh cpio\ + squashfs-tools fakeroot libncurses5-dev flex bison\ + android-libext4-utils bdebstrap proot fakeroot fakechroot\ + bzr ca-certificates cvs file locales mercurial python3\ + python3-flake8 python3-nose2 python3-pexpect subversion\ + unzip ccache gawk diffstat texinfo chrpath socat\ + python3-pip python3-pexpect xz-utils debianutils\ + iputils-ping python3-git python3-jinja2 python3-subunit\ + zstd liblz4-tool libacl1 parted erofs-utils genext2fs mtools\ + fatcat ckermit neovim cscope asciinema libconfuse-dev dosfstools\ + gettext autoconf-archive clang + +RUN echo en_US.UTF-8 UTF-8 >> /etc/locale.gen +RUN locale-gen diff --git a/host/fedora/Dockerfile b/host/fedora/Dockerfile new file mode 100755 index 0000000000..0abf0715e0 --- /dev/null +++ b/host/fedora/Dockerfile @@ -0,0 +1,15 @@ +FROM fedora:latest + +RUN echo en_US.UTF-8 UTF-8 >> /etc/locale.gen + +RUN dnf update -y && \ + dnf install -y pkg-config ninja-build \ + automake autoconf libtool wget curl git gcc gcc-c++ \ + slib squashfs-tools rsync jq cmake tcl scons parallel \ + openssh tree python-devel dtc openssl-devel cpio \ + squashfs-tools fakeroot ncurses-devel flex bison \ + fakechroot bzr cvs file mercurial subversion \ + unzip ccache gawk diffstat texinfo chrpath socat\ + xz zstd lz4 libacl parted mtools ckermit neovim \ + cscope asciinema libconfuse-devel dosfstools \ + gettext autoconf-archive clang bc diff --git a/host/Dockerfile b/host/ubuntu/Dockerfile similarity index 93% rename from host/Dockerfile rename to host/ubuntu/Dockerfile index 1260a0d710..5e7d8433e3 100755 --- a/host/Dockerfile +++ b/host/ubuntu/Dockerfile @@ -2,9 +2,6 @@ FROM ubuntu:22.04 ENV DEBIAN_FRONTEND noninteractive -COPY libssl.so.1.1 /usr/local/lib/ -COPY libcrypto.so.1.1 /usr/local/lib/ - RUN ldconfig && apt update -y && \ apt install -y pkg-config build-essential ninja-build\ automake autoconf libtool wget curl git gcc libssl-dev bc\