Skip to content

MPU: BSC

#define SH7705_BSC (*(sh7705_bsc_t *)0xa4fd0000)
#define SH7305_BSC (*(sh7305_bsc_t *)0xfec10000)
typedef volatile lword_union(sh7705_bsc_CSnBCR_t, uint32_t :2;
uint32_t IWW :2;
/* Wait cycles for Write-Read and Write-Write */ uint32_t :1;
uint32_t IWRWD :2;
/* Wait cycles for other-space Read-Write */ uint32_t :1;
uint32_t IWRWS :2;
/* Wait cycles for same-space Read-Write */ uint32_t :1;
uint32_t IWRRD :2;
/* Wait cycles for other-space Read-Read */ uint32_t :1;
uint32_t IWRRS :2;
/* Wait cycles for same-space Read-Read */ uint32_t :1;
uint32_t TYPE :3;
/* Memory type */ uint32_t :1;
uint32_t BSZ :2;
/* Data bus size */ uint32_t :9;
)

Warning: the layout of this register changes with n and with the memory type. This version is not exhaustive. Check the manual!

typedef volatile lword_union(sh7705_bsc_CSnWCR_t, uint32_t :13;
uint32_t WW :3;
/* Write access wait cycles */ uint32_t :3;
uint32_t SW :2;
/* Wait from CSn/address to RD/WEn assertion */ uint32_t WR :4;
/* Access wait cycles */ uint32_t WM :1;
/* Whether to use external wait */ uint32_t :4;
uint32_t HW :2;
/* Wait from RD/WEn to CSn/address negation */ )
typedef volatile struct
{
lword_union(CMNCR, uint32_t :24;
uint32_t DMAIW :2;
/* DMA single-address wait states */ uint32_t DMAIWA :1;
/* DMAIW wait states insertion method */ uint32_t :1;
uint32_t const ENDIAN :1;
/* Global CPU endianness flag */ uint32_t :1;
uint32_t HIZMEM :1;
/* High-Z memory Control*/ uint32_t HIZCNT :1;
/* High-Z Control*/ );
sh7705_bsc_CSnBCR_t CS0BCR;
sh7705_bsc_CSnBCR_t CS2BCR;
sh7705_bsc_CSnBCR_t CS3BCR;
sh7705_bsc_CSnBCR_t CS4BCR;
sh7705_bsc_CSnBCR_t CS5ABCR;
sh7705_bsc_CSnBCR_t CS5BBCR;
sh7705_bsc_CSnBCR_t CS6ABCR;
sh7705_bsc_CSnBCR_t CS6BBCR;
sh7705_bsc_CSnWCR_t CS0WCR;
sh7705_bsc_CSnWCR_t CS2WCR;
sh7705_bsc_CSnWCR_t CS3WCR;
sh7705_bsc_CSnWCR_t CS4WCR;
sh7705_bsc_CSnWCR_t CS5AWCR;
sh7705_bsc_CSnWCR_t CS5BWCR;
sh7705_bsc_CSnWCR_t CS6AWCR;
sh7705_bsc_CSnWCR_t CS6BWCR;
/* TODO: There are more registers (not involved in overclocking). */
}
sh7705_bsc_t
typedef volatile lword_union(sh7305_bsc_CSnBCR_t, uint32_t :1;
uint32_t IWW :3;
uint32_t IWRWD :3;
uint32_t IWRWS :3;
uint32_t IWRRD :3;
uint32_t IWRRS :3;
uint32_t TYPE :4;
uint32_t :1;
uint32_t BSZ :2;
uint32_t :9;
)
typedef volatile lword_union(sh7305_bsc_CSnWCR_06A6B_t, uint32_t :11;
uint32_t BAS :1;
uint32_t :1;
uint32_t WW :3;
uint32_t ADRSFIX:1;
uint32_t :2;
uint32_t SW :2;
uint32_t WR :4;
uint32_t WM :1;
uint32_t :4;
uint32_t HW :2;
)
typedef volatile lword_union(sh7305_bsc_CSnWCR_45A5B_t, uint32_t :11;
uint32_t BAS :1;
uint32_t :1;
uint32_t WW :3;
uint32_t :3;
uint32_t SW :2;
uint32_t WR :4;
uint32_t WM :1;
uint32_t :4;
uint32_t HW :2;
)
typedef volatile struct
{
lword_union(CMNCR, uint32_t :6;
uint32_t CKOSTP :1;
uint32_t CKODRV :1;
uint32_t :7;
uint32_t DMSTP :1;
uint32_t :1;
uint32_t BSD :1;
uint32_t MAP :2;
uint32_t BLOCK :1;
uint32_t :7;
uint32_t ENDIAN :1;
uint32_t :1;
uint32_t HIZMEM :1;
uint32_t HIZCNT :1;
);
sh7305_bsc_CSnBCR_t CS0BCR;
sh7305_bsc_CSnBCR_t CS2BCR;
sh7305_bsc_CSnBCR_t CS3BCR;
sh7305_bsc_CSnBCR_t CS4BCR;
sh7305_bsc_CSnBCR_t CS5ABCR;
sh7305_bsc_CSnBCR_t CS5BBCR;
sh7305_bsc_CSnBCR_t CS6ABCR;
sh7305_bsc_CSnBCR_t CS6BBCR;
sh7305_bsc_CSnWCR_06A6B_t CS0WCR;
lword_union(CS2WCR, uint32_t :8;
uint32_t BW :2;
uint32_t PMD :1;
uint32_t BAS :1;
uint32_t :1;
uint32_t WW :3;
uint32_t :3;
uint32_t SW :2;
uint32_t WR :4;
uint32_t WM :1;
uint32_t :4;
uint32_t HW :2;
);
lword_union(CS3WCR, uint32_t :17;
uint32_t TRP :2;
uint32_t :1;
uint32_t TRCD :2;
uint32_t :1;
uint32_t A3CL :2;
uint32_t :2;
uint32_t TRWL :2;
uint32_t :1;
uint32_t TRC :2;
);
sh7305_bsc_CSnWCR_45A5B_t CS4WCR;
sh7305_bsc_CSnWCR_45A5B_t CS5AWCR;
sh7305_bsc_CSnWCR_45A5B_t CS5BWCR;
sh7305_bsc_CSnWCR_06A6B_t CS6AWCR;
sh7305_bsc_CSnWCR_06A6B_t CS6BWCR;
lword_union(SDCR, uint32_t :11;
uint32_t A2ROW :2;
uint32_t :1;
uint32_t A2COL :2;
uint32_t :4;
uint32_t RFSH :1;
uint32_t RMODE :1;
uint32_t PDOWN :1;
uint32_t BACTV :1;
uint32_t :3;
uint32_t A3ROW :2;
uint32_t :1;
uint32_t A3COL :2;
);
uint32_t RTCSR;
uint32_t RTCNT;
uint32_t RTCOR;
}
sh7305_bsc_t