Skip to content

Commit

Permalink
some update
Browse files Browse the repository at this point in the history
  • Loading branch information
0x754C committed May 28, 2024
1 parent 58f1952 commit 82a0b70
Show file tree
Hide file tree
Showing 33 changed files with 10,840 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,9 @@ CONFIG_SERIAL_8250_DW=y
CONFIG_SERIAL_EARLYCON_RISCV_SBI=y
CONFIG_HW_RANDOM=y
CONFIG_I2C=y
CONFIG_I2C_SLAVE=y
CONFIG_I2C_SLAVE_EEPROM=y
CONFIG_I2C_DESIGNWARE_SLAVE=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,15 @@ int cvi_board_init(void)
//mmio_write_32(0x0300116C, 0x5); // RX4N CAM_MCLK0 for alpha
mmio_write_32(0x0300118C, 0x5); // RX0N CAM_MCLK1 for beta

// spi1 on mipi csi
/*
mmio_write_32(0x0300116C, 0x7); // spi1 clk GPIOC2 MIPI_RX4N
mmio_write_32(0x03001170, 0x7); // spi1 cs GPIOC3 MIPI_RX4P
mmio_write_32(0x03001174, 0x7); // spi1 miso GPIOC4 MIPI_RX3N
mmio_write_32(0x03001178, 0x7); // spi1 mosi GPIOC5 MIPI_RX3P
*/


