[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 1/1] tricore: added triboard with tc27x_soc
From: |
Bastian Koppelmann |
Subject: |
Re: [PATCH v3 1/1] tricore: added triboard with tc27x_soc |
Date: |
Wed, 24 Jun 2020 10:26:55 +0200 |
On Mon, Jun 22, 2020 at 03:19:34PM +0200, David Brenken wrote:
> From: Andreas Konopik <andreas.konopik@efs-auto.de>
> +const MemmapEntry tc27x_soc_memmap[] = {
> + [TC27XD_DSPR2] = { 0x50000000, 0x1E000 },
> + [TC27XD_DCACHE2] = { 0x5001E000, 0x2000 },
> + [TC27XD_DTAG2] = { 0x500C0000, 0xC00 },
The size changed from 0xa00 to 0xc00 from v2. The manual states that it has no
size. I guess you inferred the size from the address range. How does real hw
behave if you access DTAG2?
> + [TC27XD_PSPR2] = { 0x50100000, 0x8000 },
> + [TC27XD_PCACHE2] = { 0x50108000, 0x4000 },
> + [TC27XD_PTAG2] = { 0x501C0000, 0x1800 },
> + [TC27XD_DSPR1] = { 0x60000000, 0x1E000 },
> + [TC27XD_DCACHE1] = { 0x6001E000, 0x2000 },
> + [TC27XD_DTAG1] = { 0x600C0000, 0xC00 },
> + [TC27XD_PSPR1] = { 0x60100000, 0x8000 },
> + [TC27XD_PCACHE1] = { 0x60108000, 0x4000 },
> + [TC27XD_PTAG1] = { 0x601C0000, 0x1800 },
> + [TC27XD_DSPR0] = { 0x70000000, 0x1C000 },
> + [TC27XD_PSPR0] = { 0x70100000, 0x6000 },
> + [TC27XD_PCACHE0] = { 0x70106000, 0x2000 },
> + [TC27XD_PTAG0] = { 0x701C0000, 0xC00 },
> + [TC27XD_PFLASH0_C] = { 0x80000000, 0x200000 },
> + [TC27XD_PFLASH1_C] = { 0x80200000, 0x200000 },
> + [TC27XD_OLDA_C] = { 0x8FE70000, 0x8000 },
> + [TC27XD_BROM_C] = { 0x8FFF8000, 0x8000 },
> + [TC27XD_LMURAM_C] = { 0x90000000, 0x8000 },
> + [TC27XD_EMEM_C] = { 0x9F000000, 0x100000 },
> + [TC27XD_PFLASH0_U] = { 0xA0000000, 0x0 },
> + [TC27XD_PFLASH1_U] = { 0xA0200000, 0x0 },
> + [TC27XD_DFLASH0] = { 0xAF000000, 0x104000 },
> + [TC27XD_DFLASH1] = { 0xAF110000, 0x10000 },
> + [TC27XD_OLDA_U] = { 0xAFE70000, 0x0 },
> + [TC27XD_BROM_U] = { 0xAFFF8000, 0x0 },
> + [TC27XD_LMURAM_U] = { 0xB0000000, 0x0 },
> + [TC27XD_EMEM_U] = { 0xBF000000, 0x0 },
> + [TC27XD_PSPRX] = { 0xC0000000, 0x0 },
> + [TC27XD_DSPRX] = { 0xD0000000, 0x0 },
> +};
Why not use KiB/MiB sizes as before? I created a patch for that. Can you check
that I didn't skrew up the sizes?
--- a/hw/tricore/tc27x_soc.c
+++ b/hw/tricore/tc27x_soc.c
@@ -26,44 +26,45 @@
#include "hw/misc/unimp.h"
#include "exec/address-spaces.h"
#include "qemu/log.h"
+#include "qemu/units.h"
#include "cpu.h"
#include "hw/tricore/tc27x_soc.h"
#include "hw/tricore/triboard.h"
const MemmapEntry tc27x_soc_memmap[] = {
- [TC27XD_DSPR2] = { 0x50000000, 0x1E000 },
- [TC27XD_DCACHE2] = { 0x5001E000, 0x2000 },
- [TC27XD_DTAG2] = { 0x500C0000, 0xC00 },
- [TC27XD_PSPR2] = { 0x50100000, 0x8000 },
- [TC27XD_PCACHE2] = { 0x50108000, 0x4000 },
- [TC27XD_PTAG2] = { 0x501C0000, 0x1800 },
- [TC27XD_DSPR1] = { 0x60000000, 0x1E000 },
- [TC27XD_DCACHE1] = { 0x6001E000, 0x2000 },
- [TC27XD_DTAG1] = { 0x600C0000, 0xC00 },
- [TC27XD_PSPR1] = { 0x60100000, 0x8000 },
- [TC27XD_PCACHE1] = { 0x60108000, 0x4000 },
- [TC27XD_PTAG1] = { 0x601C0000, 0x1800 },
- [TC27XD_DSPR0] = { 0x70000000, 0x1C000 },
- [TC27XD_PSPR0] = { 0x70100000, 0x6000 },
- [TC27XD_PCACHE0] = { 0x70106000, 0x2000 },
- [TC27XD_PTAG0] = { 0x701C0000, 0xC00 },
- [TC27XD_PFLASH0_C] = { 0x80000000, 0x200000 },
- [TC27XD_PFLASH1_C] = { 0x80200000, 0x200000 },
- [TC27XD_OLDA_C] = { 0x8FE70000, 0x8000 },
- [TC27XD_BROM_C] = { 0x8FFF8000, 0x8000 },
- [TC27XD_LMURAM_C] = { 0x90000000, 0x8000 },
- [TC27XD_EMEM_C] = { 0x9F000000, 0x100000 },
- [TC27XD_PFLASH0_U] = { 0xA0000000, 0x0 },
- [TC27XD_PFLASH1_U] = { 0xA0200000, 0x0 },
- [TC27XD_DFLASH0] = { 0xAF000000, 0x104000 },
- [TC27XD_DFLASH1] = { 0xAF110000, 0x10000 },
- [TC27XD_OLDA_U] = { 0xAFE70000, 0x0 },
- [TC27XD_BROM_U] = { 0xAFFF8000, 0x0 },
- [TC27XD_LMURAM_U] = { 0xB0000000, 0x0 },
- [TC27XD_EMEM_U] = { 0xBF000000, 0x0 },
- [TC27XD_PSPRX] = { 0xC0000000, 0x0 },
- [TC27XD_DSPRX] = { 0xD0000000, 0x0 },
+ [TC27XD_DSPR2] = { 0x50000000, 120 * KiB },
+ [TC27XD_DCACHE2] = { 0x5001E000, 8 * KiB },
+ [TC27XD_DTAG2] = { 0x500C0000, 0xC00 },
+ [TC27XD_PSPR2] = { 0x50100000, 32 * KiB },
+ [TC27XD_PCACHE2] = { 0x50108000, 16 * KiB },
+ [TC27XD_PTAG2] = { 0x501C0000, 0x1800 },
+ [TC27XD_DSPR1] = { 0x60000000, 120 * KiB },
+ [TC27XD_DCACHE1] = { 0x6001E000, 8 * KiB },
+ [TC27XD_DTAG1] = { 0x600C0000, 0xC00 },
+ [TC27XD_PSPR1] = { 0x60100000, 32 * KiB },
+ [TC27XD_PCACHE1] = { 0x60108000, 16 * KiB },
+ [TC27XD_PTAG1] = { 0x601C0000, 0x1800 },
+ [TC27XD_DSPR0] = { 0x70000000, 112 * KiB },
+ [TC27XD_PSPR0] = { 0x70100000, 24 * KiB },
+ [TC27XD_PCACHE0] = { 0x70106000, 8 * KiB },
+ [TC27XD_PTAG0] = { 0x701C0000, 0xC00 },
+ [TC27XD_PFLASH0_C] = { 0x80000000, 2 * MiB },
+ [TC27XD_PFLASH1_C] = { 0x80200000, 2 * MiB },
+ [TC27XD_OLDA_C] = { 0x8FE70000, 32 * KiB },
+ [TC27XD_BROM_C] = { 0x8FFF8000, 32 * KiB },
+ [TC27XD_LMURAM_C] = { 0x90000000, 32 * KiB },
+ [TC27XD_EMEM_C] = { 0x9F000000, 1 * MiB },
+ [TC27XD_PFLASH0_U] = { 0xA0000000, 0x0 },
+ [TC27XD_PFLASH1_U] = { 0xA0200000, 0x0 },
+ [TC27XD_DFLASH0] = { 0xAF000000, 1 * MiB + 16 * KiB },
+ [TC27XD_DFLASH1] = { 0xAF110000, 64 * KiB },
+ [TC27XD_OLDA_U] = { 0xAFE70000, 0x0 },
+ [TC27XD_BROM_U] = { 0xAFFF8000, 0x0 },
+ [TC27XD_LMURAM_U] = { 0xB0000000, 0x0 },
+ [TC27XD_EMEM_U] = { 0xBF000000, 0x0 },
+ [TC27XD_PSPRX] = { 0xC0000000, 0x0 },
+ [TC27XD_DSPRX] = { 0xD0000000, 0x0 },
The remainder looks good to me.
Cheers,
Bastian