├── README.md ├── device └── config │ └── chips │ └── v851s │ ├── .gitignore │ ├── bin │ ├── boot0_nand_sun8iw21p1.bin │ ├── boot0_sdcard_sun8iw21p1.bin │ ├── boot0_spinor_sun8iw21p1.bin │ ├── fes1_sun8iw21p1.bin │ ├── optee_sun8iw21p1-monitor.bin │ ├── optee_sun8iw21p1.bin │ ├── sboot_nor_sun8iw21p1.bin │ ├── sboot_sun8iw21p1.bin │ ├── u-boot-spinor-secure-sun8iw21p1.bin │ ├── u-boot-spinor-sun8iw21p1.bin │ └── u-boot-sun8iw21p1.bin │ ├── boot-resource │ ├── boot-resource.ini │ └── boot-resource │ │ ├── bat │ │ ├── bat0.bmp │ │ ├── bat1.bmp │ │ ├── bat10.bmp │ │ ├── bat2.bmp │ │ ├── bat3.bmp │ │ ├── bat4.bmp │ │ ├── bat5.bmp │ │ ├── bat6.bmp │ │ ├── bat7.bmp │ │ ├── bat8.bmp │ │ ├── bat9.bmp │ │ ├── battery.bmp │ │ ├── battery_charge.bmp │ │ ├── bempty.bmp │ │ ├── bootlogo.bmp │ │ └── low_pwr.bmp │ │ ├── bootlogo.bmp │ │ ├── font24.sft │ │ └── font32.sft │ ├── configs │ ├── default │ │ ├── BoardConfig.mk │ │ ├── BoardConfig_nor.mk │ │ ├── boot-resource │ │ │ └── bootlogo.bmp │ │ ├── boot_package.cfg │ │ ├── boot_package_nor.cfg │ │ ├── default.awlic │ │ ├── diskfs.fex │ │ ├── dragon_toc.cfg │ │ ├── env.cfg │ │ ├── env_burn.cfg │ │ ├── image.cfg │ │ ├── image_linux.cfg │ │ ├── image_nor.cfg │ │ ├── jffs2.fex │ │ ├── overlay.fex │ │ ├── sys_partition.fex │ │ └── sys_partition_nor.fex │ └── lizard │ │ ├── BoardConfig.mk │ │ ├── board.dts │ │ ├── env.cfg │ │ ├── linux-4.9 │ │ ├── config-4.9 │ │ ├── sys_partition.fex │ │ └── sys_partition_nor.fex │ │ ├── sys_config.fex │ │ └── uboot-board.dts │ └── tools │ ├── cardscript.fex │ ├── plat_config.sh │ └── readme.txt ├── kernel └── linux-4.9 │ └── drivers │ └── mtd │ └── awnand │ └── spinand │ └── physic │ └── id.c ├── openwrt └── target │ └── v851s │ ├── Makefile │ ├── generic │ ├── BoardRules_generic.mk │ ├── config-4.9 │ └── image │ │ ├── Config.in │ │ ├── Makefile │ │ ├── initramfs-base-files.txt │ │ └── ramdisk.img │ ├── v851s-common │ ├── BoardRules_common.mk │ ├── base-files │ │ └── etc │ │ │ ├── config │ │ │ └── smartlinkd │ │ │ └── inittab │ ├── boot-resource │ │ ├── boot-resource.ini │ │ └── boot-resource │ │ │ └── bootlogo.bmp │ ├── common.mk │ └── modules.mk │ └── v851s-lizard │ ├── BoardRules.mk │ ├── Makefile │ ├── TinaProducts.mk │ ├── busybox-init-base-files │ ├── etc │ │ ├── asound.conf │ │ ├── init.d │ │ │ ├── S00mpp │ │ │ ├── S01logging │ │ │ ├── S10udev │ │ │ ├── S11dev │ │ │ ├── S20urandom │ │ │ ├── S40network │ │ │ ├── S41netparam │ │ │ ├── S50telnet │ │ │ ├── S50usb │ │ │ ├── S50wifideamon │ │ │ ├── rc.final │ │ │ ├── rc.modules │ │ │ ├── rc.preboot │ │ │ └── rcK │ │ ├── inittab │ │ ├── profile │ │ ├── udhcpd.conf │ │ └── wpa_supplicant.conf │ ├── home │ │ └── res │ │ │ └── audio │ │ │ ├── shutdown.wav │ │ │ └── startup.wav │ └── usr │ │ └── bin │ │ ├── hotplug.sh │ │ └── setusbconfig │ ├── busybox-init-base-files_generate │ ├── S50usbcam │ ├── mk_extra_dir.sh │ └── rootfs_hook_squash.sh │ ├── defconfig │ ├── defconfig_ota │ ├── modules.mk │ ├── swupdate │ ├── env_ab.cfg │ ├── postinstall_A.sh │ ├── postinstall_B.sh │ ├── preinstall_A.sh │ ├── preinstall_B.sh │ ├── readme.txt │ ├── sw-description │ ├── sw-description-ab │ ├── sw-description-ab-rdiff │ ├── sw-description-emmc │ ├── sw-description-ubi │ ├── sw-subimgs-ab-rdiff.cfg │ ├── sw-subimgs-ab.cfg │ ├── sw-subimgs-emmc.cfg │ ├── sw-subimgs-ubi.cfg │ ├── sw-subimgs.cfg │ └── sys_partition_ab.fex │ ├── tina_busybox-init-base-files.mk │ ├── v851s_lizard-pack_out.sh │ ├── v851s_lizard-setup.sh │ ├── v851s_lizard.mk │ └── vendorsetup.sh └── patch ├── 0001-add-d310t9362v1-mipi-display-panel-driver.patch └── README.md /README.md: -------------------------------------------------------------------------------- 1 | # 编译开发 2 | 3 | 开始之前我们需要先获取 提前准备好 tina-sdk压缩包,压缩包分为国内国外两个存放位置,如下所示,大小大概11G,下载完成后,拷贝到提前配置好Host开发环境的ubuntu系统内,然后参考 下载的目录内的README.txt文档 进行解压缩。 4 | 5 | - GoogleDriver: https://drive.google.com/drive/folders/1_HAZRddR69hRMZAVrxFrPZXFFQiV3vE0?usp=share_link 6 | - BaiduYun: https://pan.baidu.com/s/115gVK-8Pt-vJi8jn2AWMYw?pwd=7n4q 提取码:7n4q 7 | 8 | 9 | 解压缩命令 10 | 11 | ```bash 12 | cat tina-v853-open.tar.gz*| tar zx 13 | ``` 14 | 15 | 解压完成后,可以看到多出来一个 tina-v853-open的文件夹 16 | 17 | ```bash 18 | book@virtual-machine:~/tina-v853-open$ ls 19 | brandy build buildroot build.sh device kernel openwrt platform prebuilt README.md target tools 20 | ``` 21 | 22 | 由于默认的sdk并未支持此开发板,所以我们需要支持此开发板的配置 单独拷贝增加到tina-v853-open sdk内,首先clone此开发板补丁仓库,然后单独覆盖。 23 | 24 | ```bas 25 | book@virtual-machine:~$ git clone https://github.com/DongshanPI/Yzukilizard-v851s-TinaSDK 26 | book@virtual-machine:~$ cp -rfvd Yuzukilizard-v851s-TinaSDK/* tina-v853-open/ 27 | ``` 28 | 29 | 拷贝完成后,接下来就可以开始进行编译了, 先执行 source build/envsetup.sh 命令来配置tina-sdk的编译环境,然后执行 lunch 选择我们要编译的目标开发板,这里选择 1 ,选择完成后,等待配置完成,就可以执行 make 命令开始编译了。 30 | 31 | ```bash 32 | book@virtual-machine:~/tina-v853-open$ source build/envsetup.sh 33 | 34 | NOTE: The SDK(/home/book/tina-v853-open) was successfully loaded 35 | load openwrt... ok 36 | Please run lunch next for openwrt. 37 | load buildroot,bsp...ok 38 | Please run ./build.sh config next for buildroot,bsp. 39 | 40 | book@virtual-machine:~/tina-v853-open$ lunch 41 | 42 | You're building on Linux 43 | 44 | Lunch menu... pick a combo: 45 | 1 v851s-lizard-tina 46 | 2 v853-vision-tina 47 | Which would you like? [Default v853-vision]: 1 48 | Jump to longan autoconfig 49 | 50 | book@virtual-machine:~/tina-v853-open$ make -j32 51 | 52 | ``` 53 | 54 | 编译完成后,需要再次执行 pack命令进行打包 生成对应可以烧录的镜像文件。 55 | 56 | -------------------------------------------------------------------------------- /device/config/chips/v851s/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # NOTE! Don't add files that are generated in specific 3 | # subdirectories here. Add them in the ".gitignore" file 4 | # in that subdirectory instead. 5 | # 6 | # NOTE! Please use 'git ls-files -i --exclude-standard' 7 | # command after changing this file, to see if there are 8 | # any tracked files which get ignored after the change. 9 | # 10 | # Normal rules 11 | # 12 | !/bin/bl31.bin 13 | !/bin/optee*.bin 14 | !/bin/fes1_uart*.bin 15 | *.dtbo 16 | configs/*/arisc.config 17 | -------------------------------------------------------------------------------- /device/config/chips/v851s/bin/boot0_nand_sun8iw21p1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/bin/boot0_nand_sun8iw21p1.bin -------------------------------------------------------------------------------- /device/config/chips/v851s/bin/boot0_sdcard_sun8iw21p1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/bin/boot0_sdcard_sun8iw21p1.bin -------------------------------------------------------------------------------- /device/config/chips/v851s/bin/boot0_spinor_sun8iw21p1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/bin/boot0_spinor_sun8iw21p1.bin -------------------------------------------------------------------------------- /device/config/chips/v851s/bin/fes1_sun8iw21p1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/bin/fes1_sun8iw21p1.bin -------------------------------------------------------------------------------- /device/config/chips/v851s/bin/optee_sun8iw21p1-monitor.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/bin/optee_sun8iw21p1-monitor.bin -------------------------------------------------------------------------------- /device/config/chips/v851s/bin/optee_sun8iw21p1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/bin/optee_sun8iw21p1.bin -------------------------------------------------------------------------------- /device/config/chips/v851s/bin/sboot_nor_sun8iw21p1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/bin/sboot_nor_sun8iw21p1.bin -------------------------------------------------------------------------------- /device/config/chips/v851s/bin/sboot_sun8iw21p1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/bin/sboot_sun8iw21p1.bin -------------------------------------------------------------------------------- /device/config/chips/v851s/bin/u-boot-spinor-secure-sun8iw21p1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/bin/u-boot-spinor-secure-sun8iw21p1.bin -------------------------------------------------------------------------------- /device/config/chips/v851s/bin/u-boot-spinor-sun8iw21p1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/bin/u-boot-spinor-sun8iw21p1.bin -------------------------------------------------------------------------------- /device/config/chips/v851s/bin/u-boot-sun8iw21p1.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/bin/u-boot-sun8iw21p1.bin -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource.ini: -------------------------------------------------------------------------------- 1 | 2 | [system] 3 | ver=100 4 | date=2009-7-03 5 | ID=937ae0d0-50e3-43c2-9b84-bfef0cd21a41 6 | 7 | [fsinfo] 8 | disccnt=1 9 | disc0=c 10 | ;------------------------------------------------------------------------------------------------------------- 11 | ; 12 | ;------------------------------------------------------------------------------------------------------------- 13 | [c] 14 | ;�ļ�ϵͳ�̷� 15 | disc=c 16 | 17 | ;�ļ�ϵͳ�������� 18 | fsname=.\boot-resource.fex 19 | 20 | ;�ļ�ϵͳ���� 21 | format=fat16 22 | 23 | ;�ļ�ϵͳsize(k) 24 | size=131072 25 | 26 | ;�ļ�ϵͳ���� 27 | attr=0 28 | 29 | ;root location and counter define 30 | rootcnt=1 31 | root0=.\boot-resource 32 | 33 | -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/bat/bat0.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/bat/bat0.bmp -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/bat/bat1.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/bat/bat1.bmp -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/bat/bat10.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/bat/bat10.bmp -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/bat/bat2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/bat/bat2.bmp -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/bat/bat3.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/bat/bat3.bmp -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/bat/bat4.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/bat/bat4.bmp -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/bat/bat5.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/bat/bat5.bmp -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/bat/bat6.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/bat/bat6.bmp -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/bat/bat7.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/bat/bat7.bmp -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/bat/bat8.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/bat/bat8.bmp -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/bat/bat9.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/bat/bat9.bmp -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/bat/battery.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/bat/battery.bmp -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/bat/battery_charge.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/bat/battery_charge.bmp -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/bat/bempty.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/bat/bempty.bmp -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/bat/bootlogo.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/bat/bootlogo.bmp -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/bat/low_pwr.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/bat/low_pwr.bmp -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/bootlogo.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/bootlogo.bmp -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/font24.sft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/font24.sft -------------------------------------------------------------------------------- /device/config/chips/v851s/boot-resource/boot-resource/font32.sft: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/boot-resource/boot-resource/font32.sft -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/default/BoardConfig.mk: -------------------------------------------------------------------------------- 1 | LICHEE_CHIP:=sun8iw21p1 2 | LICHEE_PRODUCT:= 3 | LICHEE_BOARD:= 4 | LICHEE_FLASH:= 5 | LICHEE_ARCH:=arm 6 | LICHEE_BRANDY_VER:=2.0 7 | LICHEE_BRANDY_DEFCONF:=sun8iw21p1_defconfig 8 | LICHEE_BRANDY_SPL:=spl 9 | LICHEE_KERN_VER:=4.9 10 | LICHEE_KERN_DEFCONF:=sun8iw21p1smp_defconfig 11 | LICHEE_BUILDING_SYSTEM:= 12 | LICHEE_BR_VER:= 13 | LICHEE_BR_DEFCONF:= 14 | LICHEE_COMPILER_TAR:=gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi.tar.xz 15 | LICHEE_ROOTFS:=target-arm-linaro-5.3.tar.bz2 16 | LICHEE_COMPRESS:=gzip 17 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/default/BoardConfig_nor.mk: -------------------------------------------------------------------------------- 1 | LICHEE_CHIP:=sun8iw21p1 2 | LICHEE_PRODUCT:= 3 | LICHEE_BOARD:= 4 | LICHEE_ARCH:=arm 5 | LICHEE_FLASH:=nor 6 | LICHEE_BRANDY_VER:=2.0 7 | LICHEE_BRANDY_DEFCONF:=sun8iw21p1_defconfig 8 | LICHEE_BRANDY_SPL:=spl 9 | LICHEE_KERN_VER:=4.9 10 | LICHEE_KERN_DEFCONF:=sun8iw21p1smp_nor_defconfig 11 | LICHEE_BUILDING_SYSTEM:= 12 | LICHEE_BR_VER:= 13 | LICHEE_BR_DEFCONF:= 14 | LICHEE_COMPILER_TAR:=gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi.tar.xz 15 | LICHEE_ROOTFS:=target-arm-linaro-5.3.tar.bz2 16 | LICHEE_COMPRESS:=gzip 17 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/default/boot-resource/bootlogo.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/configs/default/boot-resource/bootlogo.bmp -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/default/boot_package.cfg: -------------------------------------------------------------------------------- 1 | [package] 2 | ;item=Item_TOC_name, Item_filename, 3 | ;item=scp, scp.fex 4 | item=optee, optee.fex 5 | item=u-boot, u-boot.fex 6 | item=dtb, sunxi.fex 7 | ;item=logo, bootlogo.bmp.lzma 8 | ;item=shutdowncharge, bempty.bmp.lzma 9 | ;item=androidcharge, battery_charge.bmp.lzma 10 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/default/boot_package_nor.cfg: -------------------------------------------------------------------------------- 1 | [package] 2 | ;item=Item_TOC_name, Item_filename, 3 | ;item=scp, scp.fex 4 | item=optee, optee.fex 5 | item=u-boot, u-boot-spinor.fex 6 | item=dtb, sunxi.fex 7 | ;item=logo, bootlogo.bmp.lzma 8 | ;item=shutdowncharge, bempty.bmp.lzma 9 | ;item=androidcharge, battery_charge.bmp.lzma 10 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/default/default.awlic: -------------------------------------------------------------------------------- 1 | 2 | [cert] 3 | MIIDWTCCAkGgAwIBAgIBAjANBgkqhkiG9w0BAQsFADA1MQswCQYDVQQGEwJaRzESMBAGA1UECAwJ 4 | R3VhbmdEb25nMRIwEAYDVQQKDAlBbGx3aW5uZXIwHhcNMjIwNjAxMDE1NDI0WhcNNDIwNjA2MDE1 5 | NDI0WjA1MQswCQYDVQQGEwJaRzESMBAGA1UECAwJR3VhbmdEb25nMRIwEAYDVQQKDAlBbGx3aW5u 6 | ZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDSWSl61MkeiLzxNyGYzG9Lgp3sjYn1 7 | bc5ISIArFouEFP1xA4UDA254GRgTPrsNdFc4NeNzCsYM8P5RSysd/FRqdu3TOBo+Q8uSPLqyhSFx 8 | JRcZjsnTpg1Av4VqE90Jang07i1b7+gL1ue0nuVA/TEZDwVX+RuR4slcw8vSQFXXTGcSImNyfmdk 9 | VWl/23jmR5T6KIR+pSDUhXn74usD+cg+F5XUZvDcepArcFNxPEvfp1+zOyyOQrese1nu58sxVP0X 10 | C72x4nQ6G0QRkHRZKTz4WVEgNoTQaSB7of50LT/EkgQ3rZUz5j3GTGo7vhAcv05dfhO/Prfmy2os 11 | OGX7Er7VAgMBAAGjdDByMAkGA1UdEwQCMAAwJQYJYIZIAYb4QgENBBgWFkFXc3VuOGl3MjFwMXY4 12 | NTFzLTVlMDAwHQYDVR0OBBYEFIO+TlYMXpr1ACsFotbgzPv8Ywr2MB8GA1UdIwQYMBaAFGgeo3N7 13 | eXkVbqtA8TZPKGVyQjN2MA0GCSqGSIb3DQEBCwUAA4IBAQAb4ml7BpEExl5KriURkEb+JJT4Zwiv 14 | UJG2SUCL4x5Eec+hjsySN1rxyKWj7AN/QYXYqck22haK3DWB3K5YUvMVGhr8Xe1oE0/OyrDXZspY 15 | JcMm/Qb3vil6N5ubbLwlG7HJCNHiYrIbsDwkXapCtQkwXsDddgPkvFyTPnCgTwJ+0gp/5BbVXuf5 16 | zTUdADpqLl1/oyLY9XAXO1IbAkD1FPao+4MVQe8aQIYKiaCjbuTxYPadY9je8pS5wHwhH7GP2iNQ 17 | nu5q4+9pQVnisEd84G966YYmvdG7Lkhcx9PHlFBXBVyoR3BmXjNt6VuHiUcq55qRk3sLNa5BJ+bM 18 | sXswpSkE 19 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/default/diskfs.fex: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/default/dragon_toc.cfg: -------------------------------------------------------------------------------- 1 | ;///////////////////////////////////////////////////////////////////////////// 2 | ;[key_ras] 3 | ;///////////////////////////////////////////////////////////////////////////// 4 | [key_rsa] 5 | key=Trustkey 6 | key=NOTWORLD_KEY 7 | key=PRIMARY_DEBUG_KEY 8 | key=SCPFirmwareContentCertPK 9 | key=SecondaryDebugCertPK 10 | key=SoCFirmwareContentCert_KEY 11 | key=TrustedFirmwareContentCertPK 12 | key=TWORLD_KEY 13 | key=NonTrustedFirmwareContentCertPK 14 | 15 | 16 | [toc0] 17 | ;item=Item_TOC_name, Item_filename, Key_Name 18 | item=toc0, sboot.bin, Trustkey 19 | 20 | [toc1] 21 | ;item=Item_TOC_name, Item_filename, Key_Name 22 | rootkey=rootkey, rootkey.der, Trustkey 23 | item=scp, scp.fex, SCPFirmwareContentCertPK 24 | onlykey=boot, boot.fex, SCPFirmwareContentCertPK 25 | item=u-boot, u-boot.fex, NonTrustedFirmwareContentCertPK 26 | onlydata=soc-cfg, config.fex NULL 27 | onlydata=dtb, sunxi.fex NULL 28 | onlydata=board-cfg, board.fex NULL 29 | 30 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/default/env.cfg: -------------------------------------------------------------------------------- 1 | 2 | #kernel command arguments 3 | earlyprintk=sunxi-uart,0x02500000 4 | initcall_debug=0 5 | console=ttyS0,115200 6 | nand_root=ubi0_4 7 | mmc_root=/dev/mmcblk0p4 8 | nor_root=/dev/mtdblock1 9 | init=/init 10 | loglevel=8 11 | coherent_pool=16K 12 | #reserve_list=30M@64M,78M@128M,200M@512M 13 | mac= 14 | wifi_mac= 15 | bt_mac= 16 | specialstr= 17 | root_partition=rootfs 18 | mtd_name=sys 19 | rootfstype=ubifs, rw 20 | #set kernel cmdline if boot.img or recovery.img has no cmdline we will use this 21 | setargs_nor=setenv bootargs earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nor_root} rootwait init=${init} rdinit=${rdinit} partitions=${partitions} cma=${cma} coherent_pool=${coherent_pool} ion_carveout_list=${reserve_list} 22 | setargs_nand=setenv bootargs earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} ubi.mtd=${mtd_name} root=${nand_root} rootfstype=${rootfstype} rootwait init=${init} rdinit=${rdinit} partitions=${partitions} cma=${cma} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} selinux=${selinux} specialstr=${specialstr} coherent_pool=${coherent_pool} ion_carveout_list=${reserve_list} 23 | setargs_nand_ubi=setenv bootargs ubi.mtd=${mtd_name} earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 24 | setargs_mmc=setenv bootargs earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${mmc_root} rootwait init=${init} partitions=${partitions} cma=${cma} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} selinux=${selinux} specialstr=${specialstr} coherent_pool=${coherent_pool} ion_carveout_list=${reserve_list} 25 | #nand command syntax: sunxi_flash read address partition_name read_bytes 26 | #0x4007f800 = 0x40080000(kernel entry) - 0x800(boot.img header 2k) 27 | boot_partition=boot 28 | boot_normal=sunxi_flash read 44800000 ${boot_partition};bootm 44800000 29 | boot_recovery=sunxi_flash read 44800000 extend;bootm 44800000 30 | boot_fastboot=fastboot 31 | #recovery key 32 | recovery_key_value_max=0x13 33 | recovery_key_value_min=0x10 34 | #fastboot key 35 | fastboot_key_value_max=0x8 36 | fastboot_key_value_min=0x2 37 | 38 | #uboot system env config 39 | bootdelay=1 40 | #default bootcmd, will change at runtime according to key press 41 | bootcmd=run setargs_nand boot_normal#default nand boot 42 | #verify the kernel 43 | verify=N 44 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/default/env_burn.cfg: -------------------------------------------------------------------------------- 1 | bootdelay=0 2 | bootcmd=run user_data_burn 3 | user_data_burn=pburn 1 4 | #kernel command arguments 5 | console=ttyS0,115200 6 | 7 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/default/image.cfg: -------------------------------------------------------------------------------- 1 | ;/**************************************************************************/ 2 | ;2010-06-09 3 | ;Sam 4 | ;image>�����ļ����� 5 | ;/**************************************************************************/ 6 | 7 | ;��Ҫ���� 8�ֽ��ַ��� 8 | [MAIN_TYPE] 9 | ITEM_COMMON = "COMMON " 10 | ITEM_INFO = "INFO " 11 | ITEM_BOOTROM = "BOOTROM " 12 | ITEM_FES = "FES " 13 | ITEM_FET = "FET " 14 | ITEM_FED = "FED " 15 | ITEM_FEX = "FEX " 16 | ITEM_BOOT = "BOOT " 17 | ITEM_ROOTFSFAT12 = "RFSFAT12" 18 | ITEM_ROOTFSFAT16 = "RFSFAT16" 19 | ITEM_ROOTFSFAT32 = "FFSFAT32" 20 | ITEM_USERFSFAT12 = "UFSFAT12" 21 | ITEM_USERFSFAT16 = "UFSFAT16" 22 | ITEM_USERFSFAT32 = "UFSFAT32" 23 | ITEM_PHOENIX_SCRIPT = "PXSCRIPT" 24 | ITEM_PHOENIX_TOOLS = "PXTOOLS " 25 | ITEM_AUDIO_DSP = "AUDIODSP" 26 | ITEM_VIDEO_DSP = "VIDEODSP" 27 | ITEM_FONT = "FONT " 28 | ITEM_FLASH_DRV = "FLASHDRV" 29 | ITEM_OS_CORE = "OS_CORE " 30 | ITEM_DRIVER = "DRIVER " 31 | ITEM_PIC = "PICTURE " 32 | ITEM_AUDIO = "AUDIO " 33 | ITEM_VIDEO = "VIDEO " 34 | ITEM_APPLICATION = "APP " 35 | 36 | ;�����͸�ʽ�����ο����������ⶨ�壬��󳤶ȱ���Ϊ16�ֽ� 37 | [SUB_TYPE] 38 | SUBTYPEdemo1 = "071228HWSXXXX100" 39 | ;-->071228 2007-12-28 40 | ;-->HWS hardware scan 41 | ;-->XXXX �û����� 42 | ;-->100 version 1.00 43 | 44 | ;·������ 45 | [DIR_DEF] 46 | INPUT_DIR = "..\\" 47 | 48 | ;�ļ��б� 49 | [FILELIST] 50 | ;----------------------------------------------------maintype��subtype���ɸı�----------------------------------------------; 51 | ;-------------------------------��������---------------------------------------; 52 | 53 | ;-->�̶������ 54 | {filename = "sys_config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG100000",}, 55 | {filename = "config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG_BIN00",}, 56 | {filename = "split_xxxx.fex", maintype = ITEM_COMMON, subtype = "SPLIT_0000000000",}, 57 | {filename = "sys_partition.fex",maintype = ITEM_COMMON, subtype = "SYS_CONFIG000000",}, 58 | {filename = "sunxi.fex", maintype = ITEM_COMMON, subtype = "DTB_CONFIG000000",}, 59 | 60 | ;-->boot�ļ� 61 | {filename = "boot0_nand.fex", maintype = ITEM_BOOT, subtype = "BOOT0_0000000000",}, 62 | {filename = "boot0_sdcard.fex", maintype = "12345678", subtype = "1234567890BOOT_0",}, 63 | {filename = "u-boot.fex", maintype = "12345678", subtype = "UBOOT_0000000000",}, 64 | {filename = "toc1.fex", maintype = "12345678", subtype = "TOC1_00000000000",}, 65 | {filename = "toc0.fex", maintype = "12345678", subtype = "TOC0_00000000000",}, 66 | {filename = "fes1.fex", maintype = ITEM_FES, subtype = "FES_1-0000000000",}, 67 | {filename = "boot_package.fex", maintype = "12345678", subtype = "BOOTPKG-00000000",}, 68 | 69 | ;-------------------------------usb��������-------------------------------------; 70 | ;-->tools�ļ� 71 | {filename = "usbtool.fex", maintype = "PXTOOLSB", subtype = "xxxxxxxxxxxxxxxx",}, 72 | {filename = "aultools.fex", maintype = "UPFLYTLS", subtype = "xxxxxxxxxxxxxxxx",}, 73 | {filename = "aultls32.fex", maintype = "UPFLTL32", subtype = "xxxxxxxxxxxxxxxx",}, 74 | 75 | ;-------------------------------����������----------------------------------------; 76 | ;-->�̶������PCʹ�� 77 | {filename = "cardtool.fex", maintype = "12345678", subtype = "1234567890cardtl",}, 78 | {filename = "cardscript.fex", maintype = "12345678", subtype = "1234567890script",}, 79 | 80 | ;-->��Ҫ��д�����ϵ��ļ� 81 | {filename = "sunxi_gpt.fex", maintype = "12345678", subtype = "1234567890___GPT",}, 82 | {filename = "sunxi_mbr.fex", maintype = "12345678", subtype = "1234567890___MBR",}, 83 | {filename = "dlinfo.fex", maintype = "12345678", subtype = "1234567890DLINFO",}, 84 | {filename = "arisc.fex", maintype = "12345678", subtype = "1234567890ARISC" ,}, 85 | ;-------------------------------����----------------------------------------------; 86 | 87 | ;-------------------------------------------maintype��subtype���ɸı�-------------------------------------------------------; 88 | 89 | ;����������Ϣ 90 | [IMAGE_CFG] 91 | version = 0x100234 ;-->Image�İ汾 92 | pid = 0x00001234 ;-->��ƷID 93 | vid = 0x00008743 ;-->��Ӧ��ID 94 | hardwareid = 0x100 ;-->Ӳ��ID bootrom 95 | firmwareid = 0x100 ;-->�̼�ID bootrom 96 | bootromconfig = "bootrom_071203_00001234.cfg" 97 | rootfsconfig = "rootfs.cfg" 98 | ;;imagename = "ePDKv100_nand.img" 99 | filelist = FILELIST 100 | imagename = ..\sun4i_test_evb.img 101 | encrypt = 0 ;-->�������Ҫ���ܽ���������Ϊ0 ����������Ϊ1 102 | 103 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/default/image_linux.cfg: -------------------------------------------------------------------------------- 1 | ;/**************************************************************************/ 2 | ;2010-06-09 3 | ;Sam 4 | ;image>配置文件内容 5 | ;/**************************************************************************/ 6 | 7 | ;主要类型 8字节字符串 8 | [MAIN_TYPE] 9 | ITEM_COMMON = "COMMON " 10 | ITEM_INFO = "INFO " 11 | ITEM_BOOTROM = "BOOTROM " 12 | ITEM_FES = "FES " 13 | ITEM_FET = "FET " 14 | ITEM_FED = "FED " 15 | ITEM_FEX = "FEX " 16 | ITEM_BOOT = "BOOT " 17 | ITEM_ROOTFSFAT12 = "RFSFAT12" 18 | ITEM_ROOTFSFAT16 = "RFSFAT16" 19 | ITEM_ROOTFSFAT32 = "FFSFAT32" 20 | ITEM_USERFSFAT12 = "UFSFAT12" 21 | ITEM_USERFSFAT16 = "UFSFAT16" 22 | ITEM_USERFSFAT32 = "UFSFAT32" 23 | ITEM_PHOENIX_SCRIPT = "PXSCRIPT" 24 | ITEM_PHOENIX_TOOLS = "PXTOOLS " 25 | ITEM_AUDIO_DSP = "AUDIODSP" 26 | ITEM_VIDEO_DSP = "VIDEODSP" 27 | ITEM_FONT = "FONT " 28 | ITEM_FLASH_DRV = "FLASHDRV" 29 | ITEM_OS_CORE = "OS_CORE " 30 | ITEM_DRIVER = "DRIVER " 31 | ITEM_PIC = "PICTURE " 32 | ITEM_AUDIO = "AUDIO " 33 | ITEM_VIDEO = "VIDEO " 34 | ITEM_APPLICATION = "APP " 35 | 36 | ;子类型格式,供参考,可以另外定义,最大长度必须为16字节 37 | [SUB_TYPE] 38 | SUBTYPEdemo1 = "071228HWSXXXX100" 39 | ;-->071228 2007-12-28 40 | ;-->HWS hardware scan 41 | ;-->XXXX 用户定义 42 | ;-->100 version 1.00 43 | 44 | ;路径定义 45 | [DIR_DEF] 46 | INPUT_DIR = "..\\" 47 | 48 | ;文件列表 49 | [FILELIST] 50 | ;----------------------------------------------------maintype与subtype不可改变----------------------------------------------; 51 | ;-------------------------------公共部分---------------------------------------; 52 | 53 | ;-->固定不变的 54 | {filename = "sys_config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG100000",}, 55 | {filename = "config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG_BIN00",}, 56 | {filename = "board.fex", maintype = ITEM_COMMON, subtype = "BOARD_CONFIG_BIN",}, 57 | {filename = "split_xxxx.fex", maintype = ITEM_COMMON, subtype = "SPLIT_0000000000",}, 58 | {filename = "sys_partition.fex",maintype = ITEM_COMMON, subtype = "SYS_CONFIG000000",}, 59 | {filename = "sunxi.fex", maintype = ITEM_COMMON, subtype = "DTB_CONFIG000000",}, 60 | 61 | ;-->boot文件 62 | {filename = "boot0_nand.fex", maintype = ITEM_BOOT, subtype = "BOOT0_0000000000",}, 63 | {filename = "boot0_sdcard.fex", maintype = "12345678", subtype = "1234567890BOOT_0",}, 64 | {filename = "u-boot.fex", maintype = "12345678", subtype = "UBOOT_0000000000",}, 65 | {filename = "u-boot-crash.fex", maintype = "12345678", subtype = "UBOOT_CRASH_0000",}, 66 | {filename = "toc1.fex", maintype = "12345678", subtype = "TOC1_00000000000",}, 67 | {filename = "toc0.fex", maintype = "12345678", subtype = "TOC0_00000000000",}, 68 | {filename = "fes1.fex", maintype = ITEM_FES, subtype = "FES_1-0000000000",}, 69 | {filename = "boot_package.fex", maintype = "12345678", subtype = "BOOTPKG-00000000",}, 70 | 71 | ;-------------------------------usb量产部分-------------------------------------; 72 | ;-->tools文件 73 | {filename = "usbtool.fex", maintype = "PXTOOLSB", subtype = "xxxxxxxxxxxxxxxx",}, 74 | {filename = "usbtool_crash.fex",maintype = "PXTOOLCH", subtype = "xxxxxxxxxxxxxxxx",}, 75 | {filename = "aultools.fex", maintype = "UPFLYTLS", subtype = "xxxxxxxxxxxxxxxx",}, 76 | {filename = "aultls32.fex", maintype = "UPFLTL32", subtype = "xxxxxxxxxxxxxxxx",}, 77 | 78 | 79 | ;-------------------------------卡量产部分----------------------------------------; 80 | ;-->固定不变的PC使用 81 | {filename = "cardtool.fex", maintype = "12345678", subtype = "1234567890cardtl",}, 82 | {filename = "cardscript.fex", maintype = "12345678", subtype = "1234567890script",}, 83 | 84 | ;-->需要烧写到卡上的文件 85 | {filename = "sunxi_gpt.fex", maintype = "12345678", subtype = "1234567890___GPT",}, 86 | {filename = "sunxi_mbr.fex", maintype = "12345678", subtype = "1234567890___MBR",}, 87 | {filename = "dlinfo.fex", maintype = "12345678", subtype = "1234567890DLINFO",}, 88 | {filename = "arisc.fex", maintype = "12345678", subtype = "1234567890ARISC" ,}, 89 | 90 | ;-------------------------------其他----------------------------------------------; 91 | {filename = "vmlinux.fex", maintype = "12345678", subtype = "123456789VMLINUX",}, 92 | 93 | ;-------------------------------------------maintype与subtype不可改变-------------------------------------------------------; 94 | 95 | ;镜像配置信息 96 | [IMAGE_CFG] 97 | version = 0x100234 ;-->Image的版本 98 | pid = 0x00001234 ;-->产品ID 99 | vid = 0x00008743 ;-->供应商ID 100 | hardwareid = 0x100 ;-->硬件ID bootrom 101 | firmwareid = 0x100 ;-->固件ID bootrom 102 | bootromconfig = "bootrom_071203_00001234.cfg" 103 | rootfsconfig = "rootfs.cfg" 104 | ;;imagename = "ePDKv100_nand.img" 105 | filelist = FILELIST 106 | imagename = ..\sun4i_test_evb.img 107 | encrypt = 0 ;-->如果不需要加密将此项设置为0 ,否则设置为1 108 | 109 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/default/image_nor.cfg: -------------------------------------------------------------------------------- 1 | ;/**************************************************************************/ 2 | ;2010-06-09 3 | ;Sam 4 | ;image 5 | ;/**************************************************************************/ 6 | 7 | 8 | [MAIN_TYPE] 9 | ITEM_COMMON = "COMMON " 10 | ITEM_INFO = "INFO " 11 | ITEM_BOOTROM = "BOOTROM " 12 | ITEM_FES = "FES " 13 | ITEM_FET = "FET " 14 | ITEM_FED = "FED " 15 | ITEM_FEX = "FEX " 16 | ITEM_BOOT = "BOOT " 17 | ITEM_ROOTFSFAT12 = "RFSFAT12" 18 | ITEM_ROOTFSFAT16 = "RFSFAT16" 19 | ITEM_ROOTFSFAT32 = "FFSFAT32" 20 | ITEM_USERFSFAT12 = "UFSFAT12" 21 | ITEM_USERFSFAT16 = "UFSFAT16" 22 | ITEM_USERFSFAT32 = "UFSFAT32" 23 | ITEM_PHOENIX_SCRIPT = "PXSCRIPT" 24 | ITEM_PHOENIX_TOOLS = "PXTOOLS " 25 | ITEM_AUDIO_DSP = "AUDIODSP" 26 | ITEM_VIDEO_DSP = "VIDEODSP" 27 | ITEM_FONT = "FONT " 28 | ITEM_FLASH_DRV = "FLASHDRV" 29 | ITEM_OS_CORE = "OS_CORE " 30 | ITEM_DRIVER = "DRIVER " 31 | ITEM_PIC = "PICTURE " 32 | ITEM_AUDIO = "AUDIO " 33 | ITEM_VIDEO = "VIDEO " 34 | ITEM_APPLICATION = "APP " 35 | 36 | [SUB_TYPE] 37 | SUBTYPEdemo1 = "071228HWSXXXX100" 38 | ;-->071228 2007-12-28 39 | ;-->HWS hardware scan 40 | ;-->100 version 1.00 41 | 42 | 43 | [DIR_DEF] 44 | INPUT_DIR = "..\\" 45 | 46 | [FILELIST] 47 | ;-->constant 48 | {filename = "sys_config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG100000",}, 49 | {filename = "config.fex", maintype = ITEM_COMMON, subtype = "SYS_CONFIG_BIN00",}, 50 | {filename = "split_xxxx.fex", maintype = ITEM_COMMON, subtype = "SPLIT_0000000000",}, 51 | {filename = "sys_partition.fex",maintype = ITEM_COMMON, subtype = "SYS_CONFIG000000",}, 52 | {filename = "sunxi.fex", maintype = ITEM_COMMON, subtype = "DTB_CONFIG000000",}, 53 | 54 | ;-->boot files 55 | {filename = "boot0_sdcard.fex", maintype = "12345678", subtype = "1234567890BOOT_0",}, 56 | {filename = "boot0_spinor.fex", maintype = "12345678", subtype = "1234567890BNOR_0",}, 57 | {filename = "u-boot.fex", maintype = "12345678", subtype = "UBOOT_0000000000",}, 58 | {filename = "u-boot-crash.fex", maintype = "12345678", subtype = "UBOOT_CRASH_0000",}, 59 | {filename = "toc1.fex", maintype = "12345678", subtype = "TOC1_00000000000",}, 60 | {filename = "toc0.fex", maintype = "12345678", subtype = "TOC0_00000000000",}, 61 | {filename = "fes1.fex", maintype = ITEM_FES, subtype = "FES_1-0000000000",}, 62 | {filename = "boot_package.fex", maintype = "12345678", subtype = "BOOTPKG-00000000",}, 63 | {filename = "boot_package_nor.fex", maintype = "12345678", subtype = "BOOTPKG-NOR00000",}, 64 | ;-------------------------------usb download part-------------------------------------; 65 | ;-->usb tools 66 | {filename = "usbtool.fex", maintype = "PXTOOLSB", subtype = "xxxxxxxxxxxxxxxx",}, 67 | {filename = "usbtool_crash.fex",maintype = "PXTOOLCH", subtype = "xxxxxxxxxxxxxxxx",}, 68 | {filename = "aultools.fex", maintype = "UPFLYTLS", subtype = "xxxxxxxxxxxxxxxx",}, 69 | {filename = "aultls32.fex", maintype = "UPFLTL32", subtype = "xxxxxxxxxxxxxxxx",}, 70 | 71 | ;-------------------------------card download part----------------------------------------; 72 | ;-->card tools 73 | {filename = "cardtool.fex", maintype = "12345678", subtype = "1234567890cardtl",}, 74 | {filename = "cardscript.fex", maintype = "12345678", subtype = "1234567890script",}, 75 | 76 | ;-->other 77 | {filename = "sunxi_gpt.fex", maintype = "12345678", subtype = "1234567890___GPT",}, 78 | {filename = "sunxi_mbr_nor.fex", maintype = "12345678", subtype = "1234567890___MBR",}, 79 | {filename = "dlinfo.fex", maintype = "12345678", subtype = "1234567890DLINFO",}, 80 | {filename = "arisc.fex", maintype = "12345678", subtype = "1234567890ARISC" ,}, 81 | 82 | 83 | [IMAGE_CFG] 84 | version = 0x100234 85 | pid = 0x00001234 86 | vid = 0x00008743 87 | hardwareid = 0x100 88 | firmwareid = 0x100 89 | bootromconfig = "bootrom_071203_00001234.cfg" 90 | rootfsconfig = "rootfs.cfg" 91 | ;;imagename = "ePDKv100_nand.img" 92 | filelist = FILELIST 93 | imagename = ..\sun4i_test_evb.img 94 | encrypt = 0 95 | 96 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/default/jffs2.fex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/configs/default/jffs2.fex -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/default/overlay.fex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/device/config/chips/v851s/configs/default/overlay.fex -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/default/sys_partition.fex: -------------------------------------------------------------------------------- 1 | ;--------------------------------------------------------------------------------------------------- 2 | ; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串 3 | ;--------------------------------------------------------------------------------------------------- 4 | 5 | 6 | ;--------------------------------------------------------------------------------------------------- 7 | ; 固件下载参数配置 8 | ;--------------------------------------------------------------------------------------------------- 9 | ;*************************************************************************************************** 10 | ; mbr的大小, 以Kbyte为单位 11 | ;*************************************************************************************************** 12 | [mbr] 13 | size = 16384 14 | 15 | ;*************************************************************************************************** 16 | ; 分区配置 17 | ; 18 | ; 19 | ; partition 定义范例: 20 | ; [partition] ; //表示是一个分区 21 | ; name = USERFS2 ; //分区名称 22 | ; size = 16384 ; //分区大小 单位: 扇区.分区表示个数最多2^31 * 512 = 2T 23 | ; downloadfile = "123.fex" ; //下载文件的路径和名称,可以使用相对路径,相对是指相对于image.cfg文件所在分区。也可以使用绝对路径 24 | ; keydata = 1 ; //私有数据分区,重新量产数据将不丢失 25 | ; encrypt = 1 ; //采用加密方式烧录,将提供数据加密,但损失烧录速度 26 | ; = ? ; //私有用法 27 | ; verify = 1 ; //要求量产完成后校验是否正确 28 | ; 29 | ; 注:1、name唯一, 不允许同名 30 | ; 2、name最大12个字符 31 | ; 3、size = 0, 将创建一个无大小的空分区 32 | ; 4、为了安全和效率考虑,分区大小最好保证为leb_size的整数倍 33 | ; (leb_size = super_block_size - 2 * single_page_size) 34 | ;*************************************************************************************************** 35 | [partition_start] 36 | 37 | [partition] 38 | name = boot-resource 39 | size = 504 40 | ;downloadfile = "boot-resource.fex" 41 | user_type = 0x8000 42 | 43 | [partition] 44 | name = env 45 | size = 504 46 | downloadfile = "env.fex" 47 | user_type = 0x8000 48 | 49 | [partition] 50 | name = boot 51 | size = 25200 52 | downloadfile = "boot.fex" 53 | user_type = 0x8000 54 | 55 | [partition] 56 | name = rootfs 57 | size = 40320 58 | downloadfile = "rootfs.fex" 59 | user_type = 0x8000 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/default/sys_partition_nor.fex: -------------------------------------------------------------------------------- 1 | ;--------------------------------------------------------------------------------------------------------- 2 | ; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串 3 | ;--------------------------------------------------------------------------------------------------------- 4 | 5 | 6 | ;-------------------------------------------------------------------------------------------------- 7 | ; 固件下载参数配置 8 | ;-------------------------------------------------------------------------------------------------- 9 | ;**************************************************** 10 | ; mbr的大小, 以Kbyte为单位 11 | ;**************************************************** 12 | [mbr] 13 | size = 16 14 | 15 | ;******************************************************************************************************** 16 | ; 分区配置 17 | ; 18 | ; 19 | ; partition 定义范例: 20 | ; [partition] ; //表示是一个分区 21 | ; name = USERFS2 ; //分区名称 22 | ; size = 16384 ; //分区大小 单位: 扇区.分区表示个数最多2^31 * 512 = 2T 23 | ; downloadfile = "123.fex" ; //下载文件的路径和名称,可以使用相对路径,相对是指相对于image.cfg文件所在分区。也可以使用绝对路径 24 | ; keydata = 1 ; //私有数据分区,重新量产数据将不丢失 25 | ; encrypt = 1 ; //采用加密方式烧录,将提供数据加密,但损失烧录速度 26 | ; user_type = ? ; //私有用法 27 | ; verify = 1 ; //要求量产完成后校验是否正确 28 | ; 29 | ; 注:1、name唯一, 不允许同名 30 | ; 2、name最大12个字符 31 | ; 3、size = 0, 将创建一个无大小的空分区 32 | ; 4、为了安全和效率考虑,分区大小最好保证为16M字节的整数倍 33 | ;******************************************************************************************************** 34 | [partition_start] 35 | 36 | [partition] 37 | name = boot-resource 38 | size = 1024 39 | ;downloadfile = "boot-resource.fex" 40 | user_type = 0x8000 41 | 42 | [partition] 43 | name = env 44 | size = 256 45 | downloadfile = "env_nor.fex" 46 | user_type = 0x8000 47 | 48 | [partition] 49 | name = boot 50 | size = 13312 51 | downloadfile = "boot.fex" 52 | user_type = 0x8000 53 | 54 | [partition] 55 | name = rootfs 56 | size = 11520 57 | downloadfile = "rootfs_nor.fex" 58 | user_type = 0x8000 59 | 60 | ;[partition] 61 | ; name = bootlogo 62 | ; size = 768 63 | ; downloadfile = "bootlogo.fex" 64 | ; user_type = 0x8000 65 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/lizard/BoardConfig.mk: -------------------------------------------------------------------------------- 1 | LICHEE_CHIP:=sun8iw21p1 2 | LICHEE_PRODUCT:= 3 | LICHEE_BOARD:= 4 | LICHEE_FLASH:= 5 | LICHEE_ARCH:=arm 6 | LICHEE_BRANDY_VER:=2.0 7 | LICHEE_BRANDY_DEFCONF:=sun8iw21p1_defconfig 8 | LICHEE_BRANDY_SPL:=spl 9 | LICHEE_KERN_VER:=4.9 10 | LICHEE_KERN_DEFCONF:=config-4.9 11 | LICHEE_BUILDING_SYSTEM:=buildroot 12 | LICHEE_BR_VER:=201902 13 | LICHEE_BR_DEFCONF:=sun8iw21p1_longan_defconfig 14 | LICHEE_COMPILER_TAR:=arm/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi.tar.xz 15 | LICHEE_ROOTFS:=target-arm-linaro-5.3.tar.bz2 16 | LICHEE_COMPRESS:=gzip 17 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/lizard/env.cfg: -------------------------------------------------------------------------------- 1 | 2 | #kernel command arguments 3 | earlyprintk=sunxi-uart,0x02500000 4 | initcall_debug=0 5 | console=ttyS0,115200 6 | nand_root=/dev/ubiblock0_4 7 | mmc_root=/dev/mmcblk0p4 8 | nor_root=/dev/mtdblock3 9 | init=/init 10 | rdinit=/rdinit 11 | loglevel=8 12 | coherent_pool=32K 13 | #reserve_list=30M@64M,78M@128M,200M@512M 14 | mac= 15 | wifi_mac= 16 | bt_mac= 17 | specialstr= 18 | root_partition=rootfs 19 | mtd_name=sys 20 | rootfstype=squashfs 21 | #set kernel cmdline if boot.img or recovery.img has no cmdline we will use this 22 | setargs_nor=setenv bootargs earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nor_root} rootwait init=${init} rdinit=${rdinit} partitions=${partitions} cma=${cma} coherent_pool=${coherent_pool} ion_carveout_list=${reserve_list} 23 | setargs_nand=setenv bootargs earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} ubi.mtd=${mtd_name} root=${nand_root} rootfstype=${rootfstype} rootwait init=${init} rdinit=${rdinit} partitions=${partitions} cma=${cma} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} selinux=${selinux} specialstr=${specialstr} coherent_pool=${coherent_pool} ion_carveout_list=${reserve_list} 24 | setargs_nand_ubi=setenv bootargs ubi.mtd=${mtd_name} ubi.block=0,${root_partition} earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 25 | setargs_mmc=setenv bootargs earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${mmc_root} rootwait init=${init} partitions=${partitions} cma=${cma} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} selinux=${selinux} specialstr=${specialstr} coherent_pool=${coherent_pool} ion_carveout_list=${reserve_list} 26 | #nand command syntax: sunxi_flash read address partition_name read_bytes 27 | #0x4007f800 = 0x40080000(kernel entry) - 0x800(boot.img header 2k) 28 | boot_partition=boot 29 | boot_normal=sunxi_flash read 44800000 ${boot_partition};bootm 44800000 30 | boot_recovery=sunxi_flash read 44800000 extend;bootm 44800000 31 | boot_fastboot=fastboot 32 | #recovery key 33 | recovery_key_value_max=0x13 34 | recovery_key_value_min=0x10 35 | #fastboot key 36 | fastboot_key_value_max=0x8 37 | fastboot_key_value_min=0x2 38 | 39 | #uboot system env config 40 | bootdelay=1 41 | #default bootcmd, will change at runtime according to key press 42 | #default nand boot 43 | bootcmd=run setargs_nand boot_normal 44 | #verify the kernel 45 | verify=N 46 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/lizard/linux-4.9/config-4.9: -------------------------------------------------------------------------------- 1 | # CONFIG_LOCALVERSION_AUTO is not set 2 | CONFIG_SYSVIPC=y 3 | # CONFIG_FHANDLE is not set 4 | CONFIG_NO_HZ=y 5 | CONFIG_HIGH_RES_TIMERS=y 6 | CONFIG_BSD_PROCESS_ACCT=y 7 | CONFIG_BSD_PROCESS_ACCT_V3=y 8 | CONFIG_LOG_BUF_SHIFT=14 9 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y 10 | # CONFIG_SYSFS_SYSCALL is not set 11 | # CONFIG_AIO is not set 12 | CONFIG_EMBEDDED=y 13 | # CONFIG_SLUB_DEBUG is not set 14 | # CONFIG_COMPAT_BRK is not set 15 | CONFIG_JUMP_LABEL=y 16 | CONFIG_CC_STACKPROTECTOR_REGULAR=y 17 | CONFIG_MODULES=y 18 | CONFIG_MODULE_UNLOAD=y 19 | # CONFIG_BLK_DEV_BSG is not set 20 | CONFIG_ARCH_SUNXI=y 21 | CONFIG_ARCH_SUN8IW21=y 22 | CONFIG_EVB_PLATFORM=y 23 | CONFIG_SUNXI_SOC_NAME="sun8iw21" 24 | CONFIG_SWP_EMULATE=y 25 | # CONFIG_VDSO is not set 26 | CONFIG_ARM_PSCI=y 27 | CONFIG_PREEMPT=y 28 | CONFIG_AEABI=y 29 | CONFIG_OABI_COMPAT=y 30 | CONFIG_HIGHMEM=y 31 | # CONFIG_COMPACTION is not set 32 | CONFIG_CMA=y 33 | CONFIG_ARM_FLUSH_CONSOLE_ON_RESTART=y 34 | CONFIG_USE_OF=y 35 | # CONFIG_ATAGS is not set 36 | CONFIG_CMDLINE="earlyprintk=sunxi-uart,0x05000000 loglevel=8 initcall_debug=1 console=ttyS0 init=/init" 37 | CONFIG_CPU_FREQ=y 38 | CONFIG_CPU_FREQ_GOV_POWERSAVE=y 39 | CONFIG_CPU_FREQ_GOV_USERSPACE=y 40 | CONFIG_CPU_FREQ_GOV_ONDEMAND=y 41 | CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y 42 | CONFIG_CPU_FREQ_GOV_INTERACTIVE=y 43 | CONFIG_CPUFREQ_DT=y 44 | CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=y 45 | CONFIG_CPU_IDLE=y 46 | CONFIG_ARM_CPUIDLE=y 47 | CONFIG_SUNXI_CPU0IDLE=y 48 | CONFIG_VFP=y 49 | CONFIG_NEON=y 50 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set 51 | CONFIG_PM_WAKELOCKS=y 52 | CONFIG_PM_DEBUG=y 53 | CONFIG_PM_ADVANCED_DEBUG=y 54 | CONFIG_NET=y 55 | CONFIG_PACKET=y 56 | CONFIG_PACKET_DIAG=y 57 | CONFIG_UNIX=y 58 | CONFIG_UNIX_DIAG=y 59 | CONFIG_NET_KEY=y 60 | CONFIG_INET=y 61 | CONFIG_IP_MULTICAST=y 62 | CONFIG_IP_ADVANCED_ROUTER=y 63 | CONFIG_IP_PING=y 64 | CONFIG_IP_FIB_TRIE_STATS=y 65 | CONFIG_IP_MULTIPLE_TABLES=y 66 | CONFIG_IP_ROUTE_MULTIPATH=y 67 | CONFIG_IP_ROUTE_VERBOSE=y 68 | CONFIG_IP_MROUTE=y 69 | CONFIG_IP_MROUTE_MULTIPLE_TABLES=y 70 | CONFIG_IPV6_MULTIPLE_TABLES=y 71 | CONFIG_IPV6_SUBTREES=y 72 | CONFIG_IPV6_MROUTE=y 73 | CONFIG_BT=y 74 | CONFIG_BT_RFCOMM=y 75 | CONFIG_BT_RFCOMM_TTY=y 76 | # CONFIG_BT_HS is not set 77 | # CONFIG_BT_LE is not set 78 | CONFIG_XR_BT_LPM=y 79 | CONFIG_XR_BT_FDI=y 80 | CONFIG_BT_HCIUART=y 81 | CONFIG_BT_HCIUART_H4=y 82 | CONFIG_HFP_OVER_PCM=y 83 | CONFIG_CFG80211=y 84 | CONFIG_RFKILL=y 85 | CONFIG_RFKILL_GPIO=y 86 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 87 | CONFIG_DEVTMPFS=y 88 | CONFIG_DEVTMPFS_MOUNT=y 89 | CONFIG_SUNXI_MBUS=y 90 | CONFIG_MTD=y 91 | CONFIG_MTD_BLOCK=y 92 | CONFIG_MTD_CFI=y 93 | CONFIG_MTD_CFI_INTELEXT=y 94 | CONFIG_MTD_CFI_AMDSTD=y 95 | CONFIG_MTD_COMPLEX_MAPPINGS=y 96 | CONFIG_MTD_PHYSMAP_OF=y 97 | CONFIG_MTD_NAND_IDS=y 98 | CONFIG_AW_MTD_SPINAND=y 99 | CONFIG_MTD_UBI_BLOCK=y 100 | CONFIG_SUNXI_RFKILL=y 101 | CONFIG_SCSI=y 102 | CONFIG_BLK_DEV_SD=y 103 | CONFIG_NETDEVICES=y 104 | CONFIG_SUNXI_GMAC=y 105 | CONFIG_NET_VENDOR_AURORA=y 106 | # CONFIG_USB_NET_DRIVERS is not set 107 | # CONFIG_WLAN_VENDOR_ADMTEK is not set 108 | # CONFIG_WLAN_VENDOR_ATH is not set 109 | # CONFIG_WLAN_VENDOR_ATMEL is not set 110 | # CONFIG_WLAN_VENDOR_BROADCOM is not set 111 | # CONFIG_WLAN_VENDOR_CISCO is not set 112 | # CONFIG_WLAN_VENDOR_INTEL is not set 113 | # CONFIG_WLAN_VENDOR_INTERSIL is not set 114 | # CONFIG_WLAN_VENDOR_MARVELL is not set 115 | # CONFIG_WLAN_VENDOR_MEDIATEK is not set 116 | # CONFIG_WLAN_VENDOR_RALINK is not set 117 | # CONFIG_WLAN_VENDOR_REALTEK is not set 118 | # CONFIG_WLAN_VENDOR_RSI is not set 119 | # CONFIG_WLAN_VENDOR_ST is not set 120 | # CONFIG_WLAN_VENDOR_TI is not set 121 | # CONFIG_WLAN_VENDOR_ZYDAS is not set 122 | CONFIG_XR829_WLAN=m 123 | CONFIG_ISDN=y 124 | # CONFIG_INPUT_MOUSEDEV is not set 125 | CONFIG_INPUT_EVDEV=y 126 | # CONFIG_INPUT_SENSORINIT is not set 127 | # CONFIG_INPUT_KEYBOARD is not set 128 | # CONFIG_INPUT_MOUSE is not set 129 | CONFIG_INPUT_TOUCHSCREEN=y 130 | # CONFIG_TOUCHSCREEN_PROPERTIES is not set 131 | CONFIG_TOUCHSCREEN_FT6236=y 132 | # CONFIG_TOUCHSCREEN_GT82X is not set 133 | # CONFIG_TOUCHSCREEN_IT7257_TS is not set 134 | # CONFIG_TOUCHSCREEN_GSLX680NEW is not set 135 | # CONFIG_TOUCHSCREEN_FT5X16_TS is not set 136 | # CONFIG_TOUCHSCREEN_GT9XX_TS is not set 137 | # CONFIG_TOUCHSCREEN_TLSC6X_TS is not set 138 | CONFIG_INPUT_MISC=y 139 | CONFIG_SUNXI_WIEGAND=y 140 | CONFIG_INPUT_SENSOR=y 141 | # CONFIG_SENSORS_BMA250 is not set 142 | # CONFIG_SENSORS_SC7A30 is not set 143 | # CONFIG_SENSORS_MMA7660 is not set 144 | # CONFIG_SENSORS_MIR3DA is not set 145 | # CONFIG_SENSORS_MXC622X is not set 146 | # CONFIG_SENSORS_MMA8452 is not set 147 | # CONFIG_SENSORS_MMA865X is not set 148 | # CONFIG_SENSORS_MC32X0 is not set 149 | CONFIG_SENSORS_GPADC=y 150 | CONFIG_KEY_GPIO=y 151 | # CONFIG_SENSORS_DA380 is not set 152 | # CONFIG_SERIO is not set 153 | # CONFIG_LEGACY_PTYS is not set 154 | # CONFIG_DEVMEM is not set 155 | # CONFIG_DEVKMEM is not set 156 | # CONFIG_HW_RANDOM is not set 157 | # CONFIG_SUNXI_SYS_INFO is not set 158 | CONFIG_SUNXI_G2D=y 159 | CONFIG_SUNXI_G2D_MIXER=y 160 | CONFIG_SUNXI_G2D_ROTATE=y 161 | CONFIG_SUNXI_NNA_VIP=y 162 | CONFIG_I2C=y 163 | CONFIG_I2C_CHARDEV=y 164 | CONFIG_I2C_SUNXI=y 165 | CONFIG_SPI=y 166 | CONFIG_SPI_SUNXI=y 167 | CONFIG_GPIOLIB=y 168 | CONFIG_GPIO_SYSFS=y 169 | CONFIG_POWER_SUPPLY=y 170 | CONFIG_AXP2101_POWER=y 171 | CONFIG_THERMAL=y 172 | CONFIG_THERMAL_GOV_USER_SPACE=y 173 | CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y 174 | CONFIG_CPU_THERMAL=y 175 | CONFIG_THERMAL_EMULATION=y 176 | CONFIG_SUNXI_THERMAL_NG=y 177 | CONFIG_WATCHDOG=y 178 | CONFIG_SUNXI_WATCHDOG=y 179 | CONFIG_MFD_AXP2101_I2C=y 180 | CONFIG_MFD_SYSCON=y 181 | CONFIG_REGULATOR=y 182 | CONFIG_REGULATOR_FIXED_VOLTAGE=y 183 | CONFIG_REGULATOR_VIRTUAL_CONSUMER=y 184 | CONFIG_REGULATOR_AXP2101=y 185 | CONFIG_MEDIA_SUPPORT=y 186 | CONFIG_MEDIA_CAMERA_SUPPORT=y 187 | CONFIG_MEDIA_CONTROLLER=y 188 | CONFIG_VIDEO_V4L2_SUBDEV_API=y 189 | CONFIG_V4L_PLATFORM_DRIVERS=y 190 | CONFIG_VIDEO_SUNXI_VIN=m 191 | # CONFIG_CSI_CCI is not set 192 | CONFIG_VIN_IOMMU=y 193 | CONFIG_D3D=y 194 | CONFIG_D3D_COMPRESS_EN=y 195 | # CONFIG_WDR is not set 196 | CONFIG_SENSOR_GC2053_MIPI=m 197 | # CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set 198 | CONFIG_FB=y 199 | CONFIG_DISP2_SUNXI=y 200 | CONFIG_SUNXI_DISP2_FB_HW_ROTATION_SUPPORT=y 201 | CONFIG_DISP2_SUNXI_DEBUG=y 202 | CONFIG_LCD_SUPPORT_D310T9362V1_MIPI=y 203 | # CONFIG_LCD_SUPPORT_HE0801A068 is not set 204 | # CONFIG_LCD_SUPPORT_WILLIAMLCD is not set 205 | # CONFIG_LCD_SUPPORT_LQ101R1SX03 is not set 206 | # CONFIG_LCD_SUPPORT_INET_DSI_PANEL is not set 207 | # CONFIG_LCD_SUPPORT_BP101WX1_206 is not set 208 | # CONFIG_LCD_SUPPORT_K101IM2QA04 is not set 209 | # CONFIG_LCD_SUPPORT_T050K589 is not set 210 | # CONFIG_LCD_SUPPORT_KD080D24 is not set 211 | CONFIG_SOUND=y 212 | CONFIG_SND=y 213 | CONFIG_SND_SOC=y 214 | CONFIG_SND_SOC_SUNXI_AAUDIO=y 215 | CONFIG_SND_SOC_SUNXI_DAUDIO=y 216 | CONFIG_SND_SOC_SUNXI_COMPONENTS=y 217 | CONFIG_SND_SOC_SUNXI_RXSYNC=y 218 | CONFIG_USB=y 219 | CONFIG_USB_EHCI_HCD=y 220 | CONFIG_USB_OHCI_HCD=y 221 | CONFIG_USB_SUNXI_HCD=y 222 | CONFIG_USB_SUNXI_HCI=y 223 | CONFIG_USB_SUNXI_EHCI0=y 224 | CONFIG_USB_SUNXI_EHCI1=y 225 | CONFIG_USB_SUNXI_OHCI0=y 226 | CONFIG_USB_SUNXI_OHCI1=y 227 | CONFIG_USB_STORAGE=y 228 | CONFIG_USB_STORAGE_REALTEK=y 229 | CONFIG_USB_STORAGE_DATAFAB=y 230 | CONFIG_USB_STORAGE_FREECOM=y 231 | CONFIG_USB_STORAGE_ISD200=y 232 | CONFIG_USB_STORAGE_USBAT=y 233 | CONFIG_USB_STORAGE_SDDR09=y 234 | CONFIG_USB_STORAGE_SDDR55=y 235 | CONFIG_USB_STORAGE_JUMPSHOT=y 236 | CONFIG_USB_STORAGE_ALAUDA=y 237 | CONFIG_USB_STORAGE_ONETOUCH=y 238 | CONFIG_USB_STORAGE_KARMA=y 239 | CONFIG_USB_STORAGE_CYPRESS_ATACB=y 240 | CONFIG_USB_STORAGE_ENE_UB6250=y 241 | CONFIG_USB_UAS=y 242 | CONFIG_USB_GADGET=y 243 | CONFIG_USB_SUNXI_UDC0=y 244 | CONFIG_USB_CONFIGFS=y 245 | CONFIG_USB_CONFIGFS_MASS_STORAGE=y 246 | CONFIG_USB_CONFIGFS_F_FS=y 247 | CONFIG_USB_CONFIGFS_UEVENT=y 248 | CONFIG_USB_CONFIGFS_F_HID=y 249 | CONFIG_USB_SUNXI_USB=y 250 | CONFIG_USB_SUNXI_USB_MANAGER=y 251 | CONFIG_USB_SUNXI_USB_DEBUG=y 252 | CONFIG_USB_SUNXI_USB_ADB=y 253 | CONFIG_MMC=y 254 | CONFIG_MMC_SUNXI=y 255 | CONFIG_RTC_CLASS=y 256 | CONFIG_RTC_DRV_SUNXI=y 257 | CONFIG_SUNXI_BOOTUP_EXTEND=y 258 | CONFIG_SUNXI_RTC_BOOTCOUNT=y 259 | CONFIG_DMADEVICES=y 260 | CONFIG_DMA_SUNXI=y 261 | CONFIG_STAGING=y 262 | CONFIG_ION=y 263 | CONFIG_ION_SUNXI=y 264 | # CONFIG_COMMON_CLK_DEBUG is not set 265 | # CONFIG_ARM_ARCH_TIMER_EVTSTREAM is not set 266 | CONFIG_SUNXI_IOMMU=y 267 | CONFIG_PWM=y 268 | CONFIG_PWM_SUNXI_GROUP=y 269 | CONFIG_ANDROID=y 270 | CONFIG_NVMEM=y 271 | CONFIG_NVMEM_SUN50I_SID=y 272 | CONFIG_SUNXI_MPP=y 273 | CONFIG_EXT4_FS=y 274 | # CONFIG_FILE_LOCKING is not set 275 | # CONFIG_DNOTIFY is not set 276 | # CONFIG_INOTIFY_USER is not set 277 | CONFIG_OVERLAY_FS=y 278 | CONFIG_MSDOS_FS=y 279 | CONFIG_VFAT_FS=y 280 | CONFIG_FAT_DEFAULT_UTF8=y 281 | CONFIG_TMPFS=y 282 | CONFIG_TMPFS_POSIX_ACL=y 283 | CONFIG_JFFS2_FS=y 284 | CONFIG_JFFS2_SUMMARY=y 285 | CONFIG_JFFS2_FS_XATTR=y 286 | # CONFIG_JFFS2_FS_POSIX_ACL is not set 287 | # CONFIG_JFFS2_FS_SECURITY is not set 288 | CONFIG_JFFS2_COMPRESSION_OPTIONS=y 289 | # CONFIG_JFFS2_ZLIB is not set 290 | CONFIG_UBIFS_FS=y 291 | CONFIG_SQUASHFS=y 292 | CONFIG_SQUASHFS_LZ4=y 293 | CONFIG_SQUASHFS_LZO=y 294 | CONFIG_SQUASHFS_XZ=y 295 | CONFIG_SQUASHFS_ZSTD=y 296 | # CONFIG_NETWORK_FILESYSTEMS is not set 297 | CONFIG_NLS_CODEPAGE_437=y 298 | CONFIG_NLS_ISO8859_1=y 299 | CONFIG_PRINTK_TIME=y 300 | CONFIG_FRAME_WARN=2048 301 | CONFIG_DEBUG_FS=y 302 | CONFIG_DEBUG_VM=y 303 | # CONFIG_SCHED_DEBUG is not set 304 | CONFIG_DEBUG_MUTEXES=y 305 | CONFIG_STACKTRACE=y 306 | # CONFIG_FTRACE is not set 307 | CONFIG_ATOMIC64_SELFTEST=y 308 | CONFIG_SUNXI_DUMP=y 309 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/lizard/linux-4.9/sys_partition.fex: -------------------------------------------------------------------------------- 1 | ;--------------------------------------------------------------------------------------------------------- 2 | ; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串 3 | ;--------------------------------------------------------------------------------------------------------- 4 | 5 | 6 | ;-------------------------------------------------------------------------------------------------- 7 | ; 固件下载参数配置 8 | ;-------------------------------------------------------------------------------------------------- 9 | ;**************************************************** 10 | ; mbr的大小, 以Kbyte为单位 11 | ;**************************************************** 12 | [mbr] 13 | size = 4096 14 | 15 | ;******************************************************************************************************** 16 | ; 分区配置 17 | ; 18 | ; 19 | ; partition 定义范例: 20 | ; [partition] ; //表示是一个分区 21 | ; name = USERFS2 ; //分区名称 22 | ; size = 16384 ; //分区大小 单位: 扇区.分区表示个数最多2^31 * 512 = 2T 23 | ; downloadfile = "123.fex" ; //下载文件的路径和名称,可以使用相对路径,相对是指相对于image.cfg文件所在分区。也可以使用绝对路径 24 | ; keydata = 1 ; //私有数据分区,重新量产数据将不丢失 25 | ; encrypt = 1 ; //采用加密方式烧录,将提供数据加密,但损失烧录速度 26 | ; user_type = ? ; //私有用法 27 | ; verify = 1 ; //要求量产完成后校验是否正确 28 | ; 29 | ; 注:1、name唯一, 不允许同名 30 | ; 2、name最大12个字符 31 | ; 3、size = 0, 将创建一个无大小的空分区 32 | ; 4、为了安全和效率考虑,分区大小最好保证为16M字节的整数倍 33 | ;******************************************************************************************************** 34 | [partition_start] 35 | 36 | [partition] 37 | name = boot-res 38 | size = 1024 39 | downloadfile = "boot-resource.fex" 40 | user_type = 0x8000 41 | 42 | [partition] 43 | name = env 44 | size = 512 45 | downloadfile = "env.fex" 46 | user_type = 0x8000 47 | 48 | [partition] 49 | name = boot 50 | size = 25200 51 | downloadfile = "boot.fex" 52 | user_type = 0x8000 53 | 54 | [partition] 55 | name = rootfs 56 | size = 45360 57 | downloadfile = "rootfs.fex" 58 | user_type = 0x8000 59 | 60 | [partition] 61 | name = rootfs_data 62 | size = 102400 63 | user_type = 0x8000 64 | 65 | [partition] 66 | name = UDISK 67 | user_type = 0x8100 68 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/lizard/linux-4.9/sys_partition_nor.fex: -------------------------------------------------------------------------------- 1 | ;--------------------------------------------------------------------------------------------------------- 2 | ; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串 3 | ;--------------------------------------------------------------------------------------------------------- 4 | 5 | 6 | ;-------------------------------------------------------------------------------------------------- 7 | ; 固件下载参数配置 8 | ;-------------------------------------------------------------------------------------------------- 9 | ;**************************************************** 10 | ; mbr的大小, 以Kbyte为单位 11 | ;**************************************************** 12 | [mbr] 13 | size = 16 14 | 15 | ;******************************************************************************************************** 16 | ; 分区配置 17 | ; 18 | ; 19 | ; partition 定义范例: 20 | ; [partition] ; //表示是一个分区 21 | ; name = USERFS2 ; //分区名称 22 | ; size = 16384 ; //分区大小 单位: 扇区.分区表示个数最多2^31 * 512 = 2T 23 | ; downloadfile = "123.fex" ; //下载文件的路径和名称,可以使用相对路径,相对是指相对于image.cfg文件所在分区。也可以使用绝对路径 24 | ; keydata = 1 ; //私有数据分区,重新量产数据将不丢失 25 | ; encrypt = 1 ; //采用加密方式烧录,将提供数据加密,但损失烧录速度 26 | ; user_type = ? ; //私有用法 27 | ; verify = 1 ; //要求量产完成后校验是否正确 28 | ; 29 | ; 注:1、name唯一, 不允许同名 30 | ; 2、name最大12个字符 31 | ; 3、size = 0, 将创建一个无大小的空分区 32 | ; 4、为了安全和效率考虑,分区大小最好保证为16M字节的整数倍 33 | ;******************************************************************************************************** 34 | [partition_start] 35 | 36 | 37 | [partition] 38 | name = boot 39 | size = 7168 40 | downloadfile = "boot.fex" 41 | user_type = 0x8000 42 | 43 | [partition] 44 | name = rootfs 45 | size = 7424 46 | downloadfile = "rootfs.fex" 47 | user_type = 0x8000 48 | 49 | [partition] 50 | name = extend 51 | size = 3584 52 | downloadfile = "usr.fex" 53 | user_type = 0x8000 54 | 55 | [partition] 56 | name = rootfs_data 57 | size = 1024 58 | user_type = 0x8000 59 | 60 | [partition] 61 | name = env 62 | size = 512 63 | downloadfile = "env_nor.fex" 64 | user_type = 0x8000 65 | 66 | ;[partition] 67 | ; name = misc 68 | ; size = 128 69 | ; user_type = 0x8000 70 | 71 | [partition] 72 | name = bootlogo 73 | size = 768 74 | downloadfile = "bootlogo.fex" 75 | user_type = 0x8000 76 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/lizard/sys_config.fex: -------------------------------------------------------------------------------- 1 | ;--------------------------------------------------------------------------------------------------------- 2 | ; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串 3 | ; 描述gpio的形式:Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态> 4 | ;--------------------------------------------------------------------------------------------------------- 5 | 6 | [product] 7 | version = "100" 8 | machine = "evb" 9 | 10 | ;---------------------------------------------------------------------------------- 11 | ; system configuration 12 | ; ? 13 | ;dcdc1_vol ---set dcdc1 voltage,mV,1600-3400,100mV/step 14 | ;dcdc2_vol ---set dcdc2 voltage,mV,600-1540,20mV/step 15 | ;dcdc3_vol ---set dcdc3 voltage,mV,600-1860,20mV/step 16 | ;dcdc4_vol ---set dcdc4 voltage,mV,600-1540,20mV/step 17 | ;dcdc5_vol ---set dcdc5 voltage,mV,1000-2550,50mV/step 18 | ;aldo2_vol ---set aldo2 voltage,mV,700-3300,100mV/step 19 | ;aldo3_vol ---set aldo3 voltage,mV,700-3300,100mV/step 20 | ;---------------------------------------------------------------------------------- 21 | [power_sply] 22 | dcdc1_vol = 3000 23 | dcdc2_vol = 1200 24 | dcdc3_vol = 1200 25 | dcdc4_vol = 1200 26 | dcdc5_vol = 1500 27 | aldo2_vol = 1800 28 | aldo3_vol = 3000 29 | 30 | ;---------------------------------------------------------------------------------- 31 | ; 7-6 bit 5-0 bit 32 | ;power_mode = grain_size|vol 设置系统电压,=0则不设置,范围900~1200mV 33 | ;grain_size = 电压粒度 0:10mV 1:20mV 2:50mV 3:100mV 34 | ;vol = 电压系数 =0则不设置 35 | ;grain_size=0电压公式:sys_vol = 500mV + vol * 10mV 36 | ;grain_size=1电压公式:sys_vol = 500mV + vol * 20mV 37 | ;grain_size=2电压公式:sys_vol = 500mV + vol * 50mV 38 | ;grain_size=3电压公式:sys_vol = 500mV + vol * 100mV 39 | ;---------------------------------------------------------------------------------- 40 | [target] 41 | storage_type = 5 42 | nand_use_ubi = 1 43 | power_mode = 0 44 | 45 | 46 | [card_boot] 47 | logical_start = 40960 48 | sprite_gpio0 = 49 | 50 | [card0_boot_para] 51 | card_ctrl = 0 52 | card_high_speed = 1 53 | card_line = 4 54 | sdc_d1 = port:PF0<2><1> 55 | sdc_d0 = port:PF1<2><1> 56 | sdc_clk = port:PF2<2><1> 57 | sdc_cmd = port:PF3<2><1> 58 | sdc_d3 = port:PF4<2><1> 59 | sdc_d2 = port:PF5<2><1> 60 | 61 | [card2_boot_para] 62 | card_ctrl = 2 63 | card_high_speed = 1 64 | card_line = 8 65 | sdc_clk = port:PC0<3><1><3> 66 | sdc_cmd = port:PC1<3><1><3> 67 | sdc_d0 = port:PC2<3><1><3> 68 | sdc_d1 = port:PC3<3><1><3> 69 | sdc_d2 = port:PC4<3><1><3> 70 | sdc_d3 = port:PC5<3><1><3> 71 | sdc_d4 = port:PC6<3><1><3> 72 | sdc_d5 = port:PC7<3><1><3> 73 | sdc_d6 = port:PC8<3><1><3> 74 | sdc_d7 = port:PC9<3><1><3> 75 | sdc_emmc_rst = port:PC11<3><1><3> 76 | sdc_ds = port:PC10<3><2><3> 77 | 78 | [spinor_para] 79 | ;read_mode =4 80 | ;flash_size =16 81 | ;delay_cycle =1 82 | ;frequency =100000000 83 | 84 | spi_sclk = port:PC00<4><0><2> 85 | spi_cs = port:PC01<4><1><2> 86 | spi0_mosi = port:PC02<4><0><2> 87 | spi0_miso = port:PC03<4><0><2> 88 | spi0_wp = port:PC04<4><0><2> 89 | spi0_hold = port:PC05<4><0><2> 90 | 91 | [twi_para] 92 | twi_used = 1 93 | twi_port = 4 94 | twi_scl = port:PI01<6><1> 95 | twi_sda = port:PI02<6><1> 96 | 97 | [uart_para] 98 | uart_debug_port = 0 99 | uart_debug_tx = port:PH09<5><1> 100 | uart_debug_rx = port:PH10<5><1> 101 | 102 | [jtag_para] 103 | jtag_enable = 0 104 | jtag_ms = port:PH9<3> 105 | jtag_ck = port:PH10<3> 106 | jtag_do = port:PH11<3> 107 | jtag_di = port:PH12<3> 108 | 109 | ;***************************************************************************** 110 | ;sdram configuration 111 | ; 112 | ;***************************************************************************** 113 | [dram_para] 114 | 115 | dram_clk = 533 116 | dram_type = 2 117 | dram_zq = 0x7b7bf9 118 | dram_odt_en = 0x0 119 | dram_para1 = 0x00d2 120 | dram_para2 = 0x0 121 | dram_mr0 = 0xe73 122 | dram_mr1 = 0x02 123 | dram_mr2 = 0x0 124 | dram_mr3 = 0x0 125 | dram_tpr0 = 0x00471992 126 | dram_tpr1 = 0x0131a10c 127 | dram_tpr2 = 0x00057041 128 | dram_tpr3 = 0xb4787896 129 | dram_tpr4 = 0x0 130 | dram_tpr5 = 0x48484848 131 | dram_tpr6 = 0x48 132 | dram_tpr7 = 0x1621121e 133 | dram_tpr8 = 0x0 134 | dram_tpr9 = 0x0 135 | dram_tpr10 = 0x00000000 136 | dram_tpr11 = 0x00000022 137 | dram_tpr12 = 0x00000077 138 | dram_tpr13 = 0x34000100 139 | 140 | 141 | -------------------------------------------------------------------------------- /device/config/chips/v851s/configs/lizard/uboot-board.dts: -------------------------------------------------------------------------------- 1 | /* 2 | * Allwinner Technology CO., Ltd. sun8iw19p1 soc board. 3 | * 4 | * soc board support. 5 | */ 6 | 7 | /{ 8 | model = "sun8iw21"; 9 | compatible = "YuzukiHD,Yuzukilizard", "allwinner,v851", "arm,sun8iw21p1"; 10 | 11 | reg_usb0_vbus: usb0-vbus { 12 | compatible = "regulator-fixed"; 13 | gpio = <&pio PH 2 1 2 0 1>; 14 | regulator-name = "usb0-vbus"; 15 | regulator-min-microvolt = <5000000>; 16 | regulator-max-microvolt = <5000000>; 17 | enable-active-high; 18 | }; 19 | 20 | box_start_os0 { 21 | compatible = "allwinner,box_start_os"; 22 | start_type = <0x1>; 23 | irkey_used = <0x0>; 24 | pmukey_used = <0x0>; 25 | pmukey_num = <0x0>; 26 | led_power = <0x0>; 27 | led_state = <0x0>; 28 | pinctrl-0 = <&standby_blue>; 29 | pinctrl-1 = <&standby_red>; 30 | }; 31 | gpu: gpu@1800000 { 32 | gpu_idle = <1>; 33 | dvfs_status = <1>; 34 | operating-points = < 35 | /* KHz uV */ 36 | 600000 950000 37 | 576000 950000 38 | 540000 950000 39 | 504000 950000 40 | 456000 950000 41 | 420000 950000 42 | 384000 950000 43 | 360000 950000 44 | 336000 950000 45 | 306000 950000 46 | >; 47 | }; 48 | }; 49 | 50 | &power_sply { 51 | dcdc1_vol = <1003300>; 52 | dcdc2_vol = <1000900>; 53 | dcdc5_vol = <1200>; 54 | aldo1_vol = <1001800>; 55 | aldo2_vol = <1001800>; 56 | aldo3_vol = <1003300>; 57 | aldo4_vol = <1003300>; 58 | bldo1_vol = <1001800>; 59 | bldo2_vol = <1002800>; 60 | dldo1_vol = <1003300>; 61 | dldo2_vol = <1001200>; 62 | }; 63 | 64 | &sunxi_flashmap { 65 | /* Unit: Sector */ 66 | sdmmc_map { 67 | logic_offset = <40960>; 68 | boot_param_start = <24504>; 69 | boot_param_size = <1>; 70 | uboot_start = <32800>; 71 | uboot_size = <4096>; 72 | uboot_bak_start = <24576>; 73 | uboot_bak_size = <4096>; 74 | secure_storage_start = <12288>; 75 | secure_storage_size = <512>; 76 | tuning_data_start = <24512>; 77 | tuning_data_size = <60>; 78 | status = "okay"; 79 | }; 80 | 81 | nor_map { 82 | logic_offset = <2016>; 83 | secure_logic_offset = <2200>; 84 | rtos_logic_offset = <2016>; 85 | rtos_secure_logic_offset = <2200>; 86 | boot_param_start = <120>; 87 | boot_param_size = <8>; 88 | uboot_start = <128>; 89 | uboot_size = <1888>; 90 | status = "okay"; 91 | }; 92 | }; 93 | 94 | &aliases { 95 | disp = &disp; 96 | lcd0=&lcd0; 97 | spi0 = &spi0; 98 | twi4=&twi4; 99 | pwm = &pwm; 100 | pwm0 = &pwm0; 101 | pwm1 = &pwm1; 102 | pwm2 = &pwm2; 103 | pwm3 = &pwm3; 104 | pwm4 = &pwm4; 105 | pwm5 = &pwm5; 106 | pwm6 = &pwm6; 107 | pwm7 = &pwm7; 108 | pwm8 = &pwm8; 109 | pwm9 = &pwm9; 110 | pwm10 = &pwm10; 111 | pwm11 = &pwm11; 112 | }; 113 | 114 | &platform { 115 | eraseflag = <1>; 116 | debug_mode = <4>; 117 | }; 118 | 119 | &target { 120 | boot_clock = <900>; /*CPU boot frequency, Unit: MHz*/ 121 | burn_key = <0>; 122 | }; 123 | 124 | &r_pio{ 125 | 126 | s_twi0_pins_a: s_twi0@0 { 127 | allwinner,pins = "PL0", "PL1"; 128 | allwinner,pname = "s_twi0_scl", "s_twi0_sda"; 129 | allwinner,function = "s_twi0"; 130 | allwinner,muxsel = <3>; 131 | allwinner,drive = <1>; 132 | allwinner,pull = <1>; 133 | }; 134 | 135 | s_twi0_pins_b: s_twi0@1 { 136 | allwinner,pins = "PL0", "PL1"; 137 | allwinner,function = "io_disabled"; 138 | allwinner,muxsel = <7>; 139 | allwinner,drive = <1>; 140 | allwinner,pull = <0>; 141 | }; 142 | }; 143 | 144 | 145 | &pio{ 146 | spi0_pins_a: spi0@0 { 147 | allwinner,pins = "PC0", "PC2", "PC3"; 148 | allwinner,pname = "spi0_sclk", "spi0_mosi", "spi0_miso"; 149 | allwinner,function = "spi0"; 150 | allwinner,muxsel = <4>; 151 | allwinner,drive = <1>; 152 | allwinner,pull = <0>; 153 | }; 154 | 155 | spi0_pins_b: spi0@1 { 156 | allwinner,pins = "PC1", "PC5", "PC4"; 157 | allwinner,pname = "spi0_cs0", "spi0_hold", "spi0_wp"; 158 | allwinner,function = "spi0"; 159 | allwinner,muxsel = <4>; 160 | allwinner,drive = <1>; 161 | allwinner,pull = <1>; // only CS should be pulled up 162 | }; 163 | 164 | spi0_pins_c: spi0@2 { 165 | allwinner,pins = "PC0", "PC1", "PC2", "PC3", "PC4", "PC5"; 166 | allwinner,function = "io_disabled"; 167 | allwinner,muxsel = <7>; 168 | allwinner,drive = <1>; 169 | allwinner,pull = <0>; 170 | }; 171 | 172 | spi1_pins_a: spi1@0 { 173 | allwinner,pins = "PH6", "PH7", "PH8"; 174 | allwinner,pname = "spi1_sclk", "spi1_mosi", "spi1_miso"; 175 | allwinner,function = "spi1"; 176 | }; 177 | 178 | spi1_pins_b: spi1@1 { 179 | allwinner,pins = "PH5", "PH9"; 180 | allwinner,pname = "spi1_cs0", "spi1_cs1"; 181 | allwinner,function = "spi1"; 182 | }; 183 | 184 | spi1_pins_c: spi1@2 { 185 | allwinner,pins = "PH5", "PH6", "PH7", "PH8", "PH9"; 186 | allwinner,function = "io_disabled"; 187 | }; 188 | 189 | twi0_pins_a: twi0@0 { 190 | allwinner,pins = "PA0", "PA1"; 191 | allwinner,pname = "twi0_scl", "twi0_sda"; 192 | allwinner,function = "twi0"; 193 | allwinner,muxsel = <4>; 194 | allwinner,drive = <1>; 195 | allwinner,pull = <0>; 196 | }; 197 | 198 | twi0_pins_b: twi0@1 { 199 | allwinner,pins = "PA0", "PA1"; 200 | allwinner,function = "io_disabled"; 201 | allwinner,muxsel = <7>; 202 | allwinner,drive = <1>; 203 | allwinner,pull = <0>; 204 | }; 205 | 206 | twi1_pins_a: twi1@0 { 207 | allwinner,pins = "PA2", "PA3"; 208 | allwinner,pname = "twi1_scl", "twi1_sda"; 209 | allwinner,function = "twi1"; 210 | allwinner,muxsel = <4>; 211 | allwinner,drive = <1>; 212 | allwinner,pull = <0>; 213 | }; 214 | 215 | twi1_pins_b: twi1@1 { 216 | allwinner,pins = "PA2", "PA3"; 217 | allwinner,function = "io_disabled"; 218 | allwinner,muxsel = <7>; 219 | allwinner,drive = <1>; 220 | allwinner,pull = <0>; 221 | }; 222 | 223 | twi2_pins_a: twi2@0 { 224 | allwinner,pins = "PE20", "PE21"; 225 | allwinner,pname = "twi2_scl", "twi2_sda"; 226 | allwinner,function = "twi2"; 227 | allwinner,muxsel = <5>; 228 | allwinner,drive = <1>; 229 | allwinner,pull = <0>; 230 | }; 231 | 232 | twi2_pins_b: twi2@1 { 233 | allwinner,pins = "PE20", "PE21"; 234 | allwinner,function = "io_disabled"; 235 | allwinner,muxsel = <7>; 236 | allwinner,drive = <1>; 237 | allwinner,pull = <0>; 238 | }; 239 | 240 | twi3_pins_a: twi3@0 { 241 | allwinner,pins = "PA10", "PA11"; 242 | allwinner,pname = "twi3_scl", "twi3_sda"; 243 | allwinner,function = "twi3"; 244 | allwinner,muxsel = <2>; 245 | allwinner,drive = <1>; 246 | allwinner,pull = <1>; 247 | }; 248 | 249 | twi3_pins_b: twi3@1 { 250 | allwinner,pins = "PA10", "PA11"; 251 | allwinner,function = "io_disabled"; 252 | allwinner,muxsel = <7>; 253 | allwinner,drive = <1>; 254 | allwinner,pull = <0>; 255 | }; 256 | 257 | twi4_pins_a: twi4@0 { 258 | allwinner,pins = "PI01", "PI02"; 259 | allwinner,pname = "twi4_scl", "twi4_sda"; 260 | allwinner,function = "twi4"; 261 | allwinner,muxsel = <6>; 262 | allwinner,drive = <1>; 263 | allwinner,pull = <1>; 264 | }; 265 | 266 | twi4_pins_b: twi4@1 { 267 | allwinner,pins = "PI01", "PI02"; 268 | allwinner,function = "io_disabled"; 269 | allwinner,muxsel = <0>; 270 | allwinner,drive = <1>; 271 | allwinner,pull = <1>; 272 | }; 273 | sdc0_pins_a: sdc0@0 { 274 | allwinner,pins = "PF0", "PF1", "PF2", 275 | "PF3", "PF4", "PF5"; 276 | allwinner,function = "sdc0"; 277 | allwinner,muxsel = <2>; 278 | allwinner,drive = <3>; 279 | allwinner,pull = <1>; 280 | }; 281 | sdc1_pins_a: sdc1@0 { 282 | allwinner,pins = "PG0", "PG1", "PG2", 283 | "PG3", "PG4", "PG5"; 284 | allwinner,function = "sdc1"; 285 | allwinner,muxsel = <2>; 286 | allwinner,drive = <3>; 287 | allwinner,pull = <1>; 288 | }; 289 | sdc2_pins_a: sdc2@0 { 290 | allwinner,pins = "PC0", "PC1", "PC2", 291 | "PC3", "PC4", "PC5", "PC6", 292 | "PC7", "PC8", "PC9", "PC11"; 293 | allwinner,function = "sdc2"; 294 | allwinner,muxsel = <3>; 295 | allwinner,drive = <2>; 296 | allwinner,pull = <1>; 297 | }; 298 | sdc2_pins_b: sdc2@1 { 299 | allwinner,pins = "PC0", "PC1", "PC2", 300 | "PC3", "PC4", "PC5", "PC6", 301 | "PC7", "PC8", "PC9", "PC10", "PC11"; 302 | allwinner,function = "io_disabled"; 303 | allwinner,muxsel = <7>; 304 | allwinner,drive = <1>; 305 | allwinner,pull = <1>; 306 | }; 307 | sdc2_pins_c: sdc2@2 { 308 | allwinner,pins = "PC10"; 309 | allwinner,function = "sdc2"; 310 | allwinner,muxsel = <3>; 311 | allwinner,drive = <2>; 312 | allwinner,pull = <2>; 313 | }; 314 | 315 | pwm11_pin_a: pwm11@0 { 316 | pins = "PD12"; 317 | function = "pwm11"; 318 | drive-strength = <10>; 319 | bias-pull-up; 320 | }; 321 | 322 | pwm11_pin_b: pwm11@1 { 323 | pins = "PD12"; 324 | function = "gpio_in"; 325 | }; 326 | 327 | standby_red: standby@0 { 328 | allwinner,pins = "PH6"; 329 | allwinner,function = "gpio_out"; 330 | allwinner,muxsel = <1>; 331 | allwinner,data = <1>; 332 | allwinner,drive = <0>; 333 | allwinner,pull = <0>; 334 | }; 335 | standby_blue: standby@1 { 336 | allwinner,pins = "PH7"; 337 | allwinner,function = "gpio_out"; 338 | allwinner,muxsel = <1>; 339 | allwinner,data = <0>; 340 | allwinner,drive = <2>; 341 | allwinner,pull = <2>; 342 | }; 343 | }; 344 | 345 | &twi4 { 346 | clock-frequency = <200000>; 347 | pinctrl-0 = <&twi4_pins_a>; 348 | pinctrl-1 = <&twi4_pins_b>; 349 | no_suspend = <1>; 350 | twi_drv_used = <1>; 351 | status = "okay"; 352 | pmu0: pmu@34 { 353 | compatible = "x-powers,axp2101"; 354 | status = "okay"; 355 | /* interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 356 | * interrupt-parent = <&gic>; */ 357 | x-powers,drive-vbus-en; 358 | 359 | wakeup-source; 360 | 361 | regulator0: regulators@0 { 362 | reg_dcdc1: dcdc1 { 363 | regulator-name = "axp2101-dcdc1"; 364 | }; 365 | reg_dcdc2: dcdc2 { 366 | regulator-name = "axp2101-dcdc2"; 367 | }; 368 | reg_dcdc3: dcdc3 { 369 | regulator-name = "axp2101-dcdc3"; 370 | }; 371 | reg_dcdc4: dcdc4 { 372 | regulator-name = "axp2101-dcdc4"; 373 | }; 374 | reg_dcdc5: dcdc5 { 375 | regulator-name = "axp2101-dcdc5"; 376 | }; 377 | reg_dc4ldo2:dc4ldo2 { 378 | regulator-name = "axp2101-dc4ldo2"; 379 | }; 380 | reg_dldo1: dldo1 { 381 | regulator-name = "axp2101-dldo1"; 382 | }; 383 | reg_dldo2: dldo2 { 384 | regulator-name = "axp2101-dldo2"; 385 | }; 386 | reg_aldo1: aldo1 { 387 | regulator-name = "axp2101-aldo1"; 388 | }; 389 | reg_aldo2: aldo2 { 390 | regulator-name = "axp2101-aldo2"; 391 | }; 392 | reg_aldo3: aldo3 { 393 | regulator-name = "axp2101-aldo3"; 394 | }; 395 | reg_aldo4: aldo4 { 396 | regulator-name = "axp2101-aldo4"; 397 | }; 398 | reg_bldo1: bldo1 { 399 | regulator-name = "axp2101-bldo1"; 400 | }; 401 | reg_bldo2: bldo2 { 402 | regulator-name = "axp2101-bldo2"; 403 | }; 404 | }; 405 | }; 406 | }; 407 | 408 | &pwm11 { 409 | pinctrl-names = "active", "sleep"; 410 | pinctrl-0 = <&pwm11_pin_a>; 411 | pinctrl-1 = <&pwm11_pin_b>; 412 | status = "okay"; 413 | }; 414 | 415 | &spi0 { 416 | clock-frequency = <100000000>; 417 | pinctrl-0 = <&spi0_pins_a &spi0_pins_b>; 418 | pinctrl-1 = <&spi0_pins_c>; 419 | pinctrl-names = "default", "sleep"; 420 | spi_slave_mode = <0>; 421 | spi_dbi_enable = <0>; 422 | spi0_cs_number = <1>; 423 | status = "disabled"; 424 | 425 | spi_board0 { 426 | device_type = "spi_board0"; 427 | compatible = "spi-nor"; 428 | spi-max-frequency = <100000000>; 429 | m25p,fast-read = <1>; 430 | /*individual_lock;*/ 431 | reg = <0x0>; 432 | spi-rx-bus-width=<0x04>; 433 | spi-tx-bus-width=<0x04>; 434 | status="disabled"; 435 | }; 436 | 437 | spi-nand@0 { 438 | compatible = "spi-nand"; 439 | spi-max-frequency=<0x05F5E100>; 440 | reg = <0x0>; 441 | spi-rx-bus-width=<0x01>; 442 | spi-tx-bus-width=<0x01>; 443 | status="disabled"; 444 | }; 445 | }; 446 | 447 | &card_boot { 448 | sprite_gpio0 = <0x54 0x7 0x6 0x1 0xffffffff 0xffffffff 0x1>; 449 | }; 450 | 451 | &card0_boot_para { /* Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value */ 452 | /* reg = <0x0 0x2 0x0 0x0>; [> Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value <] */ 453 | device_type = "card0_boot_para"; 454 | card_ctrl = <0x0>; 455 | card_high_speed = <0x1>; 456 | card_line = <0x4>; 457 | pinctrl-0 = <&sdc0_pins_a>; 458 | }; 459 | 460 | &card2_boot_para { /* Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value */ 461 | /* reg = <0x0 0x3 0x0 0x0>; [> Avoid dtc compiling warnings. @TODO: Developer should modify this to the actual value <] */ 462 | device_type = "card2_boot_para"; 463 | card_ctrl = <0x2>; 464 | card_high_speed = <0x1>; 465 | card_line = <0x8>; 466 | pinctrl-0 = <&sdc2_pins_a &sdc2_pins_c>; 467 | sdc_ex_dly_used = <0x2>; 468 | sdc_io_1v8 = <0x0>; 469 | }; 470 | 471 | &nand0 { 472 | compatible = "allwinner,sun50iw9-nand"; 473 | device_type = "nand0"; 474 | //reg = <0x0 0x04011000 0x0 0x1000>;/* nand0 */ 475 | pinctrl-names = "default", "sleep"; 476 | pinctrl-0 = <&nand0_pins_a &nand0_pins_b>; 477 | pinctrl-1 = <&nand0_pins_c>; 478 | nand0_regulator1 = "vcc-nand"; 479 | nand0_regulator2 = "none"; 480 | nand0_cache_level = <0x55aaaa55>; 481 | nand0_flush_cache_num = <0x55aaaa55>; 482 | nand0_capacity_level = <0x55aaaa55>; 483 | nand0_id_number_ctl = <0x55aaaa55>; 484 | nand0_print_level = <0x55aaaa55>; 485 | nand0_p0 = <0x55aaaa55>; 486 | nand0_p1 = <0x55aaaa55>; 487 | nand0_p2 = <0x55aaaa55>; 488 | nand0_p3 = <0x55aaaa55>; 489 | chip_code = "sun50iw9"; 490 | status = "disabled"; 491 | }; 492 | 493 | &pio{ 494 | rgb24_pins_a: rgb24@0 { 495 | allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \ 496 | "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \ 497 | "PD20", "PD21", "PD22", "PD23", "PD24", "PD25", "PD26", "PD27"; 498 | allwinner,pname = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \ 499 | "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \ 500 | "PD20", "PD21", "PD22", "PD23", "PD24", "PD25", "PD26", "PD27"; 501 | allwinner,function = "rgb24"; 502 | allwinner,muxsel = <2>; 503 | allwinner,drive = <3>; 504 | allwinner,pull = <0>; 505 | }; 506 | 507 | rgb24_pins_b: rgb24@1 { 508 | allwinner,pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \ 509 | "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \ 510 | "PD20", "PD21", "PD22", "PD23", "PD24", "PD25", "PD26", "PD27"; 511 | allwinner,pname = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", \ 512 | "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", "PD18", "PD19", \ 513 | "PD20", "PD21", "PD22", "PD23", "PD24", "PD25", "PD26", "PD27"; 514 | allwinner,function = "rgb24_suspend"; 515 | allwinner,muxsel = <7>; 516 | allwinner,drive = <3>; 517 | allwinner,pull = <0>; 518 | }; 519 | 520 | dsi2lane_pins_a: dsi2lane@0 { 521 | allwinner,pins = "PD1", "PD2", "PD3", "PD4", "PD5", "PD6"; 522 | allwinner,pname = "PD1", "PD2", "PD3", "PD4", "PD5", "PD6"; 523 | allwinner,function = "dsi"; 524 | allwinner,muxsel = <5>; 525 | allwinner,drive = <3>; 526 | allwinner,pull = <0>; 527 | }; 528 | 529 | dsi2lane_pins_b: dsi2lane@1 { 530 | allwinner,pins = "PD1", "PD2", "PD3", "PD4", "PD5", "PD6"; 531 | allwinner,pname = "PD1", "PD2", "PD3", "PD4", "PD5", "PD6"; 532 | allwinner,function = "io_disabled"; 533 | allwinner,muxsel = <0xf>; 534 | allwinner,drive = <1>; 535 | allwinner,pull = <0>; 536 | }; 537 | }; 538 | 539 | &disp { 540 | disp_init_enable = <1>; 541 | disp_mode = <0>; 542 | 543 | screen0_output_type = <1>; 544 | screen0_output_mode = <4>; 545 | 546 | screen1_output_type = <3>; 547 | screen1_output_mode = <10>; 548 | 549 | screen1_output_format = <0>; 550 | screen1_output_bits = <0>; 551 | screen1_output_eotf = <4>; 552 | screen1_output_cs = <257>; 553 | screen1_output_range = <2>; 554 | screen1_output_scan = <0>; 555 | screen1_output_aspect_ratio = <8>; 556 | 557 | dev0_output_type = <1>; 558 | dev0_output_mode = <4>; 559 | dev0_screen_id = <0>; 560 | dev0_do_hpd = <0>; 561 | 562 | dev1_output_type = <4>; 563 | dev1_output_mode = <10>; 564 | dev1_screen_id = <1>; 565 | dev1_do_hpd = <1>; 566 | 567 | def_output_dev = <0>; 568 | 569 | fb0_format = <0>; 570 | fb0_width = <0>; 571 | fb0_height = <0>; 572 | 573 | fb1_format = <0>; 574 | fb1_width = <0>; 575 | fb1_height = <0>; 576 | chn_cfg_mode = <1>; 577 | 578 | disp_para_zone = <1>; 579 | }; 580 | 581 | /*---------------------------------------------------------------------------------- 582 | ;lcd0 configuration 583 | 584 | ;lcd_if: 0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi 585 | ;lcd_hv_if 0:Parallel RGB; 8:Serial RGB; 10:Dummy RGB; 11: RGB Dummy;12:CCIR656 586 | ;lcd_hv_clk_phase 0:0 degree;1:90 degree;2:180 degree;3:270 degree 587 | ;lcd_hv_sync_polarity 0:vs low,hs low; 1:vs high,hslow; 2:vs low,hs high; 3:vs high,hs high 588 | ;lcd_hv_syuv_seq 0:YUYV; 1:YVYU; 2:UYVY; 3:VYUY 589 | ;lcd_cpu_if 0:18bit/1 cycle parallel(RGB666); 4:16bit/1cycle parallel (RGB565) 590 | ; 6:18bit/3 cycle parallel(RGB666); 7:16bit/2cycle parallel (RGB565) 591 | ;lcd_cpu_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge; 592 | ;lcd_dsi_if 0:video mode; 1: Command mode; 2:video burst mode 593 | ;lcd_dsi_te 0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge; 594 | ;lcd_x: lcd horizontal resolution 595 | ;lcd_y: lcd vertical resolution 596 | ;lcd_width: width of lcd in mm 597 | ;lcd_height: height of lcd in mm 598 | ;lcd_dclk_freq: in MHZ unit 599 | ;lcd_pwm_freq: in HZ unit 600 | ;lcd_pwm_pol: lcd backlight PWM polarity 601 | ;lcd_pwm_max_limit lcd backlight PWM max limit(<=255) 602 | ;lcd_hbp: hsync back porch(pixel) + hsync plus width(pixel); 603 | ;lcd_ht: hsync total cycle(pixel) 604 | ;lcd_vbp: vsync back porch(line) + vysnc plus width(line) 605 | ;lcd_vt: vysnc total cycle(line) 606 | ;lcd_hspw: hsync plus width(pixel) 607 | ;lcd_vspw: vysnc plus width(pixel) 608 | ;lcd_lvds_if: 0:single link; 1:dual link 609 | ;lcd_lvds_colordepth: 0:8bit; 1:6bit 610 | ;lcd_lvds_mode: 0:NS mode; 1:JEIDA mode 611 | ;lcd_frm: 0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither 612 | ;lcd_io_phase: 0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase; 613 | ; 8~11bit:dclk phase; 12~15bit:de phase) 614 | ;lcd_gamma_en lcd gamma correction enable 615 | ;lcd_bright_curve_en lcd bright curve correction enable 616 | ;lcd_cmap_en lcd color map function enable 617 | ;deu_mode 0:smoll lcd screen; 1:large lcd screen(larger than 10inch) 618 | ;lcdgamma4iep: Smart Backlight parameter, lcd gamma vale * 10; 619 | ; decrease it while lcd is not bright enough; increase while lcd is too bright 620 | ;smart_color 90:normal lcd screen 65:retina lcd screen(9.7inch) 621 | ;Pin setting for special function ie.LVDS, RGB data or vsync 622 | ; name(donot care) = port:PD12 623 | ;Pin setting for gpio: 624 | ; lcd_gpio_X = port:PD12 625 | ;Pin setting for backlight enable pin 626 | ; lcd_bl_en = port:PD12 627 | ;fsync setting, pulse to csi 628 | ;lcd_fsync_en (0:disable fsync,1:enable) 629 | ;lcd_fsync_act_time (active time of fsync, unit:pixel) 630 | ;lcd_fsync_dis_time (disactive time of fsync, unit:pixel) 631 | ;lcd_fsync_pol (0:positive;1:negative) 632 | ;gpio config: <&pio for cpu or &r_pio for cpus, port, port num, pio function, 633 | pull up or pull down(default 0), driver level(default 1), data> 634 | ;For dual link lvds: use lvds2link_pins_a and lvds2link_pins_b instead 635 | ;For rgb24: use rgb24_pins_a and rgb24_pins_b instead 636 | ;For lvds1: use lvds1_pins_a and lvds1_pins_b instead 637 | ;For lvds0: use lvds0_pins_a and lvds0_pins_b instead 638 | ;----------------------------------------------------------------------------------*/ 639 | &lcd0 { 640 | base_config_start = <1>; 641 | lcd_used = <1>; 642 | 643 | lcd_driver_name = "d310t9362v1"; 644 | 645 | lcd_bl_0_percent = <0>; 646 | lcd_bl_40_percent = <23>; 647 | lcd_bl_100_percent = <100>; 648 | lcd_backlight = <150>; 649 | 650 | lcd_if = <4>; 651 | lcd_x = <480>; 652 | lcd_y = <800>; 653 | lcd_width = <40>; 654 | lcd_height = <67>; 655 | lcd_dclk_freq = <34>; 656 | 657 | lcd_pwm_used = <1>; 658 | lcd_pwm_ch = <6>; 659 | lcd_pwm_freq = <50000>; 660 | lcd_pwm_pol = <1>; 661 | lcd_pwm_max_limit = <255>; 662 | 663 | lcd_hbp = <120>; 664 | lcd_ht = <624>; 665 | lcd_hspw = <48>; 666 | lcd_vbp = <28>; 667 | lcd_vt = <908>; 668 | lcd_vspw = <12>; 669 | 670 | lcd_dsi_if = <0>; 671 | lcd_dsi_lane = <2>; 672 | lcd_dsi_format = <0>; 673 | lcd_dsi_te = <0>; 674 | lcd_dsi_eotp = <0>; 675 | 676 | lcd_frm = <0>; 677 | lcd_io_phase = <0x0000>; 678 | lcd_hv_clk_phase = <0>; 679 | lcd_hv_sync_polarity= <0>; 680 | lcd_gamma_en = <0>; 681 | lcd_bright_curve_en = <0>; 682 | lcd_cmap_en = <0>; 683 | 684 | deu_mode = <0>; 685 | lcdgamma4iep = <22>; 686 | smart_color = <90>; 687 | 688 | lcd_gpio_0 = <&pio PD 8 1 0 3 1>; 689 | pinctrl-0 = <&dsi2lane_pins_a>; 690 | pinctrl-1 = <&dsi2lane_pins_b>; 691 | 692 | base_config_end = <1>; 693 | }; -------------------------------------------------------------------------------- /device/config/chips/v851s/tools/cardscript.fex: -------------------------------------------------------------------------------- 1 | ;------------------------------------------------------------------------------------------------------------- 2 | ; 3 | ; card_script.cfg 4 | ; 5 | ; 2009-11-20 11:11:23 6 | ; 7 | ;------------------------------------------------------------------------------------------------------------- 8 | 9 | ;------------------------------------------------------------------------------- 10 | ; ������� 11 | ;------------------------------------------------------------------------------- 12 | [process] 13 | version=300 14 | mode=product 15 | ;null �Ƿ� 0 16 | ;product ������ 1 17 | ;bromrun ����� 2 18 | ;update ������ 3 19 | ;test ������ 4 20 | 21 | ;null��ʾ���� 22 | 23 | ;start ��ʼ�������� 24 | ;sectors ����������0��ʾ�Զ������ļ�size�����Զ����� 25 | 26 | ;------------------------------------------------------------------------------- 27 | ; 28 | ;------------------------------------------------------------------------------- 29 | [boot_0_0] 30 | main=12345678 31 | sub=1234567890BOOT_0 32 | start=16 33 | sectors=0 34 | type=1 35 | ;0 raw 36 | ;1 1�� 37 | ;2 2�� 38 | ;x ���� 39 | param0=0 40 | param1=0 41 | param2=0 42 | param3=0 43 | param4=0 44 | param5=0 45 | param6=0 46 | param7=0 47 | commen=pheonix card_00 48 | commchs=��д��һ���� 49 | 50 | ;------------------------------------------------------------------------------- 51 | ; 52 | ;------------------------------------------------------------------------------- 53 | [boot_1_0] 54 | main=12345678 55 | sub=BOOTPKG-00000000 56 | start=32800 57 | sectors=0 58 | type=1 59 | ;0 raw 60 | ;1 1�� 61 | ;2 2�� 62 | ;x ���� 63 | param0=0 64 | param1=0 65 | param2=0 66 | param3=0 67 | param4=0 68 | param5=0 69 | param6=0 70 | param7=0 71 | commen=pheonix card_10 72 | commchs=��д���岿�� 73 | 74 | 75 | [card_boot] 76 | start = 40960 77 | 78 | 79 | ;------------------------------------------------------------------------------------------------------------- 80 | ; ���� 81 | ;------------------------------------------------------------------------------------------------------------- 82 | -------------------------------------------------------------------------------- /device/config/chips/v851s/tools/plat_config.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #set -e 4 | 5 | # 6 | # 3:ddr3 4:ddr4 7:lpddr3 8:lpddr4 7 | # 8 | DRAM_TYPE=0 9 | DRAM_NAME="null" 10 | PACK_CHIP="sun8iw21p1" 11 | 12 | 13 | copy_boot_file() 14 | { 15 | DRAM_TYPE=`awk '$0~"dram_type"{printf"%d", $3}' out/sys_config.fex` 16 | 17 | case $DRAM_TYPE in 18 | 3) DRAM_NAME="ddr3" 19 | ;; 20 | 4) DRAM_NAME="ddr4" 21 | ;; 22 | 7) DRAM_NAME="lpddr3" 23 | ;; 24 | 8) DRAM_NAME="lpddr4" 25 | ;; 26 | *) DRAM_NAME="unknow" 27 | exit 0 28 | ;; 29 | esac 30 | 31 | plat_boot_file_list=( 32 | chips/${PACK_CHIP}/bin/boot0_nand_${PACK_CHIP}_${DRAM_NAME}.bin:out/boot0_nand.fex 33 | chips/${PACK_CHIP}/bin/boot0_sdcard_${PACK_CHIP}_${DRAM_NAME}.bin:out/boot0_sdcard.fex 34 | chips/${PACK_CHIP}/bin/boot0_spinor_${PACK_CHIP}_${DRAM_NAME}.bin:out/boot0_spinor.fex 35 | chips/${PACK_CHIP}/bin/fes1_${PACK_CHIP}_${DRAM_NAME}.bin:out/fes1.fex 36 | chips/${PACK_CHIP}/bin/sboot_${PACK_CHIP}_${DRAM_NAME}.bin:out/sboot.bin 37 | chips/${PACK_CHIP}/bin/scp_${DRAM_NAME}.bin:out/scp.fex 38 | ) 39 | 40 | 41 | printf "copying boot file for ${DRAM_NAME}\n" 42 | for file in ${plat_boot_file_list[@]} ; do 43 | cp -f $(echo $file | sed -e 's/:/ /g') 2>/dev/null 44 | done 45 | } 46 | 47 | #copy_boot_file 48 | -------------------------------------------------------------------------------- /device/config/chips/v851s/tools/readme.txt: -------------------------------------------------------------------------------- 1 | use pack/common/tools 2 | -------------------------------------------------------------------------------- /openwrt/target/v851s/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2006-2007 OpenWrt.org 3 | # 4 | # This is free software, licensed under the GNU General Public License v2. 5 | # See /LICENSE for more information. 6 | # 7 | include $(TOPDIR)/rules.mk 8 | include $(INCLUDE_DIR)/target.mk 9 | 10 | export TARGET_BUILD=1 11 | 12 | prereq clean download prepare compile install recovery_menuconfig ramfs_menuconfig menuconfig nconfig oldconfig update refresh: FORCE 13 | @+$(NO_TRACE_MAKE) -C $(BOARD) $@ 14 | -------------------------------------------------------------------------------- /openwrt/target/v851s/generic/BoardRules_generic.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2015-2016 Allwinner 3 | # 4 | # This is free software, licensed under the GNU General Public License v2. 5 | # See /build/LICENSE for more information. 6 | 7 | TARGET_CPU_VARIANT:=$(subst ",,$(word 1,$(subst +," ,$(CONFIG_CPU_TYPE)))) 8 | 9 | -------------------------------------------------------------------------------- /openwrt/target/v851s/generic/config-4.9: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/openwrt/target/v851s/generic/config-4.9 -------------------------------------------------------------------------------- /openwrt/target/v851s/generic/image/Config.in: -------------------------------------------------------------------------------- 1 | config SUNXI_SD_BOOT_PART 2 | bool "Build filesystem for Boot (SD Card) partition" 3 | default n 4 | 5 | config SUNXI_SD_BOOT_PARTSIZE 6 | int "Boot (SD Card) filesystem partition size (in MB)" 7 | depends on SUNXI_SD_BOOT_PART 8 | default 4 9 | 10 | choice 11 | prompt "Boot (SD Card) Kernel format" 12 | default uImage 13 | 14 | config SUNXI_SD_BOOT_KERNEL_FORMAT_UIMAGE 15 | bool "uImage" 16 | 17 | config SUNXI_SD_BOOT_KERNEL_FORMAT_BOOTIMG 18 | bool "boot.img" 19 | endchoice 20 | 21 | config SUNXI_MKBOOTIMG_WITH_COMPRESS_KERNEL 22 | bool "mkbootimge with compressed kernel" 23 | depends on SUNXI_SD_BOOT_KERNEL_FORMAT_BOOTIMG 24 | default n 25 | 26 | config SUNXI_MKBOOTIMG_ADD_DTB 27 | bool "mkbootimge add dtb to boot.img" 28 | depends on SUNXI_SD_BOOT_KERNEL_FORMAT_BOOTIMG 29 | default n 30 | 31 | config SUNXI_SMALL_STORAGE_OTA 32 | bool "For storage less than 32M, enable this when using ota" 33 | default n 34 | 35 | config SUNXI_RECOVERY_INITRAMFS_PART 36 | bool "Build filesystem for Boot-Recovery initramfs partition" 37 | default n 38 | 39 | config SUNXI_RECOVERY_INITRAMFS_PARTSIZE 40 | int "Boot-Recovery initramfs filesystem partition size (in MB)" 41 | depends on SUNXI_RECOVERY_INITRAMFS_PART 42 | default 7 43 | 44 | 45 | choice 46 | prompt "Boot-Recovery initramfs Kernel format" 47 | default uImage 48 | 49 | config SUNXI_RECOVERY_INITRAMFS_KERNEL_FORMAT_UIMAGE 50 | bool "uImage" 51 | 52 | config SUNXI_RECOVERY_INITRAMFS_KERNEL_FORMAT_BOOTIMG 53 | bool "boot.img" 54 | endchoice 55 | 56 | config SUNXI_SEPARATE_APP_FROM_ROOTFS 57 | bool "Separate /mnt/app from rootfs" 58 | default n 59 | 60 | config SUNXI_SEPARATE_DATA_FROM_ROOTFS 61 | bool "Separate /data from rootfs" 62 | default n 63 | 64 | menuconfig CUSTOMIZE_IMAGE_NAME 65 | bool "customize image name" 66 | default n 67 | help 68 | Customize image name 69 | 70 | choice 71 | prompt "Boot Image(kernel) name suffix" 72 | default CONFIG_BOOT_IMAGE_NAME_SUFFIX_NONE 73 | depends on CUSTOMIZE_IMAGE_NAME 74 | help 75 | Customize Boot image(kernel) name 76 | 77 | config SUNXI_BOOT_IMAGE_NAME_SUFFIX_NONE 78 | bool "boot.img/boot_initramfs.img" 79 | 80 | config SUNXI_BOOT_IMAGE_NAME_SUFFIX_RECOVERY 81 | bool "boot_recovery.img/boot_initramfs_recovery.img" 82 | 83 | config SUNXI_BOOT_IMAGE_NAME_SUFFIX_RAMFS 84 | bool "boot_ramfs.img/boot_initramfs_ramfs.img" 85 | endchoice 86 | 87 | choice 88 | prompt "Rootfs Image name suffix" 89 | default CONFIG_ROOTFS_IMAGE_NAME_SUFFIX_NONE 90 | depends on CUSTOMIZE_IMAGE_NAME 91 | help 92 | Customize rootfs image name 93 | 94 | config SUNXI_ROOTFS_IMAGE_NAME_SUFFIX_NONE 95 | bool "rootfs.img" 96 | 97 | config SUNXI_ROOTFS_IMAGE_NAME_SUFFIX_RECOVERY 98 | bool "rootfs_recovery.img" 99 | 100 | config SUNXI_ROOTFS_IMAGE_NAME_SUFFIX_RAMFS 101 | bool "rootfs_ramfs.img" 102 | endchoice 103 | 104 | menuconfig CUSTOMIZE_CONFIG_FILE 105 | bool "customize config file" 106 | default n 107 | help 108 | Customize image config file 109 | 110 | choice 111 | prompt "Kernel config file suffix" 112 | default KERNEL_CONFIG_FILE_SUFFIX_NONE 113 | depends on CUSTOMIZE_CONFIG_FILE 114 | help 115 | Customize kernel config file 116 | 117 | config KERNEL_CONFIG_FILE_SUFFIX_NONE 118 | bool "config-x.x" 119 | 120 | config KERNEL_CONFIG_FILE_SUFFIX_RECOVERY 121 | bool "config-x.x_recovery" 122 | 123 | config KERNEL_CONFIG_FILE_SUFFIX_RAMFS 124 | bool "config-x.x_ramfs" 125 | endchoice 126 | 127 | menuconfig TARGET_ROOTFS_INCLUDE_KERNEL 128 | bool "Include kernel in root filesystem" 129 | depends on TARGET_ROOTFS_UBIFS || TARGET_ROOTFS_EXT4FS 130 | default n 131 | help 132 | Include the kernel image in the rootfs. Typically, the image is placed 133 | below /boot. 134 | 135 | config TARGET_ROOTFS_INCLUDE_UIMAGE 136 | bool "include uImage" if TARGET_ROOTFS_INCLUDE_KERNEL 137 | default y 138 | help 139 | This option might not apply to all targets. Make sure 140 | to check target/allwinner//image/Makefile to 141 | see if this option will have any effect. 142 | 143 | config TARGET_ROOTFS_INCLUDE_ZIMAGE 144 | bool "include zImage" if TARGET_ROOTFS_INCLUDE_KERNEL 145 | default y 146 | help 147 | This option might not apply to all targets. Make sure 148 | to check target/allwinner//image/Makefile to 149 | see if this option will have any effect. 150 | 151 | config TARGET_ROOTFS_INCLUDE_FIT 152 | bool "include FIT" if TARGET_ROOTFS_INCLUDE_KERNEL 153 | default y 154 | help 155 | This option might not apply to all targets. Make sure 156 | to check target/allwinner//image/Makefile to 157 | see if this option will have any effect. 158 | 159 | config TARGET_ROOTFS_INCLUDE_DTB 160 | bool "Include DTB in root filesystem" 161 | depends on USES_DEVICETREE && (TARGET_ROOTFS_UBIFS || TARGET_ROOTFS_EXT4FS) 162 | default n 163 | help 164 | Include the device tree blob file(s) in the rootfs. Typically the DTBs 165 | are placed below /boot. 166 | 167 | comment "Kernel Image Compression Mode setting" 168 | 169 | menuconfig TARGET_KERNEL_COMPRESSION_MODE 170 | bool "kernel compression mode setting" 171 | default n 172 | help 173 | setting kernel image compression mode. 174 | 175 | choice 176 | prompt "Compression" 177 | default KERNEL_KERNEL_GZIP 178 | depends on TARGET_KERNEL_COMPRESSION_MODE 179 | help 180 | Select kernel image compression. 181 | 182 | config KERNEL_KERNEL_GZIP 183 | bool "Gzip" 184 | 185 | config KERNEL_KERNEL_LZMA 186 | bool "LZMA" 187 | 188 | config KERNEL_KERNEL_XZ 189 | bool "XZ" 190 | 191 | config KERNEL_KERNEL_LZO 192 | bool "LZO" 193 | endchoice 194 | 195 | comment "Downsize root filesystem" 196 | 197 | config REDUCE_ROOTFS_SIZE 198 | bool "downsize the root filesystem or initramfs" 199 | default n 200 | help 201 | This option will reduce the storage size of the rootfs. Please read file 202 | scripts/reduce-rootfs-size.sh. 203 | 204 | comment "Optimize kernel size" 205 | 206 | config REDUCE_KERNEL_SIZE 207 | bool "downsize the kernel size (EXPERIMENTAL)" 208 | default n 209 | help 210 | This option will reduce the storage size of the kernel by removing log 211 | and debug information. Please read file scripts/reduce-kernel-size.sh 212 | 213 | comment "Boot Time Optimization" 214 | 215 | config BOOT_TIME_OPTIMIZATION 216 | bool "Boot Time Optimization" 217 | depends on KERNEL_KERNEL_LZO && ( KERNEL_SQUASHFS_ZLIB || TARGET_ROOTFS_EXT4FS) 218 | default n 219 | help 220 | This option will optimize boot time. 221 | 222 | 223 | config SUNXI_MAKE_REDUNDANT_ENV 224 | bool "sunxi make redundant env data" 225 | default n 226 | help 227 | Create redundant env data with mkenvimage tools 228 | 229 | config SUNXI_REDUNDANT_ENV_SIZE 230 | string "redundant env data size" 231 | depends on SUNXI_MAKE_REDUNDANT_ENV 232 | default 0x20000 233 | help 234 | redundant env data size 235 | 236 | -------------------------------------------------------------------------------- /openwrt/target/v851s/generic/image/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2013-2016 OpenWrt.org 3 | # 4 | # This is free software, licensed under the GNU General Public License v2. 5 | # See /LICENSE for more information. 6 | # 7 | include $(TOPDIR)/rules.mk 8 | include $(INCLUDE_DIR)/image.mk 9 | include $(INCLUDE_DIR)/host-build.mk 10 | 11 | FAT32_BLOCK_SIZE=1024 12 | ifneq ($(CONFIG_SUNXI_SD_BOOT_PARTSIZE),) 13 | FAT32_BLOCKS=$(shell echo $$(($(CONFIG_SUNXI_SD_BOOT_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE)))) 14 | endif 15 | ifneq ($(CONFIG_SUNXI_RECOVERY_INITRAMFS_PARTSIZE),) 16 | RECOVERY_INITRAMFS_BLOCKS=$(shell echo $$(($(CONFIG_SUNXI_RECOVERY_INITRAMFS_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE)))) 17 | endif 18 | 19 | IMAGE_NAME_SUFFIX:= 20 | ifneq ($(CONFIG_SUNXI_BOOT_IMAGE_NAME_SUFFIX_RECOVERY),) 21 | IMAGE_NAME_SUFFIX=_recovery 22 | else ifneq ($(CONFIG_SUNXI_BOOT_IMAGE_NAME_SUFFIX_RAMFS),) 23 | IMAGE_NAME_SUFFIX=_ramfs 24 | endif 25 | 26 | ROOTFS_IMAGE_NAME_SUFFIX:= 27 | ifneq ($(CONFIG_SUNXI_ROOTFS_IMAGE_NAME_SUFFIX_RECOVERY),) 28 | ROOTFS_IMAGE_NAME_SUFFIX=_recovery 29 | else ifneq ($(CONFIG_SUNXI_ROOTFS_IMAGE_NAME_SUFFIX_RAMFS),) 30 | ROOTFS_IMAGE_NAME_SUFFIX=_ramfs 31 | endif 32 | 33 | LOAD_ADDRESS:=0x40008000 34 | ENTRY_POINT:=0x40008000 35 | BASE_ADDRESS:=0x40000000 36 | KERNEL_OFFSET:=0x8000 37 | RAMDISK_OFFSET:=0x01000000 38 | IMAGE_DATA:=zImage 39 | BOOTIMG_IMAGE_DATA:=zImage 40 | RAMDISK:=ramdisk.img 41 | UIMAGE_NAME:=uImage 42 | BOOTIMG_NAME:=boot.img 43 | TARCH:=$(ARCH) 44 | COMP:=none 45 | ifeq ($(ARCH), aarch64) 46 | TARCH=arm64 47 | endif 48 | TARGET_BOOT_IMG:=boot${IMAGE_NAME_SUFFIX}.img 49 | TARGET_BOOT_INITRAMFS_IMG:=boot_initramfs${IMAGE_NAME_SUFFIX}.img 50 | TARGET_ROOTFS_IMG:=rootfs${ROOTFS_IMAGE_NAME_SUFFIX}.img 51 | TARGET_USR_IMG:=usr${ROOTFS_IMAGE_NAME_SUFFIX}.img 52 | 53 | ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) 54 | UIMAGE_NAME=uImage-initramfs 55 | BOOTIMG_NAME=boot-initramfs.img 56 | endif 57 | 58 | ifeq ($(ARCH), aarch64) 59 | LOAD_ADDRESS=0x40080000 60 | ENTRY_POINT=0x40080000 61 | BASE_ADDRESS=0x40000000 62 | KERNEL_OFFSET=0x80000 63 | RAMDISK_OFFSET:=0x02000000 64 | IMAGE_DATA=Image.gz 65 | BOOTIMG_IMAGE_DATA=bImage 66 | COMP=gzip 67 | ifneq ($(CONFIG_KERNEL_KERNEL_LZO),) 68 | IMAGE_DATA=Image.lzo 69 | COMP=lzo 70 | endif 71 | endif 72 | 73 | ifeq ($(ARCH), riscv) 74 | LOAD_ADDRESS=0x40080000 75 | ENTRY_POINT=0x40080000 76 | BASE_ADDRESS=0x40200000 77 | KERNEL_OFFSET=0x0 78 | RAMDISK_OFFSET:=0x01000000 79 | IMAGE_DATA=Image.gz 80 | BOOTIMG_IMAGE_DATA=Image 81 | COMP=gzip 82 | endif 83 | 84 | ifneq (,$(findstring $(TARGET_BOARD_PLATFORM), r6 c200s v133 c600)) 85 | LOAD_ADDRESS=0x80008000 86 | ENTRY_POINT=0x80008000 87 | BASE_ADDRESS=0x80000000 88 | KERNEL_OFFSET=0x8000 89 | endif 90 | 91 | define mkBootimg 92 | mkbootimg --kernel $(1) \ 93 | --ramdisk $(2) \ 94 | --board $(3) \ 95 | --base $(4) \ 96 | --kernel_offset $(5) \ 97 | --ramdisk_offset $(6) \ 98 | -o $(7) 99 | endef 100 | 101 | define mkBootimg_without_ramdisk 102 | mkbootimg --kernel $(1) \ 103 | --board $(2) \ 104 | --base $(3) \ 105 | --kernel_offset $(4) \ 106 | -o $(5) 107 | endef 108 | 109 | define mkuImage 110 | mkimage -A $(TARCH) -O linux -T kernel -C $(1) -a $(2) -e $(3) \ 111 | -n '$(call toupper,$(ARCH)) OpenWrt Linux-$(LINUX_VERSION)' -d $(4) $(5) 112 | endef 113 | 114 | define Image/BuildKernel 115 | $(CP) $(KDIR)/$(IMAGE_DATA) $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(IMAGE_DATA) 116 | $(call mkuImage, \ 117 | $(COMP), $(LOAD_ADDRESS), $(ENTRY_POINT), \ 118 | $(KDIR)/$(IMAGE_DATA), $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(UIMAGE_NAME) \ 119 | ) 120 | 121 | ifneq ($(CONFIG_SUNXI_MKBOOTIMG_WITH_COMPRESS_KERNEL),) 122 | $(call mkBootimg_without_ramdisk, \ 123 | $(KDIR)/$(IMAGE_DATA), \ 124 | $(shell echo $(IMG_PREFIX) | cut -c 1-16 ), \ 125 | ${BASE_ADDRESS}, \ 126 | ${KERNEL_OFFSET}, \ 127 | $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(BOOTIMG_NAME),\ 128 | ) 129 | else 130 | $(call mkBootimg, \ 131 | $(KDIR)/$(BOOTIMG_IMAGE_DATA), \ 132 | $(RAMDISK), \ 133 | $(shell echo $(IMG_PREFIX) | cut -c 1-16 ), \ 134 | ${BASE_ADDRESS}, \ 135 | ${KERNEL_OFFSET}, \ 136 | ${RAMDISK_OFFSET}, \ 137 | $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(BOOTIMG_NAME),\ 138 | ) 139 | endif 140 | endef 141 | 142 | define Image/Build/Initramfs 143 | $(CP) $(KDIR)/$(IMAGE_DATA)-initramfs $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(IMAGE_DATA)-initramfs 144 | echo -ne '\x00\x00\x00\x00' >> $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(IMAGE_DATA)-initramfs 145 | $(call mkuImage, \ 146 | $(COMP), $(LOAD_ADDRESS), $(ENTRY_POINT), \ 147 | $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(IMAGE_DATA)-initramfs, \ 148 | $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(UIMAGE_NAME) \ 149 | ) 150 | 151 | $(CP) $(KDIR)/$(BOOTIMG_IMAGE_DATA)-initramfs $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(BOOTIMG_IMAGE_DATA)-initramfs 152 | echo -ne '\x00\x00\x00\x00' >> $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(BOOTIMG_IMAGE_DATA)-initramfs 153 | ifneq ($(CONFIG_SUNXI_MKBOOTIMG_WITH_COMPRESS_KERNEL),) 154 | $(call mkBootimg, \ 155 | $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(IMAGE_DATA)-initramfs, \ 156 | $(RAMDISK), \ 157 | $(shell echo $(IMG_PREFIX) | cut -c 1-16 ), \ 158 | ${BASE_ADDRESS}, \ 159 | ${KERNEL_OFFSET}, \ 160 | ${RAMDISK_OFFSET}, \ 161 | $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(BOOTIMG_NAME),\ 162 | ) 163 | else 164 | $(call mkBootimg, \ 165 | $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(BOOTIMG_IMAGE_DATA)-initramfs, \ 166 | $(RAMDISK), \ 167 | $(shell echo $(IMG_PREFIX) | cut -c 1-16 ), \ 168 | ${BASE_ADDRESS}, \ 169 | ${KERNEL_OFFSET}, \ 170 | ${RAMDISK_OFFSET}, \ 171 | $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(BOOTIMG_NAME),\ 172 | ) 173 | endif 174 | endef 175 | 176 | ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) 177 | define Image/InstallKernel 178 | rm -f $(TARGET_OUT_DIR)/${TARGET_BOOT_IMG} 179 | rm -f $(TARGET_OUT_DIR)/${TARGET_BOOT_INITRAMFS_IMG} 180 | ifneq ($(CONFIG_SUNXI_RECOVERY_INITRAMFS_PARTSIZE),) 181 | mkdosfs $(TARGET_OUT_DIR)/${TARGET_BOOT_INITRAMFS_IMG} -C $(RECOVERY_INITRAMFS_BLOCKS) 182 | 183 | ifneq ($(CONFIG_SUNXI_RECOVERY_INITRAMFS_KERNEL_FORMAT_UIMAGE),) 184 | mcopy -i $(TARGET_OUT_DIR)/${TARGET_BOOT_INITRAMFS_IMG} $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(UIMAGE_NAME) ::uImage 185 | else ifneq ($(CONFIG_SUNXI_RECOVERY_INITRAMFS_KERNEL_FORMAT_BOOTIMG),) 186 | mcopy -i $(TARGET_OUT_DIR)/${TARGET_BOOT_INITRAMFS_IMG} $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(BOOTIMG_NAME) ::boot.img 187 | else 188 | # Compatible with old config 189 | mcopy -i $(TARGET_OUT_DIR)/${TARGET_BOOT_INITRAMFS_IMG} $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(UIMAGE_NAME) ::uImage 190 | endif 191 | 192 | else 193 | 194 | ifneq ($(CONFIG_SUNXI_RECOVERY_INITRAMFS_KERNEL_FORMAT_UIMAGE),) 195 | $(CP) $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(UIMAGE_NAME) $(TARGET_OUT_DIR)/${TARGET_BOOT_INITRAMFS_IMG} 196 | else ifneq ($(CONFIG_SUNXI_RECOVERY_INITRAMFS_KERNEL_FORMAT_BOOTIMG),) 197 | $(CP) $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(BOOTIMG_NAME) $(TARGET_OUT_DIR)/${TARGET_BOOT_INITRAMFS_IMG} 198 | else 199 | # Compatible with old config 200 | $(CP) $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(UIMAGE_NAME) $(TARGET_OUT_DIR)/${TARGET_BOOT_INITRAMFS_IMG} 201 | endif 202 | 203 | endif 204 | endef 205 | 206 | else 207 | 208 | define Image/InstallKernel 209 | rm -f $(TARGET_OUT_DIR)/${TARGET_BOOT_IMG} 210 | rm -f $(TARGET_OUT_DIR)/${TARGET_BOOT_INITRAMFS_IMG} 211 | 212 | ifneq ($(CONFIG_SUNXI_SD_BOOT_PARTSIZE),) 213 | mkdosfs $(TARGET_OUT_DIR)/${TARGET_BOOT_IMG} -C $(FAT32_BLOCKS) 214 | 215 | ifneq ($(CONFIG_SUNXI_SD_BOOT_KERNEL_FORMAT_UIMAGE),) 216 | mcopy -i $(TARGET_OUT_DIR)/${TARGET_BOOT_IMG} $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(UIMAGE_NAME) ::uImage 217 | else ifneq ($(CONFIG_SUNXI_SD_BOOT_KERNEL_FORMAT_BOOTIMG),) 218 | mcopy -i $(TARGET_OUT_DIR)/${TARGET_BOOT_IMG} $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(BOOTIMG_NAME) ::boot.img 219 | else 220 | # Compatible with old config 221 | mcopy -i $(TARGET_OUT_DIR)/${TARGET_BOOT_IMG} $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(UIMAGE_NAME) ::uImage 222 | endif 223 | 224 | else 225 | 226 | ifneq ($(CONFIG_SUNXI_SD_BOOT_KERNEL_FORMAT_UIMAGE),) 227 | $(CP) $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(UIMAGE_NAME) $(TARGET_OUT_DIR)/${TARGET_BOOT_IMG} 228 | else ifneq ($(CONFIG_SUNXI_SD_BOOT_KERNEL_FORMAT_BOOTIMG),) 229 | $(CP) $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(BOOTIMG_NAME) $(TARGET_OUT_DIR)/${TARGET_BOOT_IMG} 230 | else 231 | # Compatible with old config 232 | $(CP) $(TARGET_OUT_DIR)/$(IMG_PREFIX)-$(UIMAGE_NAME) $(TARGET_OUT_DIR)/${TARGET_BOOT_IMG} 233 | endif 234 | 235 | endif 236 | endef 237 | endif 238 | 239 | define Image/Build 240 | rm -f $(TARGET_OUT_DIR)/$(TARGET_ROOTFS_IMG) 241 | rm -f $(TARGET_OUT_DIR)/$(TARGET_USR_IMG) 242 | $(call Image/Build/$(1),$(1)) 243 | dd if=$(KDIR)/root.$(1) of=$(TARGET_OUT_DIR)/$(TARGET_ROOTFS_IMG) bs=128k conv=sync 244 | ifneq ($(CONFIG_SUNXI_SMALL_STORAGE_OTA),) 245 | dd if=$(KDIR)/usr.$(1) of=$(TARGET_OUT_DIR)/$(TARGET_USR_IMG) bs=128k conv=sync 246 | endif 247 | endef 248 | 249 | $(eval $(call BuildImage)) 250 | -------------------------------------------------------------------------------- /openwrt/target/v851s/generic/image/initramfs-base-files.txt: -------------------------------------------------------------------------------- 1 | nod /dev/console 600 0 0 c 5 1 2 | nod /dev/null 666 0 0 c 1 3 3 | nod /dev/zero 666 0 0 c 1 5 4 | nod /dev/tty 666 0 0 c 5 0 5 | nod /dev/tty0 660 0 0 c 4 0 6 | nod /dev/tty1 660 0 0 c 4 1 7 | nod /dev/random 666 0 0 c 1 8 8 | nod /dev/urandom 666 0 0 c 1 9 9 | dir /dev/pts 755 0 0 10 | -------------------------------------------------------------------------------- /openwrt/target/v851s/generic/image/ramdisk.img: -------------------------------------------------------------------------------- 1 | ramdisk.img 2 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-common/BoardRules_common.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2015-2016 Allwinner 3 | # 4 | # This is free software, licensed under the GNU General Public License v2. 5 | # See /build/LICENSE for more information. 6 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-common/base-files/etc/config/smartlinkd: -------------------------------------------------------------------------------- 1 | config pragram "record" 2 | list "record_on" "amixer cset iface=MIXER,name='Left Input Mixer MIC1 Boost Switch' 1" 3 | list "record_on" "amixer cset iface=MIXER,name='Right Input Mixer MIC1 Boost Switch' 1" 4 | list "record_off" "amixer cset iface=MIXER,name='Left Input Mixer MIC1 Boost Switch' 0" 5 | list "record_off" "amixer cset iface=MIXER,name='Right Input Mixer MIC1 Boost Switch' 0" 6 | list "record_vol" "amixer cset iface=MIXER,name='MIC1 boost volume'" 7 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-common/base-files/etc/inittab: -------------------------------------------------------------------------------- 1 | ::sysinit:/etc/init.d/rcS S boot 2 | ::shutdown:/etc/init.d/rcS K shutdown 3 | tts/0::askfirst:/bin/ash --login 4 | ttyS0::askfirst:/bin/ash --login 5 | tty1::askfirst:/bin/ash --login 6 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-common/boot-resource/boot-resource.ini: -------------------------------------------------------------------------------- 1 | 2 | [system] 3 | ver=100 4 | date=2009-7-03 5 | ID=937ae0d0-50e3-43c2-9b84-bfef0cd21a41 6 | 7 | [fsinfo] 8 | disccnt=1 9 | disc0=c 10 | ;------------------------------------------------------------------------------------------------------------- 11 | ; 12 | ;------------------------------------------------------------------------------------------------------------- 13 | [c] 14 | ;�ļ�ϵͳ�̷� 15 | disc=c 16 | 17 | ;�ļ�ϵͳ�������� 18 | fsname=.\boot-resource.fex 19 | 20 | ;�ļ�ϵͳ���� 21 | format=fat16 22 | 23 | ;�ļ�ϵͳsize(k) 24 | size=8192 25 | 26 | ;�ļ�ϵͳ���� 27 | attr=0 28 | 29 | ;root location and counter define 30 | rootcnt=1 31 | root0=.\boot-resource 32 | 33 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-common/boot-resource/boot-resource/bootlogo.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/openwrt/target/v851s/v851s-common/boot-resource/boot-resource/bootlogo.bmp -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-common/common.mk: -------------------------------------------------------------------------------- 1 | # common.mk 2 | ifneq ($(__target/linux/generic/common.mk_inc),1) 3 | __target/linux/generic/common.mk_inc=1 4 | 5 | TARGET_PREINIT_SUPPRESS_STDERR := 6 | TARGET_PREINIT_TIMEOUT := 7 | TARGET_PREINIT_IFNAME := 8 | TARGET_PREINIT_IP := 9 | TARGET_PREINIT_NETMASK := 10 | TARGET_PREINIT_BROADCAST := 11 | TARGET_PREINIT_SHOW_NETMSG := 12 | TARGET_PREINIT_SUPPRESS_FAILSAFE_NETMSG := 13 | TARGET_INIT_PATH := 14 | TARGET_INIT_ENV := 15 | TARGET_INIT_CMD := 16 | TARGET_INIT_SUPPRESS_STDERR := 17 | 18 | endif #__target/linux/generic/common.mk_inc -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-common/modules.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2015-2016 Allwinner 3 | # 4 | # This is free software, licensed under the GNU General Public License v2. 5 | # See /build/LICENSE for more information. 6 | # 7 | #define KernelPackage/sunxi-vfe 8 | # SUBMENU:=$(VIDEO_MENU) 9 | # TITLE:=sunxi-vfe support 10 | # FILES:=$(LINUX_DIR)/drivers/media/v4l2-core/videobuf2-core.ko 11 | # FILES+=$(LINUX_DIR)/drivers/media/v4l2-core/videobuf2-memops.ko 12 | # FILES+=$(LINUX_DIR)/drivers/media/v4l2-core/videobuf2-dma-contig.ko 13 | # FILES+=$(LINUX_DIR)/drivers/media/v4l2-core/videobuf2-v4l2.ko 14 | # FILES+=$(LINUX_DIR)/drivers/media/platform/sunxi-vfe/vfe_io.ko 15 | # FILES+=$(LINUX_DIR)/drivers/media/platform/sunxi-vfe/device/gc1034_mipi.ko 16 | # FILES+=$(LINUX_DIR)/drivers/media/platform/sunxi-vfe/vfe_v4l2.ko 17 | # KCONFIG:=\ 18 | # CONFIG_VIDEO_SUNXI_VFE \ 19 | # CONFIG_CSI_VFE \ 20 | # CONFIG_CCI=m 21 | # AUTOLOAD:=$(call AutoLoad,90,videobuf2-core videobuf2-memops videobuf2-dma-contig videobuf2-v4l2 vfe_io gc1034_mipi vfe_v4l2) 22 | #endef 23 | # 24 | #define KernelPackage/sunxi-vfe/description 25 | # Kernel modules for sunxi-vfe support 26 | #endef 27 | # 28 | #$(eval $(call KernelPackage,sunxi-vfe)) 29 | # 30 | #define KernelPackage/sunxi-sound 31 | # SUBMENU:=$(SOUND_MENU) 32 | # DEPENDS:=+kmod-sound-core 33 | # TITLE:=sun8iw8 sound support 34 | # FILES:=$(LINUX_DIR)/sound/soc/sunxi/audiocodec/sun8iw8_sndcodec.ko 35 | # FILES+=$(LINUX_DIR)/sound/soc/snd-soc-core.ko 36 | # FILES+=$(LINUX_DIR)/sound/soc/sunxi/audiocodec/sunxi_sndcodec.ko 37 | # FILES+=$(LINUX_DIR)/drivers/base/regmap/regmap-i2c.ko 38 | # FILES+=$(LINUX_DIR)/drivers/base/regmap/regmap-spi.ko 39 | # FILES+=$(LINUX_DIR)/sound/soc/sunxi/audiocodec/switch_hdset.ko 40 | # FILES+=$(LINUX_DIR)/sound/soc/sunxi/audiocodec/sunxi_codecdma.ko 41 | # FILES+=$(LINUX_DIR)/sound/soc/sunxi/audiocodec/sunxi_codec.ko 42 | # FILES+=$(LINUX_DIR)/sound/core/seq/snd-seq.ko 43 | # FILES+=$(LINUX_DIR)/sound/soc/snd-soc-core.ko 44 | # AUTOLOAD:=$(call AutoLoad,30,sun8iw12_sndcodec switch_hdset snd-soc-core sunxi_sndcodec sunxi_codecdma sunxi_codec snd-seq regmap-i2c regmap-spi) 45 | #endef 46 | # 47 | #define KernelPackage/sunxi-sound/description 48 | # Kernel modules for sun8iw8-sound support 49 | #endef 50 | # 51 | #$(eval $(call KernelPackage,sunxi-sound)) 52 | # 53 | 54 | define KernelPackage/net-rtl8189fs 55 | SUBMENU:=$(WIRELESS_MENU) 56 | TITLE:=RTL8189FS support (staging) 57 | DEPENDS:= +kmod-sunxi-rf-wlan +kmod-cfg80211 +kmod-mmc 58 | FILES:=$(LINUX_DIR)/net/wireless/cfg80211.ko 59 | FILES+=$(LINUX_DIR)/drivers/net/wireless/rtl8189fs/8189fs.ko 60 | FILES+=$(LINUX_DIR)/drivers/misc/sunxi-rf/sunxi-wlan.ko 61 | KCONFIG:=\ 62 | CONFIG_RTL8189FS=m 63 | AUTOLOAD:=$(call AutoProbe, cfg80211.ko 8189fs.ko sunxi-wlan.ko) 64 | endef 65 | 66 | define KernelPackage/net-rtl8189fs/description 67 | Kernel modules for RealTek RTL8189FS support 68 | endef 69 | 70 | $(eval $(call KernelPackage,net-rtl8189fs)) 71 | 72 | define KernelPackage/net-xr819s-40M 73 | SUBMENU:=$(WIRELESS_MENU) 74 | TITLE:=xr819s support (staging) 75 | DEPENDS:= +xr819s-firmware +@IPV6 +@XR819S_USE_40M_SDD +@USES_XR819S +@PACKAGE_xr819s-rftest +@PACKAGE_xr819s-rftest 76 | KCONFIG:=\ 77 | CONFIG_XR819S_WLAN=m \ 78 | CONFIG_PM=y\ 79 | CONFIG_BT=y \ 80 | CONFIG_BT_BREDR=y \ 81 | CONFIG_BT_RFCOMM=y \ 82 | CONFIG_BT_RFCOMM_TTY=y \ 83 | CONFIG_BT_DEBUGFS=y \ 84 | CONFIG_XR_BT_LPM=y \ 85 | CONFIG_XR_BT_FDI=y \ 86 | CONFIG_BT_HCIUART=y \ 87 | CONFIG_BT_HCIUART_H4=y \ 88 | CONFIG_HFP_OVER_PCM=y \ 89 | CONFIG_RFKILL=y \ 90 | CONFIG_RFKILL_PM=y \ 91 | CONFIG_RFKILL_GPIO=y 92 | 93 | FILES:=$(LINUX_DIR)/drivers/net/wireless/xr819s/wlan/xradio_core.ko 94 | FILES+=$(LINUX_DIR)/drivers/net/wireless/xr819s/wlan/xradio_wlan.ko 95 | FILES+=$(LINUX_DIR)/drivers/net/wireless/xr819s/umac/xradio_mac.ko 96 | AUTOLOAD:=$(call AutoProbe, xradio_mac xradio_core xradio_wlan) 97 | 98 | #FILES+=$(LINUX_DIR)/drivers/net/wireless/xr819s/xr819s.ko 99 | #AUTOLOAD:=$(call AutoProbe, xr819s) 100 | endef 101 | 102 | define KernelPackage/net-xr819s-40M/description 103 | Kernel modules for xr819s support 104 | endef 105 | 106 | $(eval $(call KernelPackage,net-xr819s-40M)) 107 | 108 | define KernelPackage/net-xr819s 109 | SUBMENU:=$(WIRELESS_MENU) 110 | TITLE:=xr819s support (staging) 111 | DEPENDS:= +xr819s-firmware +@IPV6 +@USES_XR819S +@PACKAGE_xr819s-rftest +@PACKAGE_xr819s-rftest 112 | KCONFIG:=\ 113 | CONFIG_XR819S_WLAN=m \ 114 | CONFIG_PM=y\ 115 | CONFIG_BT=y \ 116 | CONFIG_BT_BREDR=y \ 117 | CONFIG_BT_RFCOMM=y \ 118 | CONFIG_BT_RFCOMM_TTY=y \ 119 | CONFIG_BT_DEBUGFS=y \ 120 | CONFIG_XR_BT_LPM=y \ 121 | CONFIG_XR_BT_FDI=y \ 122 | CONFIG_BT_HCIUART=y \ 123 | CONFIG_BT_HCIUART_H4=y \ 124 | CONFIG_HFP_OVER_PCM=y \ 125 | CONFIG_RFKILL=y \ 126 | CONFIG_RFKILL_PM=y \ 127 | CONFIG_RFKILL_GPIO=y 128 | 129 | FILES:=$(LINUX_DIR)/drivers/net/wireless/xr819s/wlan/xradio_core.ko 130 | FILES+=$(LINUX_DIR)/drivers/net/wireless/xr819s/wlan/xradio_wlan.ko 131 | FILES+=$(LINUX_DIR)/drivers/net/wireless/xr819s/umac/xradio_mac.ko 132 | AUTOLOAD:=$(call AutoProbe, xradio_mac xradio_core xradio_wlan) 133 | 134 | #FILES+=$(LINUX_DIR)/drivers/net/wireless/xr819s/xr819s.ko 135 | #AUTOLOAD:=$(call AutoProbe, xr819s) 136 | endef 137 | 138 | define KernelPackage/net-xr819s/description 139 | Kernel modules for xr819s support 140 | endef 141 | 142 | $(eval $(call KernelPackage,net-xr819s)) 143 | 144 | define KernelPackage/net-xr829-40M 145 | SUBMENU:=$(WIRELESS_MENU) 146 | TITLE:=xr829 support (staging) 147 | DEPENDS:= +xr829-firmware +@IPV6 +@XR829_USE_40M_SDD +@USES_XR829 +@PACKAGE_xr829-rftest 148 | KCONFIG:=\ 149 | CONFIG_XR829_WLAN=m \ 150 | CONFIG_PM=y\ 151 | CONFIG_BT=y \ 152 | CONFIG_BT_BREDR=y \ 153 | CONFIG_BT_RFCOMM=y \ 154 | CONFIG_BT_RFCOMM_TTY=y \ 155 | CONFIG_BT_DEBUGFS=y \ 156 | CONFIG_XR_BT_LPM=y \ 157 | CONFIG_XR_BT_FDI=y \ 158 | CONFIG_BT_HCIUART=y \ 159 | CONFIG_BT_HCIUART_H4=y \ 160 | CONFIG_HFP_OVER_PCM=y \ 161 | CONFIG_RFKILL=y \ 162 | CONFIG_RFKILL_PM=y \ 163 | CONFIG_RFKILL_GPIO=y 164 | 165 | FILES:=$(LINUX_DIR)/drivers/net/wireless/xr829/wlan/xradio_core.ko 166 | FILES+=$(LINUX_DIR)/drivers/net/wireless/xr829/wlan/xradio_wlan.ko 167 | FILES+=$(LINUX_DIR)/drivers/net/wireless/xr829/umac/xradio_mac.ko 168 | AUTOLOAD:=$(call AutoProbe, xradio_mac xradio_core xradio_wlan) 169 | 170 | #FILES:=$(LINUX_DIR)/drivers/net/wireless/xr829/xr829.ko 171 | #AUTOLOAD:=$(call AutoProbe, xr829) 172 | endef 173 | 174 | define KernelPackage/net-xr829-40M/description 175 | Kernel modules for xr829 support 176 | endef 177 | 178 | $(eval $(call KernelPackage,net-xr829-40M)) 179 | 180 | define KernelPackage/net-xr829 181 | SUBMENU:=$(WIRELESS_MENU) 182 | TITLE:=xr829 support (staging) 183 | DEPENDS:= +xr829-firmware +@IPV6 +@USES_XR829 +@PACKAGE_xr829-rftest +@PACKAGE_xr829-rftest 184 | KCONFIG:=\ 185 | CONFIG_XR829_WLAN=m \ 186 | CONFIG_PM=y\ 187 | CONFIG_BT=y \ 188 | CONFIG_BT_BREDR=y \ 189 | CONFIG_BT_RFCOMM=y \ 190 | CONFIG_BT_RFCOMM_TTY=y \ 191 | CONFIG_BT_DEBUGFS=y \ 192 | CONFIG_XR_BT_LPM=y \ 193 | CONFIG_XR_BT_FDI=y \ 194 | CONFIG_BT_HCIUART=y \ 195 | CONFIG_BT_HCIUART_H4=y \ 196 | CONFIG_HFP_OVER_PCM=y \ 197 | CONFIG_RFKILL=y \ 198 | CONFIG_RFKILL_PM=y \ 199 | CONFIG_RFKILL_GPIO=y 200 | 201 | FILES:=$(LINUX_DIR)/drivers/net/wireless/xr829/wlan/xradio_core.ko 202 | FILES+=$(LINUX_DIR)/drivers/net/wireless/xr829/wlan/xradio_wlan.ko 203 | FILES+=$(LINUX_DIR)/drivers/net/wireless/xr829/umac/xradio_mac.ko 204 | AUTOLOAD:=$(call AutoProbe, xradio_mac xradio_core xradio_wlan) 205 | 206 | #FILES+=$(LINUX_DIR)/drivers/net/wireless/xr829/xr829.ko 207 | #AUTOLOAD:=$(call AutoProbe, xr829) 208 | endef 209 | 210 | define KernelPackage/net-xr829/description 211 | Kernel modules for xr829 support 212 | endef 213 | 214 | $(eval $(call KernelPackage,net-xr829)) 215 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/BoardRules.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2015-2016 Allwinner 3 | # 4 | # This is free software, licensed under the GNU General Public License v2. 5 | # See /build/LICENSE for more information. 6 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2013-2016 OpenWrt.org 3 | # 4 | # This is free software, licensed under the GNU General Public License v2. 5 | # See /LICENSE for more information. 6 | # 7 | 8 | include $(TOPDIR)/rules.mk 9 | 10 | ARCH:=arm 11 | BOARD:=v851s-lizard 12 | BOARDNAME:=v851s-lizard 13 | FEATURES:=fpu usb ext4 display rtc 14 | CPU_TYPE:=cortex-a7 15 | CPU_SUBTYPE:=neon 16 | MAINTAINER:=Allwinner 17 | 18 | KERNEL_PATCHVER:=4.9 19 | UBOOT_PATCHVER:=2018 20 | KERNELNAME:=zImage dtbs 21 | 22 | include $(INCLUDE_DIR)/target.mk 23 | 24 | DEFAULT_PACKAGES = base-files libc libgcc busybox 25 | TARGET_CFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DUSE_LOG_LIB_GLOG 26 | #-DUSE_STD_LOG 27 | TARGET_CXXFLAGS += -std=c++11 -fno-rtti 28 | 29 | $(eval $(call BuildTarget)) 30 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/TinaProducts.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2013 The Android Open-Source Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | PRODUCT_MAKEFILES := \ 18 | $(LOCAL_DIR)/v851s_lizard.mk 19 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/asound.conf: -------------------------------------------------------------------------------- 1 | 2 | pcm.!default { 3 | type asym 4 | playback.pcm "hw:{CARD=audiocodec, DEV=0}" 5 | capture.pcm "hw:0,0" 6 | } 7 | 8 | pcm.PlaybackRateDmix { 9 | type plug 10 | slave { 11 | pcm { 12 | type dmix 13 | ipc_key 1111 14 | ipc_perm 0666 15 | slave { 16 | pcm "hw:0,0" 17 | format S16_LE 18 | rate 16000 19 | channels 1 20 | period_size 1024 21 | periods 8 22 | } 23 | } 24 | } 25 | rate_converter "linear" 26 | } 27 | 28 | #pcm.resample rely on alsa-plugin and libspeexdsp. Select them in menuconfig if we want to use plugin pcm.resample. 29 | pcm.resample { 30 | type plug 31 | slave { 32 | pcm "hw:0,0" 33 | format S16_LE 34 | rate 16000 35 | channels 1 36 | } 37 | rate_converter "speexrate" 38 | } 39 | 40 | pcm.CaptureMic { 41 | type hooks 42 | slave.pcm "hw:0,0" 43 | hooks.0 { 44 | type ctl_elems 45 | hook_args [ 46 | { 47 | name "MIC1 Switch" 48 | preserve true 49 | optional true 50 | value 1 51 | } 52 | ] 53 | } 54 | } 55 | 56 | pcm.eq { 57 | type awequal 58 | slave.pcm "hw:0,0" 59 | config_file "/etc/awequal.conf" 60 | tuning_support true 61 | verbose true 62 | } 63 | 64 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/init.d/S00mpp: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Load mpp modules.... 4 | # 5 | 6 | MODULES_DIR="/lib/modules/`uname -r`" 7 | 8 | start() { 9 | printf "Load mpp modules\n" 10 | insmod $MODULES_DIR/videobuf2-core.ko 11 | insmod $MODULES_DIR/videobuf2-memops.ko 12 | insmod $MODULES_DIR/videobuf2-dma-contig.ko 13 | insmod $MODULES_DIR/videobuf2-v4l2.ko 14 | insmod $MODULES_DIR/vin_io.ko 15 | # insmod $MODULES_DIR/sensor_power.ko 16 | insmod $MODULES_DIR/gc2053_mipi.ko 17 | insmod $MODULES_DIR/vin_v4l2.ko 18 | insmod $MODULES_DIR/sunxi_aio.ko 19 | insmod $MODULES_DIR/sunxi_eise.ko 20 | insmod $MODULES_DIR/nna_sunxi.ko 21 | } 22 | 23 | stop() { 24 | printf "Unload mpp modules\n" 25 | rmmod $MODULES_DIR/nna_sunxi.ko 26 | rmmod $MODULES_DIR/sunxi_eise.ko 27 | rmmod $MODULES_DIR/sunxi_aio.ko 28 | rmmod $MODULES_DIR/vin_v4l2.ko 29 | rmmod $MODULES_DIR/gc2053_mipi.ko 30 | # rmmod $MODULES_DIR/sensor_power.ko 31 | rmmod $MODULES_DIR/vin_io.ko 32 | rmmod $MODULES_DIR/videobuf2-v4l2.ko 33 | rmmod $MODULES_DIR/videobuf2-dma-contig.ko 34 | rmmod $MODULES_DIR/videobuf2-memops.ko 35 | rmmod $MODULES_DIR/videobuf2-core.ko 36 | } 37 | 38 | case "$1" in 39 | start) 40 | start 41 | ;; 42 | stop) 43 | stop 44 | ;; 45 | restart|reload) 46 | stop 47 | start 48 | ;; 49 | *) 50 | echo "Usage: $0 {start|stop|restart}" 51 | exit 1 52 | esac 53 | 54 | exit $? 55 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/init.d/S01logging: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Start logging 4 | # 5 | 6 | SYSLOGD_ARGS=-n 7 | KLOGD_ARGS=-n 8 | [ -r /etc/default/logging ] && . /etc/default/logging 9 | 10 | start() { 11 | printf "Starting logging: " 12 | start-stop-daemon -b -S -q -m -p /var/run/syslogd.pid --exec /sbin/syslogd -- $SYSLOGD_ARGS 13 | start-stop-daemon -b -S -q -m -p /var/run/klogd.pid --exec /sbin/klogd -- $KLOGD_ARGS 14 | echo "OK" 15 | } 16 | 17 | stop() { 18 | printf "Stopping logging: " 19 | start-stop-daemon -K -q -p /var/run/syslogd.pid 20 | start-stop-daemon -K -q -p /var/run/klogd.pid 21 | echo "OK" 22 | } 23 | 24 | case "$1" in 25 | start) 26 | start 27 | ;; 28 | stop) 29 | stop 30 | ;; 31 | restart|reload) 32 | stop 33 | start 34 | ;; 35 | *) 36 | echo "Usage: $0 {start|stop|restart}" 37 | exit 1 38 | esac 39 | 40 | exit $? 41 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/init.d/S10udev: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # udev This is a minimal non-LSB version of a UDEV startup script. It 4 | # was derived by stripping down the udev-058 LSB version for use 5 | # with buildroot on embedded hardware using Linux 2.6.34+ kernels. 6 | # 7 | # You may need to customize this for your system's resource limits 8 | # (including startup time!) and administration. For example, if 9 | # your early userspace has a custom initramfs or initrd you might 10 | # need /dev much earlier; or without hotpluggable busses (like USB, 11 | # PCMCIA, MMC/SD, and so on) your /dev might be static after boot. 12 | # 13 | # This script assumes your system boots right into the eventual root 14 | # filesystem, and that init runs this udev script before any programs 15 | # needing more device nodes than the bare-bones set -- /dev/console, 16 | # /dev/zero, /dev/null -- that's needed to boot and run this script. 17 | # 18 | 19 | # Check for missing binaries 20 | UDEV_BIN=/sbin/udevd 21 | test -x $UDEV_BIN || exit 5 22 | 23 | # Check for config file and read it 24 | UDEV_CONFIG=/etc/udev/udev.conf 25 | test -r $UDEV_CONFIG || exit 6 26 | . $UDEV_CONFIG 27 | 28 | case "$1" in 29 | start) 30 | printf "Populating ${udev_root:-/dev} using udev: " 31 | printf '\000\000\000\000' > /proc/sys/kernel/hotplug 32 | $UDEV_BIN -d || (echo "FAIL" && exit 1) 33 | udevadm trigger --type=subsystems --action=add 34 | udevadm trigger --type=devices --action=add 35 | udevadm settle --timeout=30 || echo "udevadm settle failed" 36 | echo "done" 37 | ;; 38 | stop) 39 | # Stop execution of events 40 | udevadm control --stop-exec-queue 41 | killall udevd 42 | ;; 43 | *) 44 | echo "Usage: $0 {start|stop}" 45 | exit 1 46 | ;; 47 | esac 48 | 49 | 50 | exit 0 51 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/init.d/S11dev: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # mk missing dev node 4 | 5 | start() { 6 | mkdir /dev/pts 7 | mkdir /dev/shm 8 | mount -t devpts /dev/pts /dev/pts 9 | } 10 | 11 | stop() { 12 | echo "stop..." 13 | } 14 | 15 | case "$1" in 16 | start) 17 | start 18 | ;; 19 | stop) 20 | stop 21 | ;; 22 | restart|reload) 23 | stop 24 | start 25 | ;; 26 | *) 27 | echo "Usage: $0 {start|stop|restart}" 28 | exit 1 29 | esac 30 | 31 | exit $? 32 | 33 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/init.d/S20urandom: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # 3 | # urandom This script saves the random seed between reboots. 4 | # It is called from the boot, halt and reboot scripts. 5 | # 6 | # Version: @(#)urandom 1.33 22-Jun-1998 miquels@cistron.nl 7 | # 8 | 9 | [ -c /dev/urandom ] || exit 0 10 | #. /etc/default/rcS 11 | 12 | case "$1" in 13 | start|"") 14 | # check for read only file system 15 | if ! touch /etc/random-seed 2>/dev/null 16 | then 17 | echo "read-only file system detected...done" 18 | exit 19 | fi 20 | if [ "$VERBOSE" != no ] 21 | then 22 | printf "Initializing random number generator... " 23 | fi 24 | # Load and then save 512 bytes, 25 | # which is the size of the entropy pool 26 | cat /etc/random-seed >/dev/urandom 27 | rm -f /etc/random-seed 28 | umask 077 29 | dd if=/dev/urandom of=/etc/random-seed count=1 \ 30 | >/dev/null 2>&1 || echo "urandom start: failed." 31 | umask 022 32 | [ "$VERBOSE" != no ] && echo "done." 33 | ;; 34 | stop) 35 | if ! touch /etc/random-seed 2>/dev/null 36 | then 37 | exit 38 | fi 39 | # Carry a random seed from shut-down to start-up; 40 | # see documentation in linux/drivers/char/random.c 41 | [ "$VERBOSE" != no ] && printf "Saving random seed... " 42 | umask 077 43 | dd if=/dev/urandom of=/etc/random-seed count=1 \ 44 | >/dev/null 2>&1 || echo "urandom stop: failed." 45 | [ "$VERBOSE" != no ] && echo "done." 46 | ;; 47 | *) 48 | echo "Usage: urandom {start|stop}" >&2 49 | exit 1 50 | ;; 51 | esac 52 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/init.d/S40network: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Start the network.... 4 | # 5 | 6 | # Debian ifupdown needs the /run/network lock directory 7 | mkdir -p /run/network 8 | 9 | MAC_ADDR="`cat /sys/class/sunxi_info/sys_info | awk '$1=="sunxi_chipid" {print $3}' | sed 's/../&:/g' | cut -c1-14`" 10 | 11 | case "$1" in 12 | start) 13 | printf "Starting network: " 14 | /sbin/ifup -a 15 | [ $? = 0 ] && echo "OK" || echo "FAIL" 16 | /sbin/ifconfig eth0 hw ether "00:$MAC_ADDR" 17 | udhcpc -b -R & 18 | ;; 19 | stop) 20 | printf "Stopping network: " 21 | /sbin/ifdown -a 22 | [ $? = 0 ] && echo "OK" || echo "FAIL" 23 | ;; 24 | restart|reload) 25 | "$0" stop 26 | "$0" start 27 | ;; 28 | *) 29 | echo "Usage: $0 {start|stop|restart}" 30 | exit 1 31 | esac 32 | 33 | exit $? 34 | 35 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/init.d/S41netparam: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Config network parameters.... 4 | # 5 | 6 | echo "307200" > /proc/sys/net/core/wmem_max 7 | echo "307200" > /proc/sys/net/core/wmem_default 8 | echo "0" > /proc/sys/net/ipv4/tcp_low_latency 9 | echo "16288" > /proc/sys/net/ipv4/udp_wmem_min 10 | echo "60" > /proc/sys/net/ipv4/tcp_keepalive_intvl 11 | echo "2" > /proc/sys/net/ipv4/tcp_keepalive_probes 12 | echo "180" > /proc/sys/net/ipv4/tcp_keepalive_time 13 | 14 | exit $? 15 | 16 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/init.d/S50telnet: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Start telnet.... 4 | # 5 | 6 | start() { 7 | printf "Starting telnetd: " 8 | start-stop-daemon -S -q -m -b -p /var/run/telnetd.pid \ 9 | -x /usr/sbin/telnetd -- -F 10 | [ $? = 0 ] && echo "OK" || echo "FAIL" 11 | } 12 | 13 | stop() { 14 | printf "Stopping telnetd: " 15 | start-stop-daemon -K -q -p /var/run/telnetd.pid \ 16 | -x /usr/sbin/telnetd 17 | [ $? = 0 ] && echo "OK" || echo "FAIL" 18 | } 19 | 20 | case "$1" in 21 | start) 22 | start 23 | ;; 24 | stop) 25 | stop 26 | ;; 27 | restart|reload) 28 | stop 29 | start 30 | ;; 31 | *) 32 | echo "Usage: $0 {start|stop|restart}" 33 | exit 1 34 | esac 35 | 36 | exit $? 37 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/init.d/S50usb: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MODULES_DIR="/lib/modules/`uname -r`" 4 | 5 | start() { 6 | echo "enable android usb" 7 | 8 | setusbconfig adb 9 | adbd > /dev/null & 10 | } 11 | 12 | stop() { 13 | echo "disable android usb" 14 | 15 | killall adbd 2>/dev/null 16 | 17 | setusbconfig none 18 | } 19 | 20 | case "$1" in 21 | start) 22 | start 23 | ;; 24 | stop) 25 | # stop 26 | ;; 27 | restart|reload) 28 | stop 29 | start 30 | ;; 31 | *) 32 | echo "Usage: $0 {start|stop|restart}" 33 | exit 1 34 | esac 35 | 36 | exit $? 37 | 38 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/init.d/S50wifideamon: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Start wifi_deamon.... 4 | # 5 | 6 | start() { 7 | printf "Starting wifi_deamon....: " 8 | wifi_deamon 9 | sleep 2 10 | wifi -o sta 11 | } 12 | 13 | stop() { 14 | printf "Stopping wifi_deamon: " 15 | } 16 | 17 | case "$1" in 18 | start) 19 | start 20 | ;; 21 | stop) 22 | stop 23 | ;; 24 | restart|reload) 25 | stop 26 | start 27 | ;; 28 | *) 29 | echo "Usage: $0 {start|stop|restart}" 30 | exit 1 31 | esac 32 | 33 | exit $? 34 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/init.d/rc.final: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "------run rc.final file-----" 4 | export LD_LIBRARY_PATH=/usr/lib/eyesee-mpp:${LD_LIBRARY_PATH} 5 | ulimit -c unlimited 6 | echo /mnt/extsd/coredump-%e-%p-%s-%t > /proc/sys/kernel/core_pattern 7 | 8 | for i in /etc/init.d/S??* ;do 9 | 10 | # Ignore dangling symlinks (if any). 11 | [ ! -f "$i" ] && continue 12 | 13 | case "$i" in 14 | *.sh) 15 | # Source shell script for speed. 16 | ( 17 | trap - INT QUIT TSTP 18 | set start 19 | . $i 20 | ) 21 | ;; 22 | *) 23 | # No sh extension, so fork subprocess. 24 | $i start 25 | ;; 26 | esac 27 | done 28 | 29 | if [ -z "$(grep '\' /proc/mounts)" ]; then 30 | ! /bin/mount -t vfat /dev/mmcblk0 /mnt/extsd 2>/dev/null && 31 | /bin/mount -t vfat /dev/mmcblk0p1 /mnt/extsd 32 | fi 33 | 34 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/init.d/rc.modules: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "------run rc.modules file-----" 4 | #insmod sound modules 5 | #echo "insmod sound modules" 6 | #/sbin/insmod /lib/modules/3.4.39/snd-seq-device.ko 7 | #/sbin/insmod /lib/modules/3.4.39/snd-mixer-oss.ko 8 | #/sbin/insmod /lib/modules/3.4.39/snd-pcm-oss.ko 9 | insmod /lib/modules/4.9.191/xradio_mac.ko 10 | insmod /lib/modules/4.9.191/xradio_core.ko 11 | insmod /lib/modules/4.9.191/xradio_wlan.ko 12 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/init.d/rc.preboot: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "------run rc.preboot file-----" 4 | 5 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/init.d/rcK: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | 4 | # Stop all init scripts in /etc/init.d 5 | # executing them in reversed numerical order. 6 | # 7 | /etc/init.d/S01app stop 8 | 9 | for i in $(ls -r /etc/init.d/S??*) ;do 10 | 11 | # Ignore dangling symlinks (if any). 12 | [ ! -f "$i" ] && continue 13 | 14 | case "$i" in 15 | *.sh) 16 | # Source shell script for speed. 17 | ( 18 | trap - INT QUIT TSTP 19 | set stop 20 | . $i 21 | ) 22 | ;; 23 | *) 24 | # No sh extension, so fork subprocess. 25 | $i stop 26 | ;; 27 | esac 28 | done 29 | 30 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/inittab: -------------------------------------------------------------------------------- 1 | # /etc/inittab 2 | # 3 | # Copyright (C) 2001 Erik Andersen 4 | # 5 | # Note: BusyBox init doesn't support runlevels. The runlevels field is 6 | # completely ignored by BusyBox init. If you want runlevels, use 7 | # sysvinit. 8 | # 9 | # Format for each entry: ::: 10 | # 11 | # id == tty to run on, or empty for /dev/console 12 | # runlevels == ignored 13 | # action == one of sysinit, respawn, askfirst, wait, and once 14 | # process == program to run 15 | 16 | # Startup the system 17 | ::sysinit:/etc/preinit 18 | ::sysinit:/bin/mount -t proc proc /proc 19 | ::sysinit:/bin/mount -t tmpfs tmpfs /run 20 | ::sysinit:/bin/mount -o remount,rw / 21 | ::sysinit:/bin/mkdir -p /dev/pts 22 | ::sysinit:/bin/mkdir -p /dev/shm 23 | ::sysinit:/bin/mount -a 24 | ::sysinit:/bin/hostname -F /etc/hostname 25 | # now run any rc scripts 26 | #::sysinit:/etc/init.d/rcS 27 | ::sysinit:/etc/init.d/rcS boot 28 | 29 | # Put a getty on the serial port 30 | /dev/console::respawn:-/bin/sh 31 | #ttyS0::respawn:/sbin/getty -n -L ttyS0 115200 vt100 -n -l /bin/sh # GENERIC_SERIAL 32 | 33 | # Stuff to do for the 3-finger salute 34 | #::ctrlaltdel:/sbin/reboot 35 | 36 | # Stuff to do before rebooting 37 | ::shutdown:/etc/init.d/rcK 38 | ::shutdown:/sbin/swapoff -a 39 | ::shutdown:/bin/umount -a -r 40 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/profile: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "------run profile file-----" 3 | [ -f /etc/banner ] && cat /etc/banner 4 | [ -e /tmp/.failsafe ] && cat /etc/banner.failsafe 5 | fgrep -sq '/ overlay ro,' /proc/mounts && { 6 | echo 'Your JFFS2-partition seems full and overlayfs is mounted read-only.' 7 | echo 'Please try to remove files from /overlay/upper/... and reboot!' 8 | } 9 | 10 | export PATH="%PATH%" 11 | export HOME=$(grep -e "^${USER:-root}:" /etc/passwd | cut -d ":" -f 6) 12 | export HOME=${HOME:-/root} 13 | export PS1='\u@\h:\w\$ ' 14 | export LD_LIBRARY_PATH=/usr/lib/eyesee-mpp:${LD_LIBRARY_PATH} 15 | ulimit -c unlimited 16 | mount -t debugfs none /sys/kernel/debug 17 | 18 | [ -x /bin/more ] || alias more=less 19 | [ -x /usr/bin/vim ] && alias vi=vim || alias vim=vi 20 | 21 | [ -z "$KSH_VERSION" -o \! -s /etc/mkshrc ] || . /etc/mkshrc 22 | 23 | [ -x /usr/bin/arp ] || arp() { cat /proc/net/arp; } 24 | [ -x /usr/bin/ldd ] || ldd() { LD_TRACE_LOADED_OBJECTS=1 $*; } 25 | 26 | [ -n "$FAILSAFE" ] || { 27 | for FILE in /etc/profile.d/*.sh; do 28 | [ -e "$FILE" ] && . "$FILE" 29 | done 30 | unset FILE 31 | } 32 | [ -x /bin/ll ] || alias ll='ls -al' 33 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/udhcpd.conf: -------------------------------------------------------------------------------- 1 | # Sample udhcpd configuration file (/etc/udhcpd.conf) 2 | # Values shown are defaults 3 | 4 | # The start and end of the IP lease block 5 | start 192.168.10.100 6 | end 192.168.10.254 7 | 8 | # The interface that udhcpd will use 9 | interface wlan0 10 | 11 | # The maximum number of leases (includes addresses reserved 12 | # by OFFER's, DECLINE's, and ARP conflicts). Will be corrected 13 | # if it's bigger than IP lease block, but it ok to make it 14 | # smaller than lease block. 15 | #max_leases 254 16 | 17 | # The time period at which udhcpd will write out a dhcpd.leases 18 | # file. If this is 0, udhcpd will never automatically write a 19 | # lease file. Specified in seconds. 20 | #auto_time 7200 21 | 22 | # The amount of time that an IP will be reserved (leased to nobody) 23 | # if a DHCP decline message is received (seconds) 24 | #decline_time 3600 25 | 26 | # The amount of time that an IP will be reserved 27 | # if an ARP conflict occurs (seconds) 28 | #conflict_time 3600 29 | 30 | # How long an offered address is reserved (seconds) 31 | #offer_time 60 32 | 33 | # If client asks for lease below this value, it will be rounded up 34 | # to this value (seconds) 35 | #min_lease 60 36 | 37 | # The location of the leases file 38 | #lease_file /var/lib/misc/udhcpd.leases 39 | 40 | # The location of the pid file 41 | #pidfile /var/run/udhcpd.pid 42 | 43 | # Every time udhcpd writes a leases file, the below script will be called 44 | #notify_file # default: no script 45 | #notify_file dumpleases # useful for debugging 46 | 47 | # The following are bootp specific options 48 | # next server to use in bootstrap 49 | #siaddr 192.168.0.22 # default: 0.0.0.0 (none) 50 | # tftp server name 51 | #sname zorak # default: none 52 | # tftp file to download (e.g. kernel image) 53 | #boot_file /var/nfs_root # default: none 54 | 55 | # Static leases map 56 | #static_lease 00:60:08:11:CE:4E 192.168.0.54 57 | #static_lease 00:60:08:11:CE:3E 192.168.0.44 58 | 59 | # The remainder of options are DHCP options and can be specified with the 60 | # keyword 'opt' or 'option'. If an option can take multiple items, such 61 | # as the dns option, they can be listed on the same line, or multiple 62 | # lines. 63 | # Examples: 64 | opt dns 192.168.10.2 192.168.10.10 65 | option subnet 255.255.255.0 66 | opt router 192.168.10.2 67 | opt wins 192.168.10.10 68 | option dns 129.219.13.81 # appended to above DNS servers for a total of 3 69 | option domain local 70 | option lease 864000 # default: 10 days 71 | # Arbitrary option in hex form: 72 | option 0x08 01020304 # option 8: "cookie server IP addr: 1.2.3.4" 73 | 74 | # Currently supported options (for more info, see options.c): 75 | #opt lease NUM 76 | #opt subnet IP 77 | #opt broadcast IP 78 | #opt router IP_LIST 79 | #opt ipttl NUM 80 | #opt mtu NUM 81 | #opt hostname STRING # client's hostname 82 | #opt domain STRING # client's domain suffix 83 | #opt search STRING_LIST # search domains 84 | #opt nisdomain STRING 85 | #opt timezone NUM # (localtime - UTC_time) in seconds. signed 86 | #opt tftp STRING # tftp server name 87 | #opt bootfile STRING # tftp file to download (e.g. kernel image) 88 | #opt bootsize NUM # size of that file 89 | #opt rootpath STRING # (NFS) path to mount as root fs 90 | #opt wpad STRING 91 | #opt serverid IP # default: server's IP 92 | #opt message STRING # error message (udhcpd sends it on success too) 93 | # Options specifying server(s) 94 | #opt dns IP_LIST 95 | #opt wins IP_LIST 96 | #opt nissrv IP_LIST 97 | #opt ntpsrv IP_LIST 98 | #opt lprsrv IP_LIST 99 | #opt swapsrv IP 100 | # Obsolete options, no longer supported 101 | #opt logsrv IP_LIST # 704/UDP log server (not syslog!) 102 | #opt namesrv IP_LIST # IEN 116 name server, obsolete (August 1979!!!) 103 | #opt cookiesrv IP_LIST # RFC 865 "quote of the day" server, rarely (never?) used 104 | #opt timesrv IP_LIST # RFC 868 time server, rarely (never?) used 105 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/etc/wpa_supplicant.conf: -------------------------------------------------------------------------------- 1 | ctrl_interface=/var/log/wpa_supplicant 2 | update_config=1 3 | 4 | network={ 5 | ssid="AWTest" 6 | psk="1qaz@WSX" 7 | } -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/home/res/audio/shutdown.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/openwrt/target/v851s/v851s-lizard/busybox-init-base-files/home/res/audio/shutdown.wav -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/home/res/audio/startup.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DongshanPI/Yuzukilizard-v851s-TinaSDK/c99a1a7887e26c616a99902a334793e1e51af7fe/openwrt/target/v851s/v851s-lizard/busybox-init-base-files/home/res/audio/startup.wav -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/usr/bin/hotplug.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | : <<'COMMENTBLOCK' 3 | # remove 4 | if [ "${ACTION}" == "remove" ]; then 5 | MOUNTPOINT="$(grep -w "^/dev/${MDEV}" /proc/mounts | awk '{print $2}')" 6 | [ -n "${MOUNTPOINT}" ] \ 7 | && /bin/umount -l ${MOUNTPOINT} 2>/dev/null 1>/dev/null 8 | exit 0 9 | fi 10 | 11 | # add 12 | if [ "${ACTION}" == "add" ]; then 13 | case ${MDEV} in 14 | mmcblk[0-9]) 15 | [ -d "/sys/block/${MDEV}/${MDEV}p1" ] && exit 0 16 | MOUNTPOINT=/mnt/SDCARD 17 | ;; 18 | mmcblk[0-9]p[0-9]) 19 | MOUNTPOINT=/mnt/SDCARD 20 | ;; 21 | sd[a-z]) 22 | [ -d "/sys/block/${MDEV}/${MDEV}1" ] && exit 0 23 | MOUNTPOINT=/mnt/exUDISK 24 | ;; 25 | sd[a-z][0-9]) 26 | MOUNTPOINT=/mnt/exUDISK 27 | ;; 28 | *) 29 | exit 0 30 | ;; 31 | esac 32 | for fstype in vfat ext4 33 | do 34 | [ "${fstype}" = "ext4" -a -x "/usr/sbin/e2fsck" ] \ 35 | && e2fsck -p /dev/${MDEV} >/dev/null 36 | /bin/mount -t ${fstype} -o utf8 /dev/${MDEV} ${MOUNTPOINT} && exit 0 37 | done 38 | [ ! -b "/dev/${MDEV}" -a -f "/sys/block/${MDEV%p*}/${MDEV}/uevent" ] \ 39 | && echo add > /sys/block/${MDEV%p*}/${MDEV}/uevent 40 | fi 41 | COMMENTBLOCK 42 | exit 0 43 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files/usr/bin/setusbconfig: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | name=`basename $0` 4 | 5 | usage() { 6 | echo "$name Usage:" 7 | echo "" 8 | echo "$name [function]" 9 | echo "function: mtp, support MTP function" 10 | echo " adb, support adb function" 11 | echo " uvc, support uvc function" 12 | echo " uvc,uac1 support uvc and uac1 function" 13 | echo "example:" 14 | echo "$name uvc" 15 | echo "" 16 | } 17 | 18 | enable_adb() { 19 | [ -d /sys/kernel/config/usb_gadget/g1/functions/ffs.adb ] || { 20 | mkdir /sys/kernel/config/usb_gadget/g1/functions/ffs.adb 21 | } 22 | echo "Tina ADB" > /sys/kernel/config/usb_gadget/g1/strings/0x409/product 23 | ln -s /sys/kernel/config/usb_gadget/g1/functions/ffs.adb/ /sys/kernel/config/usb_gadget/g1/configs/c.1/ffs.adb 24 | 25 | [ -d /dev/usb-ffs/adb ] || { 26 | mkdir -p /dev/usb-ffs 27 | mkdir /dev/usb-ffs/adb 28 | mount -o uid=2000,gid=2000 -t functionfs adb /dev/usb-ffs/adb/ 29 | } 30 | } 31 | 32 | enable_mtp() { 33 | mtp_name=mtp.gs0 34 | mtp_ffs=false 35 | kv=`uname -r` 36 | kv=${kv:0:1} 37 | if [ "x$kv" = "x5" ]; then 38 | mtp_ffs=true 39 | mtp_name=ffs.mtp 40 | fi 41 | [ -d /sys/kernel/config/usb_gadget/g1/functions/$mtp_name ] || { 42 | mkdir /sys/kernel/config/usb_gadget/g1/functions/$mtp_name 43 | } 44 | if [ "x$mtp_ffs" = "xtrue" ]; then 45 | [ -d /dev/usb-ffs/mtp ] || { 46 | mkdir -p /dev/usb-ffs 47 | mkdir /dev/usb-ffs/mtp 48 | mount -o rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1 -t functionfs mtp /dev/usb-ffs/mtp/ 49 | } 50 | fi 51 | echo "Tina MTP" > /sys/kernel/config/usb_gadget/g1/strings/0x409/product 52 | echo 1 > /sys/kernel/config/usb_gadget/g1/os_desc/use 53 | ln -s /sys/kernel/config/usb_gadget/g1/functions/$mtp_name/ /sys/kernel/config/usb_gadget/g1/configs/c.1/$mtp_name 54 | if [ "x$mtp_ffs" = "xtrue" ]; then 55 | MtpTools -f connect 56 | sleep .500 57 | fi 58 | } 59 | 60 | uvc_create_frame() 61 | { 62 | format=$1 63 | name=$2 64 | width=$3 65 | height=$4 66 | frameindex=$5 67 | 68 | dir=streaming/$format/$name/${height}p 69 | mkdir -p $dir 70 | echo $width > $dir/wWidth 71 | echo $height > $dir/wHeight 72 | echo $(($width * $height * 2 )) > $dir/dwMaxVideoFrameBufferSize 73 | #20,30fps 74 | #cat < $dir/dwFrameInterval 75 | #500000 76 | #333333 77 | #EOF 78 | 79 | #30fps 80 | echo 333333 > $dir/dwFrameInterval 81 | echo 333333 > $dir/dwDefaultFrameInterval 82 | echo $(($width * $height * 2 * 30 * 8)) > $dir/dwMinBitRate 83 | echo $(($width * $height * 2 * 30 * 8)) > $dir/dwMaxBitRate 84 | echo $frameindex > $dir/bFrameIndex 85 | } 86 | 87 | enable_uvc() 88 | { 89 | cd /sys/kernel/config/usb_gadget/g1/functions 90 | mkdir uvc.usb0 91 | cd uvc.usb0 92 | 93 | uvc_create_frame mjpeg m 1920 1080 1 94 | uvc_create_frame mjpeg m 1280 720 2 95 | uvc_create_frame mjpeg m 640 480 3 96 | uvc_create_frame uncompressed u 320 240 1 97 | uvc_create_frame h264 h 1920 1080 1 98 | uvc_create_frame h264 h 1280 720 2 99 | 100 | mkdir -p streaming/header/h 101 | 102 | ln -s streaming/mjpeg/m/ streaming/header/h/ 103 | ln -s streaming/uncompressed/u/ streaming/header/h/ 104 | ln -s streaming/h264/h/ streaming/header/h/ 105 | 106 | ln -s streaming/header/h/ streaming/class/fs 107 | ln -s streaming/header/h/ streaming/class/hs 108 | 109 | mkdir -p control/header/h 110 | 111 | ln -s control/header/h/ control/class/fs/ 112 | ln -s control/header/h/ control/class/ss/ 113 | 114 | #echo 3072 > streaming_maxpacket 115 | 116 | ln -s /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/ /sys/kernel/config/usb_gadget/g1/configs/c.1/ 117 | } 118 | 119 | udc_controller=`ls /sys/class/udc` 120 | 121 | set_usb_function() { 122 | # 1:function 123 | # 2:idVendor 124 | # 3:idProduct 125 | # 126 | 127 | [ -d /sys/kernel/config/usb_gadget ] || { 128 | mount -t configfs none /sys/kernel/config 129 | mkdir /sys/kernel/config/usb_gadget/g1 130 | mkdir /sys/kernel/config/usb_gadget/g1/strings/0x409 131 | echo "Allwinner Technology Inc." > /sys/kernel/config/usb_gadget/g1/strings/0x409/manufacturer 132 | echo "Tina" > /sys/kernel/config/usb_gadget/g1/strings/0x409/product 133 | } 134 | [ -d /sys/kernel/config/usb_gadget/g1/configs/c.1 ] || { 135 | mkdir /sys/kernel/config/usb_gadget/g1/configs/c.1 136 | echo 0xc0 > /sys/kernel/config/usb_gadget/g1/configs/c.1/bmAttributes 137 | echo 500 > /sys/kernel/config/usb_gadget/g1/configs/c.1/MaxPower 138 | mkdir /sys/kernel/config/usb_gadget/g1/configs/c.1/strings/0x409 139 | } 140 | 141 | rm -f /sys/kernel/config/usb_gadget/g1/configs/c.1/ffs.adb 142 | rm -f /sys/kernel/config/usb_gadget/g1/configs/c.1/ffs.mtp 143 | rm -f /sys/kernel/config/usb_gadget/g1/configs/c.1/mtp.gs0 144 | rm -f /sys/kernel/config/usb_gadget/g1/configs/c.1/f1 145 | rm -f /sys/kernel/config/usb_gadget/g1/configs/c.1/rndis.usb0 146 | rm -f /sys/kernel/config/usb_gadget/g1/configs/c.1/uac1.usb0 147 | rm -f /sys/kernel/config/usb_gadget/g1/configs/c.1/accessory.usb0 148 | rm -f /sys/kernel/config/usb_gadget/g1/configs/c.1/hid.usb0 149 | rm -f /sys/kernel/config/usb_gadget/g1/configs/c.1/hid.usb1 150 | rm -f /sys/kernel/config/usb_gadget/g1/configs/c.1/loopback.usb0 151 | rm -f /sys/kernel/config/usb_gadget/g1/configs/c.1/gser.usb0 152 | rm -f /sys/kernel/config/usb_gadget/g1/configs/c.1/printer.usb0 153 | rm -f /sys/kernel/config/usb_gadget/g1/configs/c.1/uvc.usb0 154 | rm -f /sys/kernel/config/usb_gadget/g1/configs/c.1/mass_storage.usb0 155 | rm -rf /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/header/h/ 156 | rm -rf /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/class/fs 157 | rm -rf /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/class/hs 158 | rm -rf /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/control/class/fs/ 159 | rm -rf /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/control/class/ss/ 160 | rm -rf /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/m 161 | rm -rf /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/mjpeg/ 162 | rm -rf /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/streaming/uncompressed/ 163 | 164 | echo $2 > /sys/kernel/config/usb_gadget/g1/idVendor 165 | echo $3 > /sys/kernel/config/usb_gadget/g1/idProduct 166 | 167 | if [ $1 == "none" ]; then 168 | return 169 | elif [ $1 == "mtp" ]; then 170 | enable_mtp 171 | elif [ $1 == "adb" ]; then 172 | enable_adb 173 | elif [ $1 == "mass_storage" ]; then 174 | [ -d /sys/kernel/config/usb_gadget/g1/functions/mass_storage.usb0 ] || { 175 | mkdir /sys/kernel/config/usb_gadget/g1/functions/mass_storage.usb0 176 | echo Tina > /sys/kernel/config/usb_gadget/g1/functions/mass_storage.usb0/lun.0/inquiry_string 177 | } 178 | ln -s /sys/kernel/config/usb_gadget/g1/functions/mass_storage.usb0/ /sys/kernel/config/usb_gadget/g1/configs/c.1/f1 179 | 180 | #echo "/dev/by-name/UDISK" > /sys/kernel/config/usb_gadget/g1/functions/mass_storage.usb0/lun.0/file 181 | elif [ $1 == "uac1" ]; then 182 | [ -d /sys/kernel/config/usb_gadget/g1/functions/uac1.usb0 ] || { 183 | mkdir /sys/kernel/config/usb_gadget/g1/functions/uac1.usb0 184 | echo 0x1 > /sys/kernel/config/usb_gadget/g1/functions/uac1.usb0/p_chmask 185 | echo 0 > /sys/kernel/config/usb_gadget/g1/functions/uac1.usb0/c_chmask 186 | echo 16000 > /sys/kernel/config/usb_gadget/g1/functions/uac1.usb0/p_srate 187 | } 188 | echo "Tina UAC1" > /sys/kernel/config/usb_gadget/g1/strings/0x409/product 189 | ln -s /sys/kernel/config/usb_gadget/g1/functions/uac1.usb0/ /sys/kernel/config/usb_gadget/g1/configs/c.1/uac1.usb0 190 | elif [ $1 == "uvc" ]; then 191 | [ $4 == "bulk" ] && { 192 | echo Y > /sys/module/usb_f_uvc/parameters/bulk_streaming_ep 193 | } 194 | echo 0xef > /sys/kernel/config/usb_gadget/g1/bDeviceClass 195 | echo 0x02 > /sys/kernel/config/usb_gadget/g1/bDeviceSubClass 196 | echo 0x01 > /sys/kernel/config/usb_gadget/g1/bDeviceProtocol 197 | echo "Tina UVC" > /sys/kernel/config/usb_gadget/g1/strings/0x409/product 198 | 199 | #echo 0x150 > /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/control/header/h/bcdUVC 200 | 201 | enable_uvc 202 | elif [ $1 == "uvc,uac1" ]; then 203 | echo Y > /sys/module/usb_f_uvc/parameters/bulk_streaming_ep 204 | echo 0xef > /sys/kernel/config/usb_gadget/g1/bDeviceClass 205 | echo 0x02 > /sys/kernel/config/usb_gadget/g1/bDeviceSubClass 206 | echo 0x01 > /sys/kernel/config/usb_gadget/g1/bDeviceProtocol 207 | echo "Tina UVC" > /sys/kernel/config/usb_gadget/g1/strings/0x409/product 208 | 209 | enable_uvc 210 | [ -d /sys/kernel/config/usb_gadget/g1/functions/uac1.usb0 ] || { 211 | mkdir /sys/kernel/config/usb_gadget/g1/functions/uac1.usb0 212 | # enable PC capture only ISOC(IN) 213 | echo 0x1 > /sys/kernel/config/usb_gadget/g1/functions/uac1.usb0/p_chmask 214 | echo 0 > /sys/kernel/config/usb_gadget/g1/functions/uac1.usb0/c_chmask 215 | echo 16000 > /sys/kernel/config/usb_gadget/g1/functions/uac1.usb0/p_srate 216 | } 217 | echo "Tina UVC UAC1" > /sys/kernel/config/usb_gadget/g1/strings/0x409/product 218 | ln -s /sys/kernel/config/usb_gadget/g1/functions/uac1.usb0/ /sys/kernel/config/usb_gadget/g1/configs/c.1/uac1.usb0 219 | fi 220 | 221 | echo $udc_controller > /sys/kernel/config/usb_gadget/g1/UDC 222 | } 223 | 224 | if [ $# -lt 1 ]; then 225 | echo "Lack of arg!" 226 | usage 227 | exit 228 | fi 229 | 230 | # idVendor, idProduct only for test 231 | if [ $1 == "none" ]; then 232 | set_usb_function none 0x1f3a 0x1001 233 | return 234 | fi 235 | if [ $1 == "adb" ]; then 236 | set_usb_function adb 0x18d1 0xD002 237 | return 238 | fi 239 | if [ $1 == "mtp" ]; then 240 | set_usb_function mtp 0x045E 0x00C9 241 | return 242 | fi 243 | if [ $1 == "uac1" ]; then 244 | if [ $# == 3 ]; then 245 | set_usb_function uac1 $2 $3 246 | else 247 | set_usb_function uac1 0x1d61 0x0101 248 | fi 249 | return 250 | fi 251 | if [ $1 == "mass_storage" ]; then 252 | set_usb_function mass_storage 0x1f3a 0x1000 253 | return 254 | fi 255 | if [ $1 == "uvc" ]; then 256 | if [ $2 == "bulk" ]; then 257 | set_usb_function uvc 0x09a1 0x0026 bulk 258 | else 259 | set_usb_function uvc 0x09a1 0x0026 260 | fi 261 | return 262 | fi 263 | if [ $1 == "uac1,uvc" -o $1 == "uvc,uac1" ]; then 264 | #set_usb_function uvc,uac1 0x1943 0x2263 265 | #set_usb_function uvc,uac1 0x09a1 0x0026 266 | if [ $# == 3 ]; then 267 | set_usb_function uvc,uac1 $2 $3 268 | else 269 | set_usb_function uvc,uac1 0x09a1 0x002A 270 | fi 271 | return 272 | fi 273 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files_generate/S50usbcam: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | MODULES_DIR="/lib/modules/`uname -r`" 4 | 5 | run(){ 6 | while [ 1 ] 7 | do 8 | sleep 1 9 | otg_role=`cat /sys/devices/platform/soc/usbc0/otg_role` 10 | if [ "$otg_role" = "usb_device" ] 11 | then 12 | if [ $isudc == 0 ] 13 | then 14 | echo $udc > /sys/kernel/config/usb_gadget/g1/UDC 15 | isudc=1 16 | fi 17 | else 18 | isudc=0 19 | fi 20 | done 21 | } 22 | 23 | uvc_create_frame() 24 | { 25 | format=$1 26 | name=$2 27 | width=$3 28 | height=$4 29 | 30 | dir=streaming/$format/$name/${height}p 31 | mkdir -p $dir 32 | echo $width > $dir/wWidth 33 | echo $height > $dir/wHeight 34 | echo $(($width * $height * 2 )) > $dir/dwMaxVideoFrameBufferSize 35 | #20,30fps 36 | #cat < $dir/dwFrameInterval 37 | #500000 38 | #333333 39 | #EOF 40 | #30fps 41 | echo 333333 > $dir/dwFrameInterval 42 | echo 333333 > $dir/dwDefaultFrameInterval 43 | echo $(($width * $height * 2 * 30 * 8)) > $dir/dwMinBitRate 44 | echo $(($width * $height * 2 * 30 * 8)) > $dir/dwMaxBitRate 45 | } 46 | 47 | enable_uvc() 48 | { 49 | cd /sys/kernel/config/usb_gadget/g1/functions 50 | mkdir uvc.usb0 51 | cd uvc.usb0 52 | 53 | uvc_create_frame mjpeg m 1920 1080 54 | uvc_create_frame mjpeg m 1280 720 55 | uvc_create_frame mjpeg m 640 480 56 | uvc_create_frame uncompressed u 320 240 57 | uvc_create_frame h264 h 1920 1080 58 | uvc_create_frame h264 h 1280 720 59 | 60 | mkdir -p streaming/header/h 61 | 62 | ln -s streaming/mjpeg/m/ streaming/header/h/ 63 | ln -s streaming/uncompressed/u/ streaming/header/h/ 64 | ln -s streaming/h264/h/ streaming/header/h/ 65 | 66 | ln -s streaming/header/h/ streaming/class/fs 67 | ln -s streaming/header/h/ streaming/class/hs 68 | 69 | mkdir -p control/header/h 70 | 71 | ln -s control/header/h/ control/class/fs/ 72 | ln -s control/header/h/ control/class/ss/ 73 | 74 | ln -s /sys/kernel/config/usb_gadget/g1/functions/uvc.usb0/ /sys/kernel/config/usb_gadget/g1/configs/c.1/ 75 | } 76 | 77 | start() { 78 | echo "enable android usb" 79 | 80 | insmod $MODULES_DIR/sunxi_usb_udc.ko 81 | insmod $MODULES_DIR/sunxi_usbc.ko 82 | 83 | mount -t configfs none /sys/kernel/config 84 | mkdir /sys/kernel/config/usb_gadget/g1 85 | echo "0x1f3a" > /sys/kernel/config/usb_gadget/g1/idVendor 86 | echo "0x100d" > /sys/kernel/config/usb_gadget/g1/idProduct 87 | 88 | echo 0xef > /sys/kernel/config/usb_gadget/g1/bDeviceClass 89 | echo 0x02 > /sys/kernel/config/usb_gadget/g1/bDeviceSubClass 90 | echo 0x01 > /sys/kernel/config/usb_gadget/g1/bDeviceProtocol 91 | 92 | mkdir /sys/kernel/config/usb_gadget/g1/configs/c.1 93 | echo 0xc0 > /sys/kernel/config/usb_gadget/g1/configs/c.1/bmAttributes 94 | echo 500 > /sys/kernel/config/usb_gadget/g1/configs/c.1/MaxPower 95 | mkdir /sys/kernel/config/usb_gadget/g1/strings/0x409 96 | echo "Tina UVC" > /sys/kernel/config/usb_gadget/g1/strings/0x409/product 97 | 98 | #echo Y > /sys/module/usb_f_uvc/parameters/bulk_streaming_ep 99 | enable_uvc 100 | 101 | ls /sys/class/udc/ | xargs echo > /sys/kernel/config/usb_gadget/g1/UDC 102 | } 103 | 104 | stop() { 105 | echo "disable android usb" 106 | 107 | killall adbd 2>/dev/null 108 | 109 | echo > /sys/kernel/config/usb_gadget/g1/UDC 110 | rm -f /sys/kernel/config/usb_gadget/g1/configs/c.1/mass_storage.usb0 111 | rm -f /sys/kernel/config/usb_gadget/g1/configs/c.1/uvc.usb0 112 | 113 | rmmod $MODULES_DIR/sunxi_usbc.ko 114 | rmmod $MODULES_DIR/sunxi_usb_udc.ko 115 | } 116 | 117 | case "$1" in 118 | start) 119 | start 120 | ;; 121 | stop) 122 | # stop 123 | ;; 124 | restart|reload) 125 | stop 126 | start 127 | ;; 128 | *) 129 | echo "Usage: $0 {start|stop|restart}" 130 | exit 1 131 | esac 132 | 133 | exit $? 134 | 135 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files_generate/mk_extra_dir.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | pwd=$(dirname $0) 4 | 5 | echo $pwd $1 6 | 7 | mkdir -vp $1/squashfs 8 | mkdir -vp $1/home 9 | mkdir -vp $1/data 10 | mkdir -vp $1/mnt/extsd 11 | mkdir -vp $1/mnt/sdcard 12 | 13 | exit 0 14 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/busybox-init-base-files_generate/rootfs_hook_squash.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | pwd=$(dirname $0) 6 | 7 | mkdir -p $1/etc 8 | mkdir -p $1/etc/init.d 9 | mkdir -p $1/usr/bin 10 | #if [ -f ${pwd}/profile ]; then 11 | # cp -f ${pwd}/profile $1/etc/profile 12 | #else 13 | # echo "fatal error! ${pwd}/profile is not exist!" 14 | # exit 1 15 | #fi 16 | 17 | #$pwd/import_udhcpd.sh $1 18 | #$pwd/import_timezone.sh $1 19 | #$pwd/import_cron.sh $1 20 | $pwd/mk_extra_dir.sh $1 21 | #$pwd/export_extra_env.sh $1 22 | #$pwd/gen_nfsmount.sh $1 23 | #$pwd/install_init_script.sh $1 24 | 25 | #install -m 777 $pwd/preinit $1/etc/preinit 26 | #$pwd/gen_inittab.sh $1 27 | 28 | exit 0 29 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/modules.mk: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2015-2016 Allwinner 3 | # 4 | # This is free software, licensed under the GNU General Public License v2. 5 | # See /build/LICENSE for more information. 6 | 7 | define KernelPackage/vin-v4l2 8 | SUBMENU:=$(VIDEO_MENU) 9 | TITLE:=Video input support (staging) 10 | DEPENDS:= 11 | FILES:=$(LINUX_DIR)/drivers/media/v4l2-core/videobuf2-core.ko 12 | FILES+=$(LINUX_DIR)/drivers/media/v4l2-core/videobuf2-dma-contig.ko 13 | FILES+=$(LINUX_DIR)/drivers/media/v4l2-core/videobuf2-memops.ko 14 | FILES+=$(LINUX_DIR)/drivers/media/v4l2-core/videobuf2-v4l2.ko 15 | FILES+=$(LINUX_DIR)/drivers/media/platform/sunxi-vin/vin_io.ko 16 | FILES+=$(LINUX_DIR)/drivers/media/platform/sunxi-vin/modules/sensor/gc2053_mipi.ko 17 | # FILES+=$(LINUX_DIR)/drivers/media/platform/sunxi-vin/modules/sensor_power/sensor_power.ko 18 | FILES+=$(LINUX_DIR)/drivers/media/platform/sunxi-vin/vin_v4l2.ko 19 | AUTOLOAD:=$(call AutoProbe,videobuf2-core videobuf2-dma-contig videobuf2-memops videobuf2-v4l2 vin_io gc2053_mipi vin_v4l2) 20 | endef 21 | 22 | define KernelPackage/vin-v4l2/description 23 | Kernel modules for video input support 24 | endef 25 | 26 | $(eval $(call KernelPackage,vin-v4l2)) 27 | 28 | define KernelPackage/EISE-ISE 29 | SUBMENU:=$(VIDEO_MENU) 30 | TITLE:=Video ISE&EISE support (staging) 31 | DEPENDS:= 32 | # FILES:=$(LINUX_DIR)/drivers/media/platform/sunxi-ise/sunxi_ise.ko 33 | FILES+=$(LINUX_DIR)/drivers/media/platform/sunxi-eise/sunxi_eise.ko 34 | AUTOLOAD:=$(call AutoProbe,sunxi_ise sunxi_eise) 35 | endef 36 | 37 | define KernelPackage/EISE-ISE/description 38 | Kernel modules for video ISE&EISE support 39 | endef 40 | 41 | $(eval $(call KernelPackage,EISE-ISE)) 42 | 43 | 44 | define KernelPackage/miscellaneous 45 | SUBMENU:=$(OTHER_MENU) 46 | TITLE:=miscellaneous modules 47 | DEPENDS:= 48 | KCONFIG:= 49 | DEFAULT:=n 50 | FILES+=$(LINUX_DIR)/drivers/char/sunxi_nna_vip/vipcore.ko 51 | AUTOLOAD:=$(call AutoProbe,vipcore) 52 | endef 53 | 54 | define KernelPackage/miscellaneous/description 55 | miscellaneous Kernel modules, e.g. nna support 56 | endef 57 | 58 | $(eval $(call KernelPackage,miscellaneous)) 59 | 60 | define KernelPackage/sunxi_nna_galcore 61 | SUBMENU:=$(NNA_GALCORE_MENU) 62 | TITLE:=nna galcore modules 63 | DEPENDS:= 64 | KCONFIG:= 65 | DEFAULT:=n 66 | FILES+=$(LINUX_DIR)/drivers/char/sunxi_nna_galcore/galcore.ko 67 | AUTOLOAD:=$(call AutoProbe,galcore) 68 | endef 69 | 70 | define KernelPackage/sunxi_nna_galcore/description 71 | sunxi_nna_galcore Kernel modules, e.g. nna support 72 | endef 73 | 74 | $(eval $(call KernelPackage,sunxi_nna_galcore)) 75 | 76 | define KernelPackage/sunxi-g2d 77 | SUBMENU:=$(VIDEO_MENU) 78 | TITLE:=sunxi-g2d support 79 | KCONFIG:=\ 80 | CONFIG_SUNXI_G2D=y \ 81 | CONFIG_SUNXI_G2D_MIXER=y \ 82 | CONFIG_SUNXI_G2D_ROTATE=y \ 83 | CONFIG_SUNXI_SYNCFENCE=n 84 | FILES+=$(LINUX_DIR)/drivers/char/sunxi_g2d/g2d_sunxi.ko 85 | AUTOLOAD:=$(call AutoLoad,20,g2d_sunxi,1) 86 | endef 87 | 88 | define KernelPackage/sunxi-g2d/description 89 | Kernel modules for sunxi-g2d support 90 | endef 91 | 92 | $(eval $(call KernelPackage,sunxi-g2d)) 93 | 94 | #define KernelPackage/sunxi-rf-wlan 95 | # SUBMENU:=$(WIRELESS_MENU) 96 | # TITLE:=sunxi rfkill wlan support (staging) 97 | # DEPENDS:= 98 | # KCONFIG:= CONFIG_RFKILL \ 99 | # CONFIG_SUNXI_RFKILL 100 | # FILES:=$(LINUX_DIR)/drivers/misc/sunxi-rf/sunxi-wlan.ko 101 | # AUTOLOAD:=$(call AutoProbe, sunxi-rf-wlan) 102 | #endef 103 | # 104 | #define KernelPackage/sunxi-rf-wlan/description 105 | # Kernel modules for sunx-wlan support 106 | #endef 107 | # 108 | #$(eval $(call KernelPackage,sunxi-rf-wlan)) 109 | # 110 | #define KernelPackage/sunxi-rf-bluetooth 111 | # SUBMENU:=$(WIRELESS_MENU) 112 | # TITLE:=sunxi rfkill bluetooth support (staging) 113 | # DEPENDS:= 114 | # KCONFIG:= CONFIG_RFKILL \ 115 | # CONFIG_SUNXI_RFKILL 116 | # FILES:=$(LINUX_DIR)/drivers/misc/sunxi-rf/sunxi-bluetooth.ko 117 | # AUTOLOAD:=$(call AutoProbe, sunxi-rf-bluetooth) 118 | #endef 119 | # 120 | #define KernelPackage/sunxi-rf-bluetooth/description 121 | # Kernel modules for sunx-bluetooth support 122 | #endef 123 | # 124 | #$(eval $(call KernelPackage,sunxi-rf-bluetooth)) 125 | # 126 | #define KernelPackage/net-xr819 127 | # SUBMENU:=$(WIRELESS_MENU) 128 | # TITLE:=xr819 support (staging) 129 | # DEPENDS:= +kmod-sunxi-rf-wlan +kmod-cfg80211 130 | # FILES:=$(LINUX_DIR)/drivers/net/wireless/xr819/wlan/xradio_core.ko 131 | # FILES+=$(LINUX_DIR)/drivers/net/wireless/xr819/wlan/xradio_wlan.ko 132 | # FILES+=$(LINUX_DIR)/drivers/net/wireless/xr819/umac/xradio_mac.ko 133 | # AUTOLOAD:=$(call AutoProbe, xradio_mac xradio_core xradio_wlan) 134 | #endef 135 | # 136 | #define KernelPackage/net-xr819/description 137 | # Kernel modules for xr819 support 138 | #endef 139 | # 140 | #$(eval $(call KernelPackage,net-xr819)) 141 | # 142 | #define KernelPackage/touchscreen-ft6236 143 | # SUBMENU:=$(INPUT_MODULES_MENU) 144 | # TITLE:= FT6236 I2C touchscreen 145 | # DEPENDS:= +kmod-input-core 146 | # KCONFIG:= CONFIG_INPUT_TOUCHSCREEN \ 147 | # CONFIG_TOUCHSCREEN_PROPERTIES \ 148 | # CONFIG_TOUCHSCREEN_FT6236 149 | # FILES:=$(LINUX_DIR)/drivers/input/touchscreen/ft6236.ko 150 | # FILES+=$(LINUX_DIR)/drivers/input/touchscreen/of_touchscreen.ko 151 | # AUTOLOAD:=$(call AutoProbe,of_touchscreen ft6236) 152 | #endef 153 | # 154 | #define KernelPackage/touchscreen-ft6236/description 155 | # Enable support for Focaltech 6236 touchscreen port. 156 | #endef 157 | # 158 | #$(eval $(call KernelPackage,touchscreen-ft6236)) 159 | # 160 | #define KernelPackage/sunxi-gpadc 161 | # SUBMENU:=$(INPUT_MODULES_MENU) 162 | # TITLE:= FT6236 I2C touchscreen 163 | # DEPENDS:= +kmod-input-core +kmod-input-evdev 164 | # KCONFIG:= CONFIG_INPUT_TOUCHSCREEN \ 165 | # CONFIG_TOUCHSCREEN_PROPERTIES \ 166 | # CONFIG_TOUCHSCREEN_FT6236 167 | # FILES:=$(LINUX_DIR)/drivers/input/sensor/sunxi_gpadc.ko 168 | # AUTOLOAD:=$(call AutoProbe,sunxi_gpadc.ko) 169 | #endef 170 | # 171 | #define KernelPackage/sunxi-gpadc/description 172 | # Enable support for Focaltech 6236 touchscreen port. 173 | #endef 174 | # 175 | #$(eval $(call KernelPackage,sunxi-gpadc)) 176 | # 177 | #define KernelPackage/iio-mpu6xxx-i2c 178 | # SUBMENU:=$(IIO_MENU) 179 | # TITLE:=MPU6050/6500/9150 inertial measurement sensor (I2C) 180 | # DEPENDS:=+kmod-i2c-core +kmod-iio-core 181 | # KCONFIG:=CONFIG_INV_MPU6050_I2C \ 182 | # CONFIG_INV_MPU6050_IIO 183 | # FILES:=$(LINUX_DIR)/drivers/iio/imu/inv_mpu6050/inv-mpu6050.ko \ 184 | # $(LINUX_DIR)/drivers/iio/imu/inv_mpu6050/inv-mpu6050-i2c.ko 185 | # AUTOLOAD:=$(call AutoProbe,inv-mpu6050 inv-mpu6050-i2c) 186 | #endef 187 | # 188 | #define KernelPackage/iio-mpu6xxx-i2c/description 189 | # This driver supports the Invensense MPU6050/6500/9150 and ICM20608 190 | # motion tracking devices over I2C. 191 | # This driver can be built as a module. The module will be called 192 | # inv-mpu6050-i2c. 193 | #endef 194 | # 195 | #$(eval $(call KernelPackage,iio-mpu6xxx-i2c)) 196 | # 197 | #define KernelPackage/iio-mpu6xxx-spi 198 | # SUBMENU:=$(IIO_MENU) 199 | # TITLE:=MPU6050/6500/9150 inertial measurement sensor (SPI) 200 | # DEPENDS:=+kmod-spi-bitbang +kmod-iio-core 201 | # KCONFIG:=CONFIG_INV_MPU6050_SPI CONFIG_INV_MPU6050_IIO 202 | # FILES:=$(LINUX_DIR)/drivers/iio/imu/inv_mpu6050/inv-mpu6050.ko 203 | # FILES+=$(LINUX_DIR)/drivers/iio/imu/inv_mpu6050/inv-mpu6050-spi.ko 204 | # AUTOLOAD:=$(call AutoProbe,inv-mpu6050 inv-mpu6050-spi) 205 | #endef 206 | # 207 | #define KernelPackage/iio-mpu6xxx-spi/description 208 | # This driver supports the Invensense MPU6050/6500/9150 and ICM20608 209 | # motion tracking devices over SPI. 210 | # This driver can be built as a module. The module will be called 211 | # inv-mpu6050-spi. 212 | #endef 213 | # 214 | #$(eval $(call KernelPackage,iio-mpu6xxx-spi)) 215 | # 216 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/swupdate/env_ab.cfg: -------------------------------------------------------------------------------- 1 | 2 | #kernel command arguments 3 | earlyprintk=sunxi-uart,0x02500000 4 | initcall_debug=0 5 | console=ttyS0,115200 6 | nand_root=/dev/ubiblock0_4 7 | mmc_root=/dev/mmcblk0p4 8 | nor_root=/dev/mtdblock3 9 | init=/init 10 | loglevel=8 11 | cma=256M 12 | coherent_pool=16K 13 | #reserve_list=30M@64M,78M@128M,200M@512M 14 | mac= 15 | wifi_mac= 16 | bt_mac= 17 | specialstr= 18 | root_partition=rootfsA 19 | riscv32_partition=riscv32A 20 | mtd_name=sys 21 | rootfstype=squashfs 22 | #set kernel cmdline if boot.img or recovery.img has no cmdline we will use this 23 | setargs_nor=setenv bootargs earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nor_root} rootwait init=${init} rdinit=${rdinit} partitions=${partitions} cma=${cma} coherent_pool=${coherent_pool} ion_carveout_list=${reserve_list} 24 | setargs_nand=setenv bootargs earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} ubi.mtd=${mtd_name} root=${nand_root} rootfstype=${rootfstype} rootwait init=${init} rdinit=${rdinit} partitions=${partitions} cma=${cma} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} selinux=${selinux} specialstr=${specialstr} coherent_pool=${coherent_pool} ion_carveout_list=${reserve_list} 25 | setargs_nand_ubi=setenv bootargs ubi.mtd=${mtd_name} ubi.block=0,${root_partition} earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1 26 | setargs_mmc=setenv bootargs earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${mmc_root} rootwait init=${init} partitions=${partitions} cma=${cma} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} selinux=${selinux} specialstr=${specialstr} coherent_pool=${coherent_pool} ion_carveout_list=${reserve_list} 27 | #nand command syntax: sunxi_flash read address partition_name read_bytes 28 | #0x4007f800 = 0x40080000(kernel entry) - 0x800(boot.img header 2k) 29 | boot_partition=bootA 30 | boot_riscv32=sunxi_flash read 45000000 ${riscv32_partition};bootr 45000000 0 0 31 | boot_normal=sunxi_flash read 44800000 ${boot_partition};bootm 44800000 32 | boot_recovery=sunxi_flash read 44800000 extend;bootm 44800000 33 | boot_fastboot=fastboot 34 | #recovery key 35 | recovery_key_value_max=0x13 36 | recovery_key_value_min=0x10 37 | #fastboot key 38 | fastboot_key_value_max=0x8 39 | fastboot_key_value_min=0x2 40 | 41 | #uboot system env config 42 | bootdelay=1 43 | #default bootcmd, will change at runtime according to key press 44 | #default nand boot 45 | bootcmd=run setargs_nand boot_riscv32 boot_normal 46 | #verify the kernel 47 | verify=N 48 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/swupdate/postinstall_A.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | [ -e /dev/by-name/bootA_fifo ] && dd if=/dev/zero of=/dev/by-name/bootA_fifo 4 | [ -e /dev/by-name/rootfsA_fifo ] && dd if=/dev/zero of=/dev/by-name/rootfsA_fifo 5 | [ -e /dev/by-name/riscv32A_fifo ] && dd if=/dev/zero of=/dev/by-name/riscv32A_fifo 6 | 7 | sleep 1 8 | 9 | [ -e /dev/by-name/bootA_fifo ] && return 1 10 | [ -e /dev/by-name/rootfsA_fifo ] && return 1 11 | [ -e /dev/by-name/riscv32A_fifo ] && return 1 12 | 13 | return 0 14 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/swupdate/postinstall_B.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | [ -e /dev/by-name/bootB_fifo ] && dd if=/dev/zero of=/dev/by-name/bootB_fifo 4 | [ -e /dev/by-name/rootfsB_fifo ] && dd if=/dev/zero of=/dev/by-name/rootfsB_fifo 5 | [ -e /dev/by-name/riscv32B_fifo ] && dd if=/dev/zero of=/dev/by-name/riscv32B_fifo 6 | 7 | sleep 1 8 | 9 | [ -e /dev/by-name/bootB_fifo ] && return 1 10 | [ -e /dev/by-name/rootfsB_fifo ] && return 1 11 | [ -e /dev/by-name/riscv32B_fifo ] && return 1 12 | 13 | return 0 14 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/swupdate/preinstall_A.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #remove old fifo 4 | [ -e /dev/by-name/bootA_fifo ] && dd if=/dev/zero of=/dev/by-name/bootA_fifo 5 | [ -e /dev/by-name/rootfsA_fifo ] && dd if=/dev/zero of=/dev/by-name/rootfsA_fifo 6 | [ -e /dev/by-name/riscv32A_fifo ] && dd if=/dev/zero of=/dev/by-name/riscv32A_fifo 7 | 8 | #create new fifo 9 | ubiupdatevol /dev/by-name/bootA -f & 10 | ubiupdatevol /dev/by-name/rootfsA -f & 11 | ubiupdatevol /dev/by-name/riscv32A -f & 12 | 13 | sleep 1 14 | 15 | [ ! -e /dev/by-name/bootA_fifo ] && return 1 16 | [ ! -e /dev/by-name/rootfsA_fifo ] && return 1 17 | [ ! -e /dev/by-name/riscv32A_fifo ] && return 1 18 | 19 | return 0 20 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/swupdate/preinstall_B.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #remove old fifo 4 | [ -e /dev/by-name/bootB_fifo ] && dd if=/dev/zero of=/dev/by-name/bootB_fifo 5 | [ -e /dev/by-name/rootfsB_fifo ] && dd if=/dev/zero of=/dev/by-name/rootfsB_fifo 6 | [ -e /dev/by-name/riscv32B_fifo ] && dd if=/dev/zero of=/dev/by-name/riscv32B_fifo 7 | 8 | #create new fifo 9 | ubiupdatevol /dev/by-name/bootB -f & 10 | ubiupdatevol /dev/by-name/rootfsB -f & 11 | ubiupdatevol /dev/by-name/riscv32B -f & 12 | 13 | sleep 1 14 | 15 | [ ! -e /dev/by-name/bootB_fifo ] && return 1 16 | [ ! -e /dev/by-name/rootfsB_fifo ] && return 1 17 | [ ! -e /dev/by-name/riscv32B_fifo ] && return 1 18 | 19 | return 0 20 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/swupdate/readme.txt: -------------------------------------------------------------------------------- 1 | OTA说明: 2 | 3 | 一、recovery系统升级 4 | 1、此目录的文件是OTA配置文件 5 | 6 | 2、sw-subimgs.cfg和sw-description文件是用于nor介质的recovery系统升级。 7 | 生成OTA包用命令:swupdate_pack_swu 不加参数 8 | 9 | 3、sw-subimgs-ubi.cfg和sw-description-ubi文件是用于nand介质的recovery系统升级。 10 | 生成OTA包使用命令:swupdate_pack_swu -ubi 11 | 12 | 4、sw-subimgs-emmc.cfg和sw-description-emmc文件是用于emmc介质的recovery系统升级。 13 | 生成OTA包使用命令:swupdate_pack_swu -emmc 14 | 15 | 二、AB系统升级 16 | 1、配置AB系统。将本目录的env_ab.cfg, sys_partition_ab.fex文件复制到device/config/chips/v853/configs/vision目录, 17 | 并分别替换为env.cfg,sys_partition.fex。打包:p; 然后烧录,此时小机端为A/B系统 18 | 19 | 2、sw-subimgs-ab.cfg和sw-description-ab文件是用于nand介质的AB系统升级。 20 | 生成OTA包使用命令:swupdate_pack_swu -ab 21 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/swupdate/sw-description: -------------------------------------------------------------------------------- 1 | software = 2 | { 3 | version = "0.1.0"; 4 | description = "Firmware update for Tina Project"; 5 | 6 | stable = { 7 | 8 | /* upgrade recovery,uboot,boot0 ==> change swu_mode,boot_partition ==> reboot */ 9 | upgrade_recovery = { 10 | /* upgrade recovery */ 11 | images: ( 12 | { 13 | filename = "recovery"; 14 | device = "/dev/by-name/extend"; 15 | installed-directly = true; 16 | } 17 | /* 18 | { 19 | filename = "uboot"; 20 | type = "awuboot"; 21 | }, 22 | { 23 | filename = "boot0"; 24 | type = "awboot0"; 25 | } 26 | */ 27 | ); 28 | /* change swu_mode to upgrade_kernel,boot_partition to recovery & reboot*/ 29 | bootenv: ( 30 | { 31 | name = "swu_mode"; 32 | value = "upgrade_kernel"; 33 | }, 34 | { 35 | name = "boot_partition"; 36 | value = "extend"; 37 | }, 38 | { 39 | name = "swu_next"; 40 | value = "reboot"; 41 | } 42 | ); 43 | }; 44 | 45 | /* upgrade kernel,rootfs ==> change sw_mode */ 46 | upgrade_kernel = { 47 | /* upgrade kernel,rootfs */ 48 | images: ( 49 | { 50 | filename = "kernel"; 51 | device = "/dev/by-name/boot"; 52 | installed-directly = true; 53 | }, 54 | { 55 | filename = "rootfs"; 56 | device = "/dev/by-name/rootfs"; 57 | installed-directly = true; 58 | } 59 | ); 60 | /* change sw_mode to upgrade_usr,change boot_partition to boot */ 61 | bootenv: ( 62 | { 63 | name = "swu_mode"; 64 | value = "upgrade_usr"; 65 | }, 66 | { 67 | name = "boot_partition"; 68 | value = "boot"; 69 | }, 70 | { 71 | name = "swu_next"; 72 | value = "reboot"; 73 | } 74 | ); 75 | }; 76 | 77 | 78 | /* upgrade usr ==> clean ==> reboot */ 79 | upgrade_usr = { 80 | /* upgrade usr */ 81 | images: ( 82 | { 83 | filename = "usr"; 84 | device = "/dev/by-name/extend"; 85 | installed-directly = true; 86 | } 87 | ); 88 | /* clean swu_param,swu_software,swu_mode & reboot */ 89 | bootenv: ( 90 | { 91 | name = "swu_param"; 92 | value = ""; 93 | }, 94 | { 95 | name = "swu_software"; 96 | value = ""; 97 | }, 98 | { 99 | name = "swu_mode"; 100 | value = ""; 101 | }, 102 | { 103 | name = "swu_next"; 104 | value = "reboot"; 105 | } 106 | ); 107 | }; 108 | 109 | }; 110 | 111 | /* when not call with -e xxx,xxx just clean */ 112 | bootenv: ( 113 | { 114 | name = "swu_param"; 115 | value = ""; 116 | }, 117 | { 118 | name = "swu_software"; 119 | value = ""; 120 | }, 121 | { 122 | name = "swu_mode"; 123 | value = ""; 124 | }, 125 | { 126 | name = "swu_version"; 127 | value = ""; 128 | } 129 | ); 130 | 131 | } 132 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/swupdate/sw-description-ab: -------------------------------------------------------------------------------- 1 | software = 2 | { 3 | version = "0.1.0"; 4 | description = "Firmware update for Tina Project"; 5 | 6 | stable = { 7 | 8 | /* now in systemA, we need to upgrade systemB(bootB, rootfsB, dspxB) */ 9 | now_A_next_B = { 10 | images: ( 11 | { 12 | filename = "kernel"; 13 | volume = "bootB"; 14 | installed-directly = true; 15 | }, 16 | { 17 | filename = "rootfs"; 18 | volume = "rootfsB"; 19 | installed-directly = true; 20 | }, 21 | { 22 | filename = "riscv"; 23 | volume = "riscv32B"; 24 | installed-directly = true; 25 | }, 26 | { 27 | filename = "uboot"; 28 | type = "awuboot"; 29 | }, 30 | { 31 | filename = "boot0"; 32 | type = "awboot0"; 33 | } 34 | ); 35 | bootenv: ( 36 | { 37 | name = "swu_mode"; 38 | value = ""; 39 | }, 40 | { 41 | name = "boot_partition"; 42 | value = "bootB"; 43 | }, 44 | { 45 | name = "root_partition"; 46 | value = "rootfsB"; 47 | }, 48 | { 49 | name = "riscv32_partition"; 50 | value = "riscv32B"; 51 | }, 52 | { 53 | name = "swu_next"; 54 | value = "reboot"; 55 | } 56 | ); 57 | }; 58 | 59 | /* now in systemB, we need to upgrade systemA(bootA, rootfsA, dspxA) */ 60 | now_B_next_A = { 61 | images: ( 62 | { 63 | filename = "kernel"; 64 | volume = "bootA"; 65 | installed-directly = true; 66 | }, 67 | { 68 | filename = "rootfs"; 69 | volume = "rootfsA"; 70 | installed-directly = true; 71 | }, 72 | { 73 | filename = "riscv"; 74 | volume = "riscv32A"; 75 | installed-directly = true; 76 | }, 77 | { 78 | filename = "uboot"; 79 | type = "awuboot"; 80 | }, 81 | { 82 | filename = "boot0"; 83 | type = "awboot0"; 84 | } 85 | ); 86 | bootenv: ( 87 | { 88 | name = "swu_mode"; 89 | value = ""; 90 | }, 91 | { 92 | name = "boot_partition"; 93 | value = "bootA"; 94 | }, 95 | { 96 | name = "root_partition"; 97 | value = "rootfsA"; 98 | }, 99 | { 100 | name = "riscv32_partition"; 101 | value = "riscv32A"; 102 | }, 103 | { 104 | name = "swu_next"; 105 | value = "reboot"; 106 | } 107 | ); 108 | }; 109 | 110 | 111 | }; 112 | 113 | /* when not call with -e xxx,xxx just clean */ 114 | bootenv: ( 115 | { 116 | name = "swu_param"; 117 | value = ""; 118 | }, 119 | { 120 | name = "swu_software"; 121 | value = ""; 122 | }, 123 | { 124 | name = "swu_mode"; 125 | value = ""; 126 | }, 127 | { 128 | name = "swu_version"; 129 | value = ""; 130 | } 131 | ); 132 | 133 | } 134 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/swupdate/sw-description-ab-rdiff: -------------------------------------------------------------------------------- 1 | software = 2 | { 3 | version = "0.1.0"; 4 | description = "Firmware update for Tina Project"; 5 | 6 | stable = { 7 | 8 | /* now in systemA, we need to upgrade systemB(bootB, rootfsB, dspxB) */ 9 | now_A_next_B = { 10 | images: ( 11 | { 12 | filename = "kernel.rdiff.delta"; 13 | type = "rdiff_image"; 14 | device = "/dev/by-name/bootB_fifo"; 15 | properties: { 16 | rdiffbase = ["/dev/by-name/bootA"]; 17 | }; 18 | }, 19 | { 20 | filename = "rootfs.rdiff.delta"; 21 | type = "rdiff_image"; 22 | device = "/dev/by-name/rootfsB_fifo"; 23 | properties: { 24 | rdiffbase = ["/dev/by-name/rootfsA"]; 25 | }; 26 | }, 27 | { 28 | filename = "riscv.rdiff.delta"; 29 | type = "rdiff_image"; 30 | device = "/dev/by-name/riscv32B_fifo"; 31 | properties: { 32 | rdiffbase = ["/dev/by-name/riscv32A"]; 33 | }; 34 | }, 35 | { 36 | filename = "uboot"; 37 | type = "awuboot"; 38 | }, 39 | { 40 | filename = "boot0"; 41 | type = "awboot0"; 42 | } 43 | ); 44 | scripts: ( 45 | { 46 | filename = "preinstall_B.sh"; 47 | type = "preinstall"; 48 | }, 49 | { 50 | filename = "postinstall_B.sh"; 51 | type = "postinstall"; 52 | } 53 | ); 54 | bootenv: ( 55 | { 56 | name = "swu_mode"; 57 | value = ""; 58 | }, 59 | { 60 | name = "boot_partition"; 61 | value = "bootB"; 62 | }, 63 | { 64 | name = "root_partition"; 65 | value = "rootfsB"; 66 | }, 67 | { 68 | name = "riscv32_partition"; 69 | value = "riscv32B"; 70 | }, 71 | { 72 | name = "swu_next"; 73 | value = "reboot"; 74 | } 75 | ); 76 | }; 77 | 78 | /* now in systemB, we need to upgrade systemA(bootA, rootfsA, dspxA) */ 79 | now_B_next_A = { 80 | images: ( 81 | { 82 | filename = "kernel.rdiff.delta"; 83 | type = "rdiff_image"; 84 | device = "/dev/by-name/bootA_fifo"; 85 | properties: { 86 | rdiffbase = ["/dev/by-name/bootB"]; 87 | }; 88 | }, 89 | { 90 | filename = "rootfs.rdiff.delta"; 91 | type = "rdiff_image"; 92 | device = "/dev/by-name/rootfsA_fifo"; 93 | properties: { 94 | rdiffbase = ["/dev/by-name/rootfsB"]; 95 | }; 96 | }, 97 | { 98 | filename = "riscv.rdiff.delta"; 99 | type = "rdiff_image"; 100 | device = "/dev/by-name/riscv32A_fifo"; 101 | properties: { 102 | rdiffbase = ["/dev/by-name/riscv32B"]; 103 | }; 104 | }, 105 | { 106 | filename = "uboot"; 107 | type = "awuboot"; 108 | }, 109 | { 110 | filename = "boot0"; 111 | type = "awboot0"; 112 | } 113 | ); 114 | scripts: ( 115 | { 116 | filename = "preinstall_A.sh"; 117 | type = "preinstall"; 118 | }, 119 | { 120 | filename = "postinstall_A.sh"; 121 | type = "postinstall"; 122 | } 123 | ); 124 | bootenv: ( 125 | { 126 | name = "swu_mode"; 127 | value = ""; 128 | }, 129 | { 130 | name = "boot_partition"; 131 | value = "bootA"; 132 | }, 133 | { 134 | name = "root_partition"; 135 | value = "rootfsA"; 136 | }, 137 | { 138 | name = "riscv32_partition"; 139 | value = "riscv32A"; 140 | }, 141 | { 142 | name = "swu_next"; 143 | value = "reboot"; 144 | } 145 | ); 146 | }; 147 | 148 | 149 | }; 150 | 151 | /* when not call with -e xxx,xxx just clean */ 152 | bootenv: ( 153 | { 154 | name = "swu_param"; 155 | value = ""; 156 | }, 157 | { 158 | name = "swu_software"; 159 | value = ""; 160 | }, 161 | { 162 | name = "swu_mode"; 163 | value = ""; 164 | }, 165 | { 166 | name = "swu_version"; 167 | value = ""; 168 | } 169 | ); 170 | 171 | } 172 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/swupdate/sw-description-emmc: -------------------------------------------------------------------------------- 1 | software = 2 | { 3 | version = "0.1.0"; 4 | description = "Firmware update for Tina Project"; 5 | 6 | stable = { 7 | 8 | /* upgrade recovery,uboot,boot0 ==> change swu_mode,boot_partition ==> reboot */ 9 | upgrade_recovery = { 10 | /* upgrade recovery */ 11 | images: ( 12 | { 13 | filename = "recovery"; 14 | device = "/dev/by-name/recovery"; 15 | installed-directly = true; 16 | }, 17 | { 18 | filename = "riscv"; 19 | device = "/dev/by-name/riscv32-r"; 20 | installed-directly = true; 21 | }, 22 | { 23 | filename = "uboot"; 24 | type = "awuboot"; 25 | }, 26 | { 27 | filename = "boot0"; 28 | type = "awboot0"; 29 | } 30 | ); 31 | /* change swu_mode to upgrade_kernel,boot_partition to recovery & reboot*/ 32 | bootenv: ( 33 | { 34 | name = "swu_mode"; 35 | value = "upgrade_kernel"; 36 | }, 37 | { 38 | name = "boot_partition"; 39 | value = "recovery"; 40 | }, 41 | { 42 | name = "riscv32_partition"; 43 | value = "riscv32-r"; 44 | }, 45 | { 46 | name = "swu_next"; 47 | value = "reboot"; 48 | } 49 | ); 50 | }; 51 | 52 | /* upgrade kernel,rootfs ==> change sw_mode */ 53 | upgrade_kernel = { 54 | /* upgrade kernel,rootfs */ 55 | images: ( 56 | { 57 | filename = "riscv"; 58 | device = "/dev/by-name/riscv32"; 59 | installed-directly = true; 60 | }, 61 | { 62 | filename = "kernel"; 63 | device = "/dev/by-name/boot"; 64 | installed-directly = true; 65 | }, 66 | { 67 | filename = "rootfs"; 68 | device = "/dev/by-name/rootfs"; 69 | installed-directly = true; 70 | } 71 | ); 72 | /* change sw_mode to upgrade_usr,change boot_partition to boot */ 73 | bootenv: ( 74 | { 75 | name = "swu_mode"; 76 | value = "upgrade_usr"; 77 | }, 78 | { 79 | name = "riscv32_partition"; 80 | value = "riscv32"; 81 | }, 82 | { 83 | name = "boot_partition"; 84 | value = "boot"; 85 | } 86 | ); 87 | }; 88 | 89 | /* upgrade usr ==> clean ==> reboot */ 90 | upgrade_usr = { 91 | /* upgrade usr */ 92 | 93 | /* clean swu_param,swu_software,swu_mode & reboot */ 94 | bootenv: ( 95 | { 96 | name = "swu_param"; 97 | value = ""; 98 | }, 99 | { 100 | name = "swu_software"; 101 | value = ""; 102 | }, 103 | { 104 | name = "swu_mode"; 105 | value = ""; 106 | }, 107 | { 108 | name = "swu_next"; 109 | value = "reboot"; 110 | } 111 | ); 112 | }; 113 | 114 | }; 115 | 116 | /* when not call with -e xxx,xxx just clean */ 117 | bootenv: ( 118 | { 119 | name = "swu_param"; 120 | value = ""; 121 | }, 122 | { 123 | name = "swu_software"; 124 | value = ""; 125 | }, 126 | { 127 | name = "swu_mode"; 128 | value = ""; 129 | }, 130 | { 131 | name = "swu_version"; 132 | value = ""; 133 | } 134 | ); 135 | 136 | } 137 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/swupdate/sw-description-ubi: -------------------------------------------------------------------------------- 1 | software = 2 | { 3 | version = "0.1.0"; 4 | description = "Firmware update for Tina Project"; 5 | 6 | stable = { 7 | 8 | /* upgrade recovery,uboot,boot0 ==> change swu_mode,boot_partition ==> reboot */ 9 | upgrade_recovery = { 10 | /* upgrade recovery */ 11 | images: ( 12 | { 13 | filename = "recovery"; 14 | volume = "recovery" 15 | installed-directly = true; 16 | }, 17 | { 18 | filename = "riscv"; 19 | volume = "riscv32-r" 20 | installed-directly = true; 21 | }, 22 | { 23 | filename = "uboot"; 24 | type = "awuboot"; 25 | }, 26 | { 27 | filename = "boot0"; 28 | type = "awboot0"; 29 | } 30 | ); 31 | /* change swu_mode to upgrade_kernel,boot_partition to recovery & reboot*/ 32 | bootenv: ( 33 | { 34 | name = "swu_mode"; 35 | value = "upgrade_kernel"; 36 | }, 37 | { 38 | name = "boot_partition"; 39 | value = "recovery"; 40 | }, 41 | { 42 | name = "riscv32_partition"; 43 | value = "riscv32-r"; 44 | }, 45 | { 46 | name = "swu_next"; 47 | value = "reboot"; 48 | } 49 | ); 50 | }; 51 | 52 | /* upgrade kernel,rootfs ==> change sw_mode */ 53 | upgrade_kernel = { 54 | /* upgrade kernel,rootfs */ 55 | images: ( 56 | { 57 | filename = "kernel"; 58 | volume = "boot" 59 | installed-directly = true; 60 | }, 61 | { 62 | filename = "rootfs"; 63 | volume = "rootfs" 64 | installed-directly = true; 65 | }, 66 | { 67 | filename = "riscv"; 68 | volume = "riscv32" 69 | installed-directly = true; 70 | } 71 | ); 72 | /* change sw_mode to upgrade_usr,change boot_partition to boot */ 73 | bootenv: ( 74 | { 75 | name = "swu_mode"; 76 | value = "upgrade_usr"; 77 | }, 78 | { 79 | name = "riscv32_partition"; 80 | value = "riscv32"; 81 | }, 82 | { 83 | name = "boot_partition"; 84 | value = "boot"; 85 | } 86 | ); 87 | }; 88 | 89 | /* upgrade usr ==> clean ==> reboot */ 90 | upgrade_usr = { 91 | /* upgrade usr */ 92 | 93 | /* clean swu_param,swu_software,swu_mode & reboot */ 94 | bootenv: ( 95 | { 96 | name = "swu_param"; 97 | value = ""; 98 | }, 99 | { 100 | name = "swu_software"; 101 | value = ""; 102 | }, 103 | { 104 | name = "swu_mode"; 105 | value = ""; 106 | }, 107 | { 108 | name = "swu_next"; 109 | value = "reboot"; 110 | } 111 | ); 112 | }; 113 | 114 | }; 115 | 116 | /* when not call with -e xxx,xxx just clean */ 117 | bootenv: ( 118 | { 119 | name = "swu_param"; 120 | value = ""; 121 | }, 122 | { 123 | name = "swu_software"; 124 | value = ""; 125 | }, 126 | { 127 | name = "swu_mode"; 128 | value = ""; 129 | }, 130 | { 131 | name = "swu_version"; 132 | value = ""; 133 | } 134 | ); 135 | 136 | } 137 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/swupdate/sw-subimgs-ab-rdiff.cfg: -------------------------------------------------------------------------------- 1 | swota_file_list=( 2 | target/allwinner/${TARGET_BOARD}/swupdate/sw-description-ab-rdiff:sw-description 3 | out/${TARGET_BOARD}/uboot.img:uboot 4 | out/${TARGET_BOARD}/boot0.img:boot0 5 | out/${TARGET_BOARD}/swupdate/swupdate_delta/delta/kernel.rdiff.delta 6 | out/${TARGET_BOARD}/swupdate/swupdate_delta/delta/rootfs.rdiff.delta 7 | out/${TARGET_BOARD}/swupdate/swupdate_delta/delta/riscv.rdiff.delta 8 | target/allwinner/${TARGET_BOARD}/swupdate/preinstall_A.sh 9 | target/allwinner/${TARGET_BOARD}/swupdate/postinstall_A.sh 10 | target/allwinner/${TARGET_BOARD}/swupdate/preinstall_B.sh 11 | target/allwinner/${TARGET_BOARD}/swupdate/postinstall_B.sh 12 | ) 13 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/swupdate/sw-subimgs-ab.cfg: -------------------------------------------------------------------------------- 1 | swota_file_list=( 2 | target/allwinner/${TARGET_BOARD}/swupdate/sw-description-ab:sw-description 3 | #out/${TARGET_BOARD}/boot_initramfs_recovery.img:recovery 4 | out/${TARGET_BOARD}/uboot.img:uboot 5 | out/${TARGET_BOARD}/boot0.img:boot0 6 | out/${TARGET_BOARD}/boot.img:kernel 7 | out/${TARGET_BOARD}/rootfs.img:rootfs 8 | out/${TARGET_BOARD}/image/riscv.fex:riscv 9 | #out/${TARGET_BOARD}/usr.img:usr 10 | ) 11 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/swupdate/sw-subimgs-emmc.cfg: -------------------------------------------------------------------------------- 1 | swota_file_list=( 2 | ${TINA_BUILD_TOP=}/target/allwinner/${TARGET_BOARD}/swupdate/sw-description-emmc:sw-description 3 | out/${TARGET_BOARD}/boot_initramfs_recovery.img:recovery 4 | out/${TARGET_BOARD}/uboot.img:uboot 5 | out/${TARGET_BOARD}/boot0.img:boot0 6 | out/${TARGET_BOARD}/boot.img:kernel 7 | out/${TARGET_BOARD}/rootfs.img:rootfs 8 | out/${TARGET_BOARD}/image/riscv.fex:riscv 9 | #out/${TARGET_BOARD}/usr.img:usr 10 | ) 11 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/swupdate/sw-subimgs-ubi.cfg: -------------------------------------------------------------------------------- 1 | swota_file_list=( 2 | ${TINA_BUILD_TOP=}/target/allwinner/${TARGET_BOARD}/swupdate/sw-description-ubi:sw-description 3 | out/${TARGET_BOARD}/boot_initramfs_recovery.img:recovery 4 | out/${TARGET_BOARD}/uboot.img:uboot 5 | out/${TARGET_BOARD}/boot0.img:boot0 6 | out/${TARGET_BOARD}/boot.img:kernel 7 | out/${TARGET_BOARD}/rootfs.img:rootfs 8 | out/${TARGET_BOARD}/image/riscv.fex:riscv 9 | #out/${TARGET_BOARD}/usr.img:usr 10 | ) 11 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/swupdate/sw-subimgs.cfg: -------------------------------------------------------------------------------- 1 | swota_file_list=( 2 | ${TINA_BUILD_TOP=}/target/allwinner/${TARGET_BOARD}/swupdate/sw-description 3 | out/${TARGET_BOARD}/boot_initramfs_recovery.img:recovery 4 | out/${TARGET_BOARD}/boot.img:kernel 5 | out/${TARGET_BOARD}/rootfs.img:rootfs 6 | out/${TARGET_BOARD}/usr.img:usr 7 | ) 8 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/swupdate/sys_partition_ab.fex: -------------------------------------------------------------------------------- 1 | ;--------------------------------------------------------------------------------------------------------- 2 | ; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串 3 | ;--------------------------------------------------------------------------------------------------------- 4 | 5 | 6 | ;-------------------------------------------------------------------------------------------------- 7 | ; 固件下载参数配置 8 | ;-------------------------------------------------------------------------------------------------- 9 | ;**************************************************** 10 | ; mbr的大小, 以Kbyte为单位 11 | ;**************************************************** 12 | [mbr] 13 | size = 4096 14 | 15 | ;******************************************************************************************************** 16 | ; 分区配置 17 | ; 18 | ; 19 | ; partition 定义范例: 20 | ; [partition] ; //表示是一个分区 21 | ; name = USERFS2 ; //分区名称 22 | ; size = 16384 ; //分区大小 单位: 扇区.分区表示个数最多2^31 * 512 = 2T 23 | ; downloadfile = "123.fex" ; //下载文件的路径和名称,可以使用相对路径,相对是指相对于image.cfg文件所在分区。也可以使用绝对路径 24 | ; keydata = 1 ; //私有数据分区,重新量产数据将不丢失 25 | ; encrypt = 1 ; //采用加密方式烧录,将提供数据加密,但损失烧录速度 26 | ; user_type = ? ; //私有用法 27 | ; verify = 1 ; //要求量产完成后校验是否正确 28 | ; 29 | ; 注:1、name唯一, 不允许同名 30 | ; 2、name最大12个字符 31 | ; 3、size = 0, 将创建一个无大小的空分区 32 | ; 4、为了安全和效率考虑,分区大小最好保证为16M字节的整数倍 33 | ;******************************************************************************************************** 34 | [partition_start] 35 | 36 | [partition] 37 | name = boot-res 38 | size = 504 39 | downloadfile = "boot-resource.fex" 40 | user_type = 0x8000 41 | 42 | [partition] 43 | name = env 44 | size = 1008 45 | downloadfile = "env.fex" 46 | user_type = 0x8000 47 | 48 | [partition] 49 | name = bootA 50 | ;size = 4096 51 | size = 25200 52 | downloadfile = "boot.fex" 53 | user_type = 0x8000 54 | 55 | [partition] 56 | name = rootfsA 57 | size = 25200 58 | downloadfile = "rootfs.fex" 59 | user_type = 0x8000 60 | 61 | [partition] 62 | name = bootB 63 | ;size = 4096 64 | size = 25200 65 | downloadfile = "boot.fex" 66 | user_type = 0x8000 67 | 68 | [partition] 69 | name = rootfsB 70 | size = 25200 71 | downloadfile = "rootfs.fex" 72 | user_type = 0x8000 73 | 74 | [partition] 75 | name = rootfs_data 76 | size = 10080 77 | user_type = 0x8000 78 | 79 | [partition] 80 | name = riscv32A 81 | size = 2016 82 | downloadfile = "riscv.fex" 83 | user_type = 0x8000 84 | 85 | [partition] 86 | name = riscv32B 87 | size = 2016 88 | downloadfile = "riscv.fex" 89 | user_type = 0x8000 90 | 91 | ;[partition] 92 | ; name = misc 93 | ; size = 512 94 | ; user_type = 0x8000 95 | ; 96 | ;[partition] 97 | ; name = private 98 | ; size = 512 99 | ; user_type = 0x8000 100 | 101 | [partition] 102 | name = UDISK 103 | user_type = 0x8100 104 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/tina_busybox-init-base-files.mk: -------------------------------------------------------------------------------- 1 | ############################################################################################ 2 | # v851s-lizard busybox-init-base-files for tina(OpenWrt) Linux 3 | # 4 | # v851s-lizard busybox-init-base-files will generate shell script according to some 5 | # environmental variables. so tina_busybox-init-base-files.mk is needed. 6 | # 7 | # Version: v1.0 8 | # Date : 2019-3-19 9 | # Author : PDC-PD5 10 | ############################################################################################ 11 | TARGET_DIR := $(CURDIR)/busybox-init-base-files 12 | HOOKS := $(CURDIR)/busybox-init-base-files_generate/rootfs_hook_squash.sh 13 | all: 14 | @echo ================================================== 15 | @echo target/allwinner/v851s-lizard/tina_busybox-init-basefiles.mk is called to generate shell scripts 16 | @echo ================================================== 17 | (${HOOKS} ${TARGET_DIR} >/dev/null) || { \ 18 | echo "Execute the ${HOOKS} is failed"; \ 19 | exit 1; \ 20 | } 21 | @echo generate shell scripts done! 22 | 23 | clean: 24 | @echo ================================================== 25 | @echo target/allwinner/v851s-lizard/tina_busybox-init-basefiles.mk is called to clean shell scripts 26 | @echo ================================================== 27 | # -rm -f ${TARGET_DIR}/etc/TZ 28 | # -rm -rf ${TARGET_DIR}/etc/cron.d 29 | # -rm -f ${TARGET_DIR}/etc/init.d/S00appdriver 30 | # -rm -f ${TARGET_DIR}/etc/init.d/S00kfc 31 | # -rm -f ${TARGET_DIR}/etc/init.d/S00part 32 | # -rm -f ${TARGET_DIR}/etc/init.d/S00mpp 33 | # -rm -f ${TARGET_DIR}/etc/init.d/S01logging 34 | # -rm -f ${TARGET_DIR}/etc/init.d/S10udev 35 | # -rm -f ${TARGET_DIR}/etc/init.d/S11dev 36 | # -rm -f ${TARGET_DIR}/etc/init.d/S20urandom 37 | # -rm -f ${TARGET_DIR}/etc/init.d/S40network 38 | # -rm -f ${TARGET_DIR}/etc/init.d/S41netparam 39 | # -rm -f ${TARGET_DIR}/etc/init.d/S50telnet 40 | # -rm -f ${TARGET_DIR}/etc/init.d/S50usb 41 | # -rm -f ${TARGET_DIR}/etc/init.d/S91vm 42 | # -rm -f ${TARGET_DIR}/etc/init.d/rcK 43 | # -rm -f ${TARGET_DIR}/etc/init.d/run_adbd 44 | # -rm -f ${TARGET_DIR}/etc/inittab 45 | # -rm -f ${TARGET_DIR}/etc/preinit 46 | # -rm -f ${TARGET_DIR}/etc/profile 47 | # -rm -rf ${TARGET_DIR}/etc/sysconfig 48 | # -rm -f ${TARGET_DIR}/etc/udhcpd.conf 49 | # -rm -f ${TARGET_DIR}/usr/bin/nfsmount 50 | # -rm -f ${TARGET_DIR}/usr/bin/run-cron 51 | # -rm -rf ${TARGET_DIR}/usr/share 52 | @echo clean shell scripts done! 53 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/v851s_lizard-pack_out.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # This script is a hook and it is be run by SUPPORT_PACK_OUT_OF_TINA function 4 | # 5 | # You can add commands here for copy some files or resource to aw_pack_src 6 | # directory 7 | # 8 | # Show aw_pack_src directory name, you should copy file to correct directory 9 | # 10 | #./aw_pack_src 11 | #|--aw_pack.sh #执行此脚本即可在aw_pack_src/out/目录生成固件 12 | #|--config #打包配置文件 13 | #|--image #各种镜像文件,可替换,但不能改文件名 14 | #| |--boot0_nand.fex #nand介质boot0镜像 15 | #| |--boot0_sdcard.fex #SD卡boot0镜像 16 | #| |--boot0_spinor.fex #nor介质boot0镜像 17 | #| |--boot0_spinor.fex #nor介质boot0镜像 18 | #| |--boot_package.fex #nand和SD卡uboot镜像 19 | #| |--boot_package_nor.fex #nor介质uboot镜像 20 | #| |--env.fex #env环境变量镜像 21 | #| |--boot.fex #内核镜像 22 | #| |--rootfs.fex #rootfs镜像 23 | #|--other #打包所需的其他文件 24 | #|--out #固件生成目录 25 | #|--tmp #打包使用的临时目录 26 | #|--tools #工具 27 | #|--rootfs #存放rootfs的tar.gz打包,给二次修改使用 28 | #|--lib_aw #拷贝全志方案的库文件,如多媒体组件eyesempp等, 29 | # 给应用app编译链接使用(没有选择这些库,则可能是空文件). 30 | #|--README #关于板级方案的一些说明,例如分区布局等等(无说明则没有这个文件) 31 | 32 | # 33 | #NOTE: input parameter $1 is a path of aw_pack_src 34 | # 35 | 36 | #author: wuguanling@allwinnertech.com 37 | 38 | 39 | #This script of this project need to copy eyesempp lib to aw_pack_src/lib_aw 40 | if [ -d ${LICHEE_PACK_OUT_DIR}/../staging_dir/target/usr/lib/eyesee-mpp ]; then 41 | cp -rf ${LICHEE_PACK_OUT_DIR}/../staging_dir/target/usr/lib/eyesee-mpp $1/lib_aw/lib 42 | cp -rf ${LICHEE_PACK_OUT_DIR}/../staging_dir/target/usr/include/eyesee-mpp $1/lib_aw/include 43 | fi 44 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/v851s_lizard-setup.sh: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2012 The Android Open Source Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | # This file is executed by build/envsetup.sh, and can use anything 18 | # defined in envsetup.sh. 19 | # 20 | # In particular, you can add lunch options with the add_lunch_combo 21 | # function: add_lunch_combo generic-eng 22 | 23 | function mkmpp 24 | { 25 | local curDir=$(pwd) 26 | croot 27 | make package/allwinner/eyesee-mpp/external/compile $@ 28 | make package/allwinner/eyesee-mpp/system/public/compile $@ 29 | make package/allwinner/eyesee-mpp/middleware/compile $@ 30 | if [ "x$?" == "x0" ];then 31 | echo mpp_install 32 | make package/install $@ 33 | else echo mpp_compile_failed,skip_install; 34 | fi 35 | cd ${curDir} 36 | } 37 | 38 | : <<'COMMENTBLOCK' 39 | function mkapp 40 | { 41 | local curDir=$(pwd) 42 | croot 43 | make package/allwinner/eyesee-mpp/framework/compile $@ 44 | if [ "x$?" == "x0" ];then 45 | make package/allwinner/eyesee-mpp/custom_aw/compile $@ 46 | if [ "x$?" == "x0" ];then 47 | make package/install $@ 48 | else echo app_compile_filed; 49 | fi 50 | else echo frmw_compile_failed; 51 | fi 52 | 53 | cd ${curDir} 54 | } 55 | COMMENTBLOCK 56 | 57 | function mkall() 58 | { 59 | local curDir=$(pwd) 60 | croot 61 | make $@ 62 | cd ${curDir} 63 | } 64 | 65 | function cleanmpp() 66 | { 67 | local curDir=$(pwd) 68 | croot 69 | make package/allwinner/eyesee-mpp/middleware/clean $@ 70 | make package/allwinner/eyesee-mpp/system/public/clean $@ 71 | make package/allwinner/eyesee-mpp/external/clean $@ 72 | cd ${curDir} 73 | } 74 | 75 | function cleanapp 76 | { 77 | local curDir=$(pwd) 78 | croot 79 | make package/allwinner/eyesee-mpp/framework/clean $@ 80 | cd ${curDir} 81 | } 82 | 83 | function cleanall() 84 | { 85 | local curDir=$(pwd) 86 | croot 87 | make package/clean 88 | make target/clean 89 | make distclean 90 | ckernel && rm -rf user_headers 91 | cd ${curDir} 92 | } 93 | 94 | 95 | cmpp_p () 96 | { 97 | local curDir=$(pwd); 98 | croot; 99 | cd package/allwinner/eyesee-mpp/middleware 100 | } 101 | 102 | cmpp_s () 103 | { 104 | croot; 105 | cd external/eyesee-mpp/middleware/sun8iw21 106 | } 107 | 108 | cfw_p () 109 | { 110 | croot; 111 | cd package/allwinner/eyesee-mpp/framework 112 | } 113 | 114 | cfw_s () 115 | { 116 | croot; 117 | cd external/eyesee-mpp/framework/sun8iw21 118 | } 119 | 120 | cisp () 121 | { 122 | cmpp_s; 123 | cd ./media/LIBRARY/libisp 124 | } 125 | 126 | mkfrmw () 127 | { 128 | local curDir=$(pwd); 129 | croot; 130 | make package/allwinner/eyesee-mpp/framework/compile $@; 131 | cd ${curDir} 132 | } 133 | 134 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/v851s_lizard.mk: -------------------------------------------------------------------------------- 1 | $(call inherit-product-if-exists, target/allwinner/v851s-common/v851s-common.mk) 2 | 3 | PRODUCT_PACKAGES += 4 | 5 | PRODUCT_COPY_FILES += 6 | 7 | PRODUCT_AAPT_CONFIG := large xlarge hdpi xhdpi 8 | PRODUCT_AAPT_PERF_CONFIG := xhdpi 9 | PRODUCT_CHARACTERISTICS := musicbox 10 | 11 | PRODUCT_BRAND := YuzukiHD 12 | PRODUCT_NAME := v851s_lizard 13 | PRODUCT_DEVICE := v851s-lizard 14 | PRODUCT_MODEL := Allwinner v851s Yuzukilizard board 15 | -------------------------------------------------------------------------------- /openwrt/target/v851s/v851s-lizard/vendorsetup.sh: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2012 The Android Open Source Project 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | # This file is executed by build/envsetup.sh, and can use anything 18 | # defined in envsetup.sh. 19 | # 20 | # In particular, you can add lunch options with the add_lunch_combo 21 | # function: add_lunch_combo generic-eng 22 | 23 | add_lunch_combo v851s-lizard-tina 24 | -------------------------------------------------------------------------------- /patch/0001-add-d310t9362v1-mipi-display-panel-driver.patch: -------------------------------------------------------------------------------- 1 | From 893bab202f4a494fa269c554f15f0bbdb86fad5f Mon Sep 17 00:00:00 2001 2 | From: YuzukiTsuru 3 | Date: Sun, 4 Dec 2022 14:13:13 +0800 4 | Subject: [PATCH] add d310t9362v1 mipi display panel driver 5 | 6 | Change-Id: I08f60e0a186abef788261b6549298e7e51e6927d 7 | --- 8 | .../video/fbdev/sunxi/disp2/disp/lcd/Kconfig | 6 + 9 | .../fbdev/sunxi/disp2/disp/lcd/d310t9362v1.c | 243 ++++++++++++++++++ 10 | .../fbdev/sunxi/disp2/disp/lcd/d310t9362v1.h | 20 ++ 11 | .../video/fbdev/sunxi/disp2/disp/lcd/panels.c | 3 + 12 | .../video/fbdev/sunxi/disp2/disp/lcd/panels.h | 3 + 13 | 5 files changed, 275 insertions(+) 14 | create mode 100644 drivers/video/fbdev/sunxi/disp2/disp/lcd/d310t9362v1.c 15 | create mode 100644 drivers/video/fbdev/sunxi/disp2/disp/lcd/d310t9362v1.h 16 | 17 | diff --git a/drivers/video/fbdev/sunxi/disp2/disp/lcd/Kconfig b/drivers/video/fbdev/sunxi/disp2/disp/lcd/Kconfig 18 | index 61c441d6..bedc53a5 100644 19 | --- a/drivers/video/fbdev/sunxi/disp2/disp/lcd/Kconfig 20 | +++ b/drivers/video/fbdev/sunxi/disp2/disp/lcd/Kconfig 21 | @@ -4,6 +4,12 @@ config LCD_SUPPORT_GG1P4062UTSW 22 | ---help--- 23 | If you want to support cpu_gg1p4062utsw panel for display driver, select it. 24 | 25 | +config LCD_SUPPORT_D310T9362V1_MIPI 26 | + bool "LCD support D310T9362V1 MIPI Panel" 27 | + default n 28 | + ---help--- 29 | + If you want to support D310T9362V1 Panel for display driver, select it. 30 | + 31 | config LCD_SUPPORT_DX0960BE40A1 32 | bool "LCD support dx0960be40a1 panel" 33 | default n 34 | diff --git a/drivers/video/fbdev/sunxi/disp2/disp/lcd/d310t9362v1.c b/drivers/video/fbdev/sunxi/disp2/disp/lcd/d310t9362v1.c 35 | new file mode 100644 36 | index 00000000..ba84850c 37 | --- /dev/null 38 | +++ b/drivers/video/fbdev/sunxi/disp2/disp/lcd/d310t9362v1.c 39 | @@ -0,0 +1,243 @@ 40 | +/* drivers/video/sunxi/disp2/disp/lcd/d310t9362v1.c 41 | + * 42 | + * Copyright (c) 2022 YuzukiTsuru 43 | + * 44 | + * D310T9362V1 panel driver 45 | + * 46 | + * This program is free software; you can redistribute it and/or modify 47 | + * it under the terms of the GNU General Public License version 2 as 48 | + * published by the Free Software Foundation. 49 | +*/ 50 | + 51 | +#include "d310t9362v1.h" 52 | + 53 | +static void lcd_power_on(u32 sel); 54 | +static void lcd_power_off(u32 sel); 55 | +static void lcd_bl_open(u32 sel); 56 | +static void lcd_bl_close(u32 sel); 57 | + 58 | +static void lcd_panel_init(u32 sel); 59 | +static void lcd_panel_exit(u32 sel); 60 | + 61 | +#define panel_reset(sel, val) sunxi_lcd_gpio_set_value(sel, 0, val) 62 | + 63 | +static void lcd_cfg_panel_info(struct panel_extend_para *info) 64 | +{ 65 | + u32 i = 0, j = 0; 66 | + u32 items; 67 | + u8 lcd_gamma_tbl[][2] = { 68 | + {0, 0}, {15, 15}, {30, 30}, {45, 45}, {60, 60}, 69 | + {75, 75}, {90, 90}, {105, 105}, {120, 120}, {135, 135}, 70 | + {150, 150}, {165, 165}, {180, 180}, {195, 195}, {210, 210}, 71 | + {225, 225}, {240, 240}, {255, 255}, 72 | + }; 73 | + 74 | + u32 lcd_cmap_tbl[2][3][4] = { 75 | + { 76 | + {LCD_CMAP_G0, LCD_CMAP_B1, LCD_CMAP_G2, LCD_CMAP_B3}, 77 | + {LCD_CMAP_B0, LCD_CMAP_R1, LCD_CMAP_B2, LCD_CMAP_R3}, 78 | + {LCD_CMAP_R0, LCD_CMAP_G1, LCD_CMAP_R2, LCD_CMAP_G3}, 79 | + }, 80 | + { 81 | + {LCD_CMAP_B3, LCD_CMAP_G2, LCD_CMAP_B1, LCD_CMAP_G0}, 82 | + {LCD_CMAP_R3, LCD_CMAP_B2, LCD_CMAP_R1, LCD_CMAP_B0}, 83 | + {LCD_CMAP_G3, LCD_CMAP_R2, LCD_CMAP_G1, LCD_CMAP_R0}, 84 | + }, 85 | + }; 86 | + 87 | + items = sizeof(lcd_gamma_tbl) / 2; 88 | + for (i = 0; i < items - 1; i++) { 89 | + u32 num = lcd_gamma_tbl[i + 1][0] - lcd_gamma_tbl[i][0]; 90 | + 91 | + for (j = 0; j < num; j++) { 92 | + u32 value = 0; 93 | + 94 | + value = 95 | + lcd_gamma_tbl[i][1] + 96 | + ((lcd_gamma_tbl[i + 1][1] - lcd_gamma_tbl[i][1]) * 97 | + j) / 98 | + num; 99 | + info->lcd_gamma_tbl[lcd_gamma_tbl[i][0] + j] = 100 | + (value << 16) + (value << 8) + value; 101 | + } 102 | + } 103 | + info->lcd_gamma_tbl[255] = (lcd_gamma_tbl[items - 1][1] << 16) + 104 | + (lcd_gamma_tbl[items - 1][1] << 8) + 105 | + lcd_gamma_tbl[items - 1][1]; 106 | + 107 | + memcpy(info->lcd_cmap_tbl, lcd_cmap_tbl, sizeof(lcd_cmap_tbl)); 108 | +} 109 | + 110 | +static s32 lcd_open_flow(u32 sel) 111 | +{ 112 | + LCD_OPEN_FUNC(sel, lcd_power_on, 10); 113 | + LCD_OPEN_FUNC(sel, lcd_panel_init, 120); 114 | + LCD_OPEN_FUNC(sel, sunxi_lcd_tcon_enable, 120); 115 | + LCD_OPEN_FUNC(sel, lcd_bl_open, 0); 116 | + return 0; 117 | +} 118 | + 119 | +static s32 lcd_close_flow(u32 sel) 120 | +{ 121 | + LCD_CLOSE_FUNC(sel, lcd_bl_close, 0); 122 | + LCD_CLOSE_FUNC(sel, lcd_panel_exit, 200); 123 | + LCD_CLOSE_FUNC(sel, sunxi_lcd_tcon_disable, 0); 124 | + LCD_CLOSE_FUNC(sel, lcd_power_off, 500); 125 | + return 0; 126 | +} 127 | + 128 | +static void lcd_power_on(u32 sel) 129 | +{ 130 | + sunxi_lcd_pin_cfg(sel, 1); 131 | + sunxi_lcd_power_enable(sel, 0); 132 | + sunxi_lcd_delay_ms(50); 133 | + 134 | + /* reset lcd by gpio */ 135 | + panel_reset(sel, 1); 136 | + sunxi_lcd_delay_ms(5); 137 | + panel_reset(sel, 0); 138 | + sunxi_lcd_delay_ms(10); 139 | + panel_reset(sel, 1); 140 | + sunxi_lcd_delay_ms(120); 141 | +} 142 | + 143 | +static void lcd_power_off(u32 sel) 144 | +{ 145 | + sunxi_lcd_pin_cfg(sel, 0); 146 | + sunxi_lcd_delay_ms(20); 147 | + panel_reset(sel, 0); 148 | + sunxi_lcd_delay_ms(5); 149 | + sunxi_lcd_power_disable(sel, 0); 150 | +} 151 | + 152 | +static void lcd_bl_open(u32 sel) 153 | +{ 154 | + sunxi_lcd_pwm_enable(sel); 155 | + sunxi_lcd_backlight_enable(sel); 156 | +} 157 | + 158 | +static void lcd_bl_close(u32 sel) 159 | +{ 160 | + sunxi_lcd_backlight_disable(sel); 161 | + sunxi_lcd_pwm_disable(sel); 162 | +} 163 | + 164 | + 165 | +#define REGFLAG_DELAY 0XFC 166 | +#define REGFLAG_END_OF_TABLE 0xFD /* END OF REGISTERS MARKER */ 167 | + 168 | +struct LCM_setting_table { 169 | + u8 cmd; 170 | + u32 count; 171 | + u8 para_list[32]; 172 | +}; 173 | + 174 | +static struct LCM_setting_table lcm_initialization_setting[] = { 175 | + {0x01, 1, {0x00} }, 176 | + {REGFLAG_DELAY, REGFLAG_DELAY, {120} }, 177 | + 178 | + {0x11, 1, {0x00} }, 179 | + {REGFLAG_DELAY, REGFLAG_DELAY, {120} }, 180 | + 181 | + {0xff, 5, {0x77, 0x01, 0x00, 0x00, 0x11} }, 182 | + {0xd1, 1, {0x11} }, 183 | + {0x55, 1, {0xb0} }, 184 | + 185 | + {0xff, 5, {0x77, 0x01, 0x00, 0x00, 0x10} }, 186 | + {0xc0, 2, {0x63, 0x00} }, // SCNL = (0x63 + 1) * 8 = 800 187 | + {0xc1, 2, {0x09, 0x02} }, // VFB=0x09 VBF=0x02 188 | + {0xc2, 2, {0x37, 0x08} }, // PCLK= 512 + (0x08 * 16) = 640 189 | + 190 | + {0xc7, 1, {0x00} }, // x-dir rotate 0 : 0x00 rotate 180 :0x04 191 | + 192 | + {0xcc, 1, {0x38} }, 193 | + 194 | + {0xb0, 16, {0x00, 0x11, 0x19, 0x0c, 0x10, 0x06, 0x07, 0x0a, 0x09, 0x22, 195 | + 0x04, 0x10, 0x0e, 0x28, 0x30, 0x1c} }, 196 | + 197 | + {0xb1, 16, {0x00, 0x12, 0x19, 0x0d, 0x10, 0x04, 0x06, 0x07, 0x08, 0x23, 198 | + 0x04, 0x12, 0x11, 0x28, 0x30, 0x1c} }, 199 | + 200 | + {0xff, 5, {0x77, 0x01, 0x00, 0x00, 0x11} }, // enable bk fun of command 2 BK1 201 | + {0xb0, 1, {0x4d} }, 202 | + {0xb1, 1, {0x5b} }, // 0x56 0x4a 0x5b 203 | + {0xb2, 1, {0x07} }, 204 | + {0xb3, 1, {0x80} }, 205 | + {0xb5, 1, {0x47} }, 206 | + {0xb7, 1, {0x8a} }, 207 | + {0xb8, 1, {0x21} }, 208 | + {0xc1, 1, {0x78} }, 209 | + {0xc2, 1, {0x78} }, 210 | + {0xd0, 1, {0x88} }, 211 | + {REGFLAG_DELAY, REGFLAG_DELAY, {100} }, 212 | + 213 | + {0xe0, 3, {0x00, 0x00, 0x02} }, 214 | + {0xe1, 11, {0x01, 0xa0, 0x03, 0xa0, 0x02, 0xa0, 0x04, 0xa0, 0x00, 0x44, 215 | + 0x44} }, 216 | + {0xe2, 12, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 217 | + 0x00, 0x00} }, 218 | + {0xe3, 4, {0x00, 0x00, 0x33, 0x33} }, 219 | + {0xe4, 2, {0x44, 0x44} }, 220 | + {0xe5, 16, {0x01, 0x26, 0xa0, 0xa0, 0x03, 0x28, 0xa0, 0xa0, 0x05, 0x2a, 221 | + 0xa0, 0xa0, 0x07, 0x2c, 0xa0, 0xa0} }, 222 | + {0xe6, 4, {0x00, 0x00, 0x33, 0x33} }, 223 | + {0xe7, 2, {0x44, 0x44} }, 224 | + {0xe8, 16, {0x02, 0x26, 0xa0, 0xa0, 0x04, 0x28, 0xa0, 0xa0, 0x06, 0x2a, 225 | + 0xa0, 0xa0, 0x08, 0x2c, 0xa0, 0xa0} }, 226 | + {0xeb, 7, {0x00, 0x01, 0xe4, 0xe4, 0x44, 0x00, 0x40} }, 227 | + {0xed, 16, {0xff, 0xf7, 0x65, 0x4f, 0x0b, 0xa1, 0xcf, 0xff, 0xff, 0xfc, 228 | + 0x1a, 0xb0, 0xf4, 0x56, 0x7f, 0xff} }, 229 | + 230 | + {0xff, 5, {0x77, 0x01, 0x00, 0x00, 0x00} }, 231 | + {0x36, 1, {0x00} }, // U&D Y-DIR rotate 0: 0x00 : rotate 180 :0x10 232 | + {0x3a, 1, {0x55} }, 233 | + {0x29, 1, {0x00} }, 234 | + {REGFLAG_END_OF_TABLE, REGFLAG_END_OF_TABLE, {} } 235 | +}; 236 | + 237 | +static void lcd_panel_init(u32 sel) 238 | +{ 239 | + u32 i = 0; 240 | + 241 | + sunxi_lcd_dsi_clk_enable(sel); 242 | + sunxi_lcd_delay_ms(100); 243 | + 244 | + for (i = 0;; i++) { 245 | + if (lcm_initialization_setting[i].cmd == REGFLAG_END_OF_TABLE) 246 | + break; 247 | + else if (lcm_initialization_setting[i].cmd == REGFLAG_DELAY) 248 | + sunxi_lcd_delay_ms(lcm_initialization_setting[i].count); 249 | + else { 250 | + dsi_dcs_wr(0, lcm_initialization_setting[i].cmd, 251 | + lcm_initialization_setting[i].para_list, 252 | + lcm_initialization_setting[i].count); 253 | + } 254 | + } 255 | +} 256 | + 257 | +static void lcd_panel_exit(u32 sel) 258 | +{ 259 | + sunxi_lcd_dsi_dcs_write_0para(sel, 0x28); 260 | + sunxi_lcd_delay_ms(80); 261 | + sunxi_lcd_dsi_dcs_write_0para(sel, 0x10); 262 | + sunxi_lcd_delay_ms(50); 263 | +} 264 | + 265 | +/*sel: 0:lcd0; 1:lcd1*/ 266 | +static s32 lcd_user_defined_func(u32 sel, u32 para1, u32 para2, u32 para3) 267 | +{ 268 | + return 0; 269 | +} 270 | + 271 | +struct __lcd_panel d310t9362v1_panel = { 272 | + /* panel driver name, must mach the name of 273 | + * lcd_drv_name in sys_config.fex 274 | + */ 275 | + .name = "d310t9362v1", 276 | + .func = { 277 | + .cfg_panel_info = lcd_cfg_panel_info, 278 | + .cfg_open_flow = lcd_open_flow, 279 | + .cfg_close_flow = lcd_close_flow, 280 | + .lcd_user_defined_func = lcd_user_defined_func, 281 | + }, 282 | +}; 283 | diff --git a/drivers/video/fbdev/sunxi/disp2/disp/lcd/d310t9362v1.h b/drivers/video/fbdev/sunxi/disp2/disp/lcd/d310t9362v1.h 284 | new file mode 100644 285 | index 00000000..b3752759 286 | --- /dev/null 287 | +++ b/drivers/video/fbdev/sunxi/disp2/disp/lcd/d310t9362v1.h 288 | @@ -0,0 +1,20 @@ 289 | +/* drivers/video/sunxi/disp2/disp/lcd/d310t9362v1.h 290 | + * 291 | + * Copyright (c) 2022 YuzukiTsuru 292 | + * 293 | + * D310T9362V1 panel driver 294 | + * 295 | + * This program is free software; you can redistribute it and/or modify 296 | + * it under the terms of the GNU General Public License version 2 as 297 | + * published by the Free Software Foundation. 298 | +*/ 299 | +#ifndef _D310T9362V1_H 300 | +#define _D310T9362V1_H 301 | + 302 | +#include "panels.h" 303 | + 304 | +extern struct __lcd_panel d310t9362v1_panel; 305 | + 306 | +extern s32 bsp_disp_get_panel_info(u32 screen_id, struct disp_panel_para *info); 307 | + 308 | +#endif /*End of file*/ 309 | \ No newline at end of file 310 | diff --git a/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.c b/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.c 311 | index aad80707..13aa9f44 100644 312 | --- a/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.c 313 | +++ b/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.c 314 | @@ -135,6 +135,9 @@ struct __lcd_panel *panel_array[] = { 315 | #ifdef CONFIG_LCD_SUPPORT_ICN6202 316 | &icn6202_panel, 317 | #endif 318 | +#ifdef CONFIG_LCD_SUPPORT_D310T9362V1_MIPI 319 | + &d310t9362v1_panel, 320 | +#endif 321 | 322 | 323 | #ifdef CONFIG_LCD_SUPPORT_NT35510_MIPI 324 | diff --git a/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.h b/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.h 325 | index 656ce736..67290493 100644 326 | --- a/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.h 327 | +++ b/drivers/video/fbdev/sunxi/disp2/disp/lcd/panels.h 328 | @@ -179,6 +179,9 @@ extern struct __lcd_panel icn6202_panel; 329 | #ifdef CONFIG_LCD_SUPPORT_NT35510_MIPI 330 | extern struct __lcd_panel nt35510_panel; 331 | #endif 332 | +#ifdef CONFIG_LCD_SUPPORT_D310T9362V1_MIPI 333 | +extern struct __lcd_panel d310t9362v1_panel; 334 | +#endif 335 | 336 | extern struct __lcd_panel super_lcd_panel; 337 | 338 | -- 339 | 2.17.1 340 | 341 | -------------------------------------------------------------------------------- /patch/README.md: -------------------------------------------------------------------------------- 1 | # Patch files 2 | 3 | - `0001-add-d310t9362v1-mipi-display-panel-driver.patch` 4 | - Add d310t9362v1 MIPI Panel Driver for Tina Linux 5 | - Put in `kernel/linux-4.9` and `git am 0001-add-d310t9362v1-mipi-display-panel-driver.patch` to apply patch. --------------------------------------------------------------------------------