mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 18:07:02 +07:00
090ab3ff8e
This allows a ROM-able zImage to be written to eSD and for SuperH Mobile ARM to boot directly from the SDHI hardware block. This is achieved by the MaskROM loading the first portion of the image into MERAM and then jumping to it. This portion contains loader code which copies the entire image to SDRAM and jumps to it. From there the zImage boot code proceeds as normal, uncompressing the image into its final location and then jumping to it. Cc: Paul Mundt <lethal@linux-sh.org> Acked-by: Magnus Damm <magnus.damm@gmail.com> Acked-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
22 lines
387 B
C
22 lines
387 B
C
#ifndef SDHI_SH7372_H
|
|
#define SDHI_SH7372_H
|
|
|
|
#define SDGENCNTA 0xfe40009c
|
|
|
|
/* The countdown of SDGENCNTA is controlled by
|
|
* ZB3D2CLK which runs at 149.5MHz.
|
|
* That is 149.5ticks/us. Approximate this as 150ticks/us.
|
|
*/
|
|
static void udelay(int us)
|
|
{
|
|
__raw_writel(us * 150, SDGENCNTA);
|
|
while(__raw_readl(SDGENCNTA)) ;
|
|
}
|
|
|
|
static void msleep(int ms)
|
|
{
|
|
udelay(ms * 1000);
|
|
}
|
|
|
|
#endif
|