// camera/tp i2c
mmio_write_32(0x03001090, 0x5); // PWR_GPIO6 IIC4_SCL
mmio_write_32(0x03001098, 0x5); // PWR_GPIO8 IIC4_SDA
Expand Down
12 changes: 9 additions & 3 deletions ramdisk/initramfs/musl_riscv64/init
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ msc() {
echo device > /proc/cviusb/otg_role
while true
do
sleep 10
sleep 1
busybox iostat
busybox uptime
busybox uname
Expand Down Expand Up @@ -95,14 +95,20 @@ parted -s /dev/mmcblk0 "resizepart 2 -0"
echo "yes
100%
" | parted ---pretend-input-tty /dev/mmcblk0 "resizepart 2 100%"
e2fsck -fvp /dev/mmcblk0p2
#e2fsck -fvp /dev/mmcblk0p2
resize2fs /dev/mmcblk0p2
mount -o rw /dev/mmcblk0p2 /realroot
mfail="$?"

if [ "${mfail}" -ne 0 ]
then
msc
e2fsck -fvp /dev/mmcblk0p2
mount -o rw /dev/mmcblk0p2 /realroot
mfail="$?"
if [ "${mfail}" -ne 0 ]
then
msc
fi
fi

mount -t proc proc /realroot/proc
Expand Down
2 changes: 1 addition & 1 deletion u-boot-2021.10/cmd/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ obj-$(CONFIG_CMD_FAT) += fat.o
obj-$(CONFIG_CMD_FDT) += fdt.o
obj-$(CONFIG_CMD_SQUASHFS) += sqfs.o
obj-$(CONFIG_CMD_FLASH) += flash.o
#obj-$(CONFIG_CMD_CVI_JPEG) += cvi_jpeg.o
obj-$(CONFIG_CMD_CVI_JPEG) += cvi_jpeg.o
obj-$(CONFIG_CMD_CVI_VO) += cvi_vo.o
obj-$(CONFIG_CMD_CVI_UPDATE) += cvi_update.o
obj-$(CONFIG_CMD_CVI_UPDATE) += cvi_utask.o
Expand Down
50 changes: 50 additions & 0 deletions u-boot-2021.10/cmd/cvi_jpeg.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#include <stdlib.h>
#include <common.h>
#include <command.h>

extern int jpeg_decoder(void *bs_addr, void *yuv_addr, int size);
extern int get_jpeg_size(int *width_addr, int *height_addr);

static int do_cvi_jpeg_dec(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[])
{
char *bs_addr = NULL;
char *yuv_addr = NULL;
int size = 0;


if (argc != 4) {
printf("Usage:\n%s\n", cmdtp->usage);
return 1;
}

bs_addr = (char *)simple_strtol(argv[1], NULL, 16);

if (!bs_addr) {
printf("Usage:\n%s\n", cmdtp->usage);
return 1;
}

yuv_addr = (char *)simple_strtol(argv[2], NULL, 16);

if (!yuv_addr) {
printf("Usage:\n%s\n", cmdtp->usage);
return 1;
}

size = (int)simple_strtol(argv[3], NULL, 16);

if (!size) {
printf("Usage:\n%s\n", cmdtp->usage);
return 1;
}

printf("\nstart jpeg dec task!, bs_addr %p, yuv_addr %p, size %d\n", bs_addr, yuv_addr, size);

jpeg_decoder(bs_addr, yuv_addr, size);
get_jpeg_size((int *)(bs_addr + size - 8), (int *)(bs_addr + size - 4));

return CMD_RET_SUCCESS;
}

U_BOOT_CMD(cvi_jpeg_dec, 4, 0, do_cvi_jpeg_dec, "Jpeg decoder ", "\n"
);
2 changes: 1 addition & 1 deletion u-boot-2021.10/drivers/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ obj-$(CONFIG_$(SPL_TPL_)TPM) += tpm/
obj-$(CONFIG_$(SPL_TPL_)ACPI_PMC) += power/acpi_pmc/
obj-$(CONFIG_XEN) += xen/
obj-$(CONFIG_$(SPL_)FPGA) += fpga/
#obj-$(CONFIG_CMD_CVI_JPEG) += jpeg/
obj-$(CONFIG_CMD_CVI_JPEG) += jpeg/

ifndef CONFIG_TPL_BUILD
ifdef CONFIG_SPL_BUILD
Expand Down
1 change: 1 addition & 0 deletions u-boot-2021.10/drivers/jpeg/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
obj-$(CONFIG_CMD_CVI_JPEG) += mm.o jdi.o jpuapifunc.o jpeg.o jpuhelper.o jdi_osal.o jpuapi.o jpurun.o mixer.o
48 changes: 48 additions & 0 deletions u-boot-2021.10/drivers/jpeg/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#ifndef __CONFIG_H__
#define __CONFIG_H__

#if defined(_WIN32) || defined(__WIN32__) || defined(_WIN64) || defined(WIN32) || defined(__MINGW32__)
# define PLATFORM_WIN32
#elif defined(linux) || defined(__linux) || defined(ANDROID)
# define PLATFORM_LINUX
#else
# define PLATFORM_NON_OS
#endif

#if defined(_MSC_VER)
# include <windows.h>
# include <conio.h>
# define inline _inline
# define VPU_DELAY_MS(X) Sleep(X)
//should change to delay function which can be delay a microsecond unut.
# define VPU_DELAY_US(X) Sleep(X)
# define kbhit _kbhit
# define getch _getch
#elif defined(__GNUC__)
#ifdef _KERNEL_
# define VPU_DELAY_MS(X) udelay((X) * 1000)
# define VPU_DELAY_US(X) udelay(X)
#else
# define VPU_DELAY_MS(X) usleep((X) * 1000)
# define VPU_DELAY_US(X) usleep(X)
#endif
#elif defined(__ARMCC__)
#else
# error "Unknown compiler."
#endif

#define PROJECT_ROOT "..\\..\\..\\"

#if defined(JPU_FPGA_PLATFORM)
#if defined(ANDROID) || defined(linux)
#else
#define SUPPORT_CONF_TEST
#endif
#endif

#define API_VERSION 165

#define HAVE_STDIN_H 1
//#define MJPEG_ERROR_CONCEAL

#endif /* __CONFIG_H__ */
54 changes: 54 additions & 0 deletions u-boot-2021.10/drivers/jpeg/cvi_jpeg_cfg.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
/*
* Copyright CviTek Inc.
*
* Created Time: Feb, 2020
*/
#ifndef __CVI_JPEG_CFG_H__
#define __CVI_JPEG_CFG_H__

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

#define BM_DBG_MSG_ENABLE

#define BM_MASK_ERR 0x1
#define BM_MASK_FLOW 0x2
#define BM_MASK_MEM 0x4
#define BM_MASK_TRACE 0x10
#define BM_MASK_PERF 0x20
#define BM_MASK_ALL 0xFFFF

#ifdef BM_DBG_MSG_ENABLE
#define BM_DBG_ERR(msg, ...) if (jpu_level & BM_MASK_ERR)\
{ printf("[ERR] %s = %d, " msg, __func__, __LINE__, ## __VA_ARGS__); }
#define BM_DBG_FLOW(msg, ...) if (jpu_level & BM_MASK_FLOW)\
{ printf("[FLOW] %s = %d, " msg, __func__, __LINE__, ## __VA_ARGS__); }
#define BM_DBG_MEM(msg, ...) if (jpu_level & BM_MASK_MEM)\
{ printf("[MEM] %s = %d, " msg, __func__, __LINE__, ## __VA_ARGS__); }
#define BM_DBG_TRACE(msg, ...) if (jpu_level & BM_MASK_TRACE)\
{ printf("[TRACE] %s = %d, " msg, __func__, __LINE__, ## __VA_ARGS__); }
#define BM_DBG_PERF(msg, ...) if (jpu_level & BM_MASK_PERF)\
{ printf("[PERF] %s = %d, " msg, __func__, __LINE__, ## __VA_ARGS__); }
extern int jpu_level;
#else
#define BM_DBG_ERR(msg, ...)
#define BM_DBG_FLOW(msg, ...)
#define BM_DBG_MEM(msg, ...)
#define BM_DBG_TRACE(msg, ...)
#define BM_DBG_PERF(msg, ...)
#endif

//#define PROFILE_PERFORMANCE
#define JPEG_CODEC_INTR_NUM 75
//#define SUPPORT_INTERRUPT

#ifdef SUPPORT_INTERRUPT
int irq_handler_jpeg_codec(int irqn, void *priv);
#endif

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif
Loading

0 comments on commit 82a0b70

Please sign in to comment.