├── scripts ├── u-boot-hi3516cv200.sh ├── u-boot-hi3516cv300.sh ├── u-boot-hi3516av100.sh ├── u-boot-hi3516cv500.sh ├── u-boot-hi3516ev200.sh └── u-boot-hi3516cv100.sh ├── README.md ├── LICENSE ├── patches ├── u-boot-hi3516av100.patch ├── u-boot-hi3516cv200.patch ├── u-boot-hi3516cv300.patch └── u-boot-hi3516cv100.patch └── .github └── workflows └── master.yml /scripts/u-boot-hi3516cv200.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export CROSS_COMPILE=arm-linux-gnueabi- 4 | mkdir -p output 5 | 6 | for soc in hi3516cv200 hi3518ev200; do 7 | 8 | make clean 9 | make ${soc}_config 10 | 11 | cp reg_info_${soc}.bin .reg 12 | make -j8 13 | 14 | make mini-boot.bin 15 | cp mini-boot.bin output/u-boot-${soc}-universal.bin 16 | 17 | done 18 | -------------------------------------------------------------------------------- /scripts/u-boot-hi3516cv300.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export CROSS_COMPILE=arm-linux-gnueabi- 4 | mkdir -p output 5 | 6 | for soc in hi3516cv300 hi3516ev100; do 7 | 8 | make clean 9 | make ${soc}_config 10 | 11 | cp reg_info_${soc}.bin .reg 12 | make -j8 13 | 14 | make mini-boot.bin 15 | cp mini-boot.bin output/u-boot-${soc}-universal.bin 16 | 17 | done 18 | -------------------------------------------------------------------------------- /scripts/u-boot-hi3516av100.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export CROSS_COMPILE=arm-linux-gnueabi- 4 | mkdir -p output 5 | 6 | for soc in hi3516a hi3516d; do 7 | 8 | sed -i "s|hi3516.v100|${soc}v100|" include/configs/hi3516a.h 9 | make clean 10 | make hi3516a_config 11 | 12 | cp reg_info_${soc}.bin .reg 13 | make -j8 14 | 15 | make mini-boot.bin 16 | cp mini-boot.bin output/u-boot-${soc}v100-universal.bin 17 | 18 | done 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![OpenIPC logo][logo] 2 | 3 | ## Internal Workflow System 4 | 5 | [![Telegram](https://openipc.org/images/telegram_button.svg)][telegram] 6 | 7 | **Experimental continuous integration for U-Boot on OpenIPC supported cameras.** 8 | - **[Current releases](https://github.com/OpenIPC/distributor/releases/tag/latest)** 9 | 10 | [logo]: https://openipc.org/assets/openipc-logo-black.svg 11 | [telegram]: https://t.me/OpenIPC 12 | -------------------------------------------------------------------------------- /scripts/u-boot-hi3516cv500.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export CROSS_COMPILE=arm-linux-gnueabi- 4 | mkdir -p output 5 | 6 | for soc in hi3516av300 hi3516cv500 hi3516dv300; do 7 | 8 | make clean 9 | make ${soc}_smp_defconfig 10 | cp reginfo-${soc}.bin .reg 11 | make -j8 12 | 13 | make SHELL=/bin/bash -C tools/hi_gzip 14 | cp -f tools/hi_gzip/bin/gzip arch/arm/cpu/armv7/${soc}/hw_compressed 15 | 16 | make u-boot-z.bin 17 | cp u-boot-${soc}.bin output/u-boot-${soc}-universal.bin 18 | 19 | done 20 | -------------------------------------------------------------------------------- /scripts/u-boot-hi3516ev200.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export CROSS_COMPILE=arm-linux-gnueabi- 4 | mkdir -p output 5 | 6 | for soc in hi3516ev200 hi3516ev300 hi3518ev300; do 7 | 8 | make clean 9 | cp config-${soc} .config 10 | cp reg_info_${soc}.bin .reg 11 | make -j8 12 | 13 | make SHELL=/bin/bash -C tools/hi_gzip 14 | cp -f tools/hi_gzip/bin/gzip arch/arm/cpu/armv7/${soc}/hw_compressed 15 | 16 | make u-boot-z.bin 17 | cp u-boot-${soc}.bin output/u-boot-${soc}-universal.bin 18 | 19 | done 20 | -------------------------------------------------------------------------------- /scripts/u-boot-hi3516cv100.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | export CROSS_COMPILE=arm-linux-gnueabi- 4 | mkdir -p output 5 | 6 | for soc in hi3516c hi3518c hi3518e; do 7 | 8 | make clean 9 | make ${soc}_config 10 | make -j8 11 | 12 | dd if=u-boot.bin of=tmp1 bs=1 count=64 13 | dd if=reg_info_${soc}v100.reg of=tmp2 bs=4096 conv=sync 14 | dd if=u-boot.bin of=tmp3 bs=1 skip=4160 15 | cat tmp1 tmp2 tmp3 > u-boot-${soc}.bin 16 | rm -f tmp1 tmp2 tmp3 17 | 18 | cp u-boot-${soc}.bin output/u-boot-${soc}v100-universal.bin 19 | 20 | done 21 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 OpenIPC 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /patches/u-boot-hi3516av100.patch: -------------------------------------------------------------------------------- 1 | diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c 2 | index 9515622..d310faf 100644 3 | --- a/arch/arm/lib/board.c 4 | +++ b/arch/arm/lib/board.c 5 | @@ -104,23 +104,23 @@ extern int check_ddr_training(void); 6 | ************************************************************************ 7 | * May be supplied by boards if desired 8 | */ 9 | -void inline __coloured_LED_init (void) {} 10 | +void __coloured_LED_init (void) {} 11 | void coloured_LED_init (void) __attribute__((weak, alias("__coloured_LED_init"))); 12 | -void inline __red_LED_on (void) {} 13 | +void __red_LED_on (void) {} 14 | void red_LED_on (void) __attribute__((weak, alias("__red_LED_on"))); 15 | -void inline __red_LED_off(void) {} 16 | +void __red_LED_off(void) {} 17 | void red_LED_off(void) __attribute__((weak, alias("__red_LED_off"))); 18 | -void inline __green_LED_on(void) {} 19 | +void __green_LED_on(void) {} 20 | void green_LED_on(void) __attribute__((weak, alias("__green_LED_on"))); 21 | -void inline __green_LED_off(void) {} 22 | +void __green_LED_off(void) {} 23 | void green_LED_off(void) __attribute__((weak, alias("__green_LED_off"))); 24 | -void inline __yellow_LED_on(void) {} 25 | +void __yellow_LED_on(void) {} 26 | void yellow_LED_on(void) __attribute__((weak, alias("__yellow_LED_on"))); 27 | -void inline __yellow_LED_off(void) {} 28 | +void __yellow_LED_off(void) {} 29 | void yellow_LED_off(void) __attribute__((weak, alias("__yellow_LED_off"))); 30 | -void inline __blue_LED_on(void) {} 31 | +void __blue_LED_on(void) {} 32 | void blue_LED_on(void) __attribute__((weak, alias("__blue_LED_on"))); 33 | -void inline __blue_LED_off(void) {} 34 | +void __blue_LED_off(void) {} 35 | void blue_LED_off(void) __attribute__((weak, alias("__blue_LED_off"))); 36 | 37 | /************************************************************************ 38 | diff --git a/common/main.c b/common/main.c 39 | index 933864e..3fbaf57 100644 40 | --- a/common/main.c 41 | +++ b/common/main.c 42 | @@ -48,7 +48,7 @@ DECLARE_GLOBAL_DATA_PTR; 43 | /* 44 | * Board-specific Platform code can reimplement show_boot_progress () if needed 45 | */ 46 | -void inline __show_boot_progress (int val) {} 47 | +void __show_boot_progress (int val) {} 48 | void show_boot_progress (int val) __attribute__((weak, alias("__show_boot_progress"))); 49 | 50 | #if defined(CONFIG_BOOT_RETRY_TIME) && defined(CONFIG_RESET_TO_RETRY) 51 | diff --git a/lib/time.c b/lib/time.c 52 | index a309c26..60ea897 100644 53 | --- a/lib/time.c 54 | +++ b/lib/time.c 55 | @@ -41,3 +41,9 @@ void udelay(unsigned long usec) 56 | usec -= kv; 57 | } while(usec); 58 | } 59 | + 60 | +void wait_ms(unsigned long msec) 61 | +{ 62 | + while (msec--) 63 | + udelay(1000); 64 | +} 65 | -------------------------------------------------------------------------------- /patches/u-boot-hi3516cv200.patch: -------------------------------------------------------------------------------- 1 | diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c 2 | index 5d8116b..1e1cf81 100644 3 | --- a/arch/arm/lib/board.c 4 | +++ b/arch/arm/lib/board.c 5 | @@ -104,23 +104,23 @@ extern int check_ddr_training(void); 6 | ************************************************************************ 7 | * May be supplied by boards if desired 8 | */ 9 | -void inline __coloured_LED_init (void) {} 10 | +void __coloured_LED_init (void) {} 11 | void coloured_LED_init (void) __attribute__((weak, alias("__coloured_LED_init"))); 12 | -void inline __red_LED_on (void) {} 13 | +void __red_LED_on (void) {} 14 | void red_LED_on (void) __attribute__((weak, alias("__red_LED_on"))); 15 | -void inline __red_LED_off(void) {} 16 | +void __red_LED_off(void) {} 17 | void red_LED_off(void) __attribute__((weak, alias("__red_LED_off"))); 18 | -void inline __green_LED_on(void) {} 19 | +void __green_LED_on(void) {} 20 | void green_LED_on(void) __attribute__((weak, alias("__green_LED_on"))); 21 | -void inline __green_LED_off(void) {} 22 | +void __green_LED_off(void) {} 23 | void green_LED_off(void) __attribute__((weak, alias("__green_LED_off"))); 24 | -void inline __yellow_LED_on(void) {} 25 | +void __yellow_LED_on(void) {} 26 | void yellow_LED_on(void) __attribute__((weak, alias("__yellow_LED_on"))); 27 | -void inline __yellow_LED_off(void) {} 28 | +void __yellow_LED_off(void) {} 29 | void yellow_LED_off(void) __attribute__((weak, alias("__yellow_LED_off"))); 30 | -void inline __blue_LED_on(void) {} 31 | +void __blue_LED_on(void) {} 32 | void blue_LED_on(void) __attribute__((weak, alias("__blue_LED_on"))); 33 | -void inline __blue_LED_off(void) {} 34 | +void __blue_LED_off(void) {} 35 | void blue_LED_off(void) __attribute__((weak, alias("__blue_LED_off"))); 36 | 37 | /************************************************************************ 38 | diff --git a/common/Makefile b/common/Makefile 39 | index 580bb3a..433f033 100644 40 | --- a/common/Makefile 41 | +++ b/common/Makefile 42 | @@ -341,11 +341,9 @@ endif #/*end CONFIG_HIFMC_NAND*/ 43 | endif #/*end CONFIG_HI3556*/ 44 | endif #/*end arm-hisiv600-linux-*/ 45 | 46 | -ifeq ($(CROSS_COMPILE),arm-hisiv510-linux-) 47 | ifdef CONFIG_HI3518EV200 48 | cp cmd_bootss2_v510_hi3518ev200 bootss2.a -rf 49 | endif 50 | -endif 51 | 52 | ifeq ($(CROSS_COMPILE),arm-hisiv610-linux-) 53 | ifdef CONFIG_HI3518EV200 54 | diff --git a/common/main.c b/common/main.c 55 | index 933864e..3fbaf57 100644 56 | --- a/common/main.c 57 | +++ b/common/main.c 58 | @@ -48,7 +48,7 @@ DECLARE_GLOBAL_DATA_PTR; 59 | /* 60 | * Board-specific Platform code can reimplement show_boot_progress () if needed 61 | */ 62 | -void inline __show_boot_progress (int val) {} 63 | +void __show_boot_progress (int val) {} 64 | void show_boot_progress (int val) __attribute__((weak, alias("__show_boot_progress"))); 65 | 66 | #if defined(CONFIG_BOOT_RETRY_TIME) && defined(CONFIG_RESET_TO_RETRY) 67 | diff --git a/lib/time.c b/lib/time.c 68 | index a309c26..60ea897 100644 69 | --- a/lib/time.c 70 | +++ b/lib/time.c 71 | @@ -41,3 +41,9 @@ void udelay(unsigned long usec) 72 | usec -= kv; 73 | } while(usec); 74 | } 75 | + 76 | +void wait_ms(unsigned long msec) 77 | +{ 78 | + while (msec--) 79 | + udelay(1000); 80 | +} 81 | -------------------------------------------------------------------------------- /patches/u-boot-hi3516cv300.patch: -------------------------------------------------------------------------------- 1 | diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c 2 | index 5d8116b..1e1cf81 100644 3 | --- a/arch/arm/lib/board.c 4 | +++ b/arch/arm/lib/board.c 5 | @@ -104,23 +104,23 @@ extern int check_ddr_training(void); 6 | ************************************************************************ 7 | * May be supplied by boards if desired 8 | */ 9 | -void inline __coloured_LED_init (void) {} 10 | +void __coloured_LED_init (void) {} 11 | void coloured_LED_init (void) __attribute__((weak, alias("__coloured_LED_init"))); 12 | -void inline __red_LED_on (void) {} 13 | +void __red_LED_on (void) {} 14 | void red_LED_on (void) __attribute__((weak, alias("__red_LED_on"))); 15 | -void inline __red_LED_off(void) {} 16 | +void __red_LED_off(void) {} 17 | void red_LED_off(void) __attribute__((weak, alias("__red_LED_off"))); 18 | -void inline __green_LED_on(void) {} 19 | +void __green_LED_on(void) {} 20 | void green_LED_on(void) __attribute__((weak, alias("__green_LED_on"))); 21 | -void inline __green_LED_off(void) {} 22 | +void __green_LED_off(void) {} 23 | void green_LED_off(void) __attribute__((weak, alias("__green_LED_off"))); 24 | -void inline __yellow_LED_on(void) {} 25 | +void __yellow_LED_on(void) {} 26 | void yellow_LED_on(void) __attribute__((weak, alias("__yellow_LED_on"))); 27 | -void inline __yellow_LED_off(void) {} 28 | +void __yellow_LED_off(void) {} 29 | void yellow_LED_off(void) __attribute__((weak, alias("__yellow_LED_off"))); 30 | -void inline __blue_LED_on(void) {} 31 | +void __blue_LED_on(void) {} 32 | void blue_LED_on(void) __attribute__((weak, alias("__blue_LED_on"))); 33 | -void inline __blue_LED_off(void) {} 34 | +void __blue_LED_off(void) {} 35 | void blue_LED_off(void) __attribute__((weak, alias("__blue_LED_off"))); 36 | 37 | /************************************************************************ 38 | diff --git a/common/Makefile b/common/Makefile 39 | index 580bb3a..4cd4257 100644 40 | --- a/common/Makefile 41 | +++ b/common/Makefile 42 | @@ -249,7 +249,6 @@ else 43 | endif 44 | endif 45 | 46 | -ifeq ($(CROSS_COMPILE),arm-hisiv500-linux-) 47 | ifdef CONFIG_HI3516CV300 48 | cp cmd_bootss2_v500_hi3516cv300 bootss2.a -rf 49 | endif #/* end CONFIG_HI3516CV300 */ 50 | @@ -293,7 +292,6 @@ else 51 | cp cmd_bootss2_v500_hi3559 bootss2.a -rf 52 | endif #/*end CONFIG_HIFMC_NAND*/ 53 | endif #/*end CONFIG_HI3556*/ 54 | -endif #/*end arm-hisiv500-linux-*/ 55 | 56 | ifeq ($(CROSS_COMPILE),arm-hisiv600-linux-) 57 | ifdef CONFIG_HI3516CV300 58 | diff --git a/common/main.c b/common/main.c 59 | index 933864e..3fbaf57 100644 60 | --- a/common/main.c 61 | +++ b/common/main.c 62 | @@ -48,7 +48,7 @@ DECLARE_GLOBAL_DATA_PTR; 63 | /* 64 | * Board-specific Platform code can reimplement show_boot_progress () if needed 65 | */ 66 | -void inline __show_boot_progress (int val) {} 67 | +void __show_boot_progress (int val) {} 68 | void show_boot_progress (int val) __attribute__((weak, alias("__show_boot_progress"))); 69 | 70 | #if defined(CONFIG_BOOT_RETRY_TIME) && defined(CONFIG_RESET_TO_RETRY) 71 | diff --git a/lib/time.c b/lib/time.c 72 | index a309c26..60ea897 100644 73 | --- a/lib/time.c 74 | +++ b/lib/time.c 75 | @@ -41,3 +41,9 @@ void udelay(unsigned long usec) 76 | usec -= kv; 77 | } while(usec); 78 | } 79 | + 80 | +void wait_ms(unsigned long msec) 81 | +{ 82 | + while (msec--) 83 | + udelay(1000); 84 | +} 85 | -------------------------------------------------------------------------------- /.github/workflows/master.yml: -------------------------------------------------------------------------------- 1 | name: Build 2 | on: 3 | push: 4 | branches: 5 | - master 6 | workflow_dispatch: 7 | 8 | env: 9 | TAG_NAME: latest 10 | 11 | jobs: 12 | build: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - name: Checkout 16 | uses: actions/checkout@v4 17 | 18 | - name: Prepare 19 | run: | 20 | sudo apt-get update 21 | sudo apt-get install gcc-arm-linux-gnueabi gcc-mipsel-linux-gnu u-boot-tools lzop 22 | 23 | - name: u-boot-hi3516av100 24 | run: | 25 | git clone https://github.com/openipc/u-boot-hi3516av100.git --depth 1 26 | cd u-boot-hi3516av100 27 | git apply ../patches/u-boot-hi3516av100.patch 28 | cp -f ../scripts/u-boot-hi3516av100.sh build.sh 29 | bash build.sh 30 | 31 | - name: u-boot-hi3516cv100 32 | run: | 33 | git clone https://github.com/openipc/u-boot-hi3516cv100.git --depth 1 34 | cd u-boot-hi3516cv100 35 | git apply ../patches/u-boot-hi3516cv100.patch 36 | cp -f ../scripts/u-boot-hi3516cv100.sh build.sh 37 | bash build.sh 38 | 39 | - name: u-boot-hi3516cv200 40 | run: | 41 | git clone https://github.com/openipc/u-boot-hi3516cv200.git --depth 1 42 | cd u-boot-hi3516cv200 43 | git apply ../patches/u-boot-hi3516cv200.patch 44 | cp -f ../scripts/u-boot-hi3516cv200.sh build.sh 45 | bash build.sh 46 | 47 | - name: u-boot-hi3516cv300 48 | run: | 49 | git clone https://github.com/openipc/u-boot-hi3516cv300.git --depth 1 50 | cd u-boot-hi3516cv300 51 | git apply ../patches/u-boot-hi3516cv300.patch 52 | cp -f ../scripts/u-boot-hi3516cv300.sh build.sh 53 | bash build.sh 54 | 55 | - name: u-boot-hi3516cv500 56 | run: | 57 | git clone https://github.com/openipc/u-boot-hi3516cv500.git --depth 1 58 | cd u-boot-hi3516cv500 59 | cp -f ../scripts/u-boot-hi3516cv500.sh build.sh 60 | bash build.sh 61 | 62 | - name: u-boot-hi3516ev200 63 | run: | 64 | git clone https://github.com/openipc/u-boot-hi3516ev200.git --depth 1 65 | cd u-boot-hi3516ev200 66 | cp -f ../scripts/u-boot-hi3516ev200.sh build.sh 67 | bash build.sh 68 | 69 | - name: u-boot-ingenic 70 | run: | 71 | git clone https://github.com/openipc/u-boot-ingenic.git --depth 1 72 | cd u-boot-ingenic 73 | bash build.sh 74 | 75 | - name: u-boot-sigmastar 76 | run: | 77 | git clone https://github.com/openipc/u-boot-sigmastar.git --depth 1 78 | cd u-boot-sigmastar 79 | bash build.sh 80 | 81 | - name: Upload 82 | uses: softprops/action-gh-release@v2 83 | with: 84 | tag_name: ${{env.TAG_NAME}} 85 | files: | 86 | u-boot-hi3516av100/output/u-boot-hi3516av100-universal.bin 87 | u-boot-hi3516av100/output/u-boot-hi3516dv100-universal.bin 88 | u-boot-hi3516cv100/output/u-boot-hi3516cv100-universal.bin 89 | u-boot-hi3516cv100/output/u-boot-hi3518cv100-universal.bin 90 | u-boot-hi3516cv100/output/u-boot-hi3518ev100-universal.bin 91 | u-boot-hi3516cv200/output/u-boot-hi3516cv200-universal.bin 92 | u-boot-hi3516cv200/output/u-boot-hi3518ev200-universal.bin 93 | u-boot-hi3516cv300/output/u-boot-hi3516cv300-universal.bin 94 | u-boot-hi3516cv300/output/u-boot-hi3516ev100-universal.bin 95 | u-boot-hi3516cv500/output/u-boot-hi3516av300-universal.bin 96 | u-boot-hi3516cv500/output/u-boot-hi3516cv500-universal.bin 97 | u-boot-hi3516cv500/output/u-boot-hi3516dv300-universal.bin 98 | u-boot-hi3516ev200/output/u-boot-hi3516ev200-universal.bin 99 | u-boot-hi3516ev200/output/u-boot-hi3516ev300-universal.bin 100 | u-boot-hi3516ev200/output/u-boot-hi3518ev300-universal.bin 101 | u-boot-ingenic/output/u-boot-t10-nor.bin 102 | u-boot-ingenic/output/u-boot-t10l-nor.bin 103 | u-boot-ingenic/output/u-boot-t20-nor.bin 104 | u-boot-ingenic/output/u-boot-t20l-nor.bin 105 | u-boot-ingenic/output/u-boot-t20x-nor.bin 106 | u-boot-ingenic/output/u-boot-t21n-nor.bin 107 | u-boot-ingenic/output/u-boot-t30a-nor.bin 108 | u-boot-ingenic/output/u-boot-t30a1-nor.bin 109 | u-boot-ingenic/output/u-boot-t30l-nor.bin 110 | u-boot-ingenic/output/u-boot-t30n-nor.bin 111 | u-boot-ingenic/output/u-boot-t30x-nor.bin 112 | u-boot-ingenic/output/u-boot-t31a-nor.bin 113 | u-boot-ingenic/output/u-boot-t31al-nor.bin 114 | u-boot-ingenic/output/u-boot-t31l-nor.bin 115 | u-boot-ingenic/output/u-boot-t31lc-nor.bin 116 | u-boot-ingenic/output/u-boot-t31n-nor.bin 117 | u-boot-ingenic/output/u-boot-t31x-nor.bin 118 | u-boot-sigmastar/output/u-boot-ssc30kd-nor.bin 119 | u-boot-sigmastar/output/u-boot-ssc30kq-nor.bin 120 | u-boot-sigmastar/output/u-boot-ssc325-nor.bin 121 | u-boot-sigmastar/output/u-boot-ssc325de-nand.bin 122 | u-boot-sigmastar/output/u-boot-ssc333-nor.bin 123 | u-boot-sigmastar/output/u-boot-ssc335de-nor.bin 124 | u-boot-sigmastar/output/u-boot-ssc335-nor.bin 125 | u-boot-sigmastar/output/u-boot-ssc337de-nor.bin 126 | u-boot-sigmastar/output/u-boot-ssc337de-nand.bin 127 | u-boot-sigmastar/output/u-boot-ssc337-nor.bin 128 | u-boot-sigmastar/output/u-boot-ssc338q-nand.bin 129 | u-boot-sigmastar/output/u-boot-ssc338q-nor.bin 130 | u-boot-sigmastar/output/u-boot-ssc338q-ram.bin 131 | u-boot-sigmastar/output/u-boot-ssc377-nor.bin 132 | -------------------------------------------------------------------------------- /patches/u-boot-hi3516cv100.patch: -------------------------------------------------------------------------------- 1 | diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c 2 | index 8ee3847..70fb245 100644 3 | --- a/arch/arm/lib/board.c 4 | +++ b/arch/arm/lib/board.c 5 | @@ -104,23 +104,23 @@ extern int check_ddr_training(void); 6 | ************************************************************************ 7 | * May be supplied by boards if desired 8 | */ 9 | -void inline __coloured_LED_init (void) {} 10 | +void __coloured_LED_init (void) {} 11 | void coloured_LED_init (void) __attribute__((weak, alias("__coloured_LED_init"))); 12 | -void inline __red_LED_on (void) {} 13 | +void __red_LED_on (void) {} 14 | void red_LED_on (void) __attribute__((weak, alias("__red_LED_on"))); 15 | -void inline __red_LED_off(void) {} 16 | +void __red_LED_off(void) {} 17 | void red_LED_off(void) __attribute__((weak, alias("__red_LED_off"))); 18 | -void inline __green_LED_on(void) {} 19 | +void __green_LED_on(void) {} 20 | void green_LED_on(void) __attribute__((weak, alias("__green_LED_on"))); 21 | -void inline __green_LED_off(void) {} 22 | +void __green_LED_off(void) {} 23 | void green_LED_off(void) __attribute__((weak, alias("__green_LED_off"))); 24 | -void inline __yellow_LED_on(void) {} 25 | +void __yellow_LED_on(void) {} 26 | void yellow_LED_on(void) __attribute__((weak, alias("__yellow_LED_on"))); 27 | -void inline __yellow_LED_off(void) {} 28 | +void __yellow_LED_off(void) {} 29 | void yellow_LED_off(void) __attribute__((weak, alias("__yellow_LED_off"))); 30 | -void inline __blue_LED_on(void) {} 31 | +void __blue_LED_on(void) {} 32 | void blue_LED_on(void) __attribute__((weak, alias("__blue_LED_on"))); 33 | -void inline __blue_LED_off(void) {} 34 | +void __blue_LED_off(void) {} 35 | void blue_LED_off(void) __attribute__((weak, alias("__blue_LED_off"))); 36 | 37 | /************************************************************************ 38 | diff --git a/common/main.c b/common/main.c 39 | index 71eedbf..1fed120 100644 40 | --- a/common/main.c 41 | +++ b/common/main.c 42 | @@ -48,7 +48,7 @@ DECLARE_GLOBAL_DATA_PTR; 43 | /* 44 | * Board-specific Platform code can reimplement show_boot_progress () if needed 45 | */ 46 | -void inline __show_boot_progress (int val) {} 47 | +void __show_boot_progress (int val) {} 48 | void show_boot_progress (int val) __attribute__((weak, alias("__show_boot_progress"))); 49 | 50 | #if defined(CONFIG_BOOT_RETRY_TIME) && defined(CONFIG_RESET_TO_RETRY) 51 | diff --git a/include/configs/hi3516c.h b/include/configs/hi3516c.h 52 | index 4221c41..36c505a 100644 53 | --- a/include/configs/hi3516c.h 54 | +++ b/include/configs/hi3516c.h 55 | @@ -261,7 +261,7 @@ 56 | /*----------------------------------------------------------------------- 57 | * sdcard/usb storage system update 58 | * ----------------------------------------------------------------------*/ 59 | -/* #define CONFIG_AUTO_UPDATE 1 */ 60 | +#define CONFIG_AUTO_UPDATE 1 61 | #ifdef CONFIG_AUTO_UPDATE 62 | #define CONFIG_AUTO_SD_UPDATE 1 63 | #define CONFIG_AUTO_USB_UPDATE 1 64 | diff --git a/include/configs/hi3518c.h b/include/configs/hi3518c.h 65 | index c178521..0471997 100644 66 | --- a/include/configs/hi3518c.h 67 | +++ b/include/configs/hi3518c.h 68 | @@ -240,7 +240,7 @@ 69 | /*----------------------------------------------------------------------- 70 | * sdcard/usb storage system update 71 | * ----------------------------------------------------------------------*/ 72 | -/* #define CONFIG_AUTO_UPDATE 1 */ 73 | +#define CONFIG_AUTO_UPDATE 1 74 | #ifdef CONFIG_AUTO_UPDATE 75 | #define CONFIG_AUTO_SD_UPDATE 1 76 | #define CONFIG_AUTO_USB_UPDATE 1 77 | diff --git a/include/configs/hi3518e.h b/include/configs/hi3518e.h 78 | index 27b6045..51c9fbf 100644 79 | --- a/include/configs/hi3518e.h 80 | +++ b/include/configs/hi3518e.h 81 | @@ -240,7 +240,7 @@ 82 | /*----------------------------------------------------------------------- 83 | * sdcard/usb storage system update 84 | * ----------------------------------------------------------------------*/ 85 | -/* #define CONFIG_AUTO_UPDATE 1 */ 86 | +#define CONFIG_AUTO_UPDATE 1 87 | #ifdef CONFIG_AUTO_UPDATE 88 | #define CONFIG_AUTO_SD_UPDATE 1 89 | #define CONFIG_AUTO_USB_UPDATE 1 90 | diff --git a/lib/time.c b/lib/time.c 91 | index a309c26..60ea897 100644 92 | --- a/lib/time.c 93 | +++ b/lib/time.c 94 | @@ -41,3 +41,9 @@ void udelay(unsigned long usec) 95 | usec -= kv; 96 | } while(usec); 97 | } 98 | + 99 | +void wait_ms(unsigned long msec) 100 | +{ 101 | + while (msec--) 102 | + udelay(1000); 103 | +} 104 | diff --git a/reg_info_hi3516cv100.reg b/reg_info_hi3516cv100.reg 105 | new file mode 100644 106 | index 0000000000000000000000000000000000000000..c9bbfc8b349fcd3f0aaedcc61b8799c96584888d 107 | GIT binary patch 108 | literal 4096 109 | zcmeIzF=!J}7zgk#?Ij*1ZLi_Ph*8d3F++w>Gi2zHLWd3x87g$BAW^h~ibDs74k<(s 110 | zDp=6L!NI{nN(ToA2f+>w4h{|u3JwYm862ckaH!P(_wL^1qVEcT{ufem)fV!pmGMKLo`(x)j7&G%P!Kbfx4y{+Zw)>rvS;%f@WX2laFTI-6W)}0rI~LImhD_%-OHDv 116 | zn#RK}h1-RhE7h&J=F6uWX2KiDLw)R7t-^Yq|KHk5ccgHzz?T0x1sLN#9 117 | zuW{5j$W8JbxkX+eFOn~i+vFwkGI@o3nS7PJ>Nt=6-5}p~tovUh-yt`0!~J@SILgeW 118 | z^FJd$C-0D7kl&HtlRuC@l0T8ZkiU|@ll$Z!SKgC;4e_Wmq-8r 123 | 124 | literal 0 125 | HcmV?d00001 126 | 127 | diff --git a/reg_info_hi3518cv100.reg b/reg_info_hi3518cv100.reg 128 | new file mode 100644 129 | index 0000000000000000000000000000000000000000..c6477ebb073a974ae49875ab3a7ca56e43a45da0 130 | GIT binary patch 131 | literal 4096 132 | zcmeIzziSg=7zgkt_7V?C+iN&6Vw9IyX@(3zGi2y+LWd3x87g$>AhBo%6$b~04p)dE 133 | zw4k7aphE`-ks=Nb4h|i3_HS_OC`Cu9-{-x1FK@o?PIqu=KleP(`{Q|=tH_KIkp47Jz>ys-o9_so&n4_ae_aktS$Ip^6ezPSDMrx93Nb?Q+&ctbcmb8UoYcKkKi+#Q`bZ@|aDzZX7$G2D!c|H`b)&&Q5m7)NIm(UN_H 137 | zk4YSRkAk3K@G!+~>ou;+b@_F~-F}cSq2{;8_L1(V3Ez~qmfQLke0_G;w$%0u-Wgmj 138 | z*4u?Ii5$E9KK$a&Gn`yjKY(AOOU}!%yst#g<7&g)x6v#=LA-Y^d!X~Jz%?(v3WuH# 139 | zQNJ@c$(P!+wIAB-Bdl1*(#|zkB3|o^}6^$dAeW%5=Z>5l5N5bo{sEcjN=|NAgeD{r&2CjAtExk=!A7 141 | z$syK@GJ9!#olW@>IVML`ACsHp7FjS}wi^9*ifoeunlB}f$xq39c 143 | zO5}WApzntO_TMid{K1RY;cuQJIQAUFbDo>9KVBXxf0P|4J5Y9@>_FLpvIAuY{#ytB 144 | E0^?Gpm7zXgS><*fxW4ES|CKPfRBUDtBP*E{aF)=YwG04OONf$Cf2m*na=t#u` 155 | zA%q|%5EBSOCJ+b&Vgi9cAP@)=AVEwn3lcJ(=llA#*N5;Q+$CN2>+`-}`@MI)noXr< 156 | zHiw7(!6Sn2HaAJ&L`BDkcWAp-kR_!7USUli}d`!mC#lAhWQ=SHTYpWj`6Rb7rfoR 160 | zJo@|%_>$Ri$XoE^+fSRpZFtu@r0ZXV?NuQO9>nF;T`a@AgSpV^BK|7=Ec1&&0bKb3V_-Z^UoK@5Be 165 | vlg2MtiZ*vY;xltT^N3L&@^C-@x1Tlnkxw9>Kt6$d0{H~;3FH&_{{;R5P)?3F 166 | 167 | literal 0 168 | HcmV?d00001 169 | 170 | --------------------------------------------------------------------------------