diff --git a/README.md b/README.md index a57aee4dfab133c5d7f9df866526755059651b90..107e9f7abb962e04a5807167da0e389bcb76a21c 100644 --- a/README.md +++ b/README.md @@ -158,32 +158,42 @@ THE DEVICE: tengrui_d(0) | --gn-args linux_kernel_version|gn扩展参数,用于配置Linux版本,OpenHarmony 5.0.0 Release以后的版本同时支持Linux kernel 6.6和Linux kernel 5.10,5.0.0 Release默认的Linux内核版本是5.10,5.1.0 Release默认的Linux内核版本是6.6。例如,--gn-args linux_kernel_version="linux-6.6"指定编译Linux kernel 6.6| | --ccache |通过ccache加快编译速度| | --gn-args enable_notice_collection=false |取消收集开源notice的过程,建议加上| +| --gn-args gpu_model=x100/amd/jm/sw |如果不加这个参数默认编译所有的gpu共享库,编译的镜像可以支持多种gpu共同运行,加上参数的镜像只能跑指定的gpu| -更多的编译参数说明,可以通过./build.sh --help获取。 -以下是以tengrui_d为例的编译参数。 +更多的编译参数说明,可以通过./build.sh --help获取。以下几种常见硬件组合的编译参数示例: ``` cd $PROJ_ROOT - -#### 如果linux内核版本是6.6 +``` +- **tengrui_d/linux 6.6/多GPU Model兼容** +``` ./build.sh --product-name tengrui_d --ccache --target-cpu arm64 --gn-args linux_kernel_version="linux-6.6" --gn-args enable_notice_collection=false - -#### 如果linux内核版本是5.10 -./build.sh --product-name tengrui_d --ccache --target-cpu arm64 --gn-args linux_kernel_version="linux-5.10" --gn-args enable_notice_collection=false +``` +- **tengrui_d/linux 5.10/仅X100 GPU model** +``` +./build.sh --product-name tengrui_d --ccache --target-cpu arm64 --gn-args linux_kernel_version="linux-5.10" --gn-args --gpu_model=x100 --gn-args enable_notice_collection=false +``` +- **tenglong_e/linux 6.6/不插卡,仅SW GPU model** +``` +./build.sh --product-name tenglong_e --ccache --target-cpu arm64 --gn-args linux_kernel_version="linux-6.6" --gn-args --gpu_model=sw --gn-args enable_notice_collection=false +``` +- **phytiumpi-firefly/linux 6.6/phytiumpi不支持插显卡** +``` +./build.sh --product-name phytiumpi-firefly --ccache --target-cpu arm64 --gn-args linux_kernel_version="linux-6.6" --gn-args enable_notice_collection=false ``` 编译成功提示: ``` post_process -=====build tengrui_d successful. +=====build xxx successful. ``` 编译生成的文件 ``` -$PROJ_ROOT/out/tengrui_d/packages/phone/images/boot.img -$PROJ_ROOT/out/tengrui_d/packages/phone/images/system.img -$PROJ_ROOT/out/tengrui_d/packages/phone/images/vendor.img -$PROJ_ROOT/out/tengrui_d/packages/phone/images/ramdisk.img +$PROJ_ROOT/out/xxx/packages/phone/images/boot.img +$PROJ_ROOT/out/xxx/packages/phone/images/system.img +$PROJ_ROOT/out/xxx/packages/phone/images/vendor.img +$PROJ_ROOT/out/xxx/packages/phone/images/ramdisk.img ``` >注: >1. boot.img分区镜像格式为fat32,既支持boot启动也支持UEFI启动。 @@ -253,47 +263,80 @@ $sudo dd if=openharmony_img_xxx.img of=/dev/sdb bs=1M 也可以在windows环境下,使用win32Diskimager、rufus、balenaEtcher等烧录工具进行烧录。 # 设备启动 -将烧写好的SATA硬盘和调试串口线,连接到开发板上。上位机的串口调试工具波特率设置为115200,上电开机。 +将烧写好的SATA硬盘和调试串口线,连接到开发板上。上位机的串口调试工具波特率设置为115200,上电开机。飞腾平台的固件分为两种,UEFI启动,和Uboot启动。 -## 5.1 Uboot启动 +## 5.2 UEFI启动 +UEFI的启动参数配置在boot分区/EFI/BOOT/grub.cfg文件中,源码路径: +``` +device_board_phytium//loader/EFI/BOOT/grub.cfg +``` +默认配置的参数能支持大部分场景启动,上电后,会直接进入系统。 +grub.cfg配置启动部分的参数与uboot的类似,可以根据具体情况进行调整。 +>另:还可以在loader选择界面,选择Updater选项进入Updater模式。 -在开机阶段,按回车,设置uboot环境变量。 -tengrui_d插显卡启动参数设置参考: +## 5.1 Uboot启动 +在开机阶段,按回车,设置uboot环境变量。主要参数说明如下所示: +- bootargs中“hardware”对应平台种类,会影响fstab的选取,tenglong_e时,hardward相应改为tenglong_e,phytiumpi-firefly时改成phytiumpi-firefly。 +- bootcmd中加载镜像的指令“fatload scsi 0:1 0x90200000 Image”中:“fatload”表示是从fat32格式的分区中加载数据,“scsi 0:1”表示是标号为0的scsi(sata)设备的第1个分区,“0x90200000”表示需要把数据加载到的内存地址,“Image”表示需要加载的文件。要根据不同介质和分区格式类型,灵活选择正确的指令,可以参考wiki文档[Openharmony多种存储介质配置说明](https://gitee.com/phytium_embedded/phytium-openharmony-device/wikis/%E9%95%9C%E5%83%8F%E7%94%9F%E6%88%90%E4%B8%8E%E7%83%A7%E5%BD%95/Openharmony%E5%A4%9A%E7%A7%8D%E5%AD%98%E5%82%A8%E4%BB%8B%E8%B4%A8%E9%85%8D%E7%BD%AE%E8%AF%B4%E6%98%8E)。 +- gpu_model=sw模式下,cpu模拟mesa,需要给DC预留更多内存才能正常启动,需要在启动参数中增加相关配置。 +- tenglong_e使用的设备树是pe2204-demo-ddr4-nosmmu.dtb,phytiumpi-firefly使用的设备树是phytiumpi-firefly.dtb。 +以下是一些常见模式启动参数参考: +- **tengrui_d插显卡,从SATA磁盘启动**: ``` setenv bootargs console=ttyAMA1,115200 root=/dev/ram0 elevator=deadline rootwait rw loglevel=1 hardware=tengrui_d rootfstype=ext4 initrd=0x93000000,90M - setenv bootcmd "fatload scsi 0:1 0x90100000 pd2008-devboard-dsk.dtb;fatload scsi 0:1 0x90200000 Image;fatload scsi 0:1 0x93000000 ramdisk.img;booti 0x90200000 - 0x90100000" - saveenv - boot ``` -- bootargs中“hardware”对应平台种类,会影响fstab的选取,tenglong_e时,hardward相应改为tenglong_e,phytiumpi-firefly时改成phytiumpi-firefly。 -- bootcmd中加载镜像的指令“fatload scsi 0:1 0x90200000 Image”中:“fatload”表示是从fat32格式的分区中加载数据,“scsi 0:1”表示是标号为0的scsi(sata)设备的第1个分区,“0x90200000”表示需要把数据加载到的内存地址,“Image”表示需要加载的文件。要根据不同介质和分区格式类型,灵活选择正确的指令,可以参考wiki文档[Openharmony多种存储介质配置说明](https://gitee.com/phytium_embedded/phytium-openharmony-device/wikis/%E9%95%9C%E5%83%8F%E7%94%9F%E6%88%90%E4%B8%8E%E7%83%A7%E5%BD%95/Openharmony%E5%A4%9A%E7%A7%8D%E5%AD%98%E5%82%A8%E4%BB%8B%E8%B4%A8%E9%85%8D%E7%BD%AE%E8%AF%B4%E6%98%8E)。 -- 如果tenglong_e搭配gpu使用的设备树是pe2204-demo-ddr4-nopb.dtb,使用sw方案使用设备树pe2204-demo-ddr4.dtb。 - -## 5.2 UEFI启动 - -UEFI的启动参数配置在boot分区/EFI/BOOT/grub.cfg文件中,源码路径: +- **tengrui_d+x100,从SATA磁盘启动,强制sw模式** +需要CMA配置1024M,并通过配置phytium-dc-drm.x100_dc_sysmem让x100从主存申请内存。 ``` -device_board_phytium//loader/EFI/BOOT/grub.cfg +setenv bootargs console=ttyAMA1,115200 root=/dev/ram0 elevator=deadline rootwait rw loglevel=1 hardware=tengrui_d rootfstype=ext4 initrd=0x93000000,90M cma=1024M phytium-dc-drm.x100_dc_sysmem +setenv bootcmd "fatload scsi 0:1 0x90100000 pd2008-devboard-dsk.dtb;fatload scsi 0:1 0x90200000 Image;fatload scsi 0:1 0x93000000 ramdisk.img;booti 0x90200000 - 0x90100000" +saveenv +boot ``` -默认配置的参数能支持大部分场景启动,上电后,会直接进入系统。 -grub.cfg配置启动部分的参数与uboot的类似,可以根据具体情况进行调整。 ->另:还可以在loader选择界面,选择Updater选项进入Updater模式。 - -## 5.3 sw模式启动参数 -gpu_model=sw模式下,cpu模拟mesa,需要给DC预留更多内存才能正常启动,需要在启动参数中增加相关配置。 -- E2000 sw模式下,不需要搭配其他显卡,CMA需要配置512M。 +- **tenglong_e,SATA磁盘,sw模式** +tenglong_e走sw模式,编译时需要指定gpu_model=sw,CMA=512M,设备树选用默认的pe2204-devboard-dsk.dtb ``` setenv bootargs console=ttyAMA1,115200 root=/dev/ram0 elevator=deadline rootwait rw loglevel=1 hardware=tenglong_e rootfstype=ext4 initrd=0x93000000,90M cma=512M +setenv bootcmd "fatload scsi 0:1 0x90100000 pe2204-devboard-dsk.dtb;fatload scsi 0:1 0x90200000 Image;fatload scsi 0:1 0x93000000 ramdisk.img;booti 0x90200000 - 0x90100000" +saveenv +boot ``` -- D2000 sw模式下,还是需要搭配显卡,CMA配置1024M。此外建议将显卡配置成从主存申请内存,以x100为例,通过配置phytium-dc-drm.x100_dc_sysmem可以让x100从主存申请内存。 +- **tenglong_e + X100,SATA磁盘** +tenglong_e + x100,编译时可以不指定gpu_model,或者指定为x100,设备树选用关闭SMMU的pe2204-devboard-dsk-nosmmu.dtb,CMA配置要去除 ``` -setenv bootargs console=ttyAMA1,115200 root=/dev/ram0 elevator=deadline rootwait rw loglevel=1 hardware=tengrui_d rootfstype=ext4 initrd=0x93000000,90M cma=1024M phytium-dc-drm.x100_dc_sysmem +setenv bootargs console=ttyAMA1,115200 root=/dev/ram0 elevator=deadline rootwait rw loglevel=1 hardware=tenglong_e rootfstype=ext4 initrd=0x93000000,90M +setenv bootcmd "fatload scsi 0:1 0x90100000 pe2204-devboard-dsk-nosmmu.dtb;fatload scsi 0:1 0x90200000 Image;fatload scsi 0:1 0x93000000 ramdisk.img;booti 0x90200000 - 0x90100000" +saveenv +boot +``` +- **tenglong_e + AMD,SATA磁盘** +tenglong_e + AMD,编译时可以不指定gpu_model,或者指定为AMD,设备树选用关闭pb的pe2204-devboard-dsk-nosmmu.dtb,CMA配置要去除 +``` +setenv bootargs console=ttyAMA1,115200 root=/dev/ram0 elevator=deadline rootwait rw loglevel=1 hardware=tenglong_e rootfstype=ext4 initrd=0x93000000,90M +setenv bootcmd "fatload scsi 0:1 0x90100000 pe2204-devboard-dsk-nosmmu.dtb;fatload scsi 0:1 0x90200000 Image;fatload scsi 0:1 0x93000000 ramdisk.img;booti 0x90200000 - 0x90100000" +saveenv +boot +``` +- **phytiumpi-firefly,SD卡启动,默认sw模式** +``` +setenv bootargs console=ttyAMA1,115200 root=/dev/ram0 elevator=deadline rootwait rw loglevel=1 hardware=phytiumpi-firefly rootfstype=ext4 initrd=0x93000000,90M cma=256M +setenv bootcmd "fatload mmc 0:1 0x90100000 phytiumpi_firefly.dtb;fatload mmc 0:1 0x90200000 Image;fatload mmc 0:1 0x93000000 ramdisk.img;booti 0x90200000 - 0x90100000" +saveenv +boot ``` +- **启动Updater,SATA磁盘** +将正常启动bootcmd中的ramdisk.img替换成Updater.img即可,硬件设备树选用跟平台相对应的。 +``` +fatload scsi 0:1 0x90100000 pd2008-devboard-dsk.dtb +fatload scsi 0:1 0x90200000 Image +fatload scsi 0:1 0x93000000 ramdisk.img +booti 0x90200000 - 0x90100000 +``` # 维护者邮箱 飞腾信息技术有限公司 diff --git a/device_board_phytium/common/audio_alsa/common.c b/device_board_phytium/common/audio_alsa/common.c index 3e480cfb029c119e593751851f6af2ffa6af8c48..67c1ae9d5239813931ee26e91b24c67ba9f4e428 100644 --- a/device_board_phytium/common/audio_alsa/common.c +++ b/device_board_phytium/common/audio_alsa/common.c @@ -15,7 +15,7 @@ #include "common.h" #include "codec_config/config_list.h" -#define MAX_SND_CARDS 2 +#define MAX_SND_CARDS 3 const struct config_route_table *route_table = NULL; diff --git a/device_board_phytium/common/build_kernel/BUILD.gn b/device_board_phytium/common/build_kernel/BUILD.gn index 863e8ba9b756b0d7657ed3147b1109440d751ef8..b0f626114ae4cfd344179ad4bf2520201cea7b96 100755 --- a/device_board_phytium/common/build_kernel/BUILD.gn +++ b/device_board_phytium/common/build_kernel/BUILD.gn @@ -17,6 +17,7 @@ import("//build/config/clang/clang.gni") import("//build/ohos.gni") import("//build/ohos/kernel/kernel.gni") +import("//device/board/phytium/common/build_kernel/gpu_model.gni") # it needs adaptation for more device target target_cpu = "arm64" @@ -63,4 +64,8 @@ action("build_kernel") { linux_kernel_version, rebase_path("$root_out_dir/../.."), ] + + if ( gpu_model != "" ) { + args += [ gpu_model ] + } } diff --git a/device_board_phytium/common/build_kernel/build_dts.sh b/device_board_phytium/common/build_kernel/build_dts.sh index cbbbcd9e6b9ca2d375558ff58754c2ee88a73320..fdd59db0aef76d437301ba921feb974a73a42a7e 100755 --- a/device_board_phytium/common/build_kernel/build_dts.sh +++ b/device_board_phytium/common/build_kernel/build_dts.sh @@ -18,7 +18,14 @@ set -e DTS_SRC_DIR=${1} DTS_TARGET_DIR=${2} -if [ ! -e $DTS_SRC_DIR ]; then +function make_empty_Makefile () +{ + mkdir -p ${DTS_TARGET_DIR} + echo -e "all:\n\t@echo No dts file" > "${DTS_TARGET_DIR}/Makefile" +} + +if [ ! -d ${DTS_SRC_DIR} ]; then + make_empty_Makefile echo "there isn't path ${DTS_SRC_DIR}" exit 0 fi @@ -35,5 +42,6 @@ if [ -n "$dts_files" ]; then echo "dtb-\$(CONFIG_ARCH_PHYTIUM) += ${dts_name}.dtb" >> "${DTS_TARGET_DIR}/Makefile" done else - echo "there aren't dts files in ${DTS_SRC_DIR}" + make_empty_Makefile + echo "there aren't dts files in ${DTS_SRC_DIR}" fi diff --git a/device_board_phytium/common/build_kernel/build_gpu.sh b/device_board_phytium/common/build_kernel/build_gpu.sh index f1e619c603a4f1e61ca20fd63c2eb48519c50400..2512723875130c4fbb544f909b8bcaf60c8b3f97 100755 --- a/device_board_phytium/common/build_kernel/build_gpu.sh +++ b/device_board_phytium/common/build_kernel/build_gpu.sh @@ -17,13 +17,14 @@ set -e GPU_KERNEL_SOURCE_PATH=${1} # $(OHOS_BUILD_HOME)/vendor/phytium/gpu_model -GPU_HCK_PATH=${2}/drivers/gpu/drm/phytium # $(OHOS_BUILD_HOME)/device/soc/phytium/common/kernel/linux-xxx/drivers/gpu/drm/phytium -VPU_HCK_PATH=${2}/drivers/media/platform # $(OHOS_BUILD_HOME)/device/soc/phytium/common/kernel/linux-xxx/drivers/media/platform +GPU_HCK_PATH="${2}/drivers/gpu/drm/phytium" # $(OHOS_BUILD_HOME)/device/soc/phytium/common/kernel/linux-xxx/drivers/gpu/drm/phytium +VPU_HCK_PATH="${2}/drivers/media/platform" # $(OHOS_BUILD_HOME)/device/soc/phytium/common/kernel/linux-xxx/drivers/media/platform KERNEL_VERSION=${3} # linux-5.10 / linux-6.6 -DEVICE_NAME=${4} # tengrui_m / tengrui_d / tenglong_e / phytiumpi-firefly +DEVICE_NAME=${4} # pd2508_laptop / tengrui_d / tenglong_e / phytiumpi-firefly +GPU_MODEL=${5} -if [[ ${DEVICE_NAME} == "phytiumpi-firefly" ]]; then - echo "[build_gpu]phytiumpi-firefly do not need gpu, pass..." +if [[ ${DEVICE_NAME} == "pd2508_laptop" ]]; then + echo "pd2508_laptop pass..." exit 0 fi @@ -38,8 +39,8 @@ function warning_exit(){ } function check_src_path(){ - gpu_hck_path=${1} - vpu_hck_path=${2} + local gpu_hck_path=${1} + local vpu_hck_path=${2} if [ ! -d ${gpu_hck_path} ]; then echo "[build_gpu]there isn't path ${gpu_hck_path}" @@ -52,26 +53,44 @@ function check_src_path(){ fi } +# security check check_src_path ${GPU_HCK_PATH} ${VPU_HCK_PATH} function build_tool(){ - src_path=${1} - hck_path=${2} - - cp -r ${src_path}/* ${hck_path}/ - find "${src_path}" -maxdepth 1 -type d ! -path "${src_path}" -exec basename {} \; | while read dir_name; do - echo >> ${hck_path}/Makefile - echo "obj-y += ${dir_name}/" >> ${hck_path}/Makefile - echo >> ${hck_path}/Kconfig - echo "source \"drivers/${hck_path#*/drivers/}/${dir_name}/Kconfig\"" >> ${hck_path}/Kconfig - done + local src_path=${1} + local hck_path=${2} + + cp -r ${src_path} ${hck_path}/ + echo >> ${hck_path}/Makefile + echo "obj-y += $(basename ${src_path})/" >> ${hck_path}/Makefile + echo >> ${hck_path}/Kconfig + echo "source \"drivers/${hck_path#*/drivers/}/$(basename ${src_path})/Kconfig\"" >> ${hck_path}/Kconfig } -function copy_src(){ - gpu_kernel_source_path=${1} - kernel_version=${2} - gpu_hck_path=${3} - vpu_hck_path=${4} +# octopus / mwv207 / phytium_vpu +gpu_dir_list=() +vpu_dir_list=() + +function add_gpu_dir(){ + local gpu_path=${1} + for item in "${gpu_path}"/*; do + gpu_dir_list+=("${item}") + done +} + +function add_vpu_dir(){ + local vpu_path=${1} + for item in "${vpu_path}"/*; do + vpu_dir_list+=("${item}") + done +} + + +function check_dir(){ + local gpu_kernel_source_path=${1} + local kernel_version=${2} + local gpu_hck_path=${3} + local vpu_hck_path=${4} if [ -d "${gpu_kernel_source_path}/${kernel_version}" ]; then @@ -79,47 +98,122 @@ function copy_src(){ vpu_path=${gpu_kernel_source_path}/${kernel_version}/vpu if [ -d "${gpu_path}" ] && [ "$(ls -A "${gpu_path}")" ]; then - build_tool ${gpu_path} ${gpu_hck_path} + add_gpu_dir ${gpu_path} fi if [ -d "${vpu_path}" ] && [ "$(ls -A "${vpu_path}")" ]; then - build_tool ${vpu_path} ${vpu_hck_path} + add_vpu_dir ${vpu_path} fi if [ ! -d "${gpu_path}" ] && [ ! -d "${vpu_path}" ] ; then - build_tool ${gpu_kernel_source_path}/${kernel_version} ${gpu_hck_path} + add_gpu_dir ${gpu_kernel_source_path}/${kernel_version} fi - else - - gpu_path=${gpu_kernel_source_path}/gpu - vpu_path=${gpu_kernel_source_path}/vpu - + else + + local gpu_path=${gpu_kernel_source_path}/gpu + local vpu_path=${gpu_kernel_source_path}/vpu + if [ -d "${gpu_path}" ] && [ "$(ls -A "${gpu_path}")" ]; then if [ -d "${gpu_path}/${kernel_version}" ] && [ "$(ls -A "${gpu_path}/${kernel_version}")" ]; then - build_tool ${gpu_path}/${kernel_version} ${gpu_hck_path} + add_gpu_dir ${gpu_path}/${kernel_version} else - build_tool ${gpu_path} ${gpu_hck_path} + add_gpu_dir ${gpu_path} fi fi if [ -d "${vpu_path}" ] && [ "$(ls -A "${vpu_path}")" ]; then if [ -d "${vpu_path}/${kernel_version}" ] && [ "$(ls -A "${vpu_path}/${kernel_version}")" ]; then - build_tool ${vpu_path}/${kernel_version} ${vpu_hck_path} + add_vpu_dir ${vpu_path}/${kernel_version} else - build_tool ${vpu_path} ${vpu_hck_path} + add_vpu_dir ${vpu_path} fi fi fi } -find "${GPU_KERNEL_SOURCE_PATH}" -maxdepth 1 -type d ! -path "${GPU_KERNEL_SOURCE_PATH}" -exec basename {} \; | while read gpu_name; do +function clean_hck() { + local gpu_hck_path=${1} + local vpu_hck_path=${2} + + for gpu_dir_name in ${gpu_dir_list[@]}; do + local gpu_name=$(basename ${gpu_dir_name}) + if [ -e ${gpu_hck_path}/${gpu_name} ]; then + rm ${gpu_hck_path}/${gpu_name} -rf + sed -i "/${gpu_name}/d" "${gpu_hck_path}/Makefile" + sed -i "/${gpu_name}/d" "${gpu_hck_path}/Kconfig" + fi + done + + for vpu_dir_name in ${vpu_dir_list[@]}; do + local vpu_name=$(basename ${vpu_dir_name}) + if [ -e ${vpu_hck_path}/${vpu_name} ]; then + rm ${vpu_hck_path}/${vpu_name} -rf + sed -i "/${vpu_name}/d" "${vpu_hck_path}/Makefile" + sed -i "/${vpu_name}/d" "${vpu_hck_path}/Kconfig" + fi + done + + gpu_dir_list=() + vpu_dir_list=() +} + +function copy_src(){ + local gpu_hck_path=${1} + local vpu_hck_path=${2} + + for gpu_dir in ${gpu_dir_list[@]}; do + build_tool ${gpu_dir} ${gpu_hck_path} + done + for vpu_dir in ${vpu_dir_list[@]}; do + build_tool ${vpu_dir} ${vpu_hck_path} + done +} + +if [[ ${DEVICE_NAME} == "phytiumpi-firefly" ]]; then + vpu_path=${GPU_KERNEL_SOURCE_PATH}/x100/kernel_source/vpu + add_vpu_dir $vpu_path + copy_src ${GPU_HCK_PATH} ${VPU_HCK_PATH} + echo "phytiumpi-firefly just add vpu..." + exit 0 +fi + +# gpu_name : kernel_source +declare -A kernel_source_list + +while read gpu_name; do kernel_source=${GPU_KERNEL_SOURCE_PATH}/${gpu_name}/kernel_source if [ -d ${kernel_source} ]; then - copy_src ${kernel_source} ${KERNEL_VERSION} ${GPU_HCK_PATH} ${VPU_HCK_PATH} - echo "[build_gpu] ${kernel_source} has done" + kernel_source_list["$gpu_name"]="$kernel_source" + echo "[build_gpu] ${kernel_source} has add to kernel_source_list" else echo "[build_gpu] ${gpu_name} hasn't kernel_source , pass..." fi +done < <(find "${GPU_KERNEL_SOURCE_PATH}" -maxdepth 1 -type d ! -path "${GPU_KERNEL_SOURCE_PATH}" -exec basename {} \;) + +for key in ${!kernel_source_list[@]}; do + check_dir ${kernel_source_list["$key"]} ${KERNEL_VERSION} ${GPU_HCK_PATH} ${VPU_HCK_PATH} done +clean_hck ${GPU_HCK_PATH} ${VPU_HCK_PATH} +if [[ ${DEVICE_NAME} == "tenglong_e" && ${GPU_MODEL} == "sw" ]]; then + vpu_path=${GPU_KERNEL_SOURCE_PATH}/x100/kernel_source/vpu + add_vpu_dir $vpu_path + copy_src ${GPU_HCK_PATH} ${VPU_HCK_PATH} + echo "tenglong_e+sw add vpu.." +fi +if [ -n "${GPU_MODEL}" ]; then + if [[ -v kernel_source_list["${GPU_MODEL}"] ]]; then + kernel_source=${kernel_source_list["${GPU_MODEL}"]} + check_dir ${kernel_source} ${KERNEL_VERSION} ${GPU_HCK_PATH} ${VPU_HCK_PATH} + copy_src ${GPU_HCK_PATH} ${VPU_HCK_PATH} + else + echo "[build_gpu] ${GPU_MODEL} hasn't kernel_source , pass..." + fi +else + for key in ${!kernel_source_list[@]}; do + kernel_source=${kernel_source_list["$key"]} + check_dir ${kernel_source} ${KERNEL_VERSION} ${GPU_HCK_PATH} ${VPU_HCK_PATH} + done + copy_src ${GPU_HCK_PATH} ${VPU_HCK_PATH} +fi diff --git a/device_board_phytium/common/build_kernel/build_kernel.sh b/device_board_phytium/common/build_kernel/build_kernel.sh index 37debb4bf01b739d2f716c5b1759877750825dbf..930dbda0d6c99b9446865ad4a755c152f4a5915d 100755 --- a/device_board_phytium/common/build_kernel/build_kernel.sh +++ b/device_board_phytium/common/build_kernel/build_kernel.sh @@ -29,10 +29,15 @@ export PRODUCT_PATH=${6} export DEVICE_NAME=${7} export KERNEL_VERSION=${8} export OHOS_ROOT_PATH=${9} +export GPU_MODEL=${10} -export KERNEL_SOURCE_PATH=${OHOS_ROOT_PATH}/device/board/phytium/common/kernel_source -export KERNEL_PATCH=${KERNEL_SOURCE_PATH}/${KERNEL_VERSION}/phytium.patch -export KERNEL_CONFIG=${KERNEL_SOURCE_PATH}/${KERNEL_VERSION}/phytium_standard_defconfig +if [[ ${DEVICE_NAME} == "pd2508_laptop" ]];then + export KERNEL_PATCH=${OHOS_ROOT_PATH}/device/board/phytium/pd2508_laptop/kernel_source/phytium.patch + export KERNEL_CONFIG=${OHOS_ROOT_PATH}/device/board/phytium/pd2508_laptop/kernel_source/phytium_standard_defconfig +else + export KERNEL_PATCH=${OHOS_ROOT_PATH}/device/board/phytium/common/kernel_source/${KERNEL_VERSION}/phytium.patch + export KERNEL_CONFIG=${OHOS_ROOT_PATH}/device/board/phytium/common/kernel_source/${KERNEL_VERSION}/phytium_standard_defconfig +fi export BOOT_IMAGE_PATH=${OHOS_OUT_PATH}/boot export KERNEL_OUTPUT_PATH=${OUT_KERNEL_OBJ}/kernel/src_tmp/${KERNEL_VERSION}/arch/arm64/boot export DEVICE_BOARD_PATH=${OHOS_ROOT_PATH}/device/board/phytium @@ -40,7 +45,7 @@ export DEVICE_BOARD_PATH=${OHOS_ROOT_PATH}/device/board/phytium echo build_kernel if [ -f "${KERNEL_PATCH}" -a -f "${KERNEL_CONFIG}" ]; then pushd ${KERNEL_WORK_DIR} - ./kernel_module_build.sh ${OUT_KERNEL_OBJ} ${BUILD_TYPE} ${TARGET_CPU} ${PRODUCT_PATH} ${DEVICE_NAME} ${KERNEL_VERSION} + ./kernel_module_build.sh ${OUT_KERNEL_OBJ} ${BUILD_TYPE} ${TARGET_CPU} ${PRODUCT_PATH} ${DEVICE_NAME} ${KERNEL_VERSION} ${GPU_MODEL} mkdir -p ${OHOS_OUT_PATH} rm -rf ${OHOS_OUT_PATH}/../../../kernel.timestamp @@ -65,7 +70,7 @@ if [ -f "${KERNEL_PATCH}" -a -f "${KERNEL_CONFIG}" ]; then if [ "${DEVICE_NAME}" != "phytiumpi-firefly" ]; then cp ${DEVICE_BOARD_PATH}/common/tools/generate_image/* ${OHOS_OUT_PATH} -rf - rm -rf ${DEVICE_BOARD_PATH}/common/tools/generate_image/uboot/ + rm -rf ${OHOS_OUT_PATH}/uboot/ else cp ${DEVICE_BOARD_PATH}/common/tools/generate_image/* ${OHOS_OUT_PATH} -rf fi @@ -73,6 +78,6 @@ if [ -f "${KERNEL_PATCH}" -a -f "${KERNEL_CONFIG}" ]; then popd else - echo "No kernel patch found, skip building Kernel" + echo "No kernel patch found, skip building Kernel" fi diff --git a/device_board_phytium/common/build_kernel/kernel.gni b/device_board_phytium/common/build_kernel/gpu_model.gni similarity index 94% rename from device_board_phytium/common/build_kernel/kernel.gni rename to device_board_phytium/common/build_kernel/gpu_model.gni index 726acc6226bb061db0401466f5001607ccfabbd3..8455eb2461124e2c47f2eaf3ff7929e79167dcd2 100755 --- a/device_board_phytium/common/build_kernel/kernel.gni +++ b/device_board_phytium/common/build_kernel/gpu_model.gni @@ -14,5 +14,5 @@ # See the License for the specific language governing permissions and # limitations under the License. declare_args() { - linux_kernel_version = "linux-5.10" + gpu_model = "" } diff --git a/device_board_phytium/common/build_kernel/kernel.mk b/device_board_phytium/common/build_kernel/kernel.mk index f9b6f514e3fbe0ff912eec7530c45db4888bad06..624341d4e752b7ee2eea37feddcbe0ba49b73fb4 100755 --- a/device_board_phytium/common/build_kernel/kernel.mk +++ b/device_board_phytium/common/build_kernel/kernel.mk @@ -14,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -JOB=`sed -n "N;/processor/p" /proc/cpuinfo|wc -l` +JOB := $(shell cores=$$(nproc); calc_cores=$$(( (cores * 4 + 4) / 5 )); if [ $$calc_cores -lt 8 ]; then echo 8; else echo $$calc_cores; fi) PRODUCT_NAME=$(TARGET_PRODUCT) OHOS_BUILD_HOME := $(OUT_DIR)/../../.. KERNEL_SRC_TMP_PATH := $(OUT_DIR)/kernel/${KERNEL_VERSION} @@ -25,7 +25,12 @@ endif KERNEL_SRC_PATH := $(OHOS_BUILD_HOME)/kernel/linux/${KERNEL_VERSION} KERNEL_PATCH_PATH := $(OHOS_BUILD_HOME)/kernel/linux/patches/${KERNEL_VERSION} -PHYTIUM_PATCH_PATH := $(OHOS_BUILD_HOME)/device/board/phytium/common/kernel_source/${KERNEL_VERSION} +ifeq ($(DEVICE_NAME), pd2508_laptop) + PHYTIUM_KERNEL_SRC_PATH := $(OHOS_BUILD_HOME)/device/board/phytium/pd2508_laptop/kernel_source +else + PHYTIUM_KERNEL_SRC_PATH := $(OHOS_BUILD_HOME)/device/board/phytium/common/kernel_source/${KERNEL_VERSION} +endif +HCK_PATH := $(PHYTIUM_KERNEL_SRC_PATH)/hck PREBUILTS_GCC_DIR := $(OHOS_BUILD_HOME)/prebuilts/gcc CLANG_HOST_TOOLCHAIN := $(OHOS_BUILD_HOME)/prebuilts/clang/ohos/linux-x86_64/llvm/bin @@ -50,9 +55,6 @@ KERNEL_MAKE := \ PATH="$(CLANG_HOST_TOOLCHAIN):$$PATH" \ $(KERNEL_PREBUILT_MAKE) - -HCK_PATH := $(OHOS_BUILD_HOME)/device/soc/phytium/common/kernel/${KERNEL_VERSION} - KERNEL_IMAGE_FILE := $(KERNEL_SRC_TMP_PATH)/arch/$(KERNEL_ARCH)/boot/$(KERNEL_IMAGE) DEFCONFIG_FILE := phytium_standard_defconfig @@ -64,19 +66,23 @@ ifeq ($(KERNEL_VERSION), linux-6.6) $(hide) $(OHOS_BUILD_HOME)/device/board/phytium/common/build_kernel/copy_and_patch_kernel_source.sh $(OHOS_BUILD_HOME) $(KERNEL_SRC_TMP_PATH) $(DEVICE_NAME) ${KERNEL_VERSION} endif - $(hide) $(OHOS_BUILD_HOME)/device/board/phytium/common/build_kernel/build_gpu.sh $(OHOS_BUILD_HOME)/vendor/phytium/gpu_model $(HCK_PATH) ${KERNEL_VERSION} $(DEVICE_NAME) + $(hide) $(OHOS_BUILD_HOME)/device/board/phytium/common/build_kernel/build_gpu.sh $(OHOS_BUILD_HOME)/vendor/phytium/gpu_model $(HCK_PATH) ${KERNEL_VERSION} $(DEVICE_NAME) ${GPU_MODEL} + + $(hide) $(OHOS_BUILD_HOME)/device/board/phytium/common/build_kernel/patch_phytium.sh $(PHYTIUM_KERNEL_SRC_PATH) $(KERNEL_SRC_TMP_PATH) + + $(hide) $(OHOS_BUILD_HOME)/device/board/phytium/common/build_kernel/merge_hck.sh ${HCK_PATH} ${KERNEL_SRC_TMP_PATH} $(DEVICE_NAME) - $(hide) $(OHOS_BUILD_HOME)/device/board/phytium/common/build_kernel/patch_phytium.sh $(PHYTIUM_PATCH_PATH) $(KERNEL_SRC_TMP_PATH) - $(hide) $(OHOS_BUILD_HOME)/device/board/phytium/common/build_kernel/merge_hck.sh ${HCK_PATH} ${KERNEL_SRC_TMP_PATH} -ifeq ($(KERNEL_VERSION), linux-5.10) $(hide) $(OHOS_BUILD_HOME)/drivers/hdf_core/adapter/khdf/linux/patch_hdf.sh $(OHOS_BUILD_HOME) $(KERNEL_SRC_TMP_PATH) $(KERNEL_PATCH_PATH) $(DEVICE_NAME) + +ifeq ($(KERNEL_VERSION), linux-6.6) + $(hide) sed -i 's///' ${KERNEL_SRC_TMP_PATH}/bounds_checking_function/include/securec.h endif - $(hide) mkdir -p $(KERNEL_SRC_TMP_PATH)/arch/$(KERNEL_ARCH)/configs/;cp $(PHYTIUM_PATCH_PATH)/${DEFCONFIG_FILE} $(KERNEL_SRC_TMP_PATH)/arch/$(KERNEL_ARCH)/configs/ + + $(hide) mkdir -p $(KERNEL_SRC_TMP_PATH)/arch/$(KERNEL_ARCH)/configs/;cp $(PHYTIUM_KERNEL_SRC_PATH)/${DEFCONFIG_FILE} $(KERNEL_SRC_TMP_PATH)/arch/$(KERNEL_ARCH)/configs/ $(hide) $(OHOS_BUILD_HOME)/device/board/phytium/common/build_kernel/build_dts.sh $(OHOS_BUILD_HOME)/device/board/phytium/$(DEVICE_NAME)/dts \ $(KERNEL_SRC_TMP_PATH)/arch/$(KERNEL_ARCH)/boot/dts/phytium - $(hide) $(KERNEL_MAKE) -C $(KERNEL_SRC_TMP_PATH) ARCH=$(KERNEL_ARCH) LLVM=1 LLVM_IAS=1 $(KERNEL_CROSS_COMPILE) distclean - $(hide) $(KERNEL_MAKE) -C $(KERNEL_SRC_TMP_PATH) ARCH=$(KERNEL_ARCH) LLVM=1 LLVM_IAS=1 $(KERNEL_CROSS_COMPILE) $(DEFCONFIG_FILE) - $(hide) $(KERNEL_MAKE) -C $(KERNEL_SRC_TMP_PATH) ARCH=$(KERNEL_ARCH) LLVM=1 LLVM_IAS=1 $(KERNEL_CROSS_COMPILE) -j$(JOB) + $(hide) $(KERNEL_MAKE) -C $(KERNEL_SRC_TMP_PATH) ARCH=$(KERNEL_ARCH) LLVM=1 LLVM_IAS=1 AR=ar $(KERNEL_CROSS_COMPILE) $(DEFCONFIG_FILE) + $(hide) $(KERNEL_MAKE) -C $(KERNEL_SRC_TMP_PATH) ARCH=$(KERNEL_ARCH) LLVM=1 LLVM_IAS=1 AR=ar $(KERNEL_CROSS_COMPILE) -j$(JOB) .PHONY: build-kernel build-kernel: $(KERNEL_IMAGE_FILE) diff --git a/device_board_phytium/common/build_kernel/kernel_module_build.sh b/device_board_phytium/common/build_kernel/kernel_module_build.sh index ea7c8eec067264b3c0ab40887e5d30192d8227e0..6055e030dd01ab3a944b7528e1801619f28cb7c5 100755 --- a/device_board_phytium/common/build_kernel/kernel_module_build.sh +++ b/device_board_phytium/common/build_kernel/kernel_module_build.sh @@ -23,6 +23,7 @@ export KERNEL_ARCH=$3 export PRODUCT_PATH=vendor/phytium/$5 export DEVICE_NAME=$5 export KERNEL_VERSION=$6 +export GPU_MODEL=$7 LINUX_KERNEL_OUT=${OUT_DIR}/kernel/src_tmp/${KERNEL_VERSION} # it needs adaptation for more device target diff --git a/device_board_phytium/common/build_kernel/merge_hck.sh b/device_board_phytium/common/build_kernel/merge_hck.sh index ddad0307b77297624ede4cbbbba24f639aebde00..2e334d4ffa1615ca66afec1eaced356fec2f051f 100755 --- a/device_board_phytium/common/build_kernel/merge_hck.sh +++ b/device_board_phytium/common/build_kernel/merge_hck.sh @@ -16,30 +16,22 @@ merge_directories() { cp "$item" "$dest_item" elif [[ "$base_item" == "Makefile" ]]; then while IFS= read -r line || [[ -n "$line" ]]; do - if [[ ! "$line" =~ ^obj.*+=.*/$ ]]; then - echo "$line" >> $dest_item - fi + echo "$line" >> $dest_item done < "$item" elif [[ "$base_item" == "Kconfig" ]]; then while IFS= read -r line || [[ -n "$line" ]]; do - if [[ ! "$line" =~ ^source.* ]]; then - echo >> $dest_item - echo "$line" >> $dest_item - fi + echo >> $dest_item + echo "$line" >> $dest_item done < "$item" fi elif [ -d "$item" ]; then + if [[ "$base_item" == "rtw88" ]]; then + rm "$dest_item"/* -rf + cp "$item"/* "$dest_item"/ -rf + fi if [ ! -d "$dest_item" ]; then mkdir -p "$dest_item" cp -r ${item}/* ${dest_item}/ - find "$item" -name "Kconfig" | while read -r kfile; do - if [[ $type == "drivers" ]]; then - echo "source \"drivers/${kfile#*/drivers/}\"" >> ${dest_dir}/Kconfig - elif [[ $type == "sound" ]]; then - echo "source \"sound/${kfile#*/sound/}\"" >> ${dest_dir}/Kconfig - fi - done - echo "obj-y += $base_item/" >> ${dest_dir}/Makefile else merge_directories "$item" "$dest_item" "$type" fi @@ -49,10 +41,15 @@ merge_directories() { HCK="${1}" OH_KERNEL="${2}" +DEVICE_NAME="${3}" DRIVER=drivers SOUND=sound +KERNEL=kernel echo "begin merge hck..." merge_directories "$HCK/${DRIVER}" "$OH_KERNEL/${DRIVER}" ${DRIVER} merge_directories "$HCK/${SOUND}" "$OH_KERNEL/${SOUND}" ${SOUND} +if [[ ${DEVICE_NAME} == "pd2508_laptop" ]]; then + merge_directories "$HCK/${KERNEL}" "$OH_KERNEL/${KERNEL}" ${KERNEL} +fi echo "merge hck success" diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/char/hw_random/phytium-rng.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/char/hw_random/phytium-rng.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/char/hw_random/phytium-rng.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/char/hw_random/phytium-rng.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/char/ipmi/bt_bmc_phytium.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/char/ipmi/bt_bmc_phytium.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/char/ipmi/bt_bmc_phytium.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/char/ipmi/bt_bmc_phytium.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/char/ipmi/kcs_bmc_phytium.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/char/ipmi/kcs_bmc_phytium.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/char/ipmi/kcs_bmc_phytium.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/char/ipmi/kcs_bmc_phytium.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/dma/phytium/Makefile b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/dma/phytium/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/dma/phytium/Makefile rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/dma/phytium/Makefile diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/dma/phytium/phytium-ddmac.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/dma/phytium/phytium-ddmac.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/dma/phytium/phytium-ddmac.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/dma/phytium/phytium-ddmac.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/dma/phytium/phytium-ddmac.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/dma/phytium/phytium-ddmac.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/dma/phytium/phytium-ddmac.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/dma/phytium/phytium-ddmac.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/dma/phytium/phytium-dmac-pci.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/dma/phytium/phytium-dmac-pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/dma/phytium/phytium-dmac-pci.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/dma/phytium/phytium-dmac-pci.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/dma/phytium/phytium-dmac-pci.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/dma/phytium/phytium-dmac-pci.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/dma/phytium/phytium-dmac-pci.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/dma/phytium/phytium-dmac-pci.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpio/gpio-phytium-core.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpio/gpio-phytium-core.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpio/gpio-phytium-core.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpio/gpio-phytium-core.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpio/gpio-phytium-core.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpio/gpio-phytium-core.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpio/gpio-phytium-core.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpio/gpio-phytium-core.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpio/gpio-phytium-pci.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpio/gpio-phytium-pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpio/gpio-phytium-pci.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpio/gpio-phytium-pci.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpio/gpio-phytium-platform.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpio/gpio-phytium-platform.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpio/gpio-phytium-platform.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpio/gpio-phytium-platform.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpio/gpio-phytium-sgpio.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpio/gpio-phytium-sgpio.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpio/gpio-phytium-sgpio.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpio/gpio-phytium-sgpio.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpio/gpiolib.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpio/gpiolib.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpio/gpiolib.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpio/gpiolib.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/Kconfig b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/Kconfig similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/Kconfig rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/Kconfig diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/Makefile b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/Makefile rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/Makefile diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/pe220x_dc.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/pe220x_dc.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/pe220x_dc.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/pe220x_dc.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/pe220x_dc.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/pe220x_dc.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/pe220x_dc.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/pe220x_dc.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/pe220x_dp.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/pe220x_dp.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/pe220x_dp.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/pe220x_dp.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/pe220x_dp.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/pe220x_dp.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/pe220x_dp.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/pe220x_dp.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/pe220x_reg.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/pe220x_reg.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/pe220x_reg.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/pe220x_reg.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_crtc.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_crtc.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_crtc.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_crtc.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_crtc.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_crtc.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_crtc.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_crtc.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_debugfs.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_debugfs.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_debugfs.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_debugfs.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_debugfs.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_debugfs.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_debugfs.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_debugfs.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_display_drv.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_display_drv.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_display_drv.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_display_drv.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_display_drv.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_display_drv.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_display_drv.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_display_drv.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_dp.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_dp.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_dp.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_dp.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_dp.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_dp.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_dp.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_dp.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_fb.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_fb.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_fb.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_fb.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_fb.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_fb.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_fb.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_fb.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_fbdev.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_fbdev.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_fbdev.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_fbdev.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_fbdev.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_fbdev.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_fbdev.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_fbdev.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_gem.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_gem.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_gem.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_gem.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_gem.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_gem.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_gem.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_gem.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_panel.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_panel.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_panel.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_panel.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_panel.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_panel.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_panel.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_panel.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_pci.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_pci.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_pci.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_pci.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_pci.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_pci.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_pci.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_plane.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_plane.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_plane.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_plane.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_plane.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_plane.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_plane.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_plane.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_platform.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_platform.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_platform.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_platform.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_platform.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_platform.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_platform.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_platform.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_reg.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_reg.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/phytium_reg.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/phytium_reg.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/px210_dc.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/px210_dc.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/px210_dc.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/px210_dc.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/px210_dc.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/px210_dc.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/px210_dc.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/px210_dc.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/px210_dp.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/px210_dp.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/px210_dp.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/px210_dp.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/px210_dp.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/px210_dp.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/px210_dp.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/px210_dp.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/px210_reg.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/px210_reg.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/gpu/drm/phytium/px210_reg.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/gpu/drm/phytium/px210_reg.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/hwmon/tacho-phytium.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/hwmon/tacho-phytium.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/hwmon/tacho-phytium.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/hwmon/tacho-phytium.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/hwspinlock/phytium_hwspinlock.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/hwspinlock/phytium_hwspinlock.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/hwspinlock/phytium_hwspinlock.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/hwspinlock/phytium_hwspinlock.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/i2c/busses/i2c-phytium-common.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/i2c/busses/i2c-phytium-common.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/i2c/busses/i2c-phytium-common.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/i2c/busses/i2c-phytium-common.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/i2c/busses/i2c-phytium-core.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/i2c/busses/i2c-phytium-core.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/i2c/busses/i2c-phytium-core.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/i2c/busses/i2c-phytium-core.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/i2c/busses/i2c-phytium-master.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/i2c/busses/i2c-phytium-master.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/i2c/busses/i2c-phytium-master.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/i2c/busses/i2c-phytium-master.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/i2c/busses/i2c-phytium-pci.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/i2c/busses/i2c-phytium-pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/i2c/busses/i2c-phytium-pci.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/i2c/busses/i2c-phytium-pci.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/i2c/busses/i2c-phytium-platform.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/i2c/busses/i2c-phytium-platform.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/i2c/busses/i2c-phytium-platform.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/i2c/busses/i2c-phytium-platform.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/i2c/busses/i2c-phytium-slave.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/i2c/busses/i2c-phytium-slave.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/i2c/busses/i2c-phytium-slave.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/i2c/busses/i2c-phytium-slave.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/iio/adc/phytium-adc.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/iio/adc/phytium-adc.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/iio/adc/phytium-adc.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/iio/adc/phytium-adc.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/input/keyboard/phytium-keypad.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/input/keyboard/phytium-keypad.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/input/keyboard/phytium-keypad.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/input/keyboard/phytium-keypad.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/input/serio/phytium-ps2.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/input/serio/phytium-ps2.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/input/serio/phytium-ps2.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/input/serio/phytium-ps2.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/irqchip/irq-phytium-ixic.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/irqchip/irq-phytium-ixic.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/irqchip/irq-phytium-ixic.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/irqchip/irq-phytium-ixic.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mailbox/phytium-mailbox.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mailbox/phytium-mailbox.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/mailbox/phytium-mailbox.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mailbox/phytium-mailbox.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/media/platform/phytium-jpeg/Makefile b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/media/platform/phytium-jpeg/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/media/platform/phytium-jpeg/Makefile rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/media/platform/phytium-jpeg/Makefile diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/media/platform/phytium-jpeg/phytium_jpeg_core.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/media/platform/phytium-jpeg/phytium_jpeg_core.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/media/platform/phytium-jpeg/phytium_jpeg_core.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/media/platform/phytium-jpeg/phytium_jpeg_core.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/media/platform/phytium-jpeg/phytium_jpeg_core.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/media/platform/phytium-jpeg/phytium_jpeg_core.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/media/platform/phytium-jpeg/phytium_jpeg_core.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/media/platform/phytium-jpeg/phytium_jpeg_core.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/media/platform/phytium-jpeg/phytium_jpeg_reg.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/media/platform/phytium-jpeg/phytium_jpeg_reg.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/media/platform/phytium-jpeg/phytium_jpeg_reg.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/media/platform/phytium-jpeg/phytium_jpeg_reg.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mfd/phytium_px210_i2s_lsd.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mfd/phytium_px210_i2s_lsd.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/mfd/phytium_px210_i2s_lsd.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mfd/phytium_px210_i2s_lsd.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mfd/phytium_px210_i2s_mmd.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mfd/phytium_px210_i2s_mmd.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/mfd/phytium_px210_i2s_mmd.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mfd/phytium_px210_i2s_mmd.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mmc/host/phytium-mci-pci.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mmc/host/phytium-mci-pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/mmc/host/phytium-mci-pci.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mmc/host/phytium-mci-pci.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mmc/host/phytium-mci-plat.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mmc/host/phytium-mci-plat.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/mmc/host/phytium-mci-plat.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mmc/host/phytium-mci-plat.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mmc/host/phytium-mci.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mmc/host/phytium-mci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/mmc/host/phytium-mci.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mmc/host/phytium-mci.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mmc/host/phytium-mci.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mmc/host/phytium-mci.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/mmc/host/phytium-mci.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mmc/host/phytium-mci.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mmc/host/phytium-sdci.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mmc/host/phytium-sdci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/mmc/host/phytium-sdci.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mmc/host/phytium-sdci.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mmc/host/phytium-sdci.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mmc/host/phytium-sdci.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/mmc/host/phytium-sdci.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mmc/host/phytium-sdci.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/nand/raw/phytium_nand.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mtd/nand/raw/phytium_nand.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/nand/raw/phytium_nand.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mtd/nand/raw/phytium_nand.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/nand/raw/phytium_nand.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mtd/nand/raw/phytium_nand.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/nand/raw/phytium_nand.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mtd/nand/raw/phytium_nand.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/nand/raw/phytium_nand_pci.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mtd/nand/raw/phytium_nand_pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/nand/raw/phytium_nand_pci.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mtd/nand/raw/phytium_nand_pci.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/nand/raw/phytium_nand_plat.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mtd/nand/raw/phytium_nand_plat.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/nand/raw/phytium_nand_plat.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mtd/nand/raw/phytium_nand_plat.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/spi-nor/controllers/phytium-quadspi.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mtd/spi-nor/controllers/phytium-quadspi.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/mtd/spi-nor/controllers/phytium-quadspi.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/mtd/spi-nor/controllers/phytium-quadspi.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/can/phytium/Kconfig b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/can/phytium/Kconfig similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/can/phytium/Kconfig rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/can/phytium/Kconfig diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/can/phytium/Makefile b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/can/phytium/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/can/phytium/Makefile rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/can/phytium/Makefile diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/can/phytium/phytium_can.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/can/phytium/phytium_can.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/can/phytium/phytium_can.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/can/phytium/phytium_can.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/can/phytium/phytium_can.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/can/phytium/phytium_can.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/can/phytium/phytium_can.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/can/phytium/phytium_can.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/can/phytium/phytium_can_pci.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/can/phytium/phytium_can_pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/can/phytium/phytium_can_pci.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/can/phytium/phytium_can_pci.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/can/phytium/phytium_can_platform.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/can/phytium/phytium_can_platform.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/can/phytium/phytium_can_platform.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/can/phytium/phytium_can_platform.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/cadence/macb_tsn.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/ethernet/cadence/macb_tsn.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/cadence/macb_tsn.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/ethernet/cadence/macb_tsn.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/cadence/macb_tsn.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/ethernet/cadence/macb_tsn.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/cadence/macb_tsn.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/ethernet/cadence/macb_tsn.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/stmicro/stmmac/dwmac-phytium.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/ethernet/stmicro/stmmac/dwmac-phytium.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/ethernet/stmicro/stmmac/dwmac-phytium.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/ethernet/stmicro/stmmac/dwmac-phytium.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/phy/motorcomm.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/phy/motorcomm.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/phy/motorcomm.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/phy/motorcomm.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/Kconfig b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/Kconfig similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/Kconfig rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/Kconfig diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/Makefile b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/Makefile rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/Makefile diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/bf.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/bf.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/bf.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/bf.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/bf.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/bf.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/bf.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/bf.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/bitfield.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/bitfield.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/bitfield.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/bitfield.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/coex.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/coex.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/coex.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/coex.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/coex.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/coex.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/coex.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/coex.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/compiler.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/compiler.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/compiler.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/compiler.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/debug.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/debug.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/debug.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/debug.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/debug.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/debug.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/debug.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/debug.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/efuse.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/efuse.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/efuse.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/efuse.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/efuse.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/efuse.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/efuse.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/efuse.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/fw.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/fw.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/fw.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/fw.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/fw.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/fw.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/fw.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/fw.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/hci.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/hci.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/hci.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/hci.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/mac.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/mac.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/mac.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/mac.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/mac.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/mac.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/mac.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/mac.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/mac80211.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/mac80211.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/mac80211.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/mac80211.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/main.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/main.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/main.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/main.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/main.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/main.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/main.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/main.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/pci.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/pci.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/pci.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/pci.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/pci.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/pci.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/pci.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/phy.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/phy.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/phy.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/phy.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/phy.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/phy.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/phy.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/phy.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/ps.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/ps.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/ps.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/ps.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/ps.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/ps.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/ps.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/ps.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/reg.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/reg.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/reg.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/reg.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/regd.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/regd.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/regd.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/regd.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/regd.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/regd.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/regd.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/regd.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8723d.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8723d.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8723d.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8723d.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8723d.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8723d.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8723d.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8723d.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8723d_table.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8723d_table.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8723d_table.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8723d_table.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8723d_table.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8723de.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8723de.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8723de.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8723de.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8723de.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8723de.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8723de.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8723de.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8723ds.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8723ds.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8723ds.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8723ds.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8723du.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8723du.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8723du.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8723du.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8821c.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8821c.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8821c.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8821c.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8821c.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8821c.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8821c.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8821c.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8821c_table.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8821c_table.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8821c_table.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8821c_table.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8821c_table.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8821c_table.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8821c_table.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8821c_table.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8821ce.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8821ce.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8821ce.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8821ce.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8821ce.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8821ce.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8821ce.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8821ce.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8821cs.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8821cs.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8821cs.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8821cs.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8821cu.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8821cu.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8821cu.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8821cu.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822b.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822b.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822b.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822b.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822b.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822b.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822b.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822b.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822b_table.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822b_table.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822b_table.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822b_table.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822b_table.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822b_table.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822b_table.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822b_table.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822be.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822be.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822be.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822be.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822be.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822be.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822be.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822be.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822bs.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822bs.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822bs.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822bs.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822bu.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822bu.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822bu.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822bu.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822c.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822c.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822c.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822c.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822c.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822c.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822c.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822c.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822c_table.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822c_table.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822c_table.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822c_table.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822c_table.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822c_table.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822c_table.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822c_table.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822ce.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822ce.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822ce.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822ce.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822ce.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822ce.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822ce.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822ce.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822cs.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822cs.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822cs.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822cs.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822cu.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822cu.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rtw8822cu.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rtw8822cu.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rx.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rx.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rx.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rx.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rx.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rx.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/rx.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/rx.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/sar.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/sar.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/sar.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/sar.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/sar.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/sar.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/sar.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/sar.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/sch_generic.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/sch_generic.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/sch_generic.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/sch_generic.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/sdio.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/sdio.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/sdio.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/sdio.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/sdio.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/sdio.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/sdio.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/sdio.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/sdio_ids.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/sdio_ids.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/sdio_ids.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/sdio_ids.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/sec.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/sec.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/sec.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/sec.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/sec.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/sec.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/sec.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/sec.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/tx.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/tx.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/tx.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/tx.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/tx.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/tx.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/tx.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/tx.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/usb.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/usb.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/usb.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/usb.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/usb.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/usb.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/usb.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/usb.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/util.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/util.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/util.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/util.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/util.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/util.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/util.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/util.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/wow.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/wow.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/wow.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/wow.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/wow.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/wow.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/net/wireless/realtek/rtw88/wow.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/net/wireless/realtek/rtw88/wow.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/pwm/pwm-phytium.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/pwm/pwm-phytium.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/pwm/pwm-phytium.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/pwm/pwm-phytium.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/remoteproc/homo_remoteproc.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/remoteproc/homo_remoteproc.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/remoteproc/homo_remoteproc.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/remoteproc/homo_remoteproc.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/rtc/rtc-sd3068.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/rtc/rtc-sd3068.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/rtc/rtc-sd3068.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/rtc/rtc-sd3068.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/spi/spi-phytium-dma.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/spi/spi-phytium-dma.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/spi/spi-phytium-dma.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/spi/spi-phytium-dma.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/spi/spi-phytium-pci.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/spi/spi-phytium-pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/spi/spi-phytium-pci.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/spi/spi-phytium-pci.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/spi/spi-phytium-plat.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/spi/spi-phytium-plat.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/spi/spi-phytium-plat.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/spi/spi-phytium-plat.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/spi/spi-phytium-qspi.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/spi/spi-phytium-qspi.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/spi/spi-phytium-qspi.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/spi/spi-phytium-qspi.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/spi/spi-phytium.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/spi/spi-phytium.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/spi/spi-phytium.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/spi/spi-phytium.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/spi/spi-phytium.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/spi/spi-phytium.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/spi/spi-phytium.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/spi/spi-phytium.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/tty/serial/phytium-uart.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/tty/serial/phytium-uart.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/tty/serial/phytium-uart.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/tty/serial/phytium-uart.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/Kconfig b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/Kconfig similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/Kconfig rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/Kconfig diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/Makefile b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/Makefile rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/Makefile diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/core.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/core.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/core.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/core.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/core.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/core.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/core.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/core.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/dma.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/dma.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/dma.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/dma.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/dma.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/dma.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/dma.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/dma.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/gadget.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/gadget.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/gadget.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/gadget.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/gadget.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/gadget.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/gadget.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/gadget.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/host.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/host.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/host.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/host.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/host_api.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/host_api.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/host_api.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/host_api.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/hw-regs.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/hw-regs.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/hw-regs.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/hw-regs.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/pci.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/pci.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/pci.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/platform.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/platform.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/usb/phytium/platform.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/usb/phytium/platform.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/w1/masters/phytium_w1.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/w1/masters/phytium_w1.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/drivers/w1/masters/phytium_w1.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/drivers/w1/masters/phytium_w1.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/sound/pci/hda/hda_phytium.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/sound/pci/hda/hda_phytium.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/sound/pci/hda/hda_phytium.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/sound/pci/hda/hda_phytium.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/sound/pci/hda/hda_phytium.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/sound/pci/hda/hda_phytium.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/sound/pci/hda/hda_phytium.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/sound/pci/hda/hda_phytium.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/sound/soc/codecs/es8336.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/codecs/es8336.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/sound/soc/codecs/es8336.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/codecs/es8336.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/sound/soc/codecs/es8336.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/codecs/es8336.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/sound/soc/codecs/es8336.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/codecs/es8336.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/sound/soc/codecs/es8388.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/codecs/es8388.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/sound/soc/codecs/es8388.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/codecs/es8388.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/sound/soc/codecs/es8388.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/codecs/es8388.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/sound/soc/codecs/es8388.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/codecs/es8388.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/sound/soc/phytium/Kconfig b/device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/phytium/Kconfig similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/sound/soc/phytium/Kconfig rename to device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/phytium/Kconfig diff --git a/device_soc_phytium/common/kernel/linux-5.10/sound/soc/phytium/Makefile b/device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/phytium/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/sound/soc/phytium/Makefile rename to device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/phytium/Makefile diff --git a/device_soc_phytium/common/kernel/linux-5.10/sound/soc/phytium/local.h b/device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/phytium/local.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/sound/soc/phytium/local.h rename to device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/phytium/local.h diff --git a/device_soc_phytium/common/kernel/linux-5.10/sound/soc/phytium/phytium_i2s.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/phytium/phytium_i2s.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/sound/soc/phytium/phytium_i2s.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/phytium/phytium_i2s.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/sound/soc/phytium/pmdk_dp.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/phytium/pmdk_dp.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/sound/soc/phytium/pmdk_dp.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/phytium/pmdk_dp.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/sound/soc/phytium/pmdk_es8336.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/phytium/pmdk_es8336.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/sound/soc/phytium/pmdk_es8336.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/phytium/pmdk_es8336.c diff --git a/device_soc_phytium/common/kernel/linux-5.10/sound/soc/phytium/pmdk_es8388.c b/device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/phytium/pmdk_es8388.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-5.10/sound/soc/phytium/pmdk_es8388.c rename to device_board_phytium/common/kernel_source/linux-5.10/hck/sound/soc/phytium/pmdk_es8388.c diff --git a/device_board_phytium/common/kernel_source/linux-5.10/phytium.patch b/device_board_phytium/common/kernel_source/linux-5.10/phytium.patch index c33b8776ec4aa900059329b2c2dd5f46cfda92c8..031c7b63ce23da32bcecd1283ad109882c212b0b 100644 --- a/device_board_phytium/common/kernel_source/linux-5.10/phytium.patch +++ b/device_board_phytium/common/kernel_source/linux-5.10/phytium.patch @@ -2523,6 +2523,42 @@ index dbdee43c6..e2f01f00a 100644 The instructions are used only when the CPU supports them. Otherwise software encryption is used. +diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig +index 7e1bd79fb..5ff36eda7 100644 +--- a/drivers/dma/Kconfig ++++ b/drivers/dma/Kconfig +@@ -712,6 +712,22 @@ config ZX_DMA + help + Support the DMA engine for ZTE ZX family platform devices. + ++config PHYTIUM_PCI_DMAC ++ bool "Phytium px210 PCI DMA support" ++ depends on OF || COMPILE_TEST ++ select DMA_ENGINE ++ select DMA_VIRTUAL_CHANNELS ++ help ++ Enable support for Phytium px210 DMA controller ++ ++ ++config PHYTIUM_DDMA ++ bool "Phytium PE220x DDMA support" ++ depends on (ARCH_PHYTIUM || COMPILE_TEST) ++ select DMA_ENGINE ++ select DMA_VIRTUAL_CHANNELS ++ help ++ Enable support for Phytium PE220x DDMA controller. + + # driver files + source "drivers/dma/bestcomm/Kconfig" +diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile +index 948a8da05..e5cef402a 100644 +--- a/drivers/dma/Makefile ++++ b/drivers/dma/Makefile +@@ -87,3 +87,4 @@ obj-y += mediatek/ + obj-y += qcom/ + obj-y += ti/ + obj-y += xilinx/ ++obj-y += phytium/ diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig index 807c5320d..91e8a70fc 100644 --- a/drivers/firmware/Kconfig @@ -2685,6 +2721,28 @@ index 09dada80a..67dea5151 100644 +obj-$(CONFIG_GPIO_PHYTIUM_PCI) += gpio-phytium-pci.o +obj-$(CONFIG_GPIO_PHYTIUM_PLAT) += gpio-phytium-platform.o +obj-$(CONFIG_GPIO_PHYTIUM_SGPIO) += gpio-phytium-sgpio.o +diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig +index b37e6660d..87c1de445 100644 +--- a/drivers/gpu/drm/Kconfig ++++ b/drivers/gpu/drm/Kconfig +@@ -395,6 +395,8 @@ source "drivers/gpu/drm/tidss/Kconfig" + + source "drivers/gpu/drm/xlnx/Kconfig" + ++source "drivers/gpu/drm/phytium/Kconfig" ++ + # Keep legacy drivers last + + menuconfig DRM_LEGACY +diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile +index e9dd6847c..291d12073 100644 +--- a/drivers/gpu/drm/Makefile ++++ b/drivers/gpu/drm/Makefile +@@ -125,3 +125,4 @@ obj-$(CONFIG_DRM_ASPEED_GFX) += aspeed/ + obj-$(CONFIG_DRM_MCDE) += mcde/ + obj-$(CONFIG_DRM_TIDSS) += tidss/ + obj-y += xlnx/ ++obj-$(CONFIG_DRM_PHYTIUM) += phytium/ diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig index 8a427467a..3d8fe5982 100644 --- a/drivers/hwmon/Kconfig @@ -3203,6 +3261,35 @@ index 2e06e02b2..e08fb4b9a 100644 obj-$(CONFIG_QCOM_IPCC) += qcom-ipcc.o + +obj-$(CONFIG_PHYTIUM_MBOX) += phytium-mailbox.o +diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig +index 7e152bbb4..ba073e604 100644 +--- a/drivers/media/platform/Kconfig ++++ b/drivers/media/platform/Kconfig +@@ -167,6 +167,14 @@ config VIDEO_TI_CAL + found on DRA72X SoC. + In TI Technical Reference Manual this module is referred as + Camera Interface Subsystem (CAMSS). ++config VIDEO_PHYTIUM_JPEG ++ tristate "Phytium JPEG Encoder driver" ++ depends on VIDEO_V4L2 ++ select VIDEOBUF2_DMA_CONTIG ++ help ++ Support for the Phytium JPEG Encoder Engine embedded ++ in the Phytium SOCs. The engine can capture and ++ compress video data from digital or analog sources. + + endif # V4L_PLATFORM_DRIVERS + +diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile +index 62b6cdc8c..a1b67411f 100644 +--- a/drivers/media/platform/Makefile ++++ b/drivers/media/platform/Makefile +@@ -80,3 +80,5 @@ obj-$(CONFIG_VIDEO_QCOM_CAMSS) += qcom/camss/ + obj-$(CONFIG_VIDEO_QCOM_VENUS) += qcom/venus/ + + obj-y += sunxi/ ++obj-$(CONFIG_VIDEO_PHYTIUM_JPEG) += phytium-jpeg/ ++ diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index c5c6608cc..311bb3fa2 100644 --- a/drivers/mfd/Kconfig @@ -4465,6 +4552,30 @@ index 788775bb6..16a0e3a53 100644 int spi_nor_write_enable(struct spi_nor *nor); int spi_nor_write_disable(struct spi_nor *nor); +diff --git a/drivers/net/can/Kconfig b/drivers/net/can/Kconfig +index 1c28eade6..09bf99e20 100644 +--- a/drivers/net/can/Kconfig ++++ b/drivers/net/can/Kconfig +@@ -179,6 +179,8 @@ source "drivers/net/can/softing/Kconfig" + source "drivers/net/can/spi/Kconfig" + source "drivers/net/can/usb/Kconfig" + ++source "drivers/net/can/phytium/Kconfig" ++ + endif + + config CAN_DEBUG_DEVICES +diff --git a/drivers/net/can/Makefile b/drivers/net/can/Makefile +index a2b4463d8..5e80b1800 100644 +--- a/drivers/net/can/Makefile ++++ b/drivers/net/can/Makefile +@@ -29,5 +29,6 @@ obj-$(CONFIG_CAN_SUN4I) += sun4i_can.o + obj-$(CONFIG_CAN_TI_HECC) += ti_hecc.o + obj-$(CONFIG_CAN_XILINXCAN) += xilinx_can.o + obj-$(CONFIG_PCH_CAN) += pch_can.o ++obj-$(CONFIG_CAN_PHYTIUM) += phytium/ + + subdir-ccflags-$(CONFIG_CAN_DEBUG_DEVICES) += -DDEBUG diff --git a/drivers/net/ethernet/cadence/Kconfig b/drivers/net/ethernet/cadence/Kconfig index e432a68ac..0fb01824d 100644 --- a/drivers/net/ethernet/cadence/Kconfig @@ -8241,6 +8352,17 @@ index cbdd01f31..d0c6bc96d 100644 case PHY_INTERFACE_MODE_USXGMII: case PHY_INTERFACE_MODE_10GKR: case PHY_INTERFACE_MODE_10GBASER: +diff --git a/drivers/net/wireless/realtek/Makefile b/drivers/net/wireless/realtek/Makefile +index 888b5d594..c9a31e443 100644 +--- a/drivers/net/wireless/realtek/Makefile ++++ b/drivers/net/wireless/realtek/Makefile +@@ -7,5 +7,5 @@ obj-$(CONFIG_RTL8180) += rtl818x/ + obj-$(CONFIG_RTL8187) += rtl818x/ + obj-$(CONFIG_RTLWIFI) += rtlwifi/ + obj-$(CONFIG_RTL8XXXU) += rtl8xxxu/ +-obj-$(CONFIG_RTW88) += rtw88/ ++obj-$(CONFIG_PHYTIUM_RTW88) += rtw88/ + diff --git a/drivers/pci/hotplug/pciehp.h b/drivers/pci/hotplug/pciehp.h index f1f789fe0..cd818ea56 100644 --- a/drivers/pci/hotplug/pciehp.h @@ -8686,6 +8808,29 @@ index caf167f0c..f215657dc 100644 # GPIOLIB helpers for modem control lines obj-$(CONFIG_SERIAL_MCTRL_GPIO) += serial_mctrl_gpio.o +diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig +index 26475b409..ad99f91aa 100644 +--- a/drivers/usb/Kconfig ++++ b/drivers/usb/Kconfig +@@ -125,6 +125,8 @@ source "drivers/usb/chipidea/Kconfig" + + source "drivers/usb/isp1760/Kconfig" + ++source "drivers/usb/phytium/Kconfig" ++ + comment "USB port drivers" + + if USB +diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile +index 1c1c1d659..0f2c03958 100644 +--- a/drivers/usb/Makefile ++++ b/drivers/usb/Makefile +@@ -66,3 +66,5 @@ obj-$(CONFIG_USBIP_CORE) += usbip/ + obj-$(CONFIG_TYPEC) += typec/ + + obj-$(CONFIG_USB_ROLE_SWITCH) += roles/ ++ ++obj-$(CONFIG_USB_PHYTIUM) += phytium/ diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c index 311e96b05..f9871d36f 100644 --- a/drivers/usb/host/xhci-pci.c @@ -8920,6 +9065,19 @@ index 851b982f8..f08747fd2 100644 +#define PORT_PHYTIUM 200 + #endif /* _UAPILINUX_SERIAL_CORE_H */ +diff --git a/init/main.c b/init/main.c +index 124d586f2..094b4fbe0 100644 +--- a/init/main.c ++++ b/init/main.c +@@ -1050,6 +1050,8 @@ asmlinkage __visible void __init __no_sanitize_address start_kernel(void) + sfi_init_late(); + kcsan_init(); + ++ mdelay(5); ++ + /* Do the rest non-__init'ed, we're now alive */ + arch_call_rest_init(); + diff --git a/sound/hda/hdac_controller.c b/sound/hda/hdac_controller.c index da047c8bb..4caf82e04 100644 --- a/sound/hda/hdac_controller.c @@ -9125,6 +9283,15 @@ index 71a6fe87d..ed286439e 100644 # Supported codecs source "sound/soc/codecs/Kconfig" +diff --git a/sound/soc/Makefile b/sound/soc/Makefile +index ddbac3a21..28bb84895 100644 +--- a/sound/soc/Makefile ++++ b/sound/soc/Makefile +@@ -60,3 +60,4 @@ obj-$(CONFIG_SND_SOC) += ux500/ + obj-$(CONFIG_SND_SOC) += xilinx/ + obj-$(CONFIG_SND_SOC) += xtensa/ + obj-$(CONFIG_SND_SOC) += zte/ ++obj-$(CONFIG_SND_SOC) += phytium/ diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index 04a7070c7..4558ee2b9 100644 --- a/sound/soc/codecs/Kconfig diff --git a/device_board_phytium/common/kernel_source/linux-5.10/phytium_standard_defconfig b/device_board_phytium/common/kernel_source/linux-5.10/phytium_standard_defconfig index 41ff2c7282de736e3471041f1197420fedeaac1a..7dbd90b9a2fc10593d2e419238c795d4cfd47b7f 100644 --- a/device_board_phytium/common/kernel_source/linux-5.10/phytium_standard_defconfig +++ b/device_board_phytium/common/kernel_source/linux-5.10/phytium_standard_defconfig @@ -709,6 +709,7 @@ CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_HMDFS_FS=y CONFIG_HMDFS_FS_PERMISSION=y CONFIG_HMDFS_FS_DEBUG=y +CONFIG_SHARE_FS=y CONFIG_BTRFS_FS=m CONFIG_BTRFS_FS_POSIX_ACL=y CONFIG_FANOTIFY=y @@ -794,6 +795,54 @@ CONFIG_BINDER_TRANSACTION_PROC_BRIEF=y CONFIG_ACCESS_TOKENID=y +# +# HDF +# +CONFIG_DRIVERS_HDF=y +CONFIG_HDF_SUPPORT_LEVEL=2 +CONFIG_DRIVERS_HDF_PLATFORM=y +# CONFIG_DRIVERS_HDF_PLATFORM_MIPI_DSI is not set +# CONFIG_DRIVERS_HDF_PLATFORM_MIPI_CSI is not set +CONFIG_DRIVERS_HDF_PLATFORM_GPIO=y +CONFIG_DRIVERS_HDF_PLATFORM_I2C=y +# CONFIG_USER_I2C_SUPPORT is not set +# CONFIG_DRIVERS_HDF_PLATFORM_WATCHDOG is not set +# CONFIG_DRIVERS_HDF_PLATFORM_PWM is not set +CONFIG_DRIVERS_HDF_PLATFORM_UART=y +# CONFIG_DRIVERS_HDF_PLATFORM_EMMC is not set +# CONFIG_DRIVERS_HDF_PLATFORM_MMC is not set +# CONFIG_DRIVERS_HDF_PLATFORM_SPI is not set +# CONFIG_DRIVERS_HDF_PLATFORM_RTC is not set +# CONFIG_PWM_HI35XX is not set +# CONFIG_DRIVERS_HDF_PLATFORM_REGULATOR is not set +# CONFIG_DRIVERS_HDF_PLATFORM_ADC is not set +# CONFIG_DRIVERS_HDF_PLATFORM_CLOCK is not set +# CONFIG_DRIVERS_HDF_PLATFORM_TRACE is not set +# CONFIG_DRIVERS_HDF_PLATFORM_DUMPER is not set +# CONFIG_IMX8MM_EMMC is not set +# CONFIG_IMX8MM_SDIO is not set +# CONFIG_DRIVERS_HDF_PLATFORM_IMX8MM_MIPI_DSI is not set +# CONFIG_DRIVERS_HDF_TEST is not set +# CONFIG_DRIVERS_HDF_DISP is not set +CONFIG_DRIVERS_HDF_INPUT=y +# CONFIG_DRIVERS_HDF_TP_5P5_GT911 is not set +# CONFIG_DRIVERS_HDF_TP_2P35_FT6236 is not set +# CONFIG_DRIVERS_HDF_INPUT_INFRARED is not set +# CONFIG_DRIVERS_HDF_TP_5P43_FT5406 is not set +# CONFIG_ARCH_NXP_TOUCH is not set +# CONFIG_DRIVERS_HDF_NETDEV_EXT is not set +# CONFIG_DRIVERS_HDF_WIFI_BUS is not set +# CONFIG_DRIVERS_HDF_BT is not set +# CONFIG_DRIVERS_HDF_SENSOR is not set +# CONFIG_DRIVERS_HDF_STORAGE is not set +# CONFIG_IMX8MM_SDIO_TEST is not set +# CONFIG_DRIVERS_HDF_USB_PNP_NOTIFY is not set +# CONFIG_DRIVERS_HDF_AUDIO is not set +# CONFIG_DRIVERS_HDF_VIBRATOR is not set +# CONFIG_DRIVERS_HDF_DSOFTBUS is not set +# CONFIG_DRIVERS_HDF_LIGHT is not set +# CONFIG_DRIVERS_HDF_NETWORK is not set + CONFIG_PSI=y # CONFIG_SUSPEND is not set diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/char/hw_random/phytium-rng.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/char/hw_random/phytium-rng.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/char/hw_random/phytium-rng.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/char/hw_random/phytium-rng.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/char/ipmi/bt_bmc_phytium.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/char/ipmi/bt_bmc_phytium.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/char/ipmi/bt_bmc_phytium.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/char/ipmi/bt_bmc_phytium.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/char/ipmi/kcs_bmc_phytium.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/char/ipmi/kcs_bmc_phytium.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/char/ipmi/kcs_bmc_phytium.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/char/ipmi/kcs_bmc_phytium.c diff --git a/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/char/phytnetled/Kconfig b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/char/phytnetled/Kconfig new file mode 100644 index 0000000000000000000000000000000000000000..26691906dbf4db150ccd0a133dee4c1c1ec4872b --- /dev/null +++ b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/char/phytnetled/Kconfig @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# PCMCIA character device configuration +# +config PHYTNET_LED + tristate "Phytium mac led control module" + depends on PHYTMAC + depends on GPIO_PHYTIUM_PLAT + default m + help + If you have a network (Ethernet) controller of this type and + want to use it control port led say Y or M here. + diff --git a/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/char/phytnetled/Makefile b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/char/phytnetled/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..781bc90c1b9c30d7f909b8fad54cd88eb2a01894 --- /dev/null +++ b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/char/phytnetled/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_PHYTNET_LED) += phytnet_led.o \ No newline at end of file diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/char/phytnetled/phytnet_led.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/char/phytnetled/phytnet_led.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/char/phytnetled/phytnet_led.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/char/phytnetled/phytnet_led.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/char/phytnetled/phytnet_led.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/char/phytnetled/phytnet_led.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/char/phytnetled/phytnet_led.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/char/phytnetled/phytnet_led.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/dma/phytium/Kconfig b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/dma/phytium/Kconfig similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/dma/phytium/Kconfig rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/dma/phytium/Kconfig diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/dma/phytium/Makefile b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/dma/phytium/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/dma/phytium/Makefile rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/dma/phytium/Makefile diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/dma/phytium/phytium-ddmac.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/dma/phytium/phytium-ddmac.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/dma/phytium/phytium-ddmac.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/dma/phytium/phytium-ddmac.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/dma/phytium/phytium-ddmac.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/dma/phytium/phytium-ddmac.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/dma/phytium/phytium-ddmac.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/dma/phytium/phytium-ddmac.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/dma/phytium/phytium-dmac-pci.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/dma/phytium/phytium-dmac-pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/dma/phytium/phytium-dmac-pci.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/dma/phytium/phytium-dmac-pci.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/dma/phytium/phytium-dmac-pci.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/dma/phytium/phytium-dmac-pci.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/dma/phytium/phytium-dmac-pci.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/dma/phytium/phytium-dmac-pci.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/dma/phytium/phytium-gdmac.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/dma/phytium/phytium-gdmac.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/dma/phytium/phytium-gdmac.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/dma/phytium/phytium-gdmac.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/dma/phytium/phytium-gdmac.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/dma/phytium/phytium-gdmac.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/dma/phytium/phytium-gdmac.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/dma/phytium/phytium-gdmac.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/edac/phytium_edac.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/edac/phytium_edac.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/edac/phytium_edac.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/edac/phytium_edac.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpio/gpio-phytium-core.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpio/gpio-phytium-core.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpio/gpio-phytium-core.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpio/gpio-phytium-core.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpio/gpio-phytium-core.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpio/gpio-phytium-core.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpio/gpio-phytium-core.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpio/gpio-phytium-core.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpio/gpio-phytium-pci.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpio/gpio-phytium-pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpio/gpio-phytium-pci.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpio/gpio-phytium-pci.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpio/gpio-phytium-platform.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpio/gpio-phytium-platform.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpio/gpio-phytium-platform.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpio/gpio-phytium-platform.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpio/gpio-phytium-sgpio.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpio/gpio-phytium-sgpio.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpio/gpio-phytium-sgpio.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpio/gpio-phytium-sgpio.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpio/gpiolib.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpio/gpiolib.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpio/gpiolib.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpio/gpiolib.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/Kconfig b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/Kconfig similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/Kconfig rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/Kconfig diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/Makefile b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/Makefile rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/Makefile diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/pe220x_dc.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/pe220x_dc.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/pe220x_dc.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/pe220x_dc.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/pe220x_dc.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/pe220x_dc.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/pe220x_dc.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/pe220x_dc.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/pe220x_dp.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/pe220x_dp.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/pe220x_dp.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/pe220x_dp.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/pe220x_dp.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/pe220x_dp.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/pe220x_dp.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/pe220x_dp.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/pe220x_reg.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/pe220x_reg.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/pe220x_reg.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/pe220x_reg.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_crtc.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_crtc.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_crtc.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_crtc.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_crtc.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_crtc.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_crtc.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_crtc.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_debugfs.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_debugfs.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_debugfs.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_debugfs.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_debugfs.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_debugfs.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_debugfs.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_debugfs.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_display_drv.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_display_drv.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_display_drv.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_display_drv.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_display_drv.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_display_drv.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_display_drv.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_display_drv.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_dp.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_dp.c similarity index 99% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_dp.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_dp.c index fdd91daf027b4386ca1f0eaae71c5d3fce292d75..f50f621dbd75e2514c42202471ca87ffb2ed3f4b 100644 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_dp.c +++ b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_dp.c @@ -2413,8 +2413,7 @@ static const struct hdmi_codec_ops phytium_audio_codec_ops = { .hook_plugged_cb = phytium_dp_audio_hook_plugged_cb, }; -static int phytium_dp_audio_codec_init(struct phytium_dp_device *phytium_dp, - const int port) +static int phytium_dp_audio_codec_init(struct phytium_dp_device *phytium_dp) { struct device *dev = phytium_dp->dev->dev; struct hdmi_codec_pdata codec_data = { @@ -2426,9 +2425,9 @@ static int phytium_dp_audio_codec_init(struct phytium_dp_device *phytium_dp, }; phytium_dp->audio_pdev = platform_device_register_data(dev, HDMI_CODEC_DRV_NAME, - codec_id + port, - &codec_data, sizeof(codec_data)); - + codec_id, &codec_data, sizeof(codec_data)); + if (!PTR_ERR_OR_ZERO(phytium_dp->audio_pdev)) + codec_id += 1; return PTR_ERR_OR_ZERO(phytium_dp->audio_pdev); } @@ -2438,6 +2437,7 @@ static void phytium_dp_audio_codec_fini(struct phytium_dp_device *phytium_dp) if (!PTR_ERR_OR_ZERO(phytium_dp->audio_pdev)) platform_device_unregister(phytium_dp->audio_pdev); phytium_dp->audio_pdev = NULL; + codec_id -= 1; } static long phytium_dp_aux_transfer(struct drm_dp_aux *aux, struct drm_dp_aux_msg *msg) @@ -2629,7 +2629,7 @@ int phytium_dp_init(struct drm_device *dev, int port) drm_connector_helper_add(&phytium_dp->connector, &phytium_connector_helper_funcs); drm_connector_attach_encoder(&phytium_dp->connector, &phytium_dp->encoder); - ret = phytium_dp_audio_codec_init(phytium_dp, port); + ret = phytium_dp_audio_codec_init(phytium_dp); if (ret) { DRM_ERROR("failed to initialize audio codec\n"); goto failed_connector_init; diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_dp.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_dp.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_dp.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_dp.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_fb.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_fb.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_fb.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_fb.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_fb.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_fb.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_fb.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_fb.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_fbdev.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_fbdev.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_fbdev.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_fbdev.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_fbdev.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_fbdev.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_fbdev.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_fbdev.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_gem.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_gem.c similarity index 99% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_gem.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_gem.c index 7d962076f7d7f87282f3d4fd640220b310be4c31..db95b1ef6a1f98c31f5cfe13fce1188a3ac29d81 100644 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_gem.c +++ b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_gem.c @@ -432,6 +432,9 @@ struct phytium_gem_object *phytium_gem_create_object(struct drm_device *dev, uns goto failed_object_init; } + /* new rules for adapting to 6.6 kernel drm_gem_object_free: Force dependency on callback functions */ + phytium_gem_obj->base.funcs = &phytium_drm_gem_object_funcs; + if (priv->support_memory_type & (MEMORY_TYPE_VRAM_WC | MEMORY_TYPE_VRAM_DEVICE)) { ret = phytium_memory_pool_alloc(priv, &phytium_gem_obj->vaddr, &phytium_gem_obj->phys_addr, size); @@ -475,8 +478,6 @@ struct phytium_gem_object *phytium_gem_create_object(struct drm_device *dev, uns goto failed_dma_alloc; } - phytium_gem_obj->base.funcs = &phytium_drm_gem_object_funcs; - phytium_gem_obj->size = size; list_add_tail(&phytium_gem_obj->list, &priv->gem_list_head); DRM_DEBUG_KMS("phytium_gem_obj iova:0x%pa size:0x%lx\n", diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_gem.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_gem.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_gem.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_gem.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_panel.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_panel.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_panel.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_panel.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_panel.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_panel.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_panel.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_panel.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_pci.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_pci.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_pci.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_pci.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_pci.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_pci.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_pci.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_plane.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_plane.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_plane.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_plane.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_plane.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_plane.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_plane.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_plane.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_platform.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_platform.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_platform.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_platform.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_platform.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_platform.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_platform.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_platform.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_reg.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_reg.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/phytium_reg.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/phytium_reg.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/px210_dc.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/px210_dc.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/px210_dc.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/px210_dc.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/px210_dc.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/px210_dc.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/px210_dc.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/px210_dc.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/px210_dp.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/px210_dp.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/px210_dp.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/px210_dp.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/px210_dp.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/px210_dp.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/px210_dp.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/px210_dp.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/px210_reg.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/px210_reg.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/gpu/drm/phytium/px210_reg.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/gpu/drm/phytium/px210_reg.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/hwmon/tacho-phytium.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/hwmon/tacho-phytium.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/hwmon/tacho-phytium.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/hwmon/tacho-phytium.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/hwspinlock/phytium_hwspinlock.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/hwspinlock/phytium_hwspinlock.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/hwspinlock/phytium_hwspinlock.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/hwspinlock/phytium_hwspinlock.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/i2c/busses/i2c-phytium-common.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/i2c/busses/i2c-phytium-common.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/i2c/busses/i2c-phytium-common.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/i2c/busses/i2c-phytium-common.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/i2c/busses/i2c-phytium-core.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/i2c/busses/i2c-phytium-core.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/i2c/busses/i2c-phytium-core.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/i2c/busses/i2c-phytium-core.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/i2c/busses/i2c-phytium-master.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/i2c/busses/i2c-phytium-master.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/i2c/busses/i2c-phytium-master.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/i2c/busses/i2c-phytium-master.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/i2c/busses/i2c-phytium-pci.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/i2c/busses/i2c-phytium-pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/i2c/busses/i2c-phytium-pci.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/i2c/busses/i2c-phytium-pci.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/i2c/busses/i2c-phytium-platform.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/i2c/busses/i2c-phytium-platform.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/i2c/busses/i2c-phytium-platform.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/i2c/busses/i2c-phytium-platform.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/i2c/busses/i2c-phytium-slave.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/i2c/busses/i2c-phytium-slave.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/i2c/busses/i2c-phytium-slave.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/i2c/busses/i2c-phytium-slave.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/iio/adc/phytium-adc.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/iio/adc/phytium-adc.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/iio/adc/phytium-adc.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/iio/adc/phytium-adc.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/input/keyboard/phytium-keypad.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/input/keyboard/phytium-keypad.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/input/keyboard/phytium-keypad.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/input/keyboard/phytium-keypad.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/input/serio/phytium-ps2.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/input/serio/phytium-ps2.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/input/serio/phytium-ps2.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/input/serio/phytium-ps2.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/irqchip/irq-gic-phytium-2500-its.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/irqchip/irq-gic-phytium-2500-its.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/irqchip/irq-gic-phytium-2500-its.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/irqchip/irq-gic-phytium-2500-its.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/irqchip/irq-gic-phytium-2500.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/irqchip/irq-gic-phytium-2500.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/irqchip/irq-gic-phytium-2500.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/irqchip/irq-gic-phytium-2500.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/irqchip/irq-phytium-ixic.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/irqchip/irq-phytium-ixic.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/irqchip/irq-phytium-ixic.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/irqchip/irq-phytium-ixic.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mailbox/phytium_mailbox.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mailbox/phytium_mailbox.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/mailbox/phytium_mailbox.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mailbox/phytium_mailbox.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/media/platform/Kconfig b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/media/platform/phytium/Kconfig similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/media/platform/Kconfig rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/media/platform/phytium/Kconfig diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/media/platform/phytium/Makefile b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/media/platform/phytium/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/media/platform/phytium/Makefile rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/media/platform/phytium/Makefile diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/media/platform/phytium/phytium_jpeg_core.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/media/platform/phytium/phytium_jpeg_core.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/media/platform/phytium/phytium_jpeg_core.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/media/platform/phytium/phytium_jpeg_core.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/media/platform/phytium/phytium_jpeg_core.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/media/platform/phytium/phytium_jpeg_core.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/media/platform/phytium/phytium_jpeg_core.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/media/platform/phytium/phytium_jpeg_core.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/media/platform/phytium/phytium_jpeg_reg.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/media/platform/phytium/phytium_jpeg_reg.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/media/platform/phytium/phytium_jpeg_reg.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/media/platform/phytium/phytium_jpeg_reg.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mfd/phytium_px210_i2s_lsd.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mfd/phytium_px210_i2s_lsd.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/mfd/phytium_px210_i2s_lsd.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mfd/phytium_px210_i2s_lsd.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mfd/phytium_px210_i2s_mmd.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mfd/phytium_px210_i2s_mmd.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/mfd/phytium_px210_i2s_mmd.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mfd/phytium_px210_i2s_mmd.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mmc/host/phytium-mci-pci.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mmc/host/phytium-mci-pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/mmc/host/phytium-mci-pci.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mmc/host/phytium-mci-pci.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mmc/host/phytium-mci-plat.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mmc/host/phytium-mci-plat.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/mmc/host/phytium-mci-plat.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mmc/host/phytium-mci-plat.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mmc/host/phytium-mci.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mmc/host/phytium-mci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/mmc/host/phytium-mci.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mmc/host/phytium-mci.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mmc/host/phytium-mci.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mmc/host/phytium-mci.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/mmc/host/phytium-mci.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mmc/host/phytium-mci.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mmc/host/phytium-sdci.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mmc/host/phytium-sdci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/mmc/host/phytium-sdci.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mmc/host/phytium-sdci.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mmc/host/phytium-sdci.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mmc/host/phytium-sdci.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/mmc/host/phytium-sdci.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mmc/host/phytium-sdci.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mtd/nand/raw/phytium_nand.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mtd/nand/raw/phytium_nand.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/mtd/nand/raw/phytium_nand.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mtd/nand/raw/phytium_nand.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mtd/nand/raw/phytium_nand.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mtd/nand/raw/phytium_nand.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/mtd/nand/raw/phytium_nand.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mtd/nand/raw/phytium_nand.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mtd/nand/raw/phytium_nand_pci.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mtd/nand/raw/phytium_nand_pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/mtd/nand/raw/phytium_nand_pci.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mtd/nand/raw/phytium_nand_pci.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mtd/nand/raw/phytium_nand_plat.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mtd/nand/raw/phytium_nand_plat.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/mtd/nand/raw/phytium_nand_plat.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/mtd/nand/raw/phytium_nand_plat.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/can/phytium/Kconfig b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/can/phytium/Kconfig similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/can/phytium/Kconfig rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/can/phytium/Kconfig diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/can/phytium/Makefile b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/can/phytium/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/can/phytium/Makefile rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/can/phytium/Makefile diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/can/phytium/phytium_can.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/can/phytium/phytium_can.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/can/phytium/phytium_can.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/can/phytium/phytium_can.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/can/phytium/phytium_can.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/can/phytium/phytium_can.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/can/phytium/phytium_can.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/can/phytium/phytium_can.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/can/phytium/phytium_can_pci.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/can/phytium/phytium_can_pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/can/phytium/phytium_can_pci.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/can/phytium/phytium_can_pci.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/can/phytium/phytium_can_platform.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/can/phytium/phytium_can_platform.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/can/phytium/phytium_can_platform.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/can/phytium/phytium_can_platform.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/Kconfig b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/Kconfig similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/Kconfig rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/Kconfig diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/Makefile b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/Makefile rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/Makefile diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_ethtool.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_ethtool.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_ethtool.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_ethtool.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_main.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_main.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_main.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_main.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_pci.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_pci.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_pci.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_platform.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_platform.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_platform.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_platform.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_ptp.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_ptp.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_ptp.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_ptp.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_ptp.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_ptp.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_ptp.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_ptp.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_v1.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_v1.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_v1.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_v1.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_v1.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_v1.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_v1.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_v1.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_v2.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_v2.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_v2.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_v2.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_v2.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_v2.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/phytium/phytmac_v2.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/net/ethernet/phytium/phytmac_v2.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/of/configfs.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/of/configfs.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/of/configfs.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/of/configfs.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/pci/controller/pcie-phytium-ep.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/pci/controller/pcie-phytium-ep.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/pci/controller/pcie-phytium-ep.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/pci/controller/pcie-phytium-ep.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/pci/controller/pcie-phytium-ep.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/pci/controller/pcie-phytium-ep.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/pci/controller/pcie-phytium-ep.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/pci/controller/pcie-phytium-ep.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/pci/controller/pcie-phytium-register.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/pci/controller/pcie-phytium-register.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/pci/controller/pcie-phytium-register.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/pci/controller/pcie-phytium-register.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/perf/phytium/Kconfig b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/perf/phytium/Kconfig similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/perf/phytium/Kconfig rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/perf/phytium/Kconfig diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/perf/phytium/Makefile b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/perf/phytium/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/perf/phytium/Makefile rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/perf/phytium/Makefile diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/perf/phytium/phytium_ddr_pmu.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/perf/phytium/phytium_ddr_pmu.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/perf/phytium/phytium_ddr_pmu.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/perf/phytium/phytium_ddr_pmu.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/perf/phytium/phytium_pcie_pmu.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/perf/phytium/phytium_pcie_pmu.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/perf/phytium/phytium_pcie_pmu.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/perf/phytium/phytium_pcie_pmu.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/pwm/pwm-phytium.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/pwm/pwm-phytium.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/pwm/pwm-phytium.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/pwm/pwm-phytium.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/remoteproc/homo_remoteproc.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/remoteproc/homo_remoteproc.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/remoteproc/homo_remoteproc.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/remoteproc/homo_remoteproc.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/rtc/rtc-sd3068.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/rtc/rtc-sd3068.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/rtc/rtc-sd3068.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/rtc/rtc-sd3068.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/spi/spi-phytium-dma.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/spi/spi-phytium-dma.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/spi/spi-phytium-dma.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/spi/spi-phytium-dma.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/spi/spi-phytium-pci.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/spi/spi-phytium-pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/spi/spi-phytium-pci.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/spi/spi-phytium-pci.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/spi/spi-phytium-plat.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/spi/spi-phytium-plat.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/spi/spi-phytium-plat.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/spi/spi-phytium-plat.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/spi/spi-phytium-qspi.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/spi/spi-phytium-qspi.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/spi/spi-phytium-qspi.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/spi/spi-phytium-qspi.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/spi/spi-phytium.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/spi/spi-phytium.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/spi/spi-phytium.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/spi/spi-phytium.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/spi/spi-phytium.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/spi/spi-phytium.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/spi/spi-phytium.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/spi/spi-phytium.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/Kconfig b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/Kconfig similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/Kconfig rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/Kconfig diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/Makefile b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/Makefile rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/Makefile diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/TODO b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/TODO similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/TODO rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/TODO diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ashmem.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ashmem.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ashmem.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ashmem.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ashmem.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ashmem.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ashmem.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ashmem.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/Kconfig b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/Kconfig similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/Kconfig rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/Kconfig diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/Makefile b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/Makefile rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/Makefile diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/heaps/Kconfig b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/heaps/Kconfig similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/heaps/Kconfig rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/heaps/Kconfig diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/heaps/Makefile b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/heaps/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/heaps/Makefile rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/heaps/Makefile diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/heaps/ion_cma_heap.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/heaps/ion_cma_heap.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/heaps/ion_cma_heap.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/heaps/ion_cma_heap.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/heaps/ion_page_pool.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/heaps/ion_page_pool.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/heaps/ion_page_pool.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/heaps/ion_page_pool.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/heaps/ion_page_pool.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/heaps/ion_page_pool.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/heaps/ion_page_pool.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/heaps/ion_page_pool.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/heaps/ion_system_heap.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/heaps/ion_system_heap.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/heaps/ion_system_heap.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/heaps/ion_system_heap.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/ion.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/ion.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/ion.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/ion.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/ion_buffer.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/ion_buffer.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/ion_buffer.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/ion_buffer.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/ion_dma_buf.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/ion_dma_buf.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/ion_dma_buf.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/ion_dma_buf.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/ion_heap.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/ion_heap.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/ion_heap.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/ion_heap.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/ion_private.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/ion_private.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/ion_private.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/ion_private.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/ion_protected_heap.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/ion_protected_heap.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/ion_protected_heap.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/ion_protected_heap.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/ion_trace.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/ion_trace.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/ion_trace.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/ion_trace.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/rockchip/Makefile b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/rockchip/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/rockchip/Makefile rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/rockchip/Makefile diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/rockchip/rockchip_ion.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/rockchip/rockchip_ion.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/rockchip/rockchip_ion.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/rockchip/rockchip_ion.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/rockchip/rockchip_ion_snapshot.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/rockchip/rockchip_ion_snapshot.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/ion/rockchip/rockchip_ion_snapshot.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/ion/rockchip/rockchip_ion_snapshot.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/uapi/ashmem.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/uapi/ashmem.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/uapi/ashmem.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/uapi/ashmem.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/uapi/ion.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/uapi/ion.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/staging/android/uapi/ion.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/staging/android/uapi/ion.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/tty/serial/phytium-uart.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/tty/serial/phytium-uart.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/tty/serial/phytium-uart.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/tty/serial/phytium-uart.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/Kconfig b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/Kconfig similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/Kconfig rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/Kconfig diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/Makefile b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/Makefile rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/Makefile diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/core.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/core.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/core.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/core.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/core.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/core.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/core.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/core.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/dma.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/dma.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/dma.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/dma.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/dma.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/dma.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/dma.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/dma.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/gadget.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/gadget.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/gadget.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/gadget.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/gadget.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/gadget.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/gadget.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/gadget.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/host.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/host.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/host.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/host.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/host_api.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/host_api.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/host_api.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/host_api.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/hw-regs.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/hw-regs.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/hw-regs.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/hw-regs.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/pci.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/pci.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/pci.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/pci.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/platform.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/platform.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/usb/phytium/platform.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/usb/phytium/platform.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/w1/masters/phytium_w1.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/w1/masters/phytium_w1.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/drivers/w1/masters/phytium_w1.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/drivers/w1/masters/phytium_w1.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/sound/pci/hda/hda_phytium.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/sound/pci/hda/hda_phytium.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/sound/pci/hda/hda_phytium.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/sound/pci/hda/hda_phytium.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/sound/pci/hda/hda_phytium.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/sound/pci/hda/hda_phytium.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/sound/pci/hda/hda_phytium.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/sound/pci/hda/hda_phytium.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/sound/soc/codecs/es8336.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/codecs/es8336.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/sound/soc/codecs/es8336.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/codecs/es8336.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/sound/soc/codecs/es8336.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/codecs/es8336.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/sound/soc/codecs/es8336.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/codecs/es8336.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/sound/soc/codecs/es8388.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/codecs/es8388.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/sound/soc/codecs/es8388.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/codecs/es8388.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/sound/soc/codecs/es8388.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/codecs/es8388.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/sound/soc/codecs/es8388.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/codecs/es8388.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/sound/soc/phytium/Kconfig b/device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/phytium/Kconfig similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/sound/soc/phytium/Kconfig rename to device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/phytium/Kconfig diff --git a/device_soc_phytium/common/kernel/linux-6.6/sound/soc/phytium/Makefile b/device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/phytium/Makefile similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/sound/soc/phytium/Makefile rename to device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/phytium/Makefile diff --git a/device_soc_phytium/common/kernel/linux-6.6/sound/soc/phytium/local.h b/device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/phytium/local.h similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/sound/soc/phytium/local.h rename to device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/phytium/local.h diff --git a/device_soc_phytium/common/kernel/linux-6.6/sound/soc/phytium/phytium_i2s.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/phytium/phytium_i2s.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/sound/soc/phytium/phytium_i2s.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/phytium/phytium_i2s.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/sound/soc/phytium/pmdk_dp.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/phytium/pmdk_dp.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/sound/soc/phytium/pmdk_dp.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/phytium/pmdk_dp.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/sound/soc/phytium/pmdk_es8336.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/phytium/pmdk_es8336.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/sound/soc/phytium/pmdk_es8336.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/phytium/pmdk_es8336.c diff --git a/device_soc_phytium/common/kernel/linux-6.6/sound/soc/phytium/pmdk_es8388.c b/device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/phytium/pmdk_es8388.c similarity index 100% rename from device_soc_phytium/common/kernel/linux-6.6/sound/soc/phytium/pmdk_es8388.c rename to device_board_phytium/common/kernel_source/linux-6.6/hck/sound/soc/phytium/pmdk_es8388.c diff --git a/device_board_phytium/common/kernel_source/linux-6.6/phytium.patch b/device_board_phytium/common/kernel_source/linux-6.6/phytium.patch index bc0081e05f2c795c73c77944313d5d7ea9a17c25..637ff040385bcd63b9b352843cee843f2c13764c 100644 --- a/device_board_phytium/common/kernel_source/linux-6.6/phytium.patch +++ b/device_board_phytium/common/kernel_source/linux-6.6/phytium.patch @@ -4726,6 +4726,26 @@ index aa1038b8a..3af04e839 100644 acpi_handle_debug(handle, "Link is referenced\n"); return link->irq.active; } +diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig +index 625af7583..907a541fd 100644 +--- a/drivers/char/Kconfig ++++ b/drivers/char/Kconfig +@@ -422,4 +422,6 @@ config ADI + and SSM (Silicon Secured Memory). Intended consumers of this + driver include crash and makedumpfile. + ++source "drivers/char/phytnetled/Kconfig" ++ + endmenu +diff --git a/drivers/char/Makefile b/drivers/char/Makefile +index c5f532e41..8a10c2370 100644 +--- a/drivers/char/Makefile ++++ b/drivers/char/Makefile +@@ -44,3 +44,4 @@ obj-$(CONFIG_PS3_FLASH) += ps3flash.o + obj-$(CONFIG_XILLYBUS_CLASS) += xillybus/ + obj-$(CONFIG_POWERNV_OP_PANEL) += powernv-op-panel.o + obj-$(CONFIG_ADI) += adi.o ++obj-$(CONFIG_PHYTNET_LED) += phytnetled/ diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig index 8de74dcfa..5950e4e2f 100644 --- a/drivers/char/hw_random/Kconfig @@ -4800,33 +4820,6 @@ index cb6138b8d..e0f2d90e1 100644 obj-$(CONFIG_SSIF_IPMI_BMC) += ssif_bmc.o +obj-$(CONFIG_PHYTIUM_KCS_IPMI_BMC) += kcs_bmc_phytium.o +obj-$(CONFIG_PHYTIUM_BT_IPMI_BMC) += bt_bmc_phytium.o -diff --git a/drivers/char/phytnetled/Kconfig b/drivers/char/phytnetled/Kconfig -new file mode 100644 -index 000000000..26691906d ---- /dev/null -+++ b/drivers/char/phytnetled/Kconfig -@@ -0,0 +1,13 @@ -+# SPDX-License-Identifier: GPL-2.0-only -+# -+# PCMCIA character device configuration -+# -+config PHYTNET_LED -+ tristate "Phytium mac led control module" -+ depends on PHYTMAC -+ depends on GPIO_PHYTIUM_PLAT -+ default m -+ help -+ If you have a network (Ethernet) controller of this type and -+ want to use it control port led say Y or M here. -+ -diff --git a/drivers/char/phytnetled/Makefile b/drivers/char/phytnetled/Makefile -new file mode 100644 -index 000000000..781bc90c1 ---- /dev/null -+++ b/drivers/char/phytnetled/Makefile -@@ -0,0 +1 @@ -+obj-$(CONFIG_PHYTNET_LED) += phytnet_led.o -\ No newline at end of file diff --git a/drivers/cpufreq/scpi-cpufreq.c b/drivers/cpufreq/scpi-cpufreq.c index d33be5698..989f99e26 100644 --- a/drivers/cpufreq/scpi-cpufreq.c @@ -4840,6 +4833,57 @@ index d33be5698..989f99e26 100644 return -EIO; return 0; +diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig +index e36506471..d96cfcdb9 100644 +--- a/drivers/dma/Kconfig ++++ b/drivers/dma/Kconfig +@@ -503,6 +503,34 @@ config PCH_DMA + ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series. + ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH. + ++config PHYTIUM_DDMA ++ bool "Phytium PE220x DDMA support" ++ depends on (ARCH_PHYTIUM || COMPILE_TEST) ++ select DMA_ENGINE ++ select DMA_VIRTUAL_CHANNELS ++ help ++ Enable support for Phytium PE220x DDMA controller. ++ ++config PHYTIUM_GDMA ++ bool "Phytium GDMA support" ++ depends on (ARCH_PHYTIUM || COMPILE_TEST) ++ select DMA_ENGINE ++ select DMA_VIRTUAL_CHANNELS ++ help ++ Enable support for Phytium GDMA controller. ++ ++ This engine provides acceleration for memory copy operations, it does ++ not support peripherals to memory data transfer. Say Y here if you have ++ such a chipset. If unsure, say N. ++ ++config PHYTIUM_PCI_DMAC ++ bool "Phytium px210 PCI DMA support" ++ depends on OF || COMPILE_TEST ++ select DMA_ENGINE ++ select DMA_VIRTUAL_CHANNELS ++ help ++ Enable support for Phytium px210 DMA controller ++ + config PL330_DMA + tristate "DMA API Driver for PL330" + select DMA_ENGINE +diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile +index 83553a97a..894019f5a 100644 +--- a/drivers/dma/Makefile ++++ b/drivers/dma/Makefile +@@ -60,6 +60,7 @@ obj-$(CONFIG_MXS_DMA) += mxs-dma.o + obj-$(CONFIG_NBPFAXI_DMA) += nbpfaxi.o + obj-$(CONFIG_OWL_DMA) += owl-dma.o + obj-$(CONFIG_PCH_DMA) += pch_dma.o ++obj-$(CONFIG_PHYTIUM_DDMA) += phytium/ + obj-$(CONFIG_PL330_DMA) += pl330.o + obj-$(CONFIG_PLX_DMA) += plx_dma.o + obj-$(CONFIG_PPC_BESTCOMM) += bestcomm/ diff --git a/drivers/edac/Kconfig b/drivers/edac/Kconfig index 110e99b86..1cbc7b48a 100644 --- a/drivers/edac/Kconfig @@ -5030,6 +5074,28 @@ index eb73b5d63..1b4888e64 100644 obj-$(CONFIG_GPIO_PISOSR) += gpio-pisosr.o obj-$(CONFIG_GPIO_PL061) += gpio-pl061.o obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) += gpio-pmic-eic-sprd.o +diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig +index ec4abf9ff..d1cad875d 100644 +--- a/drivers/gpu/drm/Kconfig ++++ b/drivers/gpu/drm/Kconfig +@@ -388,6 +388,8 @@ source "drivers/gpu/drm/solomon/Kconfig" + + source "drivers/gpu/drm/sprd/Kconfig" + ++source "drivers/gpu/drm/phytium/Kconfig" ++ + config DRM_HYPERV + tristate "DRM Support for Hyper-V synthetic video device" + depends on DRM && PCI && MMU && HYPERV +diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile +index 215e78e79..a670c0d95 100644 +--- a/drivers/gpu/drm/Makefile ++++ b/drivers/gpu/drm/Makefile +@@ -198,3 +198,4 @@ obj-$(CONFIG_DRM_HYPERV) += hyperv/ + obj-y += solomon/ + obj-$(CONFIG_DRM_SPRD) += sprd/ + obj-$(CONFIG_DRM_LOONGSON) += loongson/ ++obj-$(CONFIG_DRM_PHYTIUM) += phytium/ diff --git a/drivers/gpu/drm/amd/display/Kconfig b/drivers/gpu/drm/amd/display/Kconfig index 901d1961b..74d45d9ae 100644 --- a/drivers/gpu/drm/amd/display/Kconfig @@ -8153,6 +8219,30 @@ index fc9376117..487f62094 100644 obj-$(CONFIG_APPLE_MAILBOX) += apple-mailbox.o + +obj-$(CONFIG_PHYTIUM_MBOX) += phytium_mailbox.o +diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig +index ee579916f..20a72238a 100644 +--- a/drivers/media/platform/Kconfig ++++ b/drivers/media/platform/Kconfig +@@ -75,6 +75,7 @@ source "drivers/media/platform/mediatek/Kconfig" + source "drivers/media/platform/microchip/Kconfig" + source "drivers/media/platform/nvidia/Kconfig" + source "drivers/media/platform/nxp/Kconfig" ++source "drivers/media/platform/phytium/Kconfig" + source "drivers/media/platform/qcom/Kconfig" + source "drivers/media/platform/renesas/Kconfig" + source "drivers/media/platform/rockchip/Kconfig" +diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile +index 5453bb868..ab61f38de 100644 +--- a/drivers/media/platform/Makefile ++++ b/drivers/media/platform/Makefile +@@ -18,6 +18,7 @@ obj-y += mediatek/ + obj-y += microchip/ + obj-y += nvidia/ + obj-y += nxp/ ++obj-y += phytium/ + obj-y += qcom/ + obj-y += renesas/ + obj-y += rockchip/ diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 68d71b4b5..43e552602 100644 --- a/drivers/mfd/Kconfig @@ -8735,6 +8825,54 @@ index 9217379b9..36252b89e 100644 extern const struct attribute_group *spi_nor_sysfs_groups[]; +diff --git a/drivers/net/can/Kconfig b/drivers/net/can/Kconfig +index f8cde9f9f..718331660 100644 +--- a/drivers/net/can/Kconfig ++++ b/drivers/net/can/Kconfig +@@ -221,6 +221,7 @@ source "drivers/net/can/ifi_canfd/Kconfig" + source "drivers/net/can/m_can/Kconfig" + source "drivers/net/can/mscan/Kconfig" + source "drivers/net/can/peak_canfd/Kconfig" ++source "drivers/net/can/phytium/Kconfig" + source "drivers/net/can/rcar/Kconfig" + source "drivers/net/can/sja1000/Kconfig" + source "drivers/net/can/softing/Kconfig" +diff --git a/drivers/net/can/Makefile b/drivers/net/can/Makefile +index ff8f76295..ce1fccbc9 100644 +--- a/drivers/net/can/Makefile ++++ b/drivers/net/can/Makefile +@@ -27,6 +27,7 @@ obj-$(CONFIG_CAN_KVASER_PCIEFD) += kvaser_pciefd.o + obj-$(CONFIG_CAN_MSCAN) += mscan/ + obj-$(CONFIG_CAN_M_CAN) += m_can/ + obj-$(CONFIG_CAN_PEAK_PCIEFD) += peak_canfd/ ++obj-$(CONFIG_CAN_PHYTIUM) += phytium/ + obj-$(CONFIG_CAN_SJA1000) += sja1000/ + obj-$(CONFIG_CAN_SUN4I) += sun4i_can.o + obj-$(CONFIG_CAN_TI_HECC) += ti_hecc.o +diff --git a/drivers/net/ethernet/Kconfig b/drivers/net/ethernet/Kconfig +index 5a274b99f..0b38c5f99 100644 +--- a/drivers/net/ethernet/Kconfig ++++ b/drivers/net/ethernet/Kconfig +@@ -163,6 +163,7 @@ config ETHOC + source "drivers/net/ethernet/packetengines/Kconfig" + source "drivers/net/ethernet/pasemi/Kconfig" + source "drivers/net/ethernet/pensando/Kconfig" ++source "drivers/net/ethernet/phytium/Kconfig" + source "drivers/net/ethernet/qlogic/Kconfig" + source "drivers/net/ethernet/brocade/Kconfig" + source "drivers/net/ethernet/qualcomm/Kconfig" +diff --git a/drivers/net/ethernet/Makefile b/drivers/net/ethernet/Makefile +index 0d872d4ef..72d80f46a 100644 +--- a/drivers/net/ethernet/Makefile ++++ b/drivers/net/ethernet/Makefile +@@ -75,6 +75,7 @@ obj-$(CONFIG_NET_VENDOR_OKI) += oki-semi/ + obj-$(CONFIG_ETHOC) += ethoc.o + obj-$(CONFIG_NET_VENDOR_PACKET_ENGINES) += packetengines/ + obj-$(CONFIG_NET_VENDOR_PASEMI) += pasemi/ ++obj-$(CONFIG_NET_VENDOR_PHYTIUM) += phytium/ + obj-$(CONFIG_NET_VENDOR_QLOGIC) += qlogic/ + obj-$(CONFIG_NET_VENDOR_QUALCOMM) += qualcomm/ + obj-$(CONFIG_NET_VENDOR_REALTEK) += realtek/ diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cadence/macb.h index 9fb5a18e0..7c50f571f 100644 --- a/drivers/net/ethernet/cadence/macb.h @@ -10467,6 +10605,26 @@ index 5a143ad5f..f8ce3f41f 100644 } static void pci_setup_bridge_mmio(struct pci_dev *bridge) +diff --git a/drivers/perf/Kconfig b/drivers/perf/Kconfig +index 273d67ecf..88a6e70ba 100644 +--- a/drivers/perf/Kconfig ++++ b/drivers/perf/Kconfig +@@ -234,4 +234,6 @@ config CXL_PMU + + If unsure say 'm'. + ++source "drivers/perf/phytium/Kconfig" ++ + endmenu +diff --git a/drivers/perf/Makefile b/drivers/perf/Makefile +index 16b3ec4db..51603317f 100644 +--- a/drivers/perf/Makefile ++++ b/drivers/perf/Makefile +@@ -26,3 +26,4 @@ obj-$(CONFIG_ALIBABA_UNCORE_DRW_PMU) += alibaba_uncore_drw_pmu.o + obj-$(CONFIG_ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU) += arm_cspmu/ + obj-$(CONFIG_MESON_DDR_PMU) += amlogic/ + obj-$(CONFIG_CXL_PMU) += cxl_pmu.o ++obj-$(CONFIG_PHYTIUM_PMU) += phytium/ diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig index 8ebcddf91..3bd556182 100644 --- a/drivers/pwm/Kconfig @@ -10772,14 +10930,15 @@ index 5dc634897..c86417920 100644 +source "drivers/staging/android/Kconfig" endif # STAGING diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile -index aec6e94a3..e37614535 100644 +index aec6e94a3..518da7b49 100644 --- a/drivers/staging/Makefile +++ b/drivers/staging/Makefile -@@ -33,3 +33,4 @@ obj-$(CONFIG_HIEVENT) += hievent/ +@@ -33,3 +33,5 @@ obj-$(CONFIG_HIEVENT) += hievent/ obj-$(CONFIG_HISYSEVENT) += hisysevent/ obj-$(CONFIG_DFX_ZEROHUNG) += zerohung/ obj-$(CONFIG_DFX_HUNGTASK) += hungtask/ +obj-$(CONFIG_ANDROID) += android/ ++ diff --git a/drivers/tee/optee/Kconfig b/drivers/tee/optee/Kconfig index 70898bbd5..dc097c286 100644 --- a/drivers/tee/optee/Kconfig @@ -10911,6 +11070,32 @@ index 138abbc89..cd1d9c759 100644 # GPIOLIB helpers for modem control lines obj-$(CONFIG_SERIAL_MCTRL_GPIO) += serial_mctrl_gpio.o +diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig +index 7f33bcc31..7eaccbc6a 100644 +--- a/drivers/usb/Kconfig ++++ b/drivers/usb/Kconfig +@@ -129,6 +129,8 @@ source "drivers/usb/chipidea/Kconfig" + + source "drivers/usb/isp1760/Kconfig" + ++source "drivers/usb/phytium/Kconfig" ++ + comment "USB port drivers" + + if USB +diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile +index 949eca0ad..ed1ed7e32 100644 +--- a/drivers/usb/Makefile ++++ b/drivers/usb/Makefile +@@ -17,6 +17,8 @@ obj-$(CONFIG_USB_CDNS_SUPPORT) += cdns3/ + obj-$(CONFIG_USB_CDNS3) += cdns3/ + obj-$(CONFIG_USB_CDNSP_PCI) += cdns3/ + ++obj-$(CONFIG_USB_PHYTIUM) += phytium/ ++ + obj-$(CONFIG_USB_FOTG210) += fotg210/ + + obj-$(CONFIG_USB_MON) += mon/ diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c index b0137eac7..d7f8986bf 100644 --- a/drivers/usb/host/xhci-mem.c @@ -11891,6 +12076,38 @@ index b205c4820..6a10cce1f 100644 CPUHP_AP_ACTIVE, CPUHP_ONLINE, }; +diff --git a/include/linux/dma-buf.h b/include/linux/dma-buf.h +index 3f31baa32..556e77b2b 100644 +--- a/include/linux/dma-buf.h ++++ b/include/linux/dma-buf.h +@@ -422,6 +422,10 @@ struct dma_buf { + * obeying fences. See enum dma_resv_usage for further descriptions. + */ + struct dma_resv *resv; ++#ifdef CONFIG_DMABUF_PROCESS_INFO ++ pid_t exp_pid; ++ char exp_task_comm[TASK_COMM_LEN]; ++#endif + + /** @poll: for userspace poll support */ + wait_queue_head_t poll; +@@ -631,4 +635,16 @@ int dma_buf_vmap(struct dma_buf *dmabuf, struct iosys_map *map); + void dma_buf_vunmap(struct dma_buf *dmabuf, struct iosys_map *map); + int dma_buf_vmap_unlocked(struct dma_buf *dmabuf, struct iosys_map *map); + void dma_buf_vunmap_unlocked(struct dma_buf *dmabuf, struct iosys_map *map); ++#ifdef CONFIG_DMABUF_PROCESS_INFO ++/** ++ * get_dma_buf_from_file - Get struct dma_buf* from struct file* ++ * @f: [in] pointer to struct file, which is associated with a ++ * dma_buf object. ++ * ++ * If @f IS_ERR_OR_NULL, return NULL. ++ * If @f is not a file associated with dma_buf, return NULL. ++ */ ++struct dma_buf *get_dma_buf_from_file(struct file *f); ++#endif /* CONFIG_DMABUF_PROCESS_INFO */ ++ + #endif /* __DMA_BUF_H__ */ diff --git a/include/linux/i3c/master.h b/include/linux/i3c/master.h index f2eb2452f..30f0066b7 100644 --- a/include/linux/i3c/master.h @@ -12764,7 +12981,7 @@ index b74a539ec..73f16747d 100644 struct mtd_part_parser_data *); void (*cleanup)(const struct mtd_partition *pparts, int nr_parts); diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h -index 3ed1e637e30f..142622ae6587 100644 +index 3ed1e637e..142622ae6 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -511,9 +511,6 @@ PAGEFLAG(Checked, checked, PF_NO_COMPOUND) /* Used by some filesystems */ @@ -13050,7 +13267,7 @@ index 32c59053b..65d58c647 100644 int poll_count; diff --git a/include/trace/events/mmflags.h b/include/trace/events/mmflags.h -index 5078d1dfc291..51bcc4598de4 100644 +index 5078d1dfc..51bcc4598 100644 --- a/include/trace/events/mmflags.h +++ b/include/trace/events/mmflags.h @@ -139,8 +139,6 @@ IF_HAVE_PG_IDLE(idle) \ @@ -13074,6 +13291,19 @@ index add349889..3db2a19df 100644 +#define PORT_PHYTIUM 124 + #endif /* _UAPILINUX_SERIAL_CORE_H */ +diff --git a/init/main.c b/init/main.c +index c787e94cc..83a5b61b2 100644 +--- a/init/main.c ++++ b/init/main.c +@@ -1070,6 +1070,8 @@ void start_kernel(void) + arch_post_acpi_subsys_init(); + kcsan_init(); + ++ mdelay(5); ++ + /* Do the rest non-__init'ed, we're now alive */ + arch_call_rest_init(); + diff --git a/scripts/dtc/checks.c b/scripts/dtc/checks.c index 9f31d2607..e4d23040a 100644 --- a/scripts/dtc/checks.c @@ -13291,6 +13521,18 @@ index 439fa631c..e70e61755 100644 source "sound/soc/pxa/Kconfig" source "sound/soc/qcom/Kconfig" source "sound/soc/rockchip/Kconfig" +diff --git a/sound/soc/Makefile b/sound/soc/Makefile +index 8376fdb21..58c917a46 100644 +--- a/sound/soc/Makefile ++++ b/sound/soc/Makefile +@@ -53,6 +53,7 @@ obj-$(CONFIG_SND_SOC) += mediatek/ + obj-$(CONFIG_SND_SOC) += meson/ + obj-$(CONFIG_SND_SOC) += mxs/ + obj-$(CONFIG_SND_SOC) += kirkwood/ ++obj-$(CONFIG_SND_SOC) += phytium/ + obj-$(CONFIG_SND_SOC) += pxa/ + obj-$(CONFIG_SND_SOC) += qcom/ + obj-$(CONFIG_SND_SOC) += rockchip/ diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index 6d105a23c..810c18314 100644 --- a/sound/soc/codecs/Kconfig diff --git a/device_board_phytium/common/kernel_source/linux-6.6/phytium_standard_defconfig b/device_board_phytium/common/kernel_source/linux-6.6/phytium_standard_defconfig index 1a11b7cf087fbc25c78e7bde5955b3252efc0d57..44fa2c3a5e2296e73377dd5f8ef198c1040b2fbe 100644 --- a/device_board_phytium/common/kernel_source/linux-6.6/phytium_standard_defconfig +++ b/device_board_phytium/common/kernel_source/linux-6.6/phytium_standard_defconfig @@ -3084,10 +3084,10 @@ CONFIG_RTL_CARDS=y # CONFIG_RTL8821AE is not set # CONFIG_RTL8192CU is not set # CONFIG_RTL8XXXU is not set -CONFIG_RTW88=m -CONFIG_RTW88_CORE=m -CONFIG_RTW88_SDIO=m -CONFIG_RTW88_8821C=m +CONFIG_RTW88=y +CONFIG_RTW88_CORE=y +CONFIG_RTW88_SDIO=y +CONFIG_RTW88_8821C=y # CONFIG_RTW88_8822BE is not set # CONFIG_RTW88_8822BS is not set # CONFIG_RTW88_8822BU is not set @@ -3098,11 +3098,20 @@ CONFIG_RTW88_8821C=m # CONFIG_RTW88_8723DS is not set # CONFIG_RTW88_8723DU is not set # CONFIG_RTW88_8821CE is not set -CONFIG_RTW88_8821CS=m +CONFIG_RTW88_8821CS=y # CONFIG_RTW88_8821CU is not set # CONFIG_RTW88_DEBUG is not set # CONFIG_RTW88_DEBUGFS is not set -# CONFIG_RTW89 is not set +CONFIG_RTW89=y +CONFIG_RTW89_CORE=y +CONFIG_RTW89_PCI=y +CONFIG_RTW89_8852B=y +# CONFIG_RTW89_8851BE is not set +# CONFIG_RTW89_8852AE is not set +CONFIG_RTW89_8852BE=y +# CONFIG_RTW89_8852CE is not set +# CONFIG_RTW89_DEBUGMSG is not set +# CONFIG_RTW89_DEBUGFS is not set CONFIG_WLAN_VENDOR_RSI=y CONFIG_RSI_91X=m CONFIG_RSI_DEBUGFS=y @@ -6826,7 +6835,7 @@ CONFIG_IOMMU_DMA=y CONFIG_ARM_SMMU=y # CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y -CONFIG_ARM_SMMU_V3=y +# CONFIG_ARM_SMMU_V3 is not set # CONFIG_ARM_SMMU_V3_SVA is not set # CONFIG_VIRTIO_IOMMU is not set @@ -7684,6 +7693,55 @@ CONFIG_HTE=y # CONFIG_CDX_BUS is not set CONFIG_ACCESS_TOKENID=y +# +# HDF +# + +CONFIG_DRIVERS_HDF=y +CONFIG_HDF_SUPPORT_LEVEL=2 +CONFIG_DRIVERS_HDF_PLATFORM=y +# CONFIG_DRIVERS_HDF_PLATFORM_MIPI_DSI is not set +# CONFIG_DRIVERS_HDF_PLATFORM_MIPI_CSI is not set +CONFIG_DRIVERS_HDF_PLATFORM_GPIO=y +CONFIG_DRIVERS_HDF_PLATFORM_I2C=y +# CONFIG_USER_I2C_SUPPORT is not set +# CONFIG_DRIVERS_HDF_PLATFORM_WATCHDOG is not set +# CONFIG_DRIVERS_HDF_PLATFORM_PWM is not set +CONFIG_DRIVERS_HDF_PLATFORM_UART=y +# CONFIG_DRIVERS_HDF_PLATFORM_EMMC is not set +# CONFIG_DRIVERS_HDF_PLATFORM_MMC is not set +# CONFIG_DRIVERS_HDF_PLATFORM_SPI is not set +# CONFIG_DRIVERS_HDF_PLATFORM_RTC is not set +# CONFIG_PWM_HI35XX is not set +# CONFIG_DRIVERS_HDF_PLATFORM_REGULATOR is not set +# CONFIG_DRIVERS_HDF_PLATFORM_ADC is not set +# CONFIG_DRIVERS_HDF_PLATFORM_CLOCK is not set +# CONFIG_DRIVERS_HDF_PLATFORM_TRACE is not set +# CONFIG_DRIVERS_HDF_PLATFORM_DUMPER is not set +# CONFIG_IMX8MM_EMMC is not set +# CONFIG_IMX8MM_SDIO is not set +# CONFIG_DRIVERS_HDF_PLATFORM_IMX8MM_MIPI_DSI is not set +# CONFIG_DRIVERS_HDF_TEST is not set +# CONFIG_DRIVERS_HDF_DISP is not set +CONFIG_DRIVERS_HDF_INPUT=y +# CONFIG_DRIVERS_HDF_TP_5P5_GT911 is not set +# CONFIG_DRIVERS_HDF_TP_2P35_FT6236 is not set +# CONFIG_DRIVERS_HDF_INPUT_INFRARED is not set +# CONFIG_DRIVERS_HDF_TP_5P43_FT5406 is not set +# CONFIG_ARCH_NXP_TOUCH is not set +# CONFIG_DRIVERS_HDF_NETDEV_EXT is not set +# CONFIG_DRIVERS_HDF_WIFI_BUS is not set +# CONFIG_DRIVERS_HDF_BT is not set +# CONFIG_DRIVERS_HDF_SENSOR is not set +# CONFIG_DRIVERS_HDF_STORAGE is not set +# CONFIG_IMX8MM_SDIO_TEST is not set +# CONFIG_DRIVERS_HDF_USB_PNP_NOTIFY is not set +# CONFIG_DRIVERS_HDF_AUDIO is not set +# CONFIG_DRIVERS_HDF_VIBRATOR is not set +# CONFIG_DRIVERS_HDF_DSOFTBUS is not set +# CONFIG_DRIVERS_HDF_LIGHT is not set +# CONFIG_DRIVERS_HDF_NETWORK is not set + # # Hck # @@ -7713,7 +7771,8 @@ CONFIG_HMDFS_FS=y CONFIG_HMDFS_FS_PERMISSION=y CONFIG_HMDFS_FS_ENCRYPTION=y # CONFIG_HMDFS_FS_DEBUG is not set -# CONFIG_SHARE_FS is not set +CONFIG_SHARE_FS=y +# CONFIG_SHAREFS_SUPPORT_OVERRIDE is not set CONFIG_JBD2=y # CONFIG_JBD2_DEBUG is not set CONFIG_FS_MBCACHE=y @@ -8837,3 +8896,5 @@ CONFIG_OHOS_VENDOR=n CONFIG_DRM_MWV207=y CONFIG_MEM_PURGEABLE=y + +CONFIG_DMABUF_PROCESS_INFO=y diff --git a/device_board_phytium/common/patch/0001=build=add_phytium_whitelist.patch b/device_board_phytium/common/patch/0001=build=add_phytium_whitelist.patch index d6c318a9d7231d86985709565a7b7584f00f6e3c..e668c72d147cc8a742b79faf2c66409b9dbaa5f6 100755 --- a/device_board_phytium/common/patch/0001=build=add_phytium_whitelist.patch +++ b/device_board_phytium/common/patch/0001=build=add_phytium_whitelist.patch @@ -1,5 +1,5 @@ diff --git a/compile_standard_whitelist.json b/compile_standard_whitelist.json -index a99942a7..941f27d4 100644 +index a99942a7..cdd53e35 100644 --- a/compile_standard_whitelist.json +++ b/compile_standard_whitelist.json @@ -6,6 +6,9 @@ @@ -12,15 +12,16 @@ index a99942a7..941f27d4 100644 "vendor/hihope/ipcamera/ohos.build" ], "subsystem_components": [], -@@ -21,6 +24,7 @@ +@@ -21,6 +24,8 @@ "//device/board/hihope/rk3568/camera/vdi_impl/v4l2/pipeline_core:camera_pipeline_core", "//device/board/hihope/rk3568/camera/vdi_impl/v4l2:camera_host_vdi_impl_1.0", "//device/board/hihope/rk3568/camera/vdi_impl/v4l2:camera_pipeline_config", + "//device/board/phytium/common/wifi/rtw8821:rtw88", ++ "//device/board/phytium/common/wifi/rtw8852:rtw8852", "//device/soc/rockchip/rk3568/hardware/codec/jpeg:libjpeg_vdi_impl", "//device/soc/rockchip/rk3568/hardware/codec:libcodec_oem_interface", "//device/soc/rockchip/rk3568/hardware/display:display_composer_vendor", -@@ -28,6 +32,12 @@ +@@ -28,6 +33,12 @@ "//device/soc/rockchip/rk3568/hardware/display:libdisplay_buffer_vdi_impl", "//device/soc/rockchip/rk3568/hardware/display:libdisplay_buffer_vendor", "//device/soc/rockchip/rk3568/hardware/display:libdisplay_composer_vdi_impl", @@ -33,11 +34,12 @@ index a99942a7..941f27d4 100644 "//device/soc/rockchip/rk3568/hardware/mpp/mpp/legacy:librockchip_vpu", "//device/soc/rockchip/rk3568/hardware/omx_il/component/common:libRkOMX_Resourcemanager", "//device/soc/rockchip/rk3568/hardware/omx_il/component/video/dec:libomxvpu_dec", -@@ -106,12 +116,19 @@ +@@ -106,12 +117,20 @@ "//developtools/syscap_codec:syscap_tool_bin", "//device/board/hihope/rk3568/camera/vdi_impl/v4l2/pipeline_core:camera_pipeline_core", "//device/board/hihope/rk3568/camera/vdi_impl/v4l2:camera_host_vdi_impl_1.0", + "//device/board/phytium/common/wifi/rtw8821:rtw88", ++ "//device/board/phytium/common/wifi/rtw8852:rtw8852", "//device/soc/rockchip/rk3568/hardware/codec:libcodec_oem_interface", "//device/soc/rockchip/rk3568/hardware/display:display_composer_vendor", "//device/soc/rockchip/rk3568/hardware/display:display_gfx", @@ -53,15 +55,16 @@ index a99942a7..941f27d4 100644 "//device/soc/rockchip/rk3568/hardware/mpp/mpp/hdi_mpp:hdi_mpp", "//device/soc/rockchip/rk3568/hardware/mpp/mpp/legacy:librockchip_vpu", "//device/soc/rockchip/rk3568/hardware/mpp/mpp/legacy:rockchip_vpu_src", -@@ -382,6 +399,7 @@ +@@ -382,6 +401,8 @@ "//device/board/hihope/rk3568/camera/vdi_impl/v4l2/pipeline_core:camera_ipp_algo_example", "//device/board/hihope/rk3568/camera/vdi_impl/v4l2/pipeline_core:camera_pipeline_core", "//device/board/hihope/rk3568/camera/vdi_impl/v4l2:camera_host_vdi_impl_1.0", + "//device/board/phytium/common/wifi/rtw8821:rtw88", ++ "//device/board/phytium/common/wifi/rtw8852:rtw8852", "//device/soc/rockchip/rk3568/hardware/codec/jpeg:libjpeg_vdi_impl", "//device/soc/rockchip/rk3568/hardware/codec:libcodec_oem_interface", "//device/soc/rockchip/rk3568/hardware/display:display_composer_vendor", -@@ -390,6 +408,12 @@ +@@ -390,6 +411,12 @@ "//device/soc/rockchip/rk3568/hardware/display:libdisplay_buffer_vendor", "//device/soc/rockchip/rk3568/hardware/display:libdisplay_composer_vdi_impl", "//device/soc/rockchip/rk3568/hardware/display:libhigbm_vendor", @@ -74,11 +77,12 @@ index a99942a7..941f27d4 100644 "//device/soc/rockchip/rk3568/hardware/mpp/mpp/hdi_mpp:hdi_mpp", "//device/soc/rockchip/rk3568/hardware/mpp/mpp/legacy:rockchip_vpu_src", "//device/soc/rockchip/rk3568/hardware/omx_il/component/common:RkOMX_Basecomponent", -@@ -483,9 +507,16 @@ +@@ -483,9 +510,17 @@ "//base/security/huks/interfaces/inner_api/huks_lite:huks_server", "//base/security/huks/utils/crypto_adapter:libhuks_utils_client_service_adapter_static", "//device/board/hihope/rk3568/camera/vdi_impl/v4l2/pipeline_core:camera_pipeline_core", + "//device/board/phytium/common/wifi/rtw8821:rtw88", ++ "//device/board/phytium/common/wifi/rtw8852:rtw8852", "//device/soc/rockchip/rk3568/hardware/display:display_composer_vendor", "//device/soc/rockchip/rk3568/hardware/display:libdisplay_buffer_vendor", "//device/soc/rockchip/rk3568/hardware/display:libhigbm_vendor", diff --git a/device_board_phytium/common/patch/0027=foundation-graphic-graphic_2d=multi-gpu-support.patch b/device_board_phytium/common/patch/0027=foundation-graphic-graphic_2d=multi-gpu-support.patch index 078e59a55379e6ed6b47ca402b202107f037f962..cbdf249180922207358e24a5ae1889ba290c6d8c 100755 --- a/device_board_phytium/common/patch/0027=foundation-graphic-graphic_2d=multi-gpu-support.patch +++ b/device_board_phytium/common/patch/0027=foundation-graphic-graphic_2d=multi-gpu-support.patch @@ -89,7 +89,7 @@ index 167e01fae1..aeb7e910f4 100644 WLOGE("EglWrapperLoader Load Failed."); return false; diff --git a/frameworks/opengl_wrapper/src/EGL/egl_wrapper_entry.cpp b/frameworks/opengl_wrapper/src/EGL/egl_wrapper_entry.cpp -index 3ab9c8cbf7..a72a374106 100644 +index 3ab9c8cbf7..3a29d4e9a8 100644 --- a/frameworks/opengl_wrapper/src/EGL/egl_wrapper_entry.cpp +++ b/frameworks/opengl_wrapper/src/EGL/egl_wrapper_entry.cpp @@ -24,7 +24,11 @@ @@ -104,6 +104,15 @@ index 3ab9c8cbf7..a72a374106 100644 #include "thread_private_data_ctl.h" #include "window.h" #include "wrapper_log.h" +@@ -300,7 +304,7 @@ EGLint EglGetErrorImpl(void) + static __eglMustCastToProperFunctionPointerType FindBuiltinWrapper(const char* procname) + { + #if (defined(__aarch64__) || defined(__x86_64__)) +- static void* dlglv3Handle = dlopen("/system/lib64/libGLESv3.so", RTLD_NOW | RTLD_LOCAL); ++ static void* dlglv3Handle = dlopen("/system/lib64/platformsdk/libGLESv3.so", RTLD_NOW | RTLD_LOCAL); + #else + static void* dlglv3Handle = dlopen("/system/lib/platformsdk/libGLESv3.so", RTLD_NOW | RTLD_LOCAL); + #endif @@ -328,7 +332,11 @@ __eglMustCastToProperFunctionPointerType EglGetProcAddressImpl(const char *procn return __eglMustCastToProperFunctionPointerType(addr); } @@ -116,6 +125,7 @@ index 3ab9c8cbf7..a72a374106 100644 void *func = loader.GetProcAddrFromDriver(procname); if (!func) { + diff --git a/rosen/modules/render_service/core/pipeline/render_thread/rs_base_render_util.cpp b/rosen/modules/render_service/core/pipeline/render_thread/rs_base_render_util.cpp index 5129d634fa..2940fd51bf 100644 --- a/rosen/modules/render_service/core/pipeline/render_thread/rs_base_render_util.cpp diff --git a/device_board_phytium/common/patch/0033=foundation-communication-wifi=disable-p2p.patch b/device_board_phytium/common/patch/0033=foundation-communication-wifi=disable-p2p.patch deleted file mode 100755 index 3bc18a6b24b4f6c910e8328e25cd5f863fd1f746..0000000000000000000000000000000000000000 --- a/device_board_phytium/common/patch/0033=foundation-communication-wifi=disable-p2p.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/wifi/wifi.gni b/wifi/wifi.gni -index e54029250..71dc49163 100644 ---- a/wifi/wifi.gni -+++ b/wifi/wifi.gni -@@ -19,7 +19,7 @@ CONFIG_CTRL_IFACE = "unix" - - declare_args() { - wifi_feature_dynamic_unload_sa = false -- wifi_feature_with_p2p = true -+ wifi_feature_with_p2p = false - wifi_feature_with_rpt = true - wifi_feature_with_ap_intf = "wlan" - wifi_feature_with_ap_num = 1 diff --git a/device_board_phytium/common/patch/0034=foundation-communication-wifi=disable-hdi-chip-supported.patch b/device_board_phytium/common/patch/0034=foundation-communication-wifi=disable-p2p-and-hdi.patch old mode 100755 new mode 100644 similarity index 30% rename from device_board_phytium/common/patch/0034=foundation-communication-wifi=disable-hdi-chip-supported.patch rename to device_board_phytium/common/patch/0034=foundation-communication-wifi=disable-p2p-and-hdi.patch index fb63f382c287ebd9ea9bbe09b2896b3e1526b799..da1a48412a2ee41b7b6fcca79596138e46702f00 --- a/device_board_phytium/common/patch/0034=foundation-communication-wifi=disable-hdi-chip-supported.patch +++ b/device_board_phytium/common/patch/0034=foundation-communication-wifi=disable-p2p-and-hdi.patch @@ -1,8 +1,37 @@ +diff --git a/wifi/bundle.json b/wifi/bundle.json +index 1521e4d89..c82a30724 100644 +--- a/wifi/bundle.json ++++ b/wifi/bundle.json +@@ -119,7 +119,8 @@ + "time_service", + "asset", + "icu", +- "window_manager" ++ "window_manager", ++ "wpa_supplicant" + ], + "third_party": [ + "wpa_supplicant" diff --git a/wifi/wifi.gni b/wifi/wifi.gni -index 71dc49163..b245261cd 100644 +index e54029250..1e48f913a 100644 --- a/wifi/wifi.gni +++ b/wifi/wifi.gni -@@ -52,10 +52,7 @@ declare_args() { +@@ -19,7 +19,7 @@ CONFIG_CTRL_IFACE = "unix" + + declare_args() { + wifi_feature_dynamic_unload_sa = false +- wifi_feature_with_p2p = true ++ wifi_feature_with_p2p = false + wifi_feature_with_rpt = true + wifi_feature_with_ap_intf = "wlan" + wifi_feature_with_ap_num = 1 +@@ -47,15 +47,11 @@ declare_args() { + wifi_feature_with_random_mac_addr = true + wifi_feature_with_hpf_supported = true + wifi_feature_with_scan_control = true +- wifi_feature_with_hdi_wpa_supported = true ++ wifi_feature_with_hdi_wpa_supported = false + wifi_feature_network_selection = false wifi_feature_p2p_random_mac_addr = true wifi_feature_with_hdi_chip_supported = false wifi_feature_with_sta_asset = true @@ -10,7 +39,6 @@ index 71dc49163..b245261cd 100644 - defined(global_parts_info.hdf_drivers_interface_wlan)) { - wifi_feature_with_hdi_chip_supported = true - } -+ wifi_feature_with_hdi_chip_supported = true wifi_feature_with_vap_manager = true wifi_feature_with_wifi_oeminfo_mac = false } diff --git a/device_board_phytium/common/patch/0035=base-update-updater=support_OTA_ui.patch b/device_board_phytium/common/patch/0035=base-update-updater=support_OTA_ui.patch index 91d032c84ffea09cafd74eb7d9115cc963a59a78..3954bcd5235f79a3e55c419bc9a16d6cec3dd3e5 100644 --- a/device_board_phytium/common/patch/0035=base-update-updater=support_OTA_ui.patch +++ b/device_board_phytium/common/patch/0035=base-update-updater=support_OTA_ui.patch @@ -3,7 +3,7 @@ index 887a375e..66c6b84e 100755 --- a/resources/BUILD.gn +++ b/resources/BUILD.gn @@ -13,7 +13,7 @@ - + import("//base/update/updater/updater_default_cfg.gni") import("//build/ohos.gni") - @@ -71,7 +71,7 @@ index 887a375e..66c6b84e 100755 + "${phytium_resources_path}/pages/upd.json", + "${phytium_resources_path}/string/string.json", ] - + -if (product_name == "rk3568") { - updater_resources_list += [ - "${product_name}/images/icon/darkOUCOHlogo.png", @@ -133,7 +133,7 @@ index 887a375e..66c6b84e 100755 -} - updater_resources_target = [] - + if (!updater_ui_support) { @@ -161,7 +156,7 @@ foreach(file, updater_resources_list) { module_install_dir = "user/data" @@ -178,3 +178,21 @@ index 681ec535..ed7c70c0 100644 // 3: get vaild encoder and crtc crtc_ = GetCrtc(*res_, fd_, *conn_); if (crtc_ == nullptr) { +diff --git a/services/updater_utils.cpp b/services/updater_utils.cpp +index 6c7c0983..e5d65bbf 100755 +--- a/services/updater_utils.cpp ++++ b/services/updater_utils.cpp +@@ -128,6 +128,13 @@ bool DeleteUpdaterPath(const std::string &path) + + bool ClearMisc() + { ++ // 新增执行grub_exchange_updater.sh脚本 ++ int script_ret = system("sh /etc/grub_exchange_updater.sh"); ++ if (script_ret != 0) { ++ LOG(ERROR) << "exec failed: /etc/grub_exchange_updater.sh, error code=" << script_ret; ++ } else { ++ LOG(INFO) << "exec successed: /etc/grub_exchange_updater.sh"; ++ } + struct UpdateMessage cleanBoot {}; + if (!WriteUpdaterMiscMsg(cleanBoot)) { + LOG(ERROR) << "ClearMisc clear boot message to misc failed"; diff --git a/device_board_phytium/common/patch/0038=base-startup-init=exchange_grub_default_param_with_reboot_updater.patch b/device_board_phytium/common/patch/0038=base-startup-init=exchange_grub_default_param_with_reboot_updater.patch new file mode 100644 index 0000000000000000000000000000000000000000..2025943a521e34987fc1b0977f556dd60a71c027 --- /dev/null +++ b/device_board_phytium/common/patch/0038=base-startup-init=exchange_grub_default_param_with_reboot_updater.patch @@ -0,0 +1,19 @@ +diff --git a/services/modules/reboot/reboot.c b/services/modules/reboot/reboot.c +index a578c97b..97de20fe 100644 +--- a/services/modules/reboot/reboot.c ++++ b/services/modules/reboot/reboot.c +@@ -170,6 +170,14 @@ PLUGIN_STATIC int DoRebootShutdown(int id, const char *name, int argc, const cha + + static int DoRebootUpdater(int id, const char *name, int argc, const char **argv) + { ++ // 新增执行grub_exchange_ohos.sh脚本 ++ int script_ret = system("sh /vendor/etc/grub_exchange_ohos.sh"); ++ if (script_ret != 0) { ++ PLUGIN_LOGE("exec failed: /vendor/etc/grub_exchange_ohos.sh, error code=%d", script_ret); ++ } else { ++ PLUGIN_LOGI("exec successed: /vendor/etc/grub_exchange_ohos.sh"); ++ } ++ + UNUSED(id); + PLUGIN_LOGI("DoRebootUpdater argc %d %s", argc, name); + PLUGIN_CHECK(argc >= 1, return -1, "Invalid parameter"); diff --git a/device_board_phytium/common/patch/0039=drivers-peripheral=add-system-property-for-codec.patch b/device_board_phytium/common/patch/0039=drivers-peripheral=add-system-property-for-codec.patch new file mode 100644 index 0000000000000000000000000000000000000000..d6b3de7f03b75e3e9ee11461532ac1f8b104acaf --- /dev/null +++ b/device_board_phytium/common/patch/0039=drivers-peripheral=add-system-property-for-codec.patch @@ -0,0 +1,55 @@ +diff --git a/codec/bundle.json b/codec/bundle.json +index 54b90a968..cc66f8852 100644 +--- a/codec/bundle.json ++++ b/codec/bundle.json +@@ -35,7 +35,8 @@ + "hitrace", + "hilog", + "ipc", +- "openmax" ++ "openmax", ++ "init" + ], + "third_party": [] + }, +diff --git a/codec/hal/idl_service/BUILD.gn b/codec/hal/idl_service/BUILD.gn +index af38c5d9b..7cd89fbbc 100644 +--- a/codec/hal/idl_service/BUILD.gn ++++ b/codec/hal/idl_service/BUILD.gn +@@ -58,7 +58,10 @@ ohos_shared_library("libcodec_component_manager_service_3.0") { + "ipc:ipc_single", + ] + } +- external_deps += [ "openmax:libopenmax_static" ] ++ external_deps += [ ++ "init:libbegetutil", ++ "openmax:libopenmax_static", ++ ] + defines = [] + if (drivers_peripheral_codec_feature_set_omx_role) { + defines += [ "SUPPORT_ROLE" ] +diff --git a/codec/hal/idl_service/src/component_mgr.cpp b/codec/hal/idl_service/src/component_mgr.cpp +index 633424981..2346636f0 100644 +--- a/codec/hal/idl_service/src/component_mgr.cpp ++++ b/codec/hal/idl_service/src/component_mgr.cpp +@@ -16,6 +16,7 @@ + #include "component_mgr.h" + #include + #include "codec_log_wrapper.h" ++#include "parameter.h" + namespace OHOS { + namespace Codec { + namespace Omx { +@@ -82,7 +83,11 @@ int32_t ComponentMgr::GetRolesForComponent(const char *componentName, std::vecto + + void ComponentMgr::AddVendorComponent() + { +- AddComponentByLibName("libOMX_Core.z.so"); ++ char useSoftware[8] = {0}; // 8 for system parameter usage ++ auto res = GetParameter("persist.init.debug.usesoftware", "0", useSoftware, sizeof(useSoftware)); ++ if (!(res == 1 && useSoftware[0] == '1')) { ++ AddComponentByLibName("libOMX_Core.z.so"); ++ } + AddComponentByLibName("libomx_audio_codec.z.so"); + } + diff --git a/device_board_phytium/common/patch/tengrui_d/0038=commonlibrary-ets_utils=disable_compare_exchange_weak.patch b/device_board_phytium/common/patch/tengrui_d/0038=commonlibrary-ets_utils=disable_compare_exchange_weak.patch new file mode 100644 index 0000000000000000000000000000000000000000..22eff74cb8e228ede273a228da9c3eb3e2d5027d --- /dev/null +++ b/device_board_phytium/common/patch/tengrui_d/0038=commonlibrary-ets_utils=disable_compare_exchange_weak.patch @@ -0,0 +1,22 @@ +diff --git a/js_concurrent_module/worker/worker.cpp b/js_concurrent_module/worker/worker.cpp +index 58dcf510..3334e134 100644 +--- a/js_concurrent_module/worker/worker.cpp ++++ b/js_concurrent_module/worker/worker.cpp +@@ -582,7 +582,7 @@ napi_value Worker::Terminate(napi_env env, napi_callback_info cbinfo) + return nullptr; + } + bool expected = false; +- if (worker->isTerminated_.compare_exchange_weak(expected, true)) { ++ if (worker->isTerminated_.compare_exchange_strong(expected, true)) { + HILOG_DEBUG("worker:: Terminate worker"); + } else { + HILOG_DEBUG("worker:: worker is terminated when Terminate"); +@@ -1946,7 +1946,7 @@ void Worker::TerminateInner() + void Worker::CloseInner() + { + bool expected = false; +- if (isTerminated_.compare_exchange_weak(expected, true)) { ++ if (isTerminated_.compare_exchange_strong(expected, true)) { + HILOG_INFO("worker:: Close worker"); + } else { + HILOG_DEBUG("worker:: worker is terminated when Close"); diff --git a/device_board_phytium/common/tools/grub_exchange.sh b/device_board_phytium/common/tools/grub_exchange.sh new file mode 100644 index 0000000000000000000000000000000000000000..a0570f92a990e831e072237df23567d562d6cdb6 --- /dev/null +++ b/device_board_phytium/common/tools/grub_exchange.sh @@ -0,0 +1,144 @@ +#!/bin/bash + +# Copyright (c) 2025 Phytium Technology Co., Ltd. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +set -e # Exit immediately on error + +# ======================== +# FUNCTION DEFINITIONS +# ======================== +unmount_partition() { + echo -n "⏳ Unmounting partition... " + if umount "$mount_point" &> /dev/null; then + echo -e "\e[32mSUCCESS\e[0m (${PARTITIONS} unmounted)" + return 0 + else + echo -e "\e[31mFAILED\e[0m" + echo -e "❌ Error: Could not unmount ${PARTITIONS}" + echo "Possible reasons:" + echo "1. Filesystem is busy (check open files)" + echo "2. Device removal in progress" + echo "3. Invalid mount point: ${mount_point}" + return 1 + fi +} + +# ======================== +# SCRIPT START +# ======================== +cat << "EOF" +╔══════════════════════════════════════════╗ +║ GRUB Configuration Switcher ║ +╟──────────────────────────────────────────╢ +║ Switches between OpenHarmony and Updater║ +╚══════════════════════════════════════════╝ +EOF + +# ======================== +# 1. LOCATE FSTAB FILE +# ======================== +echo -e "\n\e[34m[STEP 1/5] Locating system configuration...\e[0m" +if [ -f /vendor/etc/fstab.* ]; then + fstab_file=$(ls -1 /vendor/etc/fstab.* | head -n1) + mount_point="/tmp" + echo -e "✓ Found system file: \e[36m${fstab_file}\e[0m" +elif [ -f /etc/fstab.* ]; then + fstab_file=$(ls -1 /etc/fstab.* | head -n1) + mount_point="/mnt" + echo -e "✓ Found updater file: \e[36m${fstab_file}\e[0m" +else + echo -e "\e[31m✗ Critical: No fstab files found\e[0m" + echo "System files required for operation not found." + exit 1 +fi + +# ======================== +# 2. IDENTIFY BOOT PARTITION +# ======================== +echo -e "\n\e[34m[STEP 2/5] Identifying boot partition...\e[0m" +PARTITIONS=$( + grep -E '^/dev/block/(sd[a-z]+[0-9]*|nvme[0-9]+n[0-9]+p?[0-9]*|mmcblk[0-9]+p?[0-9]*)' "$fstab_file" \ + | sed -E ' + /^#/d; # 删除注释行 + s#^([^ ]+).*#\1#; # 提取分区路径(第一列) + s/[0-9]+p?[0-9]*$//; # 移除分区末尾数字(如 sda1 → sda) + /(nvme|mmcblk)/ s#$#p1#; # NVMe/MMC 设备补全为 p1 + /sd/ s#$#1#; # SATA 设备补全为 1 + ' \ + | sort -u \ + | sed 's/[[:space:]]//g' # 删除所有空白字符 +) + +if [ -z "$PARTITIONS" ]; then + echo -e "\e[31m✗ Error: No boot partition found in ${fstab_file}\e[0m" + exit 1 +else + echo -e "✓ Boot partition identified: \e[1;36m${PARTITIONS}\e[0m" +fi + +# ======================== +# 3. MOUNT BOOT PARTITION +# ======================== +echo -e "\n\e[34m[STEP 3/5] Mounting boot partition...\e[0m" +echo -n "Mounting ${PARTITIONS} to ${mount_point}... " +if mount -t vfat ${PARTITIONS} ${mount_point} &> /dev/null; then + echo -e "\e[32mSUCCESS\e[0m" +else + echo -e "\e[31mFAILED\e[0m" + echo "Possible reasons:" + echo "1. Invalid partition: ${PARTITIONS}" + echo "2. Already mounted at another location" + echo "3. Filesystem errors (try fsck)" + exit 1 +fi + +# ======================== +# 4. MODIFY GRUB CONFIG +# ======================== +echo -e "\n\e[34m[STEP 4/5] Modifying GRUB configuration...\e[0m" +grub_cfg="${mount_point}/EFI/BOOT/grub.cfg" # GRUB config path +# Verify GRUB config exists +if [ ! -f "$grub_cfg" ]; then + echo -e "\e[31m✗ Critical: GRUB config not found at ${grub_cfg}\e[0m" + unmount_partition + exit 1 +fi + +# Detect and toggle default boot entry +echo -n "Switching default boot entry... " +if grep -q 'default="OpenHarmony"' "$grub_cfg"; then + sed -i 's/default="OpenHarmony"/default="Updater"/' "$grub_cfg" + echo -e "\e[32mOpenHarmony → Updater\e[0m" +elif grep -q 'default="Updater"' "$grub_cfg"; then + sed -i 's/default="Updater"/default="OpenHarmony"/' "$grub_cfg" + echo -e "\e[32mUpdater → OpenHarmony\e[0m" +else + echo -e "\e[31mFAILED\e[0m" + echo "✗ Error: Boot options not found in GRUB config" + echo "Expected entries: OpenHarmony or Updater" + unmount_partition + exit 1 +fi + +# ======================== +# 5. CLEANUP +# ======================== +echo -e "\n\e[34m[STEP 5/5] Finalizing operation...\e[0m" +if unmount_partition; then + echo -e "\n\e[42m\t OPERATION COMPLETED SUCCESSFULLY \t\e[0m\n" +else + echo -e "\n\e[41m\t OPERATION COMPLETED WITH WARNINGS \t\e[0m\n" + echo "Warning: Partition unmount failed!" + echo "Please check: umount ${mount_point}" +fi \ No newline at end of file diff --git a/device_board_phytium/common/updater_resources/phytium/pages/confirm.json b/device_board_phytium/common/updater_resources/phytium/pages/confirm.json index 3acaf17ef1f0bfa31e64ba54c1ac7680fa682cac..721b779b2c94a6ae7c28d4ccd9e6816f4cfbe33c 100644 --- a/device_board_phytium/common/updater_resources/phytium/pages/confirm.json +++ b/device_board_phytium/common/updater_resources/phytium/pages/confirm.json @@ -8,7 +8,8 @@ "UILabel": { "bgColor": "#f1f3f5ff", "fontColor": "#000000e6", - "align" : "center" + "align" : "center", + "style" : "normal" }, "UIImageView": { "imgCnt" : 1, diff --git a/device_board_phytium/common/updater_resources/phytium/pages/menu.json b/device_board_phytium/common/updater_resources/phytium/pages/menu.json index bda16b3ea2071c9122394864e1d019522200d8ea..7c184ce17a844f03fc299b7cb8828f37e7a25384 100644 --- a/device_board_phytium/common/updater_resources/phytium/pages/menu.json +++ b/device_board_phytium/common/updater_resources/phytium/pages/menu.json @@ -22,7 +22,8 @@ "UILabel": { "bgColor": "#f1f3f5ff", "fontColor": "#000000e6", - "align" : "center" + "align" : "center", + "style" : "normal" }, "UIImageView": { "imgCnt" : 1, @@ -119,4 +120,4 @@ "fontColor": "#00000099" } ] -} \ No newline at end of file +} diff --git a/device_board_phytium/common/updater_resources/phytium/pages/upd.json b/device_board_phytium/common/updater_resources/phytium/pages/upd.json index 588c2355402642c7b3264afbe2bbf01df6c54d3b..93de320d8c352690a1c7d54e473776a19e2b1a27 100755 --- a/device_board_phytium/common/updater_resources/phytium/pages/upd.json +++ b/device_board_phytium/common/updater_resources/phytium/pages/upd.json @@ -86,7 +86,8 @@ "UILabel": { "bgColor": "#000000ff", "fontColor": "#ffffffe6", - "align" : "center" + "align" : "center", + "style" : "normal" }, "UIImageView": { "imgCnt" : 1, @@ -115,7 +116,7 @@ "x": 213, "y": 240, "w": 853, - "h": 34, + "h": 60, "resPath": "/resources/images/icon/darkOUCOHlogo.png" }, { @@ -124,7 +125,7 @@ "x": 213, "y": 240, "w": 853, - "h": 34, + "h": 60, "resPath": "/resources/images/icon/lightOUCOHlogo.png" }, { @@ -281,7 +282,7 @@ "x": 256, "y": 308, "w": 768, - "h": 2, + "h": 4, "endPoint" : "FlashPoint_Image", "hasEp" : true }, @@ -291,7 +292,7 @@ "x": 256, "y": 308, "w": 768, - "h": 2, + "h": 4, "bgColor": "#262626ff", "fgColor": "#b4b4b4ff", "endPoint" : "FlashPointDark_Image", @@ -322,4 +323,4 @@ "updInterval": 10 } ] -} \ No newline at end of file +} diff --git a/device_board_phytium/common/wifi/rtw8852/BUILD.gn b/device_board_phytium/common/wifi/rtw8852/BUILD.gn new file mode 100755 index 0000000000000000000000000000000000000000..86b65c4ef188b9872527d158358cecda0b69066f --- /dev/null +++ b/device_board_phytium/common/wifi/rtw8852/BUILD.gn @@ -0,0 +1,28 @@ +# Copyright (c) 2024 Phytium Technology Co., Ltd. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build/ohos.gni") + +ohos_prebuilt_shared_library("rtw8852b_fw-1.bin") { + source = "rtw8852b_fw-1.bin" + install_images = [ "ramdisk" ] + module_install_dir = "lib/firmware/rtw89" + part_name = "device_${device_name}" + install_enable = true +} + +group("rtw8852") { + deps = [ + ":rtw8852b_fw-1.bin", + ] +} diff --git a/device_board_phytium/common/wifi/rtw8852/rtw8852b_fw-1.bin b/device_board_phytium/common/wifi/rtw8852/rtw8852b_fw-1.bin new file mode 100755 index 0000000000000000000000000000000000000000..ab2f80819cbbeefe266e34f4d85470e588f87fbe Binary files /dev/null and b/device_board_phytium/common/wifi/rtw8852/rtw8852b_fw-1.bin differ diff --git a/device_board_phytium/phytiumpi-firefly/BUILD.gn b/device_board_phytium/phytiumpi-firefly/BUILD.gn index e4d8389cf28753bb5214f95b38fb2b3e6a9ab56a..9c170f1c7fcd0ff995f61c1ebc4df080526cb3e6 100755 --- a/device_board_phytium/phytiumpi-firefly/BUILD.gn +++ b/device_board_phytium/phytiumpi-firefly/BUILD.gn @@ -24,5 +24,6 @@ group("${device_name}_group") { "//device/soc/phytium/common/hardware/display:display_buffer_model", "//device/soc/phytium/common/hardware/display:display_composer_model", "updater:updater_files", + "//device/soc/phytium/pe2x04/vpu:vpu_group", ] } diff --git a/device_board_phytium/phytiumpi-firefly/cfg/BUILD.gn b/device_board_phytium/phytiumpi-firefly/cfg/BUILD.gn index 2058346f68b9109b5afdb1c23b9b3dee9a1a744b..0d176ba4b65887d18026438d8fabcf81e26686fa 100755 --- a/device_board_phytium/phytiumpi-firefly/cfg/BUILD.gn +++ b/device_board_phytium/phytiumpi-firefly/cfg/BUILD.gn @@ -52,6 +52,13 @@ if (enable_ramdisk) { } } +ohos_prebuilt_etc("grub_exchange_ohos.sh") { + source = "../../common/tools/grub_exchange.sh" + part_name = "device_${device_name}" + output = "grub_exchange_ohos.sh" + install_images = [ vendor_base_dir ] + install_enable = true +} group("init_configs") { deps = [ @@ -59,5 +66,6 @@ group("init_configs") { ":fstab.${device_name}", ":init.${device_name}.cfg", ":init.${device_name}.usb.cfg", + ":grub_exchange_ohos.sh", ] } diff --git a/device_board_phytium/phytiumpi-firefly/cfg/init.phytiumpi-firefly.cfg b/device_board_phytium/phytiumpi-firefly/cfg/init.phytiumpi-firefly.cfg index 0e0cbb6bba1827f0bc280542402617362e598509..d9c97eb4296a3f378a0c266b651347f5ae289000 100755 --- a/device_board_phytium/phytiumpi-firefly/cfg/init.phytiumpi-firefly.cfg +++ b/device_board_phytium/phytiumpi-firefly/cfg/init.phytiumpi-firefly.cfg @@ -19,7 +19,8 @@ "write /proc/sys/kernel/hung_task_timeout_secs 90", "write /sys/kernel/hungtask/enable on", "write /sys/kernel/hungtask/monitorlist whitelist,init,appspawn", - "symlink /dev/block/platform/soc/28000000.mmc/ /dev/block/by-name", + "symlink /dev/block/platform/soc/28000000.mmc/by-name /dev/block/by-name", + "symlink /dev/block/mmcblk0p5 /dev/block/by-name/misc", "chown system system /sys/kernel/hungtask/userlist", "chmod 0666 /dev/pvr_sync", "chmod 0666 /dev/vxd0", diff --git a/device_board_phytium/phytiumpi-firefly/dts/pe2204.dtsi b/device_board_phytium/phytiumpi-firefly/dts/pe2204.dtsi index 5d8f2d6fffee3f6292e2af81e742f086690cb5c6..228264b282ee3985002e963df92ff70bd41eaa81 100644 --- a/device_board_phytium/phytiumpi-firefly/dts/pe2204.dtsi +++ b/device_board_phytium/phytiumpi-firefly/dts/pe2204.dtsi @@ -211,7 +211,7 @@ }; macb0: ethernet@3200c000 { - compatible = "cdns,phytium-gem"; + compatible = "cdns,phytium-gem-1.0"; reg = <0x0 0x3200c000 0x0 0x2000>; interrupts = , , @@ -229,7 +229,7 @@ }; macb1: ethernet@3200e000 { - compatible = "cdns,phytium-gem"; + compatible = "cdns,phytium-gem-1.0"; reg = <0x0 0x3200e000 0x0 0x2000>; interrupts = , , @@ -242,7 +242,7 @@ }; macb2: ethernet@32010000 { - compatible = "cdns,phytium-gem"; + compatible = "cdns,phytium-gem-1.0"; reg = <0x0 0x32010000 0x0 0x2000>; interrupts = , , @@ -255,7 +255,7 @@ }; macb3: ethernet@32012000 { - compatible = "cdns,phytium-gem"; + compatible = "cdns,phytium-gem-1.0"; reg = <0x0 0x32012000 0x0 0x2000>; interrupts = , , diff --git a/device_board_phytium/phytiumpi-firefly/updater/BUILD.gn b/device_board_phytium/phytiumpi-firefly/updater/BUILD.gn index 34c3bd7f7f5b045b0011948e8bb07462ed339d77..dff04ad6da91b5f55e3d6af62484343ba01db27f 100644 --- a/device_board_phytium/phytiumpi-firefly/updater/BUILD.gn +++ b/device_board_phytium/phytiumpi-firefly/updater/BUILD.gn @@ -63,6 +63,13 @@ ohos_prebuilt_executable("busybox") { part_name = "${partname}" } +ohos_prebuilt_etc("grub_exchange_updater.sh") { + source = "../../common/tools/grub_exchange.sh" + output = "grub_exchange_updater.sh" + install_images = [ "updater" ] + part_name = "${partname}" +} + group("updater_files") { deps = [ ":fstab.updater", @@ -72,5 +79,6 @@ group("updater_files") { ":updater_ueventd.cfg", ":hdc_network.sh", ":busybox", + ":grub_exchange_updater.sh", ] } diff --git a/device_board_phytium/phytiumpi-firefly/updater/config/init.cfg b/device_board_phytium/phytiumpi-firefly/updater/config/init.cfg index 28449ed2db8c2dcc78be2fe116cc068ffd1eea57..8a2ff7e20e8e7245778fed6a1996f84c0926a796 100644 --- a/device_board_phytium/phytiumpi-firefly/updater/config/init.cfg +++ b/device_board_phytium/phytiumpi-firefly/updater/config/init.cfg @@ -14,6 +14,9 @@ "cmds" : [ "exec /bin/sh /etc/hdc_network.sh", "wait /dev/block/platform/soc/28000000.mmc", + "symlink /dev/block/platform/soc/28000000.mmc/by-name /dev/block/by-name", + "symlink /dev/block/mmcblk0p2 /dev/block/by-name/system", + "symlink /dev/block/mmcblk0p3 /dev/block/by-name/vendor", "symlink /dev/block/mmcblk0p5 /dev/block/by-name/misc" ] }, { @@ -30,8 +33,7 @@ "uid" : 0, "gid" : [0, "update", "input_user_host", "shell", "graphics", "system"], "importance" : 0, - "secon" : "u:r:updater:s0", - "caps" : [0, 1] + "secon" : "u:r:updater:s0" } ] } diff --git a/device_board_phytium/tenglong_e/BUILD.gn b/device_board_phytium/tenglong_e/BUILD.gn index db555e5dfe16dc39dc3978e7ffeb55bdfcb547b5..bbe83a1df1f3faaff25c48b4fc0c749c63dd7163 100755 --- a/device_board_phytium/tenglong_e/BUILD.gn +++ b/device_board_phytium/tenglong_e/BUILD.gn @@ -12,6 +12,7 @@ # limitations under the License. import("//build/ohos.gni") +import("//device/board/phytium/common/build_kernel/gpu_model.gni") print("${device_name}_group in") group("${device_name}_group") { @@ -19,12 +20,26 @@ group("${device_name}_group") { "cfg:init_configs", "//device/board/phytium/common/distributedhardware:distributedhardware", "//device/board/phytium/common/build_kernel:build_kernel", - "//vendor/phytium/gpu_model/x100:gpu_group", - "//vendor/phytium/gpu_model/jm:gpu_group", - "//vendor/phytium/gpu_model/amd:gpu_group", - "//vendor/phytium/gpu_model/sw:gpu_group", "//device/soc/phytium/common/hardware/display:display_buffer_model", "//device/soc/phytium/common/hardware/display:display_composer_model", "updater:updater_files", ] + + if ( gpu_model != "" ) { + deps += [ + "//vendor/phytium/gpu_model/$gpu_model:gpu_group", + ] + } else { + deps += [ + "//vendor/phytium/gpu_model/x100:gpu_group", + "//vendor/phytium/gpu_model/jm:gpu_group", + "//vendor/phytium/gpu_model/amd:gpu_group", + "//vendor/phytium/gpu_model/sw:gpu_group", + ] + } + if (gpu_model == "sw") { + deps += [ + "//device/soc/phytium/pe2x04/vpu:vpu_group", + ] + } } diff --git a/device_board_phytium/tenglong_e/cfg/BUILD.gn b/device_board_phytium/tenglong_e/cfg/BUILD.gn index 2058346f68b9109b5afdb1c23b9b3dee9a1a744b..0d176ba4b65887d18026438d8fabcf81e26686fa 100755 --- a/device_board_phytium/tenglong_e/cfg/BUILD.gn +++ b/device_board_phytium/tenglong_e/cfg/BUILD.gn @@ -52,6 +52,13 @@ if (enable_ramdisk) { } } +ohos_prebuilt_etc("grub_exchange_ohos.sh") { + source = "../../common/tools/grub_exchange.sh" + part_name = "device_${device_name}" + output = "grub_exchange_ohos.sh" + install_images = [ vendor_base_dir ] + install_enable = true +} group("init_configs") { deps = [ @@ -59,5 +66,6 @@ group("init_configs") { ":fstab.${device_name}", ":init.${device_name}.cfg", ":init.${device_name}.usb.cfg", + ":grub_exchange_ohos.sh", ] } diff --git a/device_board_phytium/tenglong_e/cfg/init.tenglong_e.cfg b/device_board_phytium/tenglong_e/cfg/init.tenglong_e.cfg index 649a0c9b28f4548dccccfe081c9a6cfa17bdb48d..76e1173018a6daebaa8951fd7a19d52763a904ab 100755 --- a/device_board_phytium/tenglong_e/cfg/init.tenglong_e.cfg +++ b/device_board_phytium/tenglong_e/cfg/init.tenglong_e.cfg @@ -19,11 +19,13 @@ "write /proc/sys/kernel/hung_task_timeout_secs 90", "write /sys/kernel/hungtask/enable on", "write /sys/kernel/hungtask/monitorlist whitelist,init,appspawn", - "symlink /dev/block/platform/soc/32014000.sata/ /dev/block/by-name", + "symlink /dev/block/platform/soc/32014000.sata/by-name /dev/block/by-name", + "symlink /dev/block/sda5 /dev/block/by-name/misc", "chown system system /sys/kernel/hungtask/userlist", "chmod 0666 /dev/pvr_sync", "chmod 0666 /dev/vxd0", - "chmod 0666 /dev/dri/card1" + "chmod 0666 /dev/dri/card1", + "chmod 0666 /dev/dri/card2" ] }, { "name" : "boot", diff --git a/device_board_phytium/tenglong_e/dts/pe2204-demo-ddr4-nosmmu.dts b/device_board_phytium/tenglong_e/dts/pe2204-demo-ddr4-nosmmu.dts new file mode 100755 index 0000000000000000000000000000000000000000..7ea91d112067fd27e5de88c9806467c34a21b432 --- /dev/null +++ b/device_board_phytium/tenglong_e/dts/pe2204-demo-ddr4-nosmmu.dts @@ -0,0 +1,240 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * DTS file for Phytium Pe2204 demo board + * + * Copyright (c) 2022-2024 Phytium Technology Co., Ltd. + */ + +/dts-v1/; +/memreserve/ 0x80000000 0x10000; + +#include "pe2204.dtsi" +#include "dt-bindings/gpio/gpio.h" + +/{ + model = "Pe2204 DEMO DDR4"; + compatible = "phytium,pe2204"; + + chosen { + stdout-path = "serial1:115200n8"; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x80000000 0x0 0x80000000>; + }; + + sound_card: sound { + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,name = "phytium,pe220x-i2s-audio"; + simple-audio-card,pin-switches = "mic-in"; + simple-audio-card,widgets = "Microphone", "mic-in"; + simple-audio-card,routing = "MIC2", "mic-in"; + simple-audio-card,cpu { + sound-dai = <&i2s0>; + }; + simple-audio-card,codec { + sound-dai = <&codec0>; + }; + }; +}; + +&soc { + mio9: i2c@28026000 { + compatible = "phytium,i2c"; + reg = <0x0 0x28026000 0x0 0x1000>; + interrupts = ; + clocks = <&sysclk_50mhz>; + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + rtc@68 { + compatible = "dallas,ds1339"; + reg = <0x68>; + }; + + }; + + mio14: i2c@28030000 { + compatible = "phytium,i2c"; + reg = <0x0 0x28030000 0x0 0x1000>; + interrupts = ; + clocks = <&sysclk_50mhz>; + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + codec0: es8336@10 { + det-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; + sel-gpios = <&gpio2 11 GPIO_ACTIVE_LOW>; + #sound-dai-cells = <0x0>; + compatible = "everest,es8336"; + reg = <0x10>; + }; + }; +}; + +&gpio0 { + status = "okay"; +}; + +&gpio1 { + status = "okay"; +}; + +&gpio2 { + status = "okay"; +}; + +&gpio3 { + status = "okay"; +}; + +&gpio4 { + status = "okay"; +}; + +&gpio5 { + status = "okay"; +}; + +&watchdog0 { + status = "okay"; +}; + +&watchdog1 { + status = "okay"; +}; + +&pcie { + status = "okay"; +}; + +&usb3_0 { + status = "okay"; +}; + +&usb3_1 { + status = "okay"; +}; + +&usb2_0 { + dr_mode = "peripheral"; + status = "okay"; +}; + +&usb2_1 { + dr_mode = "peripheral"; + status = "okay"; +}; + +&usb2_2 { + dr_mode = "peripheral"; + status = "okay"; +}; + +&macb0 { + phy-mode = "sgmii"; + use-mii; + status = "okay"; +}; + +/* + * In demo board, M.2 interface may insert two types of disks: PCIE (nvme protocol) or SATA (ahci protocol), + * so here enable 'sata0' node by default to correspond to the sata drive case. Pin multiplexing exists + * in PCIE2 and SATA0, when used as a boot disk, the BIOS can automatically recognize these two conditions. + */ +&sata0 { + status = "okay"; +}; + +&sata1 { + status = "okay"; +}; + +&qspi0 { + status = "okay"; + + flash@0 { + status = "okay"; + }; +}; + +&spi2 { + global-cs = <1>; + status = "okay"; +}; + +&uart1 { + status = "okay"; +}; + +&uart2 { + status = "okay"; +}; + +&can0 { + status = "okay"; +}; + +&can1 { + status = "okay"; +}; + +&mmc0 { + bus-width = <0x00000008>; + max-frequency = <100000000>; + cap-mmc-hw-reset; + cap-mmc-highspeed; + mmc-hs200-1_8v; + no-sdio; + no-sd; + non-removable; + status = "okay"; +}; + +&mmc1 { + bus-width = <0x00000004>; + max-frequency = <50000000>; + cap-sdio-irq; + cap-sd-highspeed; + no-sdio; + no-mmc; + status = "okay"; +}; + +&i2s0 { + #sound-dai-cells = <0>; + dai-name = "phytium-i2s-lsd"; + status = "okay"; +}; + +&dc0 { + pipe_mask = /bits/ 8 <0x3>; + edp_mask = /bits/ 8 <0x0>; + status = "okay"; +}; + +&i2s_dp0 { + status = "okay"; +}; + +&i2s_dp1 { + status = "okay"; +}; + +&pmdk_dp { + num-dp = <2>; + dp-mask = /bits/ 8 <0x3>; + status = "okay"; +}; + +&vpu0 { + status = "okay"; +}; + +&smmu { + status = "disabled"; +}; diff --git a/device_board_phytium/tenglong_e/updater/BUILD.gn b/device_board_phytium/tenglong_e/updater/BUILD.gn index 34c3bd7f7f5b045b0011948e8bb07462ed339d77..dff04ad6da91b5f55e3d6af62484343ba01db27f 100644 --- a/device_board_phytium/tenglong_e/updater/BUILD.gn +++ b/device_board_phytium/tenglong_e/updater/BUILD.gn @@ -63,6 +63,13 @@ ohos_prebuilt_executable("busybox") { part_name = "${partname}" } +ohos_prebuilt_etc("grub_exchange_updater.sh") { + source = "../../common/tools/grub_exchange.sh" + output = "grub_exchange_updater.sh" + install_images = [ "updater" ] + part_name = "${partname}" +} + group("updater_files") { deps = [ ":fstab.updater", @@ -72,5 +79,6 @@ group("updater_files") { ":updater_ueventd.cfg", ":hdc_network.sh", ":busybox", + ":grub_exchange_updater.sh", ] } diff --git a/device_board_phytium/tenglong_e/updater/config/init.cfg b/device_board_phytium/tenglong_e/updater/config/init.cfg index a48b5102346df437de7eb83a33c0dc53b004a96a..76b10ddf3d477236532fd039d22b2c47c7037d93 100644 --- a/device_board_phytium/tenglong_e/updater/config/init.cfg +++ b/device_board_phytium/tenglong_e/updater/config/init.cfg @@ -13,7 +13,10 @@ "name" : "init", "cmds" : [ "exec /bin/sh /etc/hdc_network.sh", - "wait /dev/block/platform/soc/40000000.pcie", + "wait /dev/block/platform/soc/32014000.sata", + "symlink /dev/block/platform/soc/32014000.sata/by-name /dev/block/by-name", + "symlink /dev/block/sda2 /dev/block/by-name/system", + "symlink /dev/block/sda3 /dev/block/by-name/vendor", "symlink /dev/block/sda5 /dev/block/by-name/misc" ] }, { @@ -30,8 +33,7 @@ "uid" : 0, "gid" : [0, "update", "input_user_host", "shell", "graphics", "system"], "importance" : 0, - "secon" : "u:r:updater:s0", - "caps" : [0, 1] + "secon" : "u:r:updater:s0" } ] } diff --git a/device_board_phytium/tengrui_d/BUILD.gn b/device_board_phytium/tengrui_d/BUILD.gn index db555e5dfe16dc39dc3978e7ffeb55bdfcb547b5..39652ca8e5a1aeab4b0948145fb04888436f9726 100755 --- a/device_board_phytium/tengrui_d/BUILD.gn +++ b/device_board_phytium/tengrui_d/BUILD.gn @@ -12,6 +12,7 @@ # limitations under the License. import("//build/ohos.gni") +import("//device/board/phytium/common/build_kernel/gpu_model.gni") print("${device_name}_group in") group("${device_name}_group") { @@ -19,12 +20,22 @@ group("${device_name}_group") { "cfg:init_configs", "//device/board/phytium/common/distributedhardware:distributedhardware", "//device/board/phytium/common/build_kernel:build_kernel", - "//vendor/phytium/gpu_model/x100:gpu_group", - "//vendor/phytium/gpu_model/jm:gpu_group", - "//vendor/phytium/gpu_model/amd:gpu_group", - "//vendor/phytium/gpu_model/sw:gpu_group", + "//device/board/phytium/common/wifi/rtw8852:rtw8852", "//device/soc/phytium/common/hardware/display:display_buffer_model", "//device/soc/phytium/common/hardware/display:display_composer_model", "updater:updater_files", ] + + if ( gpu_model != "" ) { + deps += [ + "//vendor/phytium/gpu_model/$gpu_model:gpu_group", + ] + } else { + deps += [ + "//vendor/phytium/gpu_model/x100:gpu_group", + "//vendor/phytium/gpu_model/jm:gpu_group", + "//vendor/phytium/gpu_model/amd:gpu_group", + "//vendor/phytium/gpu_model/sw:gpu_group", + ] + } } diff --git a/device_board_phytium/tengrui_d/cfg/BUILD.gn b/device_board_phytium/tengrui_d/cfg/BUILD.gn index 2058346f68b9109b5afdb1c23b9b3dee9a1a744b..0d176ba4b65887d18026438d8fabcf81e26686fa 100755 --- a/device_board_phytium/tengrui_d/cfg/BUILD.gn +++ b/device_board_phytium/tengrui_d/cfg/BUILD.gn @@ -52,6 +52,13 @@ if (enable_ramdisk) { } } +ohos_prebuilt_etc("grub_exchange_ohos.sh") { + source = "../../common/tools/grub_exchange.sh" + part_name = "device_${device_name}" + output = "grub_exchange_ohos.sh" + install_images = [ vendor_base_dir ] + install_enable = true +} group("init_configs") { deps = [ @@ -59,5 +66,6 @@ group("init_configs") { ":fstab.${device_name}", ":init.${device_name}.cfg", ":init.${device_name}.usb.cfg", + ":grub_exchange_ohos.sh", ] } diff --git a/device_board_phytium/tengrui_d/cfg/init.tengrui_d.cfg b/device_board_phytium/tengrui_d/cfg/init.tengrui_d.cfg index cdfe4f3fb56fa20991154441a0dad1e8d8ceb8ea..3ddeb08fd34aad979831777ceb8c7478762b29f9 100755 --- a/device_board_phytium/tengrui_d/cfg/init.tengrui_d.cfg +++ b/device_board_phytium/tengrui_d/cfg/init.tengrui_d.cfg @@ -19,7 +19,8 @@ "write /proc/sys/kernel/hung_task_timeout_secs 90", "write /sys/kernel/hungtask/enable on", "write /sys/kernel/hungtask/monitorlist whitelist,init,appspawn", - "symlink /dev/block/platform/soc/40000000.pcie/ /dev/block/by-name", + "symlink /dev/block/platform/soc/40000000.pcie/by-name /dev/block/by-name", + "symlink /dev/block/sda5 /dev/block/by-name/misc", "chown system system /sys/kernel/hungtask/userlist", "chmod 0666 /dev/pvr_sync", "chmod 0666 /dev/vxd0", diff --git a/device_board_phytium/tengrui_d/updater/BUILD.gn b/device_board_phytium/tengrui_d/updater/BUILD.gn index 34c3bd7f7f5b045b0011948e8bb07462ed339d77..dff04ad6da91b5f55e3d6af62484343ba01db27f 100644 --- a/device_board_phytium/tengrui_d/updater/BUILD.gn +++ b/device_board_phytium/tengrui_d/updater/BUILD.gn @@ -63,6 +63,13 @@ ohos_prebuilt_executable("busybox") { part_name = "${partname}" } +ohos_prebuilt_etc("grub_exchange_updater.sh") { + source = "../../common/tools/grub_exchange.sh" + output = "grub_exchange_updater.sh" + install_images = [ "updater" ] + part_name = "${partname}" +} + group("updater_files") { deps = [ ":fstab.updater", @@ -72,5 +79,6 @@ group("updater_files") { ":updater_ueventd.cfg", ":hdc_network.sh", ":busybox", + ":grub_exchange_updater.sh", ] } diff --git a/device_board_phytium/tengrui_d/updater/config/init.cfg b/device_board_phytium/tengrui_d/updater/config/init.cfg index a48b5102346df437de7eb83a33c0dc53b004a96a..3678da52a26a0a499a4949b47b86b12337d832a3 100644 --- a/device_board_phytium/tengrui_d/updater/config/init.cfg +++ b/device_board_phytium/tengrui_d/updater/config/init.cfg @@ -14,6 +14,9 @@ "cmds" : [ "exec /bin/sh /etc/hdc_network.sh", "wait /dev/block/platform/soc/40000000.pcie", + "symlink /dev/block/platform/soc/40000000.pcie/by-name /dev/block/by-name", + "symlink /dev/block/sda2 /dev/block/by-name/system", + "symlink /dev/block/sda3 /dev/block/by-name/vendor", "symlink /dev/block/sda5 /dev/block/by-name/misc" ] }, { @@ -30,8 +33,7 @@ "uid" : 0, "gid" : [0, "update", "input_user_host", "shell", "graphics", "system"], "importance" : 0, - "secon" : "u:r:updater:s0", - "caps" : [0, 1] + "secon" : "u:r:updater:s0" } ] } diff --git a/device_soc_phytium/common/hardware/display/src/display_device/drm_display.cpp b/device_soc_phytium/common/hardware/display/src/display_device/drm_display.cpp index dbfddd58e3f41716e621e29369828d863d7318ce..c6e3b125440faf8e6daf1b6232fb59ed04c5c394 100755 --- a/device_soc_phytium/common/hardware/display/src/display_device/drm_display.cpp +++ b/device_soc_phytium/common/hardware/display/src/display_device/drm_display.cpp @@ -216,6 +216,10 @@ int32_t DrmDisplay::PushFirstFrame() std::vector layers; HdiDrmComposition *drmComp = static_cast(mComposer->GetPostCompostion(0)); drmComp->SetLayers(layers, *mClientLayer); + if (mConnector->GetDpmsState() != DRM_MODE_DPMS_ON) { + DISPLAY_LOGD("Default Kernel DPMS Status is OFF, turning it ON to establish display pipeline!"); + mConnector->SetDpmsState(DRM_MODE_DPMS_ON); + } drmComp->Apply(true); return DISPLAY_SUCCESS; } diff --git a/device_soc_phytium/common/hardware/display/src/display_gralloc/display_gralloc_gbm.cpp b/device_soc_phytium/common/hardware/display/src/display_gralloc/display_gralloc_gbm.cpp index 5143ce04642f8283e8a8cbf07f78917fa9ae5245..e941756b9dae196b391030c618e3265c23fffd30 100755 --- a/device_soc_phytium/common/hardware/display/src/display_gralloc/display_gralloc_gbm.cpp +++ b/device_soc_phytium/common/hardware/display/src/display_gralloc/display_gralloc_gbm.cpp @@ -40,9 +40,8 @@ namespace DISPLAY { using namespace OHOS::HDI::Display::Composer::V1_0; using namespace OHOS::HDI::Display::Buffer::V1_0; -const char *g_drmFileNode0 = "/dev/dri/card0"; -const char *g_drmFileNode1 = "/dev/dri/card1"; -const char *g_drmFileNode2 = "/dev/dri/card2"; +const char *g_drmFileNodeDefault = "/dev/dri/card0"; +static char g_drmFileNode[PATH_MAX] = {0}; static GrallocManager *g_grallocManager = nullptr; static pthread_mutex_t g_lock; @@ -56,24 +55,127 @@ using ValueStrMap = struct { const char *str; }; -/** -* @brief -* hck: -* tenglong_e: tenglong_e-card0 -* tenglong_e+amdgpu: amdgpu-card0 amdgpu-renderD128 tendlong_e-card1 -* tenglong_e+x100: tenglong_e-card0 x100_dc-card1 x100_pvr-card2 x100-renderD128 -* tengrui_d+amdgpu: amdgpu-card0 amdgpu-renderD128 -* tengrui_d+x100: x100_dc-card0 x100_pvr-card1 x100-renderD128 -*/ +static bool CheckDrmFileNode(const char *drmFile) { + char path[PATH_MAX] = {0}; + int drmFd; + bool ret = true; + + if (drmFile == nullptr) { + DISPLAY_LOGW("Drm file is nullptr"); + return false; + } + + if (realpath(drmFile, path) == nullptr) { + DISPLAY_LOGW("Drm file : %{public}s is not a realpath, errno: %{public}s", drmFile, strerror(errno)); + return false; + } + + drmFd = open(path, O_RDWR); + if (drmFd < 0) { + DISPLAY_LOGW("Drm file : %{public}s can not open, errno: %{public}s", drmFile, strerror(errno)); + return false; + } + + close(drmFd); + return ret; +} + +static bool DrmDeviceHasRenderNode(drmDevicePtr device) +{ + return device->available_nodes & (1 << DRM_NODE_RENDER); +} + +static bool DrmDeviceHasPrimaryNode(drmDevicePtr device) +{ + return device->available_nodes & (1 << DRM_NODE_PRIMARY); +} + +static const char* GetDcDeviceFileNode(drmDevicePtr bestDevice, drmDevicePtr *devices, uint32_t numDevices) +{ + drmDevicePtr device; + uint32_t i; + + if (bestDevice == nullptr) + return nullptr; + + if (bestDevice->businfo.pci == nullptr) + return bestDevice->nodes[DRM_NODE_PRIMARY]; + + DISPLAY_LOGD("BestDevice: domain:%{public}d, bus:%{public}d, dev:%{public}d, func:%{public}d", + bestDevice->businfo.pci->domain, + bestDevice->businfo.pci->bus, + bestDevice->businfo.pci->dev, + bestDevice->businfo.pci->func); + + for (i = 0; i < numDevices; i++) { + device = devices[i]; + + if ((device == bestDevice) || + (device->businfo.pci == nullptr)) + continue; + + DISPLAY_LOGD("DrmDevice: domain:%{public}d, bus:%{public}d, dev:%{public}d, func:%{public}d", + device->businfo.pci->domain, + device->businfo.pci->bus, + device->businfo.pci->dev, + device->businfo.pci->func); + + if ((device->businfo.pci->domain == bestDevice->businfo.pci->domain) && + (device->businfo.pci->bus == bestDevice->businfo.pci->bus) && + (device->businfo.pci->dev == bestDevice->businfo.pci->dev) && + CheckDrmFileNode(device->nodes[DRM_NODE_PRIMARY])) { + DISPLAY_LOGI("Find DC device with primary node:%{public}s", device->nodes[DRM_NODE_PRIMARY]); + return device->nodes[DRM_NODE_PRIMARY]; + } + } + + return bestDevice->nodes[DRM_NODE_PRIMARY]; +} + const char* GetDrmFileNodePath(void) { +#define MAX_DRM_DEVICES 64 DISPLAY_LOGD(); - if (access(g_drmFileNode2, F_OK) != -1) { - DISPLAY_LOGI("tenglonge+x100: use card1"); - return g_drmFileNode1; - } else { - DISPLAY_LOGI("use card0"); - return g_drmFileNode0; + drmDevicePtr device, bestDevice = nullptr, devices[MAX_DRM_DEVICES] = {nullptr}; + const char *drmFile = nullptr; + uint32_t i, numDevices; + + numDevices = drmGetDevices2(0, devices, MAX_DRM_DEVICES); + if (numDevices < 0) { + DISPLAY_LOGW("Can not get drm devices so use default drm file node %{public}s", g_drmFileNodeDefault); + return g_drmFileNodeDefault; } + + for (i = 0; i < numDevices; i++) { + device = devices[i]; + if (DrmDeviceHasPrimaryNode(device)&& + DrmDeviceHasRenderNode(device)&& + CheckDrmFileNode(device->nodes[DRM_NODE_PRIMARY]) && + CheckDrmFileNode(device->nodes[DRM_NODE_RENDER])) { + DISPLAY_LOGI("Find best device with primary node %{public}s and render node %{public}s", + device->nodes[DRM_NODE_PRIMARY], device->nodes[DRM_NODE_RENDER]); + bestDevice = device; + break; + } + + if ((!bestDevice) && + DrmDeviceHasPrimaryNode(device) && + CheckDrmFileNode(device->nodes[DRM_NODE_PRIMARY])) { + bestDevice = device; + DISPLAY_LOGI("Find best device with primary node %{public}s", device->nodes[DRM_NODE_PRIMARY]); + } + } + + drmFile = GetDcDeviceFileNode(bestDevice, devices, numDevices); + if (drmFile) + snprintf(g_drmFileNode, sizeof(g_drmFileNode), "%s", drmFile); + else + snprintf(g_drmFileNode, sizeof(g_drmFileNode), "%s", g_drmFileNodeDefault); + + drmFreeDevices(devices, numDevices); + DISPLAY_LOGI("Get drm file node path %{public}s", g_drmFileNode); + + return g_drmFileNode; +#undef MAX_DRM_DEVICES } static GrallocManager *GetGrallocManager(void) diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/dma/phytium/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/dma/phytium/Kconfig deleted file mode 100644 index b79c6156606ea8a9fd89e8cd334ba42739e90856..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/dma/phytium/Kconfig +++ /dev/null @@ -1,16 +0,0 @@ -config PHYTIUM_PCI_DMAC - bool "Phytium px210 PCI DMA support" - depends on OF || COMPILE_TEST - select DMA_ENGINE - select DMA_VIRTUAL_CHANNELS - help - Enable support for Phytium px210 DMA controller - - -config PHYTIUM_DDMA - bool "Phytium PE220x DDMA support" - depends on (ARCH_PHYTIUM || COMPILE_TEST) - select DMA_ENGINE - select DMA_VIRTUAL_CHANNELS - help - Enable support for Phytium PE220x DDMA controller. diff --git a/device_soc_phytium/common/kernel/linux-5.10/drivers/media/platform/Kconfig b/device_soc_phytium/common/kernel/linux-5.10/drivers/media/platform/Kconfig deleted file mode 100644 index 041810904302e1ededeb5bcffb2a62adf3997830..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-5.10/drivers/media/platform/Kconfig +++ /dev/null @@ -1,12 +0,0 @@ -config VIDEO_PHYTIUM_JPEG - tristate "Phytium JPEG Encoder driver" - depends on VIDEO_V4L2 - select VIDEOBUF2_DMA_CONTIG - help - Support for the Phytium JPEG Encoder Engine embedded - in the Phytium SOCs. The engine can capture and - compress video data from digital or analog sources. - - - - diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/mtd/nand/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/mtd/nand/Makefile deleted file mode 100755 index 6be02bc9739c64e7a05c7cd5de26403db351b58a..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/mtd/nand/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-y += raw/ diff --git a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/Makefile b/device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/Makefile deleted file mode 100644 index 00c4eda41c388233d3e794ac8501292d8bd88ab5..0000000000000000000000000000000000000000 --- a/device_soc_phytium/common/kernel/linux-6.6/drivers/net/ethernet/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-y += phytium/ diff --git a/device_soc_phytium/pe2x04/vpu/BUILD.gn b/device_soc_phytium/pe2x04/vpu/BUILD.gn new file mode 100755 index 0000000000000000000000000000000000000000..6a17ff23bbf7cddf6d3138323276b902dce4bd10 --- /dev/null +++ b/device_soc_phytium/pe2x04/vpu/BUILD.gn @@ -0,0 +1,21 @@ +# Copyright (c) 2024 Phytium Technology Co., Ltd. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build/ohos.gni") + +group("vpu_group") { + deps = [ + "//device/soc/phytium/pe2x04/vpu/vpu:vpu-libs", + ] +} + diff --git a/device_soc_phytium/pe2x04/vpu/vpu/BUILD.gn b/device_soc_phytium/pe2x04/vpu/vpu/BUILD.gn new file mode 100644 index 0000000000000000000000000000000000000000..81eb7215809670fd537e32da2e693111586bfa4b --- /dev/null +++ b/device_soc_phytium/pe2x04/vpu/vpu/BUILD.gn @@ -0,0 +1,46 @@ +# Copyright (c) 2024 Phytium Technology Co., Ltd. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build/ohos.gni") +import("//build/ohos/ndk/ndk.gni") + +partname="device_${product_name}" +vpu_all_lib_deps = [] +ohos_prebuilt_shared_library("libOMX_Core") { + source = "libOMX_Core.z.so" + install_enable = true +# relative_install_dir = "media/plugins" + install_images = [ vendor_base_dir ] + subsystem_name = "phytium_products" + part_name = "${partname}" +} +vpu_all_lib_deps += [ ":libOMX_Core" ] + +if (enable_ramdisk) { + ohos_prebuilt_etc("pvdec_full_bin.fw") { + source = "pvdec_full_bin.fw" + subsystem_name = "phytium_products" + part_name = "${partname}" + install_enable = true + install_images = [ + "ramdisk", + ] + module_install_dir = "lib/firmware" + } + vpu_all_lib_deps += [ ":pvdec_full_bin.fw" ] +} + +group("vpu-libs"){ + deps = + vpu_all_lib_deps +} diff --git a/device_soc_phytium/pe2x04/vpu/vpu/libOMX_Core.z.so b/device_soc_phytium/pe2x04/vpu/vpu/libOMX_Core.z.so new file mode 100755 index 0000000000000000000000000000000000000000..6a5242e6396bff643c6937051cc18f40daa472eb Binary files /dev/null and b/device_soc_phytium/pe2x04/vpu/vpu/libOMX_Core.z.so differ diff --git a/device_soc_phytium/pe2x04/vpu/vpu/pvdec_full_bin.fw b/device_soc_phytium/pe2x04/vpu/vpu/pvdec_full_bin.fw new file mode 100644 index 0000000000000000000000000000000000000000..d5771c0f5e9224ac3950feab1d8f02dda0b9aa16 Binary files /dev/null and b/device_soc_phytium/pe2x04/vpu/vpu/pvdec_full_bin.fw differ diff --git a/phytium_env.sh b/phytium_env.sh index 7313ab2bf82bb2c6d863ef4afbed173b99cc965c..72751de73e8c260bf878cebb46d2c86c3af68871 100755 --- a/phytium_env.sh +++ b/phytium_env.sh @@ -17,7 +17,7 @@ function print_help(){ echo -e "\033[31m Help Info\033[0m" echo -e "\033[31m USAGE: phytium_env.sh OHOS_PATH_ROOT DEVICE_ID\033[0m" echo -e "\033[31m OHOS_PATH_ROOT: absolute path of openharmony root path\033[0m" - echo -e "\033[31m DEVICE_ID : 0 for tengrui_d | 1 for tenglong_e | 2 for phytiumpi-firefly \033[0m" + echo -e "\033[31m DEVICE_ID : 0 for tengrui_d | 1 for tenglong_e | 2 for phytiumpi-firefly | 3 for tengrui_m \033[0m" echo -e "\033[31m example: ./phytium_env.sh /home/phytium/OpenHarmony 1 \033[0m" } @@ -45,6 +45,9 @@ case $DEVICE_ID in 2) DEVICE=phytiumpi-firefly ;; +3) + DEVICE=tengrui_m +;; *) echo -e "\033[31mMake sure the DEVICE_ID is correct! \033[0m" print_help diff --git a/vendor_phytium/gpu_model/amd/gpu/BUILD.gn b/vendor_phytium/gpu_model/amd/gpu/BUILD.gn index 5991d77b7473650b683ca0eae0ed368479690f9e..ed77226af4357d3d2dcf0991e53e46d12b5a5c81 100644 --- a/vendor_phytium/gpu_model/amd/gpu/BUILD.gn +++ b/vendor_phytium/gpu_model/amd/gpu/BUILD.gn @@ -23,7 +23,6 @@ mesa3d_all_lib_items = [ ["libGLESv1_amd", "libGLESv1_CM.so.1.1.0", ["libGLESv1_CM.so","libGLESv1_impl.so"]], ["libGLESv2_amd", "libGLESv2.so.2.0.0", ["libGLESv2.so", "libGLESv2_impl.so","libGLESv3_impl.so"]], ["libglapi_amd", "libglapi.so.0.0.0", ["libglapi.so", "libglapi.so.0"]], - # ["libgallium_dri", "libgallium_dri.so", ["libgallium_dri.so", "r600_dri.so", "r300_dri.so", "radeonsi_dri.so", "mwv207_dri.so"]], ["libgbm_amd", "libgbm.so.1.0.0", ["libgbm.so", "libgbm.so.1"]], ["libexpat_amd", "libexpat.so.1.6.7", ["libexpat.so.1", "libexpat.so"]], ["libomx_mesa_amd", "libomx_mesa.so", ["libomx_mesa.so.0"]], diff --git a/vendor_phytium/gpu_model/egl_loader/libPhy_EGL.so b/vendor_phytium/gpu_model/egl_loader/libPhy_EGL.so index 75b444c6ae9c739ccce3f0b6a78164b393c38c4f..82ee7cad0a1ea676bad93a1974697c79582fea77 100755 Binary files a/vendor_phytium/gpu_model/egl_loader/libPhy_EGL.so and b/vendor_phytium/gpu_model/egl_loader/libPhy_EGL.so differ diff --git a/vendor_phytium/gpu_model/jm/gpu/BUILD.gn b/vendor_phytium/gpu_model/jm/gpu/BUILD.gn index 340558c7983a8ba8813a3c9bac59567d33554b18..17a36e4de8e43adc87a9736c246a9d258ed03c37 100644 --- a/vendor_phytium/gpu_model/jm/gpu/BUILD.gn +++ b/vendor_phytium/gpu_model/jm/gpu/BUILD.gn @@ -13,6 +13,7 @@ import("//build/ohos.gni") import("//build/ohos/ndk/ndk.gni") +import("//device/board/phytium/common/build_kernel/gpu_model.gni") partname="device_${product_name}" mesa3d_libs_dir = "mesa3d_jm9100" @@ -22,13 +23,33 @@ mesa3d_all_lib_items = [ ["libGLESv1_jm", "libGLESv1_CM.so.1.1.0", ["libGLESv1_CM.so.1", "libGLESv1_impl.so"]], ["libGLESv2_jm", "libGLESv2.so.2.0.0", ["libGLESv2.so.2", "libGLESv2_impl.so","libGLESv3_impl.so"]], ["libgbm_jm", "libgbm.so.1.0.0", ["libgbm.so", "libgbm.so.1"]], - ["libgallium_dri", "libgallium_dri.so", ["libgallium_dri.so", "mwv207_dri.so"]], ["libglapi_jm", "libglapi.so.0.0.0", ["libglapi.so", "libglapi.so.0"]], ["libexpat_jm", "libexpat.so.1.6.7", ["libexpat.so.1", "libexpat.so"]], ["libomx_mesa_jm", "libomx_mesa.so", ["libomx_mesa.so.0"]], ["libomxil-bellagio_jm", "libomxil-bellagio.so.0.9.3", ["libomxil-bellagio.so", "libomxil-bellagio.so.0"]] ] +if ( gpu_model != "" ) { + mesa3d_all_dri_items = [ + ["libgallium_dri_jm", "libgallium_dri.so", ["libgallium_dri.so", "mwv207_dri.so"]] + ] + + foreach(item, mesa3d_all_dri_items) { + name = item[1] + prebuild_name = item[0] + ohos_prebuilt_shared_library(prebuild_name) { + source = "$mesa3d_libs_dir/$name" + symlink_target_name = item[2] + install_enable = true + install_images = [ chipset_base_dir ] + relative_install_dir = "chipsetsdk" + subsystem_name = "phytium_products" + part_name = "${partname}" + } + mesa3d_all_lib_deps += [ ":$prebuild_name" ] + } +} + mesa3d_all_lib_deps = [] foreach(item, mesa3d_all_lib_items) { name = item[1] diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/Makefile b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/Makefile new file mode 100755 index 0000000000000000000000000000000000000000..1875b17945b0c8bc08bc6f153882d89ad9c83d4b --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/Makefile @@ -0,0 +1,67 @@ +# +# Copyright (c) 2020-2021 Huawei Device Co., Ltd. +# +# This software is licensed under the terms of the GNU General Public +# License version 2, as published by the Free Software Foundation, and +# may be copied, distributed, and modified under those terms. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# + +ifeq ($(LOCAL_HCS_ROOT),) + LOCAL_HCS_ROOT := $(PRODUCT_PATH) +endif +CURRENT_DIR := $(abspath $(dir $(realpath $(lastword $(MAKEFILE_LIST))))) +SOURCE_ROOT := $(abspath $(CURRENT_DIR)/../../../../../) + +HC_GEN_DIR := $(abspath $(SOURCE_ROOT)/drivers/hdf_core/framework/tools/hc-gen) +ifneq ($(OUT_DIR),) +HC_GEN := $(OUT_DIR)/kernel/OBJ/${KERNEL_VERSION}/drivers/hdf/khdf/hc_gen_build/hc-gen +else +HC_GEN := $(HC_GEN_DIR)/build/hc-gen +endif +LOCAL_HCS_ROOT := $(CURRENT_DIR) + +HCS_DIR := $(LOCAL_HCS_ROOT) + +ifneq ($(TARGET_BOARD_PLATFORM),) + HCS_DIR := $(LOCAL_HCS_ROOT)/$(TARGET_BOARD_PLATFORM) +else + ifneq ($(CONFIG_ARCH_HI3516DV300),) + HCS_DIR := $(LOCAL_HCS_ROOT) + endif + ifneq ($(CONFIG_ARCH_HI3518EV300),) + HCS_DIR := $(LOCAL_HCS_ROOT) + endif +endif +$(info HCS_DIR = $(HCS_DIR)) +HCB_FLAGS := -b -i -a + +HCS_OBJ := hdf_hcs_hex.o +HCS_OBJ_SRC := $(subst .o,.c,$(notdir $(HCS_OBJ))) + +CONFIG_GEN_HEX_SRC := $(addprefix $(LOCAL_HCS_ROOT)/, $(HCS_OBJ_SRC)) +CONFIG_HCS_SRC := $(subst _hcs_hex.o,.hcs,$(addprefix $(HCS_DIR)/, $(HCS_OBJ))) + +$(obj)/$(HCS_OBJ): $(CONFIG_GEN_HEX_SRC) + $(Q)$(CC) $(c_flags) -c -o $@ $< + $(Q)rm -f $< + +$(CONFIG_GEN_HEX_SRC): $(LOCAL_HCS_ROOT)/%_hcs_hex.c: $(HCS_DIR)/%.hcs | $(HC_GEN) + $(Q)echo gen hdf built-in config + $(Q)if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi + $(Q)$(HC_GEN) $(HCB_FLAGS) -o $(subst _hex.c,,$(@)) $< + +$(CONFIG_GEN_SRCS): $(CONFIG_OUT_DIR)%.c: $(HCS_DIR)/%.hcs | $(HC_GEN) + $(Q)echo gen hdf driver config + $(Q)if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi + $(Q)$(HC_GEN) -t -o $@ $< + +$(HC_GEN): + $(HIDE)make -C $(HC_GEN_DIR) BUILD_DIR=$(dir $@) + +obj-$(CONFIG_DRIVERS_HDF) += $(HCS_OBJ) diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/device_info/device_info.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/device_info/device_info.hcs new file mode 100644 index 0000000000000000000000000000000000000000..76719bfa88c75e3371bfd398a5231447f17959a5 --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/device_info/device_info.hcs @@ -0,0 +1,360 @@ + root { + device_info { + match_attr = "hdf_manager"; + template host { + hostName = ""; + priority = 100; + template device { + template deviceNode { + policy = 0; + priority = 100; + preload = 0; + permission = 0664; + moduleName = ""; + serviceName = ""; + deviceMatchAttr = ""; + } + } + } + base :: host { + hostName = "base_host"; + priority = 50; + device_support :: device { + device0 :: deviceNode { + policy = 2; + priority = 10; + permission = 0644; + moduleName = "HDF_KEVENT"; + serviceName = "hdf_kevent"; + } + } + } + platform :: host { + hostName = "platform_host"; + priority = 50; + device_gpio :: device { + device0 :: deviceNode { + policy = 2; + priority = 10; + permission = 0644; + moduleName = "HDF_PLATFORM_GPIO_MANAGER"; + serviceName = "HDF_PLATFORM_GPIO_MANAGER"; + } + device1 :: deviceNode { + policy = 0; + priority = 10; + permission = 0644; + moduleName = "linux_gpio_adapter"; + deviceMatchAttr = "linux_gpio_adapter"; + } + } + device_watchdog :: device { + device0 :: deviceNode { + policy = 1; + priority = 20; + permission = 0644; + moduleName = "HDF_PLATFORM_WATCHDOG"; + serviceName = "HDF_PLATFORM_WATCHDOG_0"; + deviceMatchAttr = "phytium_phytiumpi_watchdog_0"; + } + } + device_rtc :: device { + device0 :: deviceNode { + policy = 2; + priority = 30; + permission = 0644; + moduleName = "HDF_PLATFORM_RTC"; + serviceName = "HDF_PLATFORM_RTC"; + deviceMatchAttr = "phytium_phytiumpi_rtc"; + } + } + device_uart :: device { + device0 :: deviceNode { + policy = 2; + priority = 40; + permission = 0644; + moduleName = "HDF_PLATFORM_UART"; + serviceName = "HDF_PLATFORM_UART_0"; + deviceMatchAttr = "phytium_phytiumpi_uart_0"; + } + device1 :: deviceNode { + policy = 2; + permission = 0644; + priority = 40; + moduleName = "HDF_PLATFORM_UART"; + serviceName = "HDF_PLATFORM_UART_1"; + deviceMatchAttr = "phytium_phytiumpi_uart_1"; + } + device2 :: deviceNode { + policy = 2; + permission = 0644; + priority = 40; + moduleName = "HDF_PLATFORM_UART"; + serviceName = "HDF_PLATFORM_UART_3"; + deviceMatchAttr = "phytium_phytiumpi_uart_3"; + } + } + device_i2c :: device { + device0 :: deviceNode { + policy = 2; + priority = 50; + permission = 0644; + moduleName = "HDF_PLATFORM_I2C_MANAGER"; + serviceName = "HDF_PLATFORM_I2C_MANAGER"; + deviceMatchAttr = "hdf_platform_i2c_manager"; + } + device1 :: deviceNode { + policy = 0; + priority = 55; + permission = 0644; + moduleName = "linux_i2c_adapter"; + deviceMatchAttr = "linux_i2c_adapter"; + } + } + device_adc :: device { + device0 :: deviceNode { + policy = 2; + priority = 60; + permission = 0644; + moduleName = "HDF_PLATFORM_ADC_MANAGER"; + serviceName = "HDF_PLATFORM_ADC_MANAGER"; + deviceMatchAttr = "hdf_platform_adc_manager"; + } + device1 :: deviceNode { + policy = 0; + priority = 65; + permission = 0644; + moduleName = "linux_adc_adapter"; + deviceMatchAttr = "linux_adc_adapter_0"; + } + } + device_spi :: device { + device0 :: deviceNode { + policy = 1; + priority = 60; + permission = 0644; + moduleName = "HDF_PLATFORM_SPI"; + serviceName = "HDF_PLATFORM_SPI_0"; + deviceMatchAttr = "phytium_phytiumpi_spi_0"; + } + device1 :: deviceNode { + policy = 1; + priority = 60; + permission = 0644; + moduleName = "HDF_PLATFORM_SPI"; + serviceName = "HDF_PLATFORM_SPI_1"; + deviceMatchAttr = "phytium_phytiumpi_spi_1"; + } + device2 :: deviceNode { + policy = 1; + priority = 60; + permission = 0644; + moduleName = "HDF_PLATFORM_SPI"; + serviceName = "HDF_PLATFORM_SPI_2"; + deviceMatchAttr = "phytium_phytiumpi_spi_2"; + } + device3 :: deviceNode { + policy = 1; + priority = 60; + permission = 0644; + moduleName = "HDF_PLATFORM_SPI"; + serviceName = "HDF_PLATFORM_SPI_3"; + deviceMatchAttr = "phytium_phytiumpi_spi_3"; + } + } + device_sdio :: device { + device0 :: deviceNode { + policy = 1; + priority = 70; + permission = 0644; + moduleName = "HDF_PLATFORM_SDIO"; + serviceName = "HDF_PLATFORM_MMC_2"; + deviceMatchAttr = "hisilicon_hi35xx_sdio_0"; + } + } + device_emmc :: device { + device0 :: deviceNode { + policy = 2; + priority = 20; + permission = 0644; + moduleName = "HDF_PLATFORM_EMMC"; + serviceName = "HDF_PLATFORM_MMC_0"; + deviceMatchAttr = "hisilicon_hi35xx_emmc_0"; + } + } + device_pwm :: device { + device0 :: deviceNode { + policy = 2; + priority = 80; + permission = 0644; + moduleName = "HDF_PLATFORM_PWM"; + serviceName = "HDF_PLATFORM_PWM_0"; + deviceMatchAttr = "linux_pwm_adapter_0"; + } + device1 :: deviceNode { + policy = 2; + priority = 80; + permission = 0644; + moduleName = "HDF_PLATFORM_PWM"; + serviceName = "HDF_PLATFORM_PWM_1"; + deviceMatchAttr = "linux_pwm_adapter_1"; + } + device2 :: deviceNode { + policy = 2; + priority = 80; + permission = 0644; + moduleName = "HDF_PLATFORM_PWM"; + serviceName = "HDF_PLATFORM_PWM_2"; + deviceMatchAttr = "linux_pwm_adapter_2"; + } + device3 :: deviceNode { + policy = 2; + priority = 80; + permission = 0644; + moduleName = "HDF_PLATFORM_PWM"; + serviceName = "HDF_PLATFORM_PWM_3"; + deviceMatchAttr = "linux_pwm_adapter_3"; + } + device4 :: deviceNode { + policy = 2; + priority = 80; + permission = 0644; + moduleName = "HDF_PLATFORM_PWM"; + serviceName = "HDF_PLATFORM_PWM_4"; + deviceMatchAttr = "linux_pwm_adapter_4"; + } + } + device_mipi_dsi:: device { + device0 :: deviceNode { + policy = 0; + priority = 150; + permission = 0644; + moduleName = "HDF_MIPI_TX"; + serviceName = "HDF_MIPI_TX"; + } + } + } + display :: host { + hostName = "display_host"; + device_hdf_drm_panel :: device { + device0 :: deviceNode { + policy = 0; + priority = 197; + preload = 0; + moduleName = "HDF_DRMPANEL"; + } + } + device_hdf_disp :: device { + device0 :: deviceNode { + policy = 2; + priority = 196; + permission = 0660; + moduleName = "HDF_DISP"; + serviceName = "hdf_disp"; + } + } + device_hi35xx_disp :: device { + device0 :: deviceNode { + policy = 0; + priority = 195; + moduleName = "HI351XX_DISP"; + } + } + device_lcd :: device { + device0 :: deviceNode { + policy = 0; + priority = 100; + preload = 2; + moduleName = "LITE_LCDKIT"; + deviceMatchAttr = "hdf_lcdkit_driver"; + } + } + device_pwm_bl :: device { + device0 :: deviceNode { + policy = 0; + priority = 95; + preload = 0; + moduleName = "PWM_BL"; + deviceMatchAttr = "pwm_bl_dev"; + } + } + device_backlight :: device { + device0 :: deviceNode { + policy = 2; + priority = 90; + preload = 0; + permission = 0660; + moduleName = "HDF_BL"; + serviceName = "hdf_bl"; + } + } + } + + input :: host { + hostName = "input_host"; + priority = 100; + device_input_manager :: device { + device0 :: deviceNode { + policy = 2; + priority = 100; + preload = 0; + permission = 0660; + moduleName = "HDF_INPUT_MANAGER"; + serviceName = "hdf_input_host"; + deviceMatchAttr = ""; + } + } + device_hdf_hid :: device { + device0 :: deviceNode { + policy = 2; + priority = 200; + preload = 0; + permission = 0660; + moduleName = "HDF_HID"; + } + } + } + usb_pnp_linux :: host { + hostName = "usb_pnp_linux_host"; + device_usb_pnp_linux :: device { + device0 :: deviceNode { + policy = 2; + priority = 100; + preload = 0; + permission = 0664; + moduleName = "HDF_USB_PNP_NOTIFY"; + serviceName = "hdf_usb_pnp_notify_service"; + deviceMatchAttr = "hdf_usb_pnp_notify_config"; + } + } + } + usb_net_linux :: host { + hostName = "usb_net_linux_host"; + device_usb_net_linux :: device { + device0 :: deviceNode { + policy = 2; + priority = 100; + preload = 2; + permission = 0664; + moduleName = "HDF_USB_NET"; + serviceName = "hdf_usb_net_service"; + deviceMatchAttr = "hdf_usb_net_config"; + } + } + } + light :: host { + hostName = "light_host"; + device_light :: device { + device0 :: deviceNode { + policy = 2; + priority = 100; + preload = 0; + permission = 0664; + moduleName = "HDF_LIGHT"; + serviceName = "hdf_light"; + deviceMatchAttr = "hdf_light_driver"; + } + } + } + } +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf.hcs new file mode 100755 index 0000000000000000000000000000000000000000..580e696e6e8a0182ced15c814e2400ad7f16c3f8 --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf.hcs @@ -0,0 +1,15 @@ +#include "device_info/device_info.hcs" +#include "platform/adc_config_linux.hcs" +#include "platform/pwm_config.hcs" +#include "platform/phytiumpi_watchdog_config.hcs" +#include "platform/phytiumpi_uart_config.hcs" +#include "platform/sdio_config.hcs" +#include "platform/emmc_config.hcs" +#include "platform/phytiumpi_spi_config.hcs" +#include "input/input_config.hcs" +#include "light/light_config.hcs" +#include "lcd/lcd_config.hcs" + +root { + module = "phytium,phytiumpi_chip"; +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/Makefile b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/Makefile new file mode 100755 index 0000000000000000000000000000000000000000..7b53c08d8874df96dd9ac94e13dad90ecd7c7f54 --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/Makefile @@ -0,0 +1,95 @@ +# +# Copyright (c) 2020-2023 Huawei Device Co., Ltd. +# +# This software is licensed under the terms of the GNU General Public +# License version 2, as published by the Free Software Foundation, and +# may be copied, distributed, and modified under those terms. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# + +ccflags-$(CONFIG_DRIVERS_HDF_TEST) += -I$(srctree)/include/hdf \ + -I$(srctree)/include/hdf/osal \ + -I$(srctree)/include/hdf/utils \ + -I$(srctree)/drivers/hdf \ + -I$(srctree)/drivers/hdf/inner_api/osal/shared \ + -I$(srctree)/drivers/hdf/inner_api/host/shared \ + -I$(srctree)/drivers/hdf/inner_api/utils \ + -I$(srctree)/drivers/hdf/inner_api/core \ + -I$(srctree)/drivers/hdf/khdf/osal/include \ + -I$(srctree)/drivers/hdf/framework/utils/include + +ifeq ($(LOCAL_HCS_ROOT),) + LOCAL_HCS_ROOT := $(PRODUCT_PATH) +endif + +CURRENT_DIR := $(abspath $(dir $(realpath $(lastword $(MAKEFILE_LIST))))) +SOURCE_ROOT := $(abspath $(CURRENT_DIR)/../../../../../../) + +HC_GEN_DIR := $(abspath $(SOURCE_ROOT)/drivers/hdf_core/framework/tools/hc-gen) +ifneq ($(OUT_DIR),) +HC_GEN := $(OUT_DIR)/kernel/OBJ/${KERNEL_VERSION}/drivers/hdf/khdf/hc_gen_build/hc-gen +else +HC_GEN := $(HC_GEN_DIR)/build/hc-gen +endif +LOCAL_HCS_ROOT := $(CURRENT_DIR) + +HCS_DIR := $(LOCAL_HCS_ROOT) + +ifneq ($(TARGET_BOARD_PLATFORM),) + HCS_DIR := $(LOCAL_HCS_ROOT)/$(TARGET_BOARD_PLATFORM) +else + ifneq ($(CONFIG_ARCH_HI3516DV300),) + HCS_DIR := $(LOCAL_HCS_ROOT) + endif + ifneq ($(CONFIG_ARCH_HI3518EV300),) + HCS_DIR := $(LOCAL_HCS_ROOT) + endif +endif +$(info HCS_DIR = $(HCS_DIR)) +HCB_FLAGS := -b -i -a + +HCS_OBJ := hdf_hcs_hex.o +HCS_OBJ_SRC := $(subst .o,.c,$(notdir $(HCS_OBJ))) + +CONFIG_GEN_HEX_SRC := $(addprefix $(LOCAL_HCS_ROOT)/, $(HCS_OBJ_SRC)) +CONFIG_HCS_SRC := $(subst _hcs_hex.o,.hcs,$(addprefix $(HCS_DIR)/, $(HCS_OBJ))) + +HDF_FRAMWORK_TEST_ROOT = $(abspath $(SOURCE_ROOT)/drivers/hdf_core/framework/test/unittest/utils/hcs_parser/unittest) +HDF_FRAMWORK_TEST_OUT = $(srctree)/drivers/hdf +HCS_MACRO_OBJ := hcs_macro_cases.o +HCS_MACRO_SRC := $(HDF_FRAMWORK_TEST_ROOT)/hcs_macro_cases.c +HCS_DEP := $(HDF_FRAMWORK_TEST_OUT)/hdf_macro_test.h +HCS_MACRO_GEN_FILE := $(HDF_FRAMWORK_TEST_OUT)/hdf_macro_test +HCS_FILE := $(HCS_DIR)/hdf.hcs + +$(obj)/$(HCS_OBJ): $(CONFIG_GEN_HEX_SRC) + $(Q)$(CC) $(c_flags) -c -o $@ $< + $(Q)rm -f $< + +$(CONFIG_GEN_HEX_SRC): $(LOCAL_HCS_ROOT)/%_hcs_hex.c: $(HCS_DIR)/%.hcs | $(HC_GEN) + $(Q)echo gen hdf built-in config + $(Q)if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi + $(Q)$(HC_GEN) $(HCB_FLAGS) -o $(subst _hex.c,,$(@)) $< + +$(CONFIG_GEN_SRCS): $(CONFIG_OUT_DIR)%.c: $(HCS_DIR)/%.hcs | $(HC_GEN) + $(Q)echo gen hdf driver config + $(Q)if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi + $(Q)$(HC_GEN) -t -o $@ $< + +$(HC_GEN): + $(HIDE)make -C $(HC_GEN_DIR) BUILD_DIR=$(dir $@) + +$(obj)/$(HCS_MACRO_OBJ): $(HCS_MACRO_SRC) $(HCS_DEP) + $(Q)$(CC) $(c_flags) -c -o $@ $< + +$(HCS_DEP): $(HC_GEN) + $(Q)echo gen hdf built-in config macro + $(Q)$(HC_GEN) -m -o $(HCS_MACRO_GEN_FILE) $(HCS_FILE) + +obj-$(CONFIG_DRIVERS_HDF) += $(HCS_OBJ) \ + $(HCS_MACRO_OBJ) diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/adc_test_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/adc_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..2dd37bb891728b21bc2b1fccef4424bda97094c1 --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/adc_test_config.hcs @@ -0,0 +1,13 @@ +root { + module = "adc"; + adc_test_config { + adc_device_tester { + match_attr = "ADC_TEST"; + devNum = 14; + channel = 1; + maxChannel = 2; + dataWidth = 10; + rate = 20000; + } + } +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/emmc_test_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/emmc_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..fe1d87652ff4bd288ee52df962799aaef50f5292 --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/emmc_test_config.hcs @@ -0,0 +1,10 @@ +root { + module = "emmc"; + emmc_config { + emmc_controller_tester { + match_attr = "EMMC_TEST"; + busNum = 0; + hostId = 0; + } + } +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/gpio_test_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/gpio_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..a7934e7c40e3c30e0dc829bffa9d6775b731394e --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/gpio_test_config.hcs @@ -0,0 +1,14 @@ +root { + module = "gpio"; + gpio_config { + gpio_controller_tester { + match_attr = "GPIO_TEST"; + testNameOne = "GPIO4_26"; + testNameTwo = "GPIO4_29"; + gpio = 154; + gpioTestTwo = 157; + gpioIrq = 83; + testUserApi = 1; + } + } +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/hdf.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/hdf.hcs new file mode 100755 index 0000000000000000000000000000000000000000..10c135a460499dc33c988a69c770c85de8109cf3 --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/hdf.hcs @@ -0,0 +1,17 @@ +#include "../hdf.hcs" +#include "hdf_config_test.hcs" +#include "hdf_test_manager/device_info.hcs" +#include "adc_test_config.hcs" +#include "gpio_test_config.hcs" +#include "i2c_test_config.hcs" +#include "pwm_test_config.hcs" +#include "spi_test_config.hcs" +#include "sdio_test_config.hcs" +#include "emmc_test_config.hcs" +#include "uart_test_config.hcs" +#include "rtc_test_config.hcs" +#include "watchdog_test_config.hcs" + +root { + module = "hisilicon,hi35xx_chip"; +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/hdf_config_test.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/hdf_config_test.hcs new file mode 100755 index 0000000000000000000000000000000000000000..ddc7b0962d429034be9df942546a952529c5905b --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/hdf_config_test.hcs @@ -0,0 +1,52 @@ +root { + module = "ConfigTest"; + match_attr = "test,config"; + audio_info { + match_attr = "hw,hw_audio_info"; + pa_identifier = "smartpakit"; + smartpa_addr = 65536; + smartpa_num = 1; + builtin_primary_mic_exist = true; + builtin_second_mic_exist = true; + voice_vol_level = 256; + cust_name = "audio_custom_v2"; + dual_smartpa_delay = "true"; + read_u64data = 0x100000000; + status = "ok"; + } + fingerprint_info { + match_attr = "hw,hw_fingerprint_info"; + read_u32_index = [1, 256, 65536]; + finger_info = &fingerprint_one; + audio_info = &root.audio_info; + fingerprint_one { + product = "test"; + chip = "one"; + one_child { + status = "ok"; + } + status = "ok"; + } + dual_fingerprint = "false"; + fingerprint_two: fingerprint_one { + chip = "two"; + status = "disable"; + } + string_list_names = ["first", "second", "third"]; + status = "ok"; + } + data_type_test { + match_attr = "hw,data_type_test"; + read_four_data_type = [0x1, 0x100, 0x10000, 0x100000000]; + test_u8_elem_data = [0, 1, 2, 3, 4, 5, 6, 7]; + test_u16_elem_data = [0, 1, 2, 3, 4, 5, 256, 257]; + } + board_id = [65536, 256]; + support_Device = "TP LCD Sensor"; + fingerprint_three: root.fingerprint_info.fingerprint_one { + chip = "three"; + status = "disable"; + } + modem_id = [0xF6B40136, 0x0]; + boardId = 8000; +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/hdf_test_manager/device_info.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/hdf_test_manager/device_info.hcs new file mode 100755 index 0000000000000000000000000000000000000000..65f611b8f1712be0be9ef26a2712cd2e837fad28 --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/hdf_test_manager/device_info.hcs @@ -0,0 +1,176 @@ +root { + device_info { + test_host :: host { + hostName = "test_host"; + priority = 180; + device_hdf_test :: device { + device0 :: deviceNode { + policy = 2; + priority = 10; + preload = 0; + permission = 0644; + moduleName = "khdf_ut"; + serviceName = "khdf_ut"; + } + device1 :: deviceNode { + policy = 2; + priority = 10; + preload = 0; + permission = 0644; + moduleName = "sample_driver"; + serviceName = "sample_service"; + } + device2 :: deviceNode { + policy = 2; + priority = 10; + preload = 0; + permission = 0644; + moduleName = "pm_test_driver"; + serviceName = "pm_ut_service"; + } + device3 :: deviceNode { + policy = 2; + priority = 10; + preload = 2; + permission = 0644; + moduleName = "hdf_test_helper"; + serviceName = "hdf_test_helper"; + } + device_uevent_ut :: deviceNode { + policy = 2; + priority = 10; + preload = 0; + permission = 0644; + moduleName = "uevent_ut_driver"; + serviceName = "hdf_uevent_ut"; + } + } + device_platform_test :: device { + adc_tester :: deviceNode { + policy = 2; + priority = 110; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_ADC_TEST"; + deviceMatchAttr = "ADC_TEST"; + serviceName = "ADC_TEST"; + } + gpio_tester :: deviceNode { + policy = 2; + priority = 101; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_GPIO_TEST"; + deviceMatchAttr = "GPIO_TEST"; + serviceName = "GPIO_TEST"; + } + i2c_tester :: deviceNode { + policy = 2; + priority = 101; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_I2C_TEST"; + deviceMatchAttr = "I2C_TEST"; + serviceName = "I2C_TEST"; + } + i2c_dummy :: deviceNode { + policy = 1; + priority = 101; + preload = 0; + permission = 0644; + moduleName = "dummy_i2c_adapter"; + } + pwm_virtual :: deviceNode { + policy = 2; + priority = 56; + permission = 0644; + moduleName = "virtual_pwm_driver"; + serviceName = "HDF_PLATFORM_PWM_10"; + deviceMatchAttr = "virtual_pwm"; + } + pwm_test :: deviceNode { + policy = 2; + priority = 110; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_PWM_TEST"; + serviceName = "PWM_TEST"; + deviceMatchAttr = "PWM_TEST"; + } + spi_test :: deviceNode { + policy = 1; + priority = 100; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_SPI_TEST"; + serviceName = "SPI_TEST"; + deviceMatchAttr = "SPI_TEST"; + } + emmc_tester :: deviceNode { + policy = 1; + priority = 100; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_EMMC_TEST"; + serviceName = "EMMC_TEST"; + deviceMatchAttr = "EMMC_TEST"; + } + sdio_tester :: deviceNode { + policy = 1; + priority = 100; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_SDIO_TEST"; + serviceName = "SDIO_TEST"; + deviceMatchAttr = "SDIO_TEST"; + } + watchdog_test :: deviceNode { + policy = 1; + priority = 110; + preload = 0; + permission = 0660; + moduleName = "PLATFORM_WATCHDOG_TEST"; + serviceName = "WATCHDOG_TEST"; + deviceMatchAttr = "WATCHDOG_TEST"; + } + mipi_dsi_test :: deviceNode { + policy = 1; + priority = 100; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_MIPI_DSI_TEST"; + serviceName = "PLATFORM_MIPI_DSI_TEST"; + deviceMatchAttr = "PLATFORM_MIPI_DSI_TEST"; + } + uart_tester :: deviceNode { + policy = 2; + priority = 100; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_UART_TEST"; + serviceName = "UART_TEST"; + deviceMatchAttr = "UART_TEST"; + } + rtc_tester :: deviceNode { + policy = 2; + priority = 101; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_RTC_TEST"; + serviceName = "RTC_TEST"; + deviceMatchAttr = "RTC_TEST"; + } + } + device_sensor_test :: device { + sensor_tester :: deviceNode { + policy = 0; + priority = 100; + preload = 0; + permission = 0644; + moduleName = "HDF_SENSOR_TEST_DRIVER"; + } + } + } + } +} + diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/i2c_test_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/i2c_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..9d706242928369cbdba64e0769437954832d8b7f --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/i2c_test_config.hcs @@ -0,0 +1,13 @@ +root { + module = "i2c"; + i2c_config { + i2c_controller_tester { + match_attr = "I2C_TEST"; + bus_num = 1; + dev_addr = 0x5d; + reg_addr = 0xd0; + reg_len = 2; + buf_size = 7; + } + } +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/pwm_test_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/pwm_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..bd036990fc3ef99c06216bb551378ec9a3cee4e5 --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/pwm_test_config.hcs @@ -0,0 +1,15 @@ +root { + pwm_test { + module = "pwm_test"; + match_attr = "PWM_TEST"; + num = 10; + period = 999; + duty = 333; + polarity = 0; + status = 1; + } + virtual_test { + match_attr = "virtual_pwm"; + num = 10; + } +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/rtc_test_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/rtc_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..e134087a2aa46f1555dcd80ddaabfe98da5d614a --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/rtc_test_config.hcs @@ -0,0 +1,19 @@ +root { + module = "rtc"; + rtc_config { + match_attr = "RTC_TEST"; + time = 60; + maxYear = 2222; + year = 2020; + month = 8; + day = 8; + hour = 8; + minute = 8; + second = 8; + frequency = 32768; + userValue = 0x8; + userMaxIndex = 8; + waitTimeSecond = 3; + writeWaitMillisecond = 30; + } +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/sdio_test_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/sdio_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..9f1835a7d42a76bf4950c8e7e77d867c8f67264e --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/sdio_test_config.hcs @@ -0,0 +1,12 @@ +root { + module = "sdio"; + sdio_config { + sdio_controller_tester { + match_attr = "SDIO_TEST"; + busNum = 2; + funcNum = 1; + vendorId = 0x296; + deviceId = 0x5347; + } + } +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/spi_test_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/spi_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..028707ed1b9f8e01e1cbb82609f9c3d48bff96d3 --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/spi_test_config.hcs @@ -0,0 +1,10 @@ +root { + spi_test { + module = "spi_test"; + match_attr = "SPI_TEST"; + bus = 0; + cs = 0; + len = 8; + wbuf = [0xa1, 0xb2, 0xc3, 0xd4, 0xe5, 0xf6, 0x78, 0x90]; + } +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/uart_test_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/uart_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..7e08a49888593811c50e3777fe1653aedacf9513 --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/uart_test_config.hcs @@ -0,0 +1,9 @@ +root { + uart_test { + module = "uart_test"; + match_attr = "UART_TEST"; + port = 3; + len = 8; + wbuf = [0xa1, 0xb2, 0xc3, 0xd4, 0xe5, 0xf6, 0x78, 0x90]; + } +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/watchdog_test_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/watchdog_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..7cf2646f207318f31794c333afe36dd760e82c60 --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/hdf_test/watchdog_test_config.hcs @@ -0,0 +1,13 @@ +root { + module = "watchdog"; + watchdog_config { + watchdog_device_tester { + match_attr = "WATCHDOG_TEST"; + id = 0; + timeoutSet = 2; + statusStop = 0; + statusStart = 0; + feedTime = 6; + } + } +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/input/input_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/input/input_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..76787c76cd2d01e258d94c378bf4d3ded997ba32 --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/input/input_config.hcs @@ -0,0 +1,207 @@ +root { + input_config { + touchConfig { + touch0 { + boardConfig { + match_attr = "touch_device1"; + inputAttr { + /* 0:touch 1:key 2:keyboard 3:mouse 4:button 5:crown 6:encoder */ + inputType = 0; + solutionX = 720; + solutionY = 1280; + devName = "main_touch"; + } + +// Hi3516DV300-Runhe gt911--5p5 & 4p0 + busConfig { + // 0:i2c 1:spi + busType = 0; + busNum = 1; + clkGpio = 86; + dataGpio = 87; + i2cClkIomux = [0x114f0048, 0x403]; + i2cDataIomux = [0x114f004c, 0x403]; + } + + pinConfig { + rstGpio = 14; + intGpio = 13; + rstRegCfg = [0x112f0094, 0x400]; + intRegCfg = [0x112f0098, 0x400]; + } + +// Hi3516DV300-Ruishi gt911--7p0 +/* + busConfig { + // 0:i2c 1:spi + busType = 0; + busNum = 6; + clkGpio = 26; + dataGpio = 27; + i2cClkIomux = [0x114f0048, 0x403]; + i2cDataIomux = [0x114f004c, 0x403]; + } + + pinConfig { + rstGpio = 13; + intGpio = 12; + rstRegCfg = [0x10ff0030, 0x400]; + intRegCfg = [0x10ff002C, 0x400]; + } +*/ +// Hi3516DV300-Demo board: ft6336--2p35 +/* + busConfig { + // 0:i2c 1:spi + busType = 0; + busNum = 3; + clkGpio = 2; + dataGpio = 1; + i2cClkIomux = [0x112f0090, 0x5f1]; + i2cDataIomux = [0x112f008c, 0x5f1]; + } + + pinConfig { + rstGpio = 3; + intGpio = 4; + rstRegCfg = [0x0, 0x0]; + intRegCfg = [0x112f0098, 0x5f0]; + } +*/ + powerConfig { + /* 0:unused 1:ldo 2:gpio 3:pmic */ + vccType = 2; + vccNum = 20; // gpio20 + vccValue = 1800; + vciType = 1; + vciNum = 12; // ldo12 + vciValue = 3300; + } + + featureConfig { + capacitanceTest = 0; + gestureMode = 0; + gloverMOde = 0; + coverMode = 0; + chargerMode = 0; + knuckleMode = 0; + } + } + + chipConfig { + template touchChip { + match_attr = ""; + chipName = "gt911"; + vendorName = "zsj"; + chipInfo = "AAAA11222"; // 4-ProjectName, 2-TP IC, 3-TP Module + /* 0:i2c 1:spi*/ + busType = 0; + deviceAddr = 0x5D; + /* 0:None 1:Rising 2:Failing 4:High-level 8:Low-level */ + irqFlag = 2; + maxSpeed = 400; + chipVersion = 0; //parse Coord TypeA + powerSequence { + /* [type, status, dir , delay] + 0:none 1:vcc-1.8v 2:vci-3.3v 3:reset 4:int + 0:off or low 1:on or high 2:no ops + 0:input 1:output 2:no ops + meanings delay xms, 20: delay 20ms + */ + powerOnSeq = [4, 0, 1, 5, + 3, 0, 1, 10, + 3, 1, 1, 60, + 4, 2, 0, 50]; + suspendSeq = [3, 0, 2, 10]; + resumeSeq = [3, 1, 2, 10]; + powerOffSeq = [3, 0, 2, 10, + 1, 0, 2, 20]; + } + } + + chip0 :: touchChip { + match_attr = "zsj_gt911_5p5"; + chipInfo = "ZIDN45100"; // 4-ProjectName, 2-TP IC, 3-TP Module + chipVersion = 0; //parse point by TypeA + } + + chip1 :: touchChip { + match_attr = "zsj_gt911_4p0"; + chipInfo = "ZIDN45101"; + chipVersion = 1; //parse point by TypeB + } + + chip2 :: touchChip { + match_attr = "tg_gt911_7p0"; + vendorName = "tg"; + chipInfo = "ZIDN45102"; + chipVersion = 2; //parse point by TypeC + } + + chip3 :: touchChip { + match_attr = "st_ft6336_2p35"; + chipName = "ft6336"; + vendorName = "st"; + chipInfo = "ZIDN53200"; + deviceAddr = 0x38; + irqFlag = 1; // Rising + powerSequence { + /* [type, status, dir , delay] + 0:none 1:vcc-1.8v 2:vci-3.3v 3:reset 4:int + 0:off or low 1:on or high 2:no ops + 0:input 1:output 2:no ops + meanings delay xms, 20: delay 20ms + */ + powerOnSeq = [4, 2, 0, 0, + 3, 1, 1, 2, + 3, 0, 2, 5, + 3, 1, 2, 200]; + suspendSeq = [3, 0, 2, 10]; + resumeSeq = [3, 1, 2, 10]; + powerOffSeq = [3, 0, 2, 10, + 1, 0, 2, 20]; + } + } + } + } + } + + keyConfig { + keyList = ["power", "VolUp", "VolDown", "Up", "Down", "Left", "Right"]; + keyInfoList { + key1 { + match_attr = "key_device0"; + /* 0:touch 1:key 2:keyboard 3:mouse 4:button 5:crown 6:encoder */ + inputType = 1; + keyName = "power"; + gpioNum = 1; + irqFlag = 3; + debounceTime = 80; + } + + key2 { + keyName = "volUp"; + gpioNum = 31; + irqFlag = 1; + debounceTime = 80; + } + + key3 { + keyName = "volDown"; + gpioNum = 32; + irqFlag = 1; + debounceTime = 80; + } + } + } + infraredConfig { + infrared1 { + match_attr = "Infrared_device0"; + infraredName = "raspberryInfrared"; + inputType = 1; + gpioNum = 29; + irqFlag = 1; + } + } + } +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/lcd/lcd_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/lcd/lcd_config.hcs new file mode 100644 index 0000000000000000000000000000000000000000..dd1ea37befacdbed5091f95de6cc873409ce1623 --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/lcd/lcd_config.hcs @@ -0,0 +1,13 @@ +root { + backlightConfig { + pwmBacklightConfig { + match_attr = "pwm_bl_dev"; + pwmDevNum = 1; + pwmMaxPeriod = 25000; + backlightDevName = "hdf_pwm"; + minBrightness = 0; + defBrightness = 127; + maxBrightness = 255; + } + } +} \ No newline at end of file diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/light/light_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/light/light_config.hcs new file mode 100644 index 0000000000000000000000000000000000000000..1f744099f851388fd9994b2698556cfd68ce7413 --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/light/light_config.hcs @@ -0,0 +1,25 @@ +root { + lightConfig { + boardConfig { + match_attr = "hdf_light_driver"; + lightAttr { + light01 { + lightId = [1]; /* Lightid can contain multiple logical light ID, for example: + 1 indicates the power indicator. These logic lights work on + the same physical light light01. */ + lightName = "battery"; + lightNumber = 1; + busRNum = 147; // Red corresponding GPIO. + busGNum = 146; // Green corresponding GPIO. + busBNum = 149; // Blue corresponding GPIO. + defaultBrightness = 0X00FFFFFF; /* System default brightness value. + B: 0-7bit, R: 8-15bit, G: 16-23, extended bit: 24-31bit. */ + onTime = 50; /* The minimum duration (in milliseconds) that the system supports + when the light is on during flashing */ + offTime = 50; /* The minimum duration (in milliseconds) that the system supports + when the light is off during flashing */ + } + } + } + } +} \ No newline at end of file diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/adc_config_linux.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/adc_config_linux.hcs new file mode 100755 index 0000000000000000000000000000000000000000..10dd97a503bb9b1887d93fd1408a4e033dc55049 --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/adc_config_linux.hcs @@ -0,0 +1,34 @@ +root { + platform { + adc_config { + match_attr = "linux_adc_adapter_0"; + template adc_device { + serviceName = ""; + channelNum = 2; + driver_channel0_name = ""; + driver_channel1_name = ""; + deviceNum = 0; + scanMode = 0; + rate = 100; + } + device_adc_0x0000 :: adc_device { + channelNum = 8; + driver_channel0_name = "/sys/bus/iio/devices/iio:device0/in_voltage0_raw"; + driver_channel1_name = "/sys/bus/iio/devices/iio:device0/in_voltage1_raw"; + driver_channel2_name = "/sys/bus/iio/devices/iio:device0/in_voltage2_raw"; + driver_channel3_name = "/sys/bus/iio/devices/iio:device0/in_voltage3_raw"; + driver_channel4_name = "/sys/bus/iio/devices/iio:device0/in_voltage4_raw"; + driver_channel5_name = "/sys/bus/iio/devices/iio:device0/in_voltage5_raw"; + driver_channel6_name = "/sys/bus/iio/devices/iio:device0/in_voltage6_raw"; + driver_channel7_name = "/sys/bus/iio/devices/iio:device0/in_voltage7_raw"; + deviceNum = 0; + } + device_adc_0x0001 :: adc_device { + channelNum = 2; + driver_channel0_name = "/sys/bus/iio/devices/iio:device0/in_voltage0_raw"; + driver_channel1_name = "/sys/bus/iio/devices/iio:device0/in_voltage1_raw"; + deviceNum = 14; + } + } + } +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/emmc_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/emmc_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..3351c0c469d73461610ad22e8fd35a3c912f6981 --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/emmc_config.hcs @@ -0,0 +1,16 @@ +root { + platform { + emmc_config { + template emmc_controller { + match_attr = ""; + hostId = 0; + devType = 0; + } + + controller_0x00 :: emmc_controller { + match_attr = "hisilicon_hi35xx_emmc_0"; + } + } + } +} + diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/i2c_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/i2c_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..3ba3ccc3ed5d86fa99a03c00848f98a05b5955bb --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/i2c_config.hcs @@ -0,0 +1,18 @@ +root { + platform { + i2c_config { + match_attr = "linux_i2c_adapter"; + + template i2c_controller { + bus = 0; + } + + controller_0x28026000 :: i2c_controller { + bus = 0; + } + controller_0x28030000 :: i2c_controller { + bus = 1; + } + } + } +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/phytiumpi_spi_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/phytiumpi_spi_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..77ed37a00bf278184f9e35db0ca5d2d01f91351c --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/phytiumpi_spi_config.hcs @@ -0,0 +1,39 @@ +root { + platform { + spi_config { + template spi_controller { + serviceName = ""; + match_attr = ""; + busNum = 0; + numCs = 0; + } + + controller_0x2803a000 :: spi_controller { + busNum = 0; + numCs = 1; + match_attr = "phytium_phytiumpi_spi_0"; + } + + controller_0x2803b000 :: spi_controller { + match_attr = "phytium_phytiumpi_spi_1"; + busNum = 1; + numCs = 1; + } + + controller_0x2803c000 :: spi_controller { + match_attr = "phytium_phytiumpi_spi_2"; + busNum = 1; + numCs = 1; + } + + controller_0x2803d000 :: spi_controller { + match_attr = "phytium_phytiumpi_spi_3"; + busNum = 1; + numCs = 1; + } + + } + } +} + + diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/phytiumpi_uart_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/phytiumpi_uart_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..36de248fd447fe10416ac3b1722f638a4712d605 --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/phytiumpi_uart_config.hcs @@ -0,0 +1,24 @@ +root { + platform { + uart_config { + template uart_device { + serviceName = ""; + match_attr = ""; + driver_name = "ttyS"; + num = 0; + } + + device_uart_0x0000 :: uart_device { + match_attr = "phytium_phytiumpi_uart_0"; + } + device_uart_0x0001 :: uart_device { + num = 1; + match_attr = "phytium_phytiumpi_uart_1"; + } + device_uart_0x0003 :: uart_device { + num = 3; + match_attr = "phytium_phytiumpi_uart_3"; + } + } + } +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/phytiumpi_watchdog_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/phytiumpi_watchdog_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..4bbd8ba6fae5c7e44f71845b731adf91bef4f8bf --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/phytiumpi_watchdog_config.hcs @@ -0,0 +1,16 @@ +root { + platform { + watchdog_config { + template watchdog_device { + serviceName = "HDF_PLATFORM_WATCHDOG_0"; + match_attr = ""; + id = 0; + } + + device_0x28040000 :: watchdog_device { + id = 0; + match_attr = "phytium_phytiumpi_watchdog_0"; + } + } + } +} diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/pwm_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/pwm_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..2b46ab0ef3e94514ab66b5b47f2fe07078d6186b --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/pwm_config.hcs @@ -0,0 +1,23 @@ +root { + platform { + pwm_config { + template pwm_device { + serviceName = ""; + match_attr = ""; + num = 0; + } + + device_pwm_0x2804a000 :: pwm_device { + num = 0; + match_attr = "linux_pwm_adapter_0"; + } + + device_pwm_0x2804b000 :: pwm_device { + num = 1; + match_attr = "linux_pwm_adapter_1"; + } + + } + } +} + diff --git a/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/sdio_config.hcs b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/sdio_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..5e1018fbf0d8528153fd63c5c48f12cb75adc254 --- /dev/null +++ b/vendor_phytium/phytiumpi-firefly/hdf_config/khdf/platform/sdio_config.hcs @@ -0,0 +1,15 @@ +root { + platform { + sdio_config { + template sdio_controller { + match_attr = ""; + hostId = 2; + devType = 2; + } + controller_0x2dd1 :: sdio_controller { + match_attr = "hisilicon_hi35xx_sdio_0"; + } + } + } +} + diff --git a/vendor_phytium/tenglong_e/etc/param/product_tenglong_e.para b/vendor_phytium/tenglong_e/etc/param/product_tenglong_e.para index 738748792465f1e4220c74bad338aed09984841c..f59e375d11122983e2eaebde55179f9746f1031b 100755 --- a/vendor_phytium/tenglong_e/etc/param/product_tenglong_e.para +++ b/vendor_phytium/tenglong_e/etc/param/product_tenglong_e.para @@ -14,3 +14,4 @@ const.product.brand=default const.build.product=default const.product.name=Phytium tenglong_e +persist.init.debug.usesoftware = 1 diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/Makefile b/vendor_phytium/tenglong_e/hdf_config/khdf/Makefile new file mode 100755 index 0000000000000000000000000000000000000000..1875b17945b0c8bc08bc6f153882d89ad9c83d4b --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/Makefile @@ -0,0 +1,67 @@ +# +# Copyright (c) 2020-2021 Huawei Device Co., Ltd. +# +# This software is licensed under the terms of the GNU General Public +# License version 2, as published by the Free Software Foundation, and +# may be copied, distributed, and modified under those terms. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# + +ifeq ($(LOCAL_HCS_ROOT),) + LOCAL_HCS_ROOT := $(PRODUCT_PATH) +endif +CURRENT_DIR := $(abspath $(dir $(realpath $(lastword $(MAKEFILE_LIST))))) +SOURCE_ROOT := $(abspath $(CURRENT_DIR)/../../../../../) + +HC_GEN_DIR := $(abspath $(SOURCE_ROOT)/drivers/hdf_core/framework/tools/hc-gen) +ifneq ($(OUT_DIR),) +HC_GEN := $(OUT_DIR)/kernel/OBJ/${KERNEL_VERSION}/drivers/hdf/khdf/hc_gen_build/hc-gen +else +HC_GEN := $(HC_GEN_DIR)/build/hc-gen +endif +LOCAL_HCS_ROOT := $(CURRENT_DIR) + +HCS_DIR := $(LOCAL_HCS_ROOT) + +ifneq ($(TARGET_BOARD_PLATFORM),) + HCS_DIR := $(LOCAL_HCS_ROOT)/$(TARGET_BOARD_PLATFORM) +else + ifneq ($(CONFIG_ARCH_HI3516DV300),) + HCS_DIR := $(LOCAL_HCS_ROOT) + endif + ifneq ($(CONFIG_ARCH_HI3518EV300),) + HCS_DIR := $(LOCAL_HCS_ROOT) + endif +endif +$(info HCS_DIR = $(HCS_DIR)) +HCB_FLAGS := -b -i -a + +HCS_OBJ := hdf_hcs_hex.o +HCS_OBJ_SRC := $(subst .o,.c,$(notdir $(HCS_OBJ))) + +CONFIG_GEN_HEX_SRC := $(addprefix $(LOCAL_HCS_ROOT)/, $(HCS_OBJ_SRC)) +CONFIG_HCS_SRC := $(subst _hcs_hex.o,.hcs,$(addprefix $(HCS_DIR)/, $(HCS_OBJ))) + +$(obj)/$(HCS_OBJ): $(CONFIG_GEN_HEX_SRC) + $(Q)$(CC) $(c_flags) -c -o $@ $< + $(Q)rm -f $< + +$(CONFIG_GEN_HEX_SRC): $(LOCAL_HCS_ROOT)/%_hcs_hex.c: $(HCS_DIR)/%.hcs | $(HC_GEN) + $(Q)echo gen hdf built-in config + $(Q)if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi + $(Q)$(HC_GEN) $(HCB_FLAGS) -o $(subst _hex.c,,$(@)) $< + +$(CONFIG_GEN_SRCS): $(CONFIG_OUT_DIR)%.c: $(HCS_DIR)/%.hcs | $(HC_GEN) + $(Q)echo gen hdf driver config + $(Q)if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi + $(Q)$(HC_GEN) -t -o $@ $< + +$(HC_GEN): + $(HIDE)make -C $(HC_GEN_DIR) BUILD_DIR=$(dir $@) + +obj-$(CONFIG_DRIVERS_HDF) += $(HCS_OBJ) diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/device_info/device_info.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/device_info/device_info.hcs new file mode 100644 index 0000000000000000000000000000000000000000..df2f7629e3e534dc0035d7069579722222d80cc7 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/device_info/device_info.hcs @@ -0,0 +1,360 @@ + root { + device_info { + match_attr = "hdf_manager"; + template host { + hostName = ""; + priority = 100; + template device { + template deviceNode { + policy = 0; + priority = 100; + preload = 0; + permission = 0664; + moduleName = ""; + serviceName = ""; + deviceMatchAttr = ""; + } + } + } + base :: host { + hostName = "base_host"; + priority = 50; + device_support :: device { + device0 :: deviceNode { + policy = 2; + priority = 10; + permission = 0644; + moduleName = "HDF_KEVENT"; + serviceName = "hdf_kevent"; + } + } + } + platform :: host { + hostName = "platform_host"; + priority = 50; + device_gpio :: device { + device0 :: deviceNode { + policy = 2; + priority = 10; + permission = 0644; + moduleName = "HDF_PLATFORM_GPIO_MANAGER"; + serviceName = "HDF_PLATFORM_GPIO_MANAGER"; + } + device1 :: deviceNode { + policy = 0; + priority = 10; + permission = 0644; + moduleName = "linux_gpio_adapter"; + deviceMatchAttr = "linux_gpio_adapter"; + } + } + device_watchdog :: device { + device0 :: deviceNode { + policy = 1; + priority = 20; + permission = 0644; + moduleName = "HDF_PLATFORM_WATCHDOG"; + serviceName = "HDF_PLATFORM_WATCHDOG_0"; + deviceMatchAttr = "phytium_tenglonge_watchdog_0"; + } + } + device_rtc :: device { + device0 :: deviceNode { + policy = 2; + priority = 30; + permission = 0644; + moduleName = "HDF_PLATFORM_RTC"; + serviceName = "HDF_PLATFORM_RTC"; + deviceMatchAttr = "phytium_tenglonge_rtc"; + } + } + device_uart :: device { + device0 :: deviceNode { + policy = 2; + priority = 40; + permission = 0644; + moduleName = "HDF_PLATFORM_UART"; + serviceName = "HDF_PLATFORM_UART_0"; + deviceMatchAttr = "phytium_tenglonge_uart_0"; + } + device1 :: deviceNode { + policy = 2; + permission = 0644; + priority = 40; + moduleName = "HDF_PLATFORM_UART"; + serviceName = "HDF_PLATFORM_UART_1"; + deviceMatchAttr = "phytium_tenglonge_uart_1"; + } + device2 :: deviceNode { + policy = 2; + permission = 0644; + priority = 40; + moduleName = "HDF_PLATFORM_UART"; + serviceName = "HDF_PLATFORM_UART_3"; + deviceMatchAttr = "phytium_tenglonge_uart_3"; + } + } + device_i2c :: device { + device0 :: deviceNode { + policy = 2; + priority = 50; + permission = 0644; + moduleName = "HDF_PLATFORM_I2C_MANAGER"; + serviceName = "HDF_PLATFORM_I2C_MANAGER"; + deviceMatchAttr = "hdf_platform_i2c_manager"; + } + device1 :: deviceNode { + policy = 0; + priority = 55; + permission = 0644; + moduleName = "linux_i2c_adapter"; + deviceMatchAttr = "linux_i2c_adapter"; + } + } + device_adc :: device { + device0 :: deviceNode { + policy = 2; + priority = 60; + permission = 0644; + moduleName = "HDF_PLATFORM_ADC_MANAGER"; + serviceName = "HDF_PLATFORM_ADC_MANAGER"; + deviceMatchAttr = "hdf_platform_adc_manager"; + } + device1 :: deviceNode { + policy = 0; + priority = 65; + permission = 0644; + moduleName = "linux_adc_adapter"; + deviceMatchAttr = "linux_adc_adapter_0"; + } + } + device_spi :: device { + device0 :: deviceNode { + policy = 1; + priority = 60; + permission = 0644; + moduleName = "HDF_PLATFORM_SPI"; + serviceName = "HDF_PLATFORM_SPI_0"; + deviceMatchAttr = "phytium_tenglonge_spi_0"; + } + device1 :: deviceNode { + policy = 1; + priority = 60; + permission = 0644; + moduleName = "HDF_PLATFORM_SPI"; + serviceName = "HDF_PLATFORM_SPI_1"; + deviceMatchAttr = "phytium_tenglonge_spi_1"; + } + device2 :: deviceNode { + policy = 1; + priority = 60; + permission = 0644; + moduleName = "HDF_PLATFORM_SPI"; + serviceName = "HDF_PLATFORM_SPI_2"; + deviceMatchAttr = "phytium_tenglonge_spi_2"; + } + device3 :: deviceNode { + policy = 1; + priority = 60; + permission = 0644; + moduleName = "HDF_PLATFORM_SPI"; + serviceName = "HDF_PLATFORM_SPI_3"; + deviceMatchAttr = "phytium_tenglonge_spi_3"; + } + } + device_sdio :: device { + device0 :: deviceNode { + policy = 1; + priority = 70; + permission = 0644; + moduleName = "HDF_PLATFORM_SDIO"; + serviceName = "HDF_PLATFORM_MMC_2"; + deviceMatchAttr = "hisilicon_hi35xx_sdio_0"; + } + } + device_emmc :: device { + device0 :: deviceNode { + policy = 2; + priority = 20; + permission = 0644; + moduleName = "HDF_PLATFORM_EMMC"; + serviceName = "HDF_PLATFORM_MMC_0"; + deviceMatchAttr = "hisilicon_hi35xx_emmc_0"; + } + } + device_pwm :: device { + device0 :: deviceNode { + policy = 2; + priority = 80; + permission = 0644; + moduleName = "HDF_PLATFORM_PWM"; + serviceName = "HDF_PLATFORM_PWM_0"; + deviceMatchAttr = "linux_pwm_adapter_0"; + } + device1 :: deviceNode { + policy = 2; + priority = 80; + permission = 0644; + moduleName = "HDF_PLATFORM_PWM"; + serviceName = "HDF_PLATFORM_PWM_1"; + deviceMatchAttr = "linux_pwm_adapter_1"; + } + device2 :: deviceNode { + policy = 2; + priority = 80; + permission = 0644; + moduleName = "HDF_PLATFORM_PWM"; + serviceName = "HDF_PLATFORM_PWM_2"; + deviceMatchAttr = "linux_pwm_adapter_2"; + } + device3 :: deviceNode { + policy = 2; + priority = 80; + permission = 0644; + moduleName = "HDF_PLATFORM_PWM"; + serviceName = "HDF_PLATFORM_PWM_3"; + deviceMatchAttr = "linux_pwm_adapter_3"; + } + device4 :: deviceNode { + policy = 2; + priority = 80; + permission = 0644; + moduleName = "HDF_PLATFORM_PWM"; + serviceName = "HDF_PLATFORM_PWM_4"; + deviceMatchAttr = "linux_pwm_adapter_4"; + } + } + device_mipi_dsi:: device { + device0 :: deviceNode { + policy = 0; + priority = 150; + permission = 0644; + moduleName = "HDF_MIPI_TX"; + serviceName = "HDF_MIPI_TX"; + } + } + } + display :: host { + hostName = "display_host"; + device_hdf_drm_panel :: device { + device0 :: deviceNode { + policy = 0; + priority = 197; + preload = 0; + moduleName = "HDF_DRMPANEL"; + } + } + device_hdf_disp :: device { + device0 :: deviceNode { + policy = 2; + priority = 196; + permission = 0660; + moduleName = "HDF_DISP"; + serviceName = "hdf_disp"; + } + } + device_hi35xx_disp :: device { + device0 :: deviceNode { + policy = 0; + priority = 195; + moduleName = "HI351XX_DISP"; + } + } + device_lcd :: device { + device0 :: deviceNode { + policy = 0; + priority = 100; + preload = 2; + moduleName = "LITE_LCDKIT"; + deviceMatchAttr = "hdf_lcdkit_driver"; + } + } + device_pwm_bl :: device { + device0 :: deviceNode { + policy = 0; + priority = 95; + preload = 0; + moduleName = "PWM_BL"; + deviceMatchAttr = "pwm_bl_dev"; + } + } + device_backlight :: device { + device0 :: deviceNode { + policy = 2; + priority = 90; + preload = 0; + permission = 0660; + moduleName = "HDF_BL"; + serviceName = "hdf_bl"; + } + } + } + + input :: host { + hostName = "input_host"; + priority = 100; + device_input_manager :: device { + device0 :: deviceNode { + policy = 2; + priority = 100; + preload = 0; + permission = 0660; + moduleName = "HDF_INPUT_MANAGER"; + serviceName = "hdf_input_host"; + deviceMatchAttr = ""; + } + } + device_hdf_hid :: device { + device0 :: deviceNode { + policy = 2; + priority = 200; + preload = 0; + permission = 0660; + moduleName = "HDF_HID"; + } + } + } + usb_pnp_linux :: host { + hostName = "usb_pnp_linux_host"; + device_usb_pnp_linux :: device { + device0 :: deviceNode { + policy = 2; + priority = 100; + preload = 0; + permission = 0664; + moduleName = "HDF_USB_PNP_NOTIFY"; + serviceName = "hdf_usb_pnp_notify_service"; + deviceMatchAttr = "hdf_usb_pnp_notify_config"; + } + } + } + usb_net_linux :: host { + hostName = "usb_net_linux_host"; + device_usb_net_linux :: device { + device0 :: deviceNode { + policy = 2; + priority = 100; + preload = 2; + permission = 0664; + moduleName = "HDF_USB_NET"; + serviceName = "hdf_usb_net_service"; + deviceMatchAttr = "hdf_usb_net_config"; + } + } + } + light :: host { + hostName = "light_host"; + device_light :: device { + device0 :: deviceNode { + policy = 2; + priority = 100; + preload = 0; + permission = 0664; + moduleName = "HDF_LIGHT"; + serviceName = "hdf_light"; + deviceMatchAttr = "hdf_light_driver"; + } + } + } + } +} diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/hdf.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf.hcs new file mode 100755 index 0000000000000000000000000000000000000000..5743603a287266deb465be900130fe6188e2398f --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf.hcs @@ -0,0 +1,15 @@ +#include "device_info/device_info.hcs" +#include "platform/adc_config_linux.hcs" +#include "platform/pwm_config.hcs" +#include "platform/tenglonge_watchdog_config.hcs" +#include "platform/tenglonge_uart_config.hcs" +#include "platform/sdio_config.hcs" +#include "platform/emmc_config.hcs" +#include "platform/tenglonge_spi_config.hcs" +#include "input/input_config.hcs" +#include "light/light_config.hcs" +#include "lcd/lcd_config.hcs" + +root { + module = "phytium,tenglonge_chip"; +} diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/Makefile b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/Makefile new file mode 100755 index 0000000000000000000000000000000000000000..7b53c08d8874df96dd9ac94e13dad90ecd7c7f54 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/Makefile @@ -0,0 +1,95 @@ +# +# Copyright (c) 2020-2023 Huawei Device Co., Ltd. +# +# This software is licensed under the terms of the GNU General Public +# License version 2, as published by the Free Software Foundation, and +# may be copied, distributed, and modified under those terms. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# + +ccflags-$(CONFIG_DRIVERS_HDF_TEST) += -I$(srctree)/include/hdf \ + -I$(srctree)/include/hdf/osal \ + -I$(srctree)/include/hdf/utils \ + -I$(srctree)/drivers/hdf \ + -I$(srctree)/drivers/hdf/inner_api/osal/shared \ + -I$(srctree)/drivers/hdf/inner_api/host/shared \ + -I$(srctree)/drivers/hdf/inner_api/utils \ + -I$(srctree)/drivers/hdf/inner_api/core \ + -I$(srctree)/drivers/hdf/khdf/osal/include \ + -I$(srctree)/drivers/hdf/framework/utils/include + +ifeq ($(LOCAL_HCS_ROOT),) + LOCAL_HCS_ROOT := $(PRODUCT_PATH) +endif + +CURRENT_DIR := $(abspath $(dir $(realpath $(lastword $(MAKEFILE_LIST))))) +SOURCE_ROOT := $(abspath $(CURRENT_DIR)/../../../../../../) + +HC_GEN_DIR := $(abspath $(SOURCE_ROOT)/drivers/hdf_core/framework/tools/hc-gen) +ifneq ($(OUT_DIR),) +HC_GEN := $(OUT_DIR)/kernel/OBJ/${KERNEL_VERSION}/drivers/hdf/khdf/hc_gen_build/hc-gen +else +HC_GEN := $(HC_GEN_DIR)/build/hc-gen +endif +LOCAL_HCS_ROOT := $(CURRENT_DIR) + +HCS_DIR := $(LOCAL_HCS_ROOT) + +ifneq ($(TARGET_BOARD_PLATFORM),) + HCS_DIR := $(LOCAL_HCS_ROOT)/$(TARGET_BOARD_PLATFORM) +else + ifneq ($(CONFIG_ARCH_HI3516DV300),) + HCS_DIR := $(LOCAL_HCS_ROOT) + endif + ifneq ($(CONFIG_ARCH_HI3518EV300),) + HCS_DIR := $(LOCAL_HCS_ROOT) + endif +endif +$(info HCS_DIR = $(HCS_DIR)) +HCB_FLAGS := -b -i -a + +HCS_OBJ := hdf_hcs_hex.o +HCS_OBJ_SRC := $(subst .o,.c,$(notdir $(HCS_OBJ))) + +CONFIG_GEN_HEX_SRC := $(addprefix $(LOCAL_HCS_ROOT)/, $(HCS_OBJ_SRC)) +CONFIG_HCS_SRC := $(subst _hcs_hex.o,.hcs,$(addprefix $(HCS_DIR)/, $(HCS_OBJ))) + +HDF_FRAMWORK_TEST_ROOT = $(abspath $(SOURCE_ROOT)/drivers/hdf_core/framework/test/unittest/utils/hcs_parser/unittest) +HDF_FRAMWORK_TEST_OUT = $(srctree)/drivers/hdf +HCS_MACRO_OBJ := hcs_macro_cases.o +HCS_MACRO_SRC := $(HDF_FRAMWORK_TEST_ROOT)/hcs_macro_cases.c +HCS_DEP := $(HDF_FRAMWORK_TEST_OUT)/hdf_macro_test.h +HCS_MACRO_GEN_FILE := $(HDF_FRAMWORK_TEST_OUT)/hdf_macro_test +HCS_FILE := $(HCS_DIR)/hdf.hcs + +$(obj)/$(HCS_OBJ): $(CONFIG_GEN_HEX_SRC) + $(Q)$(CC) $(c_flags) -c -o $@ $< + $(Q)rm -f $< + +$(CONFIG_GEN_HEX_SRC): $(LOCAL_HCS_ROOT)/%_hcs_hex.c: $(HCS_DIR)/%.hcs | $(HC_GEN) + $(Q)echo gen hdf built-in config + $(Q)if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi + $(Q)$(HC_GEN) $(HCB_FLAGS) -o $(subst _hex.c,,$(@)) $< + +$(CONFIG_GEN_SRCS): $(CONFIG_OUT_DIR)%.c: $(HCS_DIR)/%.hcs | $(HC_GEN) + $(Q)echo gen hdf driver config + $(Q)if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi + $(Q)$(HC_GEN) -t -o $@ $< + +$(HC_GEN): + $(HIDE)make -C $(HC_GEN_DIR) BUILD_DIR=$(dir $@) + +$(obj)/$(HCS_MACRO_OBJ): $(HCS_MACRO_SRC) $(HCS_DEP) + $(Q)$(CC) $(c_flags) -c -o $@ $< + +$(HCS_DEP): $(HC_GEN) + $(Q)echo gen hdf built-in config macro + $(Q)$(HC_GEN) -m -o $(HCS_MACRO_GEN_FILE) $(HCS_FILE) + +obj-$(CONFIG_DRIVERS_HDF) += $(HCS_OBJ) \ + $(HCS_MACRO_OBJ) diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/adc_test_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/adc_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..2dd37bb891728b21bc2b1fccef4424bda97094c1 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/adc_test_config.hcs @@ -0,0 +1,13 @@ +root { + module = "adc"; + adc_test_config { + adc_device_tester { + match_attr = "ADC_TEST"; + devNum = 14; + channel = 1; + maxChannel = 2; + dataWidth = 10; + rate = 20000; + } + } +} diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/emmc_test_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/emmc_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..fe1d87652ff4bd288ee52df962799aaef50f5292 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/emmc_test_config.hcs @@ -0,0 +1,10 @@ +root { + module = "emmc"; + emmc_config { + emmc_controller_tester { + match_attr = "EMMC_TEST"; + busNum = 0; + hostId = 0; + } + } +} diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/gpio_test_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/gpio_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..a7934e7c40e3c30e0dc829bffa9d6775b731394e --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/gpio_test_config.hcs @@ -0,0 +1,14 @@ +root { + module = "gpio"; + gpio_config { + gpio_controller_tester { + match_attr = "GPIO_TEST"; + testNameOne = "GPIO4_26"; + testNameTwo = "GPIO4_29"; + gpio = 154; + gpioTestTwo = 157; + gpioIrq = 83; + testUserApi = 1; + } + } +} diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/hdf.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/hdf.hcs new file mode 100755 index 0000000000000000000000000000000000000000..10c135a460499dc33c988a69c770c85de8109cf3 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/hdf.hcs @@ -0,0 +1,17 @@ +#include "../hdf.hcs" +#include "hdf_config_test.hcs" +#include "hdf_test_manager/device_info.hcs" +#include "adc_test_config.hcs" +#include "gpio_test_config.hcs" +#include "i2c_test_config.hcs" +#include "pwm_test_config.hcs" +#include "spi_test_config.hcs" +#include "sdio_test_config.hcs" +#include "emmc_test_config.hcs" +#include "uart_test_config.hcs" +#include "rtc_test_config.hcs" +#include "watchdog_test_config.hcs" + +root { + module = "hisilicon,hi35xx_chip"; +} diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/hdf_config_test.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/hdf_config_test.hcs new file mode 100755 index 0000000000000000000000000000000000000000..ddc7b0962d429034be9df942546a952529c5905b --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/hdf_config_test.hcs @@ -0,0 +1,52 @@ +root { + module = "ConfigTest"; + match_attr = "test,config"; + audio_info { + match_attr = "hw,hw_audio_info"; + pa_identifier = "smartpakit"; + smartpa_addr = 65536; + smartpa_num = 1; + builtin_primary_mic_exist = true; + builtin_second_mic_exist = true; + voice_vol_level = 256; + cust_name = "audio_custom_v2"; + dual_smartpa_delay = "true"; + read_u64data = 0x100000000; + status = "ok"; + } + fingerprint_info { + match_attr = "hw,hw_fingerprint_info"; + read_u32_index = [1, 256, 65536]; + finger_info = &fingerprint_one; + audio_info = &root.audio_info; + fingerprint_one { + product = "test"; + chip = "one"; + one_child { + status = "ok"; + } + status = "ok"; + } + dual_fingerprint = "false"; + fingerprint_two: fingerprint_one { + chip = "two"; + status = "disable"; + } + string_list_names = ["first", "second", "third"]; + status = "ok"; + } + data_type_test { + match_attr = "hw,data_type_test"; + read_four_data_type = [0x1, 0x100, 0x10000, 0x100000000]; + test_u8_elem_data = [0, 1, 2, 3, 4, 5, 6, 7]; + test_u16_elem_data = [0, 1, 2, 3, 4, 5, 256, 257]; + } + board_id = [65536, 256]; + support_Device = "TP LCD Sensor"; + fingerprint_three: root.fingerprint_info.fingerprint_one { + chip = "three"; + status = "disable"; + } + modem_id = [0xF6B40136, 0x0]; + boardId = 8000; +} diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/hdf_test_manager/device_info.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/hdf_test_manager/device_info.hcs new file mode 100755 index 0000000000000000000000000000000000000000..65f611b8f1712be0be9ef26a2712cd2e837fad28 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/hdf_test_manager/device_info.hcs @@ -0,0 +1,176 @@ +root { + device_info { + test_host :: host { + hostName = "test_host"; + priority = 180; + device_hdf_test :: device { + device0 :: deviceNode { + policy = 2; + priority = 10; + preload = 0; + permission = 0644; + moduleName = "khdf_ut"; + serviceName = "khdf_ut"; + } + device1 :: deviceNode { + policy = 2; + priority = 10; + preload = 0; + permission = 0644; + moduleName = "sample_driver"; + serviceName = "sample_service"; + } + device2 :: deviceNode { + policy = 2; + priority = 10; + preload = 0; + permission = 0644; + moduleName = "pm_test_driver"; + serviceName = "pm_ut_service"; + } + device3 :: deviceNode { + policy = 2; + priority = 10; + preload = 2; + permission = 0644; + moduleName = "hdf_test_helper"; + serviceName = "hdf_test_helper"; + } + device_uevent_ut :: deviceNode { + policy = 2; + priority = 10; + preload = 0; + permission = 0644; + moduleName = "uevent_ut_driver"; + serviceName = "hdf_uevent_ut"; + } + } + device_platform_test :: device { + adc_tester :: deviceNode { + policy = 2; + priority = 110; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_ADC_TEST"; + deviceMatchAttr = "ADC_TEST"; + serviceName = "ADC_TEST"; + } + gpio_tester :: deviceNode { + policy = 2; + priority = 101; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_GPIO_TEST"; + deviceMatchAttr = "GPIO_TEST"; + serviceName = "GPIO_TEST"; + } + i2c_tester :: deviceNode { + policy = 2; + priority = 101; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_I2C_TEST"; + deviceMatchAttr = "I2C_TEST"; + serviceName = "I2C_TEST"; + } + i2c_dummy :: deviceNode { + policy = 1; + priority = 101; + preload = 0; + permission = 0644; + moduleName = "dummy_i2c_adapter"; + } + pwm_virtual :: deviceNode { + policy = 2; + priority = 56; + permission = 0644; + moduleName = "virtual_pwm_driver"; + serviceName = "HDF_PLATFORM_PWM_10"; + deviceMatchAttr = "virtual_pwm"; + } + pwm_test :: deviceNode { + policy = 2; + priority = 110; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_PWM_TEST"; + serviceName = "PWM_TEST"; + deviceMatchAttr = "PWM_TEST"; + } + spi_test :: deviceNode { + policy = 1; + priority = 100; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_SPI_TEST"; + serviceName = "SPI_TEST"; + deviceMatchAttr = "SPI_TEST"; + } + emmc_tester :: deviceNode { + policy = 1; + priority = 100; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_EMMC_TEST"; + serviceName = "EMMC_TEST"; + deviceMatchAttr = "EMMC_TEST"; + } + sdio_tester :: deviceNode { + policy = 1; + priority = 100; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_SDIO_TEST"; + serviceName = "SDIO_TEST"; + deviceMatchAttr = "SDIO_TEST"; + } + watchdog_test :: deviceNode { + policy = 1; + priority = 110; + preload = 0; + permission = 0660; + moduleName = "PLATFORM_WATCHDOG_TEST"; + serviceName = "WATCHDOG_TEST"; + deviceMatchAttr = "WATCHDOG_TEST"; + } + mipi_dsi_test :: deviceNode { + policy = 1; + priority = 100; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_MIPI_DSI_TEST"; + serviceName = "PLATFORM_MIPI_DSI_TEST"; + deviceMatchAttr = "PLATFORM_MIPI_DSI_TEST"; + } + uart_tester :: deviceNode { + policy = 2; + priority = 100; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_UART_TEST"; + serviceName = "UART_TEST"; + deviceMatchAttr = "UART_TEST"; + } + rtc_tester :: deviceNode { + policy = 2; + priority = 101; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_RTC_TEST"; + serviceName = "RTC_TEST"; + deviceMatchAttr = "RTC_TEST"; + } + } + device_sensor_test :: device { + sensor_tester :: deviceNode { + policy = 0; + priority = 100; + preload = 0; + permission = 0644; + moduleName = "HDF_SENSOR_TEST_DRIVER"; + } + } + } + } +} + diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/i2c_test_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/i2c_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..9d706242928369cbdba64e0769437954832d8b7f --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/i2c_test_config.hcs @@ -0,0 +1,13 @@ +root { + module = "i2c"; + i2c_config { + i2c_controller_tester { + match_attr = "I2C_TEST"; + bus_num = 1; + dev_addr = 0x5d; + reg_addr = 0xd0; + reg_len = 2; + buf_size = 7; + } + } +} diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/pwm_test_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/pwm_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..bd036990fc3ef99c06216bb551378ec9a3cee4e5 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/pwm_test_config.hcs @@ -0,0 +1,15 @@ +root { + pwm_test { + module = "pwm_test"; + match_attr = "PWM_TEST"; + num = 10; + period = 999; + duty = 333; + polarity = 0; + status = 1; + } + virtual_test { + match_attr = "virtual_pwm"; + num = 10; + } +} diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/rtc_test_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/rtc_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..e134087a2aa46f1555dcd80ddaabfe98da5d614a --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/rtc_test_config.hcs @@ -0,0 +1,19 @@ +root { + module = "rtc"; + rtc_config { + match_attr = "RTC_TEST"; + time = 60; + maxYear = 2222; + year = 2020; + month = 8; + day = 8; + hour = 8; + minute = 8; + second = 8; + frequency = 32768; + userValue = 0x8; + userMaxIndex = 8; + waitTimeSecond = 3; + writeWaitMillisecond = 30; + } +} diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/sdio_test_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/sdio_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..9f1835a7d42a76bf4950c8e7e77d867c8f67264e --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/sdio_test_config.hcs @@ -0,0 +1,12 @@ +root { + module = "sdio"; + sdio_config { + sdio_controller_tester { + match_attr = "SDIO_TEST"; + busNum = 2; + funcNum = 1; + vendorId = 0x296; + deviceId = 0x5347; + } + } +} diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/spi_test_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/spi_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..028707ed1b9f8e01e1cbb82609f9c3d48bff96d3 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/spi_test_config.hcs @@ -0,0 +1,10 @@ +root { + spi_test { + module = "spi_test"; + match_attr = "SPI_TEST"; + bus = 0; + cs = 0; + len = 8; + wbuf = [0xa1, 0xb2, 0xc3, 0xd4, 0xe5, 0xf6, 0x78, 0x90]; + } +} diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/uart_test_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/uart_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..7e08a49888593811c50e3777fe1653aedacf9513 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/uart_test_config.hcs @@ -0,0 +1,9 @@ +root { + uart_test { + module = "uart_test"; + match_attr = "UART_TEST"; + port = 3; + len = 8; + wbuf = [0xa1, 0xb2, 0xc3, 0xd4, 0xe5, 0xf6, 0x78, 0x90]; + } +} diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/watchdog_test_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/watchdog_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..7cf2646f207318f31794c333afe36dd760e82c60 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/hdf_test/watchdog_test_config.hcs @@ -0,0 +1,13 @@ +root { + module = "watchdog"; + watchdog_config { + watchdog_device_tester { + match_attr = "WATCHDOG_TEST"; + id = 0; + timeoutSet = 2; + statusStop = 0; + statusStart = 0; + feedTime = 6; + } + } +} diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/input/input_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/input/input_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..76787c76cd2d01e258d94c378bf4d3ded997ba32 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/input/input_config.hcs @@ -0,0 +1,207 @@ +root { + input_config { + touchConfig { + touch0 { + boardConfig { + match_attr = "touch_device1"; + inputAttr { + /* 0:touch 1:key 2:keyboard 3:mouse 4:button 5:crown 6:encoder */ + inputType = 0; + solutionX = 720; + solutionY = 1280; + devName = "main_touch"; + } + +// Hi3516DV300-Runhe gt911--5p5 & 4p0 + busConfig { + // 0:i2c 1:spi + busType = 0; + busNum = 1; + clkGpio = 86; + dataGpio = 87; + i2cClkIomux = [0x114f0048, 0x403]; + i2cDataIomux = [0x114f004c, 0x403]; + } + + pinConfig { + rstGpio = 14; + intGpio = 13; + rstRegCfg = [0x112f0094, 0x400]; + intRegCfg = [0x112f0098, 0x400]; + } + +// Hi3516DV300-Ruishi gt911--7p0 +/* + busConfig { + // 0:i2c 1:spi + busType = 0; + busNum = 6; + clkGpio = 26; + dataGpio = 27; + i2cClkIomux = [0x114f0048, 0x403]; + i2cDataIomux = [0x114f004c, 0x403]; + } + + pinConfig { + rstGpio = 13; + intGpio = 12; + rstRegCfg = [0x10ff0030, 0x400]; + intRegCfg = [0x10ff002C, 0x400]; + } +*/ +// Hi3516DV300-Demo board: ft6336--2p35 +/* + busConfig { + // 0:i2c 1:spi + busType = 0; + busNum = 3; + clkGpio = 2; + dataGpio = 1; + i2cClkIomux = [0x112f0090, 0x5f1]; + i2cDataIomux = [0x112f008c, 0x5f1]; + } + + pinConfig { + rstGpio = 3; + intGpio = 4; + rstRegCfg = [0x0, 0x0]; + intRegCfg = [0x112f0098, 0x5f0]; + } +*/ + powerConfig { + /* 0:unused 1:ldo 2:gpio 3:pmic */ + vccType = 2; + vccNum = 20; // gpio20 + vccValue = 1800; + vciType = 1; + vciNum = 12; // ldo12 + vciValue = 3300; + } + + featureConfig { + capacitanceTest = 0; + gestureMode = 0; + gloverMOde = 0; + coverMode = 0; + chargerMode = 0; + knuckleMode = 0; + } + } + + chipConfig { + template touchChip { + match_attr = ""; + chipName = "gt911"; + vendorName = "zsj"; + chipInfo = "AAAA11222"; // 4-ProjectName, 2-TP IC, 3-TP Module + /* 0:i2c 1:spi*/ + busType = 0; + deviceAddr = 0x5D; + /* 0:None 1:Rising 2:Failing 4:High-level 8:Low-level */ + irqFlag = 2; + maxSpeed = 400; + chipVersion = 0; //parse Coord TypeA + powerSequence { + /* [type, status, dir , delay] + 0:none 1:vcc-1.8v 2:vci-3.3v 3:reset 4:int + 0:off or low 1:on or high 2:no ops + 0:input 1:output 2:no ops + meanings delay xms, 20: delay 20ms + */ + powerOnSeq = [4, 0, 1, 5, + 3, 0, 1, 10, + 3, 1, 1, 60, + 4, 2, 0, 50]; + suspendSeq = [3, 0, 2, 10]; + resumeSeq = [3, 1, 2, 10]; + powerOffSeq = [3, 0, 2, 10, + 1, 0, 2, 20]; + } + } + + chip0 :: touchChip { + match_attr = "zsj_gt911_5p5"; + chipInfo = "ZIDN45100"; // 4-ProjectName, 2-TP IC, 3-TP Module + chipVersion = 0; //parse point by TypeA + } + + chip1 :: touchChip { + match_attr = "zsj_gt911_4p0"; + chipInfo = "ZIDN45101"; + chipVersion = 1; //parse point by TypeB + } + + chip2 :: touchChip { + match_attr = "tg_gt911_7p0"; + vendorName = "tg"; + chipInfo = "ZIDN45102"; + chipVersion = 2; //parse point by TypeC + } + + chip3 :: touchChip { + match_attr = "st_ft6336_2p35"; + chipName = "ft6336"; + vendorName = "st"; + chipInfo = "ZIDN53200"; + deviceAddr = 0x38; + irqFlag = 1; // Rising + powerSequence { + /* [type, status, dir , delay] + 0:none 1:vcc-1.8v 2:vci-3.3v 3:reset 4:int + 0:off or low 1:on or high 2:no ops + 0:input 1:output 2:no ops + meanings delay xms, 20: delay 20ms + */ + powerOnSeq = [4, 2, 0, 0, + 3, 1, 1, 2, + 3, 0, 2, 5, + 3, 1, 2, 200]; + suspendSeq = [3, 0, 2, 10]; + resumeSeq = [3, 1, 2, 10]; + powerOffSeq = [3, 0, 2, 10, + 1, 0, 2, 20]; + } + } + } + } + } + + keyConfig { + keyList = ["power", "VolUp", "VolDown", "Up", "Down", "Left", "Right"]; + keyInfoList { + key1 { + match_attr = "key_device0"; + /* 0:touch 1:key 2:keyboard 3:mouse 4:button 5:crown 6:encoder */ + inputType = 1; + keyName = "power"; + gpioNum = 1; + irqFlag = 3; + debounceTime = 80; + } + + key2 { + keyName = "volUp"; + gpioNum = 31; + irqFlag = 1; + debounceTime = 80; + } + + key3 { + keyName = "volDown"; + gpioNum = 32; + irqFlag = 1; + debounceTime = 80; + } + } + } + infraredConfig { + infrared1 { + match_attr = "Infrared_device0"; + infraredName = "raspberryInfrared"; + inputType = 1; + gpioNum = 29; + irqFlag = 1; + } + } + } +} diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/lcd/lcd_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/lcd/lcd_config.hcs new file mode 100644 index 0000000000000000000000000000000000000000..dd1ea37befacdbed5091f95de6cc873409ce1623 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/lcd/lcd_config.hcs @@ -0,0 +1,13 @@ +root { + backlightConfig { + pwmBacklightConfig { + match_attr = "pwm_bl_dev"; + pwmDevNum = 1; + pwmMaxPeriod = 25000; + backlightDevName = "hdf_pwm"; + minBrightness = 0; + defBrightness = 127; + maxBrightness = 255; + } + } +} \ No newline at end of file diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/light/light_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/light/light_config.hcs new file mode 100644 index 0000000000000000000000000000000000000000..1f744099f851388fd9994b2698556cfd68ce7413 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/light/light_config.hcs @@ -0,0 +1,25 @@ +root { + lightConfig { + boardConfig { + match_attr = "hdf_light_driver"; + lightAttr { + light01 { + lightId = [1]; /* Lightid can contain multiple logical light ID, for example: + 1 indicates the power indicator. These logic lights work on + the same physical light light01. */ + lightName = "battery"; + lightNumber = 1; + busRNum = 147; // Red corresponding GPIO. + busGNum = 146; // Green corresponding GPIO. + busBNum = 149; // Blue corresponding GPIO. + defaultBrightness = 0X00FFFFFF; /* System default brightness value. + B: 0-7bit, R: 8-15bit, G: 16-23, extended bit: 24-31bit. */ + onTime = 50; /* The minimum duration (in milliseconds) that the system supports + when the light is on during flashing */ + offTime = 50; /* The minimum duration (in milliseconds) that the system supports + when the light is off during flashing */ + } + } + } + } +} \ No newline at end of file diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/platform/adc_config_linux.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/platform/adc_config_linux.hcs new file mode 100755 index 0000000000000000000000000000000000000000..10dd97a503bb9b1887d93fd1408a4e033dc55049 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/platform/adc_config_linux.hcs @@ -0,0 +1,34 @@ +root { + platform { + adc_config { + match_attr = "linux_adc_adapter_0"; + template adc_device { + serviceName = ""; + channelNum = 2; + driver_channel0_name = ""; + driver_channel1_name = ""; + deviceNum = 0; + scanMode = 0; + rate = 100; + } + device_adc_0x0000 :: adc_device { + channelNum = 8; + driver_channel0_name = "/sys/bus/iio/devices/iio:device0/in_voltage0_raw"; + driver_channel1_name = "/sys/bus/iio/devices/iio:device0/in_voltage1_raw"; + driver_channel2_name = "/sys/bus/iio/devices/iio:device0/in_voltage2_raw"; + driver_channel3_name = "/sys/bus/iio/devices/iio:device0/in_voltage3_raw"; + driver_channel4_name = "/sys/bus/iio/devices/iio:device0/in_voltage4_raw"; + driver_channel5_name = "/sys/bus/iio/devices/iio:device0/in_voltage5_raw"; + driver_channel6_name = "/sys/bus/iio/devices/iio:device0/in_voltage6_raw"; + driver_channel7_name = "/sys/bus/iio/devices/iio:device0/in_voltage7_raw"; + deviceNum = 0; + } + device_adc_0x0001 :: adc_device { + channelNum = 2; + driver_channel0_name = "/sys/bus/iio/devices/iio:device0/in_voltage0_raw"; + driver_channel1_name = "/sys/bus/iio/devices/iio:device0/in_voltage1_raw"; + deviceNum = 14; + } + } + } +} diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/platform/emmc_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/platform/emmc_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..3351c0c469d73461610ad22e8fd35a3c912f6981 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/platform/emmc_config.hcs @@ -0,0 +1,16 @@ +root { + platform { + emmc_config { + template emmc_controller { + match_attr = ""; + hostId = 0; + devType = 0; + } + + controller_0x00 :: emmc_controller { + match_attr = "hisilicon_hi35xx_emmc_0"; + } + } + } +} + diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/platform/i2c_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/platform/i2c_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..3ba3ccc3ed5d86fa99a03c00848f98a05b5955bb --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/platform/i2c_config.hcs @@ -0,0 +1,18 @@ +root { + platform { + i2c_config { + match_attr = "linux_i2c_adapter"; + + template i2c_controller { + bus = 0; + } + + controller_0x28026000 :: i2c_controller { + bus = 0; + } + controller_0x28030000 :: i2c_controller { + bus = 1; + } + } + } +} diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/platform/pwm_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/platform/pwm_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..2b46ab0ef3e94514ab66b5b47f2fe07078d6186b --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/platform/pwm_config.hcs @@ -0,0 +1,23 @@ +root { + platform { + pwm_config { + template pwm_device { + serviceName = ""; + match_attr = ""; + num = 0; + } + + device_pwm_0x2804a000 :: pwm_device { + num = 0; + match_attr = "linux_pwm_adapter_0"; + } + + device_pwm_0x2804b000 :: pwm_device { + num = 1; + match_attr = "linux_pwm_adapter_1"; + } + + } + } +} + diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/platform/sdio_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/platform/sdio_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..5e1018fbf0d8528153fd63c5c48f12cb75adc254 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/platform/sdio_config.hcs @@ -0,0 +1,15 @@ +root { + platform { + sdio_config { + template sdio_controller { + match_attr = ""; + hostId = 2; + devType = 2; + } + controller_0x2dd1 :: sdio_controller { + match_attr = "hisilicon_hi35xx_sdio_0"; + } + } + } +} + diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/platform/tenglonge_spi_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/platform/tenglonge_spi_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..08949dd9a8a388f6d94069cb05581841860bcf56 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/platform/tenglonge_spi_config.hcs @@ -0,0 +1,39 @@ +root { + platform { + spi_config { + template spi_controller { + serviceName = ""; + match_attr = ""; + busNum = 0; + numCs = 0; + } + + controller_0x2803a000 :: spi_controller { + busNum = 0; + numCs = 1; + match_attr = "phytium_tenglonge_spi_0"; + } + + controller_0x2803b000 :: spi_controller { + match_attr = "phytium_tenglonge_spi_1"; + busNum = 1; + numCs = 1; + } + + controller_0x2803c000 :: spi_controller { + match_attr = "phytium_tenglonge_spi_2"; + busNum = 1; + numCs = 1; + } + + controller_0x2803d000 :: spi_controller { + match_attr = "phytium_tenglonge_spi_3"; + busNum = 1; + numCs = 1; + } + + } + } +} + + diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/platform/tenglonge_uart_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/platform/tenglonge_uart_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..497df48d9e6c653746681a349bb33eb3fe805344 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/platform/tenglonge_uart_config.hcs @@ -0,0 +1,24 @@ +root { + platform { + uart_config { + template uart_device { + serviceName = ""; + match_attr = ""; + driver_name = "ttyS"; + num = 0; + } + + device_uart_0x0000 :: uart_device { + match_attr = "phytium_tenglonge_uart_0"; + } + device_uart_0x0001 :: uart_device { + num = 1; + match_attr = "phytium_tenglonge_uart_1"; + } + device_uart_0x0003 :: uart_device { + num = 3; + match_attr = "phytium_tenglonge_uart_3"; + } + } + } +} diff --git a/vendor_phytium/tenglong_e/hdf_config/khdf/platform/tenglonge_watchdog_config.hcs b/vendor_phytium/tenglong_e/hdf_config/khdf/platform/tenglonge_watchdog_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..3acc7b19e3e0c586eab5a81f4afe99fdc0721088 --- /dev/null +++ b/vendor_phytium/tenglong_e/hdf_config/khdf/platform/tenglonge_watchdog_config.hcs @@ -0,0 +1,16 @@ +root { + platform { + watchdog_config { + template watchdog_device { + serviceName = "HDF_PLATFORM_WATCHDOG_0"; + match_attr = ""; + id = 0; + } + + device_0x28040000 :: watchdog_device { + id = 0; + match_attr = "phytium_tenglonge_watchdog_0"; + } + } + } +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/Makefile b/vendor_phytium/tengrui_d/hdf_config/khdf/Makefile new file mode 100755 index 0000000000000000000000000000000000000000..1875b17945b0c8bc08bc6f153882d89ad9c83d4b --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/Makefile @@ -0,0 +1,67 @@ +# +# Copyright (c) 2020-2021 Huawei Device Co., Ltd. +# +# This software is licensed under the terms of the GNU General Public +# License version 2, as published by the Free Software Foundation, and +# may be copied, distributed, and modified under those terms. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# + +ifeq ($(LOCAL_HCS_ROOT),) + LOCAL_HCS_ROOT := $(PRODUCT_PATH) +endif +CURRENT_DIR := $(abspath $(dir $(realpath $(lastword $(MAKEFILE_LIST))))) +SOURCE_ROOT := $(abspath $(CURRENT_DIR)/../../../../../) + +HC_GEN_DIR := $(abspath $(SOURCE_ROOT)/drivers/hdf_core/framework/tools/hc-gen) +ifneq ($(OUT_DIR),) +HC_GEN := $(OUT_DIR)/kernel/OBJ/${KERNEL_VERSION}/drivers/hdf/khdf/hc_gen_build/hc-gen +else +HC_GEN := $(HC_GEN_DIR)/build/hc-gen +endif +LOCAL_HCS_ROOT := $(CURRENT_DIR) + +HCS_DIR := $(LOCAL_HCS_ROOT) + +ifneq ($(TARGET_BOARD_PLATFORM),) + HCS_DIR := $(LOCAL_HCS_ROOT)/$(TARGET_BOARD_PLATFORM) +else + ifneq ($(CONFIG_ARCH_HI3516DV300),) + HCS_DIR := $(LOCAL_HCS_ROOT) + endif + ifneq ($(CONFIG_ARCH_HI3518EV300),) + HCS_DIR := $(LOCAL_HCS_ROOT) + endif +endif +$(info HCS_DIR = $(HCS_DIR)) +HCB_FLAGS := -b -i -a + +HCS_OBJ := hdf_hcs_hex.o +HCS_OBJ_SRC := $(subst .o,.c,$(notdir $(HCS_OBJ))) + +CONFIG_GEN_HEX_SRC := $(addprefix $(LOCAL_HCS_ROOT)/, $(HCS_OBJ_SRC)) +CONFIG_HCS_SRC := $(subst _hcs_hex.o,.hcs,$(addprefix $(HCS_DIR)/, $(HCS_OBJ))) + +$(obj)/$(HCS_OBJ): $(CONFIG_GEN_HEX_SRC) + $(Q)$(CC) $(c_flags) -c -o $@ $< + $(Q)rm -f $< + +$(CONFIG_GEN_HEX_SRC): $(LOCAL_HCS_ROOT)/%_hcs_hex.c: $(HCS_DIR)/%.hcs | $(HC_GEN) + $(Q)echo gen hdf built-in config + $(Q)if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi + $(Q)$(HC_GEN) $(HCB_FLAGS) -o $(subst _hex.c,,$(@)) $< + +$(CONFIG_GEN_SRCS): $(CONFIG_OUT_DIR)%.c: $(HCS_DIR)/%.hcs | $(HC_GEN) + $(Q)echo gen hdf driver config + $(Q)if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi + $(Q)$(HC_GEN) -t -o $@ $< + +$(HC_GEN): + $(HIDE)make -C $(HC_GEN_DIR) BUILD_DIR=$(dir $@) + +obj-$(CONFIG_DRIVERS_HDF) += $(HCS_OBJ) diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/device_info/device_info.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/device_info/device_info.hcs new file mode 100644 index 0000000000000000000000000000000000000000..8e39d57ce814998b965e791e987bd4bf7033871f --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/device_info/device_info.hcs @@ -0,0 +1,360 @@ + root { + device_info { + match_attr = "hdf_manager"; + template host { + hostName = ""; + priority = 100; + template device { + template deviceNode { + policy = 0; + priority = 100; + preload = 0; + permission = 0664; + moduleName = ""; + serviceName = ""; + deviceMatchAttr = ""; + } + } + } + base :: host { + hostName = "base_host"; + priority = 50; + device_support :: device { + device0 :: deviceNode { + policy = 2; + priority = 10; + permission = 0644; + moduleName = "HDF_KEVENT"; + serviceName = "hdf_kevent"; + } + } + } + platform :: host { + hostName = "platform_host"; + priority = 50; + device_gpio :: device { + device0 :: deviceNode { + policy = 2; + priority = 10; + permission = 0644; + moduleName = "HDF_PLATFORM_GPIO_MANAGER"; + serviceName = "HDF_PLATFORM_GPIO_MANAGER"; + } + device1 :: deviceNode { + policy = 0; + priority = 10; + permission = 0644; + moduleName = "linux_gpio_adapter"; + deviceMatchAttr = "linux_gpio_adapter"; + } + } + device_watchdog :: device { + device0 :: deviceNode { + policy = 1; + priority = 20; + permission = 0644; + moduleName = "HDF_PLATFORM_WATCHDOG"; + serviceName = "HDF_PLATFORM_WATCHDOG_0"; + deviceMatchAttr = "phytium_tengruid_watchdog_0"; + } + } + device_rtc :: device { + device0 :: deviceNode { + policy = 2; + priority = 30; + permission = 0644; + moduleName = "HDF_PLATFORM_RTC"; + serviceName = "HDF_PLATFORM_RTC"; + deviceMatchAttr = "phytium_tengruid_rtc"; + } + } + device_uart :: device { + device0 :: deviceNode { + policy = 2; + priority = 40; + permission = 0644; + moduleName = "HDF_PLATFORM_UART"; + serviceName = "HDF_PLATFORM_UART_0"; + deviceMatchAttr = "phytium_tengruid_uart_0"; + } + device1 :: deviceNode { + policy = 2; + permission = 0644; + priority = 40; + moduleName = "HDF_PLATFORM_UART"; + serviceName = "HDF_PLATFORM_UART_1"; + deviceMatchAttr = "phytium_tengruid_uart_1"; + } + device2 :: deviceNode { + policy = 2; + permission = 0644; + priority = 40; + moduleName = "HDF_PLATFORM_UART"; + serviceName = "HDF_PLATFORM_UART_3"; + deviceMatchAttr = "phytium_tengruid_uart_3"; + } + } + device_i2c :: device { + device0 :: deviceNode { + policy = 2; + priority = 50; + permission = 0644; + moduleName = "HDF_PLATFORM_I2C_MANAGER"; + serviceName = "HDF_PLATFORM_I2C_MANAGER"; + deviceMatchAttr = "hdf_platform_i2c_manager"; + } + device1 :: deviceNode { + policy = 0; + priority = 55; + permission = 0644; + moduleName = "linux_i2c_adapter"; + deviceMatchAttr = "linux_i2c_adapter"; + } + } + device_adc :: device { + device0 :: deviceNode { + policy = 2; + priority = 60; + permission = 0644; + moduleName = "HDF_PLATFORM_ADC_MANAGER"; + serviceName = "HDF_PLATFORM_ADC_MANAGER"; + deviceMatchAttr = "hdf_platform_adc_manager"; + } + device1 :: deviceNode { + policy = 0; + priority = 65; + permission = 0644; + moduleName = "linux_adc_adapter"; + deviceMatchAttr = "linux_adc_adapter_0"; + } + } + device_spi :: device { + device0 :: deviceNode { + policy = 1; + priority = 60; + permission = 0644; + moduleName = "HDF_PLATFORM_SPI"; + serviceName = "HDF_PLATFORM_SPI_0"; + deviceMatchAttr = "phytium_tengruid_spi_0"; + } + device1 :: deviceNode { + policy = 1; + priority = 60; + permission = 0644; + moduleName = "HDF_PLATFORM_SPI"; + serviceName = "HDF_PLATFORM_SPI_1"; + deviceMatchAttr = "phytium_tengruid_spi_1"; + } + device2 :: deviceNode { + policy = 1; + priority = 60; + permission = 0644; + moduleName = "HDF_PLATFORM_SPI"; + serviceName = "HDF_PLATFORM_SPI_2"; + deviceMatchAttr = "phytium_tengruid_spi_2"; + } + device3 :: deviceNode { + policy = 1; + priority = 60; + permission = 0644; + moduleName = "HDF_PLATFORM_SPI"; + serviceName = "HDF_PLATFORM_SPI_3"; + deviceMatchAttr = "phytium_tengruid_spi_3"; + } + } + device_sdio :: device { + device0 :: deviceNode { + policy = 1; + priority = 70; + permission = 0644; + moduleName = "HDF_PLATFORM_SDIO"; + serviceName = "HDF_PLATFORM_MMC_2"; + deviceMatchAttr = "hisilicon_hi35xx_sdio_0"; + } + } + device_emmc :: device { + device0 :: deviceNode { + policy = 2; + priority = 20; + permission = 0644; + moduleName = "HDF_PLATFORM_EMMC"; + serviceName = "HDF_PLATFORM_MMC_0"; + deviceMatchAttr = "hisilicon_hi35xx_emmc_0"; + } + } + device_pwm :: device { + device0 :: deviceNode { + policy = 2; + priority = 80; + permission = 0644; + moduleName = "HDF_PLATFORM_PWM"; + serviceName = "HDF_PLATFORM_PWM_0"; + deviceMatchAttr = "linux_pwm_adapter_0"; + } + device1 :: deviceNode { + policy = 2; + priority = 80; + permission = 0644; + moduleName = "HDF_PLATFORM_PWM"; + serviceName = "HDF_PLATFORM_PWM_1"; + deviceMatchAttr = "linux_pwm_adapter_1"; + } + device2 :: deviceNode { + policy = 2; + priority = 80; + permission = 0644; + moduleName = "HDF_PLATFORM_PWM"; + serviceName = "HDF_PLATFORM_PWM_2"; + deviceMatchAttr = "linux_pwm_adapter_2"; + } + device3 :: deviceNode { + policy = 2; + priority = 80; + permission = 0644; + moduleName = "HDF_PLATFORM_PWM"; + serviceName = "HDF_PLATFORM_PWM_3"; + deviceMatchAttr = "linux_pwm_adapter_3"; + } + device4 :: deviceNode { + policy = 2; + priority = 80; + permission = 0644; + moduleName = "HDF_PLATFORM_PWM"; + serviceName = "HDF_PLATFORM_PWM_4"; + deviceMatchAttr = "linux_pwm_adapter_4"; + } + } + device_mipi_dsi:: device { + device0 :: deviceNode { + policy = 0; + priority = 150; + permission = 0644; + moduleName = "HDF_MIPI_TX"; + serviceName = "HDF_MIPI_TX"; + } + } + } + display :: host { + hostName = "display_host"; + device_hdf_drm_panel :: device { + device0 :: deviceNode { + policy = 0; + priority = 197; + preload = 0; + moduleName = "HDF_DRMPANEL"; + } + } + device_hdf_disp :: device { + device0 :: deviceNode { + policy = 2; + priority = 196; + permission = 0660; + moduleName = "HDF_DISP"; + serviceName = "hdf_disp"; + } + } + device_hi35xx_disp :: device { + device0 :: deviceNode { + policy = 0; + priority = 195; + moduleName = "HI351XX_DISP"; + } + } + device_lcd :: device { + device0 :: deviceNode { + policy = 0; + priority = 100; + preload = 2; + moduleName = "LITE_LCDKIT"; + deviceMatchAttr = "hdf_lcdkit_driver"; + } + } + device_pwm_bl :: device { + device0 :: deviceNode { + policy = 0; + priority = 95; + preload = 0; + moduleName = "PWM_BL"; + deviceMatchAttr = "pwm_bl_dev"; + } + } + device_backlight :: device { + device0 :: deviceNode { + policy = 2; + priority = 90; + preload = 0; + permission = 0660; + moduleName = "HDF_BL"; + serviceName = "hdf_bl"; + } + } + } + + input :: host { + hostName = "input_host"; + priority = 100; + device_input_manager :: device { + device0 :: deviceNode { + policy = 2; + priority = 100; + preload = 0; + permission = 0660; + moduleName = "HDF_INPUT_MANAGER"; + serviceName = "hdf_input_host"; + deviceMatchAttr = ""; + } + } + device_hdf_hid :: device { + device0 :: deviceNode { + policy = 2; + priority = 200; + preload = 0; + permission = 0660; + moduleName = "HDF_HID"; + } + } + } + usb_pnp_linux :: host { + hostName = "usb_pnp_linux_host"; + device_usb_pnp_linux :: device { + device0 :: deviceNode { + policy = 2; + priority = 100; + preload = 0; + permission = 0664; + moduleName = "HDF_USB_PNP_NOTIFY"; + serviceName = "hdf_usb_pnp_notify_service"; + deviceMatchAttr = "hdf_usb_pnp_notify_config"; + } + } + } + usb_net_linux :: host { + hostName = "usb_net_linux_host"; + device_usb_net_linux :: device { + device0 :: deviceNode { + policy = 2; + priority = 100; + preload = 2; + permission = 0664; + moduleName = "HDF_USB_NET"; + serviceName = "hdf_usb_net_service"; + deviceMatchAttr = "hdf_usb_net_config"; + } + } + } + light :: host { + hostName = "light_host"; + device_light :: device { + device0 :: deviceNode { + policy = 2; + priority = 100; + preload = 0; + permission = 0664; + moduleName = "HDF_LIGHT"; + serviceName = "hdf_light"; + deviceMatchAttr = "hdf_light_driver"; + } + } + } + } +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/hdf.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf.hcs new file mode 100755 index 0000000000000000000000000000000000000000..81c85fa85552e9a8d5049c0ffc6c96d8fa91a0ef --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf.hcs @@ -0,0 +1,15 @@ +#include "device_info/device_info.hcs" +#include "platform/adc_config_linux.hcs" +#include "platform/pwm_config.hcs" +#include "platform/tengruid_watchdog_config.hcs" +#include "platform/tengruid_uart_config.hcs" +#include "platform/sdio_config.hcs" +#include "platform/emmc_config.hcs" +#include "platform/tengruid_spi_config.hcs" +#include "input/input_config.hcs" +#include "light/light_config.hcs" +#include "lcd/lcd_config.hcs" + +root { + module = "phytium,tengruid_chip"; +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/Makefile b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/Makefile new file mode 100755 index 0000000000000000000000000000000000000000..7b53c08d8874df96dd9ac94e13dad90ecd7c7f54 --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/Makefile @@ -0,0 +1,95 @@ +# +# Copyright (c) 2020-2023 Huawei Device Co., Ltd. +# +# This software is licensed under the terms of the GNU General Public +# License version 2, as published by the Free Software Foundation, and +# may be copied, distributed, and modified under those terms. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# + +ccflags-$(CONFIG_DRIVERS_HDF_TEST) += -I$(srctree)/include/hdf \ + -I$(srctree)/include/hdf/osal \ + -I$(srctree)/include/hdf/utils \ + -I$(srctree)/drivers/hdf \ + -I$(srctree)/drivers/hdf/inner_api/osal/shared \ + -I$(srctree)/drivers/hdf/inner_api/host/shared \ + -I$(srctree)/drivers/hdf/inner_api/utils \ + -I$(srctree)/drivers/hdf/inner_api/core \ + -I$(srctree)/drivers/hdf/khdf/osal/include \ + -I$(srctree)/drivers/hdf/framework/utils/include + +ifeq ($(LOCAL_HCS_ROOT),) + LOCAL_HCS_ROOT := $(PRODUCT_PATH) +endif + +CURRENT_DIR := $(abspath $(dir $(realpath $(lastword $(MAKEFILE_LIST))))) +SOURCE_ROOT := $(abspath $(CURRENT_DIR)/../../../../../../) + +HC_GEN_DIR := $(abspath $(SOURCE_ROOT)/drivers/hdf_core/framework/tools/hc-gen) +ifneq ($(OUT_DIR),) +HC_GEN := $(OUT_DIR)/kernel/OBJ/${KERNEL_VERSION}/drivers/hdf/khdf/hc_gen_build/hc-gen +else +HC_GEN := $(HC_GEN_DIR)/build/hc-gen +endif +LOCAL_HCS_ROOT := $(CURRENT_DIR) + +HCS_DIR := $(LOCAL_HCS_ROOT) + +ifneq ($(TARGET_BOARD_PLATFORM),) + HCS_DIR := $(LOCAL_HCS_ROOT)/$(TARGET_BOARD_PLATFORM) +else + ifneq ($(CONFIG_ARCH_HI3516DV300),) + HCS_DIR := $(LOCAL_HCS_ROOT) + endif + ifneq ($(CONFIG_ARCH_HI3518EV300),) + HCS_DIR := $(LOCAL_HCS_ROOT) + endif +endif +$(info HCS_DIR = $(HCS_DIR)) +HCB_FLAGS := -b -i -a + +HCS_OBJ := hdf_hcs_hex.o +HCS_OBJ_SRC := $(subst .o,.c,$(notdir $(HCS_OBJ))) + +CONFIG_GEN_HEX_SRC := $(addprefix $(LOCAL_HCS_ROOT)/, $(HCS_OBJ_SRC)) +CONFIG_HCS_SRC := $(subst _hcs_hex.o,.hcs,$(addprefix $(HCS_DIR)/, $(HCS_OBJ))) + +HDF_FRAMWORK_TEST_ROOT = $(abspath $(SOURCE_ROOT)/drivers/hdf_core/framework/test/unittest/utils/hcs_parser/unittest) +HDF_FRAMWORK_TEST_OUT = $(srctree)/drivers/hdf +HCS_MACRO_OBJ := hcs_macro_cases.o +HCS_MACRO_SRC := $(HDF_FRAMWORK_TEST_ROOT)/hcs_macro_cases.c +HCS_DEP := $(HDF_FRAMWORK_TEST_OUT)/hdf_macro_test.h +HCS_MACRO_GEN_FILE := $(HDF_FRAMWORK_TEST_OUT)/hdf_macro_test +HCS_FILE := $(HCS_DIR)/hdf.hcs + +$(obj)/$(HCS_OBJ): $(CONFIG_GEN_HEX_SRC) + $(Q)$(CC) $(c_flags) -c -o $@ $< + $(Q)rm -f $< + +$(CONFIG_GEN_HEX_SRC): $(LOCAL_HCS_ROOT)/%_hcs_hex.c: $(HCS_DIR)/%.hcs | $(HC_GEN) + $(Q)echo gen hdf built-in config + $(Q)if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi + $(Q)$(HC_GEN) $(HCB_FLAGS) -o $(subst _hex.c,,$(@)) $< + +$(CONFIG_GEN_SRCS): $(CONFIG_OUT_DIR)%.c: $(HCS_DIR)/%.hcs | $(HC_GEN) + $(Q)echo gen hdf driver config + $(Q)if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi + $(Q)$(HC_GEN) -t -o $@ $< + +$(HC_GEN): + $(HIDE)make -C $(HC_GEN_DIR) BUILD_DIR=$(dir $@) + +$(obj)/$(HCS_MACRO_OBJ): $(HCS_MACRO_SRC) $(HCS_DEP) + $(Q)$(CC) $(c_flags) -c -o $@ $< + +$(HCS_DEP): $(HC_GEN) + $(Q)echo gen hdf built-in config macro + $(Q)$(HC_GEN) -m -o $(HCS_MACRO_GEN_FILE) $(HCS_FILE) + +obj-$(CONFIG_DRIVERS_HDF) += $(HCS_OBJ) \ + $(HCS_MACRO_OBJ) diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/adc_test_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/adc_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..2dd37bb891728b21bc2b1fccef4424bda97094c1 --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/adc_test_config.hcs @@ -0,0 +1,13 @@ +root { + module = "adc"; + adc_test_config { + adc_device_tester { + match_attr = "ADC_TEST"; + devNum = 14; + channel = 1; + maxChannel = 2; + dataWidth = 10; + rate = 20000; + } + } +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/emmc_test_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/emmc_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..fe1d87652ff4bd288ee52df962799aaef50f5292 --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/emmc_test_config.hcs @@ -0,0 +1,10 @@ +root { + module = "emmc"; + emmc_config { + emmc_controller_tester { + match_attr = "EMMC_TEST"; + busNum = 0; + hostId = 0; + } + } +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/gpio_test_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/gpio_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..a7934e7c40e3c30e0dc829bffa9d6775b731394e --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/gpio_test_config.hcs @@ -0,0 +1,14 @@ +root { + module = "gpio"; + gpio_config { + gpio_controller_tester { + match_attr = "GPIO_TEST"; + testNameOne = "GPIO4_26"; + testNameTwo = "GPIO4_29"; + gpio = 154; + gpioTestTwo = 157; + gpioIrq = 83; + testUserApi = 1; + } + } +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/hdf.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/hdf.hcs new file mode 100755 index 0000000000000000000000000000000000000000..10c135a460499dc33c988a69c770c85de8109cf3 --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/hdf.hcs @@ -0,0 +1,17 @@ +#include "../hdf.hcs" +#include "hdf_config_test.hcs" +#include "hdf_test_manager/device_info.hcs" +#include "adc_test_config.hcs" +#include "gpio_test_config.hcs" +#include "i2c_test_config.hcs" +#include "pwm_test_config.hcs" +#include "spi_test_config.hcs" +#include "sdio_test_config.hcs" +#include "emmc_test_config.hcs" +#include "uart_test_config.hcs" +#include "rtc_test_config.hcs" +#include "watchdog_test_config.hcs" + +root { + module = "hisilicon,hi35xx_chip"; +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/hdf_config_test.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/hdf_config_test.hcs new file mode 100755 index 0000000000000000000000000000000000000000..ddc7b0962d429034be9df942546a952529c5905b --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/hdf_config_test.hcs @@ -0,0 +1,52 @@ +root { + module = "ConfigTest"; + match_attr = "test,config"; + audio_info { + match_attr = "hw,hw_audio_info"; + pa_identifier = "smartpakit"; + smartpa_addr = 65536; + smartpa_num = 1; + builtin_primary_mic_exist = true; + builtin_second_mic_exist = true; + voice_vol_level = 256; + cust_name = "audio_custom_v2"; + dual_smartpa_delay = "true"; + read_u64data = 0x100000000; + status = "ok"; + } + fingerprint_info { + match_attr = "hw,hw_fingerprint_info"; + read_u32_index = [1, 256, 65536]; + finger_info = &fingerprint_one; + audio_info = &root.audio_info; + fingerprint_one { + product = "test"; + chip = "one"; + one_child { + status = "ok"; + } + status = "ok"; + } + dual_fingerprint = "false"; + fingerprint_two: fingerprint_one { + chip = "two"; + status = "disable"; + } + string_list_names = ["first", "second", "third"]; + status = "ok"; + } + data_type_test { + match_attr = "hw,data_type_test"; + read_four_data_type = [0x1, 0x100, 0x10000, 0x100000000]; + test_u8_elem_data = [0, 1, 2, 3, 4, 5, 6, 7]; + test_u16_elem_data = [0, 1, 2, 3, 4, 5, 256, 257]; + } + board_id = [65536, 256]; + support_Device = "TP LCD Sensor"; + fingerprint_three: root.fingerprint_info.fingerprint_one { + chip = "three"; + status = "disable"; + } + modem_id = [0xF6B40136, 0x0]; + boardId = 8000; +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/hdf_test_manager/device_info.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/hdf_test_manager/device_info.hcs new file mode 100755 index 0000000000000000000000000000000000000000..65f611b8f1712be0be9ef26a2712cd2e837fad28 --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/hdf_test_manager/device_info.hcs @@ -0,0 +1,176 @@ +root { + device_info { + test_host :: host { + hostName = "test_host"; + priority = 180; + device_hdf_test :: device { + device0 :: deviceNode { + policy = 2; + priority = 10; + preload = 0; + permission = 0644; + moduleName = "khdf_ut"; + serviceName = "khdf_ut"; + } + device1 :: deviceNode { + policy = 2; + priority = 10; + preload = 0; + permission = 0644; + moduleName = "sample_driver"; + serviceName = "sample_service"; + } + device2 :: deviceNode { + policy = 2; + priority = 10; + preload = 0; + permission = 0644; + moduleName = "pm_test_driver"; + serviceName = "pm_ut_service"; + } + device3 :: deviceNode { + policy = 2; + priority = 10; + preload = 2; + permission = 0644; + moduleName = "hdf_test_helper"; + serviceName = "hdf_test_helper"; + } + device_uevent_ut :: deviceNode { + policy = 2; + priority = 10; + preload = 0; + permission = 0644; + moduleName = "uevent_ut_driver"; + serviceName = "hdf_uevent_ut"; + } + } + device_platform_test :: device { + adc_tester :: deviceNode { + policy = 2; + priority = 110; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_ADC_TEST"; + deviceMatchAttr = "ADC_TEST"; + serviceName = "ADC_TEST"; + } + gpio_tester :: deviceNode { + policy = 2; + priority = 101; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_GPIO_TEST"; + deviceMatchAttr = "GPIO_TEST"; + serviceName = "GPIO_TEST"; + } + i2c_tester :: deviceNode { + policy = 2; + priority = 101; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_I2C_TEST"; + deviceMatchAttr = "I2C_TEST"; + serviceName = "I2C_TEST"; + } + i2c_dummy :: deviceNode { + policy = 1; + priority = 101; + preload = 0; + permission = 0644; + moduleName = "dummy_i2c_adapter"; + } + pwm_virtual :: deviceNode { + policy = 2; + priority = 56; + permission = 0644; + moduleName = "virtual_pwm_driver"; + serviceName = "HDF_PLATFORM_PWM_10"; + deviceMatchAttr = "virtual_pwm"; + } + pwm_test :: deviceNode { + policy = 2; + priority = 110; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_PWM_TEST"; + serviceName = "PWM_TEST"; + deviceMatchAttr = "PWM_TEST"; + } + spi_test :: deviceNode { + policy = 1; + priority = 100; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_SPI_TEST"; + serviceName = "SPI_TEST"; + deviceMatchAttr = "SPI_TEST"; + } + emmc_tester :: deviceNode { + policy = 1; + priority = 100; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_EMMC_TEST"; + serviceName = "EMMC_TEST"; + deviceMatchAttr = "EMMC_TEST"; + } + sdio_tester :: deviceNode { + policy = 1; + priority = 100; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_SDIO_TEST"; + serviceName = "SDIO_TEST"; + deviceMatchAttr = "SDIO_TEST"; + } + watchdog_test :: deviceNode { + policy = 1; + priority = 110; + preload = 0; + permission = 0660; + moduleName = "PLATFORM_WATCHDOG_TEST"; + serviceName = "WATCHDOG_TEST"; + deviceMatchAttr = "WATCHDOG_TEST"; + } + mipi_dsi_test :: deviceNode { + policy = 1; + priority = 100; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_MIPI_DSI_TEST"; + serviceName = "PLATFORM_MIPI_DSI_TEST"; + deviceMatchAttr = "PLATFORM_MIPI_DSI_TEST"; + } + uart_tester :: deviceNode { + policy = 2; + priority = 100; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_UART_TEST"; + serviceName = "UART_TEST"; + deviceMatchAttr = "UART_TEST"; + } + rtc_tester :: deviceNode { + policy = 2; + priority = 101; + preload = 0; + permission = 0644; + moduleName = "PLATFORM_RTC_TEST"; + serviceName = "RTC_TEST"; + deviceMatchAttr = "RTC_TEST"; + } + } + device_sensor_test :: device { + sensor_tester :: deviceNode { + policy = 0; + priority = 100; + preload = 0; + permission = 0644; + moduleName = "HDF_SENSOR_TEST_DRIVER"; + } + } + } + } +} + diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/i2c_test_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/i2c_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..9d706242928369cbdba64e0769437954832d8b7f --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/i2c_test_config.hcs @@ -0,0 +1,13 @@ +root { + module = "i2c"; + i2c_config { + i2c_controller_tester { + match_attr = "I2C_TEST"; + bus_num = 1; + dev_addr = 0x5d; + reg_addr = 0xd0; + reg_len = 2; + buf_size = 7; + } + } +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/pwm_test_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/pwm_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..bd036990fc3ef99c06216bb551378ec9a3cee4e5 --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/pwm_test_config.hcs @@ -0,0 +1,15 @@ +root { + pwm_test { + module = "pwm_test"; + match_attr = "PWM_TEST"; + num = 10; + period = 999; + duty = 333; + polarity = 0; + status = 1; + } + virtual_test { + match_attr = "virtual_pwm"; + num = 10; + } +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/rtc_test_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/rtc_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..e134087a2aa46f1555dcd80ddaabfe98da5d614a --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/rtc_test_config.hcs @@ -0,0 +1,19 @@ +root { + module = "rtc"; + rtc_config { + match_attr = "RTC_TEST"; + time = 60; + maxYear = 2222; + year = 2020; + month = 8; + day = 8; + hour = 8; + minute = 8; + second = 8; + frequency = 32768; + userValue = 0x8; + userMaxIndex = 8; + waitTimeSecond = 3; + writeWaitMillisecond = 30; + } +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/sdio_test_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/sdio_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..9f1835a7d42a76bf4950c8e7e77d867c8f67264e --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/sdio_test_config.hcs @@ -0,0 +1,12 @@ +root { + module = "sdio"; + sdio_config { + sdio_controller_tester { + match_attr = "SDIO_TEST"; + busNum = 2; + funcNum = 1; + vendorId = 0x296; + deviceId = 0x5347; + } + } +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/spi_test_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/spi_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..028707ed1b9f8e01e1cbb82609f9c3d48bff96d3 --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/spi_test_config.hcs @@ -0,0 +1,10 @@ +root { + spi_test { + module = "spi_test"; + match_attr = "SPI_TEST"; + bus = 0; + cs = 0; + len = 8; + wbuf = [0xa1, 0xb2, 0xc3, 0xd4, 0xe5, 0xf6, 0x78, 0x90]; + } +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/uart_test_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/uart_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..7e08a49888593811c50e3777fe1653aedacf9513 --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/uart_test_config.hcs @@ -0,0 +1,9 @@ +root { + uart_test { + module = "uart_test"; + match_attr = "UART_TEST"; + port = 3; + len = 8; + wbuf = [0xa1, 0xb2, 0xc3, 0xd4, 0xe5, 0xf6, 0x78, 0x90]; + } +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/watchdog_test_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/watchdog_test_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..7cf2646f207318f31794c333afe36dd760e82c60 --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/hdf_test/watchdog_test_config.hcs @@ -0,0 +1,13 @@ +root { + module = "watchdog"; + watchdog_config { + watchdog_device_tester { + match_attr = "WATCHDOG_TEST"; + id = 0; + timeoutSet = 2; + statusStop = 0; + statusStart = 0; + feedTime = 6; + } + } +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/input/input_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/input/input_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..76787c76cd2d01e258d94c378bf4d3ded997ba32 --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/input/input_config.hcs @@ -0,0 +1,207 @@ +root { + input_config { + touchConfig { + touch0 { + boardConfig { + match_attr = "touch_device1"; + inputAttr { + /* 0:touch 1:key 2:keyboard 3:mouse 4:button 5:crown 6:encoder */ + inputType = 0; + solutionX = 720; + solutionY = 1280; + devName = "main_touch"; + } + +// Hi3516DV300-Runhe gt911--5p5 & 4p0 + busConfig { + // 0:i2c 1:spi + busType = 0; + busNum = 1; + clkGpio = 86; + dataGpio = 87; + i2cClkIomux = [0x114f0048, 0x403]; + i2cDataIomux = [0x114f004c, 0x403]; + } + + pinConfig { + rstGpio = 14; + intGpio = 13; + rstRegCfg = [0x112f0094, 0x400]; + intRegCfg = [0x112f0098, 0x400]; + } + +// Hi3516DV300-Ruishi gt911--7p0 +/* + busConfig { + // 0:i2c 1:spi + busType = 0; + busNum = 6; + clkGpio = 26; + dataGpio = 27; + i2cClkIomux = [0x114f0048, 0x403]; + i2cDataIomux = [0x114f004c, 0x403]; + } + + pinConfig { + rstGpio = 13; + intGpio = 12; + rstRegCfg = [0x10ff0030, 0x400]; + intRegCfg = [0x10ff002C, 0x400]; + } +*/ +// Hi3516DV300-Demo board: ft6336--2p35 +/* + busConfig { + // 0:i2c 1:spi + busType = 0; + busNum = 3; + clkGpio = 2; + dataGpio = 1; + i2cClkIomux = [0x112f0090, 0x5f1]; + i2cDataIomux = [0x112f008c, 0x5f1]; + } + + pinConfig { + rstGpio = 3; + intGpio = 4; + rstRegCfg = [0x0, 0x0]; + intRegCfg = [0x112f0098, 0x5f0]; + } +*/ + powerConfig { + /* 0:unused 1:ldo 2:gpio 3:pmic */ + vccType = 2; + vccNum = 20; // gpio20 + vccValue = 1800; + vciType = 1; + vciNum = 12; // ldo12 + vciValue = 3300; + } + + featureConfig { + capacitanceTest = 0; + gestureMode = 0; + gloverMOde = 0; + coverMode = 0; + chargerMode = 0; + knuckleMode = 0; + } + } + + chipConfig { + template touchChip { + match_attr = ""; + chipName = "gt911"; + vendorName = "zsj"; + chipInfo = "AAAA11222"; // 4-ProjectName, 2-TP IC, 3-TP Module + /* 0:i2c 1:spi*/ + busType = 0; + deviceAddr = 0x5D; + /* 0:None 1:Rising 2:Failing 4:High-level 8:Low-level */ + irqFlag = 2; + maxSpeed = 400; + chipVersion = 0; //parse Coord TypeA + powerSequence { + /* [type, status, dir , delay] + 0:none 1:vcc-1.8v 2:vci-3.3v 3:reset 4:int + 0:off or low 1:on or high 2:no ops + 0:input 1:output 2:no ops + meanings delay xms, 20: delay 20ms + */ + powerOnSeq = [4, 0, 1, 5, + 3, 0, 1, 10, + 3, 1, 1, 60, + 4, 2, 0, 50]; + suspendSeq = [3, 0, 2, 10]; + resumeSeq = [3, 1, 2, 10]; + powerOffSeq = [3, 0, 2, 10, + 1, 0, 2, 20]; + } + } + + chip0 :: touchChip { + match_attr = "zsj_gt911_5p5"; + chipInfo = "ZIDN45100"; // 4-ProjectName, 2-TP IC, 3-TP Module + chipVersion = 0; //parse point by TypeA + } + + chip1 :: touchChip { + match_attr = "zsj_gt911_4p0"; + chipInfo = "ZIDN45101"; + chipVersion = 1; //parse point by TypeB + } + + chip2 :: touchChip { + match_attr = "tg_gt911_7p0"; + vendorName = "tg"; + chipInfo = "ZIDN45102"; + chipVersion = 2; //parse point by TypeC + } + + chip3 :: touchChip { + match_attr = "st_ft6336_2p35"; + chipName = "ft6336"; + vendorName = "st"; + chipInfo = "ZIDN53200"; + deviceAddr = 0x38; + irqFlag = 1; // Rising + powerSequence { + /* [type, status, dir , delay] + 0:none 1:vcc-1.8v 2:vci-3.3v 3:reset 4:int + 0:off or low 1:on or high 2:no ops + 0:input 1:output 2:no ops + meanings delay xms, 20: delay 20ms + */ + powerOnSeq = [4, 2, 0, 0, + 3, 1, 1, 2, + 3, 0, 2, 5, + 3, 1, 2, 200]; + suspendSeq = [3, 0, 2, 10]; + resumeSeq = [3, 1, 2, 10]; + powerOffSeq = [3, 0, 2, 10, + 1, 0, 2, 20]; + } + } + } + } + } + + keyConfig { + keyList = ["power", "VolUp", "VolDown", "Up", "Down", "Left", "Right"]; + keyInfoList { + key1 { + match_attr = "key_device0"; + /* 0:touch 1:key 2:keyboard 3:mouse 4:button 5:crown 6:encoder */ + inputType = 1; + keyName = "power"; + gpioNum = 1; + irqFlag = 3; + debounceTime = 80; + } + + key2 { + keyName = "volUp"; + gpioNum = 31; + irqFlag = 1; + debounceTime = 80; + } + + key3 { + keyName = "volDown"; + gpioNum = 32; + irqFlag = 1; + debounceTime = 80; + } + } + } + infraredConfig { + infrared1 { + match_attr = "Infrared_device0"; + infraredName = "raspberryInfrared"; + inputType = 1; + gpioNum = 29; + irqFlag = 1; + } + } + } +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/lcd/lcd_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/lcd/lcd_config.hcs new file mode 100644 index 0000000000000000000000000000000000000000..dd1ea37befacdbed5091f95de6cc873409ce1623 --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/lcd/lcd_config.hcs @@ -0,0 +1,13 @@ +root { + backlightConfig { + pwmBacklightConfig { + match_attr = "pwm_bl_dev"; + pwmDevNum = 1; + pwmMaxPeriod = 25000; + backlightDevName = "hdf_pwm"; + minBrightness = 0; + defBrightness = 127; + maxBrightness = 255; + } + } +} \ No newline at end of file diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/light/light_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/light/light_config.hcs new file mode 100644 index 0000000000000000000000000000000000000000..1f744099f851388fd9994b2698556cfd68ce7413 --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/light/light_config.hcs @@ -0,0 +1,25 @@ +root { + lightConfig { + boardConfig { + match_attr = "hdf_light_driver"; + lightAttr { + light01 { + lightId = [1]; /* Lightid can contain multiple logical light ID, for example: + 1 indicates the power indicator. These logic lights work on + the same physical light light01. */ + lightName = "battery"; + lightNumber = 1; + busRNum = 147; // Red corresponding GPIO. + busGNum = 146; // Green corresponding GPIO. + busBNum = 149; // Blue corresponding GPIO. + defaultBrightness = 0X00FFFFFF; /* System default brightness value. + B: 0-7bit, R: 8-15bit, G: 16-23, extended bit: 24-31bit. */ + onTime = 50; /* The minimum duration (in milliseconds) that the system supports + when the light is on during flashing */ + offTime = 50; /* The minimum duration (in milliseconds) that the system supports + when the light is off during flashing */ + } + } + } + } +} \ No newline at end of file diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/platform/adc_config_linux.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/platform/adc_config_linux.hcs new file mode 100755 index 0000000000000000000000000000000000000000..10dd97a503bb9b1887d93fd1408a4e033dc55049 --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/platform/adc_config_linux.hcs @@ -0,0 +1,34 @@ +root { + platform { + adc_config { + match_attr = "linux_adc_adapter_0"; + template adc_device { + serviceName = ""; + channelNum = 2; + driver_channel0_name = ""; + driver_channel1_name = ""; + deviceNum = 0; + scanMode = 0; + rate = 100; + } + device_adc_0x0000 :: adc_device { + channelNum = 8; + driver_channel0_name = "/sys/bus/iio/devices/iio:device0/in_voltage0_raw"; + driver_channel1_name = "/sys/bus/iio/devices/iio:device0/in_voltage1_raw"; + driver_channel2_name = "/sys/bus/iio/devices/iio:device0/in_voltage2_raw"; + driver_channel3_name = "/sys/bus/iio/devices/iio:device0/in_voltage3_raw"; + driver_channel4_name = "/sys/bus/iio/devices/iio:device0/in_voltage4_raw"; + driver_channel5_name = "/sys/bus/iio/devices/iio:device0/in_voltage5_raw"; + driver_channel6_name = "/sys/bus/iio/devices/iio:device0/in_voltage6_raw"; + driver_channel7_name = "/sys/bus/iio/devices/iio:device0/in_voltage7_raw"; + deviceNum = 0; + } + device_adc_0x0001 :: adc_device { + channelNum = 2; + driver_channel0_name = "/sys/bus/iio/devices/iio:device0/in_voltage0_raw"; + driver_channel1_name = "/sys/bus/iio/devices/iio:device0/in_voltage1_raw"; + deviceNum = 14; + } + } + } +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/platform/emmc_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/platform/emmc_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..3351c0c469d73461610ad22e8fd35a3c912f6981 --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/platform/emmc_config.hcs @@ -0,0 +1,16 @@ +root { + platform { + emmc_config { + template emmc_controller { + match_attr = ""; + hostId = 0; + devType = 0; + } + + controller_0x00 :: emmc_controller { + match_attr = "hisilicon_hi35xx_emmc_0"; + } + } + } +} + diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/platform/i2c_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/platform/i2c_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..c2433ba1899e121592a311dd8f3f6921396d726f --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/platform/i2c_config.hcs @@ -0,0 +1,24 @@ +root { + platform { + i2c_config { + match_attr = "linux_i2c_adapter"; + + template i2c_controller { + bus = 0; + } + + controller_0x28006000 :: i2c_controller { + bus = 0; + } + controller_0x28007000 :: i2c_controller { + bus = 1; + } + controller_0x28008000 :: i2c_controller { + bus = 2; + } + controller_0x28009000 :: i2c_controller { + bus = 3; + } + } + } +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/platform/pwm_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/platform/pwm_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..ac7cba0a21c0150603b96b194ac2aa4c1a683735 --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/platform/pwm_config.hcs @@ -0,0 +1,37 @@ +root { + platform { + pwm_config { + template pwm_device { + serviceName = ""; + match_attr = ""; + num = 0; + } + + device_pwm_0x00000000 :: pwm_device { + num = 0; + match_attr = "linux_pwm_adapter_0"; + } + + device_pwm_0x00000001 :: pwm_device { + num = 1; + match_attr = "linux_pwm_adapter_1"; + } + + device_pwm_0x00000002 :: pwm_device { + num = 2; + match_attr = "linux_pwm_adapter_2"; + } + + device_pwm_0x00000003 :: pwm_device { + num = 3; + match_attr = "linux_pwm_adapter_3"; + } + + device_pwm_0x00000004 :: pwm_device { + num = 4; + match_attr = "linux_pwm_adapter_4"; + } + } + } +} + diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/platform/sdio_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/platform/sdio_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..5e1018fbf0d8528153fd63c5c48f12cb75adc254 --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/platform/sdio_config.hcs @@ -0,0 +1,15 @@ +root { + platform { + sdio_config { + template sdio_controller { + match_attr = ""; + hostId = 2; + devType = 2; + } + controller_0x2dd1 :: sdio_controller { + match_attr = "hisilicon_hi35xx_sdio_0"; + } + } + } +} + diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/platform/tengruid_spi_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/platform/tengruid_spi_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..3cba4b6517c255487f4ff5c9f24a8bcb81f591ee --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/platform/tengruid_spi_config.hcs @@ -0,0 +1,27 @@ +root { + platform { + spi_config { + template spi_controller { + serviceName = ""; + match_attr = ""; + busNum = 0; + numCs = 0; + } + + controller_0x2800c000 :: spi_controller { + busNum = 0; + numCs = 1; + match_attr = "phytium_tengruid_spi_0"; + } + + controller_0x28013000 :: spi_controller { + match_attr = "phytium_tengruid_spi_1"; + busNum = 1; + numCs = 1; + } + + } + } +} + + diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/platform/tengruid_uart_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/platform/tengruid_uart_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..481cadf88110ff9b30469a906f67b8d53bfaa7c2 --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/platform/tengruid_uart_config.hcs @@ -0,0 +1,24 @@ +root { + platform { + uart_config { + template uart_device { + serviceName = ""; + match_attr = ""; + driver_name = "ttyS"; + num = 0; + } + + device_uart_0x0000 :: uart_device { + match_attr = "phytium_tengruid_uart_0"; + } + device_uart_0x0001 :: uart_device { + num = 1; + match_attr = "phytium_tengruid_uart_1"; + } + device_uart_0x0003 :: uart_device { + num = 3; + match_attr = "phytium_tengruid_uart_3"; + } + } + } +} diff --git a/vendor_phytium/tengrui_d/hdf_config/khdf/platform/tengruid_watchdog_config.hcs b/vendor_phytium/tengrui_d/hdf_config/khdf/platform/tengruid_watchdog_config.hcs new file mode 100755 index 0000000000000000000000000000000000000000..174e4773ee516a16c62a20b4936a329498cd3b80 --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/khdf/platform/tengruid_watchdog_config.hcs @@ -0,0 +1,16 @@ +root { + platform { + watchdog_config { + template watchdog_device { + serviceName = "HDF_PLATFORM_WATCHDOG_0"; + match_attr = ""; + id = 0; + } + + device_0x2800A000 :: watchdog_device { + id = 0; + match_attr = "phytium_tengruid_watchdog_0"; + } + } + } +} diff --git a/vendor_phytium/tengrui_d/hdf_config/uhdf/BUILD.gn b/vendor_phytium/tengrui_d/hdf_config/uhdf/BUILD.gn index f3f1c8a6db202116f46cc2e76b129099658ec162..bbf03b2c46b367b64a4782a0f693156ea10e3988 100644 --- a/vendor_phytium/tengrui_d/hdf_config/uhdf/BUILD.gn +++ b/vendor_phytium/tengrui_d/hdf_config/uhdf/BUILD.gn @@ -34,9 +34,18 @@ hdf_cfg("hdf_devhost.cfg") { subsystem_name = "product_${device_name}" } +ohos_prebuilt_etc("hdf_peripheral.cfg") { + source = "hdf_peripheral.cfg" + relative_install_dir = "init" + install_images = [ chipset_base_dir ] + subsystem_name = "product_${device_name}" + part_name = "product_${device_name}" +} + group("hdf_config") { deps = [ ":hdf_default.hcb", ":hdf_devhost.cfg", + ":hdf_peripheral.cfg", ] } diff --git a/vendor_phytium/tengrui_d/hdf_config/uhdf/hdf_peripheral.cfg b/vendor_phytium/tengrui_d/hdf_config/uhdf/hdf_peripheral.cfg new file mode 100644 index 0000000000000000000000000000000000000000..91679c019168a8e8da1cab59fc21987977e145df --- /dev/null +++ b/vendor_phytium/tengrui_d/hdf_config/uhdf/hdf_peripheral.cfg @@ -0,0 +1,47 @@ +{ + "jobs" : [{ + "name" : "pre-init", + "cmds" : [ + "chown sensor_host sensor_host /dev/hdf_sensor_manager_ap", + "chown vibrator_host vibrator_host /dev/hdf_misc_vibrator", + "chown light_host light_host /dev/hdf_light", + "chown light_host light_host /sys/class/leds/blue/brightness", + "chown light_host light_host /sys/class/leds/red/brightness", + "chown light_host light_host /sys/class/leds/green/brightness", + "chown input_user_host input_user_host /dev/hdf_input_host", + "chown hdf_devmgr uhdf_driver /dev/dev_mgr", + "chown hdf_devmgr uhdf_driver /dev/hdf_kevent", + "chown audio_host audio_host /dev/hdf_audio_render", + "chown audio_host audio_host /dev/hdf_audio_capture", + "chown audio_host audio_host /dev/hdf_audio_control", + "chown vendor_mpp_driver vendor_mpp_driver /dev/mpp_service", + "chown system vendor_mpp_driver /dev/rga", + "chown wifi wifi_group /dev/hdfwifi" + ] + }, { + "name" : "post-fs-data", + "cmds" : [ + "chown system system /dev/hdf_dsoftbus", + "chown composer_host composer_host /sys/class/backlight/backlight/brightness", + "mkdir /data/service/el0/battery 0751 power_host power_host", + "mkdir /data/service/el0/display 0711 power_host power_host", + "mkdir /data/service/el0/thermal 0755 thermal thermal", + "mkdir /data/service/el0/thermal/sensor 0755 power_host power_host", + "mkdir /data/service/el0/thermal/cooling 0755 power_host power_host", + "mkdir /data/service/el1/public/pinauth/ 0700 pin_auth_host pin_auth_host", + "mkdir /data/service/el1/public/userauth/ 0700 user_auth_host user_auth_host", + "chown power_host system /sys/power/wake_lock", + "chown power_host system /sys/power/wake_unlock", + "mkdir /data/service/el1/public/usb 0770 usb_host usb_host", + "write /data/service/el1/public/usb/mode device" + ] + }, { + "name" : "param:vendor.hifi.watchdog.come=true", + "condition" : "vendor.hifi.watchdog.come=true", + "cmds" : [ + "reset audio_host", + "setparam vendor.hifi.watchdog.come false" + ] + } + ] +}