From 8324c68848a1b717a2b1b0e446343895181b136b Mon Sep 17 00:00:00 2001 From: viktorxda <35473052+viktorxda@users.noreply.github.com> Date: Sun, 26 Jan 2025 19:44:21 +0100 Subject: [PATCH] Experimental support for hi3536dv100 (#50) --- Makefile | 6 ++++++ bmp/common.h | 14 ++++++++++++++ bmp/region.c | 2 +- build.sh | 7 ++++++- 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index e44d369..d641000 100644 --- a/Makefile +++ b/Makefile @@ -33,6 +33,12 @@ hisi: version.h $(eval LIB = -ldnvqe -lmpi -lsecurec -lupvqe -lVoiceEngine) $(BUILD) +hi3536: version.h + $(eval SDK = ./sdk/hi3536dv100) + $(eval CFLAGS += -D__GOKE__ -D__HI3536__) + $(eval LIB = -lm -ldnvqe -lmpi -ljpeg -lupvqe -lVoiceEngine) + $(BUILD) + star6b0: version.h $(eval SDK = ./sdk/infinity6) $(eval CFLAGS += -D__SIGMASTAR__ -D__INFINITY6__ -D__INFINITY6B0__) diff --git a/bmp/common.h b/bmp/common.h index 397dbc2..55e02b5 100644 --- a/bmp/common.h +++ b/bmp/common.h @@ -52,6 +52,20 @@ extern "C" { #define PIXEL_FORMAT_2BPP PIX_FMT_0RGB #define PIXEL_FORMAT_8888 PIX_FMT_ARGB #define PIXEL_FORMAT_I4 E_MI_RGN_PIXEL_FORMAT_I4 + +#elif __HI3536__ +#include "hi_common.h" +#include "hi_math.h" +#include "mpi_region.h" + +#define IO_BASE 0x12000000 +#define IO_SIZE 0x100000 +#define PIXEL_FORMAT_4444 PIXEL_FORMAT_RGB_4444 +#define PIXEL_FORMAT_1555 PIXEL_FORMAT_RGB_1555 +#define PIXEL_FORMAT_2BPP PIXEL_FORMAT_RGB_2BPP +#define PIXEL_FORMAT_8888 PIXEL_FORMAT_RGB_8888 +#define PIXEL_FORMAT_I4 3 + #else #include "hi_common.h" #include "hi_math.h" diff --git a/bmp/region.c b/bmp/region.c index 2a26308..385c3c6 100644 --- a/bmp/region.c +++ b/bmp/region.c @@ -170,7 +170,7 @@ int create_region(int *handle, int x, int y, int width, int height) { stChnAttr.unChnAttr.stOverlayChn.stQpInfo.bQpDisable = 0; stChnAttr.unChnAttr.stOverlayChn.stQpInfo.bAbsQp = 0; stChnAttr.unChnAttr.stOverlayChn.stQpInfo.s32Qp = 0; -#ifndef __16CV300__ +#ifndef __HI3536__ stChnAttr.unChnAttr.stOverlayChn.u16ColorLUT[0] = 0x3e0; stChnAttr.unChnAttr.stOverlayChn.u16ColorLUT[1] = 0x7FFF; stChnAttr.unChnAttr.stOverlayChn.enAttachDest = ATTACH_JPEG_MAIN; diff --git a/build.sh b/build.sh index ae9adff..bdb3a4f 100755 --- a/build.sh +++ b/build.sh @@ -2,7 +2,7 @@ DL="https://github.com/OpenIPC/firmware/releases/download/toolchain/toolchain" if [ "$#" -ne 1 ]; then - echo "Usage: $0 [goke|hisi|star6b0|star6e|star6c|native]" + echo "Usage: $0 [goke|hisi|hi3536|star6b0|star6e|star6c|native]" exit 1 fi @@ -16,6 +16,8 @@ elif [[ "$1" == *"goke" ]]; then CC=goke-gk7205v200 elif [[ "$1" == *"hisi" ]]; then CC=hisilicon-hi3516ev200 +elif [[ "$1" == *"hi3536" ]]; then + CC=hisilicon-hi3536dv100 fi GCC=$PWD/toolchain/$CC/bin/arm-linux-gcc @@ -41,6 +43,9 @@ if [ "$1" = "goke" ]; then elif [ "$1" = "hisi" ]; then DRV=$PWD/firmware/general/package/hisilicon-osdrv-hi3516ev200/files/lib make -B CC=$GCC DRV=$DRV TOOLCHAIN=$PWD/toolchain/$CC OUTPUT=$OUT $1 +elif [ "$1" = "hi3536" ]; then + DRV=$PWD/firmware/general/package/hisilicon-osdrv-hi3536dv100/files/lib + make -B CC=$GCC DRV=$DRV TOOLCHAIN=$PWD/toolchain/$CC OUTPUT=$OUT $1 elif [ "$1" = "star6b0" ]; then DRV=$PWD/firmware/general/package/sigmastar-osdrv-infinity6b0/files/lib make -B CC=$GCC DRV=$DRV TOOLCHAIN=$PWD/toolchain/$CC OUTPUT=$OUT $1