mirror of
https://github.com/xboot/xfel.git
synced 2025-05-09 02:11:06 +08:00
[r528]add r528 support
This commit is contained in:
parent
e9a70a3d9d
commit
630a3f741b
63
chips/r528.c
Normal file
63
chips/r528.c
Normal file
@ -0,0 +1,63 @@
|
||||
#include <fel.h>
|
||||
|
||||
static int chip_detect(struct xfel_ctx_t * ctx, uint32_t id)
|
||||
{
|
||||
if(id == 0x00185900)
|
||||
{
|
||||
/*
|
||||
* Dual-Core ARM Cortex-A7
|
||||
*/
|
||||
if(R32(0x00000000) == 0xea000019)
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int chip_reset(struct xfel_ctx_t * ctx)
|
||||
{
|
||||
W32(0x020500a0 + 0x08, (0x16aa << 16) | (0x1 << 0));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int chip_sid(struct xfel_ctx_t * ctx, char * sid)
|
||||
{
|
||||
uint32_t id[4];
|
||||
|
||||
id[0] = R32(0x03006200 + 0x0);
|
||||
id[1] = R32(0x03006200 + 0x4);
|
||||
id[2] = R32(0x03006200 + 0x8);
|
||||
id[3] = R32(0x03006200 + 0xc);
|
||||
sprintf(sid, "%08x%08x%08x%08x", id[0], id[1], id[2], id[3]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int chip_jtag(struct xfel_ctx_t * ctx)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int chip_ddr(struct xfel_ctx_t * ctx, const char * type)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int chip_spi_init(struct xfel_ctx_t * ctx, uint32_t * swapbuf, uint32_t * swaplen, uint32_t * cmdlen)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int chip_spi_run(struct xfel_ctx_t * ctx, uint8_t * cbuf, uint32_t clen)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct chip_t r528 = {
|
||||
.name = "R528",
|
||||
.detect = chip_detect,
|
||||
.reset = chip_reset,
|
||||
.sid = chip_sid,
|
||||
.jtag = chip_jtag,
|
||||
.ddr = chip_ddr,
|
||||
.spi_init = chip_spi_init,
|
||||
.spi_run = chip_spi_run,
|
||||
};
|
@ -40,8 +40,9 @@ FEL is a low-level subroutine contained in the BootROM on Allwinner devices. It
|
||||
| H5 | Quad-Core ARM Cortex-A53 | 0x00171800 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
|
||||
| H6 | Quad-Core ARM Cortex-A53 @ 1.8GHz | 0x00172800 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
|
||||
| H616 | Quad-Core ARM Cortex-A53 | 0x00182300 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
|
||||
| R328 | Dual-Core Cortex-A7 | 0x00182100 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
|
||||
| R328 | Dual-Core Cortex-A7 | 0x00182100 | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
|
||||
| R329 | Dual-Core Cortex-A53 | 0x00185100 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
|
||||
| R528 | Dual-Core Cortex-A7 | 0x00185900 | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
|
||||
| T507 | Quad-Core ARM Cortex-A53 | 0x00182300 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
|
||||
| V3s | Single-core Cortex-A7 | 0x00168100 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| S3 | Single-core Cortex-A7 | 0x00168100 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
|
@ -40,8 +40,9 @@ FEL 是全志 SOC 中上 BootROM 中包含的低级程序。可以通过它使
|
||||
| H5 | Quad-Core ARM Cortex-A53 | 0x00171800 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
|
||||
| H6 | Quad-Core ARM Cortex-A53 @ 1.8GHz | 0x00172800 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
|
||||
| H616 | Quad-Core ARM Cortex-A53 | 0x00182300 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
|
||||
| R328 | Dual-Core Cortex-A7 | 0x00182100 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
|
||||
| R328 | Dual-Core Cortex-A7 | 0x00182100 | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
|
||||
| R329 | Dual-Core Cortex-A53 | 0x00185100 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
|
||||
| R528 | Dual-Core Cortex-A7 | 0x00185900 | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
|
||||
| T507 | Quad-Core ARM Cortex-A53 | 0x00182300 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
|
||||
| V3s | Single-core Cortex-A7 | 0x00168100 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| S3 | Single-core Cortex-A7 | 0x00168100 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
|
2
fel.c
2
fel.c
@ -18,6 +18,7 @@ extern struct chip_t h6;
|
||||
extern struct chip_t h616;
|
||||
extern struct chip_t r328;
|
||||
extern struct chip_t r329;
|
||||
extern struct chip_t r528;
|
||||
extern struct chip_t t507;
|
||||
extern struct chip_t v3s_s3;
|
||||
extern struct chip_t v536;
|
||||
@ -42,6 +43,7 @@ static struct chip_t * chips[] = {
|
||||
&h616,
|
||||
&r328,
|
||||
&r329,
|
||||
&r528,
|
||||
&t507,
|
||||
&v3s_s3,
|
||||
&v536,
|
||||
|
Loading…
x
Reference in New Issue
Block a user