diff --git a/README.md b/README.md index b97ff6b81d723d307dfb698178375ffc627aa710..23ef7401254bc13e59a2a52bb9615645ab616c7f 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,14 @@ **v1.4.0** [ReleaseNote](./doc/ChangeLog.md) +**如需Phytium全系CPU的软件适配支持,请联系 ``linan1284@phytium.com.cn``** + +[飞腾腾云S系列高性能服务器CPU](https://www.phytium.com.cn/homepage/production/list/0) + +[飞腾腾锐D系列高效能桌面CPU](https://www.phytium.com.cn/homepage/production/list/1) + +[飞腾腾珑E系列高端嵌入式CPU](https://www.phytium.com.cn/homepage/production/list/2) + ## 1. 项目概要 ### 1.1 仓库介绍 @@ -42,6 +50,7 @@ release 分支:发布分支,包含核心启动代码、芯片外设驱动、 │   ├── d2000_test │   ├── ft2004_dsk │   ├── firefly +│   ├── pd2308_demo │   └── user --> 板级IO复用,初始化和用户定义相关 ├── common │   ├── fprintf.c @@ -63,7 +72,9 @@ release 分支:发布分支,包含核心启动代码、芯片外设驱动、 ├── scripts ├── soc │   ├── d2000 -│   ├── e2000 +| ├── e2000 +│   ├── pd2308 +│   ├── ps2316 │   ├── phytiumpi │   └── ft2004 --> soc平台相关 ├── third-party @@ -184,62 +195,77 @@ D2000 是一款面向桌面应用的高性能通用 8 核处理器。每 2 个 - 1路 HDMI 接口 - 集成常用低速接口:WDT、QSPI、PWM、SD/SDIO/eMMC 、SPI_M、UART、I2C、I2S、MIO、CAN-FD、GPIO、LocalBus、Timer +### 3.7 PD2308 + +### 3.8 PS2316 + ## 4 例程支持情况 +| ai | Platform Supported | Platform Developing | Component | +| --------- | ----------------------------------------------------- | ------------------- | -------------- | +| TINYMAIX | FT2000/4、E2000、D2000、PHYTIUMPI、PD2308、PS2316 | | tinymaix_demo | + | Peripherals | Platform Supported | Platform Developing | Component | | ------------------------------- | ----------------------------------------------------- | ------------------- | -------------------- | -| Generic Interrupt Controller v3 | FT2000/4`
`E2000 `
`D2000 `
`PHYTIUMPI | | gicv3 | -| Generic Timer | FT2000/4`
`E2000 `
`D2000 `
`PHYTIUMPI | | generic_timer | -| UART (PrimeCell PL011) | FT2000/4`
`E2000 `
`D2000 `
`PHYTIUMPI | | serial | +| Generic Interrupt Controller v3 | FT2000/4、E2000、D2000、PHYTIUMPI、PD2308、PS2316 | | gicv3 | +| Generic Timer | FT2000/4、E2000、D2000、PHYTIUMPI、PD2308、PS2316 | | generic_timer | +| UART (PrimeCell PL011) | FT2000/4、E2000、D2000、PHYTIUMPI、PD2308、PS2316 | | serial | | ADC | E2000 | | adc | -| CAN | FT2000/4`
`E2000 `
`D2000 | | can/can | -| CANFD | E2000 | | can/canfd | -| DDMA | E2000`
`PHYTIUMPI | | seria/ddma | -| GDMA | E2000`
`PHYTIUMPI | | dma/gdma | -| IOPAD | E2000`
`PHYTIUMPI | | iopad | -| IPC | E2000`
`PHYTIUMPI | | ipc/semaphore | -| I2C | E2000`
`PHYTIUMPI | FT2004/D2000 | i2c | -| PIN | E2000`
`PHYTIUMPI | FT2004/D2000 | pin | -| QSPI (Nor Flash) | FT2000/4`
`E2000 `
`D2000 | | qspi | -| SPI | FT2000/4`
`E2000 `
`D2000 | | spi | -| TIMER & TACHO | E2000`
`PHYTIUMPI | | timer&tacho | -| MIO | E2000`
`PHYTIUMPI | | i2c & serial | -| SDMMC | FT2000/4`
`D2000 | | sd | -| SDIO | E2000`
`PHYTIUMPI | | sd | -| PCIE RC | E2000/FT2004/D2000 | | pcie rc | -| SATA | E2000 | | sata/sata_controller | -| SATA PCIE | FT2000/4`
`E2000 `
`D2000 | | sata/sata_pcie | -| PWM | E2000`
`PHYTIUMPI | | pwm | -| WDT | FT2000/4`
`D2000 `
`E2000 `
`PHYTIUMPI | | wdt | -| FJTAG | E2000 | | jtag_debugging | -| USB2(Device) | E2000 | | usb/psub2_device | +| CAN | FT2000/4、E2000、D2000、PD2308 | | can/can | +| DDMA | E2000、PHYTIUMPI | | seria/ddma | +| GDMA | E2000、PHYTIUMPI、PD2308 | | dma/gdma | +| IOPAD | E2000、PHYTIUMPI | | iopad | +| IPC | E2000、PHYTIUMPI | | ipc/semaphore | +| I2C | E2000、PHYTIUMPI、PD2308 | FT2004/D2000 | i2c | +| I2S | E2000、PHYTIUMPI、PD2308 | | i2s | +| PIN | E2000、PHYTIUMPI、、D2000、PD2308 | FT2004/D2000 | pin | +| QSPI (Nor Flash) | FT2000/4、E2000 、D2000、PD2308 | | qspi | +| SPI | FT2000/4、E2000 、D2000、PD2308 | | spi | +| TIMER & TACHO | E2000、PHYTIUMPI、PD2308 | | timer&tacho | +| MIO | E2000、PHYTIUMPI | | i2c & serial | +| SDMMC | FT2000/4、D2000 | | sd | +| SDIO | E2000、PHYTIUMPI、PD2308 | | sd | +| PCIE RC | E2000、FT2004、D2000、PD2308、PS2316 | | pcie rc | +| SATA | E2000、PD2308 | | sata/sata_controller | +| SATA PCIE | FT2000/4、E2000、D2000、PD2308 | | sata/sata_pcie | +| PWM | E2000、PHYTIUMPI、PD2308 | | pwm | +| WDT | FT2000/4、D2000、E2000、PHYTIUMPI、PD2308、PS2316 | | wdt | +| USB2(Device) | E2000 | | usb/psub2_device | | Media | Platform Supported | Platform Developing | Component | | ----- | ---------------------- | ------------------- | -------------- | -| DP | E2000`
`PHYTIUMPI | | media_test | -| LVGL | E2000`
`PHYTIUMPI | | lvgl_demo_test | +| DP | E2000、PHYTIUMPI | | media_test | +| LVGL | E2000、PHYTIUMPI | | lvgl_demo_test | | Network | Platform Supported | Platform Developing | Component | | ------- | ----------------------------------------------------- | ------------------- | ------------ | -| LWIP | FT2000/4`
`D2000 `
`E2000 `
`PHYTIUMPI | | lwip_startup | -| RAW | FT2000/4`
`E2000 `
`D2000 `
`PHYTIUMPI | | raw_api | +| LWIP | FT2000/4、D2000、E2000、PHYTIUMPI | | lwip_startup | +| RAW | FT2000/4、E2000、D2000、PHYTIUMPI | | raw_api | | Storage | Platform Supported | Platform Developing | Component | | ----------- | ----------------------------------------------------- | ------------------- | ---------------- | -| FATFS | FT2000/4`
`E2000 `
`D2000 `
`PHYTIUMPI | | fatfs | -| MEMORY_POOL | FT2000/4`
`E2000 `
`D2000 `
`PHYTIUMPI | | memory_pool_test | -| SFUD | FT2000/4`
`E2000 `
`PHYTIUMPI | D2000 | sfud | +| FATFS | FT2000/4、E2000、D2000、PHYTIUMPI、PD2308 | | fatfs | +| MEMORY_POOL | FT2000/4、E2000、D2000、PHYTIUMPI、PD2308、PS2316 | | memory_pool_test | +| SFUD | FT2000/4、E2000、PHYTIUMPI、PD2308 | D2000 | sfud | +| SPIFFS | FT2000/4、E2000、PHYTIUMPI、PD2308 | D2000 | spiffs | | System | Platform Supported | Platform Developing | Component | | ---------------- | ----------------------------------------------------- | ------------------- | ---------------------- | -| LIBMETAL | E2000`
`D2000 `
`PHYTIUMPI `
`FT2000/4 | | amp/libmetal_test | -| AMP | E2000`
`PHYTIUMPI `
`FT2000/4 `
`D2000 | | amp/openamp | -| PSCI | FT2000/4`
`E2000 `
`D2000 `
`PHYTIUMPI | | arch/armv8/psci | -| SCMI | E2000 | | scmi_mhu | -| ATOMIC | FT2000/4`
`E2000 `
`D2000 `
`PHYTIUMPI | | atomic | -| C++ | FT2000/4`
`E2000 `
`D2000 `
`PHYTIUMPI | | cxx/cryptopp&get-start | -| SHELL | FT2000/4`
`E2000 `
`D2000 | PHYTIUMPI | letter_shell_test | -| NESTED INTERRUPT | FT2000/4`
`E2000 `
`D2000 `
`PHYTIUMPI | | nested_interrupt | +| TEMPLATE | FT2000/4、E2000、D2000、PHYTIUMPI、PD2308、PS2316 | | template_test | +| AMP_TOOLS | E2000、PHYTIUMPI、PD2308、D2000、PS2316 | | amp/amp_tools_example | +| LIBMETAL | E2000、D2000、PHYTIUMPI、FT2000/4、PD2308、PS2316 | | amp/libmetal_test | +| AMP | E2000、PHYTIUMPI、FT2000/4、D2000、PD2308、PS2316 | | amp/openamp、amp/openamp_echo_remoteproc_load | +| PSCI | FT2000/4、E2000、D2000、PHYTIUMPI、PD2308、PS2316 | | arch/armv8/psci、arch/armv8/mmu、arch/armv8/pmu | +| SCMI | E2000、PD2308 | | scmi_mhu | +| ATOMIC | FT2000/4、E2000、D2000、PHYTIUMPI、PD2308、PS2316 | | atomic | +| C++ | FT2000/4、E2000、D2000、PHYTIUMPI、PD2308、PS2316 | | cxx/cryptopp&get-start | +| SHELL | FT2000/4、E2000、D2000、PD2308、PS2316 | PHYTIUMPI | letter_shell_test | +| NESTED INTERRUPT | FT2000/4、E2000、D2000、PHYTIUMPI、PD2308、PS2316 | | nested_interrupt | +| CMSIS | FT2000/4、E2000、D2000、PHYTIUMPI、PD2308、PS2316 | | cmsis | +| DELAY | E2000、PHYTIUMPI | | delay | +| NEWLIB | FT2000/4、E2000、D2000、PHYTIUMPI、PD2308、PS2316 | | newlib | +| UNWIND | FT2000/4、E2000、D2000、PHYTIUMPI、PD2308、PS2316 | | unwind | +| FJTAG | E2000 | | jtag_debugging | --- diff --git a/arch/armv8/aarch32/faarch.h b/arch/armv8/aarch32/faarch.h index c34d5e9fcb51b3087f8f4bf3bff09223b8dffe0f..e9aa95b3b3ca9173a4ec08b76d1febf8b3125b89 100644 --- a/arch/armv8/aarch32/faarch.h +++ b/arch/armv8/aarch32/faarch.h @@ -181,6 +181,8 @@ static _ALWAYS_INLINE void AARCH32_WRITE_SYSREG_64(const int coproc, const int o #define WMB DSB +/* Compiler Barrier */ +#define BARRIER() __asm__ __volatile__("" : : : "memory"); #define INTERRUPT_DISABLE() \ __asm volatile("CPSID i" :: \ diff --git a/arch/armv8/aarch64/faarch.h b/arch/armv8/aarch64/faarch.h index 9d4eb09320c03dd2e21f97ef2ad22c95f563f624..e836b172f3a2dee2b14e931379d187ee0ca69b8c 100644 --- a/arch/armv8/aarch64/faarch.h +++ b/arch/armv8/aarch64/faarch.h @@ -208,7 +208,7 @@ extern "C" : "memory") /* Data Memory Barrier */ -#define DMB() __asm__ __volatile__("dmb" \ +#define DMB() __asm__ __volatile__("dmb sy" \ : \ : \ : "memory") @@ -223,6 +223,10 @@ extern "C" : \ : "memory") +/* Compiler Barrier */ +#define BARRIER() __asm__ __volatile__("" : : : "memory"); + + /* Count leading zeroes (clz) */ #ifndef CLZ #define CLZ(arg) ( \ diff --git a/arch/armv8/aarch64/fexception.c b/arch/armv8/aarch64/fexception.c index f188510eca95a7972579aa07fa75593b9487f05f..53b57fd18ee98045c720a27520ae62746d493623 100644 --- a/arch/armv8/aarch64/fexception.c +++ b/arch/armv8/aarch64/fexception.c @@ -34,7 +34,6 @@ #include "sdkconfig.h" #include "fexception.h" #include "funwind.h" - /************************** Constant Definitions *****************************/ /**************************** Type Definitions *******************************/ @@ -315,8 +314,9 @@ void SynchronousInterrupt(FExcFrame *exc) { u64 esr, far; u64 ec, iss; - - f_printk("\r\n Synchronous exception:\r\n"); + u32 cpuid; + GetCpuId(&cpuid); + f_printk("\r\n CPU:%d,Synchronous exception:\r\n",cpuid); esr = AARCH64_READ_SYSREG(esr_el1); far = AARCH64_READ_SYSREG(far_el1); ec = (esr >> 26) & 0x3f; diff --git a/arch/armv8/aarch64/gcc/fboot.S b/arch/armv8/aarch64/gcc/fboot.S index 971c1b843a932c45e5aaadb88f17ba830a51a495..dc67c70d62525b14bca64e3b75546d3e00ed8236 100644 --- a/arch/armv8/aarch64/gcc/fboot.S +++ b/arch/armv8/aarch64/gcc/fboot.S @@ -25,28 +25,21 @@ */ #include "sdkconfig.h" +#include "fboot.h" .global _boot .global _vector_table -.set vector_base, _vector_table -.set el1_stack, __el1_stack +.set vector_base, _vector_table +.set el1_stack, __el1_stack .section .boot,"ax" _boot: -#ifdef CONFIG_BOOT_WITH_FLUSH_CACHE - mov x0, #0 /* clean and invaildate cache */ - TLBI VMALLE1 - ic IALLU /* Invalidate I cache to PoU */ - bl InvalidateFlushDcaches - dsb sy - isb -#endif bl FTraceUartInit bl FTraceBootup mrs x0, CurrentEL @@ -81,22 +74,30 @@ _boot: /* el2 code.*/ eret El2Entry: - mov x1, #0x0 - msr sctlr_el1, x1 - /* initialize the sctlr_el1 register before entering el1.*/ - msr sctlr_el1, xzr - mrs x0, hcr_el2 - orr x0, x0, #(1<<31) - bic x0, x0, #(1<<27) /* HCR_EL2.TGE = 0 */ - bic x0, x0, #(1<<5) /* HCR_EL2.AMO = 0 */ - bic x0, x0, #(1<<4) /* HCR_EL2.IMO = 0 */ - bic x0, x0, #(1<<3) /* HCR_EL2.FMO = 0 */ - /* rw=1 el1 execution state is aarch64.*/ - msr hcr_el2, x0 - mov x0, #0b00101 - /* daif=0000 */ - msr spsr_el2, x0 - /* m[4:0]=00101 el1h must match hcr_el2.rw.*/ + dcache cisw /* flush dcache */ + + /* Ensure I-cache, D-cache and mmu are disabled for EL2/Stage1 */ + disable_mmu sctlr_el2, x9 + + ic iallu + dsb nsh + isb + + /* Ensure I-cache, D-cache and mmu are disabled for EL1/Stage2 */ + mov x9, #(1 << 31) + msr hcr_el2, x9 + + /* Ensure traps to EL2 are disabled */ + mov x9, #0x33ff + msr cptr_el2, x9 + msr hstr_el2, xzr + msr vttbr_el2, xzr + + /* Ensure I-cache, D-cache and mmu are disabled for EL1/Stage1 */ + disable_mmu sctlr_el1 , x9 + + mov x9, #(FPSR_F_BIT | FPSR_I_BIT | FPSR_A_BIT | FPSR_D_BIT | FPSR_MODE_EL1h) + msr spsr_el2, x9 /* access generic timer registers */ mov x0, 0x3 diff --git a/arch/armv8/aarch64/gcc/fboot.h b/arch/armv8/aarch64/gcc/fboot.h new file mode 100644 index 0000000000000000000000000000000000000000..d2d6738bf6e250d4b2c54fe1daa77a157d84caa2 --- /dev/null +++ b/arch/armv8/aarch64/gcc/fboot.h @@ -0,0 +1,107 @@ +/* + * Copyright : (C) 2025 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: fboot.h + * Created Date: 2025-03-19 10:32:06 + * Last Modified: 2025-03-19 10:33:08 + * Description: This file is for + * + * Modify History: + * Ver Who Date Changes + * ----- ---------- -------- --------------------------------- + */ +#ifndef __FBOOT_H__ +#define __FBOOT_H__ + +#ifdef __ASSEMBLER__ + +#define FPSR_F_BIT 0x00000040 +#define FPSR_I_BIT 0x00000080 +#define FPSR_A_BIT 0x00000100 +#define FPSR_D_BIT 0x00000200 + +#define FPSR_MODE_EL0t 0x00000000 +#define FPSR_MODE_EL1t 0x00000004 +#define FPSR_MODE_EL1h 0x00000005 +#define FPSR_MODE_EL2t 0x00000008 +#define FPSR_MODE_EL2h 0x00000009 +#define FPSR_MODE_SVC_32 0x00000013 + + +.macro disable_mmu sctlr tmp + mrs \tmp, \sctlr + bic \tmp, \tmp, #(1 << 0) + bic \tmp, \tmp, #(1 << 2) + bic \tmp, \tmp, #(1 << 12) + msr \sctlr, \tmp + isb +.endm + +.macro dcache op + dsb sy + mrs x0, clidr_el1 + and x3, x0, #0x7000000 + lsr x3, x3, #23 + + cbz x3, finished_\op + mov x10, #0 + +loop1_\op: + add x2, x10, x10, lsr #1 + lsr x1, x0, x2 + and x1, x1, #7 + cmp x1, #2 + b.lt skip_\op + + msr csselr_el1, x10 + isb + + mrs x1, ccsidr_el1 + and x2, x1, #7 + add x2, x2, #4 + mov x4, #0x3ff + and x4, x4, x1, lsr #3 + clz w5, w4 + mov x7, #0x7fff + and x7, x7, x1, lsr #13 + +loop2_\op: + mov x9, x4 + +loop3_\op: + lsl x6, x9, x5 + orr x11, x10, x6 + lsl x6, x7, x2 + orr x11, x11, x6 + dc \op, x11 + subs x9, x9, #1 + b.ge loop3_\op + subs x7, x7, #1 + b.ge loop2_\op + +skip_\op: + add x10, x10, #2 + cmp x3, x10 + b.gt loop1_\op + +finished_\op: + mov x10, #0 + msr csselr_el1, x10 + dsb sy + isb +.endm + +#else /* !__ASSEMBLER__ */ +#warning "Including assembly-specific header in C code" +#endif +#endif // ! \ No newline at end of file diff --git a/arch/armv8/common/fgic_v3.c b/arch/armv8/common/fgic_v3.c index 73c879fa4e30df8be037d775492dd1e15e4a599c..1baadff7042c5b7397054132610b00fa9ba2058a 100644 --- a/arch/armv8/common/fgic_v3.c +++ b/arch/armv8/common/fgic_v3.c @@ -265,7 +265,7 @@ void FGicCpuInterfaceInit(void) uintptr FGicRedistributorIterate(void) { uintptr redis_base = 0; - fsize_t mpidr_aff = (GetAffinity() & 0xfff); + fsize_t mpidr_aff = (GetAffinity() & CORE_AFF_MASK); u32 gicr_typer_aff = 0; for(redis_base = GICV3_RD_BASE_ADDR; redis_base < GICV3_RD_BASE_ADDR + GICV3_RD_SIZE; redis_base += GICV3_RD_OFFSET) diff --git a/common/finterrupt.c b/common/finterrupt.c index f7bad4523261f7a03ac82fdfccd6e79b38683edd..8859858aab73447aa7069f6cbb6075432afcacf3 100644 --- a/common/finterrupt.c +++ b/common/finterrupt.c @@ -408,21 +408,21 @@ static void InterruptStepHandler(s32 vector, void *param) static u32 InterruptStep(void) { /* stop timer */ - GenericTimerStop(GENERIC_TIMER_ID0); + GenericTimerStop(GENERIC_TIMER_ID1); /* setup and enable interrupt */ InterruptSetPriority(GENERIC_TIMER_NS_IRQ_NUM, TIMER_PRIORITY); InterruptInstall(GENERIC_TIMER_NS_IRQ_NUM, InterruptStepHandler, NULL, NULL); InterruptUmask(GENERIC_TIMER_NS_IRQ_NUM); - GenericTimerSetTimerValue(GENERIC_TIMER_ID0, 1000); - GenericTimerInterruptEnable(GENERIC_TIMER_ID0); - GenericTimerStart(GENERIC_TIMER_ID0); + GenericTimerSetTimerValue(GENERIC_TIMER_ID1, 1000); + GenericTimerInterruptEnable(GENERIC_TIMER_ID1); + GenericTimerStart(GENERIC_TIMER_ID1); INTERRUPT_ENABLE(); fsleep_microsec(100); INTERRUPT_DISABLE(); - GenericTimerStop(GENERIC_TIMER_ID0); - GenericTimerInterruptDisable(GENERIC_TIMER_ID0); + GenericTimerStop(GENERIC_TIMER_ID1); + GenericTimerInterruptDisable(GENERIC_TIMER_ID1); InterruptMask(GENERIC_TIMER_NS_IRQ_NUM); u32 step = rpr_array[1] - rpr_array[0]; @@ -442,6 +442,7 @@ void InterruptInit(InterruptDrvType *int_driver_p, u32 instance_id, INTERRUPT_RO FASSERT(int_driver_p != NULL); FASSERT(role_select <= INTERRUPT_ROLE_NONE); interrupt_handler_p = int_driver_p; + if (INTERRUPT_ROLE_NONE == role_select ) { return; @@ -486,7 +487,7 @@ void InterruptInit(InterruptDrvType *int_driver_p, u32 instance_id, INTERRUPT_RO } else { - printf("rpr step is invalid.\n"); + need_translate = 0; } if(role_select == INTERRUPT_ROLE_MASTER) diff --git a/common/fsleep.c b/common/fsleep.c index a1bf624daa07d97b6ce7b57d4c26d3e7fc066e96..7074fa0bf5e93e2de7909b1f44d1b26f2cd36d38 100644 --- a/common/fsleep.c +++ b/common/fsleep.c @@ -39,11 +39,11 @@ static u32 fsleep_general(u32 delay_time, u32 resolution) volatile u64 need_tick; need_tick = ((u64)delay_time * GenericTimerFrequecy() / resolution); - old_tick = GenericTimerRead(GENERIC_TIMER_ID0); + old_tick = GenericTimerRead(GENERIC_TIMER_ID1); while (pass_tick < need_tick) { - cur_tick = GenericTimerRead(GENERIC_TIMER_ID0); + cur_tick = GenericTimerRead(GENERIC_TIMER_ID1); if (cur_tick == old_tick) continue; diff --git a/common/ftypes.h b/common/ftypes.h index fafa911e3b82f2935f3ec5e9ad3a5d9b8ed8426f..54fba8227fba91266a5be816def27cdb28a87798 100644 --- a/common/ftypes.h +++ b/common/ftypes.h @@ -29,7 +29,6 @@ #include #include -#include #include #ifdef __cplusplus diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md index 0f2b34d5fe3d944e736c5afde63d83d1f6bb3dca..c7dddc1c22e80cef5be7aff853fe8e1a4f31d638 100644 --- a/doc/ChangeLog.md +++ b/doc/ChangeLog.md @@ -1,3 +1,39 @@ +# Phytium Standalone SDK 2025-04-10 ChangeLog + +Change Log since 2025-04-10 + +## drivers + +modify i2s FI2sClkOutDiv func, and add samplerate param + +# Phytium Standalone SDK 2025-04-1 ChangeLog + +Change Log since 2025-04-1 + +## third-party + +add in cmd_md.h to avoid build error in xpack compiler chain. + +# Phytium Standalone SDK 2025-03-13 ChangeLog + +Change Log since 2025-03-10 + +## example + +- added ipv4 e1000e test example + +## driver + +- add e1000e driver + +## third-party + +- added the adaptation of lwip to e1000e + +## board + +- Add a pcie NIC to the e2000q + # Phytium Standalone SDK 2025-3-10 ChangeLog Change Log since 2025-3-7 diff --git a/doc/reference/driver/e1000e.md b/doc/reference/driver/e1000e.md new file mode 100644 index 0000000000000000000000000000000000000000..f28075cf92bfcc0539d8e22a30e111fb572c2055 --- /dev/null +++ b/doc/reference/driver/e1000e.md @@ -0,0 +1,452 @@ +# E1000E 驱动程序 + +## 1. 概述 + +E1000E 是 Intel 开发的一款高性能 PCIe 网卡驱动程序,专为支持 Intel Gigabit Ethernet 控制器的设备设计。它能够在各种操作系统中实现高效的网络数据传输,提供稳定、低延迟的网络连接。E1000E 驱动程序兼容多种 Intel 千兆网卡,支持多种网络协议和特性,是工业、企业和消费级网络应用中广泛采用的解决方案。 + +## 2. 功能 + +E1000E控制器驱动提供了E1000E的控制访问方法, + +- 初始化E1000E控制器 +- 以轮询方式发送/接收数据 + +驱动相关的源文件包括, + +``` +. +├── e1000e_debug.c +├── e1000e_dma.c +├── e1000e_g.c +├── e1000e_hw.c +├── e1000e_hw.h +├── e1000e_phy.c +├── e1000e_phy.h +├── e1000e_sinit.c +├── e1000e.c +└── e1000e.h +``` + +## 3. 配置方法 + +以下部分将指导您完成 e1000e 驱动的软件配置: + +- 初始化E1000E控制器 + +## 4 应用示例 + +### [lwip_startup例程](../../../example/network/lwip_startup) + +## 5. API参考 + +### 5.1. 用户数据结构 + +- e1000e控制数据 + +```c +typedef struct +{ + FE1000EConfig config; + FE1000ERingDescData rx_ring; + FE1000ERingDescData tx_ring; + volatile struct e1000_tx tx[TX_DESCRIPTORS] __aligned(16); + volatile struct e1000_rx rx[RX_DESCRIPTORS] __aligned(16); + uint8_t txb[TX_DESCRIPTORS * RX_BUFFER_SIZE]; + uint8_t rxb[RX_DESCRIPTORS * RX_BUFFER_SIZE]; + uint8_t mac[ETH_ALEN]; + u32 is_ready; + FE1000EEvtHandler evt_handler[FE1000E_INTR_EVT_NUM]; +} FE1000ECtrl; +``` + +- e1000e配置数据,FE1000EConfig主要是e1000e控制器id、基地址、速度、双工和自协商,FE1000EPhyInterface主要包括各种物理接口模式 + +```c +typedef struct +{ + u32 instance_id; + uintptr base_addr; + FE1000EPhyInterface interface; + u32 speed; /* FE1000E_SPEED_XXX */ + u32 duplex; /* 1 is full-duplex , 0 is half-duplex */ + u32 auto_neg; /* Enable auto-negotiation - when set active high, autonegotiation operation is enabled. */ +} FE1000EConfig; +``` + +- e1000e物理接口配置 + +```c +typedef enum +{ + FE1000E_PHY_INTERFACE_MODE_SGMII, + FE1000E_PHY_INTERFACE_MODE_RMII, + FE1000E_PHY_INTERFACE_MODE_RGMII, + FE1000E_PHY_INTERFACE_MODE_XGMII, + FE1000E_PHY_INTERFACE_MODE_USXGMII, + FE1000E_PHY_INTERFACE_MODE_5GBASER , + FE1000E_PHY_INTERFACE_MODE_2500BASEX +} FE1000EPhyInterface; +``` + +- e1000e发送描述符 + +```c +struct FE1000ETxDesc +{ + uint64_t addr; + uint16_t len; + uint8_t cso; + uint8_t cmd; + uint8_t sta; + uint8_t css; + uint16_t special; +}; +``` + +- e1000e接收描述符 + +```c +struct FE1000ERxDesc +{ + uint64_t addr; + uint16_t len; + uint16_t csum; + uint8_t sta; + uint8_t err; + uint16_t special; +}; +``` + +- e1000e中断事件类型 + +```c +enum +{ + FE1000E_TX_COMPLETE_EVT = 0, + FE1000E_RX_COMPLETE_EVT, + FE1000E_LINK_STATUS_EVT, + FE1000E_PHY_STATUS_EVT, + FE1000E_DMA_ERR_EVT, + + FE1000E_INTR_EVT_NUM +}; +``` + +### 5.2 错误码定义 + +- FE1000E_SUCCESS 执行成功 +- FE1000E_ERR_TIMEOUT 执行超时错误 +- FE1000E_ERR_INVALID_DMA_MEM 非法DMA内容错误 +- FE1000E_ERR_NOT_READY 初始化失败 +- FE1000E_ERR_TRANS_FAILED 发送失败 +- FE1000E_ERR_PHY_NOT_SUPPORT 物理接口不支持 +- FE1000E_ERR_PHY_IS_NOT_FOUND 未发现物理接口 +- FE1000E_ERR_FAILED 执行失败 +- FE1000E_ERR_PHY_AUTO_FAILED 自协商失败 +- FE1000E_ERR_RECEV_FAILED 接收失败 + +### 5.3. 用户API接口 + +#### FE1000ELookupConfig + +- 获取e1000e控制器默认配置 + +```c +const FE1000EConfig *FE1000ELookupConfig(u32 instance_id); +``` + +Note: + +- 获取默认配置参数,包括基地址、中断号等 + +Input: + +- {u32} instance_id,控制器id号 + +Return: + +- {const FE1000EConfig *} e1000e默认配置,返回NULL如果找不到默认配置 + +#### FE1000ECfgInitialize + +- 初始化e1000e控制器, 使之可以使用 + +```c +FError FE1000ECfgInitialize(FE1000ECtrl *instance_p, const FE1000EConfig *input_config_p); +``` + +Note: + +- 输入配置通过FE1000ELookupConfig获取,用户按照需要修改后传入此函数 + +Input: + +- {FE1000ECtrl} *instance_p e1000e驱动控制数据 +- {FE1000EConfig} *input_config_p e1000e用户输入配置 + +Return: + +- {FError} 驱动初始化的错误码信息,FE1000E_SUCCESS 表示初始化成功,其它返回值表示初始化失败 + +#### FE1000ECfgDeInitialize + +- 完成e1000e驱动实例去使能,清零实例数据 + +```c +void FE1000ECfgDeInitialize(FE1000ECtrl *pctrl); +``` + +Note: + +- 在调用此函数之前,必须确保控制器已经停止工作 + +Input: + +- {FE1000ECtrl} *instance_p e1000e驱动控制数据 + +Return: + +- 无 + +#### FE1000ESetupTxDescRing + +- 配置e1000e的发送DMA描述符和缓冲区 + +```c +FError FE1000ESetupTxDescRing(FE1000ECtrl *instance_p); +``` + +Note: + +- 需要在控制器已正确初始化后调用此函数 + +Input: + +- {FE1000ECtrl} *instance_p e1000e驱动控制数据 + +Return: + +- {FError} TX DMA初始化的错误码信息,FE1000E_SUCCESS 表示TX DMA初始化成功,其它返回值表示TX DMA初始化失败 + +#### FE1000ESetupRxDescRing + +- 配置e1000e的接收DMA描述符和缓冲区 + +```c +FError FE1000ESetupRxDescRing(FE1000ECtrl *instance_p); +``` + +Note: + +- 需要在控制器已正确初始化后调用此函数 + +Input: + +- {FE1000ECtrl} *instance_p e1000e驱动控制数据 + +Return: + +- {FError} RX DMA初始化的错误码信息,FE1000E_SUCCESS 表示RX DMA初始化成功,其它返回值表示RX DMA初始化失败 + +#### FE1000EStart + +- 用于启动e1000e控制器设备实例 + +```c +void FE1000EStart(FE1000ECtrl *instance_p); +``` + +Note: + +- 在调用此函数之前,必须确保设备实例已经通过 FE1000ECfgInitialize 初始化 + +Input: + +- {FE1000ECtrl} *instance_p e1000e驱动控制数据 + +Return: + +- {FError} FE1000E_SUCCESS 表示启动成功,其它返回值表示启动失败 + +#### FE1000EStop + +- 用于停止e1000e控制器设备实例 + +```c +void FE1000EStop(FE1000ECtrl *instance_p); +``` + +Note: + +- 在调用此函数之前,必须确保设备实例已经通过 FE1000ECfgInitialize 初始化 + +Input: + +- {FE1000ECtrl} *instance_p e1000e驱动控制数据 + +Return: + +- {FError} FE1000E_SUCCESS 表示去启动成功,其它返回值表示去启动失败 + +#### FE1000ERecvFrame + +- 用于接收通过e1000e控制器的数据帧 + +```c +FError FE1000ERecvFrame(FE1000ECtrl *instance_p) +``` + +Note: + +- 在调用此函数之前,必须确保 E1000E 驱动已成功初始化 + +Input: + +- {FE1000ECtrl} *instance_p e1000e驱动控制数据 + +Return: + +- {FError} FE1000E_SUCCESS 表示接收数据帧成功,其它返回值表示接收数据帧失败 + +#### FE1000ESendFrame + +- 用于通过 E1000E 控制器发送数据帧 + +```c +FError FE1000ESendFrame(FE1000ECtrl *instance_p, u32 frame_len); +``` + +Note: + +- 在调用此函数之前,必须确保 E1000E 驱动已成功初始化 + +Input: + +- {FE1000ECtrl} *instance_p e1000e驱动控制数据 + +Return: + +- {FError} FE1000E_SUCCESS 表示发送数据帧成功,其它返回值表示发送数据帧失败 + +#### FE1000ESoftwareReset + +- 用于触发 E1000E 控制器的软复位 + +```c +FError FE1000ESoftwareReset(uintptr addr); +``` + +Note: + +该函数会触发软复位并进行一些初始化设置,确保控制器处于正常工作状态 + +Input: + +- {uintptr} addr E1000E控制器的基地址,指向设备的内存映射寄存器 + +Return: + +- {FError} FE1000E_SUCCESS 表示发送数据帧成功,其它返回值表示发送数据帧失败 + +#### FE1000EGetMacAddr + +- 用于获取 E1000E 控制器的 MAC 地址 + +```c +void FE1000EGetMacAddr(FE1000ECtrl *instance_p); +``` + +Note: + +在读取 MAC 地址之前,确保 FE1000E 控制器已经成功初始化 + +Input: + +- {FE1000ECtrl} *instance_p e1000e驱动控制数据 + +Return: + +- 无 + +#### FE1000ESetMacAddr + +- 用于将给定的 MAC 地址设置到 E1000E 控制器 + +```c +void FE1000ESetMacAddr(FE1000ECtrl *instance_p); +``` + +Note: + +确保在调用该函数之前,MAC 地址的正确性 + +Input: + +- {FE1000ECtrl} *instance_p e1000e驱动控制数据 + +Return: + +- 无 + +#### FE1000EReset + +- 用于重置 E1000E 控制器 + +```c +FError FE1000EReset(FE1000ECtrl *instance_p); +``` + +Note: + +调用该函数时需要确保 instance_p 是有效的,并且控制器的配置已经正确初始化 + +Input: + +- {FE1000ECtrl} *instance_p e1000e驱动控制数据 + +Return: + +- {FError} FE1000E_SUCCESS 表示发送数据帧成功,其它返回值表示发送数据帧失败 + +#### FE1000EPhyWrite + +- 用于向以太网控制器的 PHY 寄存器写入数据 + +```c +FError FE1000EPhyWrite(uintptr base_addr, unsigned int reg, uint16_t val); +``` + +Note: + +该函数不是线程安全的。如果多个线程可能同时访问此函数,用户需要确保使用互斥机制来避免并发问题 + +Input: + +- {uintptr} base_addr e1000e控制器寄存器空间的基地址 +- {unsigned int} reg 要写入的 PHY 寄存器号 +- {uint16_t} val 要写入的值 + +Return: + +- {FError} FE1000E_SUCCESS 表示发送数据帧成功,其它返回值表示发送数据帧失败 + +#### FE1000EPhyRead + +- 用于从指定的 PHY 寄存器读取数据 + +```c +uint16_t FE1000EPhyRead(uintptr base_addr, unsigned int reg); +``` + +Note: + +该函数不是线程安全的。如果多个线程可能同时访问此函数,用户需要确保使用互斥机制来避免并发问题 + +Input: + +- {uintptr} base_addr e1000e控制器寄存器空间的基地址 +- {unsigned int} reg 要读取的 PHY 寄存器号 + +Return: + +- {uint16_t} 返回指定 PHY 寄存器的 16 位值 diff --git a/doc/reference/driver/fi2s.md b/doc/reference/driver/fi2s.md index 5731d9bc0e9c36a10fa212e69c70a2f5fdcdc300..5313166d950e527bfdd4767fb3975745dad87f80 100644 --- a/doc/reference/driver/fi2s.md +++ b/doc/reference/driver/fi2s.md @@ -113,13 +113,14 @@ Return: ```c -void FI2sClkOutDiv(FI2s *instance_p) +void FI2sClkOutDiv(FI2s *instance, u32 samplerate) ``` - 使能I2S时钟输出 Input: - FI2s* instance_p, 当前控制器的实例 + - u32 samplerate, 配置采样率 Return: - @return null diff --git a/drivers/eth/Kconfig b/drivers/eth/Kconfig index 5a413910baaa98b1bbf8c6faf020417f2612705d..0f7355f23993313a06a8f0c54bc1c145e2c35c62 100644 --- a/drivers/eth/Kconfig +++ b/drivers/eth/Kconfig @@ -10,6 +10,11 @@ menu "Eth Configuration" prompt "Use FGMAC" default n + config ENABLE_E1000E + bool + prompt "Use E1000E" + default n + if ENABLE_FGMAC source "$(STANDALONE_DIR)/drivers/eth/fgmac/Kconfig" endif diff --git a/drivers/eth/e1000e/e1000e.c b/drivers/eth/e1000e/e1000e.c new file mode 100644 index 0000000000000000000000000000000000000000..c937a8a75e7176872b299aafe8eae95a8892f49b --- /dev/null +++ b/drivers/eth/e1000e/e1000e.c @@ -0,0 +1,231 @@ +/* + * Copyright : (C) 2024 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: e1000e.c + * Date: 2024-12-23 14:46:52 + * LastEditTime: 2024-12-23 14:46:58 + * Description:  This file is for e1000e driver .Functions in this file are the minimum required functions + * for this driver. + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 huangjin 2024/12/23 first release + */ + +#include "e1000e.h" +#include "e1000e_hw.h" +#include "ftypes.h" +#include "stdio.h" +#include "fdrivers_port.h" + +#define E1000E_DEBUG_TAG "E1000E" +#define E1000E_PRINT_E(format, ...) FT_DEBUG_PRINT_E(E1000E_DEBUG_TAG, format, ##__VA_ARGS__) +#define E1000E_PRINT_I(format, ...) FT_DEBUG_PRINT_I(E1000E_DEBUG_TAG, format, ##__VA_ARGS__) +#define E1000E_PRINT_D(format, ...) FT_DEBUG_PRINT_D(E1000E_DEBUG_TAG, format, ##__VA_ARGS__) +#define E1000E_PRINT_W(format, ...) FT_DEBUG_PRINT_W(E1000E_DEBUG_TAG, format, ##__VA_ARGS__) + +/** + * @name: FE1000ECfgInitialize + * @msg: Initialize e1000e ctrl + * @param {FE1000ECtrl} *instance_p, pointer to the FE1000ECtrl instance. + * @param {FE1000EConfig} *input_config_p, Default configuration parameters of FE1000e + * @return {FError} return FE1000E_SUCCESS if successful, return others if failed + */ +FError FE1000ECfgInitialize(FE1000ECtrl *instance_p, FE1000EConfig *input_config_p) +{ + FError ret = FE1000E_SUCCESS; + FASSERT(instance_p != NULL); + FASSERT(input_config_p != NULL); + + /*Set default values and configuration data */ + FE1000ECfgDeInitialize(instance_p); + + instance_p->config = *input_config_p; + + /* initialize the e1000e controller */ + ret = FE1000EReset(instance_p); + if (FE1000E_SUCCESS != ret) + { + /*permit failed*/ + E1000E_PRINT_E("E1000E reset failed."); + return FE1000E_ERR_FAILED; + } + + instance_p->is_ready = FT_COMPONENT_IS_READY; + + return FE1000E_SUCCESS; +} + +/** + * @name: FE1000ECfgDeInitialize + * @msg: DeInitialization function for the device instance + * @param {FE1000ECtrl} *instance_p, pointer to the FE1000ECtrl instance. + * @return {*} + */ +void FE1000ECfgDeInitialize(FE1000ECtrl *pctrl) +{ + FASSERT(pctrl); + + pctrl->is_ready = 0; + memset(pctrl, 0, sizeof(*pctrl)); + + return; +} + +/** + * @name: FE1000EStop + * @msg: Deinitializes the specified FE1000E device instance by disabling its + * interrupts, receiver, and transmitter, and marking the instance as stopped. + * @param {FE1000ECtrl} *instance_p, pointer to the FE1000ECtrl instance. + * @return {*} + */ +void FE1000EStop(FE1000ECtrl *instance_p) +{ + u32 reg_val; + + FASSERT(instance_p != NULL); + FASSERT(instance_p->is_ready == (u32)FT_COMPONENT_IS_READY); + + /* Disable all interrupts */ + FE1000E_WRITEREG32(instance_p->config.base_addr, E1000_IMS, ~IMS_ALL_MASK); + + /* Disable the receiver */ + reg_val = FE1000E_READREG32(instance_p->config.base_addr, E1000_RCTL); + reg_val &= (u32)(~RCTL_EN); + FE1000E_WRITEREG32(instance_p->config.base_addr, E1000_RCTL, reg_val); + + /* Disable the transmitter */ + reg_val = FE1000E_READREG32(instance_p->config.base_addr, E1000_TCTL); + reg_val &= (u32)(~TCTL_EN); + FE1000E_WRITEREG32(instance_p->config.base_addr, E1000_TCTL, reg_val); + + /* Mark as stopped */ + instance_p->is_ready = 0U; + + return; +} + +/** + * @name: FE1000EStart + * @msg: Initializes and starts the specified FE1000E device instance by enabling + * the transmitter and receiver and clearing any existing interrupt statuses. + * @param {FE1000ECtrl} *instance_p, pointer to the FE1000ECtrl instance. + * @return: None + */ +void FE1000EStart(FE1000ECtrl *instance_p) +{ + u32 reg_val; + + /* Assert bad arguments and conditions */ + FASSERT(instance_p != NULL); + FASSERT(instance_p->is_ready == (u32)FT_COMPONENT_IS_READY); + + /* clear any existed int status */ + FE1000E_WRITEREG32(instance_p->config.base_addr, E1000_IMS, ~IMS_ALL_MASK); + + /* Enable transmitter if not already enabled */ + reg_val = FE1000E_READREG32(instance_p->config.base_addr, E1000_TCTL); + reg_val |= (u32)(TCTL_EN); + FE1000E_WRITEREG32(instance_p->config.base_addr, E1000_TCTL, reg_val); + + /* Enable receiver if not already enabled */ + reg_val = FE1000E_READREG32(instance_p->config.base_addr, E1000_RCTL); + reg_val |= (u32)(RCTL_EN); + FE1000E_WRITEREG32(instance_p->config.base_addr, E1000_RCTL, reg_val); + + return; +} + +/** + * @name: FE1000EGetMacAddr + * @msg: 获取FE1000E控制器配置的MAC地址 + * @return {*} + * @param {FE1000ECtrl*} instance_p 控制器 + */ +void FE1000EGetMacAddr(FE1000ECtrl *instance_p) +{ + uintptr base_addr = instance_p->config.base_addr; + uint32_t ral, rah; + uint32_t eerd; + unsigned int n; + + /* 读取mac 地址 */ + if (FE1000E_READREG32(base_addr, E1000_RAH) & RAH_AV) + { + E1000E_PRINT_D("Address Valid!"); + ral = FE1000E_READREG32(base_addr, E1000_RAL); + rah = FE1000E_READREG32(base_addr, E1000_RAH); + memcpy(instance_p->mac, &ral, 4); + memcpy(instance_p->mac + 4, &rah, 2); + } + else + { + E1000E_PRINT_D("Address Not Valid!"); + for (n = 0; n < 3; n++) + { + FE1000E_WRITEREG32(base_addr, E1000_EERD, EERD_START | (n << EERD_ADDR_SHIFT)); + do + { + eerd = FE1000E_READREG32(base_addr, E1000_EERD); + BARRIER(); + } while (!(eerd & EERD_DONE)); + instance_p->mac[n * 2] = (uint8_t)(eerd >> EERD_DATA_SHIFT); + instance_p->mac[n * 2 + 1] = (uint8_t)(eerd >> (EERD_DATA_SHIFT + 8)); + } + } + + return; +} + +/** + * @name: FE1000ESetMacAddr + * @msg: 设置FE1000E控制器的MAC地址 + * @return {*} + * @param {FE1000ECtrl*} instance_p 控制器寄存器基地址 + */ +void FE1000ESetMacAddr(FE1000ECtrl *instance_p) +{ + uintptr base_addr = instance_p->config.base_addr; + + /* 写入mac 地址 */ + FE1000E_WRITEREG32(base_addr, E1000_RAL, *(uint32_t *)instance_p->mac); + FE1000E_WRITEREG32(base_addr, E1000_RAH, *(uint16_t *)&instance_p->mac[4] | RAH_AV); + + return; +} + +/** + * @name: FE1000EReset + * @msg: reset FE1000E controller + * @param {FE1000ECtrl} *instance_p, instance of FE1000E controller + * @return err code information, FE1000E_SUCCESS indicates success,others indicates failed + */ +FError FE1000EReset(FE1000ECtrl *instance_p) +{ + FASSERT(instance_p); + FError ret = FE1000E_SUCCESS; + + /* do software reset per init */ + ret = FE1000ESoftwareReset(instance_p->config.base_addr); + + /* backup mac address before software reset */ + FE1000EGetMacAddr(instance_p); + + E1000E_PRINT_I("MAC: %02x:%02x:%02x:%02x:%02x:%02x\n", instance_p->mac[0], instance_p->mac[1], instance_p->mac[2], instance_p->mac[3], instance_p->mac[4], instance_p->mac[5]); + + /* recover mac address after softwate reset */ + FE1000ESetMacAddr(instance_p); + + return ret; +} diff --git a/drivers/eth/e1000e/e1000e.h b/drivers/eth/e1000e/e1000e.h new file mode 100644 index 0000000000000000000000000000000000000000..7a8cd7013541416ac8386f95b889de2202048759 --- /dev/null +++ b/drivers/eth/e1000e/e1000e.h @@ -0,0 +1,194 @@ +/* + * Copyright : (C) 2024 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: e1000e.h + * Date: 2025-01-03 14:46:52 + * LastEditTime: 2025-01-03 14:46:58 + * Description:  This file is for e1000e driver .Functions in this file are the minimum required functions + * for this driver. + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 huangjin 2025/01/03 first release + */ + +#ifndef E1000E_H +#define E1000E_H + +#include "ftypes.h" +#include "fassert.h" +#include "ferror_code.h" +#include "fparameters.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define FE1000E_SUCCESS FT_SUCCESS +#define FE1000E_ERR_TIMEOUT FT_MAKE_ERRCODE(ErrModBsp, ErrBspEth, 1) +#define FE1000E_ERR_INVALID_DMA_MEM FT_MAKE_ERRCODE(ErrModBsp, ErrBspEth, 2) +#define FE1000E_ERR_NOT_READY FT_MAKE_ERRCODE(ErrModBsp, ErrBspEth, 3) +#define FE1000E_ERR_TRANS_FAILED FT_MAKE_ERRCODE(ErrModBsp, ErrBspEth, 4) +#define FE1000E_ERR_PHY_NOT_SUPPORT FT_MAKE_ERRCODE(ErrModBsp, ErrBspEth, 5) +#define FE1000E_ERR_PHY_IS_NOT_FOUND FT_MAKE_ERRCODE(ErrModBsp, ErrBspEth, 6) +#define FE1000E_ERR_FAILED FT_MAKE_ERRCODE(ErrModBsp, ErrBspEth, 7) +#define FE1000E_ERR_PHY_AUTO_FAILED FT_MAKE_ERRCODE(ErrModBsp, ErrBspEth, 8) +#define FE1000E_ERR_RECEV_FAILED FT_MAKE_ERRCODE(ErrModBsp, ErrBspEth, 9) + +/* E1000E */ +#define FE1000E_NUM 1U +#define FE1000E0_ID 0U + +#define ETH_ALEN 6 +#define RX_DESCRIPTORS 8 +#define RX_BUFFER_SIZE 2048 +#define TX_DESCRIPTORS 8 + +#define FE1000E_SPEED_10 10U +#define FE1000E_SPEED_100 100U +#define FE1000E_SPEED_1000 1000U +#define FE1000E_SPEED_2500 2500U +#define FE1000E_SPEED_5000 5000U +#define FE1000E_SPEED_10000 10000U +#define FE1000E_SPEED_25000 25000U + +#define FE1000E_MTU 1500U /* max MTU size of Ethernet frame */ +#define FE1000E_MTU_JUMBO 10240U /* max MTU size of jumbo frame including Ip header + IP payload */ +#define FE1000E_HDR_SIZE 14U /* size of Ethernet header , DA + SA + TYPE*/ +#define FE1000E_HDR_VLAN_SIZE 18U /* size of Ethernet header with VLAN */ +#define FE1000E_TRL_SIZE 4U /* size of Ethernet trailer (FCS) */ + +#define FE1000E_MAX_FRAME_SIZE (FE1000E_MTU + FE1000E_HDR_SIZE + FE1000E_TRL_SIZE) +#define FE1000E_MAX_FRAME_SIZE_JUMBO (FE1000E_MTU_JUMBO + FE1000E_HDR_SIZE + FE1000E_TRL_SIZE) + +typedef void (*FE1000EEvtHandler)(void *pCtrl); + +/* Legacy TX Descriptor */ +struct FE1000ETxDesc +{ + uint64_t addr; + uint16_t len; + uint8_t cso; + uint8_t cmd; + uint8_t sta; + uint8_t css; + uint16_t special; +}; + +/* Legacy RX Descriptor */ +struct FE1000ERxDesc +{ + uint64_t addr; + uint16_t len; + uint16_t csum; + uint8_t sta; + uint8_t err; + uint16_t special; +}; + +typedef enum +{ + FE1000E_PHY_INTERFACE_MODE_SGMII, + FE1000E_PHY_INTERFACE_MODE_RMII, + FE1000E_PHY_INTERFACE_MODE_RGMII, + FE1000E_PHY_INTERFACE_MODE_XGMII, + FE1000E_PHY_INTERFACE_MODE_USXGMII, + FE1000E_PHY_INTERFACE_MODE_5GBASER , + FE1000E_PHY_INTERFACE_MODE_2500BASEX +} FE1000EPhyInterface; + +typedef struct +{ + u32 instance_id; + uintptr base_addr; + FE1000EPhyInterface interface; + u32 speed; /* FE1000E_SPEED_XXX */ + u32 duplex; /* 1 is full-duplex , 0 is half-duplex */ + u32 auto_neg; /* Enable auto-negotiation - when set active high, autonegotiation operation is enabled. */ +} FE1000EConfig; + +typedef struct +{ + u32 desc_idx; /* For Current Desc position */ + u32 desc_buf_idx; /* For Current Desc buffer buf position */ + u32 desc_first_buf_idx; /* For Identifing the first buffer the frame is in */ + u32 desc_max_num; /* Max Number for Desc and Desc buffer */ + u8 *desc_buf_base; /* Desc buffer Base */ +} FE1000ERingDescData; /* FE1000E DMA描述符表(链式)相关数据 */ + +enum +{ + FE1000E_TX_COMPLETE_EVT = 0, + FE1000E_RX_COMPLETE_EVT, + FE1000E_LINK_STATUS_EVT, + FE1000E_PHY_STATUS_EVT, + FE1000E_DMA_ERR_EVT, + + FE1000E_INTR_EVT_NUM +}; /* interrupt event type */ + +typedef struct +{ + FE1000EConfig config; + FE1000ERingDescData rx_ring; + FE1000ERingDescData tx_ring; + volatile struct FE1000ETxDesc tx[TX_DESCRIPTORS] __aligned(16); + volatile struct FE1000ERxDesc rx[RX_DESCRIPTORS] __aligned(16); + uint8_t txb[TX_DESCRIPTORS * RX_BUFFER_SIZE]; + uint8_t rxb[RX_DESCRIPTORS * RX_BUFFER_SIZE]; + uint8_t mac[ETH_ALEN]; + u32 is_ready; + FE1000EEvtHandler evt_handler[FE1000E_INTR_EVT_NUM]; /* User registered interrupt handler */ +} FE1000ECtrl; + +typedef enum +{ + FE1000E_LINKDOWN = 0, + FE1000E_LINKUP = 1, + FE1000E_NEGOTIATION = 2, +} FE1000ELinkStatus; + +FE1000EConfig *FE1000ELookupConfig(u32 instance_id); +FError FE1000ECfgInitialize(FE1000ECtrl *instance_p, FE1000EConfig *cofig_p); +void FE1000ECfgDeInitialize(FE1000ECtrl *pctrl); + +void FE1000EStop(FE1000ECtrl *instance_p); +void FE1000EStart(FE1000ECtrl *instance_p); + +/* 配置FE1000E的发送DMA描述符和缓冲区 */ +FError FE1000ESetupTxDescRing(FE1000ECtrl *instance_p); + +/* 配置FE1000E的接收DMA描述符和缓冲区 */ +FError FE1000ESetupRxDescRing(FE1000ECtrl *instance_p); + +/* 获取FE1000E控制器配置的MAC地址 */ +void FE1000EGetMacAddr(FE1000ECtrl *instance_p); + +/* 设置FE1000E控制器的MAC地址 */ +void FE1000ESetMacAddr(FE1000ECtrl *instance_p); + +FError FE1000EReset(FE1000ECtrl *instance_p); + +void FE1000EDebugPrint(FE1000ECtrl *instance_p); + +FError FE1000ERecvFrame(FE1000ECtrl *instance_p); + +FError FE1000ESendFrame(FE1000ECtrl *instance_p, u32 frame_len); + +#ifdef __cplusplus +} +#endif + +#endif // ! diff --git a/drivers/eth/e1000e/e1000e_debug.c b/drivers/eth/e1000e/e1000e_debug.c new file mode 100644 index 0000000000000000000000000000000000000000..12014a6677c990aaa2dfa5c9e8994fc0a41d5b57 --- /dev/null +++ b/drivers/eth/e1000e/e1000e_debug.c @@ -0,0 +1,70 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: e1000e_debug.c + * Date: 2025-01-03 15:33:03 + * LastEditTime: 2025-01-03 15:33:04 + * Description: This file is for user to debug e1000e information. + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 huangjin 2025/01/03 first release + */ + +#include "e1000e_hw.h" +#include "e1000e.h" +#include "fio.h" +#include "fdrivers_port.h" + +#define FE1000E_DEBUG_TAG "FE1000E_DEBUG" +#define FE1000E_ERROR(format, ...) FT_DEBUG_PRINT_E(FE1000E_DEBUG_TAG, format, ##__VA_ARGS__) +#define FE1000E_INFO(format, ...) FT_DEBUG_PRINT_I(FE1000E_DEBUG_TAG, format, ##__VA_ARGS__) +#define FE1000E_DEBUG(format, ...) FT_DEBUG_PRINT_D(FE1000E_DEBUG_TAG, format, ##__VA_ARGS__) +#define FE1000E_WARN(format, ...) FT_DEBUG_PRINT_W(FE1000E_DEBUG_TAG, format, ##__VA_ARGS__) + +/** + * @name: FE1000EDebugPrint + * @msg: Prints debug information for the FE1000E device instance by reading + * and logging various hardware registers. + * @param {FE1000ECtrl *}instance_p 驱动控制数据 + * @return: None + */ +void FE1000EDebugPrint(FE1000ECtrl *instance_p) +{ + FE1000EConfig *config_p; + config_p = &instance_p->config; + FUNUSED(config_p); + FE1000E_INFO("E1000_CTRL 0x%08x", FtIn32(config_p->base_addr + E1000_CTRL)); + FE1000E_INFO("E1000_MDIC 0x%08x", FtIn32(config_p->base_addr + E1000_MDIC)); + FE1000E_INFO("E1000_STATUS 0x%08x", FtIn32(config_p->base_addr + E1000_STATUS)); + FE1000E_INFO("E1000_RAL 0x%08x", FtIn32(config_p->base_addr + E1000_RAL)); + FE1000E_INFO("E1000_RAH 0x%08x", FtIn32(config_p->base_addr + E1000_RAH)); + FE1000E_INFO("E1000_RDBAL 0x%08x", FtIn32(config_p->base_addr + E1000_RDBAL)); + FE1000E_INFO("E1000_RDBAH 0x%08x", FtIn32(config_p->base_addr + E1000_RDBAH)); + FE1000E_INFO("E1000_RDLEN 0x%08x", FtIn32(config_p->base_addr + E1000_RDLEN)); + FE1000E_INFO("E1000_RDH 0x%08x", FtIn32(config_p->base_addr + E1000_RDH)); + FE1000E_INFO("E1000_RDT 0x%08x", FtIn32(config_p->base_addr + E1000_RDT)); + FE1000E_INFO("E1000_RXDCTL 0x%08x", FtIn32(config_p->base_addr + E1000_RXDCTL)); + FE1000E_INFO("E1000_RCTL 0x%08x", FtIn32(config_p->base_addr + E1000_RCTL)); + FE1000E_INFO("E1000_TDBAL 0x%08x", FtIn32(config_p->base_addr + E1000_TDBAL)); + FE1000E_INFO("E1000_TDBAH 0x%08x", FtIn32(config_p->base_addr + E1000_TDBAH)); + FE1000E_INFO("E1000_TDLEN 0x%08x", FtIn32(config_p->base_addr + E1000_TDLEN)); + FE1000E_INFO("E1000_TDH 0x%08x", FtIn32(config_p->base_addr + E1000_TDH)); + FE1000E_INFO("E1000_TDT 0x%08x", FtIn32(config_p->base_addr + E1000_TDT)); + FE1000E_INFO("E1000_TXDCTL 0x%08x", FtIn32(config_p->base_addr + E1000_TXDCTL)); + FE1000E_INFO("E1000_TCTL 0x%08x", FtIn32(config_p->base_addr + E1000_TCTL)); + FE1000E_INFO("E1000_TIPG 0x%08x", FtIn32(config_p->base_addr + E1000_TIPG)); + + return; +} diff --git a/drivers/eth/e1000e/e1000e_dma.c b/drivers/eth/e1000e/e1000e_dma.c new file mode 100644 index 0000000000000000000000000000000000000000..332a9e535eab8fa1181626c0fc72f0de31d509e3 --- /dev/null +++ b/drivers/eth/e1000e/e1000e_dma.c @@ -0,0 +1,215 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: e1000e_dma.c + * Date: 2025-01-03 14:46:52 + * LastEditTime: 2025-01-03 14:46:58 + * Description:  This file implements dma descriptor ring related functions. + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 huangjin 2025/01/03 first release + */ + +/***************************** Include Files *********************************/ + +#include +#include "fassert.h" +#include "e1000e.h" +#include "e1000e_hw.h" +#include "fdrivers_port.h" +#include "fdebug.h" + +/************************** Constant Definitions *****************************/ + +/**************************** Type Definitions *******************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ +#define E1000E_DEBUG_TAG "E1000E-DMA" +#define E1000E_ERROR(format, ...) FT_DEBUG_PRINT_E(E1000E_DEBUG_TAG, format, ##__VA_ARGS__) +#define E1000E_WARN(format, ...) FT_DEBUG_PRINT_W(E1000E_DEBUG_TAG, format, ##__VA_ARGS__) +#define E1000E_INFO(format, ...) FT_DEBUG_PRINT_I(E1000E_DEBUG_TAG, format, ##__VA_ARGS__) +#define E1000E_DEBUG(format, ...) FT_DEBUG_PRINT_D(E1000E_DEBUG_TAG, format, ##__VA_ARGS__) + +#define INT_TO_POINTER(x) ((void *)(intptr_t)(x)) +#define POINTER_TO_INT(x) ((uintptr) (x)) + +/************************** Variable Definitions *****************************/ + +/************************** Function Prototypes ******************************/ + +/** + * @name: FE1000ESetupRxDescRing + * @msg: 配置E1000E的接收DMA描述符和缓冲区 + * @param {FE1000ECtrl *}instance_p 驱动控制数据 + * @return {FError} RX DMA初始化的错误码信息,E1000E_SUCCESS 表示RX DMA初始化成功,其它返回值表示RX DMA初始化失败 + */ +FError FE1000ESetupRxDescRing(FE1000ECtrl *instance_p) +{ + uintptr bar0_addr = instance_p->config.base_addr; + uint32_t val; + unsigned int n; + + FASSERT(instance_p); + + /* 初始化描述符 */ + /* 将buffer 填入每个描述符 */ + for (n = 0; n < RX_DESCRIPTORS; n++) + { + instance_p->rx[n].addr = (unsigned long)&instance_p->rxb[n * RX_BUFFER_SIZE]; + } + + /* RDBAL 写入描述符地址低位 */ + FE1000E_WRITEREG32(bar0_addr, E1000_RDBAL, (unsigned long)&instance_p->rx); + /* RDBAH 将0写入描述符地址高位 */ + FE1000E_WRITEREG32(bar0_addr, E1000_RDBAH, 0); + /* 写入 RDLEN */ + FE1000E_WRITEREG32(bar0_addr, E1000_RDLEN, sizeof(instance_p->rx)); + /* 初始化 head tail */ + FE1000E_WRITEREG32(bar0_addr, E1000_RDH, 0); + FE1000E_WRITEREG32(bar0_addr, E1000_RDT, 0); + /* 使能 RXDCTL 第25 位 */ + FE1000E_WRITEREG32(bar0_addr, E1000_RXDCTL, FE1000E_READREG32(bar0_addr, E1000_RXDCTL) | RXDCTL_ENABLE); + /* 初始化 RCTL */ + val = FE1000E_READREG32(bar0_addr, E1000_RCTL); + val |= RCTL_EN | RCTL_BAM | RCTL_BSIZE_2048 | RCTL_SECRC; + FE1000E_WRITEREG32(bar0_addr, E1000_RCTL, val); + /* 设置接收尾帧 */ + FE1000E_WRITEREG32(bar0_addr, E1000_RDT, RX_DESCRIPTORS - 1); + return FE1000E_SUCCESS; +} + +/** + * @name: FE1000ESetupTxDescRing + * @msg: 配置E1000E的发送DMA描述符和缓冲区 + * @param {FE1000ECtrl *}instance_p 驱动控制数据 + * @return {FError} TX DMA初始化的错误码信息,E1000E_SUCCESS 表示TX DMA初始化成功,其它返回值表示TX DMA初始化失败 + */ +FError FE1000ESetupTxDescRing(FE1000ECtrl *instance_p) +{ + uintptr bar0_addr = instance_p->config.base_addr; + uint32_t val; + + FASSERT(instance_p); + FE1000E_WRITEREG32(bar0_addr, E1000_TDBAL, (unsigned long)&instance_p->tx); + FE1000E_WRITEREG32(bar0_addr, E1000_TDBAH, 0); + FE1000E_WRITEREG32(bar0_addr, E1000_TDLEN, sizeof(instance_p->tx)); + FE1000E_WRITEREG32(bar0_addr, E1000_TDH, 0); + FE1000E_WRITEREG32(bar0_addr, E1000_TDT, 0); + FE1000E_WRITEREG32(bar0_addr, E1000_TXDCTL, FE1000E_READREG32(bar0_addr, E1000_TXDCTL) | TXDCTL_ENABLE); + val = FE1000E_READREG32(bar0_addr, E1000_TCTL); + val |= TCTL_EN | TCTL_PSP | TCTL_CT_DEF | TCTL_COLD_DEF; + FE1000E_WRITEREG32(bar0_addr, E1000_TCTL, val); + FE1000E_WRITEREG32(bar0_addr, E1000_TIPG, TIPG_IPGT_DEF | TIPG_IPGR1_DEF | TIPG_IPGR2_DEF); + + return FE1000E_SUCCESS; +} + +/** + * @name: PacketReceptionDone + * @msg: Marks the completion of a packet reception and updates the RX descriptor index + * for the specified FE1000E device instance. + * @param {FE1000ECtrl *}instance_p 驱动控制数据 + * @return: None + */ +static void PacketReceptionDone(FE1000ECtrl *instance_p) +{ + unsigned int idx = instance_p->rx_ring.desc_idx; + + instance_p->rx[idx].sta &= ~(0x01); + instance_p->rx_ring.desc_idx = (instance_p->rx_ring.desc_idx + 1) % RX_DESCRIPTORS; + FE1000E_WRITEREG32(instance_p->config.base_addr, E1000_RDT, idx); +} + +/** + * @name: FE1000ERecvFrame + * @msg: 通过E1000E接收数据帧 + * @return {FError} E1000E_SUCCESS 表示接收数据帧成功,其它返回值表示接收数据帧失败 + * @param {FE1000ECtrl} *instance_p 驱动控制数据 + * @note 调用函数前需要确保E1000E驱动初始化成功 + */ +FError FE1000ERecvFrame(FE1000ECtrl *instance_p) +{ + // void *buf; + uint16_t len; + u32 rx_idx = instance_p->rx_ring.desc_idx; + + FASSERT(instance_p); + + if (!(instance_p->rx[rx_idx].sta & RDESC_STA_DD)) + { + return FE1000E_ERR_RECEV_FAILED; + } + + // buf = INT_TO_POINTER((uint32_t)instance_p->rx[rx_idx].addr); + len = instance_p->rx[rx_idx].len; + + E1000E_DEBUG("rx[%d].sta: 0x%02hx", rx_idx, instance_p->rx[rx_idx].sta); + E1000E_DEBUG("rx[%d].len: %d", rx_idx, instance_p->rx[rx_idx].len); + + E1000E_INFO("Recv buf is:"); + // FtDumpHexByte(((u8 *)(buf)), (u32)len); + + if (len <= 0) + { + E1000E_DEBUG("Invalid RX descriptor length: %hu", instance_p->rx[rx_idx].len); + return FE1000E_ERR_RECEV_FAILED; + } + + PacketReceptionDone(instance_p); + + return FE1000E_SUCCESS; +} + +/** + * @name: FE1000ESendFrame + * @msg: 通过FE1000E发送数据帧 + * @return {FError} FE1000E_SUCCESS 表示发送数据帧成功,其它返回值表示发送数据帧失败 + * @param {FE1000ECtrl *} instance_p 驱动控制数据 + * @param {u32} frame_len 数据帧长度 + * @note 调用函数前需要确保FE1000E驱动初始化成功 + */ +FError FE1000ESendFrame(FE1000ECtrl *instance_p, u32 frame_len) +{ + FASSERT(instance_p); + unsigned int idx = instance_p->tx_ring.desc_idx; + + if (0U == frame_len) + { + return FE1000E_SUCCESS; + } + + E1000E_INFO("Send buf is:"); + // FtDumpHexByte((&instance_p->txb[instance_p->tx_ring.desc_idx]), (u32)frame_len); + + E1000E_DEBUG("frame_len: %d", frame_len); + instance_p->tx[idx].addr = POINTER_TO_INT(&instance_p->txb[instance_p->tx_ring.desc_idx]); + instance_p->tx[idx].len = frame_len; + instance_p->tx[idx].cmd = TDESC_EOP | TDESC_RS | TDESC_IFCS; + E1000E_DEBUG("tx[%d].sta: 0x%02hx", idx, instance_p->tx[idx].sta); + E1000E_DEBUG("tx[%d].cmd: 0x%02hx", idx, instance_p->tx[idx].cmd); + instance_p->tx_ring.desc_idx = (instance_p->tx_ring.desc_idx + 1) % TX_DESCRIPTORS; + FE1000E_WRITEREG32(instance_p->config.base_addr, E1000_TDT, instance_p->tx_ring.desc_idx); + DMB(); + /* 等待发送完成 */ + while (!(instance_p->tx[idx].sta)) + { + + } + + E1000E_DEBUG("tx[%d].sta: 0x%02hx", idx, instance_p->tx[idx].sta); + E1000E_DEBUG("tx[%d].cmd: 0x%02hx", idx, instance_p->tx[idx].cmd); + + return (instance_p->tx[idx].sta & TDESC_STA_DD) ? FE1000E_SUCCESS : FE1000E_ERR_TRANS_FAILED; +} diff --git a/drivers/eth/e1000e/e1000e_g.c b/drivers/eth/e1000e/e1000e_g.c new file mode 100644 index 0000000000000000000000000000000000000000..68825771f9633d77dae5911017fcf9d722947714 --- /dev/null +++ b/drivers/eth/e1000e/e1000e_g.c @@ -0,0 +1,60 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: e1000e_g.c + * Date: 2025-01-02 14:53:42 + * LastEditTime: 2025-01-02 08:25:09 + * Description:  This file is for e1000e driver static config + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 huangjin 2025/01/02 first release + */ + + +/* - This file contains a configuration table that specifies the configuration +- 驱动全局变量定义,包括静态配置参数 */ + +/***************************** Include Files *********************************/ + +#include "ftypes.h" +#include "fparameters.h" +#include "e1000e.h" + +/************************** Constant Definitions *****************************/ + +/**************************** Type Definitions *******************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ + +/************************** Function Prototypes ******************************/ + +/************************** Variable Definitions *****************************/ +/* + * The configuration table for e1000e device + */ +FE1000EConfig FE1000E_CONFIG_TBL[FE1000E_NUM] = +{ + { + .instance_id = 0, /* Id of device*/ + .base_addr = 0, + .interface = FE1000E_PHY_INTERFACE_MODE_SGMII, + .speed = 1000, + .duplex = 1, + .auto_neg = 1, + }, +}; + + +/*****************************************************************************/ diff --git a/drivers/eth/e1000e/e1000e_hw.c b/drivers/eth/e1000e/e1000e_hw.c new file mode 100644 index 0000000000000000000000000000000000000000..4814d38c34594c7020ebbe55715bc97c0e05f027 --- /dev/null +++ b/drivers/eth/e1000e/e1000e_hw.c @@ -0,0 +1,88 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: e1000e_hw.c + * Date: 2025-01-02 14:46:52 + * LastEditTime: 2025-01-02 14:46:58 + * Description:  This file is for manipulation of hardware registers . + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 huangjin 2025/01/02 first release + */ + +#include "fassert.h" +#include "fdrivers_port.h" +#include "e1000e.h" +#include "e1000e_hw.h" +#include "e1000e_phy.h" +#include "faarch.h" + +/***************************** Include Files *********************************/ + +/************************** Constant Definitions *****************************/ + +/**************************** Type Definitions *******************************/ + +/************************** Variable Definitions *****************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ +#define FE1000E_DEBUG_TAG "FE1000E-HW" +#define FE1000E_ERROR(format, ...) FT_DEBUG_PRINT_E(FE1000E_DEBUG_TAG, format, ##__VA_ARGS__) +#define FE1000E_WARN(format, ...) FT_DEBUG_PRINT_W(FE1000E_DEBUG_TAG, format, ##__VA_ARGS__) +#define FE1000E_INFO(format, ...) FT_DEBUG_PRINT_I(FE1000E_DEBUG_TAG, format, ##__VA_ARGS__) +#define FE1000E_DEBUG(format, ...) FT_DEBUG_PRINT_D(FE1000E_DEBUG_TAG, format, ##__VA_ARGS__) + +static const char *speed_info[] = { "10", "100", "1000", "1000" }; + +/************************** Function Prototypes ******************************/ + +/** + * @name: FE1000ESoftwareReset + * @msg: 触发FE1000E控制器软件复位 + * @return {*} + * @param {uintptr} uintptr, e1000e控制器地址 + * @param {int} timeout 等待复位完成的状态检测周期数目 + */ +FError FE1000ESoftwareReset(uintptr addr) +{ + uintptr base_addr = addr; + uint32_t reg; + uint32_t val; + + /* 全局重置 */ + FE1000E_WRITEREG32(base_addr, E1000_CTRL, CTRL_RST); + FDriverUdelay(20000); + + /* CTRL */ + reg = FE1000E_READREG32(base_addr, E1000_CTRL); + reg &= ~(CTRL_LRST | CTRL_FRCSPD); + reg |= CTRL_SLU; + FE1000E_WRITEREG32(base_addr, E1000_CTRL, reg); + + /* power up again in case the previous user turned it off */ + FE1000EPhyWrite(base_addr, PHY_CTRL, FE1000EPhyRead(base_addr, PHY_CTRL) & ~PHYC_POWER_DOWN); + + FE1000E_INFO("Waiting for link..."); + while (!(FE1000E_READREG32(base_addr, E1000_STATUS) & STATUS_LU)) + BARRIER(); + FE1000E_INFO(" ok"); + + /* 读取 phy ,确定link的速度 */ + val = FE1000E_READREG32(base_addr, E1000_STATUS) & STATUS_SPEED; + val >>= STATUS_SPEEDSHFT; + FE1000E_INFO("Link speed: %s Mb/s", speed_info[val]); + + return FE1000E_SUCCESS; +} diff --git a/drivers/eth/e1000e/e1000e_hw.h b/drivers/eth/e1000e/e1000e_hw.h new file mode 100644 index 0000000000000000000000000000000000000000..846104016aa268e304ab04494ab6e3054d291897 --- /dev/null +++ b/drivers/eth/e1000e/e1000e_hw.h @@ -0,0 +1,235 @@ +/* + * Copyright : (C) 2024 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: e1000e_hw.h + * Date: 2025-01-03 14:46:52 + * LastEditTime: 2025-01-03 14:46:58 + * Description:  This file is hardware definition file. + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 huangjin 2025/01/03 first release + */ + +#ifndef E1000E_HW_H +#define E1000E_HW_H + +#include "fparameters.h" +#include "fio.h" +#include "ftypes.h" +#include "fdrivers_port.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define E1000_CTRL 0x00000 /* Device Control - RW */ +#define CTRL_FD (1) /* Full-Duplex */ +#define CTRL_LRST (1 << 3) /* Link Reset */ +#define CTRL_SLU (1 << 6) /* Set Link Up */ +#define CTRL_FRCSPD (1 << 11) /* Force Speed */ +#define CTRL_FRCDPLX (1 << 12) /* Force Duplex */ +#define CTRL_RST (1 << 26) /* Device Reset */ + +#define E1000_STATUS 0x00008 /* Device Status - RO */ +#define STATUS_LU (1 << 1) +#define STATUS_SPEEDSHFT 6 +#define STATUS_SPEED (3 << STATUS_SPEEDSHFT) + +#define E1000_EECD 0x00010 /* EEPROM/Flash Control - RW */ +#define E1000_EERD 0x00014 /* EEPROM Read - RW */ +#define EERD_START (1 << 0) +#define EERD_DONE (1 << 1) +#define EERD_ADDR_SHIFT 2 +#define EERD_DATA_SHIFT 16 + +#define E1000_CTRL_EXT 0x00018 /* Extended Device Control - RW */ +#define E1000_FLA 0x0001C /* Flash Access - RW */ +#define E1000_MDIC 0x00020 /* MDI Control - RW */ +#define MDIC_REGADD_SHFT 16 +#define MDIC_PHYADD (0x1 << 21) +#define MDIC_OP_WRITE (0x1 << 26) +#define MDIC_OP_READ (0x2 << 26) +#define MDIC_READY (0x1 << 28) +#define PHY_CTRL 0 +#define PHYC_POWER_DOWN (1 << 11) + +#define E1000_FCAL 0x00028 /* Flow Control Address Low - RW */ +#define E1000_FCAH 0x0002C /* Flow Control Address High -RW */ +#define E1000_FEXT 0x0002C /* Future Extended - RW */ +#define E1000_FEXTNVM 0x00028 /* Future Extended NVM - RW */ +#define E1000_FEXTNVM3 0x0003C /* Future Extended NVM 3 - RW */ +#define E1000_FEXTNVM4 0x00024 /* Future Extended NVM 4 - RW */ +#define E1000_FEXTNVM5 0x00014 /* Future Extended NVM 5 - RW */ +#define E1000_FEXTNVM6 0x00010 /* Future Extended NVM 6 - RW */ +#define E1000_FEXTNVM7 0x000E4 /* Future Extended NVM 7 - RW */ +#define E1000_FEXTNVM8 0x5BB0 /* Future Extended NVM 8 - RW */ +#define E1000_FEXTNVM9 0x5BB4 /* Future Extended NVM 9 - RW */ +#define E1000_FEXTNVM11 0x5BBC /* Future Extended NVM 11 - RW */ +#define E1000_FEXTNVM12 0x5BC0 /* Future Extended NVM 12 - RW */ +#define E1000_PCIEANACFG 0x00F18 /* PCIE Analog Config */ +#define E1000_DPGFR 0x00FAC /* Dynamic Power Gate Force Control Register */ + +#define E1000_FCT 0x00030 /* Flow Control Type - RW */ +#define E1000_VET 0x00038 /* VLAN Ether Type - RW */ +#define E1000_ICR 0x000C0 /* Interrupt Cause Read - R/clr */ +#define ICR_TXDW (1) /* Transmit Descriptor Written Back */ +#define ICR_TXQE (1 << 1) /* Transmit Queue Empty */ +#define ICR_LSC (1 << 2) /* Link Status Change */ +#define ICR_RXDMT0 (1 << 4) /* Receive Descriptor Minimum Threshold hit */ +#define ICR_RXO (1 << 6) /* Receiver Overrun */ +#define ICR_RXT0 (1 << 7) /* Receiver Timer Interrupt 0 */ + +#define E1000_ITR 0x000C4 /* Interrupt Throttling Rate - RW */ +#define E1000_ICS 0x000C8 /* Interrupt Cause Set - WO */ +#define ICS_TXDW (1) /* Transmit Descriptor Written Back */ +#define ICS_TXQE (1 << 1) /* Transmit Queue Empty */ +#define ICS_LSC (1 << 2) /* Link Status Change */ +#define ICS_RXDMT0 (1 << 4) /* Receive Descriptor Minimum Threshold hit */ +#define ICS_RXO (1 << 6) /* Receiver FIFO Overrun */ +#define ICS_RXT0 (1 << 7) /* Receiver Timer Interrupt 0 */ + +#define E1000_IMS 0x000D0 /* Interrupt Mask Set - RW */ +#define IMS_TXDW (1) /* Transmit Descriptor Written Back */ +#define IMS_TXQE (1 << 1) /* Transmit Queue Empty */ +#define IMS_LSC (1 << 2) /* Link Status Change */ +#define IMS_RXDMT0 (1 << 4) /* Receive Descriptor Minimum Threshold hit */ +#define IMS_RXO (1 << 6) /* Receiver FIFO Overrun */ +#define IMS_RXT0 (1 << 7) /* Receiver Timer Interrupt 0 */ +#define IMS_ALL_MASK GENMASK(31, 0) + +#define E1000_IMC 0x000D8 /* Interrupt Mask Clear - WO */ +#define E1000_IAM 0x000E0 /* Interrupt Acknowledge Auto Mask */ +#define E1000_IVAR 0x000E4 /* Interrupt Vector Allocation Register - RW */ +#define E1000_SVCR 0x000F0 +#define E1000_SVT 0x000F4 +#define E1000_LPIC 0x000FC /* Low Power IDLE control */ + +#define E1000_RCTL 0x00100 /* Rx Control - RW */ +#define RCTL_EN (1 << 1) +#define RCTL_UPE (1 << 3) /* Unicast Promiscuous Enabled */ +#define RCTL_MPE (1 << 4) /* Multicast Promiscuous Enabled */ +#define RCTL_RDMTS_1_2 (0 << 8) +#define RCTL_RDMTS_1_4 (1 << 8) +#define RCTL_RDMTS_1_8 (1 << 9) +#define RCTL_BAM (1 << 15) /* Broadcast Accept Mode */ +#define RCTL_BSIZE_2048 (0 << 16) +#define RCTL_SECRC (1 << 26) + +#define E1000_FCTTV 0x00170 /* Flow Control Transmit Timer Value - RW */ +#define E1000_TXCW 0x00178 /* Tx Configuration Word - RW */ +#define E1000_RXCW 0x00180 /* Rx Configuration Word - RO */ +#define E1000_PBA_ECC 0x01100 /* PBA ECC Register */ + +#define E1000_TCTL 0x00400 /* Tx Control - RW */ +#define TCTL_EN (1 << 1) +#define TCTL_PSP (1 << 3) +#define TCTL_CT_DEF (0x0F << 4) +#define TCTL_COLD_DEF (0x3F << 12) + +#define E1000_TCTL_EXT 0x00404 /* Extended Tx Control - RW */ + +#define E1000_TIPG 0x00410 /* Tx Inter-packet gap -RW */ +#define TIPG_IPGT_DEF (10 << 0) +#define TIPG_IPGR1_DEF (10 << 10) +#define TIPG_IPGR2_DEF (10 << 20) + +#define E1000_AIT 0x00458 /* Adaptive Interframe Spacing Throttle - RW */ +#define E1000_LEDCTL 0x00E00 /* LED Control - RW */ +#define E1000_EXTCNF_CTRL 0x00F00 /* Extended Configuration Control */ +#define E1000_EXTCNF_SIZE 0x00F08 /* Extended Configuration Size */ +#define E1000_PBA 0x01000 /* Packet Buffer Allocation - RW */ +#define E1000_PBS 0x01008 /* Packet Buffer Size */ +#define E1000_PBECCSTS 0x0100C /* Packet Buffer ECC Status - RW */ +#define E1000_IOSFPC 0x00F28 /* TX corrupted data */ +#define E1000_EEMNGCTL 0x01010 /* MNG EEprom Control */ +#define E1000_EEWR 0x0102C /* EEPROM Write Register - RW */ +#define E1000_FLOP 0x0103C /* FLASH Opcode Register */ +#define E1000_ERT 0x02008 /* Early Rx Threshold - RW */ +#define E1000_FCRTL 0x02160 /* Flow Control Receive Threshold Low - RW */ +#define E1000_FCRTH 0x02168 /* Flow Control Receive Threshold High - RW */ +#define E1000_PSRCTL 0x02170 /* Packet Split Receive Control - RW */ +#define E1000_RDFH 0x02410 /* Rx Data FIFO Head - RW */ +#define E1000_RDFT 0x02418 /* Rx Data FIFO Tail - RW */ +#define E1000_RDFHS 0x02420 /* Rx Data FIFO Head Saved - RW */ +#define E1000_RDFTS 0x02428 /* Rx Data FIFO Tail Saved - RW */ +#define E1000_RDFPC 0x02430 /* Rx Data FIFO Packet Count - RW */ +#define E1000_RDTR 0x02820 /* Rx Delay Timer - RW */ +#define E1000_RADV 0x0282C /* Rx Interrupt Absolute Delay Timer - RW */ + +#define E1000_RDBAL 0x02800 /* RX Descriptor Base Address Low - RW */ +#define E1000_RDBAH 0x02804 /* RX Descriptor Base Address High - RW */ +#define E1000_RDLEN 0x02808 /* RX Descriptor Length - RW */ +#define E1000_RDH 0x02810 /* RX Descriptor Head - RW */ +#define E1000_RDT 0x02818 /* RX Descriptor Tail - RW */ +#define E1000_RDTR 0x02820 /* RX Delay Timer - RW */ + +#define E1000_RXDCTL 0x02828 /* RX Descriptor Control queue 0 - RW */ +#define RXDCTL_WTHRESH (1 << 16) /* Write Back Threshold */ +#define RXDCTL_GRAN (1 << 24) /* Granularity */ +#define RXDCTL_ENABLE (1 << 25) + +#define E1000_TDBAL 0x03800 /* TX Descriptor Base Address Low - RW */ +#define E1000_TDBAH 0x03804 /* TX Descriptor Base Address High - RW */ +#define E1000_TDLEN 0x03808 /* TX Descriptor Length - RW */ +#define E1000_TDH 0x03810 /* TX Descriptor Head - RW */ +#define E1000_TDT 0x03818 /* TX Descripotr Tail - RW */ +#define E1000_TIDV 0x03820 /* TX Interrupt Delay Value - RW */ + +#define E1000_TXDCTL 0x03828 /* TX Descriptor Control - RW */ +#define TXDCTL_WTHRESH (1 << 16) /* Write Back Threshold */ +#define TXDCTL_82571 (1 << 22) +#define TXDCTL_GRAN (1 << 24) /* Granularity */ +#define TXDCTL_ENABLE (1 << 25) + +#define E1000_TARC0 0x03840 /* TX Arbitration Count (0) */ +#define E1000_RAL 0x05400 /* Receive Address Low - RW Array */ +#define E1000_RAH 0x05404 /* Receive Address High - RW Array */ +#define RAH_AV (1 << 31) + +#define E1000_MRQC 0x05818 /* Multiple Receive Control - RW */ +#define E1000_GCR 0x05B00 /* PCI-Ex Control */ +#define E1000_GSCL_1 0x05B10 /* PCI-Ex Statistic Control #1 */ +#define E1000_GSCL_2 0x05B14 /* PCI-Ex Statistic Control #2 */ +#define E1000_GSCL_3 0x05B18 /* PCI-Ex Statistic Control #3 */ +#define E1000_GSCL_4 0x05B1C /* PCI-Ex Statistic Control #4 */ +#define E1000_FACTPS 0x05B30 /* Function Active and Power State to MNG */ +#define E1000_SWSM 0x05B50 /* SW Semaphore */ +#define E1000_FWSM 0x05B54 /* FW Semaphore */ +#define E1000_FFLT_DBG 0x05F04 /* Debug Register */ +#define E1000_HICR 0x08F00 /* Host Interface Control */ + +/* 描述符 */ +#define RDESC_STA_DD (1) /* Descriptor Done */ +#define TDESC_STA_DD (1) /* Descriptor Done */ + +#define TDESC_EOP (1) /* End Of Packet */ +#define TDESC_IFCS (1 << 1) /* Insert FCS */ +#define TDESC_RS (1 << 3) /* Report Status */ + + +#define FE1000E_READREG32(add, reg_offset) FtIn32(add + (u32)reg_offset) +#define FE1000E_WRITEREG32(add, reg_offset, reg_value) FtOut32(add + (u32)reg_offset, (u32)reg_value) +#define FE1000E_SETBIT32(add, reg_offset, reg_value) FtSetBit32(add + (u32)reg_offset, (u32)reg_value) +#define FE1000E_CLEARBIT32(add, reg_offset, reg_value) FtClearBit32(add + (u32)reg_offset, (u32)reg_value) + +/* 触发FE1000E控制器软件复位 */ +FError FE1000ESoftwareReset(uintptr addr); + +#ifdef __cplusplus +} +#endif + +#endif // ! diff --git a/drivers/eth/e1000e/e1000e_phy.c b/drivers/eth/e1000e/e1000e_phy.c new file mode 100644 index 0000000000000000000000000000000000000000..f4d5ab5a55dd17e0781768ab25f14b9eb133db9c --- /dev/null +++ b/drivers/eth/e1000e/e1000e_phy.c @@ -0,0 +1,118 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: e1000e_phy.c + * Date: 2025-01-13 14:46:52 + * LastEditTime: 2025-01-13 14:46:58 + * Description:  This file is for phy types. + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 huangjin 2025/01/13 first release + */ + +#include "fdrivers_port.h" +#include "e1000e.h" +#include "e1000e_phy.h" +#include "e1000e_hw.h" +#include "faarch.h" + +#define FE1000E_DEBUG_TAG "FE1000E_PHY" +#define FE1000E_ERROR(format, ...) FT_DEBUG_PRINT_E(FE1000E_DEBUG_TAG, format, ##__VA_ARGS__) +#define FE1000E_INFO(format, ...) FT_DEBUG_PRINT_I(FE1000E_DEBUG_TAG, format, ##__VA_ARGS__) +#define FE1000E_DEBUG(format, ...) FT_DEBUG_PRINT_D(FE1000E_DEBUG_TAG, format, ##__VA_ARGS__) +#define FE1000E_WARN(format, ...) FT_DEBUG_PRINT_W(FE1000E_DEBUG_TAG, format, ##__VA_ARGS__) + +/** + * Write data to the specified PHY register. The Ethernet driver does not + * require the device to be stopped before writing to the PHY. Although it is + * probably a good idea to stop the device, it is the responsibility of the + * application to deem this necessary. The MAC provides the driver with the + * ability to talk to a PHY that adheres to the Media Independent Interface + * (MII) as defined in the IEEE 802.3 standard. + * + * @param base_addr Base address of the Ethernet controller's register space. + * @param reg The register number (0-31) of the PHY to which data will be written. + * @param val The 16-bit value to write to the specified PHY register. + * + * @return + * + * - FT_SUCCESS if the PHY was written to successfully. Since there is no error + * status from the MAC on a write, the user should read the PHY to verify the + * write was successful. + * - FE1000E_ERR_PHY_BUSY if there is another PHY operation in progress + * + * @note + * + * This function is not thread-safe. If multiple threads can access this + * function, the user must ensure mutual exclusion. + * + * If the hardware malfunctions (e.g., the `MDIC_READY` status bit is not set), + * this function could enter an infinite loop. Users should consider adding a + * timeout mechanism for error recovery. + * + * During the execution of this function, all host interface reads and writes + * to the specified Ethernet controller instance are blocked. + * + ******************************************************************************/ +FError FE1000EPhyWrite(uintptr base_addr, unsigned int reg, uint16_t val) +{ + FE1000E_WRITEREG32(base_addr, E1000_MDIC, val | (reg << MDIC_REGADD_SHFT) | MDIC_PHYADD | MDIC_OP_WRITE); + while (!(FE1000E_READREG32(base_addr, E1000_MDIC) & MDIC_READY)) + BARRIER(); + return FT_SUCCESS; +} + +/** + * Read the current value of the PHY register indicated by the phy_address and + * the register_num parameters. The MAC provides the driver with the ability to + * talk to a PHY that adheres to the Media Independent Interface (MII) as + * defined in the IEEE 802.3 standard. + * + * + * @param base_addr Base address of the Ethernet controller's register space. + * @param reg The register number (0-31) of the PHY to read. + * + * @return + * + * - The 16-bit value read from the specified PHY register. + * - If the read operation is not successful due to hardware issues, the + * function may not return (see note below). + * + * @note + * + * This function is not thread-safe. Users must ensure mutual exclusion + * when multiple threads access this function. + * + * If the hardware malfunctions (e.g., the `MDIC_READY` bit is not set), + * the function may enter an infinite loop. Users are advised to implement + * a timeout mechanism for error recovery if needed. + * + * During the execution of this function, all host interface reads and writes + * to the specified Ethernet controller instance are blocked. + * + ******************************************************************************/ +uint16_t FE1000EPhyRead(uintptr base_addr, unsigned int reg) +{ + uint32_t val; + FE1000E_WRITEREG32(base_addr, E1000_MDIC, (reg << MDIC_REGADD_SHFT) | MDIC_PHYADD | MDIC_OP_READ); + val = FE1000E_READREG32(base_addr, E1000_MDIC); + do + { + val = FE1000E_READREG32(base_addr, E1000_MDIC); + BARRIER(); + } while (!(val & MDIC_READY)); + + return (uint16_t)val; +} diff --git a/drivers/eth/e1000e/e1000e_phy.h b/drivers/eth/e1000e/e1000e_phy.h new file mode 100644 index 0000000000000000000000000000000000000000..85bad06e9502bbe5e3a0d64a0c18449af2586dea --- /dev/null +++ b/drivers/eth/e1000e/e1000e_phy.h @@ -0,0 +1,60 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: e1000e_phy.h + * Date: 2025-01-13 14:46:52 + * LastEditTime: 2025-01-13 14:46:58 + * Description:  This file is for phy configuration. + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 huangjin 2025/01/13 first release + */ + +#ifndef FE1000E_PHY_H +#define FE1000E_PHY_H + +#include "ftypes.h" +#include "ferror_code.h" +#include "e1000e.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define E1000E_PHY_RESET_ENABLE 1 +#define E1000E_PHY_RESET_DISABLE 0 + +enum +{ + FE1000E_PHY_AUTONEGOTIATION_DISABLE = 0, + FE1000E_PHY_AUTONEGOTIATION_ENABLE +}; + +enum +{ + FE1000E_PHY_MODE_HALFDUPLEX = 0, + FE1000E_PHY_MODE_FULLDUPLEX +}; + +/* phy interface */ +FError FE1000EPhyWrite(uintptr base_addr, unsigned int reg, uint16_t val); +uint16_t FE1000EPhyRead(uintptr base_addr, unsigned int reg); + +#ifdef __cplusplus +} +#endif + +#endif // ! \ No newline at end of file diff --git a/drivers/eth/e1000e/e1000e_sinit.c b/drivers/eth/e1000e/e1000e_sinit.c new file mode 100644 index 0000000000000000000000000000000000000000..53533f84b6ddd2fd98e95589d537e616b06166fd --- /dev/null +++ b/drivers/eth/e1000e/e1000e_sinit.c @@ -0,0 +1,70 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: e1000e_sinit.c + * Date: 2025-01-02 14:53:42 + * LastEditTime: 2025-01-02 08:25:15 + * Description:  This file is for e1000e driver static init + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 huangjin 2025/01/02 first release + */ + + + +/* - This file contains the implementation of driver's static initialization functionality. +- 驱动静态初始化 */ + +/***************************** Include Files *********************************/ + +#include "ftypes.h" +#include "fparameters.h" +#include "e1000e.h" + +/************************** Constant Definitions *****************************/ + +/**************************** Type Definitions *******************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ + +/************************** Variable Definitions *****************************/ + +extern FE1000EConfig FE1000E_CONFIG_TBL[FE1000E_NUM]; + +/************************** Function Prototypes ******************************/ +/** + * @name: FE1000ELookupConfig + * @msg: 获取E1000E驱动的默认配置参数 + * @return {FE1000EConfig *}, 驱动默认配置 + * @param {u32} instance_id, 驱动控制器号 + * @note 返回E1000E的默认配置,复制后修改配置 + * 需要确认当前平台支持输入的instance_id + */ +FE1000EConfig *FE1000ELookupConfig(u32 instance_id) +{ + FE1000EConfig *ptr = NULL; + u32 index; + + for (index = 0; index < (u32)FE1000E_NUM; index++) + { + if (FE1000E_CONFIG_TBL[index].instance_id == instance_id) + { + ptr = &FE1000E_CONFIG_TBL[index]; + break; + } + } + + return (FE1000EConfig *)ptr; +} \ No newline at end of file diff --git a/drivers/eth/src.mk b/drivers/eth/src.mk index 8e440167edfaf53becbe58964207f737b8d5b592..afa80585a917da8ab3c35dc6c90091f6c81ee444 100644 --- a/drivers/eth/src.mk +++ b/drivers/eth/src.mk @@ -32,3 +32,14 @@ endif endif +ifdef CONFIG_ENABLE_E1000E +DRIVERS_CSRCS += \ + e1000e.c\ + e1000e_g.c\ + e1000e_sinit.c\ + e1000e_dma.c\ + e1000e_hw.c\ + e1000e_debug.c\ + e1000e_phy.c +endif + diff --git a/drivers/i2s/fes8336/fes8336.c b/drivers/i2s/fes8336/fes8336.c index 214e6658b7c4df6b42b8d15b9ad63cb4d6ef3307..d0fa0049dabe11620a3b7774017a52aa778ebb5d 100644 --- a/drivers/i2s/fes8336/fes8336.c +++ b/drivers/i2s/fes8336/fes8336.c @@ -65,8 +65,8 @@ _UNUSED static const struct reg_default es8336_reg_defaults[] = {0x50, 0x00}, {0x51, 0x00}, {0x52, 0x00}, {0x53, 0x00}, }; -static FI2c master_device; -static FMioCtrl es8336; +FI2c master_device; +FMioCtrl es8336; /** * @name: FEs8336WriteByte diff --git a/drivers/i2s/fi2s/fi2s.c b/drivers/i2s/fi2s/fi2s.c index c500f3b3536d4640b26df5a29775d85f728f0517..e0b18fecc57c26d03295c7d70c2636e8c9509726 100644 --- a/drivers/i2s/fi2s/fi2s.c +++ b/drivers/i2s/fi2s/fi2s.c @@ -211,16 +211,17 @@ void FI2sDeInitialize(FI2s *instance) /** * @name: FI2sClkOutDiv * @msg: this function calculates the SCLK Output divider value of the i2s - * @param (FI2s *} instance :the instance_p of i2s + * @param (FI2s *} instance :the instance_p of i2s + * @param (u32 *} samplerate :config the samplerate * @return Null */ -FError FI2sClkOutDiv(FI2s *instance) +FError FI2sClkOutDiv(FI2s *instance, u32 samplerate) { FASSERT(instance != NULL); u64 fix, point; u32 reg, cfg; - instance->data_config.sample_rate = FI2S_SAMPLE_RATE_CD; + instance->data_config.sample_rate = samplerate; switch (instance->data_config.word_length) { diff --git a/drivers/i2s/fi2s/fi2s.h b/drivers/i2s/fi2s/fi2s.h index 9b6e964d208f29391d1db408db9df0e1a64374bb..dc7dc77d746cca25294913b5c38e3ca47aa09965 100644 --- a/drivers/i2s/fi2s/fi2s.h +++ b/drivers/i2s/fi2s/fi2s.h @@ -128,7 +128,7 @@ void FI2sRxHwEnable(FI2s *instance); void FI2sTxHwEnable(FI2s *instance); /* set the i2s clk and resolution*/ -FError FI2sClkOutDiv(FI2s *instance); +FError FI2sClkOutDiv(FI2s *instance, u32 samplerate); /*enable i2s irq*/ void FI2sEnableIrq(FI2s *instance, u32 event_type); diff --git a/drivers/include.mk b/drivers/include.mk index d0ac9e1b7c8c372319dea910f06e9a656cfcda88..f639ce8e0b9a372e8ff453b858fa1eb45bb738f4 100644 --- a/drivers/include.mk +++ b/drivers/include.mk @@ -55,6 +55,10 @@ ifdef CONFIG_ENABLE_FXMAC endif endif +ifdef CONFIG_ENABLE_E1000E + BUILD_INC_PATH_DIR += $(DRV_CUR_DIR)/eth/e1000e +endif + # can ifdef CONFIG_USE_FCAN BUILD_INC_PATH_DIR += $(DRV_CUR_DIR)/can/fcan diff --git a/example/ai/tinymaix/README.md b/example/ai/tinymaix/README.md index eee8ec9531813b17d504ea42a5d9f532d6f07624..7ea878ceddd065b19219a8dd76402a2c26e24cd7 100644 --- a/example/ai/tinymaix/README.md +++ b/example/ai/tinymaix/README.md @@ -29,7 +29,7 @@ MbNet物品分类测试例程 (tinymaix_mbnet_example.c) 本例程需要以下硬件, -- E2000D/Q Demo 板,PhytiumPi开发板 +- E2000D/Q Demo 板,PhytiumPi开发板,D2000、FT2004、pd2308、ps2316等系列开发板均可 - 串口线和串口上位机 ### 2.1 硬件配置方法 diff --git a/example/ai/tinymaix/configs/ps2316_aarch64_test16_tinymaix.config b/example/ai/tinymaix/configs/ps2316_aarch64_test16_tinymaix.config new file mode 100644 index 0000000000000000000000000000000000000000..7db30130b759b5208a02b3ac888d8131661e575e --- /dev/null +++ b/example/ai/tinymaix/configs/ps2316_aarch64_test16_tinymaix.config @@ -0,0 +1,10 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="tinymaix" +CONFIG_LOG_INFO=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_USE_TINYMAIX=y +CONFIG_TINYMAIX_USING_MODULE_FP32=y +CONFIG_DEBUG_NOOPT=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_MAX_LENGTH=0x2000000 diff --git a/example/ai/tinymaix/sdkconfig b/example/ai/tinymaix/sdkconfig index 3845cbc966602633307efb70679360cb7a16d01a..1b40818ba8ad56539de58375e2dc4b3eed171a9c 100644 --- a/example/ai/tinymaix/sdkconfig +++ b/example/ai/tinymaix/sdkconfig @@ -41,26 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -69,24 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y @@ -156,7 +141,17 @@ CONFIG_ENABLE_Pl011_UART=y # Third-party configuration # # CONFIG_USE_LWIP is not set -# CONFIG_USE_LETTER_SHELL is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter shell configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter shell configuration + # CONFIG_USE_AMP is not set # CONFIG_USE_YMODEM is not set # CONFIG_USE_SFUD is not set @@ -237,7 +232,7 @@ CONFIG_USE_COMPILE_CHAIN=y CONFIG_DEFAULT_LINKER_SCRIPT=y # CONFIG_USER_DEFINED_LD is not set CONFIG_IMAGE_LOAD_ADDRESS=0x80100000 -CONFIG_IMAGE_MAX_LENGTH=0x1000000 +CONFIG_IMAGE_MAX_LENGTH=0x2000000 CONFIG_HEAP_SIZE=1 CONFIG_STACK_SIZE=0x400 # end of Linker Options diff --git a/example/ai/tinymaix/sdkconfig.h b/example/ai/tinymaix/sdkconfig.h index 7be6200c309377a02ae5ab63ba25ba1af2920590..2319b74a793ce7c8cdf59544442742de9c4d7d51 100644 --- a/example/ai/tinymaix/sdkconfig.h +++ b/example/ai/tinymaix/sdkconfig.h @@ -38,25 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -64,22 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL @@ -143,7 +130,15 @@ /* Third-party configuration */ /* CONFIG_USE_LWIP is not set */ -/* CONFIG_USE_LETTER_SHELL is not set */ +#define CONFIG_USE_LETTER_SHELL + +/* Letter shell configuration */ + +#define CONFIG_LS_PL011_UART +#define CONFIG_DEFAULT_LETTER_SHELL_USE_UART1 +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ +/* end of Letter shell configuration */ /* CONFIG_USE_AMP is not set */ /* CONFIG_USE_YMODEM is not set */ /* CONFIG_USE_SFUD is not set */ @@ -216,7 +211,7 @@ #define CONFIG_DEFAULT_LINKER_SCRIPT /* CONFIG_USER_DEFINED_LD is not set */ #define CONFIG_IMAGE_LOAD_ADDRESS 0x80100000 -#define CONFIG_IMAGE_MAX_LENGTH 0x1000000 +#define CONFIG_IMAGE_MAX_LENGTH 0x2000000 #define CONFIG_HEAP_SIZE 1 #define CONFIG_STACK_SIZE 0x400 /* end of Linker Options */ diff --git a/example/media/lvgl_demo_test/sdkconfig b/example/media/lvgl_demo_test/sdkconfig index a511dce2e9dd07d58cff03dba69f82cbd47633bc..0e387d00f49669cfe0c8c8ec5b226b7ca7eab11a 100644 --- a/example/media/lvgl_demo_test/sdkconfig +++ b/example/media/lvgl_demo_test/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 diff --git a/example/media/lvgl_demo_test/sdkconfig.h b/example/media/lvgl_demo_test/sdkconfig.h index 35e263f8a01713bd1b8283c7a85a72dfc8ce7254..32d3e3a786e46859053098df6171f7bab234d234 100644 --- a/example/media/lvgl_demo_test/sdkconfig.h +++ b/example/media/lvgl_demo_test/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 diff --git a/example/media/media_test/sdkconfig b/example/media/media_test/sdkconfig index e8d26ac4c8c48520197da15172b00d5928f59e6a..fd972efa9c5e8143e72cc7dfb48a8ef1bdaa9503 100644 --- a/example/media/media_test/sdkconfig +++ b/example/media/media_test/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 diff --git a/example/media/media_test/sdkconfig.h b/example/media/media_test/sdkconfig.h index 2564a2837ef300767b1fe65864169520d1b60671..7bb9d399ec3067a9bffbe07e459ac0fe942c7391 100644 --- a/example/media/media_test/sdkconfig.h +++ b/example/media/media_test/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 diff --git a/example/network/lwip_http/sdkconfig b/example/network/lwip_http/sdkconfig index d2ab93a67db8ff4ce52c1c67aeabcabc6d1d74ef..f7eb50968e3c02af12797d17d36835310def78bb 100644 --- a/example/network/lwip_http/sdkconfig +++ b/example/network/lwip_http/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 @@ -138,6 +140,7 @@ CONFIG_USE_ETH=y # CONFIG_ENABLE_FXMAC=y # CONFIG_ENABLE_FGMAC is not set +# CONFIG_ENABLE_E1000E is not set CONFIG_FXMAC_PHY_COMMON=y # CONFIG_FXMAC_PHY_YT is not set # end of Eth Configuration @@ -176,6 +179,7 @@ CONFIG_USE_LWIP=y # CONFIG_LWIP_FXMAC=y # CONFIG_LWIP_FGMAC is not set +# CONFIG_LWIP_E1000E is not set # CONFIG_LWIP_FSDIF is not set # end of LWIP Port Configuration diff --git a/example/network/lwip_http/sdkconfig.h b/example/network/lwip_http/sdkconfig.h index ca35b8d6764907f32c50698e1f985335835afa59..4dc000b753f3847f53e77f66b688ce5d54c4688a 100644 --- a/example/network/lwip_http/sdkconfig.h +++ b/example/network/lwip_http/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 @@ -125,6 +127,7 @@ #define CONFIG_ENABLE_FXMAC /* CONFIG_ENABLE_FGMAC is not set */ +/* CONFIG_ENABLE_E1000E is not set */ #define CONFIG_FXMAC_PHY_COMMON /* CONFIG_FXMAC_PHY_YT is not set */ /* end of Eth Configuration */ @@ -158,6 +161,7 @@ #define CONFIG_LWIP_FXMAC /* CONFIG_LWIP_FGMAC is not set */ +/* CONFIG_LWIP_E1000E is not set */ /* CONFIG_LWIP_FSDIF is not set */ /* end of LWIP Port Configuration */ #define CONFIG_LWIP_NO_SYS diff --git a/example/network/lwip_iperf/sdkconfig b/example/network/lwip_iperf/sdkconfig index 1050dd74cec388a89e8bba3aad11d80813d16281..2b7f1ff9c088428354fb98b349dd9d58e950cf92 100644 --- a/example/network/lwip_iperf/sdkconfig +++ b/example/network/lwip_iperf/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 @@ -138,6 +140,7 @@ CONFIG_USE_ETH=y # CONFIG_ENABLE_FXMAC=y # CONFIG_ENABLE_FGMAC is not set +# CONFIG_ENABLE_E1000E is not set CONFIG_FXMAC_PHY_COMMON=y # CONFIG_FXMAC_PHY_YT is not set # end of Eth Configuration @@ -176,6 +179,7 @@ CONFIG_USE_LWIP=y # CONFIG_LWIP_FXMAC=y # CONFIG_LWIP_FGMAC is not set +# CONFIG_LWIP_E1000E is not set # CONFIG_LWIP_FSDIF is not set # end of LWIP Port Configuration diff --git a/example/network/lwip_iperf/sdkconfig.h b/example/network/lwip_iperf/sdkconfig.h index 6d68283d92d5a038fc141ab46a7805deab32350c..e7388c52be6367c2ad8f0dadf44c9d3f55a387d4 100644 --- a/example/network/lwip_iperf/sdkconfig.h +++ b/example/network/lwip_iperf/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 @@ -125,6 +127,7 @@ #define CONFIG_ENABLE_FXMAC /* CONFIG_ENABLE_FGMAC is not set */ +/* CONFIG_ENABLE_E1000E is not set */ #define CONFIG_FXMAC_PHY_COMMON /* CONFIG_FXMAC_PHY_YT is not set */ /* end of Eth Configuration */ @@ -158,6 +161,7 @@ #define CONFIG_LWIP_FXMAC /* CONFIG_LWIP_FGMAC is not set */ +/* CONFIG_LWIP_E1000E is not set */ /* CONFIG_LWIP_FSDIF is not set */ /* end of LWIP Port Configuration */ #define CONFIG_LWIP_NO_SYS diff --git a/example/network/lwip_jumbo/sdkconfig b/example/network/lwip_jumbo/sdkconfig index 9236cda9d41bf72ee038ca0f8d15f04818269d0b..7b19211d4755ba8edf733a91a90463e039f3b2d8 100644 --- a/example/network/lwip_jumbo/sdkconfig +++ b/example/network/lwip_jumbo/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 @@ -138,6 +140,7 @@ CONFIG_USE_ETH=y # CONFIG_ENABLE_FXMAC=y # CONFIG_ENABLE_FGMAC is not set +# CONFIG_ENABLE_E1000E is not set CONFIG_FXMAC_PHY_COMMON=y # CONFIG_FXMAC_PHY_YT is not set # end of Eth Configuration @@ -176,6 +179,7 @@ CONFIG_USE_LWIP=y # CONFIG_LWIP_FXMAC=y # CONFIG_LWIP_FGMAC is not set +# CONFIG_LWIP_E1000E is not set # CONFIG_LWIP_FSDIF is not set # end of LWIP Port Configuration diff --git a/example/network/lwip_jumbo/sdkconfig.h b/example/network/lwip_jumbo/sdkconfig.h index 001155899436e46552025a831ef0713a48274cc4..2a841b2072371dfd7778c47730475d2508c690b7 100644 --- a/example/network/lwip_jumbo/sdkconfig.h +++ b/example/network/lwip_jumbo/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 @@ -125,6 +127,7 @@ #define CONFIG_ENABLE_FXMAC /* CONFIG_ENABLE_FGMAC is not set */ +/* CONFIG_ENABLE_E1000E is not set */ #define CONFIG_FXMAC_PHY_COMMON /* CONFIG_FXMAC_PHY_YT is not set */ /* end of Eth Configuration */ @@ -158,6 +161,7 @@ #define CONFIG_LWIP_FXMAC /* CONFIG_LWIP_FGMAC is not set */ +/* CONFIG_LWIP_E1000E is not set */ /* CONFIG_LWIP_FSDIF is not set */ /* end of LWIP Port Configuration */ #define CONFIG_LWIP_NO_SYS diff --git a/example/network/lwip_multicast/sdkconfig b/example/network/lwip_multicast/sdkconfig index 257e622d44583424d95ace7be57b06ad3fa413ad..0cfea1c48413d30d346fa8d3441cd6a6ba41cfc2 100644 --- a/example/network/lwip_multicast/sdkconfig +++ b/example/network/lwip_multicast/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 @@ -138,6 +140,7 @@ CONFIG_USE_ETH=y # CONFIG_ENABLE_FXMAC=y # CONFIG_ENABLE_FGMAC is not set +# CONFIG_ENABLE_E1000E is not set CONFIG_FXMAC_PHY_COMMON=y # CONFIG_FXMAC_PHY_YT is not set # end of Eth Configuration @@ -176,6 +179,7 @@ CONFIG_USE_LWIP=y # CONFIG_LWIP_FXMAC=y # CONFIG_LWIP_FGMAC is not set +# CONFIG_LWIP_E1000E is not set # CONFIG_LWIP_FSDIF is not set # end of LWIP Port Configuration diff --git a/example/network/lwip_multicast/sdkconfig.h b/example/network/lwip_multicast/sdkconfig.h index 60d7144ef5467c8b1d53cf5f892ae7de711d0dfd..d64d974cd3fc951a83addf631c1557e4c6482490 100644 --- a/example/network/lwip_multicast/sdkconfig.h +++ b/example/network/lwip_multicast/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 @@ -125,6 +127,7 @@ #define CONFIG_ENABLE_FXMAC /* CONFIG_ENABLE_FGMAC is not set */ +/* CONFIG_ENABLE_E1000E is not set */ #define CONFIG_FXMAC_PHY_COMMON /* CONFIG_FXMAC_PHY_YT is not set */ /* end of Eth Configuration */ @@ -158,6 +161,7 @@ #define CONFIG_LWIP_FXMAC /* CONFIG_LWIP_FGMAC is not set */ +/* CONFIG_LWIP_E1000E is not set */ /* CONFIG_LWIP_FSDIF is not set */ /* end of LWIP Port Configuration */ #define CONFIG_LWIP_NO_SYS diff --git a/example/network/lwip_sntp/sdkconfig b/example/network/lwip_sntp/sdkconfig index ed84b184f52c4698a5e4d8b213a508916a0f793c..71aa02f60cd2bee2cd68a3a36ef2e14ce126c5d0 100644 --- a/example/network/lwip_sntp/sdkconfig +++ b/example/network/lwip_sntp/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 @@ -138,6 +140,7 @@ CONFIG_USE_ETH=y # CONFIG_ENABLE_FXMAC=y # CONFIG_ENABLE_FGMAC is not set +# CONFIG_ENABLE_E1000E is not set CONFIG_FXMAC_PHY_COMMON=y # CONFIG_FXMAC_PHY_YT is not set # end of Eth Configuration @@ -176,6 +179,7 @@ CONFIG_USE_LWIP=y # CONFIG_LWIP_FXMAC=y # CONFIG_LWIP_FGMAC is not set +# CONFIG_LWIP_E1000E is not set # CONFIG_LWIP_FSDIF is not set # end of LWIP Port Configuration diff --git a/example/network/lwip_sntp/sdkconfig.h b/example/network/lwip_sntp/sdkconfig.h index 35f24b8b66facd1f45e2b9446786fa14d65310cc..6c433dd0957a94c0bd8b164ec6a7eb5b4920bb84 100644 --- a/example/network/lwip_sntp/sdkconfig.h +++ b/example/network/lwip_sntp/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 @@ -125,6 +127,7 @@ #define CONFIG_ENABLE_FXMAC /* CONFIG_ENABLE_FGMAC is not set */ +/* CONFIG_ENABLE_E1000E is not set */ #define CONFIG_FXMAC_PHY_COMMON /* CONFIG_FXMAC_PHY_YT is not set */ /* end of Eth Configuration */ @@ -158,6 +161,7 @@ #define CONFIG_LWIP_FXMAC /* CONFIG_LWIP_FGMAC is not set */ +/* CONFIG_LWIP_E1000E is not set */ /* CONFIG_LWIP_FSDIF is not set */ /* end of LWIP Port Configuration */ #define CONFIG_LWIP_NO_SYS diff --git a/example/network/lwip_startup/README.md b/example/network/lwip_startup/README.md index d942db9755697f06b897bfec416cf8642106a28e..b1a38bed263c753de75601954778557e87925dd3 100644 --- a/example/network/lwip_startup/README.md +++ b/example/network/lwip_startup/README.md @@ -7,7 +7,7 @@ 本例程示范了MAC控制器在lwip各种模式下的初始化流程,初始化成功后的网卡数据收发正常,能够ping通网络。 ### 1.1 网卡ipv4模式初始化测试例程 (lwip_ipv4_example.c) -- ipv4模式下初始化开发板上所有网口以及对应网卡控制器 +- ipv4模式下初始化开发板上所有网口以及对应网卡控制器(包括pcie网卡) - 为每个网卡配置静态IPv4地址 - 可以通过主机端对相应网口进行ping通 @@ -125,6 +125,15 @@ lwip ipv4 ![ipv4_example_result](./fig/ipv4_example_result.png) ![ipv4_example_ping](./fig/ipv4_ping.png) +测试pcie e1000e网卡需确保pcie网卡硬件正确连接,额外使能pcie、e1000e驱动,使能lwip e1000e驱动使能,如下图所示: +![CONFIG_ENABLE_FPCIE_ECAM](./fig/CONFIG_ENABLE_FPCIE_ECAM.png) +![CONFIG_ENABLE_E1000E](./fig/CONFIG_ENABLE_E1000E.png) +![CONFIG_LWIP_E1000E](./fig/CONFIG_LWIP_E1000E.png) +平台网卡与pcie网卡可同时运行测试结果如下: +![ipv4_e1000e_example_result](./fig/ipv4_e1000e_example_result.png) +![ipv4_e1000e_example_ping](./fig/ipv4_e1000e_example_ping.png) + + #### 2.4.2 网卡ipv6模式初始化测试例程 (lwip_ipv6_example.c) ``` diff --git a/example/network/lwip_startup/configs/d2000_aarch32_test_lwip.config b/example/network/lwip_startup/configs/d2000_aarch32_test_lwip.config index ff9c88ee66c242bb1e66044e778ba85d47671883..78ce311233884340462878e971d2f28ce37e2c27 100644 --- a/example/network/lwip_startup/configs/d2000_aarch32_test_lwip.config +++ b/example/network/lwip_startup/configs/d2000_aarch32_test_lwip.config @@ -3,7 +3,12 @@ CONFIG_TARGET_D2000=y CONFIG_TARGET_NAME="lwip" CONFIG_USE_ETH=y CONFIG_ENABLE_FGMAC=y +CONFIG_ENABLE_E1000E=y +CONFIG_USE_PCIE=y +CONFIG_ENABLE_FPCIE_ECAM=y CONFIG_USE_LWIP=y +CONFIG_LWIP_FGMAC=y +CONFIG_LWIP_E1000E=y CONFIG_LWIP_USE_MEM_HEAP=y CONFIG_LWIP_IP4_REASSEMBLY=y CONFIG_IP_REASS_MAX_PBUFS=32 diff --git a/example/network/lwip_startup/configs/d2000_aarch64_test_lwip.config b/example/network/lwip_startup/configs/d2000_aarch64_test_lwip.config index 4a6353d1c623997ec97493809cb0aa350af63f5d..318c7e961489fac1e96851c7c389ef32f4fb619f 100644 --- a/example/network/lwip_startup/configs/d2000_aarch64_test_lwip.config +++ b/example/network/lwip_startup/configs/d2000_aarch64_test_lwip.config @@ -2,7 +2,12 @@ CONFIG_TARGET_D2000=y CONFIG_TARGET_NAME="lwip" CONFIG_USE_ETH=y CONFIG_ENABLE_FGMAC=y +CONFIG_ENABLE_E1000E=y +CONFIG_USE_PCIE=y +CONFIG_ENABLE_FPCIE_ECAM=y CONFIG_USE_LWIP=y +CONFIG_LWIP_FGMAC=y +CONFIG_LWIP_E1000E=y CONFIG_LWIP_USE_MEM_HEAP=y CONFIG_LWIP_IP4_REASSEMBLY=y CONFIG_IP_REASS_MAX_PBUFS=32 diff --git a/example/network/lwip_startup/configs/e2000d_aarch32_demo_lwip.config b/example/network/lwip_startup/configs/e2000d_aarch32_demo_lwip.config index 12317446f0e12708b846bbbabf7e7df936db03b2..38b4d288e9910a6f00da563e5e691f90c7da981f 100644 --- a/example/network/lwip_startup/configs/e2000d_aarch32_demo_lwip.config +++ b/example/network/lwip_startup/configs/e2000d_aarch32_demo_lwip.config @@ -3,8 +3,12 @@ CONFIG_TARGET_E2000D=y CONFIG_TARGET_NAME="lwip" CONFIG_USE_ETH=y CONFIG_ENABLE_FXMAC=y +CONFIG_ENABLE_E1000E=y +CONFIG_USE_PCIE=y +CONFIG_ENABLE_FPCIE_ECAM=y CONFIG_USE_LWIP=y CONFIG_LWIP_FXMAC=y +CONFIG_LWIP_E1000E=y CONFIG_LWIP_USE_MEM_HEAP=y CONFIG_LWIP_IP4_REASSEMBLY=y CONFIG_IP_REASS_MAX_PBUFS=32 diff --git a/example/network/lwip_startup/configs/e2000d_aarch64_demo_lwip.config b/example/network/lwip_startup/configs/e2000d_aarch64_demo_lwip.config index 1cb73be28691fc610cded85ff7ddd8e2c53e97c6..54ac72d1a858fde9af130ccd744fe6941ec7e5cc 100644 --- a/example/network/lwip_startup/configs/e2000d_aarch64_demo_lwip.config +++ b/example/network/lwip_startup/configs/e2000d_aarch64_demo_lwip.config @@ -2,8 +2,12 @@ CONFIG_TARGET_E2000D=y CONFIG_TARGET_NAME="lwip" CONFIG_USE_ETH=y CONFIG_ENABLE_FXMAC=y +CONFIG_ENABLE_E1000E=y +CONFIG_USE_PCIE=y +CONFIG_ENABLE_FPCIE_ECAM=y CONFIG_USE_LWIP=y CONFIG_LWIP_FXMAC=y +CONFIG_LWIP_E1000E=y CONFIG_LWIP_USE_MEM_HEAP=y CONFIG_LWIP_IP4_REASSEMBLY=y CONFIG_IP_REASS_MAX_PBUFS=32 diff --git a/example/network/lwip_startup/configs/e2000q_aarch32_demo_lwip.config b/example/network/lwip_startup/configs/e2000q_aarch32_demo_lwip.config index 05eaff407edf70fbd49bcc98e1938e34ee1694a4..8ac8d4e6062d051509b6227f9dc3cd40c59cc1e6 100644 --- a/example/network/lwip_startup/configs/e2000q_aarch32_demo_lwip.config +++ b/example/network/lwip_startup/configs/e2000q_aarch32_demo_lwip.config @@ -2,8 +2,12 @@ CONFIG_ARCH_ARMV8_AARCH32=y CONFIG_TARGET_NAME="lwip" CONFIG_USE_ETH=y CONFIG_ENABLE_FXMAC=y +CONFIG_ENABLE_E1000E=y +CONFIG_USE_PCIE=y +CONFIG_ENABLE_FPCIE_ECAM=y CONFIG_USE_LWIP=y CONFIG_LWIP_FXMAC=y +CONFIG_LWIP_E1000E=y CONFIG_LWIP_USE_MEM_HEAP=y CONFIG_LWIP_IP4_REASSEMBLY=y CONFIG_IP_REASS_MAX_PBUFS=32 diff --git a/example/network/lwip_startup/configs/e2000q_aarch64_demo_lwip.config b/example/network/lwip_startup/configs/e2000q_aarch64_demo_lwip.config index 206282062af8c8cc3d4eb836dc2bf3426f7b94cd..759329864564eab98ea257237f372fd775509b14 100644 --- a/example/network/lwip_startup/configs/e2000q_aarch64_demo_lwip.config +++ b/example/network/lwip_startup/configs/e2000q_aarch64_demo_lwip.config @@ -1,8 +1,12 @@ CONFIG_TARGET_NAME="lwip" CONFIG_USE_ETH=y CONFIG_ENABLE_FXMAC=y +CONFIG_ENABLE_E1000E=y +CONFIG_USE_PCIE=y +CONFIG_ENABLE_FPCIE_ECAM=y CONFIG_USE_LWIP=y CONFIG_LWIP_FXMAC=y +CONFIG_LWIP_E1000E=y CONFIG_LWIP_USE_MEM_HEAP=y CONFIG_LWIP_IP4_REASSEMBLY=y CONFIG_IP_REASS_MAX_PBUFS=32 diff --git a/example/network/lwip_startup/configs/ft2004_aarch32_dsk_lwip.config b/example/network/lwip_startup/configs/ft2004_aarch32_dsk_lwip.config index b0193ddc4c5ad1f9e69f97e10d8838e11d1db613..d784cbc8e0e68459ecb7562614cb5711c010d017 100644 --- a/example/network/lwip_startup/configs/ft2004_aarch32_dsk_lwip.config +++ b/example/network/lwip_startup/configs/ft2004_aarch32_dsk_lwip.config @@ -3,7 +3,12 @@ CONFIG_TARGET_FT2004=y CONFIG_TARGET_NAME="lwip" CONFIG_USE_ETH=y CONFIG_ENABLE_FGMAC=y +CONFIG_ENABLE_E1000E=y +CONFIG_USE_PCIE=y +CONFIG_ENABLE_FPCIE_ECAM=y CONFIG_USE_LWIP=y +CONFIG_LWIP_FGMAC=y +CONFIG_LWIP_E1000E=y CONFIG_LWIP_USE_MEM_HEAP=y CONFIG_LWIP_IP4_REASSEMBLY=y CONFIG_IP_REASS_MAX_PBUFS=32 diff --git a/example/network/lwip_startup/configs/ft2004_aarch64_dsk_lwip.config b/example/network/lwip_startup/configs/ft2004_aarch64_dsk_lwip.config index d99bab2b0c7fd79fa023259da87d735b17604751..82d80b00f177099ca442a0ac1fd76b5ccd3d0957 100644 --- a/example/network/lwip_startup/configs/ft2004_aarch64_dsk_lwip.config +++ b/example/network/lwip_startup/configs/ft2004_aarch64_dsk_lwip.config @@ -2,7 +2,12 @@ CONFIG_TARGET_FT2004=y CONFIG_TARGET_NAME="lwip" CONFIG_USE_ETH=y CONFIG_ENABLE_FGMAC=y +CONFIG_ENABLE_E1000E=y +CONFIG_USE_PCIE=y +CONFIG_ENABLE_FPCIE_ECAM=y CONFIG_USE_LWIP=y +CONFIG_LWIP_FGMAC=y +CONFIG_LWIP_E1000E=y CONFIG_LWIP_USE_MEM_HEAP=y CONFIG_LWIP_IP4_REASSEMBLY=y CONFIG_IP_REASS_MAX_PBUFS=32 diff --git a/example/network/lwip_startup/configs/pd2308_aarch64_demo_lwip.config b/example/network/lwip_startup/configs/pd2308_aarch64_demo_lwip.config index 2d7ddc514891e521007178b9010a650f0e44488a..63372468042d8d37bbe0472e93519903b0717377 100644 --- a/example/network/lwip_startup/configs/pd2308_aarch64_demo_lwip.config +++ b/example/network/lwip_startup/configs/pd2308_aarch64_demo_lwip.config @@ -3,8 +3,12 @@ CONFIG_TARGET_NAME="lwip" CONFIG_ENABLE_IOPAD=y CONFIG_USE_ETH=y CONFIG_ENABLE_FXMAC=y +CONFIG_ENABLE_E1000E=y +CONFIG_USE_PCIE=y +CONFIG_ENABLE_FPCIE_ECAM=y CONFIG_USE_LWIP=y CONFIG_LWIP_FXMAC=y +CONFIG_LWIP_E1000E=y CONFIG_LWIP_USE_MEM_HEAP=y CONFIG_LWIP_IP4_REASSEMBLY=y CONFIG_IP_REASS_MAX_PBUFS=32 diff --git a/example/network/lwip_startup/configs/phytiumpi_aarch32_firefly_lwip.config b/example/network/lwip_startup/configs/phytiumpi_aarch32_firefly_lwip.config index b1ada47695505250601e12f0b3ba57f6094591ca..b5964146454190f577821eedd8172a63a0edf26a 100644 --- a/example/network/lwip_startup/configs/phytiumpi_aarch32_firefly_lwip.config +++ b/example/network/lwip_startup/configs/phytiumpi_aarch32_firefly_lwip.config @@ -3,8 +3,12 @@ CONFIG_TARGET_PHYTIUMPI=y CONFIG_TARGET_NAME="lwip" CONFIG_USE_ETH=y CONFIG_ENABLE_FXMAC=y +CONFIG_ENABLE_E1000E=y +CONFIG_USE_PCIE=y +CONFIG_ENABLE_FPCIE_ECAM=y CONFIG_USE_LWIP=y CONFIG_LWIP_FXMAC=y +CONFIG_LWIP_E1000E=y CONFIG_LWIP_USE_MEM_HEAP=y CONFIG_LWIP_IP4_REASSEMBLY=y CONFIG_IP_REASS_MAX_PBUFS=32 diff --git a/example/network/lwip_startup/configs/phytiumpi_aarch64_firefly_lwip.config b/example/network/lwip_startup/configs/phytiumpi_aarch64_firefly_lwip.config index ab62649b7185d7536c3a894c31176b83244a8bbe..ced254f0c28be766c67e9b3729a03a48b138c775 100644 --- a/example/network/lwip_startup/configs/phytiumpi_aarch64_firefly_lwip.config +++ b/example/network/lwip_startup/configs/phytiumpi_aarch64_firefly_lwip.config @@ -2,8 +2,12 @@ CONFIG_TARGET_PHYTIUMPI=y CONFIG_TARGET_NAME="lwip" CONFIG_USE_ETH=y CONFIG_ENABLE_FXMAC=y +CONFIG_ENABLE_E1000E=y +CONFIG_USE_PCIE=y +CONFIG_ENABLE_FPCIE_ECAM=y CONFIG_USE_LWIP=y CONFIG_LWIP_FXMAC=y +CONFIG_LWIP_E1000E=y CONFIG_LWIP_USE_MEM_HEAP=y CONFIG_LWIP_IP4_REASSEMBLY=y CONFIG_IP_REASS_MAX_PBUFS=32 diff --git a/example/network/lwip_startup/fig/CONFIG_ENABLE_E1000E.png b/example/network/lwip_startup/fig/CONFIG_ENABLE_E1000E.png new file mode 100644 index 0000000000000000000000000000000000000000..5365db86ade74801f6efa65dfe3922fbb87d4ca0 Binary files /dev/null and b/example/network/lwip_startup/fig/CONFIG_ENABLE_E1000E.png differ diff --git a/example/network/lwip_startup/fig/CONFIG_ENABLE_FPCIE_ECAM.png b/example/network/lwip_startup/fig/CONFIG_ENABLE_FPCIE_ECAM.png new file mode 100644 index 0000000000000000000000000000000000000000..ef2f8f620293a0fafe9b0adebddc7634c7fb5ff8 Binary files /dev/null and b/example/network/lwip_startup/fig/CONFIG_ENABLE_FPCIE_ECAM.png differ diff --git a/example/network/lwip_startup/fig/CONFIG_LWIP_E1000E.png b/example/network/lwip_startup/fig/CONFIG_LWIP_E1000E.png new file mode 100644 index 0000000000000000000000000000000000000000..0bb2afc8b994b10ad2f0a082e3d06527fa14a4c3 Binary files /dev/null and b/example/network/lwip_startup/fig/CONFIG_LWIP_E1000E.png differ diff --git a/example/network/lwip_startup/fig/ipv4_e1000e_example_ping.png b/example/network/lwip_startup/fig/ipv4_e1000e_example_ping.png new file mode 100644 index 0000000000000000000000000000000000000000..081164c900f8755e6d3b221e49dc84c9be6827c2 Binary files /dev/null and b/example/network/lwip_startup/fig/ipv4_e1000e_example_ping.png differ diff --git a/example/network/lwip_startup/fig/ipv4_e1000e_example_result.png b/example/network/lwip_startup/fig/ipv4_e1000e_example_result.png new file mode 100644 index 0000000000000000000000000000000000000000..11aa24a964cae9d4d4ee6d932c1097076cf36c4f Binary files /dev/null and b/example/network/lwip_startup/fig/ipv4_e1000e_example_result.png differ diff --git a/example/network/lwip_startup/inc/net_pcie_common.h b/example/network/lwip_startup/inc/net_pcie_common.h new file mode 100644 index 0000000000000000000000000000000000000000..4016ed93d34a5835465b3844415bdec334ec0f88 --- /dev/null +++ b/example/network/lwip_startup/inc/net_pcie_common.h @@ -0,0 +1,80 @@ +/* + * Copyright : (C) 2023 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: net_pcie_common.h + * Date: 2025-01-13 14:53:42 + * LastEditTime: 2025-01-13 17:46:03 + * Description:  This file is for net pcie example common definition + * + * Modify History: + * Ver Who Date Changes + * ----- ---------- -------- --------------------------------- + * 1.0 huangjin 2025/01/13 first release + */ +#ifndef NET_PCIE_COMMON_H +#define NET_PCIE_COMMON_H + +#include "fdebug.h" +#include "e1000e.h" +#include "fpcie_ecam.h" +#include "lwip_port.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define FNET_DEBUG_TAG "NET_PCIE_TEST" +#define FNET_ERROR(format, ...) FT_DEBUG_PRINT_E(FNET_DEBUG_TAG, format, ##__VA_ARGS__) +#define FNET_WARN(format, ...) FT_DEBUG_PRINT_W(FNET_DEBUG_TAG, format, ##__VA_ARGS__) +#define FNET_INFO(format, ...) FT_DEBUG_PRINT_I(FNET_DEBUG_TAG, format, ##__VA_ARGS__) +#define FNET_DEBUG(format, ...) FT_DEBUG_PRINT_D(FNET_DEBUG_TAG, format, ##__VA_ARGS__) + +#define PCI_CLASS_STORAGE_NET_AHCI 0x020000 + +#define ETH_NAME_PREFIX 'e' +#define PCIE_ETH_NAME_PREFIX 'p' + +#define CONFIG_DEFAULT_INIT(config, driver_config, instance_id, interface_type) \ + .config.magic_code = LWIP_PORT_CONFIG_MAGIC_CODE, \ + .config.driver_type = driver_config, \ + .config.mac_instance = instance_id, \ + .config.mii_interface = interface_type, \ + .config.autonegotiation = 1, \ + .config.phy_speed = LWIP_PORT_SPEED_1000M, \ + .config.phy_duplex = LWIP_PORT_FULL_DUPLEX, \ + .config.capability = LWIP_PORT_MODE_NAIVE, + +typedef struct +{ + UserConfig lwip_mac_config; + u32 dhcp_en; + char* ipaddr; + char* netmask; + char* gw; + unsigned char mac_address[6]; + struct netif netif; +} BoardMacConfig; + +/* 转化地址格式 */ +void SetIP(ip_addr_t* ipaddr, ip_addr_t* gw, ip_addr_t* netmask, BoardMacConfig mac_config); + +/*pcie and sata init function*/ +FError FNetPcieInit(void); + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/example/network/lwip_startup/sdkconfig b/example/network/lwip_startup/sdkconfig index 0301ed4aace7c99217645d05f403350f0f78957d..a6455b1089fb2e6e5788f4def4a42cbf30f3d959 100644 --- a/example/network/lwip_startup/sdkconfig +++ b/example/network/lwip_startup/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 @@ -138,6 +140,7 @@ CONFIG_USE_ETH=y # CONFIG_ENABLE_FXMAC=y # CONFIG_ENABLE_FGMAC is not set +CONFIG_ENABLE_E1000E=y CONFIG_FXMAC_PHY_COMMON=y # CONFIG_FXMAC_PHY_YT is not set # end of Eth Configuration @@ -147,7 +150,15 @@ CONFIG_FXMAC_PHY_COMMON=y # CONFIG_USE_TIMER is not set # CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set -# CONFIG_USE_PCIE is not set +CONFIG_USE_PCIE=y + +# +# Pcie Configuration +# +CONFIG_ENABLE_FPCIE_ECAM=y +# CONFIG_ENABLE_FPCIEC is not set +# end of Pcie Configuration + # CONFIG_USE_WDT is not set # CONFIG_USE_DMA is not set # CONFIG_USE_NAND is not set @@ -176,6 +187,7 @@ CONFIG_USE_LWIP=y # CONFIG_LWIP_FXMAC=y # CONFIG_LWIP_FGMAC is not set +CONFIG_LWIP_E1000E=y # CONFIG_LWIP_FSDIF is not set # end of LWIP Port Configuration diff --git a/example/network/lwip_startup/sdkconfig.h b/example/network/lwip_startup/sdkconfig.h index 2ea48bebf183ebd7927522b643d19aaa535be92a..534dce5216965f21bccc0053a1bae940c5ab1f85 100644 --- a/example/network/lwip_startup/sdkconfig.h +++ b/example/network/lwip_startup/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 @@ -125,6 +127,7 @@ #define CONFIG_ENABLE_FXMAC /* CONFIG_ENABLE_FGMAC is not set */ +#define CONFIG_ENABLE_E1000E #define CONFIG_FXMAC_PHY_COMMON /* CONFIG_FXMAC_PHY_YT is not set */ /* end of Eth Configuration */ @@ -133,7 +136,13 @@ /* CONFIG_USE_TIMER is not set */ /* CONFIG_USE_MIO is not set */ /* CONFIG_USE_SDMMC is not set */ -/* CONFIG_USE_PCIE is not set */ +#define CONFIG_USE_PCIE + +/* Pcie Configuration */ + +#define CONFIG_ENABLE_FPCIE_ECAM +/* CONFIG_ENABLE_FPCIEC is not set */ +/* end of Pcie Configuration */ /* CONFIG_USE_WDT is not set */ /* CONFIG_USE_DMA is not set */ /* CONFIG_USE_NAND is not set */ @@ -158,6 +167,7 @@ #define CONFIG_LWIP_FXMAC /* CONFIG_LWIP_FGMAC is not set */ +#define CONFIG_LWIP_E1000E /* CONFIG_LWIP_FSDIF is not set */ /* end of LWIP Port Configuration */ #define CONFIG_LWIP_NO_SYS diff --git a/example/network/lwip_startup/src/lwip_dhcp_example.c b/example/network/lwip_startup/src/lwip_dhcp_example.c index 039037ce5d8ecd96cd4e10ad3d3d4283590cf44e..92cde74a3c7045adec961b3ee0dcd8fabaf7adfa 100644 --- a/example/network/lwip_startup/src/lwip_dhcp_example.c +++ b/example/network/lwip_startup/src/lwip_dhcp_example.c @@ -113,16 +113,19 @@ static int DhcpService_Is_Sucess() { struct netif *netif; char * ip_addr; + int ret = 0; for (int i = 0; i < MAC_NUM; i++) { netif = LwipPortGetByName(board_mac_config[i].lwip_mac_config.name); ip_addr = ipaddr_ntoa(&(netif->ip_addr)); if(strcmp(ip_addr,board_mac_config[i].ipaddr) == 0) - return 0; + printf("Eth%d dhcp service failed, please check the network configuration and physical connection status.\r\n", i); + else + ret++; } - return 1; + return ret; } int LwipDhcpTestCreate(void) diff --git a/example/network/lwip_startup/src/lwip_ipv4_example.c b/example/network/lwip_startup/src/lwip_ipv4_example.c index e3c587a990deb4584e0805075bf6aeddd66d2860..ac3fc2bd0a8ec56bcb067713d77652fae48d37f0 100644 --- a/example/network/lwip_startup/src/lwip_ipv4_example.c +++ b/example/network/lwip_startup/src/lwip_ipv4_example.c @@ -13,13 +13,14 @@ * * FilePath: lwip_ipv4_example.c * Created Date: 2023-09-20 11:29:05 - * Last Modified: 2024-03-19 11:01:50 + * Last Modified: 2025-01-06 11:01:50 * Description: This file is for lwip ipv4 example function implementation. * * Modify History: * Ver Who Date Changes * ----- ---------- -------- --------------------------------- * 1.0 liuzhihong 2023/10/8 first release + * 1.1 huangjin 2025/01/06 add e1000e */ @@ -43,36 +44,10 @@ #include "lwip/netif.h" #include "lwip/tcpip.h" #include "lwip/inet.h" +#include "net_pcie_common.h" - -#define ETH_NAME_PREFIX 'e' - -#define CONFIG_DEFAULT_INIT(config,driver_config,instance_id,interface_type) \ - .config.magic_code = LWIP_PORT_CONFIG_MAGIC_CODE, \ - .config.driver_type = driver_config, \ - .config.mac_instance = instance_id, \ - .config.mii_interface = interface_type, \ - .config.autonegotiation = 1, \ - .config.phy_speed = LWIP_PORT_SPEED_1000M, \ - .config.phy_duplex = LWIP_PORT_FULL_DUPLEX, \ - .config.capability = LWIP_PORT_MODE_NAIVE, - - - -typedef struct +static BoardMacConfig board_mac_config[MAC_NUM] = { - UserConfig lwip_mac_config; - u32 dhcp_en; - char* ipaddr; - char* netmask; - char* gw; - unsigned char mac_address[6]; - struct netif netif; -} BoardMacConfig; - - - static BoardMacConfig board_mac_config[MAC_NUM] = - { #if defined(MAC_NUM0) { CONFIG_DEFAULT_INIT(lwip_mac_config,MAC_NUM0_LWIP_PORT_TYPE,MAC_NUM0_CONTROLLER,MAC_NUM0_MII_INTERFACE) @@ -95,44 +70,42 @@ typedef struct #endif }; - -static void SetIP(ip_addr_t* ipaddr,ip_addr_t* gw,ip_addr_t* netmask,u32 mac_id) -{ - - if(inet_aton(board_mac_config[mac_id].ipaddr,ipaddr)==0) - printf("The addr of ipaddr is wrong\r\n"); - if(inet_aton(board_mac_config[mac_id].gw,gw)==0) - printf("The addr of gw is wrong\r\n"); - if(inet_aton(board_mac_config[mac_id].netmask,netmask)==0) - printf("The addr of netmask is wrong\r\n"); - -} int LwipIpv4TestCreate(void) { FError ret = FT_SUCCESS; + + /*init pcie net*/ + ret = FNetPcieInit(); + if (ret != FT_SUCCESS) + { + FNET_ERROR("Net Pcie init failed, please check if the e1000e is successfully connected"); + } + /* mac init */ for (int i = 0; i < MAC_NUM; i++) { - struct netif *netif_p = NULL; - ip_addr_t ipaddr,netmask, gw; + ip_addr_t ipaddr, netmask, gw; + board_mac_config[i].lwip_mac_config.name[0] = ETH_NAME_PREFIX; itoa(board_mac_config[i].lwip_mac_config.mac_instance, &(board_mac_config[i].lwip_mac_config.name[1]), 10); - - /* mac ip addr set: char* -> ip_addr_t */ - SetIP(&ipaddr,&gw,&netmask,i); - /* ******************************************************************* */ - - netif_p= &board_mac_config[i].netif; + /* mac ip addr set: char* -> ip_addr_t */ + SetIP(&ipaddr, &gw, &netmask, board_mac_config[i]); + /*********************************************************************/ + netif_p = &board_mac_config[i].netif; /* Add network interface to the netif_list, and set it as default */ if (!LwipPortAdd(netif_p, &ipaddr, &netmask, &gw, board_mac_config[i].mac_address, (UserConfig *)&board_mac_config[i])) { - printf("Error adding N/W interface %d.\n\r",board_mac_config[i].lwip_mac_config.mac_instance); + printf("Error adding N/W interface %d.\n\r", board_mac_config[i].lwip_mac_config.mac_instance); ret = ERR_GENERAL; goto exit; } - printf("LwipPortAdd mac_instance %d is over.\n\r",board_mac_config[i].lwip_mac_config.mac_instance); - + else + { + printf("LwipPortAdd mac_instance %d is over.\n\r", board_mac_config[i].lwip_mac_config.mac_instance); + ret = FT_SUCCESS; + } + netif_set_default(netif_p); if (netif_is_link_up(netif_p)) @@ -149,10 +122,8 @@ int LwipIpv4TestCreate(void) /* 当netif链接关闭时,必须调用该函数 */ netif_set_down(netif_p); } - - } - + printf("Network setup complete.\n"); exit: @@ -170,12 +141,11 @@ exit: void LwipIpv4TestDeinit(void) { - for (int i = 0; i < MAC_NUM; i++) - { + for (int i = 0; i < MAC_NUM; i++) + { struct netif *netif_p = NULL; - netif_p=&board_mac_config[i].netif; - LwipPortStop(netif_p,board_mac_config[i].dhcp_en); - } - + netif_p = &board_mac_config[i].netif; + LwipPortStop(netif_p, board_mac_config[i].dhcp_en); + } } diff --git a/example/network/lwip_startup/src/net_pcie_common.c b/example/network/lwip_startup/src/net_pcie_common.c new file mode 100644 index 0000000000000000000000000000000000000000..5c4e6ba05ee6bb246d835c4a181f62f02b2e4488 --- /dev/null +++ b/example/network/lwip_startup/src/net_pcie_common.c @@ -0,0 +1,202 @@ + +/* + * Copyright : (C) 2023 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: net_pcie_common.c + * Date: 2025-01-13 14:53:42 + * LastEditTime: 2025-01-13 17:46:03 + * Description:  This file is for net pcie common functions + * + * Modify History: + * Ver Who Date Changes + * ----- ---------- -------- --------------------------------- + * 1.0 huangjin 2025/01/13 first release + */ + +/***************************** Include Files *********************************/ +#include +#include +#include "sdkconfig.h" +#ifndef SDK_CONFIG_H__ + #warning "Please include sdkconfig.h" +#endif +#include "finterrupt.h" +#include "fpcie_ecam.h" +#include "fpcie_ecam_common.h" +#include "e1000e.h" +#include "e1000e_hw.h" +#include "fcpu_info.h" +#include "ferror_code.h" +#include "fpcie_ecam_msi.h" +#include "net_pcie_common.h" + +#include "lwip/ip4_addr.h" +#include "lwip/inet.h" +#include "lwip/netif.h" + + +/************************** Constant Definitions *****************************/ + +/**************************** Type Definitions *******************************/ + +extern FE1000EConfig FE1000E_CONFIG_TBL[FE1000E_NUM]; + +/*max support 16 ahci controllers*/ +static FPcieEcam pcie_device; + +static BoardMacConfig pcie_mac_config = +{ + CONFIG_DEFAULT_INIT(lwip_mac_config, LWIP_PORT_TYPE_E1000E, 0, LWIP_PORT_INTERFACE_SGMII) + .dhcp_en = 0, + .ipaddr = "192.168.4.12", + .gw = "192.168.4.1", + .netmask = "255.255.255.0", + .mac_address = {0x6c, 0xb3, 0x11, 0x0f, 0x9a, 0x44}, +}; +/************************** Variable Definitions *****************************/ + +/***************** Macros (Inline Functions) Definitions *********************/ + +/************************** Function Prototypes ******************************/ + +/************************** Function *****************************************/ + +void SetIP(ip_addr_t* ipaddr, ip_addr_t* gw, ip_addr_t* netmask, BoardMacConfig mac_config) +{ + if(inet_aton(mac_config.ipaddr, ipaddr) == 0) + printf("The addr of ipaddr is wrong\r\n"); + if(inet_aton(mac_config.gw, gw) == 0) + printf("The addr of gw is wrong\r\n"); + if(inet_aton(mac_config.netmask, netmask) == 0) + printf("The addr of netmask is wrong\r\n"); +} + +static FError FPcieInit(FPcieEcam *pcie_device) +{ + FError ret = FE1000E_SUCCESS; + + ret = FPcieEcamCfgInitialize(pcie_device, FPcieEcamLookupConfig(FPCIE_ECAM_INSTANCE0), NULL); + if (ret != FT_SUCCESS) + { + return ret; + } + FNET_DEBUG("\n"); + FNET_DEBUG(" PCI:\n"); + FNET_DEBUG(" B:D:F VID:PID parent_BDF class_code\n"); + ret = FPcieEcamEnumerateBus(pcie_device, 0) ; + if (ret != FT_SUCCESS) + { + return ret; + } + + return ret; +} + +FError FNetPcieInit(void) +{ + FError ret = FE1000E_SUCCESS; + s32 host; + u32 class = 0; + const u32 class_code = PCI_CLASS_STORAGE_NET_AHCI; + uintptr bar_addr = 0; + u8 bus = 0; + u8 device = 0; + u8 function = 0; + u32 config_data; + u32 cmdstat; + + struct netif *netif_p = NULL; + ip_addr_t ipaddr, netmask, gw; + + /* pcie init */ + ret = FPcieInit(&pcie_device); + if (ret != FE1000E_SUCCESS) + { + FNET_ERROR("FPcieInit failed."); + return FE1000E_ERR_FAILED; + } + + /* find xhci host from pcie instance */ + for (host = 0; host < pcie_device.scans_bdf_count; host++) + { + bus = pcie_device.scans_bdf[host].bus; + device = pcie_device.scans_bdf[host].device; + function = pcie_device.scans_bdf[host].function; + + FPcieEcamReadConfigSpace(&pcie_device, bus, device, function, FPCIE_CCR_REV_CLASSID_REGS, &config_data); + FNET_DEBUG("FPCIE_CCR_REV_CLASSID_REGS = %x\n", config_data); + class = config_data >> 8; + + if (class == class_code) + { + FPcieEcamReadConfigSpace(&pcie_device, bus, device, function, FPCIE_CCR_ID_REG, &config_data); + + FNET_DEBUG("AHCI-PCI HOST found !!!, b.d.f = %x.%x.%x\n", bus, device, function); + + FPcieEcamReadConfigSpace(&pcie_device, bus, device, function, FPCIE_CCR_BAR_ADDR0_REGS, (u32 *)&bar_addr); + FNET_DEBUG("FNetPcieIntrInstall BarAddress %p", bar_addr); + FE1000E_CONFIG_TBL[FE1000E0_ID].base_addr = bar_addr; + + if (0x0 == bar_addr) + { + FNET_ERROR("Bar address: 0x%lx", bar_addr); + return -1; + } + + break; + } + } + if (class != class_code) + { + FNET_ERROR("class_code: 0x%06x is not pcie net card!", class); + return -1; + } + + /* 设置cmd reg */ + FPcieEcamReadConfigSpace(&pcie_device, bus, device, function, FPCIE_CCR_CMD_STATUS_REGS, &cmdstat); + cmdstat |= (FPCIE_CCR_CMD_MEMORY_ACCESS_ENABLED |FPCIE_CCR_CMD_BUS_MASTER_ENABLED); + FPcieEcamWriteConfigSpace(&pcie_device, bus, device, function, FPCIE_CCR_CMD_STATUS_REGS, cmdstat); + + /* pcie net init */ + pcie_mac_config.lwip_mac_config.name[0] = PCIE_ETH_NAME_PREFIX; + itoa(pcie_mac_config.lwip_mac_config.mac_instance, &(pcie_mac_config.lwip_mac_config.name[1]), 10); + SetIP(&ipaddr, &gw, &netmask, pcie_mac_config); + netif_p = &pcie_mac_config.netif; + /* Add network interface to the netif_list, and set it as default */ + if (!LwipPortAdd(netif_p, &ipaddr, &netmask, &gw, pcie_mac_config.mac_address, (UserConfig *)&pcie_mac_config)) + { + printf("Error adding N/W interface %d.\n\r", pcie_mac_config.lwip_mac_config.mac_instance); + ret = ERR_GENERAL; + return FE1000E_ERR_FAILED; + } + printf("LwipPortAdd pcie_mac_instance %d is over.\n\r", pcie_mac_config.lwip_mac_config.mac_instance); + + netif_set_default(netif_p); + + if (netif_is_link_up(netif_p)) + { + /* 当netif完全配置好时,必须调用该函数 */ + netif_set_up(netif_p); + if (pcie_mac_config.dhcp_en == 1) + { + LwipPortDhcpSet(netif_p, TRUE); + } + } + else + { + /* 当netif链接关闭时,必须调用该函数 */ + netif_set_down(netif_p); + } + + return ret; +} diff --git a/example/network/mac_frame/sdkconfig b/example/network/mac_frame/sdkconfig index f2d7381171e6b8d168a4d757c02c97397f8c3cdf..6585ed2f3eeb1090c57906a775886b7e760802cd 100644 --- a/example/network/mac_frame/sdkconfig +++ b/example/network/mac_frame/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 @@ -138,6 +140,7 @@ CONFIG_USE_ETH=y # CONFIG_ENABLE_FXMAC=y # CONFIG_ENABLE_FGMAC is not set +# CONFIG_ENABLE_E1000E is not set # CONFIG_FXMAC_PHY_COMMON is not set CONFIG_FXMAC_PHY_YT=y # end of Eth Configuration diff --git a/example/network/mac_frame/sdkconfig.h b/example/network/mac_frame/sdkconfig.h index e77bbca1074fa205c3323165f71d1cfdbed6cd93..11893cabd14a1449a762defa6a8b4fc85ceb0812 100644 --- a/example/network/mac_frame/sdkconfig.h +++ b/example/network/mac_frame/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 @@ -125,6 +127,7 @@ #define CONFIG_ENABLE_FXMAC /* CONFIG_ENABLE_FGMAC is not set */ +/* CONFIG_ENABLE_E1000E is not set */ /* CONFIG_FXMAC_PHY_COMMON is not set */ #define CONFIG_FXMAC_PHY_YT /* end of Eth Configuration */ diff --git a/example/network/raw_api/tcp_client/sdkconfig b/example/network/raw_api/tcp_client/sdkconfig index 3fce263f6b81eaef6908c9ff089f528237c9e717..84bc2e22ac6c393ad73743396f4318b3878a889a 100644 --- a/example/network/raw_api/tcp_client/sdkconfig +++ b/example/network/raw_api/tcp_client/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 @@ -138,6 +140,7 @@ CONFIG_USE_ETH=y # CONFIG_ENABLE_FXMAC=y # CONFIG_ENABLE_FGMAC is not set +# CONFIG_ENABLE_E1000E is not set CONFIG_FXMAC_PHY_COMMON=y # CONFIG_FXMAC_PHY_YT is not set # end of Eth Configuration @@ -176,6 +179,7 @@ CONFIG_USE_LWIP=y # CONFIG_LWIP_FXMAC=y # CONFIG_LWIP_FGMAC is not set +# CONFIG_LWIP_E1000E is not set # CONFIG_LWIP_FSDIF is not set # end of LWIP Port Configuration diff --git a/example/network/raw_api/tcp_client/sdkconfig.h b/example/network/raw_api/tcp_client/sdkconfig.h index 3df2e980e459daa8ce237431a8ca77ad9ce49a0f..15aca399174f6325dae982472989c68a98ea9406 100644 --- a/example/network/raw_api/tcp_client/sdkconfig.h +++ b/example/network/raw_api/tcp_client/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 @@ -125,6 +127,7 @@ #define CONFIG_ENABLE_FXMAC /* CONFIG_ENABLE_FGMAC is not set */ +/* CONFIG_ENABLE_E1000E is not set */ #define CONFIG_FXMAC_PHY_COMMON /* CONFIG_FXMAC_PHY_YT is not set */ /* end of Eth Configuration */ @@ -158,6 +161,7 @@ #define CONFIG_LWIP_FXMAC /* CONFIG_LWIP_FGMAC is not set */ +/* CONFIG_LWIP_E1000E is not set */ /* CONFIG_LWIP_FSDIF is not set */ /* end of LWIP Port Configuration */ #define CONFIG_LWIP_NO_SYS diff --git a/example/network/raw_api/tcp_server/sdkconfig b/example/network/raw_api/tcp_server/sdkconfig index 8a386163f9771a5ba9f9812a49adb65554363ec4..805370d701c5b063fa224fc5cfc014cf91e104b1 100644 --- a/example/network/raw_api/tcp_server/sdkconfig +++ b/example/network/raw_api/tcp_server/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 @@ -138,6 +140,7 @@ CONFIG_USE_ETH=y # CONFIG_ENABLE_FXMAC=y # CONFIG_ENABLE_FGMAC is not set +# CONFIG_ENABLE_E1000E is not set CONFIG_FXMAC_PHY_COMMON=y # CONFIG_FXMAC_PHY_YT is not set # end of Eth Configuration @@ -176,6 +179,7 @@ CONFIG_USE_LWIP=y # CONFIG_LWIP_FXMAC=y # CONFIG_LWIP_FGMAC is not set +# CONFIG_LWIP_E1000E is not set # CONFIG_LWIP_FSDIF is not set # end of LWIP Port Configuration diff --git a/example/network/raw_api/tcp_server/sdkconfig.h b/example/network/raw_api/tcp_server/sdkconfig.h index 1f43a66c430b7acd9577e39a09fc97991806f237..5ce34c61e4fcc207a3d99dd87a8d2b470b457f43 100644 --- a/example/network/raw_api/tcp_server/sdkconfig.h +++ b/example/network/raw_api/tcp_server/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 @@ -125,6 +127,7 @@ #define CONFIG_ENABLE_FXMAC /* CONFIG_ENABLE_FGMAC is not set */ +/* CONFIG_ENABLE_E1000E is not set */ #define CONFIG_FXMAC_PHY_COMMON /* CONFIG_FXMAC_PHY_YT is not set */ /* end of Eth Configuration */ @@ -158,6 +161,7 @@ #define CONFIG_LWIP_FXMAC /* CONFIG_LWIP_FGMAC is not set */ +/* CONFIG_LWIP_E1000E is not set */ /* CONFIG_LWIP_FSDIF is not set */ /* end of LWIP Port Configuration */ #define CONFIG_LWIP_NO_SYS diff --git a/example/network/raw_api/udp_client/sdkconfig b/example/network/raw_api/udp_client/sdkconfig index 1c7f041aefa0ef045877d4c7613a5619222bb0aa..afce3b5d33ff6147e2934ee4e7101dd329fdb5fa 100644 --- a/example/network/raw_api/udp_client/sdkconfig +++ b/example/network/raw_api/udp_client/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 @@ -138,6 +140,7 @@ CONFIG_USE_ETH=y # CONFIG_ENABLE_FXMAC=y # CONFIG_ENABLE_FGMAC is not set +# CONFIG_ENABLE_E1000E is not set CONFIG_FXMAC_PHY_COMMON=y # CONFIG_FXMAC_PHY_YT is not set # end of Eth Configuration @@ -176,6 +179,7 @@ CONFIG_USE_LWIP=y # CONFIG_LWIP_FXMAC=y # CONFIG_LWIP_FGMAC is not set +# CONFIG_LWIP_E1000E is not set # CONFIG_LWIP_FSDIF is not set # end of LWIP Port Configuration diff --git a/example/network/raw_api/udp_client/sdkconfig.h b/example/network/raw_api/udp_client/sdkconfig.h index 5a8e2d101d0be4a5ce2df556d0f567ee82f1c59b..45e03d6d35aaa8fee3eb6a8a795c56402c817cc9 100644 --- a/example/network/raw_api/udp_client/sdkconfig.h +++ b/example/network/raw_api/udp_client/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 @@ -125,6 +127,7 @@ #define CONFIG_ENABLE_FXMAC /* CONFIG_ENABLE_FGMAC is not set */ +/* CONFIG_ENABLE_E1000E is not set */ #define CONFIG_FXMAC_PHY_COMMON /* CONFIG_FXMAC_PHY_YT is not set */ /* end of Eth Configuration */ @@ -158,6 +161,7 @@ #define CONFIG_LWIP_FXMAC /* CONFIG_LWIP_FGMAC is not set */ +/* CONFIG_LWIP_E1000E is not set */ /* CONFIG_LWIP_FSDIF is not set */ /* end of LWIP Port Configuration */ #define CONFIG_LWIP_NO_SYS diff --git a/example/network/raw_api/udp_server/sdkconfig b/example/network/raw_api/udp_server/sdkconfig index 20c13a7ec138397f43a3f7d60ab032ef6be3ca16..3b61f83f62a7449ae2f393b07fdc0a9af3a1907e 100644 --- a/example/network/raw_api/udp_server/sdkconfig +++ b/example/network/raw_api/udp_server/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 @@ -138,6 +140,7 @@ CONFIG_USE_ETH=y # CONFIG_ENABLE_FXMAC=y # CONFIG_ENABLE_FGMAC is not set +# CONFIG_ENABLE_E1000E is not set CONFIG_FXMAC_PHY_COMMON=y # CONFIG_FXMAC_PHY_YT is not set # end of Eth Configuration @@ -176,6 +179,7 @@ CONFIG_USE_LWIP=y # CONFIG_LWIP_FXMAC=y # CONFIG_LWIP_FGMAC is not set +# CONFIG_LWIP_E1000E is not set # CONFIG_LWIP_FSDIF is not set # end of LWIP Port Configuration diff --git a/example/network/raw_api/udp_server/sdkconfig.h b/example/network/raw_api/udp_server/sdkconfig.h index 3499eba0dc5bcdeb68299dfe33026788865489cf..fcde61037faf05f05aff6216d6d535996be57c3a 100644 --- a/example/network/raw_api/udp_server/sdkconfig.h +++ b/example/network/raw_api/udp_server/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 @@ -125,6 +127,7 @@ #define CONFIG_ENABLE_FXMAC /* CONFIG_ENABLE_FGMAC is not set */ +/* CONFIG_ENABLE_E1000E is not set */ #define CONFIG_FXMAC_PHY_COMMON /* CONFIG_FXMAC_PHY_YT is not set */ /* end of Eth Configuration */ @@ -158,6 +161,7 @@ #define CONFIG_LWIP_FXMAC /* CONFIG_LWIP_FGMAC is not set */ +/* CONFIG_LWIP_E1000E is not set */ /* CONFIG_LWIP_FSDIF is not set */ /* end of LWIP Port Configuration */ #define CONFIG_LWIP_NO_SYS diff --git a/example/peripherals/can/can/sdkconfig b/example/peripherals/can/can/sdkconfig index cf4ebdbd4123d0b2a11fc98e49b34fc40d632eb8..27387158c4fa929661b0ba4a0f775be8ce776a77 100644 --- a/example/peripherals/can/can/sdkconfig +++ b/example/peripherals/can/can/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_MAX_XLAT_TABLES=256 # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set CONFIG_TARGET_PD2308=y +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="pd2308" CONFIG_SOC_CORE_NUM=8 diff --git a/example/peripherals/can/can/sdkconfig.h b/example/peripherals/can/can/sdkconfig.h index b20119195803d23433c6752d596714b051106dd2..ba79128548f1f578b1137420d235ccc0484f2b81 100644 --- a/example/peripherals/can/can/sdkconfig.h +++ b/example/peripherals/can/can/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ #define CONFIG_TARGET_PD2308 +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "pd2308" #define CONFIG_SOC_CORE_NUM 8 diff --git a/example/peripherals/can/canfd/sdkconfig b/example/peripherals/can/canfd/sdkconfig index 26c70cb653681a48950bfc5f8fe22abc3e92d661..ac893b4ae6c700b5c002453f6f337fdd8f698b52 100644 --- a/example/peripherals/can/canfd/sdkconfig +++ b/example/peripherals/can/canfd/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_MAX_XLAT_TABLES=256 # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set CONFIG_TARGET_PD2308=y +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="pd2308" CONFIG_SOC_CORE_NUM=8 diff --git a/example/peripherals/can/canfd/sdkconfig.h b/example/peripherals/can/canfd/sdkconfig.h index f3ba2bf8402d33a6aec63efc0e004d64c6d60812..b81931e36c16e4201dcf3398220b2d7d67109411 100644 --- a/example/peripherals/can/canfd/sdkconfig.h +++ b/example/peripherals/can/canfd/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ #define CONFIG_TARGET_PD2308 +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "pd2308" #define CONFIG_SOC_CORE_NUM 8 diff --git a/example/peripherals/dma/ddma/sdkconfig b/example/peripherals/dma/ddma/sdkconfig index 47fd0947978e7e59269a03077a043b2fc26ab449..1ba5d520f03848af7768a96a709ff70f2c5699c4 100644 --- a/example/peripherals/dma/ddma/sdkconfig +++ b/example/peripherals/dma/ddma/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 diff --git a/example/peripherals/dma/ddma/sdkconfig.h b/example/peripherals/dma/ddma/sdkconfig.h index 211b04d0db5f6a1ed65638e5887f1cd8e8b547c0..523db120f06359436e23548b7e413ad58952dcd8 100644 --- a/example/peripherals/dma/ddma/sdkconfig.h +++ b/example/peripherals/dma/ddma/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 diff --git a/example/peripherals/dma/gdma/sdkconfig b/example/peripherals/dma/gdma/sdkconfig index cac07272a8cd34ad757c8955c102ebb9def30cee..70d5d1c49ada35817731e1cdee5fdbb8f412dddb 100644 --- a/example/peripherals/dma/gdma/sdkconfig +++ b/example/peripherals/dma/gdma/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 diff --git a/example/peripherals/dma/gdma/sdkconfig.h b/example/peripherals/dma/gdma/sdkconfig.h index 5475183bd541d0be3799530b96210c0abab956ee..c6edea12eb22c7a615ae58140aff4c08f39b4276 100644 --- a/example/peripherals/dma/gdma/sdkconfig.h +++ b/example/peripherals/dma/gdma/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 diff --git a/example/peripherals/generic_timer/configs/ps2316_aarch64_test16_gtimer.config b/example/peripherals/generic_timer/configs/ps2316_aarch64_test16_gtimer.config new file mode 100644 index 0000000000000000000000000000000000000000..4a3b20092750e3de1772a5d6a07df47642d774af --- /dev/null +++ b/example/peripherals/generic_timer/configs/ps2316_aarch64_test16_gtimer.config @@ -0,0 +1,7 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="gtimer" +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/peripherals/generic_timer/sdkconfig b/example/peripherals/generic_timer/sdkconfig index 7a55be1f2e10c7189b6a020431cfcf6bbb6470f6..95dd4f7f84dbc869b94001c9d7665373ab2214bd 100644 --- a/example/peripherals/generic_timer/sdkconfig +++ b/example/peripherals/generic_timer/sdkconfig @@ -41,26 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -69,24 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/peripherals/generic_timer/sdkconfig.h b/example/peripherals/generic_timer/sdkconfig.h index e1405cc3e95ec884e395c187a46a9f5b2ac0b5c5..895aa2c54a9c52da6a21663577beebe67481951c 100644 --- a/example/peripherals/generic_timer/sdkconfig.h +++ b/example/peripherals/generic_timer/sdkconfig.h @@ -38,25 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -64,22 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/peripherals/generic_timer/src/physical_counter.c b/example/peripherals/generic_timer/src/physical_counter.c index 4c2c81e6d84219cad7a29f7209582599dcb02c9d..4327056a7469812cdabb72889a38d2f927053c08 100644 --- a/example/peripherals/generic_timer/src/physical_counter.c +++ b/example/peripherals/generic_timer/src/physical_counter.c @@ -28,6 +28,7 @@ #include "ftypes.h" #include "fgeneric_timer.h" #include "fsleep.h" +#include "sdkconfig.h" /* timer beats per second */ #define BEATS_PER_SEC 1 @@ -35,6 +36,12 @@ /*timer interrupt compare type */ #define SET_TIMER_VALUE 1 +#if defined(CONFIG_TARGET_PS2316) +#define GENERIC_TIMER_DELTA 400U +#else +#define GENERIC_TIMER_DELTA 50U +#endif + static u64 ticks_per_beat; static volatile u64 expected_ticks; static u32 count = 0; @@ -81,7 +88,7 @@ static void FGenericPhysicalTimerHandler(s32 vector, void *param) if(count == 1) goto next; - if((delta - delta_old - GenericTimerFrequecy()) > 50) + if((delta - delta_old - GenericTimerFrequecy()) > GENERIC_TIMER_DELTA) { GenericTimerStop(GENERIC_TIMER_ID0); InterruptMask(GENERIC_TIMER_NS_IRQ_NUM); diff --git a/example/peripherals/generic_timer/src/virtual_counter.c b/example/peripherals/generic_timer/src/virtual_counter.c index e8a9bb74a10d2d47f51649929f3af49bfcbd750b..06e6f860b850340ac22093d2e4f3c439139999f0 100644 --- a/example/peripherals/generic_timer/src/virtual_counter.c +++ b/example/peripherals/generic_timer/src/virtual_counter.c @@ -28,6 +28,7 @@ #include "ftypes.h" #include "fgeneric_timer.h" #include "fsleep.h" +#include "sdkconfig.h" /* timer beats per second */ #define BEATS_PER_SEC 1 @@ -35,6 +36,12 @@ /*timer interrupt compare type */ #define SET_TIMER_VALUE 1 +#if defined(CONFIG_TARGET_PS2316) +#define GENERIC_TIMER_DELTA 400U +#else +#define GENERIC_TIMER_DELTA 50U +#endif + static u64 ticks_per_beat; static volatile u64 expected_ticks; static u32 count = 0; @@ -79,7 +86,7 @@ static void FGenericVirtualTimerHandler(s32 vector, void *param) if(count == 1) goto next; - if((delta - delta_old - GenericTimerFrequecy()) > 50) + if((delta - delta_old - GenericTimerFrequecy()) > GENERIC_TIMER_DELTA) { GenericTimerStop(GENERIC_TIMER_ID0); InterruptMask(GENERIC_TIMER_NS_IRQ_NUM); diff --git a/example/peripherals/gicv3/master/amp_config.json b/example/peripherals/gicv3/master/amp_config.json index 531fd5e1cd1fe7a8315b9ae0dfdf9b33ac07a8e6..ee250d67131ada6f7334dd5c45a6b2beee32a067 100644 --- a/example/peripherals/gicv3/master/amp_config.json +++ b/example/peripherals/gicv3/master/amp_config.json @@ -107,6 +107,14 @@ { "path1":["../slave",1,0,"pd2308_aarch64_demo_gic_slave.config"] } + ], + "config11":[ + { + "bootstrap":["./",0,0,"ps2316_aarch64_test16_gic_master.config"] + }, + { + "path1":["../slave",1,0,"ps2316_aarch64_test16_gic_slave.config"] + } ] } } diff --git a/example/peripherals/gicv3/master/configs/d2000_aarch32_test_gic_master.config b/example/peripherals/gicv3/master/configs/d2000_aarch32_test_gic_master.config index 86eae9b10303304bedfbaa8a66e4acbd250d26d2..5332f84f9d7faa48a19e8d9163035c9ac80b09db 100644 --- a/example/peripherals/gicv3/master/configs/d2000_aarch32_test_gic_master.config +++ b/example/peripherals/gicv3/master/configs/d2000_aarch32_test_gic_master.config @@ -1,9 +1,9 @@ -CONFIG_ENABLE_GIC_ITS=y CONFIG_ARCH_ARMV8_AARCH32=y CONFIG_USE_L3CACHE=y CONFIG_DISABLE_L3CACHE=y CONFIG_USE_MSDF=y CONFIG_MSDF1=y +CONFIG_ENABLE_GIC_ITS=y CONFIG_TARGET_D2000=y CONFIG_TARGET_NAME="gic_master" CONFIG_LOG_INFO=y diff --git a/example/peripherals/gicv3/master/configs/d2000_aarch64_test_gic_master.config b/example/peripherals/gicv3/master/configs/d2000_aarch64_test_gic_master.config index 2b036c5274029f5d6ce8a7d4a7041afdda91d244..712cdc08da7de0ac1b8e873d0759bb4da1456489 100644 --- a/example/peripherals/gicv3/master/configs/d2000_aarch64_test_gic_master.config +++ b/example/peripherals/gicv3/master/configs/d2000_aarch64_test_gic_master.config @@ -1,8 +1,8 @@ -CONFIG_ENABLE_GIC_ITS=y CONFIG_USE_L3CACHE=y CONFIG_DISABLE_L3CACHE=y CONFIG_USE_MSDF=y CONFIG_MSDF1=y +CONFIG_ENABLE_GIC_ITS=y CONFIG_TARGET_D2000=y CONFIG_TARGET_NAME="gic_master" CONFIG_LOG_INFO=y diff --git a/example/peripherals/gicv3/master/configs/e2000d_aarch32_demo_gic_master.config b/example/peripherals/gicv3/master/configs/e2000d_aarch32_demo_gic_master.config index 3b710dc39a9e3095d0dbfb2d2dec275d337d4f2e..42322fe39a6a9f3fd5a7fe64f84d2aa3bf6821c1 100644 --- a/example/peripherals/gicv3/master/configs/e2000d_aarch32_demo_gic_master.config +++ b/example/peripherals/gicv3/master/configs/e2000d_aarch32_demo_gic_master.config @@ -1,7 +1,7 @@ -CONFIG_ENABLE_GIC_ITS=y CONFIG_ARCH_ARMV8_AARCH32=y CONFIG_USE_MSDF=y CONFIG_MSDF1=y +CONFIG_ENABLE_GIC_ITS=y CONFIG_TARGET_E2000D=y CONFIG_TARGET_NAME="gic_master" CONFIG_LOG_INFO=y diff --git a/example/peripherals/gicv3/master/configs/e2000d_aarch64_demo_gic_master.config b/example/peripherals/gicv3/master/configs/e2000d_aarch64_demo_gic_master.config index 54608b4ca8747615473d82b004e5cd4381685bcb..13a84ed6e040ae6803779c6b3ef6642db2e7bbcc 100644 --- a/example/peripherals/gicv3/master/configs/e2000d_aarch64_demo_gic_master.config +++ b/example/peripherals/gicv3/master/configs/e2000d_aarch64_demo_gic_master.config @@ -1,6 +1,6 @@ -CONFIG_ENABLE_GIC_ITS=y CONFIG_USE_MSDF=y CONFIG_MSDF1=y +CONFIG_ENABLE_GIC_ITS=y CONFIG_TARGET_E2000D=y CONFIG_TARGET_NAME="gic_master" CONFIG_LOG_INFO=y diff --git a/example/peripherals/gicv3/master/configs/e2000q_aarch32_demo_gic_master.config b/example/peripherals/gicv3/master/configs/e2000q_aarch32_demo_gic_master.config index 0063f034d447cac33d349132969c4780a97d87cc..4541411c374cdd230c1df3cfd19a4fad68ec04e4 100644 --- a/example/peripherals/gicv3/master/configs/e2000q_aarch32_demo_gic_master.config +++ b/example/peripherals/gicv3/master/configs/e2000q_aarch32_demo_gic_master.config @@ -1,7 +1,7 @@ -CONFIG_ENABLE_GIC_ITS=y CONFIG_ARCH_ARMV8_AARCH32=y CONFIG_USE_MSDF=y CONFIG_MSDF1=y +CONFIG_ENABLE_GIC_ITS=y CONFIG_TARGET_NAME="gic_master" CONFIG_LOG_INFO=y CONFIG_USE_LETTER_SHELL=y diff --git a/example/peripherals/gicv3/master/configs/e2000q_aarch64_demo_gic_master.config b/example/peripherals/gicv3/master/configs/e2000q_aarch64_demo_gic_master.config index cf8e226e7e496b122705297d9212425d0c825277..70650f79ab2d6a11154331e0696e27e0efb63cef 100644 --- a/example/peripherals/gicv3/master/configs/e2000q_aarch64_demo_gic_master.config +++ b/example/peripherals/gicv3/master/configs/e2000q_aarch64_demo_gic_master.config @@ -1,7 +1,7 @@ -CONFIG_ENABLE_GIC_ITS=y CONFIG_USE_MSDF=y CONFIG_MSDF1=y CONFIG_MSDF_CORE_ID=0 +CONFIG_ENABLE_GIC_ITS=y CONFIG_TARGET_NAME="gic_master" CONFIG_LOG_INFO=y CONFIG_USE_LETTER_SHELL=y diff --git a/example/peripherals/gicv3/master/configs/ft2004_aarch32_dsk_gic_master.config b/example/peripherals/gicv3/master/configs/ft2004_aarch32_dsk_gic_master.config index 6eb4e768f06d4a7b0f69538f91771e556f10f0e1..bade022c3b7f13a443264324384f54a238ab214b 100644 --- a/example/peripherals/gicv3/master/configs/ft2004_aarch32_dsk_gic_master.config +++ b/example/peripherals/gicv3/master/configs/ft2004_aarch32_dsk_gic_master.config @@ -1,9 +1,9 @@ -CONFIG_ENABLE_GIC_ITS=y CONFIG_ARCH_ARMV8_AARCH32=y CONFIG_USE_L3CACHE=y CONFIG_DISABLE_L3CACHE=y CONFIG_USE_MSDF=y CONFIG_MSDF1=y +CONFIG_ENABLE_GIC_ITS=y CONFIG_TARGET_FT2004=y CONFIG_TARGET_NAME="gic_master" CONFIG_LOG_INFO=y diff --git a/example/peripherals/gicv3/master/configs/ft2004_aarch64_dsk_gic_master.config b/example/peripherals/gicv3/master/configs/ft2004_aarch64_dsk_gic_master.config index af9ebb13e5cedfe024a879e4c92a3f9988123e00..9e23fb83ac4a9119761308b8ae75bbcac233e4f0 100644 --- a/example/peripherals/gicv3/master/configs/ft2004_aarch64_dsk_gic_master.config +++ b/example/peripherals/gicv3/master/configs/ft2004_aarch64_dsk_gic_master.config @@ -1,8 +1,8 @@ -CONFIG_ENABLE_GIC_ITS=y CONFIG_USE_L3CACHE=y CONFIG_DISABLE_L3CACHE=y CONFIG_USE_MSDF=y CONFIG_MSDF1=y +CONFIG_ENABLE_GIC_ITS=y CONFIG_TARGET_FT2004=y CONFIG_TARGET_NAME="gic_master" CONFIG_LOG_INFO=y diff --git a/example/peripherals/gicv3/master/configs/pd2308_aarch64_demo_gic_master.config b/example/peripherals/gicv3/master/configs/pd2308_aarch64_demo_gic_master.config index 78cf8cfb5fee1f2137278329787ac7b4de6a2edc..e78997eb25a6d82188bcacf51b0bd5b4c8753a94 100644 --- a/example/peripherals/gicv3/master/configs/pd2308_aarch64_demo_gic_master.config +++ b/example/peripherals/gicv3/master/configs/pd2308_aarch64_demo_gic_master.config @@ -1,6 +1,6 @@ -CONFIG_ENABLE_GIC_ITS=y CONFIG_USE_MSDF=y CONFIG_MSDF1=y +CONFIG_ENABLE_GIC_ITS=y CONFIG_TARGET_PD2308=y CONFIG_TARGET_NAME="gic_master" CONFIG_LOG_INFO=y diff --git a/example/peripherals/gicv3/master/configs/phytiumpi_aarch32_firefly_gic_master.config b/example/peripherals/gicv3/master/configs/phytiumpi_aarch32_firefly_gic_master.config index 8b9248b0adb58de3393d2c9132cd41a3306573b9..e0fd1b5bd197f6c280912069c93fe68c0b728cff 100644 --- a/example/peripherals/gicv3/master/configs/phytiumpi_aarch32_firefly_gic_master.config +++ b/example/peripherals/gicv3/master/configs/phytiumpi_aarch32_firefly_gic_master.config @@ -1,7 +1,7 @@ -CONFIG_ENABLE_GIC_ITS=y CONFIG_ARCH_ARMV8_AARCH32=y CONFIG_USE_MSDF=y CONFIG_MSDF1=y +CONFIG_ENABLE_GIC_ITS=y CONFIG_TARGET_PHYTIUMPI=y CONFIG_TARGET_NAME="gic_master" CONFIG_LOG_INFO=y diff --git a/example/peripherals/gicv3/master/configs/phytiumpi_aarch64_firefly_gic_master.config b/example/peripherals/gicv3/master/configs/phytiumpi_aarch64_firefly_gic_master.config index 7e4f58483349370c7d9639fcccd2a001bdb85909..11e86bf652b82d82b58cd7e2c2fc4de49f165728 100644 --- a/example/peripherals/gicv3/master/configs/phytiumpi_aarch64_firefly_gic_master.config +++ b/example/peripherals/gicv3/master/configs/phytiumpi_aarch64_firefly_gic_master.config @@ -1,7 +1,7 @@ -CONFIG_ENABLE_GIC_ITS=y CONFIG_USE_MSDF=y CONFIG_MSDF1=y CONFIG_MSDF_CORE_ID=0 +CONFIG_ENABLE_GIC_ITS=y CONFIG_TARGET_PHYTIUMPI=y CONFIG_TARGET_NAME="gic_master" CONFIG_LOG_DEBUG=y diff --git a/example/peripherals/gicv3/master/configs/ps2316_aarch64_test16_gic_master.config b/example/peripherals/gicv3/master/configs/ps2316_aarch64_test16_gic_master.config new file mode 100644 index 0000000000000000000000000000000000000000..0f367634ad977e0b89fdc031cdedc1e5280f1c5c --- /dev/null +++ b/example/peripherals/gicv3/master/configs/ps2316_aarch64_test16_gic_master.config @@ -0,0 +1,13 @@ +CONFIG_USE_MSDF=y +CONFIG_MSDF1=y +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="gic_master" +CONFIG_LOG_INFO=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_USE_AMP=y +CONFIG_DEBUG_NOOPT=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_LOAD_ADDRESS=0x90100000 diff --git a/example/peripherals/gicv3/master/makefile b/example/peripherals/gicv3/master/makefile index b26ddaa9139b2741d455ceaf5011ad676ea43810..62b1bd823c5af361890fbee3a930987232254f47 100644 --- a/example/peripherals/gicv3/master/makefile +++ b/example/peripherals/gicv3/master/makefile @@ -35,6 +35,12 @@ backupconfig: $(MAKE) -C $(MASTER_PROJECT_DIR) backup_kconfig $(MAKE) -C $(SLAVE_PROJECT_DIR) backup_kconfig -boot: +image: + make clean make all -j cp ./$(IMAGE_OUT_NAME).elf $(USR_BOOT_DIR)/baremetal.elf + + + +scp_remote: + scp $(USR_BOOT_DIR)/baremetal.elf root@10.31.32.21:/home/zhugy/tftpboot/huanghe \ No newline at end of file diff --git a/example/peripherals/gicv3/master/sdkconfig b/example/peripherals/gicv3/master/sdkconfig index c3e72e3d1f99e76ef4a1a76f4323b49bb0cba76f..3d8558f9d3c708415f914d3a2833a665c5a15581 100644 --- a/example/peripherals/gicv3/master/sdkconfig +++ b/example/peripherals/gicv3/master/sdkconfig @@ -39,33 +39,33 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_USE_MSDF=y # CONFIG_MSDF0 is not set CONFIG_MSDF1=y -CONFIG_SOC_CORE_MAX_ID=3 +CONFIG_SOC_CORE_MAX_ID=15 CONFIG_MSDF_CORE_ID=0 # end of multi-core system deployment framework CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 -CONFIG_ENABLE_GIC_ITS=y +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -74,24 +74,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -105,8 +89,8 @@ CONFIG_TARGET_NAME="gic_master" # CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set -CONFIG_LOG_DEBUG=y -# CONFIG_LOG_INFO is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y # CONFIG_LOG_WARN is not set # CONFIG_LOG_ERROR is not set # CONFIG_LOG_NONE is not set @@ -124,7 +108,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/peripherals/gicv3/master/sdkconfig.h b/example/peripherals/gicv3/master/sdkconfig.h index 07e80fcc858ac57aa229644f6333c591ab7aa8de..8706917aedf54929ba3d5e66d95f2c8fdf264ce8 100644 --- a/example/peripherals/gicv3/master/sdkconfig.h +++ b/example/peripherals/gicv3/master/sdkconfig.h @@ -37,31 +37,31 @@ #define CONFIG_USE_MSDF /* CONFIG_MSDF0 is not set */ #define CONFIG_MSDF1 -#define CONFIG_SOC_CORE_MAX_ID 3 +#define CONFIG_SOC_CORE_MAX_ID 15 #define CONFIG_MSDF_CORE_ID 0 /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 -#define CONFIG_ENABLE_GIC_ITS +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -69,22 +69,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -96,8 +82,8 @@ #define CONFIG_ELOG_LINE_BUF_SIZE 0x100 /* CONFIG_LOG_VERBOS is not set */ -#define CONFIG_LOG_DEBUG -/* CONFIG_LOG_INFO is not set */ +/* CONFIG_LOG_DEBUG is not set */ +#define CONFIG_LOG_INFO /* CONFIG_LOG_WARN is not set */ /* CONFIG_LOG_ERROR is not set */ /* CONFIG_LOG_NONE is not set */ @@ -114,7 +100,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/peripherals/gicv3/master/src/cmd_gic.c b/example/peripherals/gicv3/master/src/cmd_gic.c index 9825886118dc3c139c8a1c363af4e1637c481053..e3c29aad66da286a81d585fda9bb38f25b8a8ad2 100644 --- a/example/peripherals/gicv3/master/src/cmd_gic.c +++ b/example/peripherals/gicv3/master/src/cmd_gic.c @@ -44,8 +44,10 @@ static void FGicExampleUsage(void) printf("Usage:\r\n"); printf("gic ppi_example\r\n"); printf("-- run ppi test example.\r\n"); +#ifdef CONFIG_ENABLE_GIC_ITS printf("gic lpi_example\r\n"); printf("-- run lpi test example.\r\n"); +#endif #ifdef CONFIG_SLAVE_CORE_ID printf("gic sgi_example\r\n"); printf("-- run sgi test example.\r\n"); @@ -76,10 +78,12 @@ static int FGicExampleEntry(int argc, char *argv[]) { ret = FPpiExample(); } +#ifdef CONFIG_ENABLE_GIC_ITS else if(!strcmp(argv[1], "lpi_example")) { ret = FLpiExample(); } +#endif #ifdef CONFIG_SLAVE_CORE_ID else if (!strcmp(argv[1], "sgi_example")) { diff --git a/example/peripherals/gicv3/master/src/lpi_example.c b/example/peripherals/gicv3/master/src/lpi_example.c index 35d112926ebe50f83b6e923c199179e6e087295e..bc18918ea86df740366969b16a6a0f54b5ecf64f 100644 --- a/example/peripherals/gicv3/master/src/lpi_example.c +++ b/example/peripherals/gicv3/master/src/lpi_example.c @@ -13,7 +13,7 @@ * * FilePath: lpi_example.c * Created Date: 2024-08-05 15:42:18 - * Last Modified: 2024-08-13 10:29:05 + * Last Modified: 2025-03-19 16:52:17 * Description: This file is for * * Modify History: @@ -36,7 +36,7 @@ /* Generate a DeviceID over the whole 16bits */ -#define ITS_TEST_DEV(id) ((((id + 256) % 16) << 12) | (((id + 256) % 24) << 8) | (id & 0xff)) +#define ITS_TEST_DEV(id) ((((id + 256) % 16) << 12) | (((id + 256) % 24) << 8) | (id & 0xff)) /* Cover up to 8192 LPIs over 256 DevicesIDs and 32 EventIDs per DeviceID */ #define ITS_TEST_NUM_DEVS 256 @@ -221,9 +221,9 @@ static int TestFgicItsInit(void) int ret = 0; FGic *gic_instance = NULL; gic_instance = (FGic *)InterruptGetInstance(); - int devn, event_id; + for (devn = 0; devn < ITS_TEST_NUM_DEVS; ++devn) { int device_id = ITS_TEST_DEV(devn); diff --git a/example/peripherals/gicv3/mbis/configs/e2000d_aarch32_demo_gic_mbis.config b/example/peripherals/gicv3/mbis/configs/e2000d_aarch32_demo_gic_mbis.config index 69cc48a8f90e5891f27473e5b15b90f1e524766f..f38eab9de82d3df9733c1434d29bda583dd21225 100644 --- a/example/peripherals/gicv3/mbis/configs/e2000d_aarch32_demo_gic_mbis.config +++ b/example/peripherals/gicv3/mbis/configs/e2000d_aarch32_demo_gic_mbis.config @@ -1,7 +1,6 @@ CONFIG_ARCH_ARMV8_AARCH32=y CONFIG_TARGET_E2000D=y CONFIG_TARGET_NAME="gic_mbis" -CONFIG_LOG_DEBUG=y CONFIG_USE_GPIO=y CONFIG_ENABLE_FGPIO=y CONFIG_USE_LETTER_SHELL=y diff --git a/example/peripherals/gicv3/mbis/configs/e2000d_aarch64_demo_gic_mbis.config b/example/peripherals/gicv3/mbis/configs/e2000d_aarch64_demo_gic_mbis.config index 2e058978bf4158e1f3bb837e03c5dbe4921efd75..aa27dae02a40a976711c81a1a78afce6dc795d2d 100644 --- a/example/peripherals/gicv3/mbis/configs/e2000d_aarch64_demo_gic_mbis.config +++ b/example/peripherals/gicv3/mbis/configs/e2000d_aarch64_demo_gic_mbis.config @@ -1,6 +1,5 @@ CONFIG_TARGET_E2000D=y CONFIG_TARGET_NAME="gic_mbis" -CONFIG_LOG_DEBUG=y CONFIG_USE_GPIO=y CONFIG_ENABLE_FGPIO=y CONFIG_USE_LETTER_SHELL=y diff --git a/example/peripherals/gicv3/mbis/configs/e2000q_aarch32_demo_gic_mbis.config b/example/peripherals/gicv3/mbis/configs/e2000q_aarch32_demo_gic_mbis.config index 04a8e6ae03fa1df4d7aec8aacf5641a493066e10..646e20413cff1b7225d2bf398d8330ea8624c881 100644 --- a/example/peripherals/gicv3/mbis/configs/e2000q_aarch32_demo_gic_mbis.config +++ b/example/peripherals/gicv3/mbis/configs/e2000q_aarch32_demo_gic_mbis.config @@ -1,6 +1,5 @@ CONFIG_ARCH_ARMV8_AARCH32=y CONFIG_TARGET_NAME="gic_mbis" -CONFIG_LOG_DEBUG=y CONFIG_USE_GPIO=y CONFIG_ENABLE_FGPIO=y CONFIG_USE_LETTER_SHELL=y diff --git a/example/peripherals/gicv3/mbis/configs/e2000q_aarch64_demo_gic_mbis.config b/example/peripherals/gicv3/mbis/configs/e2000q_aarch64_demo_gic_mbis.config index b6ef5241cf831a26861c743e4e43badedd984255..3701baaca5cc41ebf2553fa755b41a668729fc3b 100644 --- a/example/peripherals/gicv3/mbis/configs/e2000q_aarch64_demo_gic_mbis.config +++ b/example/peripherals/gicv3/mbis/configs/e2000q_aarch64_demo_gic_mbis.config @@ -1,5 +1,4 @@ CONFIG_TARGET_NAME="gic_mbis" -CONFIG_LOG_DEBUG=y CONFIG_USE_GPIO=y CONFIG_ENABLE_FGPIO=y CONFIG_USE_LETTER_SHELL=y diff --git a/example/peripherals/gicv3/mbis/sdkconfig b/example/peripherals/gicv3/mbis/sdkconfig index cc73f4fe5cddfed2302216db717347008063812a..fccb8031901562cffc2f7d1bceed612bda15d9b2 100644 --- a/example/peripherals/gicv3/mbis/sdkconfig +++ b/example/peripherals/gicv3/mbis/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_E2000Q=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="e2000" CONFIG_TARGET_TYPE_NAME="q" @@ -101,10 +103,10 @@ CONFIG_TARGET_NAME="gic_mbis" # CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set -CONFIG_LOG_DEBUG=y +# CONFIG_LOG_DEBUG is not set # CONFIG_LOG_INFO is not set # CONFIG_LOG_WARN is not set -# CONFIG_LOG_ERROR is not set +CONFIG_LOG_ERROR=y # CONFIG_LOG_NONE is not set # CONFIG_LOG_EXTRA_INFO is not set # CONFIG_LOG_DISPALY_CORE_NUM is not set diff --git a/example/peripherals/gicv3/mbis/sdkconfig.h b/example/peripherals/gicv3/mbis/sdkconfig.h index 4be4d8b9e4cca016d31df3ac3ce085120e908b9e..f8eb69a388d97fbd02b5d335d015af37bcc6422d 100644 --- a/example/peripherals/gicv3/mbis/sdkconfig.h +++ b/example/peripherals/gicv3/mbis/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "e2000" #define CONFIG_TARGET_TYPE_NAME "q" @@ -92,10 +94,10 @@ #define CONFIG_ELOG_LINE_BUF_SIZE 0x100 /* CONFIG_LOG_VERBOS is not set */ -#define CONFIG_LOG_DEBUG +/* CONFIG_LOG_DEBUG is not set */ /* CONFIG_LOG_INFO is not set */ /* CONFIG_LOG_WARN is not set */ -/* CONFIG_LOG_ERROR is not set */ +#define CONFIG_LOG_ERROR /* CONFIG_LOG_NONE is not set */ /* CONFIG_LOG_EXTRA_INFO is not set */ /* CONFIG_LOG_DISPALY_CORE_NUM is not set */ diff --git a/example/peripherals/gicv3/slave/configs/ps2316_aarch64_test16_gic_slave.config b/example/peripherals/gicv3/slave/configs/ps2316_aarch64_test16_gic_slave.config new file mode 100644 index 0000000000000000000000000000000000000000..77cd578b9a3d5b58ae7b711528e8a758e7a71d7b --- /dev/null +++ b/example/peripherals/gicv3/slave/configs/ps2316_aarch64_test16_gic_slave.config @@ -0,0 +1,12 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="gic_slave" +CONFIG_LOG_INFO=y +CONFIG_INTERRUPT_ROLE_SLAVE=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_USE_AMP=y +CONFIG_DEBUG_NOOPT=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_LOAD_ADDRESS=0xa0100000 diff --git a/example/peripherals/gicv3/slave/makefile b/example/peripherals/gicv3/slave/makefile index ef67dad5e5a6de6d9ba8c789696b1d5b327499ac..f16028a4c1187c2090072be850cb0e257d33383f 100644 --- a/example/peripherals/gicv3/slave/makefile +++ b/example/peripherals/gicv3/slave/makefile @@ -19,6 +19,6 @@ USER_INCLUDE := $(PROJECT_DIR) \ include $(SDK_DIR)/tools/build/makeall.mk USR_BOOT_DIR ?= /mnt/d/tftpboot -boot: +image: make all -j cp ./$(IMAGE_OUT_NAME).elf $(USR_BOOT_DIR)/baremetal_rc.elf diff --git a/example/peripherals/gicv3/slave/sdkconfig b/example/peripherals/gicv3/slave/sdkconfig index 7e11ea8a72302b807838c99ba15d9b0228d3cefa..08f833ada3c59e62b085516859c5a915915b3575 100644 --- a/example/peripherals/gicv3/slave/sdkconfig +++ b/example/peripherals/gicv3/slave/sdkconfig @@ -41,26 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -69,24 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -100,8 +85,8 @@ CONFIG_TARGET_NAME="gic_slave" # CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set -CONFIG_LOG_DEBUG=y -# CONFIG_LOG_INFO is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y # CONFIG_LOG_WARN is not set # CONFIG_LOG_ERROR is not set # CONFIG_LOG_NONE is not set @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_SLAVE=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/peripherals/gicv3/slave/sdkconfig.h b/example/peripherals/gicv3/slave/sdkconfig.h index 008f4aad2ba2e9a0a0a3ac21ffd0ff449070db54..190c0c653d8f8b26026fefbeaade4aa75b56e98b 100644 --- a/example/peripherals/gicv3/slave/sdkconfig.h +++ b/example/peripherals/gicv3/slave/sdkconfig.h @@ -38,25 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -64,22 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -91,8 +78,8 @@ #define CONFIG_ELOG_LINE_BUF_SIZE 0x100 /* CONFIG_LOG_VERBOS is not set */ -#define CONFIG_LOG_DEBUG -/* CONFIG_LOG_INFO is not set */ +/* CONFIG_LOG_DEBUG is not set */ +#define CONFIG_LOG_INFO /* CONFIG_LOG_WARN is not set */ /* CONFIG_LOG_ERROR is not set */ /* CONFIG_LOG_NONE is not set */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/peripherals/i2c/sdkconfig b/example/peripherals/i2c/sdkconfig index 39fed9c8a2e2b21db58c267e52eb4237d59c75b7..101762ef16c5df4229dd869dcbb1989b6dadbd12 100644 --- a/example/peripherals/i2c/sdkconfig +++ b/example/peripherals/i2c/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 diff --git a/example/peripherals/i2c/sdkconfig.h b/example/peripherals/i2c/sdkconfig.h index 1b4ccdec0799caac090a3d74b4bcde2343e4ba93..5e31f457f386a82a9d1cea57e03964e1d52aabe7 100644 --- a/example/peripherals/i2c/sdkconfig.h +++ b/example/peripherals/i2c/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 diff --git a/example/peripherals/i2s/i2s_dp/sdkconfig b/example/peripherals/i2s/i2s_dp/sdkconfig index 9061e72982944afe557ae31ab11e6af77c2bce45..84fa2f8b898f11d22c3de6100f8ede4c58458297 100644 --- a/example/peripherals/i2s/i2s_dp/sdkconfig +++ b/example/peripherals/i2s/i2s_dp/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_E2000Q=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="e2000" CONFIG_TARGET_TYPE_NAME="q" diff --git a/example/peripherals/i2s/i2s_dp/sdkconfig.h b/example/peripherals/i2s/i2s_dp/sdkconfig.h index 7bcac7ff519ce4f6b7f79e0256302ca6d4bf9afb..756e96c36e9b0847b9f3d478d87559ba7bd90397 100644 --- a/example/peripherals/i2s/i2s_dp/sdkconfig.h +++ b/example/peripherals/i2s/i2s_dp/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "e2000" #define CONFIG_TARGET_TYPE_NAME "q" diff --git a/example/peripherals/i2s/i2s_dp/src/i2s_rx_example.c b/example/peripherals/i2s/i2s_dp/src/i2s_rx_example.c index 3373dda06547fa5bcd5cc4adb1eeca76bebc1a9c..41203b4e1e37802f5157e4b0c5eef6edb1819ba7 100644 --- a/example/peripherals/i2s/i2s_dp/src/i2s_rx_example.c +++ b/example/peripherals/i2s/i2s_dp/src/i2s_rx_example.c @@ -202,7 +202,7 @@ FError FI2sRxInit(u32 word_length) return ret; } - FI2sClkOutDiv(instance); + FI2sClkOutDiv(instance, FI2S_SAMPLE_RATE_CD); FI2sIrqSet(instance); FI2sIrqAllEnable(instance); FI2sTxRxEnable(instance, TRUE); /* 模块使能 */ diff --git a/example/peripherals/i2s/i2s_play_from_record/sdkconfig b/example/peripherals/i2s/i2s_play_from_record/sdkconfig index c8ee5a2b40697313f4b1fca27ad802a639781575..e8acb36fe7ec66fb798f955e3cbaa6add8383da4 100644 --- a/example/peripherals/i2s/i2s_play_from_record/sdkconfig +++ b/example/peripherals/i2s/i2s_play_from_record/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_MAX_XLAT_TABLES=256 # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set CONFIG_TARGET_PD2308=y +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="pd2308" CONFIG_SOC_CORE_NUM=8 diff --git a/example/peripherals/i2s/i2s_play_from_record/sdkconfig.h b/example/peripherals/i2s/i2s_play_from_record/sdkconfig.h index d5765e1b2dcecad32d4b10cfecf9d11acaff56ab..f2f4861ec18dc52548ad02e39001c91ca54de59c 100644 --- a/example/peripherals/i2s/i2s_play_from_record/sdkconfig.h +++ b/example/peripherals/i2s/i2s_play_from_record/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ #define CONFIG_TARGET_PD2308 +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "pd2308" #define CONFIG_SOC_CORE_NUM 8 diff --git a/example/peripherals/i2s/i2s_play_from_record/src/i2s_example.c b/example/peripherals/i2s/i2s_play_from_record/src/i2s_example.c index 6f3081dbd21ecef205e19efe7fa4ab7e60974b13..38d407a482cc53b009063134670c58baed52e062 100644 --- a/example/peripherals/i2s/i2s_play_from_record/src/i2s_example.c +++ b/example/peripherals/i2s/i2s_play_from_record/src/i2s_example.c @@ -58,6 +58,7 @@ static u32 rx_channel = 1; /* 接收通道为DDMA通道1 */ static u32 tx_channel = 0; /* 接收通道为DDMA通道0 */ #define PER_BUFFER_SIZE 16384/*录制时每个buffer的大小,单位字节*/ #define TX_RX_BUF_LEN 16384/*录制时总buffer的大,单位字节*/ + static u32 rx_buf[2][TX_RX_BUF_LEN] __attribute__((aligned(FDDMA_DDR_ADDR_ALIGMENT))) = {0}; volatile static uint8_t buff_using_num = 0; @@ -176,7 +177,7 @@ FError FI2sRxInit(u32 word_length) return ret; } - FI2sClkOutDiv(instance); + FI2sClkOutDiv(instance, FI2S_SAMPLE_RATE_CD); FI2sTxRxEnable(instance, TRUE); /* 模块使能 */ return ret; } diff --git a/example/peripherals/i3c/sdkconfig b/example/peripherals/i3c/sdkconfig index b6212b77331ada23571ebcaa8c5de7382eba3183..744a68c3ee5cc0bb59c3a430da1f4955d81dacfd 100644 --- a/example/peripherals/i3c/sdkconfig +++ b/example/peripherals/i3c/sdkconfig @@ -41,6 +41,7 @@ CONFIG_GCC_CODE_MODEL_SMALL=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_MAX_XLAT_TABLES=256 # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set CONFIG_TARGET_PD2308=y +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="pd2308" CONFIG_SOC_CORE_NUM=8 diff --git a/example/peripherals/i3c/sdkconfig.h b/example/peripherals/i3c/sdkconfig.h index e228b28025afc7c984101656d4c0d548cb6fafdd..e131cb5fb79a6eebf65e233980bde7101b0dff33 100644 --- a/example/peripherals/i3c/sdkconfig.h +++ b/example/peripherals/i3c/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ #define CONFIG_TARGET_PD2308 +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "pd2308" #define CONFIG_SOC_CORE_NUM 8 diff --git a/example/peripherals/iopad/sdkconfig b/example/peripherals/iopad/sdkconfig index 057ac3ac45f33a9c6423c9f3e2857e1750d32bad..317d686ef620a0f6eca2907b92a8fc601b01c532 100644 --- a/example/peripherals/iopad/sdkconfig +++ b/example/peripherals/iopad/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 diff --git a/example/peripherals/iopad/sdkconfig.h b/example/peripherals/iopad/sdkconfig.h index 2aa9c0878a1714f6c185c560c6b16ca313623ca1..03b2b966623ef8220b2d164915d7b826f8c6040a 100644 --- a/example/peripherals/iopad/sdkconfig.h +++ b/example/peripherals/iopad/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 diff --git a/example/peripherals/ipc/semaphore/sdkconfig b/example/peripherals/ipc/semaphore/sdkconfig index 5cad416fee32bd54b7288d77d230ce7a8fe5fbe9..7fcf1eec0dc0264f5e077cc0a97a3dda399cacbb 100644 --- a/example/peripherals/ipc/semaphore/sdkconfig +++ b/example/peripherals/ipc/semaphore/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 diff --git a/example/peripherals/ipc/semaphore/sdkconfig.h b/example/peripherals/ipc/semaphore/sdkconfig.h index 1d95c7cac13190df81b2ad88060f649d15bc7843..9000d0679dd4445558e3a35491bf676479862fe6 100644 --- a/example/peripherals/ipc/semaphore/sdkconfig.h +++ b/example/peripherals/ipc/semaphore/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 diff --git a/example/peripherals/pcie/configs/ps2316_aarch64_test16_baremetal_rc.config b/example/peripherals/pcie/configs/ps2316_aarch64_test16_baremetal_rc.config new file mode 100644 index 0000000000000000000000000000000000000000..758d4821a2e4b27cde0ddd7890b62a23af73ecea --- /dev/null +++ b/example/peripherals/pcie/configs/ps2316_aarch64_test16_baremetal_rc.config @@ -0,0 +1,12 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="baremetal_rc" +CONFIG_LOG_VERBOS=y +CONFIG_LOG_DISPALY_CORE_NUM=y +CONFIG_USE_PCIE=y +CONFIG_ENABLE_FPCIE_ECAM=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/peripherals/pcie/makefile b/example/peripherals/pcie/makefile index 3498bc39babfb829944ae756be2f8a4bb57cdee6..e95801e36fde9b394155d44e0df20f89fc7750cb 100644 --- a/example/peripherals/pcie/makefile +++ b/example/peripherals/pcie/makefile @@ -23,3 +23,4 @@ image: make clean make all -j cp ./$(IMAGE_OUT_NAME).elf $(USR_BOOT_DIR)/baremetal.elf + cp ./$(IMAGE_OUT_NAME).bin $(USR_BOOT_DIR)/baremetal.bin \ No newline at end of file diff --git a/example/peripherals/pcie/sdkconfig b/example/peripherals/pcie/sdkconfig index 2585471be14b3cd4933db060416b6598f3044233..4e4614bf4b6736135646dcb03f14b9f66483747d 100644 --- a/example/peripherals/pcie/sdkconfig +++ b/example/peripherals/pcie/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -52,10 +53,11 @@ CONFIG_MAX_XLAT_TABLES=256 # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set -CONFIG_TARGET_PD2308=y +# CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="pd2308" -CONFIG_SOC_CORE_NUM=8 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 @@ -68,23 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="demo" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_PD2308_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -117,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y @@ -141,7 +128,7 @@ CONFIG_USE_PCIE=y # Pcie Configuration # CONFIG_ENABLE_FPCIE_ECAM=y -CONFIG_ENABLE_FPCIEC=y +# CONFIG_ENABLE_FPCIEC is not set # end of Pcie Configuration # CONFIG_USE_WDT is not set diff --git a/example/peripherals/pcie/sdkconfig.h b/example/peripherals/pcie/sdkconfig.h index 53d9e903840dc7e49acc439b669f507e7ade9555..5f5d6cf39382de8da9efa3a329f53ff523d0bfff 100644 --- a/example/peripherals/pcie/sdkconfig.h +++ b/example/peripherals/pcie/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -48,10 +49,11 @@ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ -#define CONFIG_TARGET_PD2308 +/* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "pd2308" -#define CONFIG_SOC_CORE_NUM 8 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 @@ -63,21 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "demo" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_PD2308_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -107,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL @@ -128,7 +117,7 @@ /* Pcie Configuration */ #define CONFIG_ENABLE_FPCIE_ECAM -#define CONFIG_ENABLE_FPCIEC +/* CONFIG_ENABLE_FPCIEC is not set */ /* end of Pcie Configuration */ /* CONFIG_USE_WDT is not set */ /* CONFIG_USE_DMA is not set */ diff --git a/example/peripherals/pin/figs/pin_gpio_intr_board.png b/example/peripherals/pin/figs/pin_gpio_intr_board.png index c756db602b3c46f1b8fbc0e945626cee97fae6b2..a8d138a3c8c9a11165800b4c90cedc3c30425864 100644 Binary files a/example/peripherals/pin/figs/pin_gpio_intr_board.png and b/example/peripherals/pin/figs/pin_gpio_intr_board.png differ diff --git a/example/peripherals/pin/sdkconfig b/example/peripherals/pin/sdkconfig index a172f889c5239611be4c7e57fcfceb36e0c6e7a6..6fe9a0b217421d59074e6ec1c2b02bc89353f8b7 100644 --- a/example/peripherals/pin/sdkconfig +++ b/example/peripherals/pin/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 diff --git a/example/peripherals/pin/sdkconfig.h b/example/peripherals/pin/sdkconfig.h index 24ec5bf75d1d3ceca7ede8ec7e49c462dfa19c01..423d691e13202a7850d4031569c8ed3699b60ba0 100644 --- a/example/peripherals/pin/sdkconfig.h +++ b/example/peripherals/pin/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 diff --git a/example/peripherals/pin/src/pin_gpio_intr_example.c b/example/peripherals/pin/src/pin_gpio_intr_example.c index 186933b41ac201bf71ea480fb7d9418d754564fc..04ac2ef7931d0458fd8b14aa6932afa6a1b2e803 100644 --- a/example/peripherals/pin/src/pin_gpio_intr_example.c +++ b/example/peripherals/pin/src/pin_gpio_intr_example.c @@ -54,8 +54,8 @@ static const u32 input_pin_index = FGPIO_ID(FGPIO_CTRL_0, FGPIO_PIN_0); static const u32 output_pin_index = FGPIO_ID(FGPIO_CTRL_4, FGPIO_PIN_13); #elif defined(CONFIG_E2000Q_DEMO_BOARD) || defined(CONFIG_E2000D_DEMO_BOARD) -static const u32 input_pin_index = FGPIO_ID(FGPIO_CTRL_4, FGPIO_PIN_13); -static const u32 output_pin_index = FGPIO_ID(FGPIO_CTRL_4, FGPIO_PIN_10); +static const u32 input_pin_index = FGPIO_ID(FGPIO_CTRL_4, FGPIO_PIN_11); +static const u32 output_pin_index = FGPIO_ID(FGPIO_CTRL_4, FGPIO_PIN_12); #elif defined(CONFIG_PD2308_DEMO_BOARD) static const u32 input_pin_index = FGPIO_ID(FGPIO_CTRL_0, FGPIO_PIN_8); static const u32 output_pin_index = FGPIO_ID(FGPIO_CTRL_0, FGPIO_PIN_10); diff --git a/example/peripherals/pmbus/sdkconfig b/example/peripherals/pmbus/sdkconfig index d04edcfb8302f5f68a7519b3966d0eac204ac1ab..1447b452f3637ecb5e9afc6770e4768e9680fa69 100644 --- a/example/peripherals/pmbus/sdkconfig +++ b/example/peripherals/pmbus/sdkconfig @@ -41,6 +41,7 @@ CONFIG_GCC_CODE_MODEL_SMALL=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_MAX_XLAT_TABLES=256 # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set CONFIG_TARGET_PD2308=y +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="pd2308" CONFIG_SOC_CORE_NUM=8 diff --git a/example/peripherals/pmbus/sdkconfig.h b/example/peripherals/pmbus/sdkconfig.h index 1104691a1ae8478d7ff23c10506e420700283d14..c85bb5f6cb74071d744f883773643ada8b585e67 100644 --- a/example/peripherals/pmbus/sdkconfig.h +++ b/example/peripherals/pmbus/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ #define CONFIG_TARGET_PD2308 +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "pd2308" #define CONFIG_SOC_CORE_NUM 8 diff --git a/example/peripherals/pwm/sdkconfig b/example/peripherals/pwm/sdkconfig index 0a76ea226e37e55dcfd0e10d838944d45aa2bac8..573f3089bef10dd6fa67b1657841b1d2ff88c059 100644 --- a/example/peripherals/pwm/sdkconfig +++ b/example/peripherals/pwm/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 diff --git a/example/peripherals/pwm/sdkconfig.h b/example/peripherals/pwm/sdkconfig.h index 4237312d7728df7a5a07efee61825c3808ce72dd..3a5fd1f87f714acc5e9528fdf44c7219242534a7 100644 --- a/example/peripherals/pwm/sdkconfig.h +++ b/example/peripherals/pwm/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 diff --git a/example/peripherals/qspi/sdkconfig b/example/peripherals/qspi/sdkconfig index be11f179582eda7caab01f79ba808e2904716370..bd0b3d5ca51a14757457d3568dbbef7fdb1078a5 100644 --- a/example/peripherals/qspi/sdkconfig +++ b/example/peripherals/qspi/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_MAX_XLAT_TABLES=256 # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set CONFIG_TARGET_PD2308=y +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="pd2308" CONFIG_SOC_CORE_NUM=8 diff --git a/example/peripherals/qspi/sdkconfig.h b/example/peripherals/qspi/sdkconfig.h index 942e054e788ab0469022f61f169867677417132d..a997b3a6465acc23f3bf577eaa1072ffdbf2b25c 100644 --- a/example/peripherals/qspi/sdkconfig.h +++ b/example/peripherals/qspi/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ #define CONFIG_TARGET_PD2308 +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "pd2308" #define CONFIG_SOC_CORE_NUM 8 diff --git a/example/peripherals/sata/sata_controller/sdkconfig b/example/peripherals/sata/sata_controller/sdkconfig index 003339fbc235515997585bef1bb59796cdd01afb..c9971fb311d77eb0cc4c7683d576a893e2addf83 100644 --- a/example/peripherals/sata/sata_controller/sdkconfig +++ b/example/peripherals/sata/sata_controller/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_MAX_XLAT_TABLES=256 # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set CONFIG_TARGET_PD2308=y +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="pd2308" CONFIG_SOC_CORE_NUM=8 diff --git a/example/peripherals/sata/sata_controller/sdkconfig.h b/example/peripherals/sata/sata_controller/sdkconfig.h index 5b23fc621f7638ed554815e64739b368262d62ad..76450639ec78314ee9831350dd0e9219646367ec 100644 --- a/example/peripherals/sata/sata_controller/sdkconfig.h +++ b/example/peripherals/sata/sata_controller/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ #define CONFIG_TARGET_PD2308 +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "pd2308" #define CONFIG_SOC_CORE_NUM 8 diff --git a/example/peripherals/sata/sata_pcie/sdkconfig b/example/peripherals/sata/sata_pcie/sdkconfig index 47224575f6845a2c87ef8cf4d2f57055e030e24c..f10e4c39ec8569b8c6486559ec595403506ef7a2 100644 --- a/example/peripherals/sata/sata_pcie/sdkconfig +++ b/example/peripherals/sata/sata_pcie/sdkconfig @@ -54,6 +54,7 @@ CONFIG_ENABLE_GIC_ITS=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set CONFIG_TARGET_PD2308=y +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="pd2308" CONFIG_SOC_CORE_NUM=8 diff --git a/example/peripherals/sata/sata_pcie/sdkconfig.h b/example/peripherals/sata/sata_pcie/sdkconfig.h index da0a0094a42193ab7bd433abc61f11bec365c258..78f229f7b66f1b9cbdec9d5d35d1d1afb0b1eb76 100644 --- a/example/peripherals/sata/sata_pcie/sdkconfig.h +++ b/example/peripherals/sata/sata_pcie/sdkconfig.h @@ -50,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ #define CONFIG_TARGET_PD2308 +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "pd2308" #define CONFIG_SOC_CORE_NUM 8 diff --git a/example/peripherals/sd/sdkconfig b/example/peripherals/sd/sdkconfig index d945653019b3013ab991bbae084f19f71a736df1..db4f94131aec11b18131423c0dc2fdd1ebc746d1 100644 --- a/example/peripherals/sd/sdkconfig +++ b/example/peripherals/sd/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_MAX_XLAT_TABLES=256 # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set CONFIG_TARGET_PD2308=y +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="pd2308" CONFIG_SOC_CORE_NUM=8 diff --git a/example/peripherals/sd/sdkconfig.h b/example/peripherals/sd/sdkconfig.h index 44fbf7d75387ae3a6828fdd724750584c780eb7f..45830da89e5257d24ece5e15b269c1568e72afe2 100644 --- a/example/peripherals/sd/sdkconfig.h +++ b/example/peripherals/sd/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ #define CONFIG_TARGET_PD2308 +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "pd2308" #define CONFIG_SOC_CORE_NUM 8 diff --git a/example/peripherals/serial/configs/ps2316_aarch64_test16_serial.config b/example/peripherals/serial/configs/ps2316_aarch64_test16_serial.config new file mode 100644 index 0000000000000000000000000000000000000000..6b32bf906e336eab4d9c4722cc56dc220361ae3f --- /dev/null +++ b/example/peripherals/serial/configs/ps2316_aarch64_test16_serial.config @@ -0,0 +1,9 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="serial" +CONFIG_LOG_INFO=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_HEAP_SIZE=2 diff --git a/example/peripherals/serial/sdkconfig b/example/peripherals/serial/sdkconfig index 8c22ad5d1fa87c6b6d212733c53a91341be4740d..c34cad6215c90283e6f368d246b166e13df99269 100644 --- a/example/peripherals/serial/sdkconfig +++ b/example/peripherals/serial/sdkconfig @@ -41,26 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -69,24 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -101,9 +86,9 @@ CONFIG_TARGET_NAME="serial" CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set -# CONFIG_LOG_INFO is not set +CONFIG_LOG_INFO=y # CONFIG_LOG_WARN is not set -CONFIG_LOG_ERROR=y +# CONFIG_LOG_ERROR is not set # CONFIG_LOG_NONE is not set # CONFIG_LOG_EXTRA_INFO is not set # CONFIG_LOG_DISPALY_CORE_NUM is not set @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y @@ -135,20 +120,11 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_CAN is not set # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set -CONFIG_USE_MIO=y - -# -# Hardware Mio Configuration -# -CONFIG_ENABLE_MIO=y -# end of Hardware Mio Configuration - +# CONFIG_USE_MIO is not set # CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set -CONFIG_USE_DMA=y -# CONFIG_ENABLE_FGDMA is not set -CONFIG_ENABLE_FDDMA=y +# CONFIG_USE_DMA is not set # CONFIG_USE_NAND is not set # CONFIG_USE_RTC is not set # CONFIG_USE_SATA is not set diff --git a/example/peripherals/serial/sdkconfig.h b/example/peripherals/serial/sdkconfig.h index c51ce923035b26c4840d021b22824b4081371194..c1d4ba0cc871c030fec71693321bdf7f3ff670a3 100644 --- a/example/peripherals/serial/sdkconfig.h +++ b/example/peripherals/serial/sdkconfig.h @@ -38,25 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -64,22 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -92,9 +79,9 @@ #define CONFIG_ELOG_LINE_BUF_SIZE 0x100 /* CONFIG_LOG_VERBOS is not set */ /* CONFIG_LOG_DEBUG is not set */ -/* CONFIG_LOG_INFO is not set */ +#define CONFIG_LOG_INFO /* CONFIG_LOG_WARN is not set */ -#define CONFIG_LOG_ERROR +/* CONFIG_LOG_ERROR is not set */ /* CONFIG_LOG_NONE is not set */ /* CONFIG_LOG_EXTRA_INFO is not set */ /* CONFIG_LOG_DISPALY_CORE_NUM is not set */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL @@ -123,18 +110,11 @@ /* CONFIG_USE_CAN is not set */ /* CONFIG_USE_I2C is not set */ /* CONFIG_USE_TIMER is not set */ -#define CONFIG_USE_MIO - -/* Hardware Mio Configuration */ - -#define CONFIG_ENABLE_MIO -/* end of Hardware Mio Configuration */ +/* CONFIG_USE_MIO is not set */ /* CONFIG_USE_SDMMC is not set */ /* CONFIG_USE_PCIE is not set */ /* CONFIG_USE_WDT is not set */ -#define CONFIG_USE_DMA -/* CONFIG_ENABLE_FGDMA is not set */ -#define CONFIG_ENABLE_FDDMA +/* CONFIG_USE_DMA is not set */ /* CONFIG_USE_NAND is not set */ /* CONFIG_USE_RTC is not set */ /* CONFIG_USE_SATA is not set */ diff --git a/example/peripherals/spi/sdkconfig b/example/peripherals/spi/sdkconfig index 1c4ed9e23805358f3e9154c7e71894b1a2de601a..c9ff2435df99b747669748dbd7971b0f6811b53f 100644 --- a/example/peripherals/spi/sdkconfig +++ b/example/peripherals/spi/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_MAX_XLAT_TABLES=256 # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set CONFIG_TARGET_PD2308=y +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="pd2308" CONFIG_SOC_CORE_NUM=8 diff --git a/example/peripherals/spi/sdkconfig.h b/example/peripherals/spi/sdkconfig.h index 91d12d348e40e5e396d3ec466bffbd7c72d71bcf..2c28ab9c49581fa5269f669b398389944f0448a5 100644 --- a/example/peripherals/spi/sdkconfig.h +++ b/example/peripherals/spi/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ #define CONFIG_TARGET_PD2308 +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "pd2308" #define CONFIG_SOC_CORE_NUM 8 diff --git a/example/peripherals/timer/tacho/sdkconfig b/example/peripherals/timer/tacho/sdkconfig index 746b2334160db9e24000ef5188ba6b1828f63576..d5cbec1cc8c1f8aa0888031813318fbbe024ef82 100644 --- a/example/peripherals/timer/tacho/sdkconfig +++ b/example/peripherals/timer/tacho/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 diff --git a/example/peripherals/timer/tacho/sdkconfig.h b/example/peripherals/timer/tacho/sdkconfig.h index 7bd5cdecb00427186e8f310aedcbd5b022e4f22e..f1a932fe4b1648cb269f4d90c223d21c09a9a780 100644 --- a/example/peripherals/timer/tacho/sdkconfig.h +++ b/example/peripherals/timer/tacho/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 diff --git a/example/peripherals/timer/timer/sdkconfig b/example/peripherals/timer/timer/sdkconfig index 258e7081a4ee9a27ef46fdc9c462a36b9dcac21f..d5ca684e6beab2136941aa644e3399710819e124 100644 --- a/example/peripherals/timer/timer/sdkconfig +++ b/example/peripherals/timer/timer/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 diff --git a/example/peripherals/timer/timer/sdkconfig.h b/example/peripherals/timer/timer/sdkconfig.h index ac1938cf5fca2f4db4dbd1d1604406bc24eb1b09..254d9d71de8b5b7e7f41366b06afafa40cce803e 100644 --- a/example/peripherals/timer/timer/sdkconfig.h +++ b/example/peripherals/timer/timer/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 diff --git a/example/peripherals/usb/pusb2_device/sdkconfig b/example/peripherals/usb/pusb2_device/sdkconfig index 848d9d3330903ca3cfaf2bf10c894a61396c15a1..61d1ab0df4fcb79f249c9e4352c70b58a397f4d7 100644 --- a/example/peripherals/usb/pusb2_device/sdkconfig +++ b/example/peripherals/usb/pusb2_device/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_E2000Q=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="e2000" CONFIG_TARGET_TYPE_NAME="q" diff --git a/example/peripherals/usb/pusb2_device/sdkconfig.h b/example/peripherals/usb/pusb2_device/sdkconfig.h index 132aa9b6bdd6c34dae8a4f09ee03ec8e7a708d3b..ed33ab1d7f20cbd50cb5497af959590d6ec07389 100644 --- a/example/peripherals/usb/pusb2_device/sdkconfig.h +++ b/example/peripherals/usb/pusb2_device/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "e2000" #define CONFIG_TARGET_TYPE_NAME "q" diff --git a/example/peripherals/wdt/configs/ps2316_aarch64_test16_wdt.config b/example/peripherals/wdt/configs/ps2316_aarch64_test16_wdt.config new file mode 100644 index 0000000000000000000000000000000000000000..61ee5209fdadbb0376b016c03c83af5bf9468b23 --- /dev/null +++ b/example/peripherals/wdt/configs/ps2316_aarch64_test16_wdt.config @@ -0,0 +1,10 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="wdt" +CONFIG_USE_WDT=y +CONFIG_USE_FWDT=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_HEAP_SIZE=2 diff --git a/example/peripherals/wdt/sdkconfig b/example/peripherals/wdt/sdkconfig index ce41b5253f373fb1448e951016fcfc3583fe7b1a..7d68eea0012605d0dc8e3e87d4e0ce148d27f384 100644 --- a/example/peripherals/wdt/sdkconfig +++ b/example/peripherals/wdt/sdkconfig @@ -41,26 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -69,24 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/peripherals/wdt/sdkconfig.h b/example/peripherals/wdt/sdkconfig.h index 06ed9fdad5bf41f13ffdfb9f25d3d4d9fce674bc..73f2beca883a7a09942e7db2a4571fc897e1daaa 100644 --- a/example/peripherals/wdt/sdkconfig.h +++ b/example/peripherals/wdt/sdkconfig.h @@ -38,25 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -64,22 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/python/configs/ps2316_aarch64_test16_micropython.config b/example/python/configs/ps2316_aarch64_test16_micropython.config new file mode 100644 index 0000000000000000000000000000000000000000..2f0ff4edbc388ea75433fa42c7f29f7a397941dc --- /dev/null +++ b/example/python/configs/ps2316_aarch64_test16_micropython.config @@ -0,0 +1,11 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="micropython" +CONFIG_USE_LETTER_SHELL=y +CONFIG_USE_FSL_SDMMC=y +CONFIG_USE_MICROPYTHON=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_OUTPUT_ASM_DIS=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_HEAP_SIZE=2 diff --git a/example/python/sdkconfig b/example/python/sdkconfig index 2d51307ddd3ccf9fb1fdc5c3dbb8bcc2de350547..83ffe145bb4b7d7ac77cb36712bc90a174b3d7b6 100644 --- a/example/python/sdkconfig +++ b/example/python/sdkconfig @@ -29,7 +29,6 @@ CONFIG_GCC_CODE_MODEL_SMALL=y # CONFIG_GCC_CODE_MODEL_LARGE is not set # end of Compiler configuration -# CONFIG_USE_L3CACHE is not set CONFIG_BOOT_WITH_FLUSH_CACHE=y # CONFIG_MMU_DEBUG_PRINTS is not set # end of Arm architecture configuration @@ -42,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -51,12 +51,13 @@ CONFIG_MAX_XLAT_TABLES=256 # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set -CONFIG_TARGET_FT2004=y +# CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="ft2004" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 @@ -69,13 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="dsk" -CONFIG_FT2004_DSK_BOARD=y - -# -# IO mux configuration when board start up -# -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -107,7 +103,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # Drivers configuration # CONFIG_USE_IOMUX=y -CONFIG_ENABLE_IOCTRL=y +# CONFIG_ENABLE_IOCTRL is not set # CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set @@ -125,9 +121,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_I2C is not set # CONFIG_USE_TIMER is not set # CONFIG_USE_MIO is not set -CONFIG_USE_SDMMC=y -CONFIG_ENABLE_FSDMMC=y -# CONFIG_ENABLE_FSDIF is not set +# CONFIG_USE_SDMMC is not set # CONFIG_USE_PCIE is not set # CONFIG_USE_WDT is not set # CONFIG_USE_DMA is not set @@ -176,7 +170,7 @@ CONFIG_USE_FSL_SDMMC=y # Host configuration # # CONFIG_FSL_SDMMC_USE_FSDIF is not set -CONFIG_FSL_SDMMC_USE_FSDMMC=y +# CONFIG_FSL_SDMMC_USE_FSDMMC is not set # end of Host configuration # diff --git a/example/python/sdkconfig.h b/example/python/sdkconfig.h index fceed0a6c50c8f057df7913b16f20a1026b9f3c5..15995a18c38958f56e8fb09657add750c9c9288e 100644 --- a/example/python/sdkconfig.h +++ b/example/python/sdkconfig.h @@ -28,7 +28,6 @@ #define CONFIG_GCC_CODE_MODEL_SMALL /* CONFIG_GCC_CODE_MODEL_LARGE is not set */ /* end of Compiler configuration */ -/* CONFIG_USE_L3CACHE is not set */ #define CONFIG_BOOT_WITH_FLUSH_CACHE /* CONFIG_MMU_DEBUG_PRINTS is not set */ /* end of Arm architecture configuration */ @@ -39,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -47,12 +47,13 @@ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ -#define CONFIG_TARGET_FT2004 +/* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "ft2004" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 @@ -64,12 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "dsk" -#define CONFIG_FT2004_DSK_BOARD - -/* IO mux configuration when board start up */ - -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -98,7 +95,7 @@ /* Drivers configuration */ #define CONFIG_USE_IOMUX -#define CONFIG_ENABLE_IOCTRL +/* CONFIG_ENABLE_IOCTRL is not set */ /* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ @@ -114,9 +111,7 @@ /* CONFIG_USE_I2C is not set */ /* CONFIG_USE_TIMER is not set */ /* CONFIG_USE_MIO is not set */ -#define CONFIG_USE_SDMMC -#define CONFIG_ENABLE_FSDMMC -/* CONFIG_ENABLE_FSDIF is not set */ +/* CONFIG_USE_SDMMC is not set */ /* CONFIG_USE_PCIE is not set */ /* CONFIG_USE_WDT is not set */ /* CONFIG_USE_DMA is not set */ @@ -159,7 +154,7 @@ /* Host configuration */ /* CONFIG_FSL_SDMMC_USE_FSDIF is not set */ -#define CONFIG_FSL_SDMMC_USE_FSDMMC +/* CONFIG_FSL_SDMMC_USE_FSDMMC is not set */ /* end of Host configuration */ /* Protocol configuration */ diff --git a/example/storage/fatfs/sdkconfig b/example/storage/fatfs/sdkconfig index 15ddefa3db6421a3c6f397298aa0f9af2c933feb..60cc3ce9dbe8fa83497916f07858616130751f89 100644 --- a/example/storage/fatfs/sdkconfig +++ b/example/storage/fatfs/sdkconfig @@ -54,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 diff --git a/example/storage/fatfs/sdkconfig.h b/example/storage/fatfs/sdkconfig.h index 2eb7338b2dbbc6d9e6827bc9ddc1c876c6357d69..06fb07bd7a2d64de787732cf19aec1afab8d61e0 100644 --- a/example/storage/fatfs/sdkconfig.h +++ b/example/storage/fatfs/sdkconfig.h @@ -50,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 diff --git a/example/storage/memory_pool_test/configs/ps2316_aarch64_test16_mem_pool.config b/example/storage/memory_pool_test/configs/ps2316_aarch64_test16_mem_pool.config new file mode 100644 index 0000000000000000000000000000000000000000..8ca5d7737b3aa880b7608029937182681cf5e0b0 --- /dev/null +++ b/example/storage/memory_pool_test/configs/ps2316_aarch64_test16_mem_pool.config @@ -0,0 +1,8 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="mem_pool" +CONFIG_LOG_DEBUG=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/storage/memory_pool_test/sdkconfig b/example/storage/memory_pool_test/sdkconfig index 0c82e4767c835563af11f62f6693a419658275c9..3f47c52bc139dc8cd837524cfd1df7b9732dabe1 100644 --- a/example/storage/memory_pool_test/sdkconfig +++ b/example/storage/memory_pool_test/sdkconfig @@ -41,26 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -69,24 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/storage/memory_pool_test/sdkconfig.h b/example/storage/memory_pool_test/sdkconfig.h index dfb76995717d08fa4e0f24df51207c3cb767b053..0f73db26ae8f8df26619c973e6845a5c3bf0e77a 100644 --- a/example/storage/memory_pool_test/sdkconfig.h +++ b/example/storage/memory_pool_test/sdkconfig.h @@ -38,25 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -64,22 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/storage/sfud/sdkconfig b/example/storage/sfud/sdkconfig index 5dee8756ac057aa9015a884bd33e0845443eb213..604d73528a8b7078434c6b04f2466e513b2cc8d1 100644 --- a/example/storage/sfud/sdkconfig +++ b/example/storage/sfud/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 diff --git a/example/storage/sfud/sdkconfig.h b/example/storage/sfud/sdkconfig.h index f402e795c91e8efac745f417d5d2576e64de9f84..fe94a73caa7efb21b9821c9845e06358f9ff8584 100644 --- a/example/storage/sfud/sdkconfig.h +++ b/example/storage/sfud/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 diff --git a/example/storage/spiffs/sdkconfig b/example/storage/spiffs/sdkconfig index 160c28d22fe9fafe389cc782a6b5afefb0739ee2..0aa1bcd43ddc8a5235c4719070d0da5a912bbe7a 100644 --- a/example/storage/spiffs/sdkconfig +++ b/example/storage/spiffs/sdkconfig @@ -41,6 +41,7 @@ CONFIG_GCC_CODE_MODEL_SMALL=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 diff --git a/example/storage/spiffs/sdkconfig.h b/example/storage/spiffs/sdkconfig.h index bcd2e4735f2b17ed7ead7f3426f7765f8b81d1cb..a308383ff918f907892697af9bd135ad8c9727b9 100644 --- a/example/storage/spiffs/sdkconfig.h +++ b/example/storage/spiffs/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 diff --git a/example/system/amp/amp_tools_example/amp/README.md b/example/system/amp/amp_tools_example/amp/README.md index 7a07b472a3037bd27524359f2a4f19cbd040db09..970b95435c2d4e8883b62118f3d6fcc981137e9b 100644 --- a/example/system/amp/amp_tools_example/amp/README.md +++ b/example/system/amp/amp_tools_example/amp/README.md @@ -34,7 +34,7 @@ MCS锁(Mellor-Crummey and Scott Lock)介绍: 本例程需要以下硬件, -- E2000D/Q Demo,D2000,FT2000/4,PhytiumPi +- E2000D/Q Demo,D2000,FT2000/4,PhytiumPi,pd2308,ps2316 - 串口连接电脑,USB转串口模块 ### 2.1 硬件配置方法 diff --git a/example/system/amp/amp_tools_example/amp/amp_config.json b/example/system/amp/amp_tools_example/amp/amp_config.json index 1ff2968e1b4079a2c9c96a8feecbe35d49348f4c..227969724419b9d2080293978d07c059365818de 100644 --- a/example/system/amp/amp_tools_example/amp/amp_config.json +++ b/example/system/amp/amp_tools_example/amp/amp_config.json @@ -95,7 +95,27 @@ "path2":["../amp2",2,0,"d2000_aarch32_test_template.config"], "path3":["../amp3",3,0,"d2000_aarch32_test_template.config"] } - ] + ], + "config8":[ + { + "bootstrap":["./",0,0,"ps2316_aarch64_test16_template.config"] + }, + { + "path1":["../amp1",1,0,"ps2316_aarch64_test16_template.config"], + "path2":["../amp2",2,0,"ps2316_aarch64_test16_template.config"], + "path3":["../amp3",3,0,"ps2316_aarch64_test16_template.config"] + } + ], + "config9":[ + { + "bootstrap":["./",0,0,"pd2308_aarch64_demo_template.config"] + }, + { + "path1":["../amp1",1,0,"pd2308_aarch64_demo_template.config"], + "path2":["../amp2",2,0,"pd2308_aarch64_demo_template.config"], + "path3":["../amp3",3,0,"pd2308_aarch64_demo_template.config"] + } + ] } } ] diff --git a/example/system/amp/amp_tools_example/amp/configs/pd2308_aarch64_demo_template.config b/example/system/amp/amp_tools_example/amp/configs/pd2308_aarch64_demo_template.config new file mode 100644 index 0000000000000000000000000000000000000000..7637e060a69e593911722059d408e937028169c7 --- /dev/null +++ b/example/system/amp/amp_tools_example/amp/configs/pd2308_aarch64_demo_template.config @@ -0,0 +1,7 @@ +CONFIG_USE_MSDF=y +CONFIG_MSDF1=y +CONFIG_TARGET_PD2308=y +CONFIG_TARGET_NAME="template" +CONFIG_ENABLE_IOPAD=y +CONFIG_USE_SERIAL=y +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/system/amp/amp_tools_example/amp/configs/ps2316_aarch64_test16_template.config b/example/system/amp/amp_tools_example/amp/configs/ps2316_aarch64_test16_template.config new file mode 100644 index 0000000000000000000000000000000000000000..50e3e445218645337a873b991e038d3497187753 --- /dev/null +++ b/example/system/amp/amp_tools_example/amp/configs/ps2316_aarch64_test16_template.config @@ -0,0 +1,7 @@ +CONFIG_USE_MSDF=y +CONFIG_MSDF1=y +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="template" +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/system/amp/amp_tools_example/amp/sdkconfig b/example/system/amp/amp_tools_example/amp/sdkconfig index a1991866a776189be937d687f23cae8e276f9425..0758150ba329c434385cdea50bff6985624cd8a9 100644 --- a/example/system/amp/amp_tools_example/amp/sdkconfig +++ b/example/system/amp/amp_tools_example/amp/sdkconfig @@ -39,12 +39,13 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_USE_MSDF=y # CONFIG_MSDF0 is not set CONFIG_MSDF1=y -CONFIG_SOC_CORE_MAX_ID=1 +CONFIG_SOC_CORE_MAX_ID=15 CONFIG_MSDF_CORE_ID=0 # end of multi-core system deployment framework CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -52,20 +53,19 @@ CONFIG_MAX_XLAT_TABLES=256 # # CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set -CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="e2000" -CONFIG_TARGET_TYPE_NAME="d" -CONFIG_SOC_CORE_NUM=2 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -74,25 +74,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_E2000D_DEMO_BOARD=y -CONFIG_BOARD_NAME="demo" - -# -# IO mux configuration when board start up -# -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_ADC_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -125,7 +108,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y @@ -162,7 +145,17 @@ CONFIG_ENABLE_Pl011_UART=y # Third-party configuration # # CONFIG_USE_LWIP is not set -# CONFIG_USE_LETTER_SHELL is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter shell configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter shell configuration + # CONFIG_USE_AMP is not set # CONFIG_USE_YMODEM is not set # CONFIG_USE_SFUD is not set diff --git a/example/system/amp/amp_tools_example/amp/sdkconfig.h b/example/system/amp/amp_tools_example/amp/sdkconfig.h index 31a85d0a8c12d095c6b6afb1c6e9812402c27a99..708056569e2fd1b01e79ad13791d0b13f0263ba1 100644 --- a/example/system/amp/amp_tools_example/amp/sdkconfig.h +++ b/example/system/amp/amp_tools_example/amp/sdkconfig.h @@ -37,31 +37,31 @@ #define CONFIG_USE_MSDF /* CONFIG_MSDF0 is not set */ #define CONFIG_MSDF1 -#define CONFIG_SOC_CORE_MAX_ID 1 +#define CONFIG_SOC_CORE_MAX_ID 15 #define CONFIG_MSDF_CORE_ID 0 /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ /* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ -#define CONFIG_TARGET_E2000D +/* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "e2000" -#define CONFIG_TARGET_TYPE_NAME "d" -#define CONFIG_SOC_CORE_NUM 2 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -69,23 +69,8 @@ /* Board Configuration */ -#define CONFIG_E2000D_DEMO_BOARD -#define CONFIG_BOARD_NAME "demo" - -/* IO mux configuration when board start up */ - -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_ADC_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -115,7 +100,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL @@ -149,7 +134,15 @@ /* Third-party configuration */ /* CONFIG_USE_LWIP is not set */ -/* CONFIG_USE_LETTER_SHELL is not set */ +#define CONFIG_USE_LETTER_SHELL + +/* Letter shell configuration */ + +#define CONFIG_LS_PL011_UART +#define CONFIG_DEFAULT_LETTER_SHELL_USE_UART1 +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ +/* end of Letter shell configuration */ /* CONFIG_USE_AMP is not set */ /* CONFIG_USE_YMODEM is not set */ /* CONFIG_USE_SFUD is not set */ diff --git a/example/system/amp/amp_tools_example/amp1/configs/pd2308_aarch64_demo_template.config b/example/system/amp/amp_tools_example/amp1/configs/pd2308_aarch64_demo_template.config new file mode 100644 index 0000000000000000000000000000000000000000..b9d77f112d6c579d4ce836d99ecbb2b1e9718607 --- /dev/null +++ b/example/system/amp/amp_tools_example/amp1/configs/pd2308_aarch64_demo_template.config @@ -0,0 +1,6 @@ +CONFIG_TARGET_PD2308=y +CONFIG_TARGET_NAME="template" +CONFIG_ENABLE_IOPAD=y +CONFIG_USE_SERIAL=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_LOAD_ADDRESS=0x90100000 diff --git a/example/system/amp/amp_tools_example/amp1/configs/ps2316_aarch64_test16_template.config b/example/system/amp/amp_tools_example/amp1/configs/ps2316_aarch64_test16_template.config new file mode 100644 index 0000000000000000000000000000000000000000..04af6105c163c0a890807eeb1544428f5cc27805 --- /dev/null +++ b/example/system/amp/amp_tools_example/amp1/configs/ps2316_aarch64_test16_template.config @@ -0,0 +1,6 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="template" +CONFIG_USE_SERIAL=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_LOAD_ADDRESS=0x90100000 diff --git a/example/system/amp/amp_tools_example/amp1/sdkconfig b/example/system/amp/amp_tools_example/amp1/sdkconfig index 96e5f8aa2dd30b0857b49d706487fd4d3c489117..7c255ace6ceb74ea3e239e8c24f0d7000763a7d1 100644 --- a/example/system/amp/amp_tools_example/amp1/sdkconfig +++ b/example/system/amp/amp_tools_example/amp1/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -48,20 +49,19 @@ CONFIG_MAX_XLAT_TABLES=256 # # CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set -CONFIG_TARGET_E2000D=y +# CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="e2000" -CONFIG_TARGET_TYPE_NAME="d" -CONFIG_SOC_CORE_NUM=2 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -70,25 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_E2000D_DEMO_BOARD=y -CONFIG_BOARD_NAME="demo" - -# -# IO mux configuration when board start up -# -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_ADC_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -121,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/system/amp/amp_tools_example/amp1/sdkconfig.h b/example/system/amp/amp_tools_example/amp1/sdkconfig.h index 118630d90500e764a0cda5cbe76adb787b9c9afb..404ebc73cb87f3a1f4beaa1fcea941432ce5d138 100644 --- a/example/system/amp/amp_tools_example/amp1/sdkconfig.h +++ b/example/system/amp/amp_tools_example/amp1/sdkconfig.h @@ -38,26 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ /* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ -#define CONFIG_TARGET_E2000D +/* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "e2000" -#define CONFIG_TARGET_TYPE_NAME "d" -#define CONFIG_SOC_CORE_NUM 2 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -65,23 +65,8 @@ /* Board Configuration */ -#define CONFIG_E2000D_DEMO_BOARD -#define CONFIG_BOARD_NAME "demo" - -/* IO mux configuration when board start up */ - -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_ADC_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -111,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/system/amp/amp_tools_example/amp2/configs/pd2308_aarch64_demo_template.config b/example/system/amp/amp_tools_example/amp2/configs/pd2308_aarch64_demo_template.config new file mode 100644 index 0000000000000000000000000000000000000000..4a824c70dbb7d7cd41caa972649169bf99f32de2 --- /dev/null +++ b/example/system/amp/amp_tools_example/amp2/configs/pd2308_aarch64_demo_template.config @@ -0,0 +1,7 @@ +CONFIG_TARGET_PD2308=y +CONFIG_BOARD_NAME="demo" +CONFIG_CUS_DEMO_BOARD=y +CONFIG_TARGET_NAME="template" +CONFIG_USE_SERIAL=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_LOAD_ADDRESS=0xa0100000 diff --git a/example/system/amp/amp_tools_example/amp2/configs/ps2316_aarch64_test16_template.config b/example/system/amp/amp_tools_example/amp2/configs/ps2316_aarch64_test16_template.config new file mode 100644 index 0000000000000000000000000000000000000000..24ce60ce8ac345a7d505a77944cb518325a0616a --- /dev/null +++ b/example/system/amp/amp_tools_example/amp2/configs/ps2316_aarch64_test16_template.config @@ -0,0 +1,6 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="template" +CONFIG_USE_SERIAL=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_LOAD_ADDRESS=0xa0100000 diff --git a/example/system/amp/amp_tools_example/amp2/sdkconfig b/example/system/amp/amp_tools_example/amp2/sdkconfig index f9087ce4e9ce09393c39b78da843b469ce7feeb5..299181cd82242224c0db0475513abfd9270e2d82 100644 --- a/example/system/amp/amp_tools_example/amp2/sdkconfig +++ b/example/system/amp/amp_tools_example/amp2/sdkconfig @@ -41,26 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -69,24 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y @@ -156,17 +141,7 @@ CONFIG_ENABLE_Pl011_UART=y # Third-party configuration # # CONFIG_USE_LWIP is not set -CONFIG_USE_LETTER_SHELL=y - -# -# Letter shell configuration -# -CONFIG_LS_PL011_UART=y -CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y -# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set -# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set -# end of Letter shell configuration - +# CONFIG_USE_LETTER_SHELL is not set # CONFIG_USE_AMP is not set # CONFIG_USE_YMODEM is not set # CONFIG_USE_SFUD is not set diff --git a/example/system/amp/amp_tools_example/amp2/sdkconfig.h b/example/system/amp/amp_tools_example/amp2/sdkconfig.h index 5033ebe67561fafa0df6e4138b54b9159bc84f8a..042ad7dbb3550ba7831c5e25676d38816a8480c4 100644 --- a/example/system/amp/amp_tools_example/amp2/sdkconfig.h +++ b/example/system/amp/amp_tools_example/amp2/sdkconfig.h @@ -38,25 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -64,22 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL @@ -143,15 +130,7 @@ /* Third-party configuration */ /* CONFIG_USE_LWIP is not set */ -#define CONFIG_USE_LETTER_SHELL - -/* Letter shell configuration */ - -#define CONFIG_LS_PL011_UART -#define CONFIG_DEFAULT_LETTER_SHELL_USE_UART1 -/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ -/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ -/* end of Letter shell configuration */ +/* CONFIG_USE_LETTER_SHELL is not set */ /* CONFIG_USE_AMP is not set */ /* CONFIG_USE_YMODEM is not set */ /* CONFIG_USE_SFUD is not set */ diff --git a/example/system/amp/amp_tools_example/amp3/configs/pd2308_aarch64_demo_template.config b/example/system/amp/amp_tools_example/amp3/configs/pd2308_aarch64_demo_template.config new file mode 100644 index 0000000000000000000000000000000000000000..8e378225dec8c782a744e27ecdea4955f751d75e --- /dev/null +++ b/example/system/amp/amp_tools_example/amp3/configs/pd2308_aarch64_demo_template.config @@ -0,0 +1,7 @@ +CONFIG_TARGET_PD2308=y +CONFIG_BOARD_NAME="demo" +CONFIG_CUS_DEMO_BOARD=y +CONFIG_TARGET_NAME="template" +CONFIG_USE_SERIAL=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_LOAD_ADDRESS=0xb0100000 diff --git a/example/system/amp/amp_tools_example/amp3/configs/ps2316_aarch64_test16_template.config b/example/system/amp/amp_tools_example/amp3/configs/ps2316_aarch64_test16_template.config new file mode 100644 index 0000000000000000000000000000000000000000..5eaf44713f0c246bfc100f9bd49f9f840cdfd5a9 --- /dev/null +++ b/example/system/amp/amp_tools_example/amp3/configs/ps2316_aarch64_test16_template.config @@ -0,0 +1,6 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="template" +CONFIG_USE_SERIAL=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_LOAD_ADDRESS=0xb0100000 diff --git a/example/system/amp/amp_tools_example/amp3/sdkconfig b/example/system/amp/amp_tools_example/amp3/sdkconfig index ac0374c3df382ea033d6a7f06aec5dae4f8fe25b..810b9a3e27a8c37108e89702ba678e93543d24f3 100644 --- a/example/system/amp/amp_tools_example/amp3/sdkconfig +++ b/example/system/amp/amp_tools_example/amp3/sdkconfig @@ -41,26 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -69,24 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y @@ -156,17 +141,7 @@ CONFIG_ENABLE_Pl011_UART=y # Third-party configuration # # CONFIG_USE_LWIP is not set -CONFIG_USE_LETTER_SHELL=y - -# -# Letter shell configuration -# -CONFIG_LS_PL011_UART=y -CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y -# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set -# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set -# end of Letter shell configuration - +# CONFIG_USE_LETTER_SHELL is not set # CONFIG_USE_AMP is not set # CONFIG_USE_YMODEM is not set # CONFIG_USE_SFUD is not set diff --git a/example/system/amp/amp_tools_example/amp3/sdkconfig.h b/example/system/amp/amp_tools_example/amp3/sdkconfig.h index 19484e13731498312f84cf57d244944b68a697d7..45b98b7fb9c2db5df19f70bc184a5f5c3ea44b38 100644 --- a/example/system/amp/amp_tools_example/amp3/sdkconfig.h +++ b/example/system/amp/amp_tools_example/amp3/sdkconfig.h @@ -38,25 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -64,22 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL @@ -143,15 +130,7 @@ /* Third-party configuration */ /* CONFIG_USE_LWIP is not set */ -#define CONFIG_USE_LETTER_SHELL - -/* Letter shell configuration */ - -#define CONFIG_LS_PL011_UART -#define CONFIG_DEFAULT_LETTER_SHELL_USE_UART1 -/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ -/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ -/* end of Letter shell configuration */ +/* CONFIG_USE_LETTER_SHELL is not set */ /* CONFIG_USE_AMP is not set */ /* CONFIG_USE_YMODEM is not set */ /* CONFIG_USE_SFUD is not set */ diff --git a/example/system/amp/libmetal_test/apu_running/amp_config.json b/example/system/amp/libmetal_test/apu_running/amp_config.json index 9ff4151fb3617400cf9f72d9bbdb4c1e28a1a8db..f4be2fc9ea17d7e948b408cd6072dc668b173f85 100644 --- a/example/system/amp/libmetal_test/apu_running/amp_config.json +++ b/example/system/amp/libmetal_test/apu_running/amp_config.json @@ -107,6 +107,14 @@ { "path1":["../rpu_running",1,0,"pd2308_aarch64_demo_rpu.config"] } + ], + "config11":[ + { + "bootstrap":["./",0,0,"ps2316_aarch64_test16_apu.config"] + }, + { + "path1":["../rpu_running",1,0,"ps2316_aarch64_test16_rpu.config"] + } ] } } diff --git a/example/system/amp/libmetal_test/apu_running/configs/ps2316_aarch64_test16_apu.config b/example/system/amp/libmetal_test/apu_running/configs/ps2316_aarch64_test16_apu.config new file mode 100644 index 0000000000000000000000000000000000000000..29b8f3e467e19d9cb00015813fbf44a1bd059679 --- /dev/null +++ b/example/system/amp/libmetal_test/apu_running/configs/ps2316_aarch64_test16_apu.config @@ -0,0 +1,14 @@ +CONFIG_IPI_IRQ_NUM_PRIORITY=1 +CONFIG_TARGET_CPU_ID=1 +CONFIG_USE_MSDF=y +CONFIG_MSDF1=y +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="apu" +CONFIG_LOG_INFO=y +CONFIG_LOG_DISPALY_CORE_NUM=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_USE_AMP=y +CONFIG_USE_LIBMETAL=y +# CONFIG_CHECK_DEPS is not set +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/system/amp/libmetal_test/apu_running/makefile b/example/system/amp/libmetal_test/apu_running/makefile index 839eb9281ba37e2bf621cc9283c80791d5f67338..4c33d0c2dad142cf3542b628d7f6bfd3b12ac66a 100644 --- a/example/system/amp/libmetal_test/apu_running/makefile +++ b/example/system/amp/libmetal_test/apu_running/makefile @@ -65,5 +65,7 @@ clean_all: $(MAKE) -C ./ clean $(MAKE) -C ../rpu_running clean -boot: +image: + make clean + make all -j cp ./$(IMAGE_OUT_NAME).elf $(USR_BOOT_DIR)/apu_libmetal_core0.elf diff --git a/example/system/amp/libmetal_test/apu_running/sdkconfig b/example/system/amp/libmetal_test/apu_running/sdkconfig index 760a8f6be6aac31d5606dbda1378afcac34714ef..de1e4e2b088d24050e11455ea8705709518b0800 100644 --- a/example/system/amp/libmetal_test/apu_running/sdkconfig +++ b/example/system/amp/libmetal_test/apu_running/sdkconfig @@ -49,32 +49,33 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_USE_MSDF=y # CONFIG_MSDF0 is not set CONFIG_MSDF1=y -CONFIG_SOC_CORE_MAX_ID=3 +CONFIG_SOC_CORE_MAX_ID=15 CONFIG_MSDF_CORE_ID=0 # end of multi-core system deployment framework CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -83,24 +84,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -133,7 +118,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/system/amp/libmetal_test/apu_running/sdkconfig.h b/example/system/amp/libmetal_test/apu_running/sdkconfig.h index 9497c4eff989e2a107ad138d083dc595c6c29e2c..f83a63a029a6ab9f3c241db4bd294a2d8ac40589 100644 --- a/example/system/amp/libmetal_test/apu_running/sdkconfig.h +++ b/example/system/amp/libmetal_test/apu_running/sdkconfig.h @@ -44,30 +44,31 @@ #define CONFIG_USE_MSDF /* CONFIG_MSDF0 is not set */ #define CONFIG_MSDF1 -#define CONFIG_SOC_CORE_MAX_ID 3 +#define CONFIG_SOC_CORE_MAX_ID 15 #define CONFIG_MSDF_CORE_ID 0 /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -75,22 +76,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -120,7 +107,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/system/amp/libmetal_test/rpu_running/configs/ps2316_aarch64_test16_rpu.config b/example/system/amp/libmetal_test/rpu_running/configs/ps2316_aarch64_test16_rpu.config new file mode 100644 index 0000000000000000000000000000000000000000..dd3cb783fc1ae8b8207cdf95c8e0834a4578a191 --- /dev/null +++ b/example/system/amp/libmetal_test/rpu_running/configs/ps2316_aarch64_test16_rpu.config @@ -0,0 +1,13 @@ +CONFIG_IPI_IRQ_NUM_PRIORITY=1 +CONFIG_TARGET_CPU_ID=0 +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="rpu" +CONFIG_LOG_INFO=y +CONFIG_LOG_DISPALY_CORE_NUM=y +CONFIG_INTERRUPT_ROLE_SLAVE=y +CONFIG_USE_SERIAL=y +CONFIG_USE_AMP=y +CONFIG_USE_LIBMETAL=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_LOAD_ADDRESS=0x90000000 diff --git a/example/system/amp/libmetal_test/rpu_running/makefile b/example/system/amp/libmetal_test/rpu_running/makefile index 97c1bbba1222b2320678f74df0e3431d6ffab584..9554814b640af47c7cdd9cc5ba59e97cbe926be9 100644 --- a/example/system/amp/libmetal_test/rpu_running/makefile +++ b/example/system/amp/libmetal_test/rpu_running/makefile @@ -52,5 +52,7 @@ load_phytiumpi_aarch32: load_phytiumpi_aarch64: $(MAKE) load_kconfig LOAD_CONFIG_NAME=phytiumpi_aarch64_firefly_rpu -boot: +image: + make clean + make all -j cp ./$(IMAGE_OUT_NAME).elf $(USR_BOOT_DIR)/rpu_libmetal_core0.elf \ No newline at end of file diff --git a/example/system/amp/libmetal_test/rpu_running/sdkconfig b/example/system/amp/libmetal_test/rpu_running/sdkconfig index 472d179a65adb3f5689716bff39a80bc675ff228..79c1dbee6ce9334f8c446276553ca2c9cdf98d86 100644 --- a/example/system/amp/libmetal_test/rpu_running/sdkconfig +++ b/example/system/amp/libmetal_test/rpu_running/sdkconfig @@ -51,26 +51,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -79,24 +80,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -109,9 +94,9 @@ CONFIG_TARGET_NAME="rpu" # Sdk common configuration # CONFIG_ELOG_LINE_BUF_SIZE=0x100 -CONFIG_LOG_VERBOS=y +# CONFIG_LOG_VERBOS is not set # CONFIG_LOG_DEBUG is not set -# CONFIG_LOG_INFO is not set +CONFIG_LOG_INFO=y # CONFIG_LOG_WARN is not set # CONFIG_LOG_ERROR is not set # CONFIG_LOG_NONE is not set @@ -129,7 +114,7 @@ CONFIG_INTERRUPT_ROLE_SLAVE=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/system/amp/libmetal_test/rpu_running/sdkconfig.h b/example/system/amp/libmetal_test/rpu_running/sdkconfig.h index e720771b8cb610d0f9bc80c6cbffbc57bb27d2f4..b7e5e54c6e4f9c210ae5cbd8fa48deba4e617d21 100644 --- a/example/system/amp/libmetal_test/rpu_running/sdkconfig.h +++ b/example/system/amp/libmetal_test/rpu_running/sdkconfig.h @@ -45,25 +45,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -71,22 +72,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -97,9 +84,9 @@ /* Sdk common configuration */ #define CONFIG_ELOG_LINE_BUF_SIZE 0x100 -#define CONFIG_LOG_VERBOS +/* CONFIG_LOG_VERBOS is not set */ /* CONFIG_LOG_DEBUG is not set */ -/* CONFIG_LOG_INFO is not set */ +#define CONFIG_LOG_INFO /* CONFIG_LOG_WARN is not set */ /* CONFIG_LOG_ERROR is not set */ /* CONFIG_LOG_NONE is not set */ @@ -116,7 +103,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/system/amp/openamp/common/memory_layout.h b/example/system/amp/openamp/common/memory_layout.h index f561348509abff3bba8c1af3d5eca15926b91584..5cd871200f1396590ad6b9f0a3a3d9854f283cce 100644 --- a/example/system/amp/openamp/common/memory_layout.h +++ b/example/system/amp/openamp/common/memory_layout.h @@ -13,7 +13,7 @@ * * FilePath: memory_ * Created Date: 2024-04-29 14:22:47 - * Last Modified: 2024-08-14 11:08:31 + * Last Modified: 2025-01-14 14:44:15 * Description: This file is for * * Modify History: @@ -44,8 +44,8 @@ extern "C" { #define SLAVE00_TX_VRING_ADDR 0xc1000000 #define SLAVE00_RX_VRING_ADDR (SLAVE00_TX_VRING_ADDR + SLAVE00_VRING_SIZE/2) -#define SLAVE00_SOURCE_TABLE_ATTRIBUTE (MT_NORMAL|MT_P_RW_U_RW) -#define SLAVE00_SHARE_BUFFER_ATTRIBUTE (MT_NORMAL|MT_P_RW_U_RW) +#define SLAVE00_SOURCE_TABLE_ATTRIBUTE (MT_NORMAL|MT_P_RW_U_NA) +#define SLAVE00_SHARE_BUFFER_ATTRIBUTE (MT_NORMAL|MT_P_RW_U_NA) #if defined __cplusplus } diff --git a/example/system/amp/openamp/common/openamp_configs.h b/example/system/amp/openamp/common/openamp_configs.h index 95b28b0141584002a57ccec202765bcd06ad3a6c..8280f539d0db7d0c965e285d427eca2c1127bc98 100644 --- a/example/system/amp/openamp/common/openamp_configs.h +++ b/example/system/amp/openamp/common/openamp_configs.h @@ -13,7 +13,7 @@ * * FilePath: memory_attr.h * Created Date: 2024-05-06 19:20:51 - * Last Modified: 2024-11-28 10:45:13 + * Last Modified: 2025-01-10 14:08:18 * Description: This file is for * * Modify History: @@ -38,7 +38,7 @@ extern "C" { #define RPMSG_SERVICE_00_NAME "rpmsg_service_name_00" /* 从核发送消息时,需要指定发送的cpu的核号,用来确定软件中断的发送到哪个核上 */ -#if defined(CONFIG_TARGET_E2000D) || defined(CONFIG_TARGET_D2000) +#if defined(CONFIG_TARGET_E2000D) || defined(CONFIG_TARGET_D2000) || defined(CONFIG_TARGET_PS2316) #define MASTER_CORE 0 /* 与amp_config.json中的主核配置保持一致 */ #else #define MASTER_CORE 2 /* 与amp_config.json中的主核配置保持一致 */ @@ -47,7 +47,7 @@ extern "C" { /* 主核发送消息时,需要指定接收的cpu的核号,用来确定软件中断的发送到哪个核上,以及主核指定启动镜像在那个核心上运行 */ #if defined(CONFIG_TARGET_D2000) #define SLAVE_CORE_00 4 -#elif defined(CONFIG_TARGET_E2000D) +#elif defined(CONFIG_TARGET_E2000D) || defined(CONFIG_TARGET_PS2316) #define SLAVE_CORE_00 1 #else #define SLAVE_CORE_00 0 diff --git a/example/system/amp/openamp/device_core/configs/ps2316_aarch64_test16_openamp_device_core.config b/example/system/amp/openamp/device_core/configs/ps2316_aarch64_test16_openamp_device_core.config new file mode 100644 index 0000000000000000000000000000000000000000..2b3aec7a0e73827d5c17bf269a817988cc7a06c9 --- /dev/null +++ b/example/system/amp/openamp/device_core/configs/ps2316_aarch64_test16_openamp_device_core.config @@ -0,0 +1,13 @@ +CONFIG_TARGET_NAME="openamp_device_core" +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_LOG_INFO=y +CONFIG_LOG_DISPALY_CORE_NUM=y +CONFIG_INTERRUPT_ROLE_SLAVE=y +CONFIG_USE_SERIAL=y +CONFIG_USE_AMP=y +CONFIG_USE_OPENAMP=y +CONFIG_USE_OPENAMP_IPI=y +# CONFIG_OUTPUT_BINARY is not set +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_LOAD_ADDRESS=0xe0100000 diff --git a/example/system/amp/openamp/device_core/makefile b/example/system/amp/openamp/device_core/makefile index 368f9c0130512ca3db0869fe5633505c0c86bd00..656024cfddf76371901602477195cdcad1890518 100644 --- a/example/system/amp/openamp/device_core/makefile +++ b/example/system/amp/openamp/device_core/makefile @@ -16,6 +16,7 @@ USR_BOOT_DIR ?= /mnt/d/tftpboot USER_BOOT_IMAGE ?= openamp_device_core # 完成编译 -boot: +image: + make clean make all -s -j @cp ./$(IMAGE_OUT_NAME).elf $(USR_BOOT_DIR)/$(USER_BOOT_IMAGE).elf diff --git a/example/system/amp/openamp/device_core/sdkconfig b/example/system/amp/openamp/device_core/sdkconfig index dc3b1af20a5a42e7dd87e363fe23e2f28f3a357f..0b8e285d87ff4770cf57986c4e22ea876adf5bce 100644 --- a/example/system/amp/openamp/device_core/sdkconfig +++ b/example/system/amp/openamp/device_core/sdkconfig @@ -53,26 +53,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -81,24 +82,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -130,7 +115,7 @@ CONFIG_INTERRUPT_ROLE_SLAVE=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/system/amp/openamp/device_core/sdkconfig.h b/example/system/amp/openamp/device_core/sdkconfig.h index 9db218f4ce671c5b0b423704817af2fb63637c6e..aa81b4749b313e8ff6aede4022371b6540c29696 100644 --- a/example/system/amp/openamp/device_core/sdkconfig.h +++ b/example/system/amp/openamp/device_core/sdkconfig.h @@ -45,25 +45,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -71,22 +72,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -115,7 +102,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/system/amp/openamp/driver_core/amp_config.json b/example/system/amp/openamp/driver_core/amp_config.json index a88bb6d25f16d6ed8549d3739b24388c1f8689ed..b450d8c1ab425c3e2811cc344f9aefb844f7e8d4 100644 --- a/example/system/amp/openamp/driver_core/amp_config.json +++ b/example/system/amp/openamp/driver_core/amp_config.json @@ -67,6 +67,12 @@ "bootstrap":["./",0,1,"d2000_aarch32_test_openamp_driver_core.config"], "path0":["../device_core",10000,0,"d2000_aarch32_test_openamp_device_core.config"] } + ], + "config8":[ + { + "bootstrap":["./",0,1,"ps2316_aarch64_test16_openamp_driver_core.config"], + "path0":["../device_core",10000,0,"ps2316_aarch64_test16_openamp_device_core.config"] + } ] } } diff --git a/example/system/amp/openamp/driver_core/configs/ps2316_aarch64_test16_openamp_driver_core.config b/example/system/amp/openamp/driver_core/configs/ps2316_aarch64_test16_openamp_driver_core.config new file mode 100644 index 0000000000000000000000000000000000000000..c62e84405cb4ef36b7d671c4094ac530cf4109b5 --- /dev/null +++ b/example/system/amp/openamp/driver_core/configs/ps2316_aarch64_test16_openamp_driver_core.config @@ -0,0 +1,12 @@ +CONFIG_TARGET_NAME="openamp_driver_core" +CONFIG_USE_MSDF=y +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_LOG_INFO=y +CONFIG_LOG_DISPALY_CORE_NUM=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_USE_AMP=y +CONFIG_USE_OPENAMP=y +CONFIG_USE_OPENAMP_IPI=y +# CONFIG_OUTPUT_BINARY is not set +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/system/amp/openamp/driver_core/makefile b/example/system/amp/openamp/driver_core/makefile index 4cc31a49d264eac296bf0f221daf39fd4f495973..35829f2b0ac9031f4f377cbc7603036d989dba9e 100644 --- a/example/system/amp/openamp/driver_core/makefile +++ b/example/system/amp/openamp/driver_core/makefile @@ -30,6 +30,6 @@ clean_all: $(MAKE) -C ../device_core clean # 完成编译 -boot: +image: make all -j cp ./$(IMAGE_OUT_NAME).elf $(USR_BOOT_DIR)/$(USER_BOOT_IMAGE).elf \ No newline at end of file diff --git a/example/system/amp/openamp/driver_core/sdkconfig b/example/system/amp/openamp/driver_core/sdkconfig index cc0d0b9534cb6776b7d38c8a601b3bc34e807777..becd887cc7aade4ce107a8a4ea7ee515727766ce 100644 --- a/example/system/amp/openamp/driver_core/sdkconfig +++ b/example/system/amp/openamp/driver_core/sdkconfig @@ -51,32 +51,33 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_USE_MSDF=y CONFIG_MSDF0=y # CONFIG_MSDF1 is not set -CONFIG_SOC_CORE_MAX_ID=3 -CONFIG_MSDF_CORE_ID=2 +CONFIG_SOC_CORE_MAX_ID=15 +CONFIG_MSDF_CORE_ID=0 # end of multi-core system deployment framework CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -85,24 +86,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -134,7 +119,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/system/amp/openamp/driver_core/sdkconfig.h b/example/system/amp/openamp/driver_core/sdkconfig.h index bf7923e53f94540a197d9ba93f041052dfa8cda5..0179bad3124d1eabd474716a42909df21adb9538 100644 --- a/example/system/amp/openamp/driver_core/sdkconfig.h +++ b/example/system/amp/openamp/driver_core/sdkconfig.h @@ -44,30 +44,31 @@ #define CONFIG_USE_MSDF #define CONFIG_MSDF0 /* CONFIG_MSDF1 is not set */ -#define CONFIG_SOC_CORE_MAX_ID 3 -#define CONFIG_MSDF_CORE_ID 2 +#define CONFIG_SOC_CORE_MAX_ID 15 +#define CONFIG_MSDF_CORE_ID 0 /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -75,22 +76,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -119,7 +106,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/system/amp/openamp_echo_remoteproc_load/common/memory_layout.h b/example/system/amp/openamp_echo_remoteproc_load/common/memory_layout.h index ed1a0800cfd0a763194931693b8f700ce22e6f73..90c75197aee724203dc4346c90c9ba27270fd5f2 100644 --- a/example/system/amp/openamp_echo_remoteproc_load/common/memory_layout.h +++ b/example/system/amp/openamp_echo_remoteproc_load/common/memory_layout.h @@ -13,7 +13,7 @@ * * FilePath: memory_ * Created Date: 2024-04-29 14:22:47 - * Last Modified: 2024-06-17 19:50:41 + * Last Modified: 2025-01-13 15:20:13 * Description: This file is for * * Modify History: @@ -44,8 +44,8 @@ extern "C" { #define SLAVE00_TX_VRING_ADDR 0xc1000000 #define SLAVE00_RX_VRING_ADDR (SLAVE00_TX_VRING_ADDR + SLAVE00_VRING_SIZE/2) -#define SLAVE00_SOURCE_TABLE_ATTRIBUTE (MT_NORMAL|MT_P_RW_U_RW) -#define SLAVE00_SHARE_BUFFER_ATTRIBUTE (MT_NORMAL|MT_P_RW_U_RW) +#define SLAVE00_SOURCE_TABLE_ATTRIBUTE (MT_NORMAL|MT_P_RW_U_NA) +#define SLAVE00_SHARE_BUFFER_ATTRIBUTE (MT_NORMAL|MT_P_RW_U_NA) /*slave core1*/ #define SLAVE01_IMAGE_NUM 1 /*镜像位置与amp_config.json中编译排序对应*/ @@ -61,8 +61,8 @@ extern "C" { #define SLAVE01_TX_VRING_ADDR 0xc9000000 #define SLAVE01_RX_VRING_ADDR (SLAVE01_TX_VRING_ADDR + SLAVE01_VRING_SIZE/2) -#define SLAVE01_SOURCE_TABLE_ATTRIBUTE (MT_NORMAL|MT_P_RW_U_RW) -#define SLAVE01_SHARE_BUFFER_ATTRIBUTE (MT_NORMAL|MT_P_RW_U_RW) +#define SLAVE01_SOURCE_TABLE_ATTRIBUTE (MT_NORMAL|MT_P_RW_U_NA) +#define SLAVE01_SHARE_BUFFER_ATTRIBUTE (MT_NORMAL|MT_P_RW_U_NA) #if defined __cplusplus } diff --git a/example/system/amp/openamp_echo_remoteproc_load/common/openamp_configs.h b/example/system/amp/openamp_echo_remoteproc_load/common/openamp_configs.h index 1a60d17111233d1cd89b75b36bd051fca736557b..880c225846e1e39134acdf1718ed827cc2e8bc6b 100644 --- a/example/system/amp/openamp_echo_remoteproc_load/common/openamp_configs.h +++ b/example/system/amp/openamp_echo_remoteproc_load/common/openamp_configs.h @@ -13,7 +13,7 @@ * * FilePath: memory_attr.h * Created Date: 2024-05-06 19:20:51 - * Last Modified: 2024-11-29 14:26:17 + * Last Modified: 2025-01-14 09:39:01 * Description: This file is for * * Modify History: @@ -43,7 +43,7 @@ _UNUSED static u32 remoteproc_online_mask = 0 ; #define RPMSG_SERVICE_01_NAME "rpmsg_service_name_01" /* 从核发送消息时,需要指定发送的cpu的核号,用来确定软件中断的发送到哪个核上 */ -#if defined(CONFIG_TARGET_E2000D) || defined(CONFIG_TARGET_D2000) +#if defined(CONFIG_TARGET_E2000D) || defined(CONFIG_TARGET_D2000) || defined(CONFIG_TARGET_PS2316) || defined(CONFIG_TARGET_PD2308) #define MASTER_CORE 0 /* 与amp_config.json中的主核配置保持一致 */ #else #define MASTER_CORE 2 /* 与amp_config.json中的主核配置保持一致 */ @@ -52,7 +52,7 @@ _UNUSED static u32 remoteproc_online_mask = 0 ; #if defined(CONFIG_TARGET_E2000D) #define SLAVE_CORE_00 1 /* 与amp_config.json中的从核配置保持一致 */ #define SLAVE_CORE_01 1 -#elif defined(CONFIG_TARGET_D2000) +#elif defined(CONFIG_TARGET_D2000) || defined(CONFIG_TARGET_PS2316) || defined(CONFIG_TARGET_PD2308) #define SLAVE_CORE_00 1 #define SLAVE_CORE_01 2 #else diff --git a/example/system/amp/openamp_echo_remoteproc_load/master/amp_config.json b/example/system/amp/openamp_echo_remoteproc_load/master/amp_config.json index ee88f2e4d43270076997616271fa97df33b5dedc..1fbbfee47f9dc470d8404b849b0c6ae879ce1c0c 100644 --- a/example/system/amp/openamp_echo_remoteproc_load/master/amp_config.json +++ b/example/system/amp/openamp_echo_remoteproc_load/master/amp_config.json @@ -81,6 +81,22 @@ "path1":["../slave_01",10000,0,"d2000_aarch32_test_openamp_device_core.config"], "bootstrap":["./",0,1,"d2000_aarch32_test_openamp_driver_core.config"] } + ], + "config8": + [ + { + "path0":["../slave_00",10000,0,"pd2308_aarch64_demo_openamp_device_core.config"], + "path1":["../slave_01",10000,0,"pd2308_aarch64_demo_openamp_device_core.config"], + "bootstrap":["./",0,1,"pd2308_aarch64_demo_openamp_driver_core.config"] + } + ], + "config9": + [ + { + "path0":["../slave_00",10000,0,"ps2316_aarch64_test16_openamp_device_core.config"], + "path1":["../slave_01",10000,0,"ps2316_aarch64_test16_openamp_device_core.config"], + "bootstrap":["./",0,1,"ps2316_aarch64_test16_openamp_driver_core.config"] + } ] } } diff --git a/example/system/amp/openamp_echo_remoteproc_load/master/configs/pd2308_aarch64_demo_openamp_driver_core.config b/example/system/amp/openamp_echo_remoteproc_load/master/configs/pd2308_aarch64_demo_openamp_driver_core.config new file mode 100644 index 0000000000000000000000000000000000000000..52325c2d36856174969b9f7395d83e4605c215a7 --- /dev/null +++ b/example/system/amp/openamp_echo_remoteproc_load/master/configs/pd2308_aarch64_demo_openamp_driver_core.config @@ -0,0 +1,17 @@ +CONFIG_TARGET_NAME="openamp_driver_core" +CONFIG_USE_MSDF=y +CONFIG_TARGET_PD2308=y +CONFIG_LOG_INFO=y +CONFIG_LOG_DISPALY_CORE_NUM=y +CONFIG_ENABLE_IOPAD=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_USE_AMP=y +CONFIG_USE_OPENAMP=y +CONFIG_USE_OPENAMP_IPI=y +# CONFIG_OUTPUT_BINARY is not set +CONFIG_DEBUG_FULLOPT=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_FRAME_POINTER=y +CONFIG_OUTPUT_ASM_DIS=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_MAX_LENGTH=0x2000000 diff --git a/example/system/amp/openamp_echo_remoteproc_load/master/configs/ps2316_aarch64_test16_openamp_driver_core.config b/example/system/amp/openamp_echo_remoteproc_load/master/configs/ps2316_aarch64_test16_openamp_driver_core.config new file mode 100644 index 0000000000000000000000000000000000000000..4ed876f15884b6117e1bdb5aa15ea582e6b8cc1c --- /dev/null +++ b/example/system/amp/openamp_echo_remoteproc_load/master/configs/ps2316_aarch64_test16_openamp_driver_core.config @@ -0,0 +1,17 @@ +CONFIG_TARGET_NAME="openamp_driver_core" +CONFIG_USE_MSDF=y +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_LOG_INFO=y +CONFIG_LOG_DISPALY_CORE_NUM=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_USE_AMP=y +CONFIG_USE_OPENAMP=y +CONFIG_USE_OPENAMP_IPI=y +# CONFIG_OUTPUT_BINARY is not set +CONFIG_DEBUG_FULLOPT=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_FRAME_POINTER=y +CONFIG_OUTPUT_ASM_DIS=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_MAX_LENGTH=0x2000000 diff --git a/example/system/amp/openamp_echo_remoteproc_load/master/main.c b/example/system/amp/openamp_echo_remoteproc_load/master/main.c index 7b5fdeebe9499018a099b82018e941a9be917d60..2336d942005a114290db20fe0a2e1727ed06886d 100644 --- a/example/system/amp/openamp_echo_remoteproc_load/master/main.c +++ b/example/system/amp/openamp_echo_remoteproc_load/master/main.c @@ -13,7 +13,7 @@ * * FilePath: main.c * Created Date: 2024-04-29 10:08:18 - * Last Modified: 2024-07-01 17:27:26 + * Last Modified: 2025-01-14 14:43:45 * Description: This file is for * * Modify History: diff --git a/example/system/amp/openamp_echo_remoteproc_load/master/sdkconfig b/example/system/amp/openamp_echo_remoteproc_load/master/sdkconfig index 9e88849919c9064aa4d6deb4abca7ba65217cef8..a86d62526b18d614ef8c202a81a9c06ea1a34192 100644 --- a/example/system/amp/openamp_echo_remoteproc_load/master/sdkconfig +++ b/example/system/amp/openamp_echo_remoteproc_load/master/sdkconfig @@ -51,32 +51,33 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_USE_MSDF=y CONFIG_MSDF0=y # CONFIG_MSDF1 is not set -CONFIG_SOC_CORE_MAX_ID=3 -CONFIG_MSDF_CORE_ID=2 +CONFIG_SOC_CORE_MAX_ID=15 +CONFIG_MSDF_CORE_ID=0 # end of multi-core system deployment framework CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -85,24 +86,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -134,7 +119,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y @@ -236,7 +221,7 @@ CONFIG_DEBUG_LINK_MAP=y # CONFIG_STRICT_PROTOTYPES is not set CONFIG_DEBUG_SYMBOLS=y CONFIG_FRAME_POINTER=y -# CONFIG_OUTPUT_ASM_DIS is not set +CONFIG_OUTPUT_ASM_DIS=y # CONFIG_ENABLE_WSHADOW is not set # CONFIG_ENABLE_WUNDEF is not set CONFIG_DOWNGRADE_DIAG_WARNING=y diff --git a/example/system/amp/openamp_echo_remoteproc_load/master/sdkconfig.h b/example/system/amp/openamp_echo_remoteproc_load/master/sdkconfig.h index 0e4be5ba1755cf8920aad27f9378bbca0f634b39..c1906d9f64ff807e8e8116fafaf31a9b6c0bfdf3 100644 --- a/example/system/amp/openamp_echo_remoteproc_load/master/sdkconfig.h +++ b/example/system/amp/openamp_echo_remoteproc_load/master/sdkconfig.h @@ -44,30 +44,31 @@ #define CONFIG_USE_MSDF #define CONFIG_MSDF0 /* CONFIG_MSDF1 is not set */ -#define CONFIG_SOC_CORE_MAX_ID 3 -#define CONFIG_MSDF_CORE_ID 2 +#define CONFIG_SOC_CORE_MAX_ID 15 +#define CONFIG_MSDF_CORE_ID 0 /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -75,22 +76,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -119,7 +106,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL @@ -211,7 +198,7 @@ /* CONFIG_STRICT_PROTOTYPES is not set */ #define CONFIG_DEBUG_SYMBOLS #define CONFIG_FRAME_POINTER -/* CONFIG_OUTPUT_ASM_DIS is not set */ +#define CONFIG_OUTPUT_ASM_DIS /* CONFIG_ENABLE_WSHADOW is not set */ /* CONFIG_ENABLE_WUNDEF is not set */ #define CONFIG_DOWNGRADE_DIAG_WARNING diff --git a/example/system/amp/openamp_echo_remoteproc_load/master/src/remoteproc_00_example.c b/example/system/amp/openamp_echo_remoteproc_load/master/src/remoteproc_00_example.c index 1c614f45e58bc407e2cd445b3db569d2be7c44e5..81c84271d2f1e07a6dcddea38a76b35a1dd3ab1d 100644 --- a/example/system/amp/openamp_echo_remoteproc_load/master/src/remoteproc_00_example.c +++ b/example/system/amp/openamp_echo_remoteproc_load/master/src/remoteproc_00_example.c @@ -13,7 +13,7 @@ * * FilePath: remoteproc_00_example.c * Created Date: 2024-04-29 10:08:42 - * Last Modified: 2024-06-20 17:13:07 + * Last Modified: 2025-01-14 15:12:11 * Description: This file is for * * Modify History: diff --git a/example/system/amp/openamp_echo_remoteproc_load/master/src/remoteproc_01_example.c b/example/system/amp/openamp_echo_remoteproc_load/master/src/remoteproc_01_example.c index 5dc8c0b1b2f53a9f37086056dfe89d762773dd7b..7367b08af9d5af6260044f924995bef4937b6e76 100644 --- a/example/system/amp/openamp_echo_remoteproc_load/master/src/remoteproc_01_example.c +++ b/example/system/amp/openamp_echo_remoteproc_load/master/src/remoteproc_01_example.c @@ -13,7 +13,7 @@ * * FilePath: remoteproc_01_example.c * Created Date: 2024-04-29 10:08:42 - * Last Modified: 2024-06-20 14:48:57 + * Last Modified: 2025-01-14 15:12:06 * Description: This file is for * * Modify History: diff --git a/example/system/amp/openamp_echo_remoteproc_load/slave_00/configs/pd2308_aarch64_demo_openamp_device_core.config b/example/system/amp/openamp_echo_remoteproc_load/slave_00/configs/pd2308_aarch64_demo_openamp_device_core.config new file mode 100644 index 0000000000000000000000000000000000000000..41c3e263e4514f1f7e4bc800160fd1dbceb58b76 --- /dev/null +++ b/example/system/amp/openamp_echo_remoteproc_load/slave_00/configs/pd2308_aarch64_demo_openamp_device_core.config @@ -0,0 +1,16 @@ +CONFIG_TARGET_NAME="openamp_device_core" +CONFIG_TARGET_PD2308=y +CONFIG_LOG_INFO=y +CONFIG_LOG_DISPALY_CORE_NUM=y +CONFIG_INTERRUPT_ROLE_SLAVE=y +CONFIG_ENABLE_IOPAD=y +CONFIG_USE_SERIAL=y +CONFIG_USE_AMP=y +CONFIG_USE_OPENAMP=y +CONFIG_USE_OPENAMP_IPI=y +# CONFIG_OUTPUT_BINARY is not set +CONFIG_DEBUG_FULLOPT=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_FRAME_POINTER=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_LOAD_ADDRESS=0x82100000 diff --git a/example/system/amp/openamp_echo_remoteproc_load/slave_00/configs/ps2316_aarch64_test16_openamp_device_core.config b/example/system/amp/openamp_echo_remoteproc_load/slave_00/configs/ps2316_aarch64_test16_openamp_device_core.config new file mode 100644 index 0000000000000000000000000000000000000000..4cd442c764c358682cafd60dada2c0a8727b26ab --- /dev/null +++ b/example/system/amp/openamp_echo_remoteproc_load/slave_00/configs/ps2316_aarch64_test16_openamp_device_core.config @@ -0,0 +1,16 @@ +CONFIG_TARGET_NAME="openamp_device_core" +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_LOG_INFO=y +CONFIG_LOG_DISPALY_CORE_NUM=y +CONFIG_INTERRUPT_ROLE_SLAVE=y +CONFIG_USE_SERIAL=y +CONFIG_USE_AMP=y +CONFIG_USE_OPENAMP=y +CONFIG_USE_OPENAMP_IPI=y +# CONFIG_OUTPUT_BINARY is not set +CONFIG_DEBUG_FULLOPT=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_FRAME_POINTER=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_LOAD_ADDRESS=0x82100000 diff --git a/example/system/amp/openamp_echo_remoteproc_load/slave_00/main.c b/example/system/amp/openamp_echo_remoteproc_load/slave_00/main.c index 0483d64176d4321b54bc99ecdcca7463dee32de8..da5420bce2df3f4a58354760b08e5baa95c8fb85 100644 --- a/example/system/amp/openamp_echo_remoteproc_load/slave_00/main.c +++ b/example/system/amp/openamp_echo_remoteproc_load/slave_00/main.c @@ -13,7 +13,7 @@ * * FilePath: main.c * Created Date: 2024-04-29 16:41:26 - * Last Modified: 2024-06-20 14:42:47 + * Last Modified: 2025-01-10 16:24:13 * Description: This file is for * * Modify History: diff --git a/example/system/amp/openamp_echo_remoteproc_load/slave_00/sdkconfig b/example/system/amp/openamp_echo_remoteproc_load/slave_00/sdkconfig index 1d4aa938ba30c01cc57121edd161a88f396f1a03..0db29fc2ae29318c8597a743e08fb3b3471c72d1 100644 --- a/example/system/amp/openamp_echo_remoteproc_load/slave_00/sdkconfig +++ b/example/system/amp/openamp_echo_remoteproc_load/slave_00/sdkconfig @@ -53,26 +53,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -81,24 +82,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -120,8 +105,8 @@ CONFIG_LOG_INFO=y CONFIG_LOG_DISPALY_CORE_NUM=y # CONFIG_BOOTUP_DEBUG_PRINTS is not set CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y -CONFIG_INTERRUPT_ROLE_MASTER=y -# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_INTERRUPT_ROLE_MASTER is not set +CONFIG_INTERRUPT_ROLE_SLAVE=y # CONFIG_INTERRUPT_ROLE_NONE is not set # end of Sdk common configuration @@ -130,7 +115,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/system/amp/openamp_echo_remoteproc_load/slave_00/sdkconfig.h b/example/system/amp/openamp_echo_remoteproc_load/slave_00/sdkconfig.h index d515c92576e2193ca967a21f4edea41ccca74dc7..8e6563784482a81fbe2cf1a3ff5c433026883ae6 100644 --- a/example/system/amp/openamp_echo_remoteproc_load/slave_00/sdkconfig.h +++ b/example/system/amp/openamp_echo_remoteproc_load/slave_00/sdkconfig.h @@ -45,25 +45,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -71,22 +72,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -106,8 +93,8 @@ #define CONFIG_LOG_DISPALY_CORE_NUM /* CONFIG_BOOTUP_DEBUG_PRINTS is not set */ #define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG -#define CONFIG_INTERRUPT_ROLE_MASTER -/* CONFIG_INTERRUPT_ROLE_SLAVE is not set */ +/* CONFIG_INTERRUPT_ROLE_MASTER is not set */ +#define CONFIG_INTERRUPT_ROLE_SLAVE /* CONFIG_INTERRUPT_ROLE_NONE is not set */ /* end of Sdk common configuration */ @@ -115,7 +102,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/system/amp/openamp_echo_remoteproc_load/slave_00/src/slaver_00_rpmsg-ping.c b/example/system/amp/openamp_echo_remoteproc_load/slave_00/src/slaver_00_rpmsg-ping.c index 5d7fa46144272d98d45dd5991ceca9a49b6b751e..5b0587c757f569ad7afcb8b3cd5eaf61ea09e036 100644 --- a/example/system/amp/openamp_echo_remoteproc_load/slave_00/src/slaver_00_rpmsg-ping.c +++ b/example/system/amp/openamp_echo_remoteproc_load/slave_00/src/slaver_00_rpmsg-ping.c @@ -13,7 +13,7 @@ * * FilePath: slaver_00_rpmsg-ping.c * Created Date: 2024-05-09 19:50:06 - * Last Modified: 2024-06-19 10:56:36 + * Last Modified: 2025-01-14 14:04:14 * Description: This file is for * * Modify History: diff --git a/example/system/amp/openamp_echo_remoteproc_load/slave_01/configs/pd2308_aarch64_demo_openamp_device_core.config b/example/system/amp/openamp_echo_remoteproc_load/slave_01/configs/pd2308_aarch64_demo_openamp_device_core.config new file mode 100644 index 0000000000000000000000000000000000000000..54949e74251ead0f1d90b25cea6a5a6d2afecd10 --- /dev/null +++ b/example/system/amp/openamp_echo_remoteproc_load/slave_01/configs/pd2308_aarch64_demo_openamp_device_core.config @@ -0,0 +1,16 @@ +CONFIG_TARGET_NAME="openamp_device_core" +CONFIG_TARGET_PD2308=y +CONFIG_LOG_INFO=y +CONFIG_LOG_DISPALY_CORE_NUM=y +CONFIG_INTERRUPT_ROLE_SLAVE=y +CONFIG_ENABLE_IOPAD=y +CONFIG_USE_SERIAL=y +CONFIG_USE_AMP=y +CONFIG_USE_OPENAMP=y +CONFIG_USE_OPENAMP_IPI=y +# CONFIG_OUTPUT_BINARY is not set +CONFIG_DEBUG_FULLOPT=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_FRAME_POINTER=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_LOAD_ADDRESS=0x84100000 diff --git a/example/system/amp/openamp_echo_remoteproc_load/slave_01/configs/ps2316_aarch64_test16_openamp_device_core.config b/example/system/amp/openamp_echo_remoteproc_load/slave_01/configs/ps2316_aarch64_test16_openamp_device_core.config new file mode 100644 index 0000000000000000000000000000000000000000..e59baaf90879be41b6d988f885c8bc0c52233120 --- /dev/null +++ b/example/system/amp/openamp_echo_remoteproc_load/slave_01/configs/ps2316_aarch64_test16_openamp_device_core.config @@ -0,0 +1,16 @@ +CONFIG_TARGET_NAME="openamp_device_core" +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_LOG_INFO=y +CONFIG_LOG_DISPALY_CORE_NUM=y +CONFIG_INTERRUPT_ROLE_SLAVE=y +CONFIG_USE_SERIAL=y +CONFIG_USE_AMP=y +CONFIG_USE_OPENAMP=y +CONFIG_USE_OPENAMP_IPI=y +# CONFIG_OUTPUT_BINARY is not set +CONFIG_DEBUG_FULLOPT=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_FRAME_POINTER=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_LOAD_ADDRESS=0x84100000 diff --git a/example/system/amp/openamp_echo_remoteproc_load/slave_01/sdkconfig b/example/system/amp/openamp_echo_remoteproc_load/slave_01/sdkconfig index a2e6a1307ee1a5f5f9f28fe4979baeae00a08fa9..bcfde83736229af1d0d3a7771145c66822dfcdc0 100644 --- a/example/system/amp/openamp_echo_remoteproc_load/slave_01/sdkconfig +++ b/example/system/amp/openamp_echo_remoteproc_load/slave_01/sdkconfig @@ -53,26 +53,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -81,24 +82,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -120,8 +105,8 @@ CONFIG_LOG_INFO=y CONFIG_LOG_DISPALY_CORE_NUM=y # CONFIG_BOOTUP_DEBUG_PRINTS is not set CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y -CONFIG_INTERRUPT_ROLE_MASTER=y -# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_INTERRUPT_ROLE_MASTER is not set +CONFIG_INTERRUPT_ROLE_SLAVE=y # CONFIG_INTERRUPT_ROLE_NONE is not set # end of Sdk common configuration @@ -130,7 +115,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/system/amp/openamp_echo_remoteproc_load/slave_01/sdkconfig.h b/example/system/amp/openamp_echo_remoteproc_load/slave_01/sdkconfig.h index 7f279889aa4d97a314c7b0b66a4022d28692d9b2..711bfb5eff27fd4e929b53f55c708777060255cd 100644 --- a/example/system/amp/openamp_echo_remoteproc_load/slave_01/sdkconfig.h +++ b/example/system/amp/openamp_echo_remoteproc_load/slave_01/sdkconfig.h @@ -45,25 +45,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -71,22 +72,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -106,8 +93,8 @@ #define CONFIG_LOG_DISPALY_CORE_NUM /* CONFIG_BOOTUP_DEBUG_PRINTS is not set */ #define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG -#define CONFIG_INTERRUPT_ROLE_MASTER -/* CONFIG_INTERRUPT_ROLE_SLAVE is not set */ +/* CONFIG_INTERRUPT_ROLE_MASTER is not set */ +#define CONFIG_INTERRUPT_ROLE_SLAVE /* CONFIG_INTERRUPT_ROLE_NONE is not set */ /* end of Sdk common configuration */ @@ -115,7 +102,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/system/amp/openamp_echo_remoteproc_load/slave_01/src/slaver_01_rpmsg-ping.c b/example/system/amp/openamp_echo_remoteproc_load/slave_01/src/slaver_01_rpmsg-ping.c index b94cb7814d41902075e9684b32c0ae135d8d2574..49d4af7d0d4129f2effab0c50cd98a9dd0dac980 100644 --- a/example/system/amp/openamp_echo_remoteproc_load/slave_01/src/slaver_01_rpmsg-ping.c +++ b/example/system/amp/openamp_echo_remoteproc_load/slave_01/src/slaver_01_rpmsg-ping.c @@ -13,7 +13,7 @@ * * FilePath: slaver_01_rpmsg-ping.c * Created Date: 2024-05-09 19:50:06 - * Last Modified: 2024-06-13 15:30:58 + * Last Modified: 2025-01-14 14:03:49 * Description: This file is for * * Modify History: diff --git a/example/system/amp/openamp_for_linux/sdkconfig b/example/system/amp/openamp_for_linux/sdkconfig index 4f956a6e94ce36946e35ffa2024b14a355186824..a127f5b862cd3d358c70122345eabe6b6552962b 100644 --- a/example/system/amp/openamp_for_linux/sdkconfig +++ b/example/system/amp/openamp_for_linux/sdkconfig @@ -53,6 +53,7 @@ CONFIG_GCC_CODE_MODEL_SMALL=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -65,6 +66,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 diff --git a/example/system/amp/openamp_for_linux/sdkconfig.h b/example/system/amp/openamp_for_linux/sdkconfig.h index fa90f363479dfa74b31d2a6ed4739a18638375a3..fd821649856857f26f6f08e6ab0a00a7d05389bb 100644 --- a/example/system/amp/openamp_for_linux/sdkconfig.h +++ b/example/system/amp/openamp_for_linux/sdkconfig.h @@ -45,6 +45,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -56,6 +57,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 diff --git a/example/system/arch/armv8/mmu/master/configs/ps2316_aarch64_test16_mmu_test.config b/example/system/arch/armv8/mmu/master/configs/ps2316_aarch64_test16_mmu_test.config new file mode 100644 index 0000000000000000000000000000000000000000..f5ed248b00dcc18273fb2cfe4bbb7d47ffb644f1 --- /dev/null +++ b/example/system/arch/armv8/mmu/master/configs/ps2316_aarch64_test16_mmu_test.config @@ -0,0 +1,12 @@ +CONFIG_MAX_XLAT_TABLES=2048 +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="mmu_test" +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_FRAME_POINTER=y +CONFIG_OUTPUT_ASM_DIS=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_MAX_LENGTH=0x10000000 diff --git a/example/system/arch/armv8/mmu/master/sdkconfig b/example/system/arch/armv8/mmu/master/sdkconfig index 868e27bfdf5c86137ec1fb91ce533698f0b47b18..f753e9b22d5f15604f7b9da053486ef11a9eb410 100644 --- a/example/system/arch/armv8/mmu/master/sdkconfig +++ b/example/system/arch/armv8/mmu/master/sdkconfig @@ -41,26 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=2048 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -69,24 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/system/arch/armv8/mmu/master/sdkconfig.h b/example/system/arch/armv8/mmu/master/sdkconfig.h index 6fd1bc4029cb92f9b81c44414d0e1ea96267282b..809cb73828ce8a293993a107df8c7d16134badd3 100644 --- a/example/system/arch/armv8/mmu/master/sdkconfig.h +++ b/example/system/arch/armv8/mmu/master/sdkconfig.h @@ -38,25 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 2048 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -64,22 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/system/arch/armv8/pmu/configs/pd2308_aarch64_demo_pmu.config b/example/system/arch/armv8/pmu/configs/pd2308_aarch64_demo_pmu.config new file mode 100644 index 0000000000000000000000000000000000000000..63ea066b5c1c0e111c0debb0a1ddd54741c89322 --- /dev/null +++ b/example/system/arch/armv8/pmu/configs/pd2308_aarch64_demo_pmu.config @@ -0,0 +1,10 @@ +CONFIG_TARGET_PD2308=y +CONFIG_TARGET_NAME="pmu" +CONFIG_LOG_DEBUG=y +CONFIG_ENABLE_IOPAD=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_OUTPUT_ASM_DIS=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_HEAP_SIZE=2 diff --git a/example/system/arch/armv8/pmu/configs/ps2316_aarch64_test16_pmu.config b/example/system/arch/armv8/pmu/configs/ps2316_aarch64_test16_pmu.config new file mode 100644 index 0000000000000000000000000000000000000000..c0b28a2b7f719d06839f977c8ccbc3c3853a82ed --- /dev/null +++ b/example/system/arch/armv8/pmu/configs/ps2316_aarch64_test16_pmu.config @@ -0,0 +1,9 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="pmu" +CONFIG_LOG_INFO=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_HEAP_SIZE=2 diff --git a/example/system/arch/armv8/pmu/sdkconfig b/example/system/arch/armv8/pmu/sdkconfig index e1ba66f2504c6aa452fd2a769b52941438416e3b..37d7a5e730d6340c6a09d8fac21760329f73a703 100644 --- a/example/system/arch/armv8/pmu/sdkconfig +++ b/example/system/arch/armv8/pmu/sdkconfig @@ -41,26 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -69,24 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -100,8 +85,8 @@ CONFIG_TARGET_NAME="pmu" # CONFIG_ELOG_LINE_BUF_SIZE=0x100 # CONFIG_LOG_VERBOS is not set -CONFIG_LOG_DEBUG=y -# CONFIG_LOG_INFO is not set +# CONFIG_LOG_DEBUG is not set +CONFIG_LOG_INFO=y # CONFIG_LOG_WARN is not set # CONFIG_LOG_ERROR is not set # CONFIG_LOG_NONE is not set @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y @@ -146,8 +131,7 @@ CONFIG_ENABLE_Pl011_UART=y # CONFIG_USE_ADC is not set # CONFIG_USE_PWM is not set # CONFIG_USE_IPC is not set -CONFIG_USE_MEDIA=y -# CONFIG_USE_FMEDIA is not set +# CONFIG_USE_MEDIA is not set # CONFIG_USE_SCMI_MHU is not set # CONFIG_USE_I2S is not set # CONFIG_USE_I3C is not set @@ -192,9 +176,9 @@ CONFIG_OUTPUT_BINARY=y # # Optimization options # -CONFIG_DEBUG_NOOPT=y +# CONFIG_DEBUG_NOOPT is not set # CONFIG_DEBUG_CUSTOMOPT is not set -# CONFIG_DEBUG_FULLOPT is not set +CONFIG_DEBUG_FULLOPT=y CONFIG_DEBUG_OPT_UNUSED_SECTIONS=y CONFIG_DEBUG_LINK_MAP=y # CONFIG_CCACHE is not set @@ -232,8 +216,8 @@ CONFIG_USE_COMPILE_CHAIN=y CONFIG_DEFAULT_LINKER_SCRIPT=y # CONFIG_USER_DEFINED_LD is not set CONFIG_IMAGE_LOAD_ADDRESS=0x80100000 -CONFIG_IMAGE_MAX_LENGTH=0x10000000 -CONFIG_HEAP_SIZE=1 +CONFIG_IMAGE_MAX_LENGTH=0x1000000 +CONFIG_HEAP_SIZE=2 CONFIG_STACK_SIZE=0x400 # end of Linker Options # end of Build setup diff --git a/example/system/arch/armv8/pmu/sdkconfig.h b/example/system/arch/armv8/pmu/sdkconfig.h index e61dee707e4be6e9e937a188a5a29c71cd48f859..d3f171b1e8b514e55d691781b195807bcf147046 100644 --- a/example/system/arch/armv8/pmu/sdkconfig.h +++ b/example/system/arch/armv8/pmu/sdkconfig.h @@ -38,25 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -64,22 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -91,8 +78,8 @@ #define CONFIG_ELOG_LINE_BUF_SIZE 0x100 /* CONFIG_LOG_VERBOS is not set */ -#define CONFIG_LOG_DEBUG -/* CONFIG_LOG_INFO is not set */ +/* CONFIG_LOG_DEBUG is not set */ +#define CONFIG_LOG_INFO /* CONFIG_LOG_WARN is not set */ /* CONFIG_LOG_ERROR is not set */ /* CONFIG_LOG_NONE is not set */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL @@ -134,8 +121,7 @@ /* CONFIG_USE_ADC is not set */ /* CONFIG_USE_PWM is not set */ /* CONFIG_USE_IPC is not set */ -#define CONFIG_USE_MEDIA -/* CONFIG_USE_FMEDIA is not set */ +/* CONFIG_USE_MEDIA is not set */ /* CONFIG_USE_SCMI_MHU is not set */ /* CONFIG_USE_I2S is not set */ /* CONFIG_USE_I3C is not set */ @@ -175,9 +161,9 @@ /* Optimization options */ -#define CONFIG_DEBUG_NOOPT +/* CONFIG_DEBUG_NOOPT is not set */ /* CONFIG_DEBUG_CUSTOMOPT is not set */ -/* CONFIG_DEBUG_FULLOPT is not set */ +#define CONFIG_DEBUG_FULLOPT #define CONFIG_DEBUG_OPT_UNUSED_SECTIONS #define CONFIG_DEBUG_LINK_MAP /* CONFIG_CCACHE is not set */ @@ -211,8 +197,8 @@ #define CONFIG_DEFAULT_LINKER_SCRIPT /* CONFIG_USER_DEFINED_LD is not set */ #define CONFIG_IMAGE_LOAD_ADDRESS 0x80100000 -#define CONFIG_IMAGE_MAX_LENGTH 0x10000000 -#define CONFIG_HEAP_SIZE 1 +#define CONFIG_IMAGE_MAX_LENGTH 0x1000000 +#define CONFIG_HEAP_SIZE 2 #define CONFIG_STACK_SIZE 0x400 /* end of Linker Options */ /* end of Build setup */ diff --git a/example/system/arch/armv8/psci/makefile b/example/system/arch/armv8/psci/makefile deleted file mode 100644 index 2bd076610030322df41b6c073a72729658748eae..0000000000000000000000000000000000000000 --- a/example/system/arch/armv8/psci/makefile +++ /dev/null @@ -1,21 +0,0 @@ -PROJECT_DIR = $(CURDIR) - -SDK_DIR ?= $(CURDIR)/../../../../.. - - -AMP_PATH += $(PROJECT_DIR)/psci_test -AMP_PATH += $(PROJECT_DIR)/psci_test/psci_slave - -include $(SDK_DIR)/tools/build/makeall.mk - -USR_BOOT_DIR ?= /mnt/d/tftpboot - -backupconfig: - $(MAKE) -C ./psci_test backup_kconfig - $(MAKE) -C ./psci_test/psci_slave backup_kconfig - -menuconfig_test: - $(MAKE) -C ./psci_test menuconfig - -menuconfig_slave: - $(MAKE) -C ./psci_test/psci_slave menuconfig diff --git a/example/system/arch/armv8/psci/psci_test/amp_config.json b/example/system/arch/armv8/psci/psci_test/amp_config.json index 7e8ed71a66207ef704749ecf9fd68541d3b99b8f..fe78ac1c3511868cc8a297464b1efefb9c3b1208 100644 --- a/example/system/arch/armv8/psci/psci_test/amp_config.json +++ b/example/system/arch/armv8/psci/psci_test/amp_config.json @@ -91,6 +91,14 @@ { "path1":["./psci_slave",1,0,"pd2308_aarch64_demo_psci_slave.config"] } + ], + "config9":[ + { + "bootstrap":["./",0,0,"ps2316_aarch64_test16_psci.config"] + }, + { + "path1":["./psci_slave",1,0,"ps2316_aarch64_test16_psci_slave.config"] + } ] } } diff --git a/example/system/arch/armv8/psci/psci_test/configs/ps2316_aarch64_test16_psci.config b/example/system/arch/armv8/psci/psci_test/configs/ps2316_aarch64_test16_psci.config new file mode 100644 index 0000000000000000000000000000000000000000..eae8d1ac68b7cd62129ec99f3311b8c289ce8cbd --- /dev/null +++ b/example/system/arch/armv8/psci/psci_test/configs/ps2316_aarch64_test16_psci.config @@ -0,0 +1,12 @@ +CONFIG_USE_MSDF=y +CONFIG_MSDF1=y +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="psci" +CONFIG_LOG_INFO=y +CONFIG_LOG_DISPALY_CORE_NUM=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/system/arch/armv8/psci/psci_test/makefile b/example/system/arch/armv8/psci/psci_test/makefile index 59357ef1c9070d84d458e1e023b9c2a79e5b449c..b656aad4cb738ff0bb5edec95265fc4f7e8520d3 100644 --- a/example/system/arch/armv8/psci/psci_test/makefile +++ b/example/system/arch/armv8/psci/psci_test/makefile @@ -17,7 +17,7 @@ USER_INCLUDE := $(PROJECT_DIR) \ include $(SDK_DIR)/tools/build/makeall.mk USR_BOOT_DIR ?= /mnt/d/tftpboot -boot: +image: make clean make all -j cp ./$(IMAGE_OUT_NAME).elf $(USR_BOOT_DIR)/baremetal.elf diff --git a/example/system/arch/armv8/psci/psci_test/psci_slave/configs/ps2316_aarch64_test16_psci_slave.config b/example/system/arch/armv8/psci/psci_test/psci_slave/configs/ps2316_aarch64_test16_psci_slave.config new file mode 100644 index 0000000000000000000000000000000000000000..929fa1e990b1fa0821d00f2f1cde5ade8ecd8ceb --- /dev/null +++ b/example/system/arch/armv8/psci/psci_test/psci_slave/configs/ps2316_aarch64_test16_psci_slave.config @@ -0,0 +1,14 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="psci_slave" +CONFIG_LOG_INFO=y +CONFIG_LOG_DISPALY_CORE_NUM=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_USE_AMP=y +CONFIG_DEBUG_CUSTOMOPT=y +CONFIG_DEBUG_OPTLEVEL="-O0" +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_LOAD_ADDRESS=0x81100000 diff --git a/example/system/arch/armv8/psci/psci_test/psci_slave/sdkconfig b/example/system/arch/armv8/psci/psci_test/psci_slave/sdkconfig index 5ae70a550c47e11fd8f12b8451d40ddd8f162a94..276c840978b41b480f30469b368ba63d4c7286fd 100644 --- a/example/system/arch/armv8/psci/psci_test/psci_slave/sdkconfig +++ b/example/system/arch/armv8/psci/psci_test/psci_slave/sdkconfig @@ -41,26 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -69,24 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/system/arch/armv8/psci/psci_test/psci_slave/sdkconfig.h b/example/system/arch/armv8/psci/psci_test/psci_slave/sdkconfig.h index 6705c2228ed9bbacb2a78810db6945c745f6a647..4c0ae9def60452a4d350ac64b7d98532b7372aa7 100644 --- a/example/system/arch/armv8/psci/psci_test/psci_slave/sdkconfig.h +++ b/example/system/arch/armv8/psci/psci_test/psci_slave/sdkconfig.h @@ -38,25 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -64,22 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/system/arch/armv8/psci/psci_test/sdkconfig b/example/system/arch/armv8/psci/psci_test/sdkconfig index fca498205c7bbc7b169b13148f24c0a42d94309c..2022fa9631b112fd925853abc5a0218edf2abaca 100644 --- a/example/system/arch/armv8/psci/psci_test/sdkconfig +++ b/example/system/arch/armv8/psci/psci_test/sdkconfig @@ -39,32 +39,33 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_USE_MSDF=y # CONFIG_MSDF0 is not set CONFIG_MSDF1=y -CONFIG_SOC_CORE_MAX_ID=3 +CONFIG_SOC_CORE_MAX_ID=15 CONFIG_MSDF_CORE_ID=0 # end of multi-core system deployment framework CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -73,24 +74,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -123,7 +108,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/system/arch/armv8/psci/psci_test/sdkconfig.h b/example/system/arch/armv8/psci/psci_test/sdkconfig.h index 7ee4b7b7d41c00f423ac801e752840f9a9e9a84e..19140032d36f37d1002c9fc2cddbdcedd0198706 100644 --- a/example/system/arch/armv8/psci/psci_test/sdkconfig.h +++ b/example/system/arch/armv8/psci/psci_test/sdkconfig.h @@ -37,30 +37,31 @@ #define CONFIG_USE_MSDF /* CONFIG_MSDF0 is not set */ #define CONFIG_MSDF1 -#define CONFIG_SOC_CORE_MAX_ID 3 +#define CONFIG_SOC_CORE_MAX_ID 15 #define CONFIG_MSDF_CORE_ID 0 /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -68,22 +69,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -113,7 +100,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/system/atomic/configs/ps2316_aarch64_test16_atomic.config b/example/system/atomic/configs/ps2316_aarch64_test16_atomic.config new file mode 100644 index 0000000000000000000000000000000000000000..051415d15ccfb1ecc07f19ee990e7dbdbecd2dd2 --- /dev/null +++ b/example/system/atomic/configs/ps2316_aarch64_test16_atomic.config @@ -0,0 +1,7 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="atomic" +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/system/atomic/sdkconfig b/example/system/atomic/sdkconfig index be4aecfab9f4c12d8ddc0fe602d2d4e7d717c723..5a7a2a0e14b084118c0955d892872a245dd571d2 100644 --- a/example/system/atomic/sdkconfig +++ b/example/system/atomic/sdkconfig @@ -41,26 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -69,24 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/system/atomic/sdkconfig.h b/example/system/atomic/sdkconfig.h index c881da23c986f23607cd6e71da26628e0d74d8fe..d733907d16d0e97ac386edb81057f5160f512fe3 100644 --- a/example/system/atomic/sdkconfig.h +++ b/example/system/atomic/sdkconfig.h @@ -38,25 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -64,22 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/system/cmsis/dsp/configs/ps2316_aarch64_test16_cmsis_dsp.config b/example/system/cmsis/dsp/configs/ps2316_aarch64_test16_cmsis_dsp.config new file mode 100644 index 0000000000000000000000000000000000000000..1ca037c6af44a5745282d8b33a3e94d007240cf1 --- /dev/null +++ b/example/system/cmsis/dsp/configs/ps2316_aarch64_test16_cmsis_dsp.config @@ -0,0 +1,26 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="cmsis_dsp" +CONFIG_USE_LETTER_SHELL=y +CONFIG_USE_CMSIS=y +CONFIG_USE_CMSIS_DSP=y +CONFIG_CMSIS_DSP_MATH_NEON=y +CONFIG_CMSIS_DSP_BASIC_MATH_FUNCTIONS=y +CONFIG_CMSIS_DSP_BAYES_FUNCTIONS=y +CONFIG_CMSIS_DSP_COMMON_TABLES=y +CONFIG_CMSIS_DSP_COMPLEX_MATH_FUNCTIONS=y +CONFIG_CMSIS_DSP_CONTROLLER_FUNCTIONS=y +CONFIG_CMSIS_DSP_DISTANCE_FUNCTIONS=y +CONFIG_CMSIS_DSP_FAST_MATH_FUNCTIONS=y +CONFIG_CMSIS_DSP_FILTERING_FUNCTIONS=y +CONFIG_CMSIS_DSP_INTERPOLATION_FUNCTIONS=y +CONFIG_CMSIS_DSP_MATRIX_FUNCTIONS=y +CONFIG_CMSIS_DSP_QUATERNION_MATH_FUNCTIONS=y +CONFIG_CMSIS_DSP_STATISTICS_FUNCTIONS=y +CONFIG_CMSIS_DSP_SUPPORT_FUNCTIONS=y +CONFIG_CMSIS_DSP_SVM_FUNCTIONS=y +CONFIG_CMSIS_DSP_TRANSFORM_FUNCTIONS=y +CONFIG_CMSIS_DSP_WINDOW_FUNCTIONS=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/system/cmsis/dsp/sdkconfig b/example/system/cmsis/dsp/sdkconfig index a0993dbbcc00142a15d4c5cfee3c439e46b8245d..475424b2730124c3b5ee54af33860657cc6b3e0d 100644 --- a/example/system/cmsis/dsp/sdkconfig +++ b/example/system/cmsis/dsp/sdkconfig @@ -41,26 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -69,24 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/system/cmsis/dsp/sdkconfig.h b/example/system/cmsis/dsp/sdkconfig.h index 717ed7231f741d83477ea7662c7d025b7e17602d..4db58012356a24626974a93b735679126c7ab2bf 100644 --- a/example/system/cmsis/dsp/sdkconfig.h +++ b/example/system/cmsis/dsp/sdkconfig.h @@ -38,25 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -64,22 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/system/cxx/cryptopp/configs/pd2308_aarch64_test16_cxx.config b/example/system/cxx/cryptopp/configs/pd2308_aarch64_test16_cxx.config new file mode 100644 index 0000000000000000000000000000000000000000..645aed7ef6fcefaf2232c49e12c4804b1397af99 --- /dev/null +++ b/example/system/cxx/cryptopp/configs/pd2308_aarch64_test16_cxx.config @@ -0,0 +1,9 @@ +CONFIG_TARGET_PD2308=y +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y +CONFIG_TARGET_NAME="cxx" +CONFIG_USE_LETTER_SHELL=y +CONFIG_USE_CRYPTO_PLUS_PLUS=y +# CONFIG_CHECK_DEPS is not set +CONFIG_ENABLE_CXX=y +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/system/cxx/cryptopp/configs/ps2316_aarch64_test16_cxx.config b/example/system/cxx/cryptopp/configs/ps2316_aarch64_test16_cxx.config new file mode 100644 index 0000000000000000000000000000000000000000..192af65d497511dd8c49e7cce15608f337abb4b1 --- /dev/null +++ b/example/system/cxx/cryptopp/configs/ps2316_aarch64_test16_cxx.config @@ -0,0 +1,8 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="cxx" +CONFIG_USE_LETTER_SHELL=y +CONFIG_USE_CRYPTO_PLUS_PLUS=y +# CONFIG_CHECK_DEPS is not set +CONFIG_ENABLE_CXX=y +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/system/cxx/cryptopp/sdkconfig b/example/system/cxx/cryptopp/sdkconfig index a5b874ac463a90ff55119eb11416f5000cee093b..1267d6c35ed29e4530ac06ba4693034bc8b906ab 100644 --- a/example/system/cxx/cryptopp/sdkconfig +++ b/example/system/cxx/cryptopp/sdkconfig @@ -41,26 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -69,24 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y @@ -156,7 +141,17 @@ CONFIG_ENABLE_Pl011_UART=y # Third-party configuration # # CONFIG_USE_LWIP is not set -# CONFIG_USE_LETTER_SHELL is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter shell configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter shell configuration + # CONFIG_USE_AMP is not set # CONFIG_USE_YMODEM is not set # CONFIG_USE_SFUD is not set diff --git a/example/system/cxx/cryptopp/sdkconfig.h b/example/system/cxx/cryptopp/sdkconfig.h index d31e28c47383ade68d3b20b72d748357d2a03826..891b31ce04d3aba739e42588fd85c8bdc822b7c9 100644 --- a/example/system/cxx/cryptopp/sdkconfig.h +++ b/example/system/cxx/cryptopp/sdkconfig.h @@ -38,25 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -64,22 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL @@ -143,7 +130,15 @@ /* Third-party configuration */ /* CONFIG_USE_LWIP is not set */ -/* CONFIG_USE_LETTER_SHELL is not set */ +#define CONFIG_USE_LETTER_SHELL + +/* Letter shell configuration */ + +#define CONFIG_LS_PL011_UART +#define CONFIG_DEFAULT_LETTER_SHELL_USE_UART1 +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ +/* end of Letter shell configuration */ /* CONFIG_USE_AMP is not set */ /* CONFIG_USE_YMODEM is not set */ /* CONFIG_USE_SFUD is not set */ diff --git a/example/system/cxx/get-start/configs/pd2308_aarch64_test16_cxx_start.config b/example/system/cxx/get-start/configs/pd2308_aarch64_test16_cxx_start.config new file mode 100644 index 0000000000000000000000000000000000000000..a6c5b2278b632c27a6dbfa93de8f75adc9ca75d3 --- /dev/null +++ b/example/system/cxx/get-start/configs/pd2308_aarch64_test16_cxx_start.config @@ -0,0 +1,8 @@ +CONFIG_TARGET_PD2308=y +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y +CONFIG_TARGET_NAME="cxx_start" +CONFIG_USE_LETTER_SHELL=y +# CONFIG_CHECK_DEPS is not set +CONFIG_ENABLE_CXX=y +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/system/cxx/get-start/configs/ps2316_aarch64_test16_cxx_start.config b/example/system/cxx/get-start/configs/ps2316_aarch64_test16_cxx_start.config new file mode 100644 index 0000000000000000000000000000000000000000..037a3917db3fa76155364c85bc6b0e2ad8c8ca14 --- /dev/null +++ b/example/system/cxx/get-start/configs/ps2316_aarch64_test16_cxx_start.config @@ -0,0 +1,7 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="cxx_start" +CONFIG_USE_LETTER_SHELL=y +# CONFIG_CHECK_DEPS is not set +CONFIG_ENABLE_CXX=y +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/system/cxx/get-start/sdkconfig b/example/system/cxx/get-start/sdkconfig index cf9336cd999ce000e349346337f5318b9ad1a48d..43bf877dde84a560f79ae2736c6169c3d47860dd 100644 --- a/example/system/cxx/get-start/sdkconfig +++ b/example/system/cxx/get-start/sdkconfig @@ -41,26 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -69,24 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y @@ -156,7 +141,17 @@ CONFIG_ENABLE_Pl011_UART=y # Third-party configuration # # CONFIG_USE_LWIP is not set -# CONFIG_USE_LETTER_SHELL is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter shell configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter shell configuration + # CONFIG_USE_AMP is not set # CONFIG_USE_YMODEM is not set # CONFIG_USE_SFUD is not set diff --git a/example/system/cxx/get-start/sdkconfig.h b/example/system/cxx/get-start/sdkconfig.h index 57de0a25c68dd67637dcf873bbf7bde65f55e422..2e84590219d6d2b1d925e0b939a6bc2816c43719 100644 --- a/example/system/cxx/get-start/sdkconfig.h +++ b/example/system/cxx/get-start/sdkconfig.h @@ -38,25 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -64,22 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL @@ -143,7 +130,15 @@ /* Third-party configuration */ /* CONFIG_USE_LWIP is not set */ -/* CONFIG_USE_LETTER_SHELL is not set */ +#define CONFIG_USE_LETTER_SHELL + +/* Letter shell configuration */ + +#define CONFIG_LS_PL011_UART +#define CONFIG_DEFAULT_LETTER_SHELL_USE_UART1 +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ +/* end of Letter shell configuration */ /* CONFIG_USE_AMP is not set */ /* CONFIG_USE_YMODEM is not set */ /* CONFIG_USE_SFUD is not set */ diff --git a/example/system/delay_test/sdkconfig b/example/system/delay_test/sdkconfig index c41a6a04e9ffdaeaf60f620c55e7b4e443c6d214..e9b712c6d3f32acd4919f79bc6f540246a806d7a 100644 --- a/example/system/delay_test/sdkconfig +++ b/example/system/delay_test/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_PHYTIUMPI=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="phytiumpi" CONFIG_SOC_CORE_NUM=4 diff --git a/example/system/delay_test/sdkconfig.h b/example/system/delay_test/sdkconfig.h index 601c37c9662399856278269f225778414777ca29..c1e7871af5ccbe29667d79ac4c4b7c6c25b3c3f8 100644 --- a/example/system/delay_test/sdkconfig.h +++ b/example/system/delay_test/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "phytiumpi" #define CONFIG_SOC_CORE_NUM 4 diff --git a/example/system/jtag_debugging/sdkconfig b/example/system/jtag_debugging/sdkconfig index 7c3e371d02916079c4a23f65d9e54e155b054b5f..528a9e29641c51619bd246a4520cf80143a27642 100644 --- a/example/system/jtag_debugging/sdkconfig +++ b/example/system/jtag_debugging/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -53,6 +54,7 @@ CONFIG_TARGET_E2000Q=y # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set CONFIG_SOC_NAME="e2000" CONFIG_TARGET_TYPE_NAME="q" diff --git a/example/system/jtag_debugging/sdkconfig.h b/example/system/jtag_debugging/sdkconfig.h index 0fa41c00625c75d229d95ee4e93d71f675a02fd0..8eb4ae1ead424a39980359ca01dc799af17ae128 100644 --- a/example/system/jtag_debugging/sdkconfig.h +++ b/example/system/jtag_debugging/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -49,6 +50,7 @@ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ #define CONFIG_SOC_NAME "e2000" #define CONFIG_TARGET_TYPE_NAME "q" diff --git a/example/system/letter_shell_test/configs/ps2316_aarch64_test16_shell.config b/example/system/letter_shell_test/configs/ps2316_aarch64_test16_shell.config new file mode 100644 index 0000000000000000000000000000000000000000..d1352ff0331800ea6f35ad32ce2d9f9285797cb2 --- /dev/null +++ b/example/system/letter_shell_test/configs/ps2316_aarch64_test16_shell.config @@ -0,0 +1,7 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="shell" +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/system/letter_shell_test/sdkconfig b/example/system/letter_shell_test/sdkconfig index bca3af993796df6efa986f638652cb3fddd85f48..04328889816badbc44531590766af2ccf3a99835 100644 --- a/example/system/letter_shell_test/sdkconfig +++ b/example/system/letter_shell_test/sdkconfig @@ -41,6 +41,7 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # @@ -52,10 +53,11 @@ CONFIG_MAX_XLAT_TABLES=256 # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set -CONFIG_TARGET_PD2308=y +# CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="pd2308" -CONFIG_SOC_CORE_NUM=8 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 @@ -68,23 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="demo" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_PD2308_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -117,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/system/letter_shell_test/sdkconfig.h b/example/system/letter_shell_test/sdkconfig.h index 7df48113a12086687e2930b9e8cefaf95ecbc275..d46869c45143aefd197906f84bf2329a5071fc4a 100644 --- a/example/system/letter_shell_test/sdkconfig.h +++ b/example/system/letter_shell_test/sdkconfig.h @@ -38,6 +38,7 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ @@ -48,10 +49,11 @@ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ -#define CONFIG_TARGET_PD2308 +/* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "pd2308" -#define CONFIG_SOC_CORE_NUM 8 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 @@ -63,21 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "demo" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_PD2308_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -107,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/system/nested_interrupt/configs/ps2316_aarch64_test16_nest.config b/example/system/nested_interrupt/configs/ps2316_aarch64_test16_nest.config new file mode 100644 index 0000000000000000000000000000000000000000..7d703ec760e4a54553f431fc47569c59399e165a --- /dev/null +++ b/example/system/nested_interrupt/configs/ps2316_aarch64_test16_nest.config @@ -0,0 +1,8 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="nest" +CONFIG_LOG_DEBUG=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/system/nested_interrupt/sdkconfig b/example/system/nested_interrupt/sdkconfig index f4b5ba63c5f2b144e5faf2d569d170176711a6a5..f8a64b4dfa3bfb679d8c16f5d23d350479b19a7b 100644 --- a/example/system/nested_interrupt/sdkconfig +++ b/example/system/nested_interrupt/sdkconfig @@ -41,26 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -69,24 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/system/nested_interrupt/sdkconfig.h b/example/system/nested_interrupt/sdkconfig.h index 4a68eb297c884b873e3edca59cf870f737720d94..1998ae276b8359adfb320a05620a8279fb524fe6 100644 --- a/example/system/nested_interrupt/sdkconfig.h +++ b/example/system/nested_interrupt/sdkconfig.h @@ -38,25 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -64,22 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/system/newlib_test/configs/pd2308_aarch64_test16_newlib.config b/example/system/newlib_test/configs/pd2308_aarch64_test16_newlib.config new file mode 100644 index 0000000000000000000000000000000000000000..f820ebf16f73ad17211db39c5f2d3bc87f4eb08b --- /dev/null +++ b/example/system/newlib_test/configs/pd2308_aarch64_test16_newlib.config @@ -0,0 +1,7 @@ +CONFIG_TARGET_PD2308=y +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y +CONFIG_TARGET_NAME="newlib" +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEBUG_CUSTOMOPT=y +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/system/newlib_test/configs/ps2316_aarch64_test16_newlib.config b/example/system/newlib_test/configs/ps2316_aarch64_test16_newlib.config new file mode 100644 index 0000000000000000000000000000000000000000..89b6b1f0e5d66ef7c246acc16666f94d7e711346 --- /dev/null +++ b/example/system/newlib_test/configs/ps2316_aarch64_test16_newlib.config @@ -0,0 +1,6 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="newlib" +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEBUG_CUSTOMOPT=y +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/system/newlib_test/sdkconfig b/example/system/newlib_test/sdkconfig index a5df06085a35554854808feef727c6a37b1c7233..9bf5e17aff310e7be42462898bac51d1592cc751 100644 --- a/example/system/newlib_test/sdkconfig +++ b/example/system/newlib_test/sdkconfig @@ -41,26 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -69,24 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/system/newlib_test/sdkconfig.h b/example/system/newlib_test/sdkconfig.h index 408567391d0f772b1650424ff088876b1f304251..d4cfb0819cd96d8e3f1420c4e8b696b8d82bd761 100644 --- a/example/system/newlib_test/sdkconfig.h +++ b/example/system/newlib_test/sdkconfig.h @@ -38,25 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -64,22 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/example/system/scmi_mhu/sdkconfig b/example/system/scmi_mhu/sdkconfig index 53929c9d710d0f5d4edc9cbd1eb9bf6b785e4e1f..4808e691db54d355a03980b382610158f7a72d03 100644 --- a/example/system/scmi_mhu/sdkconfig +++ b/example/system/scmi_mhu/sdkconfig @@ -41,27 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # # CONFIG_TARGET_PHYTIUMPI is not set -CONFIG_TARGET_E2000Q=y +# CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set -# CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PD2308=y +# CONFIG_TARGET_PS2316 is not set # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="e2000" -CONFIG_TARGET_TYPE_NAME="q" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="pd2308" +CONFIG_SOC_CORE_NUM=8 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -76,11 +76,10 @@ CONFIG_BOARD_NAME="demo" # CONFIG_USE_CAN_IOPAD is not set # CONFIG_USE_QSPI_IOPAD is not set # CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set # CONFIG_USE_TACHO_IOPAD is not set # CONFIG_USE_UART_IOPAD is not set # CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_E2000Q_DEMO_BOARD=y +CONFIG_PD2308_DEMO_BOARD=y # # IO mux configuration when board start up @@ -92,7 +91,7 @@ CONFIG_E2000Q_DEMO_BOARD=y # # Build project name # -CONFIG_TARGET_NAME="baremetal" +CONFIG_TARGET_NAME="scmi" # end of Build project name # end of Board Configuration @@ -123,7 +122,14 @@ CONFIG_USE_IOMUX=y CONFIG_ENABLE_IOPAD=y # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set -# CONFIG_USE_SERIAL is not set +CONFIG_USE_SERIAL=y + +# +# Usart Configuration +# +CONFIG_ENABLE_Pl011_UART=y +# end of Usart Configuration + # CONFIG_USE_GPIO is not set # CONFIG_USE_ETH is not set # CONFIG_USE_CAN is not set @@ -141,7 +147,14 @@ CONFIG_ENABLE_IOPAD=y # CONFIG_USE_PWM is not set # CONFIG_USE_IPC is not set # CONFIG_USE_MEDIA is not set -# CONFIG_USE_SCMI_MHU is not set +CONFIG_USE_SCMI_MHU=y + +# +# Scmi Configuration +# +CONFIG_ENABLE_SCMI_MHU=y +# end of Scmi Configuration + # CONFIG_USE_I2S is not set # CONFIG_USE_I3C is not set # end of Drivers configuration @@ -150,7 +163,17 @@ CONFIG_ENABLE_IOPAD=y # Third-party configuration # # CONFIG_USE_LWIP is not set -# CONFIG_USE_LETTER_SHELL is not set +CONFIG_USE_LETTER_SHELL=y + +# +# Letter shell configuration +# +CONFIG_LS_PL011_UART=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set +# end of Letter shell configuration + # CONFIG_USE_AMP is not set # CONFIG_USE_YMODEM is not set # CONFIG_USE_SFUD is not set @@ -170,7 +193,7 @@ CONFIG_ENABLE_IOPAD=y # Build setup # CONFIG_CHECK_DEPS=y -CONFIG_OUTPUT_BINARY=y +# CONFIG_OUTPUT_BINARY is not set # # Optimization options @@ -188,8 +211,8 @@ CONFIG_DEBUG_LINK_MAP=y # # Debug options # -# CONFIG_DEBUG_ENABLE_ALL_WARNING is not set -# CONFIG_WALL_WARNING_ERROR is not set +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y # CONFIG_STRICT_PROTOTYPES is not set # CONFIG_DEBUG_SYMBOLS is not set # CONFIG_FRAME_POINTER is not set @@ -212,5 +235,11 @@ CONFIG_USE_COMPILE_CHAIN=y # # Linker Options # +CONFIG_DEFAULT_LINKER_SCRIPT=y +# CONFIG_USER_DEFINED_LD is not set +CONFIG_IMAGE_LOAD_ADDRESS=0x80100000 +CONFIG_IMAGE_MAX_LENGTH=0x1000000 +CONFIG_HEAP_SIZE=1 +CONFIG_STACK_SIZE=0x400 # end of Linker Options # end of Build setup diff --git a/example/system/scmi_mhu/sdkconfig.h b/example/system/scmi_mhu/sdkconfig.h index e728ca30d6eaba59b3221350a054ce9f90910755..9e6cc51a62244af70c904c043498431347d68bda 100644 --- a/example/system/scmi_mhu/sdkconfig.h +++ b/example/system/scmi_mhu/sdkconfig.h @@ -38,26 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ /* CONFIG_TARGET_PHYTIUMPI is not set */ -#define CONFIG_TARGET_E2000Q +/* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ -/* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PD2308 +/* CONFIG_TARGET_PS2316 is not set */ /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "e2000" -#define CONFIG_TARGET_TYPE_NAME "q" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "pd2308" +#define CONFIG_SOC_CORE_NUM 8 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -66,8 +66,20 @@ /* Board Configuration */ #define CONFIG_BOARD_NAME "demo" -/* CONFIG_E2000Q_DEMO_BOARD is not set */ -#define CONFIG_CUS_DEMO_BOARD +/* CONFIG_USE_SPI_IOPAD is not set */ +/* CONFIG_USE_GPIO_IOPAD is not set */ +/* CONFIG_USE_CAN_IOPAD is not set */ +/* CONFIG_USE_QSPI_IOPAD is not set */ +/* CONFIG_USE_PWM_IOPAD is not set */ +/* CONFIG_USE_TACHO_IOPAD is not set */ +/* CONFIG_USE_UART_IOPAD is not set */ +/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ +#define CONFIG_PD2308_DEMO_BOARD + +/* IO mux configuration when board start up */ + +/* end of IO mux configuration when board start up */ +/* CONFIG_CUS_DEMO_BOARD is not set */ /* Build project name */ @@ -97,7 +109,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -/* CONFIG_ENABLE_IOPAD is not set */ +#define CONFIG_ENABLE_IOPAD /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL @@ -163,7 +175,7 @@ /* Build setup */ #define CONFIG_CHECK_DEPS -#define CONFIG_OUTPUT_BINARY +/* CONFIG_OUTPUT_BINARY is not set */ /* Optimization options */ diff --git a/example/system/template/configs/ps2316_aarch64_test16_template.config b/example/system/template/configs/ps2316_aarch64_test16_template.config new file mode 100644 index 0000000000000000000000000000000000000000..dda3d5df12cceddc8099eab7cfe12c7adbafaa57 --- /dev/null +++ b/example/system/template/configs/ps2316_aarch64_test16_template.config @@ -0,0 +1,14 @@ +# CONFIG_BOOT_WITH_FLUSH_CACHE is not set +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="template" +CONFIG_BOOTUP_DEBUG_PRINTS=y +CONFIG_INTERRUPT_ROLE_SLAVE=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_FRAME_POINTER=y +CONFIG_OUTPUT_ASM_DIS=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_LOAD_ADDRESS=0xc8000000 diff --git a/example/system/template/configs/qemu_virt_64_aarch64_demo_template.config b/example/system/template/configs/qemu_virt_64_aarch64_demo_template.config new file mode 100644 index 0000000000000000000000000000000000000000..359eb578ecfac2dfac0c55717ebf65b9f540242f --- /dev/null +++ b/example/system/template/configs/qemu_virt_64_aarch64_demo_template.config @@ -0,0 +1,15 @@ +# CONFIG_BOOT_WITH_FLUSH_CACHE is not set +CONFIG_TARGET_QEMU_VIRT=y +CONFIG_DEFAULT_DEBUG_PRINT_UART0=y +CONFIG_BOARD_NAME="demo" +CONFIG_TARGET_NAME="template" +CONFIG_INTERRUPT_ROLE_SLAVE=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEFAULT_LETTER_SHELL_USE_UART0=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_FRAME_POINTER=y +CONFIG_OUTPUT_ASM_DIS=y +CONFIG_DEFAULT_LINKER_SCRIPT=y +CONFIG_IMAGE_LOAD_ADDRESS=0xc8000000 diff --git a/example/system/template/makefile b/example/system/template/makefile index 543dfffd5bc0ee53ae95a627fd24b06c8e04f603..c024a82614971252f4afc9fd4f2c9fe7d595ffaf 100644 --- a/example/system/template/makefile +++ b/example/system/template/makefile @@ -11,4 +11,5 @@ USR_BOOT_DIR ?= /mnt/d/tftpboot image: make clean make all -j - cp ./$(IMAGE_OUT_NAME).elf $(USR_BOOT_DIR)/baremetal.elf \ No newline at end of file + cp ./$(IMAGE_OUT_NAME).elf $(USR_BOOT_DIR)/baremetal.elf + cp ./$(IMAGE_OUT_NAME).bin $(USR_BOOT_DIR)/baremetal.bin \ No newline at end of file diff --git a/example/system/template/sdkconfig b/example/system/template/sdkconfig index ae8bce769cd89bb0fa35c15b2e8bde21c73fc032..c8ab4b92b4bc0b2bb45b413dc9dea36cb19d728c 100644 --- a/example/system/template/sdkconfig +++ b/example/system/template/sdkconfig @@ -29,7 +29,7 @@ CONFIG_GCC_CODE_MODEL_SMALL=y # CONFIG_GCC_CODE_MODEL_LARGE is not set # end of Compiler configuration -CONFIG_BOOT_WITH_FLUSH_CACHE=y +# CONFIG_BOOT_WITH_FLUSH_CACHE is not set # CONFIG_MMU_DEBUG_PRINTS is not set # end of Arm architecture configuration @@ -41,52 +41,37 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set -# CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" +# CONFIG_TARGET_PS2316 is not set +CONFIG_TARGET_QEMU_VIRT=y +CONFIG_SOC_NAME="qemu_virt_64" CONFIG_SOC_CORE_NUM=4 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y -CONFIG_DEFAULT_DEBUG_PRINT_UART1=y -# CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set +# CONFIG_DEFAULT_DEBUG_PRINT_UART1 is not set +CONFIG_DEFAULT_DEBUG_PRINT_UART0=y # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set # end of Soc configuration # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="demo" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -109,8 +94,8 @@ CONFIG_LOG_ERROR=y # CONFIG_LOG_DISPALY_CORE_NUM is not set # CONFIG_BOOTUP_DEBUG_PRINTS is not set CONFIG_USE_DEFAULT_INTERRUPT_CONFIG=y -CONFIG_INTERRUPT_ROLE_MASTER=y -# CONFIG_INTERRUPT_ROLE_SLAVE is not set +# CONFIG_INTERRUPT_ROLE_MASTER is not set +CONFIG_INTERRUPT_ROLE_SLAVE=y # CONFIG_INTERRUPT_ROLE_NONE is not set # end of Sdk common configuration @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y @@ -162,8 +147,8 @@ CONFIG_USE_LETTER_SHELL=y # Letter shell configuration # CONFIG_LS_PL011_UART=y -CONFIG_DEFAULT_LETTER_SHELL_USE_UART1=y -# CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set +# CONFIG_DEFAULT_LETTER_SHELL_USE_UART1 is not set +CONFIG_DEFAULT_LETTER_SHELL_USE_UART0=y # CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set # end of Letter shell configuration @@ -191,9 +176,9 @@ CONFIG_OUTPUT_BINARY=y # # Optimization options # -# CONFIG_DEBUG_NOOPT is not set +CONFIG_DEBUG_NOOPT=y # CONFIG_DEBUG_CUSTOMOPT is not set -CONFIG_DEBUG_FULLOPT=y +# CONFIG_DEBUG_FULLOPT is not set CONFIG_DEBUG_OPT_UNUSED_SECTIONS=y CONFIG_DEBUG_LINK_MAP=y # CONFIG_CCACHE is not set @@ -207,9 +192,9 @@ CONFIG_DEBUG_LINK_MAP=y CONFIG_DEBUG_ENABLE_ALL_WARNING=y CONFIG_WALL_WARNING_ERROR=y # CONFIG_STRICT_PROTOTYPES is not set -# CONFIG_DEBUG_SYMBOLS is not set -# CONFIG_FRAME_POINTER is not set -# CONFIG_OUTPUT_ASM_DIS is not set +CONFIG_DEBUG_SYMBOLS=y +CONFIG_FRAME_POINTER=y +CONFIG_OUTPUT_ASM_DIS=y # CONFIG_ENABLE_WSHADOW is not set # CONFIG_ENABLE_WUNDEF is not set CONFIG_DOWNGRADE_DIAG_WARNING=y @@ -230,7 +215,7 @@ CONFIG_USE_COMPILE_CHAIN=y # CONFIG_DEFAULT_LINKER_SCRIPT=y # CONFIG_USER_DEFINED_LD is not set -CONFIG_IMAGE_LOAD_ADDRESS=0x80100000 +CONFIG_IMAGE_LOAD_ADDRESS=0xc8000000 CONFIG_IMAGE_MAX_LENGTH=0x1000000 CONFIG_HEAP_SIZE=1 CONFIG_STACK_SIZE=0x400 diff --git a/example/system/template/sdkconfig.h b/example/system/template/sdkconfig.h index 029e427b932fef3fb6a04a8cf76d7dd62e402fe8..01b53793179b9517f3d11e35c2a2007fe4622e64 100644 --- a/example/system/template/sdkconfig.h +++ b/example/system/template/sdkconfig.h @@ -28,7 +28,7 @@ #define CONFIG_GCC_CODE_MODEL_SMALL /* CONFIG_GCC_CODE_MODEL_LARGE is not set */ /* end of Compiler configuration */ -#define CONFIG_BOOT_WITH_FLUSH_CACHE +/* CONFIG_BOOT_WITH_FLUSH_CACHE is not set */ /* CONFIG_MMU_DEBUG_PRINTS is not set */ /* end of Arm architecture configuration */ @@ -38,48 +38,35 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ -/* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" +/* CONFIG_TARGET_PS2316 is not set */ +#define CONFIG_TARGET_QEMU_VIRT +#define CONFIG_SOC_NAME "qemu_virt_64" #define CONFIG_SOC_CORE_NUM 4 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 -#define CONFIG_DEFAULT_DEBUG_PRINT_UART1 -/* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ +/* CONFIG_DEFAULT_DEBUG_PRINT_UART1 is not set */ +#define CONFIG_DEFAULT_DEBUG_PRINT_UART0 /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ /* end of Soc configuration */ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "demo" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -100,8 +87,8 @@ /* CONFIG_LOG_DISPALY_CORE_NUM is not set */ /* CONFIG_BOOTUP_DEBUG_PRINTS is not set */ #define CONFIG_USE_DEFAULT_INTERRUPT_CONFIG -#define CONFIG_INTERRUPT_ROLE_MASTER -/* CONFIG_INTERRUPT_ROLE_SLAVE is not set */ +/* CONFIG_INTERRUPT_ROLE_MASTER is not set */ +#define CONFIG_INTERRUPT_ROLE_SLAVE /* CONFIG_INTERRUPT_ROLE_NONE is not set */ /* end of Sdk common configuration */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL @@ -148,8 +135,8 @@ /* Letter shell configuration */ #define CONFIG_LS_PL011_UART -#define CONFIG_DEFAULT_LETTER_SHELL_USE_UART1 -/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 is not set */ +/* CONFIG_DEFAULT_LETTER_SHELL_USE_UART1 is not set */ +#define CONFIG_DEFAULT_LETTER_SHELL_USE_UART0 /* CONFIG_DEFAULT_LETTER_SHELL_USE_UART2 is not set */ /* end of Letter shell configuration */ /* CONFIG_USE_AMP is not set */ @@ -174,9 +161,9 @@ /* Optimization options */ -/* CONFIG_DEBUG_NOOPT is not set */ +#define CONFIG_DEBUG_NOOPT /* CONFIG_DEBUG_CUSTOMOPT is not set */ -#define CONFIG_DEBUG_FULLOPT +/* CONFIG_DEBUG_FULLOPT is not set */ #define CONFIG_DEBUG_OPT_UNUSED_SECTIONS #define CONFIG_DEBUG_LINK_MAP /* CONFIG_CCACHE is not set */ @@ -189,9 +176,9 @@ #define CONFIG_DEBUG_ENABLE_ALL_WARNING #define CONFIG_WALL_WARNING_ERROR /* CONFIG_STRICT_PROTOTYPES is not set */ -/* CONFIG_DEBUG_SYMBOLS is not set */ -/* CONFIG_FRAME_POINTER is not set */ -/* CONFIG_OUTPUT_ASM_DIS is not set */ +#define CONFIG_DEBUG_SYMBOLS +#define CONFIG_FRAME_POINTER +#define CONFIG_OUTPUT_ASM_DIS /* CONFIG_ENABLE_WSHADOW is not set */ /* CONFIG_ENABLE_WUNDEF is not set */ #define CONFIG_DOWNGRADE_DIAG_WARNING @@ -209,7 +196,7 @@ #define CONFIG_DEFAULT_LINKER_SCRIPT /* CONFIG_USER_DEFINED_LD is not set */ -#define CONFIG_IMAGE_LOAD_ADDRESS 0x80100000 +#define CONFIG_IMAGE_LOAD_ADDRESS 0xc8000000 #define CONFIG_IMAGE_MAX_LENGTH 0x1000000 #define CONFIG_HEAP_SIZE 1 #define CONFIG_STACK_SIZE 0x400 diff --git a/example/system/unwind/configs/pd2308_aarch64_test16_unwind.config b/example/system/unwind/configs/pd2308_aarch64_test16_unwind.config new file mode 100644 index 0000000000000000000000000000000000000000..c805563ba6f9875ac75c0d9507fba1a08a59ff1d --- /dev/null +++ b/example/system/unwind/configs/pd2308_aarch64_test16_unwind.config @@ -0,0 +1,14 @@ +CONFIG_TARGET_PD2308=y +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y +CONFIG_TARGET_NAME="unwind" +CONFIG_LOG_WARN=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEBUG_OPT_UNUSED_SECTIONS=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_FRAME_POINTER=y +CONFIG_OUTPUT_ASM_DIS=y +CONFIG_USE_NEWLIB=y +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/system/unwind/configs/ps2316_aarch64_test16_unwind.config b/example/system/unwind/configs/ps2316_aarch64_test16_unwind.config new file mode 100644 index 0000000000000000000000000000000000000000..020b1c7e64c1cc2a0f0dee3d6d815b4fbf595579 --- /dev/null +++ b/example/system/unwind/configs/ps2316_aarch64_test16_unwind.config @@ -0,0 +1,13 @@ +CONFIG_TARGET_PS2316=y +CONFIG_BOARD_NAME="test16" +CONFIG_TARGET_NAME="unwind" +CONFIG_LOG_WARN=y +CONFIG_USE_LETTER_SHELL=y +CONFIG_DEBUG_OPT_UNUSED_SECTIONS=y +CONFIG_DEBUG_ENABLE_ALL_WARNING=y +CONFIG_WALL_WARNING_ERROR=y +CONFIG_DEBUG_SYMBOLS=y +CONFIG_FRAME_POINTER=y +CONFIG_OUTPUT_ASM_DIS=y +CONFIG_USE_NEWLIB=y +CONFIG_DEFAULT_LINKER_SCRIPT=y diff --git a/example/system/unwind/sdkconfig b/example/system/unwind/sdkconfig index 527c3ab1eeb0c265b881a9d906361147851460dd..e4ce7076852cb00200ea2153f8d4d166f0b9e226 100644 --- a/example/system/unwind/sdkconfig +++ b/example/system/unwind/sdkconfig @@ -41,26 +41,27 @@ CONFIG_BOOT_WITH_FLUSH_CACHE=y CONFIG_MMU_PAGE_SIZE=0x1000 CONFIG_MAX_XLAT_TABLES=256 +# CONFIG_ENABLE_GIC_ITS is not set # end of Arch configuration # # Soc configuration # -CONFIG_TARGET_PHYTIUMPI=y +# CONFIG_TARGET_PHYTIUMPI is not set # CONFIG_TARGET_E2000Q is not set # CONFIG_TARGET_E2000D is not set # CONFIG_TARGET_E2000S is not set # CONFIG_TARGET_FT2004 is not set # CONFIG_TARGET_D2000 is not set # CONFIG_TARGET_PD2308 is not set +CONFIG_TARGET_PS2316=y # CONFIG_TARGET_QEMU_VIRT is not set -CONFIG_SOC_NAME="phytiumpi" -CONFIG_SOC_CORE_NUM=4 +CONFIG_SOC_NAME="ps2316" +CONFIG_SOC_CORE_NUM=16 CONFIG_F32BIT_MEMORY_ADDRESS=0x80000000 CONFIG_F32BIT_MEMORY_LENGTH=0x80000000 CONFIG_F64BIT_MEMORY_ADDRESS=0x2000000000 CONFIG_F64BIT_MEMORY_LENGTH=0x800000000 -CONFIG_TARGET_E2000=y CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set # CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set @@ -69,24 +70,8 @@ CONFIG_DEFAULT_DEBUG_PRINT_UART1=y # # Board Configuration # -CONFIG_BOARD_NAME="firefly" -# CONFIG_USE_SPI_IOPAD is not set -# CONFIG_USE_GPIO_IOPAD is not set -# CONFIG_USE_CAN_IOPAD is not set -# CONFIG_USE_QSPI_IOPAD is not set -# CONFIG_USE_PWM_IOPAD is not set -# CONFIG_USE_MIO_IOPAD is not set -# CONFIG_USE_TACHO_IOPAD is not set -# CONFIG_USE_UART_IOPAD is not set -# CONFIG_USE_THIRD_PARTY_IOPAD is not set -CONFIG_FIREFLY_DEMO_BOARD=y - -# -# IO mux configuration when board start up -# -# end of IO mux configuration when board start up - -# CONFIG_CUS_DEMO_BOARD is not set +CONFIG_BOARD_NAME="test16" +CONFIG_CUS_DEMO_BOARD=y # # Build project name @@ -119,7 +104,7 @@ CONFIG_INTERRUPT_ROLE_MASTER=y # CONFIG_USE_IOMUX=y # CONFIG_ENABLE_IOCTRL is not set -CONFIG_ENABLE_IOPAD=y +# CONFIG_ENABLE_IOPAD is not set # CONFIG_USE_SPI is not set # CONFIG_USE_QSPI is not set CONFIG_USE_SERIAL=y diff --git a/example/system/unwind/sdkconfig.h b/example/system/unwind/sdkconfig.h index 75ece42d94cab963380c2adc43ca27fa69c9dc09..be4987ea82e2c5a132b9a8d1e08d924b9284ea03 100644 --- a/example/system/unwind/sdkconfig.h +++ b/example/system/unwind/sdkconfig.h @@ -38,25 +38,26 @@ /* end of multi-core system deployment framework */ #define CONFIG_MMU_PAGE_SIZE 0x1000 #define CONFIG_MAX_XLAT_TABLES 256 +/* CONFIG_ENABLE_GIC_ITS is not set */ /* end of Arch configuration */ /* Soc configuration */ -#define CONFIG_TARGET_PHYTIUMPI +/* CONFIG_TARGET_PHYTIUMPI is not set */ /* CONFIG_TARGET_E2000Q is not set */ /* CONFIG_TARGET_E2000D is not set */ /* CONFIG_TARGET_E2000S is not set */ /* CONFIG_TARGET_FT2004 is not set */ /* CONFIG_TARGET_D2000 is not set */ /* CONFIG_TARGET_PD2308 is not set */ +#define CONFIG_TARGET_PS2316 /* CONFIG_TARGET_QEMU_VIRT is not set */ -#define CONFIG_SOC_NAME "phytiumpi" -#define CONFIG_SOC_CORE_NUM 4 +#define CONFIG_SOC_NAME "ps2316" +#define CONFIG_SOC_CORE_NUM 16 #define CONFIG_F32BIT_MEMORY_ADDRESS 0x80000000 #define CONFIG_F32BIT_MEMORY_LENGTH 0x80000000 #define CONFIG_F64BIT_MEMORY_ADDRESS 0x2000000000 #define CONFIG_F64BIT_MEMORY_LENGTH 0x800000000 -#define CONFIG_TARGET_E2000 #define CONFIG_DEFAULT_DEBUG_PRINT_UART1 /* CONFIG_DEFAULT_DEBUG_PRINT_UART0 is not set */ /* CONFIG_DEFAULT_DEBUG_PRINT_UART2 is not set */ @@ -64,22 +65,8 @@ /* Board Configuration */ -#define CONFIG_BOARD_NAME "firefly" -/* CONFIG_USE_SPI_IOPAD is not set */ -/* CONFIG_USE_GPIO_IOPAD is not set */ -/* CONFIG_USE_CAN_IOPAD is not set */ -/* CONFIG_USE_QSPI_IOPAD is not set */ -/* CONFIG_USE_PWM_IOPAD is not set */ -/* CONFIG_USE_MIO_IOPAD is not set */ -/* CONFIG_USE_TACHO_IOPAD is not set */ -/* CONFIG_USE_UART_IOPAD is not set */ -/* CONFIG_USE_THIRD_PARTY_IOPAD is not set */ -#define CONFIG_FIREFLY_DEMO_BOARD - -/* IO mux configuration when board start up */ - -/* end of IO mux configuration when board start up */ -/* CONFIG_CUS_DEMO_BOARD is not set */ +#define CONFIG_BOARD_NAME "test16" +#define CONFIG_CUS_DEMO_BOARD /* Build project name */ @@ -109,7 +96,7 @@ #define CONFIG_USE_IOMUX /* CONFIG_ENABLE_IOCTRL is not set */ -#define CONFIG_ENABLE_IOPAD +/* CONFIG_ENABLE_IOPAD is not set */ /* CONFIG_USE_SPI is not set */ /* CONFIG_USE_QSPI is not set */ #define CONFIG_USE_SERIAL diff --git a/soc/common/fcpu_info.c b/soc/common/fcpu_info.c index 731b32aacaff6a5954feaecb1ac28a38e4484492..5de64b3ef23520abcbcdbe9dd9484262fba6112e 100644 --- a/soc/common/fcpu_info.c +++ b/soc/common/fcpu_info.c @@ -30,7 +30,7 @@ FError GetCpuId(u32 *cpu_id_p) fsize_t affinity = GetAffinity(); FError ret = ERR_SUCCESS ; - switch (affinity & 0xfff) + switch (affinity & 0xfffff) { #ifdef CORE0_AFF case CORE0_AFF: @@ -71,6 +71,46 @@ FError GetCpuId(u32 *cpu_id_p) case CORE7_AFF: *cpu_id_p = 7 ; break; +#endif +#ifdef CORE8_AFF + case CORE8_AFF: + *cpu_id_p = 8 ; + break; +#endif +#ifdef CORE9_AFF + case CORE9_AFF: + *cpu_id_p = 9 ; + break; +#endif +#ifdef CORE10_AFF + case CORE10_AFF: + *cpu_id_p = 10 ; + break; +#endif +#ifdef CORE11_AFF + case CORE11_AFF: + *cpu_id_p = 11 ; + break; +#endif +#ifdef CORE12_AFF + case CORE12_AFF: + *cpu_id_p = 12 ; + break; +#endif +#ifdef CORE13_AFF + case CORE13_AFF: + *cpu_id_p = 13 ; + break; +#endif +#ifdef CORE14_AFF + case CORE14_AFF: + *cpu_id_p = 14 ; + break; +#endif +#ifdef CORE15_AFF + case CORE15_AFF: + *cpu_id_p = 15 ; + break; #endif default: ret = ERR_GENERAL ; diff --git a/soc/d2000/fparameters.h b/soc/d2000/fparameters.h index 12638353334bc60b31f676da3871a7c655fc7c95..61e12ed7d35c1b9e2183204f4c9cf783c86428aa 100644 --- a/soc/d2000/fparameters.h +++ b/soc/d2000/fparameters.h @@ -40,6 +40,7 @@ extern "C" #define CORE6_AFF 0x300 #define CORE7_AFF 0x301 #define FCORE_NUM 8 +#define CORE_AFF_MASK 0xFFF /* cache */ #define CACHE_LINE_ADDR_MASK 0x3FUL diff --git a/soc/e2000/d/fparameters.h b/soc/e2000/d/fparameters.h index 88a6d73feade6dc925baf9233a9065a3edc40ca0..8a5f8dffef6a863eae9b6ef4b0931676731abd90 100644 --- a/soc/e2000/d/fparameters.h +++ b/soc/e2000/d/fparameters.h @@ -38,6 +38,7 @@ extern "C" #define CORE0_AFF 0x200U #define CORE1_AFF 0x201U #define FCORE_NUM 2 +#define CORE_AFF_MASK 0xFFF /* PWM */ #define FPWM0_ID 0 diff --git a/soc/e2000/q/fparameters.h b/soc/e2000/q/fparameters.h index 2b35fffcedfbadb165d3e4b40bccc990a59a5c2e..c122b110ae2f940165865e20baa03657b8f1e255 100644 --- a/soc/e2000/q/fparameters.h +++ b/soc/e2000/q/fparameters.h @@ -39,6 +39,7 @@ extern "C" #define CORE1_AFF 0x100U #define CORE2_AFF 0x200U #define CORE3_AFF 0x201U +#define CORE_AFF_MASK 0xFFF #define FCORE_NUM 4 /* PWM */ diff --git a/soc/e2000/s/fparameters.h b/soc/e2000/s/fparameters.h index 66d2e7ccda92c47195da5be7179a2922178aac2e..7202c37322ef335e517adf479552913b6aff4c2c 100644 --- a/soc/e2000/s/fparameters.h +++ b/soc/e2000/s/fparameters.h @@ -35,6 +35,7 @@ extern "C" #define SOC_TARGET_E2000S #define CORE0_AFF 0x200U +#define CORE_AFF_MASK 0xFFF #define FCORE_NUM 1 /* ADC */ diff --git a/soc/ft2004/fparameters.h b/soc/ft2004/fparameters.h index caecd4c140010954140fc3c2d74348a68b88ee1e..44741a39a25ca6d69495bd5f50480737b0dbe828 100644 --- a/soc/ft2004/fparameters.h +++ b/soc/ft2004/fparameters.h @@ -35,6 +35,7 @@ extern "C" #define CORE1_AFF 0x1 #define CORE2_AFF 0x100 #define CORE3_AFF 0x101 +#define CORE_AFF_MASK 0xFFF #define FCORE_NUM 4 /* cache */ diff --git a/soc/pd2308/fparameters.h b/soc/pd2308/fparameters.h index a18919d432a9d886f3669bf82060ab3ab26930a9..5a655da62e23d3d4b8b77da85bb402a224e3e3b7 100644 --- a/soc/pd2308/fparameters.h +++ b/soc/pd2308/fparameters.h @@ -40,6 +40,7 @@ extern "C" #define CORE6_AFF 0x10200 #define CORE7_AFF 0x10300 #define FCORE_NUM 8 +#define CORE_AFF_MASK 0xFFFFF /* cache */ @@ -750,6 +751,9 @@ enum #define FSCMI_MAX_OPPS 9 #define FSCMI_MAX_POWER_DOMAINS 40 +/* PMU */ +#define FPMU_IRQ_NUM 23 + #ifdef __cplusplus } #endif diff --git a/soc/phytiumpi/fparameters.h b/soc/phytiumpi/fparameters.h index 086e57f5ae0543a42586a287d417a802b9791c27..0539b877625bc14e52a68c42de00cccf5a909570 100644 --- a/soc/phytiumpi/fparameters.h +++ b/soc/phytiumpi/fparameters.h @@ -39,6 +39,7 @@ extern "C" #define CORE1_AFF 0x100U #define CORE2_AFF 0x200U #define CORE3_AFF 0x201U +#define CORE_AFF_MASK 0xFFF #define FCORE_NUM 4 /*****************************************************************************/ diff --git a/soc/phytiumpi/fparameters_comm.h b/soc/phytiumpi/fparameters_comm.h index f39b191b06e4933dfc98bd091bb7f79e26dac38a..08f48ae939d0886c9128a7d76f6b191c3011c409 100644 --- a/soc/phytiumpi/fparameters_comm.h +++ b/soc/phytiumpi/fparameters_comm.h @@ -45,21 +45,32 @@ extern "C" #define FPCIE0_ID 0 #define FPCIE0_MISC_IRQ_NUM 40 -#define FPCIE_CFG_MAX_NUM_OF_BUS 256 -#define FPCIE_CFG_MAX_NUM_OF_DEV 32 -#define FPCIE_CFG_MAX_NUM_OF_FUN 8 +#define FPCIE_ECAM_INSTANCE_NUM 1 +#define FPCIE_ECAM_INSTANCE0 0 -#define FPCI_CONFIG_BASE_ADDR 0x40000000U -#define FPCI_CONFIG_REG_LENGTH 0x10000000U +#define FPCIE_ECAM_CFG_MAX_NUM_OF_BUS 256 +#define FPCIE_ECAM_CFG_MAX_NUM_OF_DEV 32 +#define FPCIE_ECAM_CFG_MAX_NUM_OF_FUN 8 -#define FPCI_IO_CONFIG_BASE_ADDR 0x50000000U -#define FPCI_IO_CONFIG_REG_LENGTH 0x08000000U +#define FPCIE_ECAM_INTA_IRQ_NUM 36 +#define FPCIE_ECAM_INTB_IRQ_NUM 37 +#define FPCIE_ECAM_INTC_IRQ_NUM 38 +#define FPCIE_ECAM_INTD_IRQ_NUM 39 -#define FPCI_MEM32_BASE_ADDR 0x58000000U -#define FPCI_MEM32_REG_LENGTH 0x27FFFFFFU +/* max scan*/ +#define FPCIE_MAX_SCAN_NUMBER 128 -#define FPCI_MEM64_BASE_ADDR 0x1000000000U -#define FPCI_MEM64_REG_LENGTH 0x1000000000U +#define FPCI_ECAM_CONFIG_BASE_ADDR 0x40000000U +#define FPCI_ECAM_CONFIG_REG_LENGTH 0x10000000U + +#define FPCI_ECAM_IO_CONFIG_BASE_ADDR 0x50000000U +#define FPCI_ECAM_IO_CONFIG_REG_LENGTH 0x08000000U + +#define FPCI_ECAM_MEM32_BASE_ADDR 0x58000000U /* mmio 32 */ +#define FPCI_ECAM_MEM32_REG_LENGTH 0x27FFFFFFU + +#define FPCI_ECAM_MEM64_BASE_ADDR 0x1000000000U /* mmio 64 */ +#define FPCI_ECAM_MEM64_REG_LENGTH 0x1000000000U #define FPCI_EU0_C0_CONTROL_BASE_ADDR 0x29000000U #define FPCI_EU0_C1_CONTROL_BASE_ADDR 0x29010000U diff --git a/soc/ps2316/cpu_inc.mk b/soc/ps2316/cpu_inc.mk new file mode 100644 index 0000000000000000000000000000000000000000..45086cb77eba7199c7ba1e5cbb7ffe79637f9f45 --- /dev/null +++ b/soc/ps2316/cpu_inc.mk @@ -0,0 +1 @@ +BUILD_INC_PATH_DIR += $(SDK_DIR)/soc/ps2316 diff --git a/soc/ps2316/fcpu_affinity_mask.c b/soc/ps2316/fcpu_affinity_mask.c new file mode 100644 index 0000000000000000000000000000000000000000..3bc4848060ef6df132123d4baf01700be6b6ce14 --- /dev/null +++ b/soc/ps2316/fcpu_affinity_mask.c @@ -0,0 +1,78 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: fcpu_affinity_mask.c + * Date: 2023-11-6 10:33:28 + * LastEditTime: 2023-11-6 10:33:28 + * Description:  This file is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 zhangyan 2023/11/6 init commit + */ +#include "fparameters.h" +#include "ftypes.h" + +const int cluster_ids[FCORE_NUM] = { + CORE0_AFF, + CORE1_AFF, + CORE2_AFF, + CORE3_AFF, + CORE4_AFF, + CORE5_AFF, + CORE6_AFF, + CORE7_AFF, + CORE8_AFF, + CORE9_AFF, + CORE10_AFF, + CORE11_AFF, + CORE12_AFF, + CORE13_AFF, + CORE14_AFF, + CORE15_AFF +}; + +/** + * @name: GetCpuMaskToAffval + * @msg: Convert information in cpu_mask to cluster_ID and target_list + * @param {u32} *cpu_mask is each bit of cpu_mask represents a selected CPU, for example, 0x3 represents core0 and CORE1 . + * @param {u32} *cluster_id is information about the cluster in which core resides ,format is + * |--------[bit31-24]-------[bit23-16]-------------[bit15-8]-----------[bit7-0] + * |--------Affinity level3-----Affinity level2-----Affinity level1-----Affinity level0 + * @param {u32} *target_list is core mask in cluster + * @return {u32} 0 indicates that the conversion was not successful , 1 indicates that the conversion was successful + */ +u32 GetCpuMaskToAffval(u32 *cpu_mask, u32 *cluster_id, u32 *target_list) +{ + if (*cpu_mask == 0) + { + return 0; + } + + *target_list = 0; + *cluster_id = 0; + + for (int i = 0; i < sizeof(cluster_ids) / sizeof(cluster_ids[0]); i++) + { + if (*cpu_mask & (1 << i)) + { + *cpu_mask &= ~(1 << i) ; + *cluster_id = cluster_ids[i]; + *target_list = 1; + break; + } + } + + return 1; +} diff --git a/soc/ps2316/fmmu_table.c b/soc/ps2316/fmmu_table.c new file mode 100644 index 0000000000000000000000000000000000000000..7ea6a1047f60217ae416a1b01f8771f2ff0efc23 --- /dev/null +++ b/soc/ps2316/fmmu_table.c @@ -0,0 +1,53 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: fmmu_table.c + * Date: 2023-11-6 10:33:28 + * LastEditTime: 2023-11-6 10:33:28 + * Description:  This file is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0 zhangyan 2023/11/6 init commit + * 1.1 huanghe 2024/05/21 Unified aarch32 and aarch64 mmu tables + */ + +#include "fmmu.h" +#include "fparameters.h" + +const struct ArmMmuRegion mmu_regions[] = +{ + MMU_REGION_FLAT_ENTRY("DEVICE_REGION", + 0x00, 0x40000000, + MT_DEVICE_NGNRNE | MT_P_RW_U_NA | MT_NS), + + + MMU_REGION_FLAT_ENTRY("PCIE_CONFIG_REGION", + 0x40000000, 0x10000000, + MT_DEVICE_NGNRNE | MT_P_RW_U_NA | MT_NS), + + MMU_REGION_FLAT_ENTRY("PCIE_CONFIG_REGION", + 0x50000000, 0x30000000, + MT_DEVICE_NGNRNE | MT_P_RW_U_NA | MT_NS), + /* # TODO mmu 需要升级特性 */ + // MMU_REGION_FLAT_ENTRY("PCIE_MEM64_REGION", + // 0x40000000000, 0x30000000, + // MT_DEVICE_NGNRNE | MT_P_RW_U_NA | MT_NS), +}; + +const struct ArmMmuConfig mmu_config = +{ + .num_regions = ARRAY_SIZE(mmu_regions), + .mmu_regions = mmu_regions, +}; \ No newline at end of file diff --git a/soc/ps2316/fparameters.h b/soc/ps2316/fparameters.h new file mode 100644 index 0000000000000000000000000000000000000000..e6a047bb04d0301f045d94c6e2cd24aea261776b --- /dev/null +++ b/soc/ps2316/fparameters.h @@ -0,0 +1,253 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: fparameters.h + * Date: 2025-01-14 14:53:42 + * LastEditTime: 2025-03-27 14:53:42 + * Description:  This file is for + * + * Modify History: + * Ver   Who        Date         Changes + * ----- ------     --------    -------------------------------------- + * 1.0   LiuSM 2025-01-14 First version. + */ + +#ifndef BSP_BOARD_PS2316_PARAMETERS_H +#define BSP_BOARD_PS2316_PARAMETERS_H + +#ifdef __cplusplus +extern "C" +{ +#endif + +#if !defined(__ASSEMBLER__) +#include "ftypes.h" +#endif + +#define CORE0_AFF 0x0 +#define CORE1_AFF 0x10000 +#define CORE2_AFF 0x20000 +#define CORE3_AFF 0x30000 +#define CORE4_AFF 0x40000 +#define CORE5_AFF 0x50000 +#define CORE6_AFF 0x60000 +#define CORE7_AFF 0x70000 +#define CORE8_AFF 0x80000 +#define CORE9_AFF 0x90000 +#define CORE10_AFF 0xa0000 +#define CORE11_AFF 0xb0000 +#define CORE12_AFF 0xc0000 +#define CORE13_AFF 0xd0000 +#define CORE14_AFF 0xe0000 +#define CORE15_AFF 0xf0000 + +#define FCORE_NUM 16 +#define CORE_AFF_MASK 0xFFFFF + + +/* cache */ +#define CACHE_LINE_ADDR_MASK 0x3FUL +#define CACHE_LINE 64U + + +/* PCIE ECAM */ + +/* Pci express */ +#define FPCIE_ECAM_INSTANCE_NUM 1 +#define FPCIE_ECAM_INSTANCE0 0 + +#define FPCIE_ECAM_MAX_OUTBOUND_NUM 8 + +/* Bus, Device and Function */ +#define FPCIE_ECAM_CFG_MAX_NUM_OF_BUS 256 +#define FPCIE_ECAM_CFG_MAX_NUM_OF_DEV 32 +#define FPCIE_ECAM_CFG_MAX_NUM_OF_FUN 8 + +#define FPCIE_ECAM_INTA_IRQ_NUM 60 +#define FPCIE_ECAM_INTB_IRQ_NUM 61 +#define FPCIE_ECAM_INTC_IRQ_NUM 62 +#define FPCIE_ECAM_INTD_IRQ_NUM 63 + +/* max scan*/ +#define FPCIE_MAX_SCAN_NUMBER 128 + +/* memory space */ +#define FPCI_ECAM_CONFIG_BASE_ADDR 0x40000000 /* ecam */ +#define FPCI_ECAM_CONFIG_REG_LENGTH 0x10000000 + +#define FPCI_ECAM_IO_CONFIG_BASE_ADDR 0x50000000 /* io address space */ +#define FPCI_ECAM_IO_CONFIG_REG_LENGTH 0x08000000 + +#define FPCI_ECAM_MEM32_BASE_ADDR 0x58000000 /* mmio 32 */ +#define FPCI_ECAM_MEM32_REG_LENGTH 0x27ffffff + +#define FPCI_ECAM_MEM64_BASE_ADDR 0x40000000000 /* mmio 64 */ +#define FPCI_ECAM_MEM64_REG_LENGTH 0x1fffffffff + +/* UART */ + + +#define FUART0_ID 0 +#define FUART1_ID 1 +#define FUART2_ID 2 +#define FUART_NUM 3 + +#define FUART0_IRQ_NUM 48 +#define FUART0_BASE_ADDR 0x20000000 +#define FUART0_CLK_FREQ_HZ 48000000 + +#define FUART1_IRQ_NUM 47 +#define FUART1_BASE_ADDR 0x20001000 +#define FUART1_CLK_FREQ_HZ 48000000 + +#define FUART2_IRQ_NUM 46 +#define FUART2_BASE_ADDR 0x20002000 +#define FUART2_CLK_FREQ_HZ 48000000 + +#define FT_STDOUT_BASE_ADDR FUART1_BASE_ADDR +#define FT_STDIN_BASE_ADDR FUART1_BASE_ADDR + + +/* GPIO */ +#if !defined(__ASSEMBLER__) +enum +{ + FGPIO0_ID = 0, + + FGPIO_NUM +}; +#endif + +#define FGPIO_WITH_PIN_IRQ 1U /* max id of gpio assign irq for each pin */ + +#define FGPIO0_BASE_ADDR 0x2000A000 + +#define FGPIO_CTRL_PIN_NUM 16U + +#define FGPIO_PIN_IRQ_BASE 37U +#define FGPIO_PIN_IRQ_NUM_GET(id, pin) (FGPIO_PIN_IRQ_BASE) + +/* iopad */ +#define FIOPAD_BASE_ADDR 0x38003000U + +#if !defined(__ASSEMBLER__) +/* IOPAD */ +enum +{ + FIOPAD0_ID = 0, + + FIOPAD_NUM +}; +#endif + +/* PMU */ +#define FPMU_IRQ_NUM 23 + +/* QSPI */ +#if !defined(__ASSEMBLER__) +enum +{ + FQSPI0_ID = 0, + + FQSPI_NUM +}; + +#define FQSPI_BASE_ADDR 0x1A100000U + +/* FQSPI cs 0_3, chip number */ +enum +{ + FQSPI_CS_0 = 0, + FQSPI_CS_1 = 1, + FQSPI_CS_2 = 2, + FQSPI_CS_3 = 3, + FQSPI_CS_NUM +}; + +#endif + +#define FQSPI_MEM_START_ADDR 0x0U +#define FQSPI_MEM_END_ADDR 0x07FFFFFFU /* 128MB */ + +/* WDT */ +#if !defined(__ASSEMBLER__) +enum +{ + FWDT0_ID = 0, + FWDT1_ID, + + FWDT_NUM +}; +#endif + +#define FWDT0_REFRESH_BASE_ADDR 0x1A102000U +#define FWDT1_REFRESH_BASE_ADDR 0x1A104000U + +#define FWDT_CONTROL_BASE_ADDR(x) ((x)+0x1000) + +#define FWDT0_IRQ_NUM 50 +#define FWDT1_IRQ_NUM 49 + +#define FWDT_CLK_FREQ_HZ 48000000U /* 48MHz */ + +/****** GIC v3 *****/ +#define FT_GICV3_INSTANCES_NUM 1U +#define GICV3_REG_LENGTH 0x00009000U + +/* + * The maximum priority value that can be used in the GIC. + */ +#define GICV3_MAX_INTR_PRIO_VAL 240U +#define GICV3_INTR_PRIO_MASK 0x000000f0U + +#define ARM_GIC_NR_IRQS 270U +#define ARM_GIC_IRQ_START 0U +#define FGIC_NUM 1U + +#define ARM_GIC_IPI_COUNT 16U /* MPCore IPI count */ +#define SGI_INT_MAX 16U +#define SPI_START_INT_NUM 32U /* SPI start at ID32 */ +#define PPI_START_INT_NUM 16U /* PPI start at ID16 */ +#define GIC_INT_MAX_NUM 1020U /* GIC max interrupts count */ + +#define GICV3_BASE_ADDR 0x22000000U +#define GICV3_ITS_BASE_ADDR (GICV3_BASE_ADDR + 0X40000U) +#define GICV3_DISTRIBUTOR_BASE_ADDR (GICV3_BASE_ADDR + 0) +#define GICV3_RD_BASE_ADDR (GICV3_BASE_ADDR + 0x0C0000U) +#define GICV3_RD_OFFSET (2U << 16) +#define GICV3_RD_SIZE (16U << 16) +#define FT_GICV3_VECTORTABLE_NUM GIC_INT_MAX_NUM + + +/* generic timer */ +/* non-secure physical timer int id */ +#define GENERIC_TIMER_NS_IRQ_NUM 30U + +/* virtual timer int id */ +#define GENERIC_VTIMER_IRQ_NUM 27U + +#if !defined(__ASSEMBLER__) +enum +{ + GENERIC_TIMER_ID0 = 0, /* non-secure physical timer */ + GENERIC_TIMER_ID1 = 1, /* virtual timer */ + + GENERIC_TIMER_NUM +}; +#endif + +#ifdef __cplusplus +} +#endif + +#endif // ! \ No newline at end of file diff --git a/soc/ps2316/src.mk b/soc/ps2316/src.mk new file mode 100644 index 0000000000000000000000000000000000000000..74a0b1ea4a9f1eac216f13fd04090077e7f5deef --- /dev/null +++ b/soc/ps2316/src.mk @@ -0,0 +1,5 @@ + +SOC_CSRCS += \ + fmmu_table.c\ + fcpu_affinity_mask.c + diff --git a/soc/qemu_virt_64/fparameters.h b/soc/qemu_virt_64/fparameters.h index b7790eda21e1e46a23a203dd7de9d314609fc3ae..99092812631393735c02280618d9a250d19ceadb 100644 --- a/soc/qemu_virt_64/fparameters.h +++ b/soc/qemu_virt_64/fparameters.h @@ -39,27 +39,35 @@ extern "C" #define CORE1_AFF 0x1 #define CORE2_AFF 0x2 #define CORE3_AFF 0x3 +#define CORE_AFF_MASK 0xF #define FCORE_NUM 4 /* cache */ #define CACHE_LINE_ADDR_MASK 0x3FUL #define CACHE_LINE 64U - - /* UART */ #define FUART0_ID 0 -#define FUART_NUM 1 +#define FUART1_ID 1 +#define FUART2_ID 2 +#define FUART_NUM 3 #define FUART0_IRQ_NUM 33 #define FUART0_BASE_ADDR 0x09000000 -#define FUART0_CLK_FREQ_HZ 100000000 +#define FUART0_CLK_FREQ_HZ 24000000 + +#define FUART1_IRQ_NUM 42 +#define FUART1_BASE_ADDR 0x09001000 +#define FUART1_CLK_FREQ_HZ 24000000 + +#define FUART2_IRQ_NUM 43 +#define FUART2_BASE_ADDR 0x09002000 +#define FUART2_CLK_FREQ_HZ 24000000 #define FT_STDOUT_BASE_ADDR FUART0_BASE_ADDR #define FT_STDIN_BASE_ADDR FUART0_BASE_ADDR - /* GIC v3 */ #define ARM_GIC_NR_IRQS 1024 #define ARM_GIC_IRQ_START 0 diff --git a/soc/soc.kconfig b/soc/soc.kconfig index e57c56cb4bb4fee1aa6648778542f421189a14b0..969dc1fc9a4234685adcf1334b6a84585dd5e15e 100644 --- a/soc/soc.kconfig +++ b/soc/soc.kconfig @@ -24,6 +24,9 @@ menu "Soc configuration" config TARGET_PD2308 bool "PD2308" + + config TARGET_PS2316 + bool "PS2316" config TARGET_QEMU_VIRT bool "qemu_virt_64" @@ -37,6 +40,7 @@ menu "Soc configuration" default "d2000" if TARGET_D2000 default "phytiumpi" if TARGET_PHYTIUMPI default "pd2308" if TARGET_PD2308 + default "ps2316" if TARGET_PS2316 default "qemu_virt_64" if TARGET_QEMU_VIRT config TARGET_TYPE_NAME @@ -54,24 +58,25 @@ menu "Soc configuration" default 1 if TARGET_E2000S default 8 if TARGET_D2000 || TARGET_PD2308 default 4 if TARGET_QEMU_VIRT + default 16 if TARGET_PS2316 default 0 config F32BIT_MEMORY_ADDRESS hex - default 0x80000000 if TARGET_E2000Q || TARGET_FT2004 || TARGET_E2000D || TARGET_E2000S || TARGET_D2000 || TARGET_PHYTIUMPI || TARGET_PD2308 + default 0x80000000 if TARGET_E2000Q || TARGET_FT2004 || TARGET_E2000D || TARGET_E2000S || TARGET_D2000 || TARGET_PHYTIUMPI || TARGET_PD2308 || TARGET_PS2316 || TARGET_QEMU_VIRT config F32BIT_MEMORY_LENGTH hex - default 0x80000000 if TARGET_E2000Q || TARGET_FT2004 || TARGET_E2000D || TARGET_E2000S || TARGET_D2000 || TARGET_PHYTIUMPI || TARGET_PD2308 + default 0x80000000 if TARGET_E2000Q || TARGET_FT2004 || TARGET_E2000D || TARGET_E2000S || TARGET_D2000 || TARGET_PHYTIUMPI || TARGET_PD2308 || TARGET_PS2316 || TARGET_QEMU_VIRT config F64BIT_MEMORY_ADDRESS hex - default 0x2000000000 if TARGET_E2000Q || TARGET_FT2004 || TARGET_E2000D || TARGET_E2000S || TARGET_D2000 || TARGET_PHYTIUMPI || TARGET_PD2308 + default 0x2000000000 if TARGET_E2000Q || TARGET_FT2004 || TARGET_E2000D || TARGET_E2000S || TARGET_D2000 || TARGET_PHYTIUMPI || TARGET_PD2308 || TARGET_PS2316 || TARGET_QEMU_VIRT config F64BIT_MEMORY_LENGTH hex - default 0x800000000 if TARGET_E2000Q || TARGET_FT2004 || TARGET_E2000D || TARGET_E2000S || TARGET_D2000 || TARGET_PHYTIUMPI || TARGET_PD2308 + default 0x800000000 if TARGET_E2000Q || TARGET_FT2004 || TARGET_E2000D || TARGET_E2000S || TARGET_D2000 || TARGET_PHYTIUMPI || TARGET_PD2308 || TARGET_PS2316 || TARGET_QEMU_VIRT # an invisible config to define common code of E2000 Q/D/S diff --git a/third-party/letter-shell-3.1/port/cmd/cmd_md.c b/third-party/letter-shell-3.1/port/cmd/cmd_md.c index fd5da7a085a66efd95881d30e7fd05533f9642d4..71deae7abb9e76efd613dc27e6010ee987f82da1 100644 --- a/third-party/letter-shell-3.1/port/cmd/cmd_md.c +++ b/third-party/letter-shell-3.1/port/cmd/cmd_md.c @@ -25,6 +25,7 @@ #include #include #include +#include #include "../src/shell.h" #include "fio.h" #include "ftypes.h" diff --git a/third-party/letter-shell-3.1/src/shell.c b/third-party/letter-shell-3.1/src/shell.c index f262069d5446fb645612c22b774ebe94cac3adea..c2ea02882493f6f640f613d04c33c0940a1b0748 100644 --- a/third-party/letter-shell-3.1/src/shell.c +++ b/third-party/letter-shell-3.1/src/shell.c @@ -98,6 +98,8 @@ enum #define SHELL_PLATFORM "PHYTIUMPI " #elif defined(CONFIG_TARGET_PD2308) #define SHELL_PLATFORM "PD2308 " +#elif defined(CONFIG_TARGET_PS2316) +#define SHELL_PLATFORM "PS2316 " #else #define SHELL_PLATFORM "Unkonwn " #endif diff --git a/third-party/lwip-2.1.2/include.mk b/third-party/lwip-2.1.2/include.mk index 5f3c6792ac821f1d82a19463e41a392c89a3ad1f..936c4e590d90ff0962805b04b0c12f53a6e592ed 100644 --- a/third-party/lwip-2.1.2/include.mk +++ b/third-party/lwip-2.1.2/include.mk @@ -37,6 +37,10 @@ ifdef CONFIG_USE_BAREMETAL ifdef CONFIG_LWIP_FXMAC BUILD_INC_PATH_DIR += $(SDK_DIR)/third-party/lwip-2.1.2/ports/fxmac endif + + ifdef CONFIG_LWIP_E1000E + BUILD_INC_PATH_DIR += $(SDK_DIR)/third-party/lwip-2.1.2/ports/e1000e + endif else diff --git a/third-party/lwip-2.1.2/ports/Kconfig b/third-party/lwip-2.1.2/ports/Kconfig index a1512a1084882e0a5f1eaf884cf60aa0c5e536a8..2fd7648abab0252cb752827ec0cdec24ffb293bc 100644 --- a/third-party/lwip-2.1.2/ports/Kconfig +++ b/third-party/lwip-2.1.2/ports/Kconfig @@ -1,21 +1,18 @@ menu "LWIP Port Configuration" - choice LWIP_GMAC_CTRL_TYPE - prompt "Gmac Drivers" - default LWIP_FGMAC - help - Select Gmac Driver for Lwip + config LWIP_FXMAC + select FREERTOS_USE_XMAC + bool "FXMAC" + + config LWIP_FGMAC + select FREERTOS_USE_GMAC + bool "FGMAC" - config LWIP_FXMAC - select FREERTOS_USE_XMAC - bool "FXMAC" - - config LWIP_FGMAC - select FREERTOS_USE_GMAC - bool "FGMAC" + config LWIP_E1000E + select FREERTOS_USE_E1000E + bool "E1000E" - config LWIP_FSDIF - bool "FSDIF" + config LWIP_FSDIF + bool "FSDIF" - endchoice # LWIP_GMAC_CTRL_TYPE endmenu diff --git a/third-party/lwip-2.1.2/ports/e1000e/e1000e_ethernetif.c b/third-party/lwip-2.1.2/ports/e1000e/e1000e_ethernetif.c new file mode 100644 index 0000000000000000000000000000000000000000..96d087fd0dd3eaabe839fcc834d14e88fc469537 --- /dev/null +++ b/third-party/lwip-2.1.2/ports/e1000e/e1000e_ethernetif.c @@ -0,0 +1,426 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: e1000e_ethernetif.c + * Date: 2025-01-06 19:18:46 + * LastEditTime: 2025-01-06 19:18:46 + * Description: This file is the function file of the e1000e adaptation to lwip stack. + * + * Modify History: + * Ver Who Date Changes + * ----- ------ -------- -------------------------------------- + * 1.0 huangjin 2025/01/06 first release + */ + + +#include +#include + +#include "lwipopts.h" +#include "lwip/opt.h" +#include "lwip/def.h" +#include "lwip/mem.h" +#include "lwip/pbuf.h" +#include "lwip/sys.h" +#include "lwip/stats.h" +#include "lwip/igmp.h" +#include "netif/etharp.h" +#include "lwip_port.h" +#include "e1000e_lwip_port.h" +#include "fdebug.h" + + +#define FE1000E_LWIP_NET_DEBUG_TAG "E1000E_LWIP_NET" +#define FE1000E_LWIP_NET_PRINT_E(format, ...) FT_DEBUG_PRINT_E(FE1000E_LWIP_NET_DEBUG_TAG, format, ##__VA_ARGS__) +#define FE1000E_LWIP_NET_PRINT_I(format, ...) FT_DEBUG_PRINT_I(FE1000E_LWIP_NET_DEBUG_TAG, format, ##__VA_ARGS__) +#define FE1000E_LWIP_NET_PRINT_D(format, ...) FT_DEBUG_PRINT_D(FE1000E_LWIP_NET_DEBUG_TAG, format, ##__VA_ARGS__) +#define FE1000E_LWIP_NET_PRINT_W(format, ...) FT_DEBUG_PRINT_W(FE1000E_LWIP_NET_DEBUG_TAG, format, ##__VA_ARGS__) + + +#if LWIP_IPV6 +#include "lwip/ethip6.h" +#endif + +static void e1000e_ethernetif_input(struct netif *netif); + +enum lwip_port_link_status e1000e_ethernetif_link_detect(struct netif *netif) +{ + struct LwipPort *lwip_port = (struct LwipPort *)(netif->state); + FE1000ELwipPort *instance_p; + if(lwip_port == NULL) + { + return ETH_LINK_UNDEFINED; + } + instance_p = (FE1000ELwipPort *)lwip_port->state; + if (instance_p->instance.is_ready != FT_COMPONENT_IS_READY) + { + return ETH_LINK_UNDEFINED; + } + + return ETH_LINK_UP; /* 暂时 */ + // return FE1000EPhyStatus(lwip_port); +} + +void e1000e_ethernetif_debug(struct netif *netif) +{ + struct LwipPort *lwip_port = (struct LwipPort *)(netif->state); + FE1000ELwipPort *instance_p; + if(lwip_port == NULL) + { + FE1000E_LWIP_NET_PRINT_E("lwip_port is an NULL pointer"); + return; + } + instance_p = (FE1000ELwipPort *)lwip_port->state; + if (instance_p->instance.is_ready != FT_COMPONENT_IS_READY) + { + FE1000E_LWIP_NET_PRINT_E("The drive is not ready"); + return ; + } + + FE1000EDebugPrint(&instance_p->instance); +} + +static void e1000e_ethernetif_start(struct netif *netif) +{ + struct LwipPort *lwip_port = (struct LwipPort *)(netif->state); + if(lwip_port == NULL) + { + FE1000E_LWIP_NET_PRINT_E("%s,lwip_port is NULL\n", __FUNCTION__); + return; + } + FE1000ELwipPort *instance_p = (FE1000ELwipPort *)(lwip_port->state); + FE1000ELwipPortStart(instance_p); +} + +static void e1000e_ethernetif_deinit(struct netif *netif) +{ + struct LwipPort *lwip_port = (struct LwipPort *)(netif->state); + if(lwip_port == NULL) + { + FE1000E_LWIP_NET_PRINT_E("%s,lwip_port is NULL\n", __FUNCTION__); + return; + } + + FE1000ELwipPort *instance_p = (FE1000ELwipPort *)(lwip_port->state); + + FE1000ELwipPortStop(instance_p); +} + +/* + * low_level_output(): + * + * Should do the actual transmission of the packet. The packet is + * contained in the pbuf that is passed to the function. This pbuf + * might be chained. + * + */ +static err_t low_level_output(struct netif *netif, struct pbuf *p) +{ + FError ret ; + FE1000ELwipPort *instance_p = NULL; + FASSERT(netif != NULL); + FASSERT(netif->state != NULL); + struct LwipPort *lwip_port = (struct LwipPort *)(netif->state); + FASSERT(lwip_port != NULL); + + instance_p = (FE1000ELwipPort *)(lwip_port->state) ; + +#if ETH_PAD_SIZE + pbuf_header(p, -ETH_PAD_SIZE); /* drop the padding word */ +#endif + + ret = FE1000ELwipPortTx(instance_p, p); + +#if ETH_PAD_SIZE + pbuf_header(p, ETH_PAD_SIZE); /* reclaim the padding word */ +#endif + + if (ret != FT_SUCCESS) + { + return ERR_MEM; + } + else + { + FE1000E_LWIP_NET_PRINT_D("FE1000ELwipPortTx is ok!!!"); + } + + + return ERR_OK; +} + +/* + * low_level_input(): + * + * Should allocate a pbuf and transfer the bytes of the incoming + * packet from the interface into the pbuf. + * + */ +static struct pbuf *low_level_input(struct netif *netif) +{ + FE1000ELwipPort *instance_p = NULL; + FASSERT(netif != NULL); + FASSERT(netif->state != NULL); + struct LwipPort *lwip_port = (struct LwipPort *)(netif->state); + FASSERT(lwip_port != NULL); + instance_p = (FE1000ELwipPort *)(lwip_port->state) ; + + return FE1000ELwipPortRx(instance_p); +} + + +static void e1000e_ethernetif_input(struct netif *netif) +{ + struct eth_hdr *ethhdr; + struct pbuf *p; + struct LwipPort *e1000e_netif_p = (struct LwipPort *)(netif->state); + FASSERT(e1000e_netif_p != NULL); + FE1000ELwipPort *instance_p = NULL; + instance_p = (FE1000ELwipPort *)(e1000e_netif_p->state) ; + + + if(FE1000ELwipPortRxComplete(instance_p)) + { + while (1) + { + /* move received packet into a new pbuf */ + p = low_level_input(netif); + + /* no packet could be read, silently ignore this */ + if (p == NULL) + { + return; + } + + /* points to packet payload, which starts with an Ethernet header */ + ethhdr = p->payload; + + #if LINK_STATS + lwip_stats.link.recv++; + #endif /* LINK_STATS */ + switch (htons(ethhdr->type)) + { + /* IP or ARP packet? */ + case ETHTYPE_IP: + case ETHTYPE_ARP: + #if LWIP_IPV6 + /*IPv6 Packet?*/ + case ETHTYPE_IPV6: + #endif + #if PPPOE_SUPPORT + /* PPPoE packet? */ + case ETHTYPE_PPPOEDISC: + case ETHTYPE_PPPOE: + #endif /* PPPOE_SUPPORT */ + + /* 处理数据包,调用网络接口的input函数将数据包交给lwip协议栈内核 */ + if (netif->input(p, netif) != ERR_OK) + { + LWIP_DEBUGF(NETIF_DEBUG, ("e1000e_ethernetif_input: IP input error\r\n")); + pbuf_free(p); + p = NULL; + } + break; + + default: + LWIP_DEBUGF(NETIF_DEBUG, ("e1000e_ethernetif_input: default\r\n")); + pbuf_free(p); + p = NULL; + break; + } + } + } + + return; +} + +static void UserConfigConvert(FE1000ELwipPort * instance_p, UserConfig * config_p) +{ + FASSERT(config_p != NULL); + FASSERT_MSG(config_p->autonegotiation <= 1, "config_p->autonegotiation %d is over 1", config_p->autonegotiation); + FASSERT_MSG(config_p->phy_speed <= FE1000E_PHY_SPEED_10G, "config_p->phy_speed %d is over 1000", config_p->phy_speed); + FASSERT_MSG(config_p->phy_duplex <= FE1000E_PHY_FULL_DUPLEX, "config_p->phy_duplex %d is over FE1000E_PHY_FULL_DUPLEX", config_p->phy_duplex); + + FE1000ELwipPortConfig mac_lwip_port_config; + + switch (config_p->mii_interface) + { + case LWIP_PORT_INTERFACE_RGMII: + mac_lwip_port_config.interface = FE1000E_LWIP_PORT_INTERFACE_RGMII; + break; + case LWIP_PORT_INTERFACE_SGMII: + mac_lwip_port_config.interface = FE1000E_LWIP_PORT_INTERFACE_SGMII; + break; + case LWIP_PORT_INTERFACE_USX: + mac_lwip_port_config.interface = FE1000E_LWIP_PORT_INTERFACE_USXGMII; + break; + default: + mac_lwip_port_config.interface = FE1000E_LWIP_PORT_INTERFACE_RGMII; + break; + } + + mac_lwip_port_config.instance_id = config_p->mac_instance; + mac_lwip_port_config.autonegotiation = config_p->autonegotiation; /* 1 is autonegotiation ,0 is manually set */ + mac_lwip_port_config.phy_speed = config_p->phy_speed; /* FE1000E_PHY_SPEED_XXX */ + mac_lwip_port_config.phy_duplex = config_p->phy_duplex; /* FE1000E_PHY_XXX_DUPLEX */ + + instance_p->e1000e_port_config= mac_lwip_port_config; + instance_p->feature = config_p->capability; +} + +static err_t low_level_init(struct netif *netif) +{ + struct LwipPort *lwip_port; + FE1000ELwipPort *instance_p; + FError ret; + UserConfig * user_config; + + FASSERT(netif != NULL); + FASSERT(netif->state != NULL); + /* step 1:malloc lwip port object */ + lwip_port = mem_malloc(sizeof *lwip_port); + if (lwip_port == NULL) + { + LWIP_DEBUGF(NETIF_DEBUG, ("lwip_port init: out of memory\r\n")); + return ERR_MEM; + } + + /* obtain config of this emac */ + FE1000E_LWIP_NET_PRINT_I("netif->state is %p \r\n", netif->state); + + user_config = (UserConfig *)netif->state; + if(user_config == NULL) + { + FE1000E_LWIP_NET_PRINT_E("UserConfig is NULL"); + mem_free(lwip_port); + return ERR_MEM; + } + + instance_p = FE1000ELwipPortGetInstancePointer(user_config->mac_instance); + if(instance_p == NULL) + { + FE1000E_LWIP_NET_PRINT_E("FE1000ELwipPortGetInstancePointer is error\r\n"); + mem_free(lwip_port); + return ERR_ARG; + } + + UserConfigConvert(instance_p, user_config); + + for (int i = 0; i < FE1000E_MAX_HARDWARE_ADDRESS_LENGTH; i++) + { + instance_p->hwaddr[i] = netif->hwaddr[i]; + } + + ret = FE1000ELwipPortInit(instance_p); + if (ret != FT_SUCCESS) + { + FE1000E_LWIP_NET_PRINT_E("FE1000ELwipPortInit is error\r\n"); + mem_free(lwip_port); + return ERR_ARG; + } + FE1000E_LWIP_NET_PRINT_D("FE1000ELwipPortInit is success\r\n"); + + lwip_port->state = (void *)instance_p; + netif->state = (void *)lwip_port; /* update state */ + instance_p->stack_pointer = lwip_port; + + /* maximum transfer unit */ + if(instance_p->feature & FE1000E_LWIP_PORT_CONFIG_JUMBO) + { + netif->mtu = FE1000E_MTU_JUMBO; + } + else + { + netif->mtu = FE1000E_MTU; + } + + netif->flags = NETIF_FLAG_BROADCAST | NETIF_FLAG_ETHARP | NETIF_FLAG_LINK_UP; + + #if LWIP_IPV6 && LWIP_IPV6_MLD + netif->flags |= NETIF_FLAG_MLD6; + #endif + + #if LWIP_IGMP + netif->flags |= NETIF_FLAG_IGMP; + #endif + + lwip_port->ops.eth_detect = e1000e_ethernetif_link_detect; + lwip_port->ops.eth_input = e1000e_ethernetif_input; + lwip_port->ops.eth_deinit = e1000e_ethernetif_deinit; + lwip_port->ops.eth_start = e1000e_ethernetif_start; + lwip_port->ops.eth_debug = e1000e_ethernetif_debug; + FE1000E_LWIP_NET_PRINT_I("ready to leave netif \r\n"); + return ERR_OK; +} + +#if !LWIP_ARP +/** + * This function has to be completed by user in case of ARP OFF. + * + * @param netif the lwip network interface structure for this ethernetif + * @return ERR_OK if ... + */ +static err_t low_level_output_arp_off(struct netif *netif, struct pbuf *q, const ip4_addr_t *ipaddr) +{ + err_t errval; + errval = ERR_OK; + + + return errval; + +} +#endif /* LWIP_ARP */ + +/* + * ethernetif_e1000e_init(): + * + * Should be called at the beginning of the program to set up the + * network interface. It calls the function low_level_init() to do the + * actual setup of the hardware. + * + */ + +err_t ethernetif_e1000e_init(struct netif *netif) +{ + LWIP_DEBUGF(NETIF_DEBUG, ("*******start init e1000e eth\n")); + +#if LWIP_NETIF_HOSTNAME + /* Initialize interface hostname */ + netif->hostname = "lwip"; +#endif /* LWIP_NETIF_HOSTNAME */ + +#if LWIP_IPV4 +#if LWIP_ARP || LWIP_ETHERNET +#if LWIP_ARP + netif->output = etharp_output; +#else + /* The user should write ist own code in low_level_output_arp_off function */ + netif->output = low_level_output_arp_off; +#endif /* LWIP_ARP */ +#endif /* LWIP_ARP || LWIP_ETHERNET */ + +#if LWIP_IGMP + printf("netif_set_igmp_mac_filter !!!!\r\n"); + netif_set_igmp_mac_filter(netif, xmac_filter_update); +#endif + +#endif /* LWIP_IPV4 */ + + netif->linkoutput = low_level_output; +#if LWIP_IPV6 + netif->output_ip6 = ethip6_output; +#endif + + low_level_init(netif); + + return ERR_OK; +} diff --git a/third-party/lwip-2.1.2/ports/e1000e/e1000e_lwip_port.c b/third-party/lwip-2.1.2/ports/e1000e/e1000e_lwip_port.c new file mode 100644 index 0000000000000000000000000000000000000000..4430e1511cc314bb9cc0a83c986ed6e4ba6b6415 --- /dev/null +++ b/third-party/lwip-2.1.2/ports/e1000e/e1000e_lwip_port.c @@ -0,0 +1,369 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: e1000e_lwip_port.c + * Date: 2025-01-06 14:59:22 + * LastEditTime: 2025-01-06 14:59:22 + * Description: This file is e1000e portable code for lwip port input,output,status check. + * + * Modify History: + * Ver Who Date Changes + * ----- ------ -------- -------------------------------------- + * 1.0 huangjin 2025/01/06 first release + */ +#include "fparameters.h" +#include "fassert.h" +#include "e1000e_lwip_port.h" +#include "e1000e.h" +#include "e1000e_hw.h" +#include "fcache.h" +#include "lwip_port.h" +#include "fcpu_info.h" +#include "sys_arch.h" +#include "faarch.h" +#include "finterrupt.h" +#include "fdebug.h" +#include "../include/lwip/sys.h" + +#define FE1000E_LWIP_PORT_E1000E_DEBUG_TAG "FE1000E_LWIP_PORT_E1000E" +#define FE1000E_LWIP_PORT_E1000E_PRINT_E(format, ...) FT_DEBUG_PRINT_E(FE1000E_LWIP_PORT_E1000E_DEBUG_TAG, format, ##__VA_ARGS__) +#define FE1000E_LWIP_PORT_E1000E_PRINT_I(format, ...) FT_DEBUG_PRINT_I(FE1000E_LWIP_PORT_E1000E_DEBUG_TAG, format, ##__VA_ARGS__) +#define FE1000E_LWIP_PORT_E1000E_PRINT_D(format, ...) FT_DEBUG_PRINT_D(FE1000E_LWIP_PORT_E1000E_DEBUG_TAG, format, ##__VA_ARGS__) +#define FE1000E_LWIP_PORT_E1000E_PRINT_W(format, ...) FT_DEBUG_PRINT_W(FE1000E_LWIP_PORT_E1000E_DEBUG_TAG, format, ##__VA_ARGS__) + +static FE1000ELwipPort fe1000e_lwip_port_instance[FE1000E_NUM] = +{ + [FE1000E0_ID] = {{{0}}}, +}; + + +/* queue */ +void FE1000EQueueInit(PqQueue *q) +{ + FASSERT(q != NULL); + q->head = q->tail = q->len = 0; +} + +int FE1000EPqEnqueue(PqQueue *q, void *p) +{ + if (q->len == PQ_QUEUE_SIZE) + return -1; + + q->data[q->head] = (uintptr)p; + q->head = (q->head + 1) % PQ_QUEUE_SIZE; + q->len++; + + return 0; +} + +void *FE1000EPqDequeue(PqQueue *q) +{ + int ptail; + + if (q->len == 0) + return NULL; + + ptail = q->tail; + q->tail = (q->tail + 1) % PQ_QUEUE_SIZE; + q->len--; + + return (void *)q->data[ptail]; +} + +int FE1000EPqQlength(PqQueue *q) +{ + return q->len; +} + +int FE1000ELwipPortRxComplete(FE1000ELwipPort *instance_p) +{ + FE1000ECtrl *e1000e_p = &instance_p->instance; + u32 temp = 0; + u32 rx_idx = e1000e_p->rx_ring.desc_idx; + + SYS_ARCH_DECL_PROTECT(lev); + SYS_ARCH_PROTECT(lev); + + /* 判断是否成功接收 */ + if (e1000e_p->rx[rx_idx].sta & RDESC_STA_DD) + { + temp = 1; + } + else + { + temp = 0; + } + + + SYS_ARCH_UNPROTECT(lev); + return temp; +} + +static FError FE1000ELwipPortConfigConvert(FE1000ELwipPort *instance_p, FE1000EConfig* e1000e_config_p) +{ + FE1000EConfig *mac_config_p; + FE1000EPhyInterface interface = FE1000E_PHY_INTERFACE_MODE_SGMII; + + mac_config_p = FE1000ELookupConfig(instance_p->e1000e_port_config.instance_id); + if (mac_config_p == NULL) + { + FE1000E_LWIP_PORT_E1000E_PRINT_E("FE1000ELookupConfig is error , instance_id is %d", instance_p->e1000e_port_config.instance_id); + return FREERTOS_E1000E_INIT_ERROR; + } + + memcpy(e1000e_config_p, mac_config_p, sizeof (FE1000EConfig)); + + switch (instance_p->e1000e_port_config.interface) + { + case FE1000E_LWIP_PORT_INTERFACE_SGMII: + interface = FE1000E_PHY_INTERFACE_MODE_SGMII; + FE1000E_LWIP_PORT_E1000E_PRINT_I("SGMII select"); + break; + case FE1000E_LWIP_PORT_INTERFACE_RMII: + interface = FE1000E_PHY_INTERFACE_MODE_RMII; + FE1000E_LWIP_PORT_E1000E_PRINT_I("RMII select"); + break; + case FE1000E_LWIP_PORT_INTERFACE_RGMII: + FE1000E_LWIP_PORT_E1000E_PRINT_I("RGMII select"); + interface = FE1000E_PHY_INTERFACE_MODE_RGMII; + break; + case FE1000E_LWIP_PORT_INTERFACE_USXGMII: + FE1000E_LWIP_PORT_E1000E_PRINT_I("USXGMII select"); + instance_p->e1000e_port_config.phy_speed = FE1000E_PHY_SPEED_10G ; + interface = FE1000E_PHY_INTERFACE_MODE_USXGMII; + break; + default: + FE1000E_LWIP_PORT_E1000E_PRINT_E("update interface is error , interface is %d", instance_p->e1000e_port_config.instance_id); + return FREERTOS_E1000E_INIT_ERROR; + } + e1000e_config_p->interface = interface; + + if (instance_p->e1000e_port_config.autonegotiation) + { + e1000e_config_p->auto_neg = 1; + } + else + { + e1000e_config_p->auto_neg = 0; + } + + switch (instance_p->e1000e_port_config.phy_speed) + { + case FE1000E_PHY_SPEED_10M: + e1000e_config_p->speed = FE1000E_SPEED_10; + break; + case FE1000E_PHY_SPEED_100M: + e1000e_config_p->speed = FE1000E_SPEED_100; + break; + case FE1000E_PHY_SPEED_1000M: + e1000e_config_p->speed = FE1000E_SPEED_1000; + FE1000E_LWIP_PORT_E1000E_PRINT_I("select FE1000E_PHY_SPEED_1000M"); + break; + case FE1000E_PHY_SPEED_10G: + FE1000E_LWIP_PORT_E1000E_PRINT_I("select FE1000E_PHY_SPEED_10G"); + e1000e_config_p->speed = FE1000E_SPEED_10000; + break; + default: + FE1000E_LWIP_PORT_E1000E_PRINT_E("setting speed is not valid , speed is %d", instance_p->e1000e_port_config.phy_speed); + return FREERTOS_E1000E_INIT_ERROR; + } + + switch (instance_p->e1000e_port_config.phy_duplex) + { + case FE1000E_PHY_HALF_DUPLEX: + e1000e_config_p->duplex = 0; + FE1000E_LWIP_PORT_E1000E_PRINT_I("select Half Duplex"); + break; + case FE1000E_PHY_FULL_DUPLEX: + e1000e_config_p->duplex = 1; + FE1000E_LWIP_PORT_E1000E_PRINT_I("select Full Duplex"); + break; + } + + return FT_SUCCESS; +} + +FError FE1000ELwipPortInit(FE1000ELwipPort *instance_p) +{ + FE1000EConfig mac_config; + FE1000ECtrl *e1000e_p; + FError status; + FASSERT(instance_p != NULL); + FASSERT(instance_p->e1000e_port_config.instance_id < FE1000E_NUM); + + e1000e_p = &instance_p->instance; + FE1000E_LWIP_PORT_E1000E_PRINT_I("instance_id IS %d \r\n", instance_p->e1000e_port_config.instance_id); + + + status = FE1000ELwipPortConfigConvert(instance_p, &mac_config); + if (status != FT_SUCCESS) + { + FE1000E_LWIP_PORT_E1000E_PRINT_E("In %s: FE1000ELwipPortControl Convert to FE1000EConfig Failed....\r\n", __func__); + } + + status = FE1000ECfgInitialize(e1000e_p, &mac_config); + if (status != FT_SUCCESS) + { + FE1000E_LWIP_PORT_E1000E_PRINT_E("In %s:E1000E Configuration Failed....\r\n", __func__); + } + + /* Initialize Rx Description list : ring Mode */ + status = FE1000ESetupRxDescRing(e1000e_p); + if (FT_SUCCESS != status) + { + FE1000E_LWIP_PORT_E1000E_PRINT_E("e1000e setup rx return err code %d\r\n", status); + FASSERT(FT_SUCCESS == status); + } + + /* Initialize Tx Description list : ring Mode */ + status = FE1000ESetupTxDescRing(e1000e_p); + if (FT_SUCCESS != status) + { + FE1000E_LWIP_PORT_E1000E_PRINT_E("e1000e setup tx return err code %d\r\n", status); + FASSERT(FT_SUCCESS == status); + } + + /* 打印寄存器的值 */ + FE1000EDebugPrint(e1000e_p); + + return FT_SUCCESS; +} + + +void *FE1000ELwipPortRx(FE1000ELwipPort *instance_p) +{ + struct pbuf *p = NULL; + u16 length = 0; + u8 *buffer; + FE1000ECtrl *e1000e_p = &instance_p->instance; + u32 rx_idx = e1000e_p->rx_ring.desc_idx; + + /* get received frame */ + if (FE1000ERecvFrame(e1000e_p) != FT_SUCCESS) + { + return NULL; + } + else + { + FE1000E_LWIP_PORT_E1000E_PRINT_D("FE1000ERecvFrame is ok!"); + } + + length = e1000e_p->rx[rx_idx].len; + buffer = (u8 *)(intptr)(e1000e_p->rx[rx_idx].addr); + +#if ETH_PAD_SIZE + length += ETH_PAD_SIZE; /* allow room for Ethernet padding */ +#endif + + if (length > 0) + { + p = pbuf_alloc(PBUF_RAW, length, PBUF_RAM); + } + +#ifdef RAW_DATA_PRINT + dump_hex(Buffer, (u32)length); +#endif + if (p != NULL) + { + #if ETH_PAD_SIZE + pbuf_header(p, -ETH_PAD_SIZE); /* drop the padding word */ + #endif + + memcpy((u8 *)((u8 *)p->payload), (u8 *)buffer, length); + + #if ETH_PAD_SIZE + pbuf_header(p, ETH_PAD_SIZE); /* reclaim the padding word */ + #endif + } + else + { + FE1000E_LWIP_PORT_E1000E_PRINT_E("error: pbuf alloc failed the alloc length is %d",length); + } + + return p; +} + +FError FE1000ELwipPortTx(FE1000ELwipPort *instance_p, void *tx_buf) +{ + FASSERT(instance_p != NULL); + FASSERT(tx_buf != NULL); + err_t errval = ERR_OK; + struct pbuf *q; + struct pbuf *p = tx_buf; + FError ret; + u32 bytes_left_to_copy = 0; + FE1000ECtrl *e1000e_p = &instance_p->instance; + +#if ETH_PAD_SIZE + pbuf_header(p, -ETH_PAD_SIZE); /* drop the padding word */ +#endif + + for (q = p; q != NULL; q = q->next) + { + /* Get bytes in current lwIP buffer */ + bytes_left_to_copy = q->len; + FE1000E_LWIP_PORT_E1000E_PRINT_D("bytes_left_to_copy = %d", bytes_left_to_copy); + + /* Copy the remaining bytes */ + memcpy(&e1000e_p->txb[e1000e_p->tx_ring.desc_idx], q->payload, bytes_left_to_copy); + FE1000E_LWIP_PORT_E1000E_PRINT_D("memcpy is ok!!!"); + } + +#if ETH_PAD_SIZE + pbuf_header(p, ETH_PAD_SIZE); /* reclaim the padding word */ +#endif + + ret = FE1000ESendFrame(e1000e_p, bytes_left_to_copy); + + if (ret != FE1000E_SUCCESS) + { + errval = ERR_USE; + FE1000E_LWIP_PORT_E1000E_PRINT_I("error errval = ERR_USE; FE1000ESendFrame"); + goto error; + } + else + { + FE1000E_LWIP_PORT_E1000E_PRINT_I("FE1000ESendFrame is ok!!!"); + } + + +error: + return errval; +} + +FE1000ELwipPort * FE1000ELwipPortGetInstancePointer(u32 FE1000ELwipPortInstanceID) +{ + FASSERT(FE1000ELwipPortInstanceID < FE1000E_NUM); + + FE1000ELwipPort *instance_p; + instance_p = &fe1000e_lwip_port_instance[FE1000ELwipPortInstanceID]; + return instance_p; +} + + +void FE1000ELwipPortStop(FE1000ELwipPort *instance_p) +{ + FASSERT(instance_p != NULL); + + /* close mac controler */ + FE1000EStop(&instance_p->instance); +} + +void FE1000ELwipPortStart(FE1000ELwipPort *instance_p) +{ + FASSERT(instance_p != NULL); + + /* start mac */ + FE1000EStart(&instance_p->instance); +} + diff --git a/third-party/lwip-2.1.2/ports/e1000e/e1000e_lwip_port.h b/third-party/lwip-2.1.2/ports/e1000e/e1000e_lwip_port.h new file mode 100644 index 0000000000000000000000000000000000000000..0686a195f10ecbe508be52e1567f4f508fd15242 --- /dev/null +++ b/third-party/lwip-2.1.2/ports/e1000e/e1000e_lwip_port.h @@ -0,0 +1,149 @@ +/* + * Copyright : (C) 2022 Phytium Information Technology, Inc. + * All Rights Reserved. + * + * This program is OPEN SOURCE software: you can redistribute it and/or modify it + * under the terms of the Phytium Public License as published by the Phytium Technology Co.,Ltd, + * either version 1.0 of the License, or (at your option) any later version. + * + * 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 Phytium Public License for more details. + * + * + * FilePath: e1000e_lwip_port.h + * Date: 2025-01-06 14:59:30 + * LastEditTime: 2025-01-06 14:59:30 + * Description: This file is e1000e portable code for lwip port input,output,status check. + * + * Modify History: + * Ver Who Date Changes + * ----- ------ -------- -------------------------------------- + * 1.0 huangjin 2025/01/06 first release + */ +#ifndef FE1000E_LWIP_PORT_H +#define FE1000E_LWIP_PORT_H + +#include "e1000e.h" +#include "fkernel.h" +#include "ferror_code.h" + +#define FREERTOS_E1000E_INIT_ERROR FT_CODE_ERR(ErrModPort, 0, 0x1) +#define FREERTOS_E1000E_PARAM_ERROR FT_CODE_ERR(ErrModPort, 0, 0x2) +#define FREERTOS_E1000E_NO_VALID_SPACE FT_CODE_ERR(ErrModPort, 0, 0x3) + + +#ifdef __cplusplus +extern "C" { +#endif + +#define FE1000E_RX_BDSPACE_LENGTH 0x20000 /* default set 64KB*/ +#define FE1000E_TX_BDSPACE_LENGTH 0x20000 /* default set 64KB*/ + +#define FE1000E_RX_PBUFS_LENGTH 128 +#define FE1000E_TX_PBUFS_LENGTH 128 + +#define FE1000E_RX_DESCRIPTORS 8 +#define FE1000E_TX_DESCRIPTORS 8 + +#define FE1000E_RX_BUFFER_SIZE 2048 +#define FE1000E_TX_BUFFER_SIZE 2048 + + +#define FE1000E_MAX_HARDWARE_ADDRESS_LENGTH 6 + +/* configuration */ +#define FE1000E_LWIP_PORT_CONFIG_JUMBO BIT(0) +#define FE1000E_LWIP_PORT_CONFIG_MULTICAST_ADDRESS_FILITER BIT(1) /* Allow multicast address filtering */ +#define FE1000E_LWIP_PORT_CONFIG_COPY_ALL_FRAMES BIT(2) /* enable copy all frames */ +#define FE1000E_LWIP_PORT_CONFIG_CLOSE_FCS_CHECK BIT(3) /* close fcs check */ +#define FE1000E_LWIP_PORT_CONFIG_UNICAST_ADDRESS_FILITER BIT(5) /* Allow unicast address filtering */ + +/* Phy */ +#define FE1000E_PHY_SPEED_10M 10 +#define FE1000E_PHY_SPEED_100M 100 +#define FE1000E_PHY_SPEED_1000M 1000 +#define FE1000E_PHY_SPEED_10G 10000 + + +#define FE1000E_PHY_HALF_DUPLEX 0 +#define FE1000E_PHY_FULL_DUPLEX 1 + +#define FE1000E_RECV_MAX_COUNT 10 + +/* Byte alignment of BDs */ +#define BD_ALIGNMENT (FE1000E_DMABD_MINIMUM_ALIGNMENT*2) + +/* frame queue */ +#define PQ_QUEUE_SIZE 4096 + +typedef struct +{ + uintptr data[PQ_QUEUE_SIZE]; + int head, tail, len; +} PqQueue; + +typedef enum +{ + FE1000E_LWIP_PORT_INTERFACE_SGMII = 0 , + FE1000E_LWIP_PORT_INTERFACE_RMII , + FE1000E_LWIP_PORT_INTERFACE_RGMII , + FE1000E_LWIP_PORT_INTERFACE_USXGMII , + FE1000E_LWIP_PORT_INTERFACE_LENGTH +}FE1000ELwipPortInterface; + +typedef struct +{ + volatile struct FE1000ETxDesc tx[FE1000E_TX_DESCRIPTORS] __aligned(16); + volatile struct FE1000ERxDesc rx[FE1000E_RX_DESCRIPTORS] __aligned(16); + + uint8_t txb[FE1000E_TX_DESCRIPTORS * FE1000E_TX_BUFFER_SIZE]; + uint8_t rxb[FE1000E_RX_DESCRIPTORS * FE1000E_RX_BUFFER_SIZE]; +} FE1000ENetifBuffer; + +typedef struct +{ + u32 instance_id; + FE1000ELwipPortInterface interface; + u32 autonegotiation; /* 1 is autonegotiation ,0 is manually set */ + u32 phy_speed; /* FE1000E_PHY_SPEED_XXX */ + u32 phy_duplex; /* FE1000E_PHY_XXX_DUPLEX */ +} FE1000ELwipPortConfig; + +typedef struct +{ + FE1000ECtrl instance; + FE1000ELwipPortConfig e1000e_port_config; + + FE1000ENetifBuffer buffer; + + /* queue to store overflow packets */ + PqQueue recv_q; + PqQueue send_q; + + /* configuration */ + u32 feature; + + struct LwipPort *stack_pointer; /* Docking data stack data structure */ + u8 hwaddr[FE1000E_MAX_HARDWARE_ADDRESS_LENGTH]; + u32 recv_flg; /* Indicating how many receive interrupts have been triggered */ + volatile u8 ri_is_call; /* Indicates that frame reception is complete, and the receive interrupt function is called */ +}FE1000ELwipPort; + +FE1000ELwipPort * FE1000ELwipPortGetInstancePointer(u32 FE1000ELwipPortInstanceID); +FError FE1000ELwipPortInit(FE1000ELwipPort *instance_p); +void *FE1000ELwipPortRx(FE1000ELwipPort *instance_p); +FError FE1000ELwipPortTx(FE1000ELwipPort *instance_p,void *tx_buf); +void FE1000ELwipPortStop(FE1000ELwipPort *instance_p); +void FE1000ELwipPortStart(FE1000ELwipPort *instance_p); +void ResetDma(FE1000ELwipPort *instance_p); +enum lwip_port_link_status FE1000EPhyReconnect(struct LwipPort *xmac_netif_p); +enum lwip_port_link_status FE1000EPhyStatus(struct LwipPort *e1000e_netif_p); +void FE1000ERecvHandler(void *arg); + +int FE1000ELwipPortRxComplete(FE1000ELwipPort *instance_p); +#ifdef __cplusplus +} +#endif + +#endif // ! diff --git a/third-party/lwip-2.1.2/ports/lwip_port.c b/third-party/lwip-2.1.2/ports/lwip_port.c index bdd61bb89944a628be9b7da7d80f5573ee6268cb..f92c3ebd3d8c7457e60c7324e5b1de5cda8f4bfa 100644 --- a/third-party/lwip-2.1.2/ports/lwip_port.c +++ b/third-party/lwip-2.1.2/ports/lwip_port.c @@ -13,7 +13,7 @@ * * FilePath: lwip_port.c * Date: 2022-10-25 02:18:08 - * LastEditTime: 2022-10-25 02:18:09 + * LastEditTime: 2025-01-06 02:18:09 * Description: This file is part of lwip port. This file comtains the functions to Initialize,input,stop,dhcp lwip stack. * * Modify History: @@ -21,6 +21,7 @@ * ----- ------ -------- -------------------------------------- * 1.0 huanghe 2022/10/20 first release * 1.1 liuzhihong 2022/11/7 function and variable naming adjustment + * 1.2 huangjin 2025/01/06 add e1000e */ #include @@ -93,6 +94,10 @@ extern err_t ethernetif_xmac_init(struct netif *netif); #define SEMAPHORE_INITIALCOUNT 0 #endif +#if defined(CONFIG_LWIP_E1000E) +extern err_t ethernetif_e1000e_init(struct netif *netif); +#endif + #ifndef SEMAPHORE_MAXCOUNT #define SEMAPHORE_MAXCOUNT 1 #endif @@ -142,6 +147,15 @@ struct netif *LwipPortAdd(struct netif *netif, #else LWIP_PORT_ERROR("LWIP_PORT_TYPE_GMAC is not activated "); return NULL; +#endif + } + else if(user_config->driver_type == LWIP_PORT_TYPE_E1000E) + { +#if defined(CONFIG_LWIP_E1000E) + fun = ethernetif_e1000e_init; +#else + LWIP_PORT_ERROR("LWIP_PORT_TYPE_E1000E is not activated "); + return NULL; #endif } else diff --git a/third-party/lwip-2.1.2/ports/lwip_port.h b/third-party/lwip-2.1.2/ports/lwip_port.h index 956ea9013cf905b7ae5d134e7933977eb7feef1a..2685b330f1b5e98ba0d90ba81063648ee0e025a5 100644 --- a/third-party/lwip-2.1.2/ports/lwip_port.h +++ b/third-party/lwip-2.1.2/ports/lwip_port.h @@ -13,7 +13,7 @@ * * FilePath: lwip_port.h * Date: 2022-10-25 02:18:02 - * LastEditTime: 2022-10-25 02:18:03 + * LastEditTime: 2025-01-06 02:18:03 * Description: This file is part of lwip port. This file comtains the functions to Initialize,input,stop,dhcp lwip stack. * * Modify History: @@ -21,6 +21,7 @@ * ----- ------ -------- -------------------------------------- * 1.0 huanghe 2022/10/20 first release * 1.1 liuzhihong 2022/11/7 function and variable naming adjustment + * 1.2 huangjin 2025/01/06 add e1000e */ #ifndef __LWIP_PORT_H_ @@ -58,6 +59,7 @@ enum lwip_port_link_status { /* driver type */ #define LWIP_PORT_TYPE_XMAC 0 #define LWIP_PORT_TYPE_GMAC 1 +#define LWIP_PORT_TYPE_E1000E 2 /* Mii interface */ #define LWIP_PORT_INTERFACE_RGMII 0 diff --git a/third-party/lwip-2.1.2/src.mk b/third-party/lwip-2.1.2/src.mk index c9c708933ad8578ec09fec7dd0bde4da3e68ee01..6a037378c1a284a112f49bfe8aa7ca8fe85205d3 100644 --- a/third-party/lwip-2.1.2/src.mk +++ b/third-party/lwip-2.1.2/src.mk @@ -44,6 +44,10 @@ ifdef CONFIG_USE_BAREMETAL ifdef CONFIG_LWIP_FXMAC LWIP_FILES += $(wildcard ports/fxmac/*.c) endif + + ifdef CONFIG_LWIP_E1000E + LWIP_FILES += $(wildcard ports/e1000e/*.c) + endif else LWIP_FILES += $(wildcard ports/*.c) endif diff --git a/third-party/openamp/ports/phytium_rproc.c b/third-party/openamp/ports/phytium_rproc.c index 32f8bf5d2290173a2d0756bc15530b671f4e6293..18df47e188144b437ba8d321b93f6d394d0a3a5f 100644 --- a/third-party/openamp/ports/phytium_rproc.c +++ b/third-party/openamp/ports/phytium_rproc.c @@ -185,7 +185,7 @@ PhytiumProcMmap(struct remoteproc *rproc, metal_phys_addr_t *pa, lda = lpa; if (!attribute) - attribute = (MT_NORMAL|MT_P_RW_U_RW); + attribute = (MT_NORMAL|MT_P_RW_U_NA);/* default attribute */ mem = metal_allocate_memory(sizeof(*mem)); if (!mem)