diff options
author | Tom Rini <trini@konsulko.com> | 2016-08-20 11:35:28 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2016-08-20 16:40:34 -0400 |
commit | c98b171e1098f94b2ff7720c45a25a602882f876 (patch) | |
tree | e89e772841c83c5600a5288216b78b05840d903d /include | |
parent | f835706c2957a4c77fc0c6fece9f38a6587b4cad (diff) | |
parent | 798dc6be7feabce33676877f85d307f571a9ec15 (diff) | |
download | u-boot-imx-c98b171e1098f94b2ff7720c45a25a602882f876.zip u-boot-imx-c98b171e1098f94b2ff7720c45a25a602882f876.tar.gz u-boot-imx-c98b171e1098f94b2ff7720c45a25a602882f876.tar.bz2 |
Merge branch 'rmobile' of git://git.denx.de/u-boot-sh
[trini: Drop CMD_BOOTI as it's now on by default on ARM64]
Signed-off-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/configs/alt.h | 6 | ||||
-rw-r--r-- | include/configs/armadillo-800eva.h | 2 | ||||
-rwxr-xr-x | include/configs/blanche.h | 121 | ||||
-rw-r--r-- | include/configs/gose.h | 6 | ||||
-rw-r--r-- | include/configs/koelsch.h | 6 | ||||
-rw-r--r-- | include/configs/kzm9g.h | 2 | ||||
-rw-r--r-- | include/configs/lager.h | 4 | ||||
-rw-r--r-- | include/configs/porter.h | 6 | ||||
-rw-r--r-- | include/configs/rcar-gen3-common.h | 98 | ||||
-rw-r--r-- | include/configs/salvator-x.h | 54 | ||||
-rw-r--r-- | include/configs/silk.h | 6 | ||||
-rw-r--r-- | include/configs/stout.h | 4 | ||||
-rw-r--r-- | include/sh_pfc.h | 3 | ||||
-rw-r--r-- | include/sh_tmu.h | 2 |
14 files changed, 298 insertions, 22 deletions
diff --git a/include/configs/alt.h b/include/configs/alt.h index 3a81c49..9955674 100644 --- a/include/configs/alt.h +++ b/include/configs/alt.h @@ -12,17 +12,17 @@ #undef DEBUG #define CONFIG_R8A7794 -#define CONFIG_RMOBILE_BOARD_STRING "Alt" +#define CONFIG_ARCH_RMOBILE_BOARD_STRING "Alt" #include "rcar-gen2-common.h" -#if defined(CONFIG_RMOBILE_EXTRAM_BOOT) +#if defined(CONFIG_ARCH_RMOBILE_EXTRAM_BOOT) #define CONFIG_SYS_TEXT_BASE 0x70000000 #else #define CONFIG_SYS_TEXT_BASE 0xE6304000 #endif -#if defined(CONFIG_RMOBILE_EXTRAM_BOOT) +#if defined(CONFIG_ARCH_RMOBILE_EXTRAM_BOOT) #define CONFIG_SYS_INIT_SP_ADDR 0x7003FFFC #else #define CONFIG_SYS_INIT_SP_ADDR 0xE633FFFC diff --git a/include/configs/armadillo-800eva.h b/include/configs/armadillo-800eva.h index 522b287..e9cab5c 100644 --- a/include/configs/armadillo-800eva.h +++ b/include/configs/armadillo-800eva.h @@ -11,7 +11,7 @@ #undef DEBUG #define CONFIG_R8A7740 -#define CONFIG_RMOBILE_BOARD_STRING "Armadillo-800EVA Board\n" +#define CONFIG_ARCH_RMOBILE_BOARD_STRING "Armadillo-800EVA Board\n" #define CONFIG_SH_GPIO_PFC #include <asm/arch/rmobile.h> diff --git a/include/configs/blanche.h b/include/configs/blanche.h new file mode 100755 index 0000000..f094bbe --- /dev/null +++ b/include/configs/blanche.h @@ -0,0 +1,121 @@ +/* + * include/configs/blanche.h + * This file is blanche board configuration. + * + * Copyright (C) 2016 Renesas Electronics Corporation + * + * SPDX-License-Identifier: GPL-2.0 + */ + +#ifndef __BLANCHE_H +#define __BLANCHE_H + +#undef DEBUG +#define CONFIG_R8A7792 +#define CONFIG_RMOBILE_BOARD_STRING "Blanche" + +#include "rcar-gen2-common.h" + +#define CONFIG_USE_ARCH_MEMSET +#define CONFIG_USE_ARCH_MEMCPY + +/* STACK */ +#define CONFIG_SYS_INIT_SP_ADDR 0xE817FFFC +#define STACK_AREA_SIZE 0xC000 +#define LOW_LEVEL_MERAM_STACK \ + (CONFIG_SYS_INIT_SP_ADDR + STACK_AREA_SIZE - 4) + +/* MEMORY */ +#define RCAR_GEN2_SDRAM_BASE 0x40000000 +#define RCAR_GEN2_SDRAM_SIZE (1024u * 1024 * 1024) +#define RCAR_GEN2_UBOOT_SDRAM_SIZE (512 * 1024 * 1024) + +/* SCIF */ +#define CONFIG_SCIF_CONSOLE +#define CONFIG_CONS_SCIF0 + +#define CONFIG_SYS_MEMTEST_START (RCAR_GEN2_SDRAM_BASE) +#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + 504 * 1024 * 1024) + +#undef CONFIG_SYS_ALT_MEMTEST +#undef CONFIG_SYS_MEMTEST_SCRATCH +#undef CONFIG_SYS_LOADS_BAUD_CHANGE + +/* FLASH */ +/* #define CONFIG_SYS_NO_FLASH */ /* uncomment if use QSPI-FLASH */ +#if defined(CONFIG_SYS_NO_FLASH) +#define CONFIG_SYS_TEXT_BASE 0x40000000 +#define CONFIG_SPI +#define CONFIG_SH_QSPI +#define CONFIG_SH_QSPI_BASE 0xE6B10000 +#else +#define CONFIG_SYS_TEXT_BASE 0x00000000 +#define CONFIG_SYS_FLASH_CFI +#define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT +#define CONFIG_FLASH_CFI_DRIVER +#define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS +#define CONFIG_FLASH_SHOW_PROGRESS 45 +#define CONFIG_SYS_FLASH_BASE 0x00000000 +#define CONFIG_SYS_FLASH_SIZE 0x04000000 /* 64 MB */ +#define CONFIG_SYS_MAX_FLASH_SECT 1024 +#define CONFIG_SYS_MAX_FLASH_BANKS 1 +#define CONFIG_SYS_FLASH_BANKS_LIST { (CONFIG_SYS_FLASH_BASE) } +#define CONFIG_SYS_FLASH_BANKS_SIZES { (CONFIG_SYS_FLASH_SIZE) } + +#define CONFIG_SYS_FLASH_ERASE_TOUT 3000 +#define CONFIG_SYS_FLASH_WRITE_TOUT 3000 +#define CONFIG_SYS_FLASH_LOCK_TOUT 3000 +#define CONFIG_SYS_FLASH_UNLOCK_TOUT 3000 +#undef CONFIG_CMD_SF +#undef CONFIG_CMD_SPI +#endif + +/* BLANCHE on board LANC: SMC89218 (ExCS0) */ +#define CONFIG_NET_MULTI +#define CONFIG_SMC911X 1 +#define CONFIG_SMC911X_16_BIT 1 +#define CONFIG_SMC911X_BASE 0x18000000 + +/* Board Clock */ +#define RMOBILE_XTAL_CLK 20000000u +#define CONFIG_SYS_CLK_FREQ RMOBILE_XTAL_CLK +#define CONFIG_SH_TMU_CLK_FREQ (CONFIG_SYS_CLK_FREQ / 2) /* EXT / 2 */ +#define CONFIG_SYS_TMU_CLK_DIV 4 + +/* ENV setting */ +#if defined(CONFIG_SYS_NO_FLASH) +#else +#undef CONFIG_ENV_IS_IN_SPI_FLASH +#undef CONFIG_ENV_ADDR +#define CONFIG_ENV_IS_IN_FLASH +#define CONFIG_ENV_SECT_SIZE (256 * 1024) +#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + CONFIG_SYS_MONITOR_LEN) +#define CONFIG_ENV_OFFSET (CONFIG_ENV_ADDR) +#define CONFIG_ENV_SIZE (CONFIG_ENV_SECT_SIZE) +#define CONFIG_ENV_SIZE_REDUND (CONFIG_SYS_MONITOR_LEN) +#endif + +/* USB */ +#undef CONFIG_CMD_USB + +#define CONFIG_GENERIC_MMC + +/* Module stop status bits */ +/* INTC-RT */ +#define CONFIG_SMSTP0_ENA 0x00400000 +/* SDHI0 */ +#define CONFIG_SMSTP3_ENA 0x00004000 +/* INTC-SYS, IRQC */ +#define CONFIG_SMSTP4_ENA 0x00000180 +/* SCIF0 */ +#define CONFIG_SMSTP7_ENA 0x00200000 +/* QSPI */ +#define CONFIG_SMSTP9_ENA 0x00020000 +/* SYS-DMAC0 */ +#define CONFIG_RMSTP2_ENA 0x00080000 + +/* SDHI */ +#define CONFIG_SH_SDHI_FREQ 97500000 +#define HAVE_BLOCK_DEVICE + +#endif /* __BLANCHE_H */ diff --git a/include/configs/gose.h b/include/configs/gose.h index 230be31..18eaf25 100644 --- a/include/configs/gose.h +++ b/include/configs/gose.h @@ -11,18 +11,18 @@ #undef DEBUG #define CONFIG_R8A7793 -#define CONFIG_RMOBILE_BOARD_STRING "Gose" +#define CONFIG_ARCH_RMOBILE_BOARD_STRING "Gose" #include "rcar-gen2-common.h" -#if defined(CONFIG_RMOBILE_EXTRAM_BOOT) +#if defined(CONFIG_ARCH_RMOBILE_EXTRAM_BOOT) #define CONFIG_SYS_TEXT_BASE 0x70000000 #else #define CONFIG_SYS_TEXT_BASE 0xE6304000 #endif /* STACK */ -#if defined(CONFIG_RMOBILE_EXTRAM_BOOT) +#if defined(CONFIG_ARCH_RMOBILE_EXTRAM_BOOT) #define CONFIG_SYS_INIT_SP_ADDR 0x7003FFFC #else #define CONFIG_SYS_INIT_SP_ADDR 0xE633FFFC diff --git a/include/configs/koelsch.h b/include/configs/koelsch.h index 121fe3f..b98fc29 100644 --- a/include/configs/koelsch.h +++ b/include/configs/koelsch.h @@ -11,18 +11,18 @@ #undef DEBUG #define CONFIG_R8A7791 -#define CONFIG_RMOBILE_BOARD_STRING "Koelsch" +#define CONFIG_ARCH_RMOBILE_BOARD_STRING "Koelsch" #include "rcar-gen2-common.h" -#if defined(CONFIG_RMOBILE_EXTRAM_BOOT) +#if defined(CONFIG_ARCH_RMOBILE_EXTRAM_BOOT) #define CONFIG_SYS_TEXT_BASE 0x70000000 #else #define CONFIG_SYS_TEXT_BASE 0xE6304000 #endif /* STACK */ -#if defined(CONFIG_RMOBILE_EXTRAM_BOOT) +#if defined(CONFIG_ARCH_RMOBILE_EXTRAM_BOOT) #define CONFIG_SYS_INIT_SP_ADDR 0x7003FFFC #else #define CONFIG_SYS_INIT_SP_ADDR 0xE633fffC diff --git a/include/configs/kzm9g.h b/include/configs/kzm9g.h index 1b4c7d4..94f3516 100644 --- a/include/configs/kzm9g.h +++ b/include/configs/kzm9g.h @@ -14,7 +14,7 @@ #define CONFIG_SH73A0 #define CONFIG_KZM_A9_GT -#define CONFIG_RMOBILE_BOARD_STRING "KMC KZM-A9-GT" +#define CONFIG_ARCH_RMOBILE_BOARD_STRING "KMC KZM-A9-GT" #define CONFIG_MACH_TYPE MACH_TYPE_KZM9G #include <asm/arch/rmobile.h> diff --git a/include/configs/lager.h b/include/configs/lager.h index 9971ad8..3be1540 100644 --- a/include/configs/lager.h +++ b/include/configs/lager.h @@ -12,11 +12,11 @@ #undef DEBUG #define CONFIG_R8A7790 -#define CONFIG_RMOBILE_BOARD_STRING "Lager" +#define CONFIG_ARCH_RMOBILE_BOARD_STRING "Lager" #include "rcar-gen2-common.h" -#if defined(CONFIG_RMOBILE_EXTRAM_BOOT) +#if defined(CONFIG_ARCH_RMOBILE_EXTRAM_BOOT) #define CONFIG_SYS_TEXT_BASE 0xB0000000 #else #define CONFIG_SYS_TEXT_BASE 0xE8080000 diff --git a/include/configs/porter.h b/include/configs/porter.h index 929eede..e3bf33c 100644 --- a/include/configs/porter.h +++ b/include/configs/porter.h @@ -13,17 +13,17 @@ #undef DEBUG #define CONFIG_R8A7791 -#define CONFIG_RMOBILE_BOARD_STRING "Porter" +#define CONFIG_ARCH_RMOBILE_BOARD_STRING "Porter" #include "rcar-gen2-common.h" -#if defined(CONFIG_RMOBILE_EXTRAM_BOOT) +#if defined(CONFIG_ARCH_RMOBILE_EXTRAM_BOOT) #define CONFIG_SYS_TEXT_BASE 0x70000000 #else #define CONFIG_SYS_TEXT_BASE 0xE6304000 #endif -#if defined(CONFIG_RMOBILE_EXTRAM_BOOT) +#if defined(CONFIG_ARCH_RMOBILE_EXTRAM_BOOT) #define CONFIG_SYS_INIT_SP_ADDR 0x7003FFFC #else #define CONFIG_SYS_INIT_SP_ADDR 0xE633fffC diff --git a/include/configs/rcar-gen3-common.h b/include/configs/rcar-gen3-common.h new file mode 100644 index 0000000..f9e5f59 --- /dev/null +++ b/include/configs/rcar-gen3-common.h @@ -0,0 +1,98 @@ +/* + * include/configs/rcar-gen3-common.h + * This file is R-Car Gen3 common configuration file. + * + * Copyright (C) 2015 Renesas Electronics Corporation + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef __RCAR_GEN3_COMMON_H +#define __RCAR_GEN3_COMMON_H + +#include <asm/arch/rmobile.h> + +#define CONFIG_CMD_DFL +#define CONFIG_CMD_SDRAM +#define CONFIG_CMD_FAT +#define CONFIG_CMD_EXT2 +#define CONFIG_CMD_EXT4 +#define CONFIG_CMD_EXT4_WRITE +#define CONFIG_CMD_FDT + +#define CONFIG_REMAKE_ELF + +/* boot option */ +#define CONFIG_SUPPORT_RAW_INITRD + +/* Support File sytems */ +#define CONFIG_FAT_WRITE +#define CONFIG_DOS_PARTITION +#define CONFIG_SUPPORT_VFAT +#define CONFIG_FS_EXT4 +#define CONFIG_EXT4_WRITE + +#define CONFIG_CMDLINE_TAG +#define CONFIG_SETUP_MEMORY_TAGS +#define CONFIG_INITRD_TAG +#define CONFIG_CMDLINE_EDITING +#define CONFIG_OF_LIBFDT + +#define CONFIG_BAUDRATE 115200 + +#define CONFIG_VERSION_VARIABLE +#undef CONFIG_SHOW_BOOT_PROGRESS + +#define CONFIG_ARCH_CPU_INIT +#define CONFIG_DISPLAY_CPUINFO +#define CONFIG_DISPLAY_BOARDINFO +#define CONFIG_BOARD_EARLY_INIT_F + +#define CONFIG_SH_GPIO_PFC + +/* console */ +#undef CONFIG_SYS_CONSOLE_INFO_QUIET +#undef CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE +#undef CONFIG_SYS_CONSOLE_ENV_OVERWRITE + +#define CONFIG_SYS_LONGHELP +#define CONFIG_SYS_CBSIZE 256 +#define CONFIG_SYS_PBSIZE 256 +#define CONFIG_SYS_MAXARGS 16 +#define CONFIG_SYS_BARGSIZE 512 +#define CONFIG_SYS_BAUDRATE_TABLE { 115200, 38400 } + +/* MEMORY */ +#define CONFIG_SYS_TEXT_BASE 0x49000000 +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_TEXT_BASE + 0x7fff0) + +#define CONFIG_SYS_SDRAM_BASE (0x48000000) +#define CONFIG_SYS_SDRAM_SIZE (1024u * 1024 * 1024 - 0x08000000) +#define CONFIG_SYS_LOAD_ADDR (0x48080000) +#define CONFIG_NR_DRAM_BANKS 1 + +#define CONFIG_SYS_MONITOR_BASE 0x00000000 +#define CONFIG_SYS_MONITOR_LEN (256 * 1024) +#define CONFIG_SYS_MALLOC_LEN (1 * 1024 * 1024) +#define CONFIG_SYS_BOOTMAPSZ (8 * 1024 * 1024) + +/* ENV setting */ +#define CONFIG_ENV_OVERWRITE +#define CONFIG_ENV_SECT_SIZE (128 * 1024) +#define CONFIG_ENV_SIZE (CONFIG_ENV_SECT_SIZE) +#define CONFIG_ENV_SIZE_REDUND (CONFIG_ENV_SIZE) + +#define CONFIG_EXTRA_ENV_SETTINGS \ + "fdt_high=0xffffffffffffffff\0" \ + "initrd_high=0xffffffffffffffff\0" + +#define CONFIG_BOOTARGS \ + "console=ttySC0,115200 rw root=/dev/nfs " \ + "nfsroot=192.168.0.1:/export/rfs ip=192.168.0.20" + +#define CONFIG_BOOTCOMMAND \ + "tftp 0x48080000 Image; " \ + "tftp 0x48000000 Image-r8a7795-salvator-x.dtb; " \ + "booti 0x48080000 - 0x48000000" + +#endif /* __RCAR_GEN3_COMMON_H */ diff --git a/include/configs/salvator-x.h b/include/configs/salvator-x.h new file mode 100644 index 0000000..d1d615c --- /dev/null +++ b/include/configs/salvator-x.h @@ -0,0 +1,54 @@ +/* + * include/configs/salvator-x.h + * This file is Salvator-X board configuration. + * + * Copyright (C) 2015 Renesas Electronics Corporation + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef __SALVATOR_X_H +#define __SALVATOR_X_H + +#undef DEBUG + +#define CONFIG_RCAR_BOARD_STRING "Salvator-X" + +#include "rcar-gen3-common.h" + +/* SCIF */ +#define CONFIG_SCIF_CONSOLE +#define CONFIG_CONS_SCIF2 +#define CONFIG_CONS_INDEX 2 +#define CONFIG_SH_SCIF_CLK_FREQ CONFIG_SYS_CLK_FREQ + +/* [A] Hyper Flash */ +/* use to RPC(SPI Multi I/O Bus Controller) */ +#define CONFIG_SYS_NO_FLASH +#define CONFIG_ENV_IS_NOWHERE + +/* Board Clock */ +/* XTAL_CLK : 33.33MHz */ +#define RCAR_XTAL_CLK 33333333u +#define CONFIG_SYS_CLK_FREQ RCAR_XTAL_CLK +/* ch0to2 CPclk, ch3to11 S3D2_PEREclk, ch12to14 S3D2_RTclk */ +/* CPclk 16.66MHz, S3D2 133.33MHz */ +#define CONFIG_CP_CLK_FREQ (CONFIG_SYS_CLK_FREQ / 2) +#define CONFIG_PLL1_CLK_FREQ (CONFIG_SYS_CLK_FREQ * 192 / 2) +#define CONFIG_S3D2_CLK_FREQ (266666666u/2) + +/* Generic Timer Definitions (use in assembler source) */ +#define COUNTER_FREQUENCY 0xFE502A /* 16.66MHz from CPclk */ + +/* Generic Interrupt Controller Definitions */ +#define CONFIG_GICV2 +#define GICD_BASE 0xF1010000 +#define GICC_BASE 0xF1020000 + +/* Module stop status bits */ +/* MFIS, SCIF1 */ +#define CONFIG_SMSTP2_ENA 0x00002040 +/* INTC-AP, IRQC */ +#define CONFIG_SMSTP4_ENA 0x00000180 + +#endif /* __SALVATOR_X_H */ diff --git a/include/configs/silk.h b/include/configs/silk.h index dca0623..8c4ee4f 100644 --- a/include/configs/silk.h +++ b/include/configs/silk.h @@ -13,17 +13,17 @@ #undef DEBUG #define CONFIG_R8A7794 -#define CONFIG_RMOBILE_BOARD_STRING "Silk" +#define CONFIG_ARCH_RMOBILE_BOARD_STRING "Silk" #include "rcar-gen2-common.h" -#if defined(CONFIG_RMOBILE_EXTRAM_BOOT) +#if defined(CONFIG_ARCH_RMOBILE_EXTRAM_BOOT) #define CONFIG_SYS_TEXT_BASE 0x70000000 #else #define CONFIG_SYS_TEXT_BASE 0xE6304000 #endif -#if defined(CONFIG_RMOBILE_EXTRAM_BOOT) +#if defined(CONFIG_ARCH_RMOBILE_EXTRAM_BOOT) #define CONFIG_SYS_INIT_SP_ADDR 0x7003FFFC #else #define CONFIG_SYS_INIT_SP_ADDR 0xE633FFFC diff --git a/include/configs/stout.h b/include/configs/stout.h index d21c3cb..8833c50 100644 --- a/include/configs/stout.h +++ b/include/configs/stout.h @@ -14,13 +14,13 @@ #undef DEBUG #define CONFIG_R8A7790 -#define CONFIG_RMOBILE_BOARD_STRING "Stout" +#define CONFIG_ARCH_RMOBILE_BOARD_STRING "Stout" #include "rcar-gen2-common.h" /* #define CONFIG_BOARD_LATE_INIT */ -#if defined(CONFIG_RMOBILE_EXTRAM_BOOT) +#if defined(CONFIG_ARCH_RMOBILE_EXTRAM_BOOT) #define CONFIG_SYS_TEXT_BASE 0xB0000000 #else #define CONFIG_SYS_TEXT_BASE 0xE8080000 diff --git a/include/sh_pfc.h b/include/sh_pfc.h index 7f6548f..0692593 100644 --- a/include/sh_pfc.h +++ b/include/sh_pfc.h @@ -2,6 +2,7 @@ * SuperH Pin Function Controller Support * Copy from Linux kernel. (include/linux/sh_pfc.h) * + * Copyright (C) 2015 Renesas Electronics Corporation * Copyright (c) 2008 Magnus Damm * * This file is subject to the terms and conditions of the GNU General Public @@ -135,6 +136,8 @@ int unregister_pinmux(struct pinmux_info *pip); #define PORT_ALL(str) CPU_ALL_PORT(_PORT_ALL, PORT, str) #define GPIO_PORT_ALL() CPU_ALL_PORT(_GPIO_PORT, , unused) #define GPIO_FN(str) PINMUX_GPIO(GPIO_FN_##str, str##_MARK) +#define GPIO_GFN(str) PINMUX_GPIO(GPIO_GFN_##str, str##_GMARK) +#define GPIO_IFN(str) PINMUX_GPIO(GPIO_IFN_##str, str##_IMARK) /* helper macro for pinmux_enum_t */ #define PORT_DATA_I(nr) \ diff --git a/include/sh_tmu.h b/include/sh_tmu.h index 97d578d..aa60c98 100644 --- a/include/sh_tmu.h +++ b/include/sh_tmu.h @@ -47,7 +47,7 @@ struct tmu_regs { }; #endif /* CONFIG_CPU_SH3 */ -#if defined(CONFIG_CPU_SH4) || defined(CONFIG_RMOBILE) +#if defined(CONFIG_CPU_SH4) || defined(CONFIG_ARCH_RMOBILE) struct tmu_regs { u32 reserved; u8 tstr; |