mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-01 00:49:43 +00:00
Merge branch 'rmobile' of git://git.denx.de/u-boot-sh
This commit is contained in:
commit
d51aae6423
21 changed files with 391 additions and 103 deletions
14
arch/arm/include/asm/arch-rmobile/mmc.h
Normal file
14
arch/arm/include/asm/arch-rmobile/mmc.h
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
/*
|
||||||
|
* Renesas SuperH MMCIF driver.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2014 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
|
||||||
|
* Copyright (C) 2014 Renesas Electronics Corporation
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: GPL-2.0
|
||||||
|
*/
|
||||||
|
#ifndef _RMOBILE_MMC_H_
|
||||||
|
#define _RMOBILE_MMC_H_
|
||||||
|
|
||||||
|
int mmcif_mmc_init(void);
|
||||||
|
|
||||||
|
#endif /* _RMOBILE_MMC_H_ */
|
|
@ -15,6 +15,19 @@
|
||||||
#define CONFIG_SYS_I2C_SH_BASE2 0xE6520000
|
#define CONFIG_SYS_I2C_SH_BASE2 0xE6520000
|
||||||
#define CONFIG_SYS_I2C_SH_BASE3 0xE60B0000
|
#define CONFIG_SYS_I2C_SH_BASE3 0xE60B0000
|
||||||
|
|
||||||
|
/* Module stop control/status register bits */
|
||||||
|
#define MSTP0_BITS 0x00640801
|
||||||
|
#define MSTP1_BITS 0xDB6E9BDF
|
||||||
|
#define MSTP2_BITS 0x300DA1FC
|
||||||
|
#define MSTP3_BITS 0xF08CF831
|
||||||
|
#define MSTP4_BITS 0x80000184
|
||||||
|
#define MSTP5_BITS 0x44C00046
|
||||||
|
#define MSTP7_BITS 0x07F30718
|
||||||
|
#define MSTP8_BITS 0x01F0FF84
|
||||||
|
#define MSTP9_BITS 0xF5979FCF
|
||||||
|
#define MSTP10_BITS 0xFFFEFFE0
|
||||||
|
#define MSTP11_BITS 0x00000000
|
||||||
|
|
||||||
#define R8A7790_CUT_ES2X 2
|
#define R8A7790_CUT_ES2X 2
|
||||||
#define IS_R8A7790_ES2() \
|
#define IS_R8A7790_ES2() \
|
||||||
(rmobile_get_cpu_rev_integer() == R8A7790_CUT_ES2X)
|
(rmobile_get_cpu_rev_integer() == R8A7790_CUT_ES2X)
|
||||||
|
|
|
@ -51,6 +51,19 @@
|
||||||
#define DBSC3_1_QOS_W15_BASE 0xE67A2F00
|
#define DBSC3_1_QOS_W15_BASE 0xE67A2F00
|
||||||
#define DBSC3_1_DBADJ2 0xE67A00C8
|
#define DBSC3_1_DBADJ2 0xE67A00C8
|
||||||
|
|
||||||
|
/* Module stop control/status register bits */
|
||||||
|
#define MSTP0_BITS 0x00640801
|
||||||
|
#define MSTP1_BITS 0x9B6C9B5A
|
||||||
|
#define MSTP2_BITS 0x100D21FC
|
||||||
|
#define MSTP3_BITS 0xF08CD810
|
||||||
|
#define MSTP4_BITS 0x800001C4
|
||||||
|
#define MSTP5_BITS 0x44C00046
|
||||||
|
#define MSTP7_BITS 0x05BFE618
|
||||||
|
#define MSTP8_BITS 0x40C0FE85
|
||||||
|
#define MSTP9_BITS 0xFF979FFF
|
||||||
|
#define MSTP10_BITS 0xFFFEFFE0
|
||||||
|
#define MSTP11_BITS 0x000001C0
|
||||||
|
|
||||||
#define R8A7791_CUT_ES2X 2
|
#define R8A7791_CUT_ES2X 2
|
||||||
#define IS_R8A7791_ES2() \
|
#define IS_R8A7791_ES2() \
|
||||||
(rmobile_get_cpu_rev_integer() == R8A7791_CUT_ES2X)
|
(rmobile_get_cpu_rev_integer() == R8A7791_CUT_ES2X)
|
||||||
|
|
|
@ -56,6 +56,20 @@
|
||||||
/*
|
/*
|
||||||
* R8A7793 I/O Product Information
|
* R8A7793 I/O Product Information
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* Module stop control/status register bits */
|
||||||
|
#define MSTP0_BITS 0x00640801
|
||||||
|
#define MSTP1_BITS 0x9B6C9B5A
|
||||||
|
#define MSTP2_BITS 0x100D21FC
|
||||||
|
#define MSTP3_BITS 0xF08CD810
|
||||||
|
#define MSTP4_BITS 0x800001C4
|
||||||
|
#define MSTP5_BITS 0x44C00046
|
||||||
|
#define MSTP7_BITS 0x05BFE618
|
||||||
|
#define MSTP8_BITS 0x40C0FE85
|
||||||
|
#define MSTP9_BITS 0xFF979FFF
|
||||||
|
#define MSTP10_BITS 0xFFFEFFE0
|
||||||
|
#define MSTP11_BITS 0x000001C0
|
||||||
|
|
||||||
#define R8A7793_CUT_ES2X 2
|
#define R8A7793_CUT_ES2X 2
|
||||||
#define IS_R8A7793_ES2() \
|
#define IS_R8A7793_ES2() \
|
||||||
(rmobile_get_cpu_rev_integer() == R8A7793_CUT_ES2X)
|
(rmobile_get_cpu_rev_integer() == R8A7793_CUT_ES2X)
|
||||||
|
|
|
@ -14,4 +14,17 @@
|
||||||
/* SH-I2C */
|
/* SH-I2C */
|
||||||
#define CONFIG_SYS_I2C_SH_BASE2 0xE60B0000
|
#define CONFIG_SYS_I2C_SH_BASE2 0xE60B0000
|
||||||
|
|
||||||
|
/* Module stop control/status register bits */
|
||||||
|
#define MSTP0_BITS 0x00440801
|
||||||
|
#define MSTP1_BITS 0x936899DA
|
||||||
|
#define MSTP2_BITS 0x100D21FC
|
||||||
|
#define MSTP3_BITS 0xE084D810
|
||||||
|
#define MSTP4_BITS 0x800001C4
|
||||||
|
#define MSTP5_BITS 0x40C00044
|
||||||
|
#define MSTP7_BITS 0x013FE618
|
||||||
|
#define MSTP8_BITS 0x40803C05
|
||||||
|
#define MSTP9_BITS 0xFB879FEE
|
||||||
|
#define MSTP10_BITS 0xFFFEFFE0
|
||||||
|
#define MSTP11_BITS 0x000001C0
|
||||||
|
|
||||||
#endif /* __ASM_ARCH_R8A7794_H */
|
#endif /* __ASM_ARCH_R8A7794_H */
|
||||||
|
|
|
@ -29,6 +29,45 @@
|
||||||
#define SCIF4_BASE 0xE6EE0000
|
#define SCIF4_BASE 0xE6EE0000
|
||||||
#define SCIF5_BASE 0xE6EE8000
|
#define SCIF5_BASE 0xE6EE8000
|
||||||
|
|
||||||
|
/* Module stop status register */
|
||||||
|
#define MSTPSR0 0xE6150030
|
||||||
|
#define MSTPSR1 0xE6150038
|
||||||
|
#define MSTPSR2 0xE6150040
|
||||||
|
#define MSTPSR3 0xE6150048
|
||||||
|
#define MSTPSR4 0xE615004C
|
||||||
|
#define MSTPSR5 0xE615003C
|
||||||
|
#define MSTPSR7 0xE61501C4
|
||||||
|
#define MSTPSR8 0xE61509A0
|
||||||
|
#define MSTPSR9 0xE61509A4
|
||||||
|
#define MSTPSR10 0xE61509A8
|
||||||
|
#define MSTPSR11 0xE61509AC
|
||||||
|
|
||||||
|
/* Realtime module stop control register */
|
||||||
|
#define RMSTPCR0 0xE6150110
|
||||||
|
#define RMSTPCR1 0xE6150114
|
||||||
|
#define RMSTPCR2 0xE6150118
|
||||||
|
#define RMSTPCR3 0xE615011C
|
||||||
|
#define RMSTPCR4 0xE6150120
|
||||||
|
#define RMSTPCR5 0xE6150124
|
||||||
|
#define RMSTPCR7 0xE615012C
|
||||||
|
#define RMSTPCR8 0xE6150980
|
||||||
|
#define RMSTPCR9 0xE6150984
|
||||||
|
#define RMSTPCR10 0xE6150988
|
||||||
|
#define RMSTPCR11 0xE615098C
|
||||||
|
|
||||||
|
/* System module stop control register */
|
||||||
|
#define SMSTPCR0 0xE6150130
|
||||||
|
#define SMSTPCR1 0xE6150134
|
||||||
|
#define SMSTPCR2 0xE6150138
|
||||||
|
#define SMSTPCR3 0xE615013C
|
||||||
|
#define SMSTPCR4 0xE6150140
|
||||||
|
#define SMSTPCR5 0xE6150144
|
||||||
|
#define SMSTPCR7 0xE615014C
|
||||||
|
#define SMSTPCR8 0xE6150990
|
||||||
|
#define SMSTPCR9 0xE6150994
|
||||||
|
#define SMSTPCR10 0xE6150998
|
||||||
|
#define SMSTPCR11 0xE615099C
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* SH-I2C
|
* SH-I2C
|
||||||
* Ch2 and ch3 are different address. These are defined
|
* Ch2 and ch3 are different address. These are defined
|
||||||
|
|
109
arch/arm/include/asm/arch-rmobile/rcar-mstp.h
Normal file
109
arch/arm/include/asm/arch-rmobile/rcar-mstp.h
Normal file
|
@ -0,0 +1,109 @@
|
||||||
|
/*
|
||||||
|
* arch/arm/include/asm/arch-rmobile/rcar-mstp.h
|
||||||
|
*
|
||||||
|
* Copyright (C) 2013, 2014 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
|
||||||
|
* Copyright (C) 2013, 2014 Renesas Electronics Corporation
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: GPL-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __ASM_ARCH_RCAR_MSTP_H
|
||||||
|
#define __ASM_ARCH_RCAR_MSTP_H
|
||||||
|
|
||||||
|
#define mstp_setbits(type, addr, saddr, set) \
|
||||||
|
out_##type((saddr), in_##type(addr) | (set))
|
||||||
|
#define mstp_clrbits(type, addr, saddr, clear) \
|
||||||
|
out_##type((saddr), in_##type(addr) & ~(clear))
|
||||||
|
#define mstp_setclrbits(type, addr, set, clear) \
|
||||||
|
out_##type((addr), (in_##type(addr) | (set)) & ~(clear))
|
||||||
|
#define mstp_setbits_le32(addr, saddr, set) \
|
||||||
|
mstp_setbits(le32, addr, saddr, set)
|
||||||
|
#define mstp_clrbits_le32(addr, saddr, clear) \
|
||||||
|
mstp_clrbits(le32, addr, saddr, clear)
|
||||||
|
#define mstp_setclrbits_le32(addr, set, clear) \
|
||||||
|
mstp_setclrbits(le32, addr, set, clear)
|
||||||
|
|
||||||
|
#ifndef CONFIG_SMSTP0_ENA
|
||||||
|
#define CONFIG_SMSTP0_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_SMSTP1_ENA
|
||||||
|
#define CONFIG_SMSTP1_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_SMSTP2_ENA
|
||||||
|
#define CONFIG_SMSTP2_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_SMSTP3_ENA
|
||||||
|
#define CONFIG_SMSTP3_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_SMSTP4_ENA
|
||||||
|
#define CONFIG_SMSTP4_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_SMSTP5_ENA
|
||||||
|
#define CONFIG_SMSTP5_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_SMSTP6_ENA
|
||||||
|
#define CONFIG_SMSTP6_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_SMSTP7_ENA
|
||||||
|
#define CONFIG_SMSTP7_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_SMSTP8_ENA
|
||||||
|
#define CONFIG_SMSTP8_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_SMSTP9_ENA
|
||||||
|
#define CONFIG_SMSTP9_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_SMSTP10_ENA
|
||||||
|
#define CONFIG_SMSTP10_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_SMSTP11_ENA
|
||||||
|
#define CONFIG_SMSTP11_ENA 0x00
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_RMSTP0_ENA
|
||||||
|
#define CONFIG_RMSTP0_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_RMSTP1_ENA
|
||||||
|
#define CONFIG_RMSTP1_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_RMSTP2_ENA
|
||||||
|
#define CONFIG_RMSTP2_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_RMSTP3_ENA
|
||||||
|
#define CONFIG_RMSTP3_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_RMSTP4_ENA
|
||||||
|
#define CONFIG_RMSTP4_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_RMSTP5_ENA
|
||||||
|
#define CONFIG_RMSTP5_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_RMSTP6_ENA
|
||||||
|
#define CONFIG_RMSTP6_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_RMSTP7_ENA
|
||||||
|
#define CONFIG_RMSTP7_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_RMSTP8_ENA
|
||||||
|
#define CONFIG_RMSTP8_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_RMSTP9_ENA
|
||||||
|
#define CONFIG_RMSTP9_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_RMSTP10_ENA
|
||||||
|
#define CONFIG_RMSTP10_ENA 0x00
|
||||||
|
#endif
|
||||||
|
#ifndef CONFIG_RMSTP11_ENA
|
||||||
|
#define CONFIG_RMSTP11_ENA 0x00
|
||||||
|
#endif
|
||||||
|
|
||||||
|
struct mstp_ctl {
|
||||||
|
u32 s_addr;
|
||||||
|
u32 s_dis;
|
||||||
|
u32 s_ena;
|
||||||
|
u32 r_addr;
|
||||||
|
u32 r_dis;
|
||||||
|
u32 r_ena;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* __ASM_ARCH_RCAR_MSTP_H */
|
|
@ -6,4 +6,4 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
#
|
#
|
||||||
|
|
||||||
obj-y := alt.o qos.o
|
obj-y := alt.o qos.o ../rcar-gen2-common/common.o
|
||||||
|
|
|
@ -15,6 +15,8 @@
|
||||||
#include <asm/arch/sys_proto.h>
|
#include <asm/arch/sys_proto.h>
|
||||||
#include <asm/gpio.h>
|
#include <asm/gpio.h>
|
||||||
#include <asm/arch/rmobile.h>
|
#include <asm/arch/rmobile.h>
|
||||||
|
#include <asm/arch/rcar-mstp.h>
|
||||||
|
#include <asm/arch/mmc.h>
|
||||||
#include <netdev.h>
|
#include <netdev.h>
|
||||||
#include <miiphy.h>
|
#include <miiphy.h>
|
||||||
#include <i2c.h>
|
#include <i2c.h>
|
||||||
|
@ -37,30 +39,11 @@ void s_init(void)
|
||||||
qos_init();
|
qos_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
#define MSTPSR1 0xE6150038
|
|
||||||
#define SMSTPCR1 0xE6150134
|
|
||||||
#define TMU0_MSTP125 (1 << 25)
|
#define TMU0_MSTP125 (1 << 25)
|
||||||
|
|
||||||
#define MSTPSR7 0xE61501C4
|
|
||||||
#define SMSTPCR7 0xE615014C
|
|
||||||
#define SCIF2_MSTP719 (1 << 19)
|
#define SCIF2_MSTP719 (1 << 19)
|
||||||
|
|
||||||
#define MSTPSR8 0xE61509A0
|
|
||||||
#define SMSTPCR8 0xE6150990
|
|
||||||
#define ETHER_MSTP813 (1 << 13)
|
#define ETHER_MSTP813 (1 << 13)
|
||||||
|
|
||||||
#define MSTPSR3 0xE6150048
|
|
||||||
#define SMSTPCR3 0xE615013C
|
|
||||||
#define IIC1_MSTP323 (1 << 23)
|
#define IIC1_MSTP323 (1 << 23)
|
||||||
|
#define MMC0_MSTP315 (1 << 15)
|
||||||
#define mstp_setbits(type, addr, saddr, set) \
|
|
||||||
out_##type((saddr), in_##type(addr) | (set))
|
|
||||||
#define mstp_clrbits(type, addr, saddr, clear) \
|
|
||||||
out_##type((saddr), in_##type(addr) & ~(clear))
|
|
||||||
#define mstp_setbits_le32(addr, saddr, set) \
|
|
||||||
mstp_setbits(le32, addr, saddr, set)
|
|
||||||
#define mstp_clrbits_le32(addr, saddr, clear) \
|
|
||||||
mstp_clrbits(le32, addr, saddr, clear)
|
|
||||||
|
|
||||||
int board_early_init_f(void)
|
int board_early_init_f(void)
|
||||||
{
|
{
|
||||||
|
@ -76,15 +59,13 @@ int board_early_init_f(void)
|
||||||
/* IIC1 / sh-i2c ch1 */
|
/* IIC1 / sh-i2c ch1 */
|
||||||
mstp_clrbits_le32(MSTPSR3, SMSTPCR3, IIC1_MSTP323);
|
mstp_clrbits_le32(MSTPSR3, SMSTPCR3, IIC1_MSTP323);
|
||||||
|
|
||||||
|
#ifdef CONFIG_SH_MMCIF
|
||||||
|
/* MMC */
|
||||||
|
mstp_clrbits_le32(MSTPSR3, SMSTPCR3, MMC0_MSTP315);
|
||||||
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void arch_preboot_os(void)
|
|
||||||
{
|
|
||||||
/* Disable TMU0 */
|
|
||||||
mstp_setbits_le32(MSTPSR1, SMSTPCR1, TMU0_MSTP125);
|
|
||||||
}
|
|
||||||
|
|
||||||
int board_init(void)
|
int board_init(void)
|
||||||
{
|
{
|
||||||
/* adress of boot parameters */
|
/* adress of boot parameters */
|
||||||
|
@ -145,6 +126,19 @@ int board_eth_init(bd_t *bis)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int board_mmc_init(bd_t *bis)
|
||||||
|
{
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
|
#ifdef CONFIG_SH_MMCIF
|
||||||
|
gpio_request(GPIO_GP_4_31, NULL);
|
||||||
|
gpio_set_value(GPIO_GP_4_31, 1);
|
||||||
|
|
||||||
|
ret = mmcif_mmc_init();
|
||||||
|
#endif
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
int dram_init(void)
|
int dram_init(void)
|
||||||
{
|
{
|
||||||
gd->ram_size = CONFIG_SYS_SDRAM_SIZE;
|
gd->ram_size = CONFIG_SYS_SDRAM_SIZE;
|
||||||
|
|
|
@ -6,4 +6,4 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
#
|
#
|
||||||
|
|
||||||
obj-y := gose.o qos.o
|
obj-y := gose.o qos.o ../rcar-gen2-common/common.o
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#include <asm/arch/sys_proto.h>
|
#include <asm/arch/sys_proto.h>
|
||||||
#include <asm/gpio.h>
|
#include <asm/gpio.h>
|
||||||
#include <asm/arch/rmobile.h>
|
#include <asm/arch/rmobile.h>
|
||||||
|
#include <asm/arch/rcar-mstp.h>
|
||||||
#include <netdev.h>
|
#include <netdev.h>
|
||||||
#include <miiphy.h>
|
#include <miiphy.h>
|
||||||
#include <i2c.h>
|
#include <i2c.h>
|
||||||
|
@ -41,27 +42,10 @@ void s_init(void)
|
||||||
qos_init();
|
qos_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
#define MSTPSR1 0xE6150038
|
|
||||||
#define SMSTPCR1 0xE6150134
|
|
||||||
#define TMU0_MSTP125 (1 << 25)
|
#define TMU0_MSTP125 (1 << 25)
|
||||||
|
|
||||||
#define MSTPSR7 0xE61501C4
|
|
||||||
#define SMSTPCR7 0xE615014C
|
|
||||||
#define SCIF0_MSTP721 (1 << 21)
|
#define SCIF0_MSTP721 (1 << 21)
|
||||||
|
|
||||||
#define MSTPSR8 0xE61509A0
|
|
||||||
#define SMSTPCR8 0xE6150990
|
|
||||||
#define ETHER_MSTP813 (1 << 13)
|
#define ETHER_MSTP813 (1 << 13)
|
||||||
|
|
||||||
#define mstp_setbits(type, addr, saddr, set) \
|
|
||||||
out_##type((saddr), in_##type(addr) | (set))
|
|
||||||
#define mstp_clrbits(type, addr, saddr, clear) \
|
|
||||||
out_##type((saddr), in_##type(addr) & ~(clear))
|
|
||||||
#define mstp_setbits_le32(addr, saddr, set) \
|
|
||||||
mstp_setbits(le32, addr, saddr, set)
|
|
||||||
#define mstp_clrbits_le32(addr, saddr, clear) \
|
|
||||||
mstp_clrbits(le32, addr, saddr, clear)
|
|
||||||
|
|
||||||
int board_early_init_f(void)
|
int board_early_init_f(void)
|
||||||
{
|
{
|
||||||
/* TMU0 */
|
/* TMU0 */
|
||||||
|
@ -76,16 +60,6 @@ int board_early_init_f(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define TSTR0 0x04
|
|
||||||
#define TSTR0_STR0 0x01
|
|
||||||
void arch_preboot_os(void)
|
|
||||||
{
|
|
||||||
/* stop TMU0 */
|
|
||||||
mstp_clrbits_le32(TMU_BASE + TSTR0, TMU_BASE + TSTR0, TSTR0_STR0);
|
|
||||||
/* Disable TMU0 */
|
|
||||||
mstp_setbits_le32(MSTPSR1, SMSTPCR1, TMU0_MSTP125);
|
|
||||||
}
|
|
||||||
|
|
||||||
#define PUPR5 0xE6060114
|
#define PUPR5 0xE6060114
|
||||||
#define PUPR5_ETH 0x3FFC0000
|
#define PUPR5_ETH 0x3FFC0000
|
||||||
#define PUPR5_ETH_MAGIC (1 << 27)
|
#define PUPR5_ETH_MAGIC (1 << 27)
|
||||||
|
|
|
@ -6,4 +6,4 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
#
|
#
|
||||||
|
|
||||||
obj-y := koelsch.o qos.o
|
obj-y := koelsch.o qos.o ../rcar-gen2-common/common.o
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
#include <asm/arch/sys_proto.h>
|
#include <asm/arch/sys_proto.h>
|
||||||
#include <asm/gpio.h>
|
#include <asm/gpio.h>
|
||||||
#include <asm/arch/rmobile.h>
|
#include <asm/arch/rmobile.h>
|
||||||
|
#include <asm/arch/rcar-mstp.h>
|
||||||
#include <netdev.h>
|
#include <netdev.h>
|
||||||
#include <miiphy.h>
|
#include <miiphy.h>
|
||||||
#include <i2c.h>
|
#include <i2c.h>
|
||||||
|
@ -43,27 +44,10 @@ void s_init(void)
|
||||||
qos_init();
|
qos_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
#define MSTPSR1 0xE6150038
|
|
||||||
#define SMSTPCR1 0xE6150134
|
|
||||||
#define TMU0_MSTP125 (1 << 25)
|
#define TMU0_MSTP125 (1 << 25)
|
||||||
|
|
||||||
#define MSTPSR7 0xE61501C4
|
|
||||||
#define SMSTPCR7 0xE615014C
|
|
||||||
#define SCIF0_MSTP721 (1 << 21)
|
#define SCIF0_MSTP721 (1 << 21)
|
||||||
|
|
||||||
#define MSTPSR8 0xE61509A0
|
|
||||||
#define SMSTPCR8 0xE6150990
|
|
||||||
#define ETHER_MSTP813 (1 << 13)
|
#define ETHER_MSTP813 (1 << 13)
|
||||||
|
|
||||||
#define mstp_setbits(type, addr, saddr, set) \
|
|
||||||
out_##type((saddr), in_##type(addr) | (set))
|
|
||||||
#define mstp_clrbits(type, addr, saddr, clear) \
|
|
||||||
out_##type((saddr), in_##type(addr) & ~(clear))
|
|
||||||
#define mstp_setbits_le32(addr, saddr, set) \
|
|
||||||
mstp_setbits(le32, addr, saddr, set)
|
|
||||||
#define mstp_clrbits_le32(addr, saddr, clear) \
|
|
||||||
mstp_clrbits(le32, addr, saddr, clear)
|
|
||||||
|
|
||||||
int board_early_init_f(void)
|
int board_early_init_f(void)
|
||||||
{
|
{
|
||||||
mstp_clrbits_le32(MSTPSR1, SMSTPCR1, TMU0_MSTP125);
|
mstp_clrbits_le32(MSTPSR1, SMSTPCR1, TMU0_MSTP125);
|
||||||
|
@ -77,12 +61,6 @@ int board_early_init_f(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void arch_preboot_os(void)
|
|
||||||
{
|
|
||||||
/* Disable TMU0 */
|
|
||||||
mstp_setbits_le32(MSTPSR1, SMSTPCR1, TMU0_MSTP125);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LSI pin pull-up control */
|
/* LSI pin pull-up control */
|
||||||
#define PUPR5 0xe6060114
|
#define PUPR5 0xe6060114
|
||||||
#define PUPR5_ETH 0x3FFC0000
|
#define PUPR5_ETH 0x3FFC0000
|
||||||
|
|
|
@ -6,4 +6,4 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
#
|
#
|
||||||
|
|
||||||
obj-y := lager.o qos.o
|
obj-y := lager.o qos.o ../rcar-gen2-common/common.o
|
||||||
|
|
|
@ -18,8 +18,11 @@
|
||||||
#include <asm/arch/sys_proto.h>
|
#include <asm/arch/sys_proto.h>
|
||||||
#include <asm/gpio.h>
|
#include <asm/gpio.h>
|
||||||
#include <asm/arch/rmobile.h>
|
#include <asm/arch/rmobile.h>
|
||||||
|
#include <asm/arch/rcar-mstp.h>
|
||||||
|
#include <asm/arch/mmc.h>
|
||||||
#include <miiphy.h>
|
#include <miiphy.h>
|
||||||
#include <i2c.h>
|
#include <i2c.h>
|
||||||
|
#include <mmc.h>
|
||||||
#include "qos.h"
|
#include "qos.h"
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
@ -50,26 +53,10 @@ void s_init(void)
|
||||||
qos_init();
|
qos_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
#define MSTPSR1 0xE6150038
|
|
||||||
#define SMSTPCR1 0xE6150134
|
|
||||||
#define TMU0_MSTP125 (1 << 25)
|
#define TMU0_MSTP125 (1 << 25)
|
||||||
|
|
||||||
#define MSTPSR7 0xE61501C4
|
|
||||||
#define SMSTPCR7 0xE615014C
|
|
||||||
#define SCIF0_MSTP721 (1 << 21)
|
#define SCIF0_MSTP721 (1 << 21)
|
||||||
|
|
||||||
#define MSTPSR8 0xE61509A0
|
|
||||||
#define SMSTPCR8 0xE6150990
|
|
||||||
#define ETHER_MSTP813 (1 << 13)
|
#define ETHER_MSTP813 (1 << 13)
|
||||||
|
#define MMC1_MSTP305 (1 << 5)
|
||||||
#define mstp_setbits(type, addr, saddr, set) \
|
|
||||||
out_##type((saddr), in_##type(addr) | (set))
|
|
||||||
#define mstp_clrbits(type, addr, saddr, clear) \
|
|
||||||
out_##type((saddr), in_##type(addr) & ~(clear))
|
|
||||||
#define mstp_setbits_le32(addr, saddr, set) \
|
|
||||||
mstp_setbits(le32, addr, saddr, set)
|
|
||||||
#define mstp_clrbits_le32(addr, saddr, clear) \
|
|
||||||
mstp_clrbits(le32, addr, saddr, clear)
|
|
||||||
|
|
||||||
int board_early_init_f(void)
|
int board_early_init_f(void)
|
||||||
{
|
{
|
||||||
|
@ -79,16 +66,12 @@ int board_early_init_f(void)
|
||||||
mstp_clrbits_le32(MSTPSR7, SMSTPCR7, SCIF0_MSTP721);
|
mstp_clrbits_le32(MSTPSR7, SMSTPCR7, SCIF0_MSTP721);
|
||||||
/* ETHER */
|
/* ETHER */
|
||||||
mstp_clrbits_le32(MSTPSR8, SMSTPCR8, ETHER_MSTP813);
|
mstp_clrbits_le32(MSTPSR8, SMSTPCR8, ETHER_MSTP813);
|
||||||
|
/* eMMC */
|
||||||
|
mstp_clrbits_le32(MSTPSR3, SMSTPCR3, MMC1_MSTP305);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void arch_preboot_os(void)
|
|
||||||
{
|
|
||||||
/* Disable TMU0 */
|
|
||||||
mstp_setbits_le32(MSTPSR1, SMSTPCR1, TMU0_MSTP125);
|
|
||||||
}
|
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
int board_init(void)
|
int board_init(void)
|
||||||
{
|
{
|
||||||
|
@ -163,6 +146,28 @@ int board_phy_config(struct phy_device *phydev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int board_mmc_init(bd_t *bis)
|
||||||
|
{
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
|
#ifdef CONFIG_SH_MMCIF
|
||||||
|
gpio_request(GPIO_FN_MMC1_D0, NULL);
|
||||||
|
gpio_request(GPIO_FN_MMC1_D1, NULL);
|
||||||
|
gpio_request(GPIO_FN_MMC1_D2, NULL);
|
||||||
|
gpio_request(GPIO_FN_MMC1_D3, NULL);
|
||||||
|
gpio_request(GPIO_FN_MMC1_D4, NULL);
|
||||||
|
gpio_request(GPIO_FN_MMC1_D5, NULL);
|
||||||
|
gpio_request(GPIO_FN_MMC1_D6, NULL);
|
||||||
|
gpio_request(GPIO_FN_MMC1_D7, NULL);
|
||||||
|
gpio_request(GPIO_FN_MMC1_CLK, NULL);
|
||||||
|
gpio_request(GPIO_FN_MMC1_CMD, NULL);
|
||||||
|
|
||||||
|
ret = mmcif_mmc_init();
|
||||||
|
#endif
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int dram_init(void)
|
int dram_init(void)
|
||||||
{
|
{
|
||||||
gd->ram_size = CONFIG_SYS_SDRAM_SIZE;
|
gd->ram_size = CONFIG_SYS_SDRAM_SIZE;
|
||||||
|
|
59
board/renesas/rcar-gen2-common/common.c
Normal file
59
board/renesas/rcar-gen2-common/common.c
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
/*
|
||||||
|
* board/renesas/rcar-gen2-common/common.c
|
||||||
|
*
|
||||||
|
* Copyright (C) 2013 Renesas Electronics Corporation
|
||||||
|
* Copyright (C) 2013 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: GPL-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <common.h>
|
||||||
|
#include <asm/io.h>
|
||||||
|
#include <asm/arch/sys_proto.h>
|
||||||
|
#include <asm/arch/rmobile.h>
|
||||||
|
#include <asm/arch/rcar-mstp.h>
|
||||||
|
|
||||||
|
#define TSTR0 0x04
|
||||||
|
#define TSTR0_STR0 0x01
|
||||||
|
|
||||||
|
static struct mstp_ctl mstptbl[] = {
|
||||||
|
{ SMSTPCR0, MSTP0_BITS, CONFIG_SMSTP0_ENA,
|
||||||
|
RMSTPCR0, MSTP0_BITS, CONFIG_RMSTP0_ENA },
|
||||||
|
{ SMSTPCR1, MSTP1_BITS, CONFIG_SMSTP1_ENA,
|
||||||
|
RMSTPCR1, MSTP1_BITS, CONFIG_RMSTP1_ENA },
|
||||||
|
{ SMSTPCR2, MSTP2_BITS, CONFIG_SMSTP2_ENA,
|
||||||
|
RMSTPCR2, MSTP2_BITS, CONFIG_RMSTP2_ENA },
|
||||||
|
{ SMSTPCR3, MSTP3_BITS, CONFIG_SMSTP3_ENA,
|
||||||
|
RMSTPCR3, MSTP3_BITS, CONFIG_RMSTP3_ENA },
|
||||||
|
{ SMSTPCR4, MSTP4_BITS, CONFIG_SMSTP4_ENA,
|
||||||
|
RMSTPCR4, MSTP4_BITS, CONFIG_RMSTP4_ENA },
|
||||||
|
{ SMSTPCR5, MSTP5_BITS, CONFIG_SMSTP5_ENA,
|
||||||
|
RMSTPCR5, MSTP5_BITS, CONFIG_RMSTP5_ENA },
|
||||||
|
/* No MSTP6 */
|
||||||
|
{ SMSTPCR7, MSTP7_BITS, CONFIG_SMSTP7_ENA,
|
||||||
|
RMSTPCR7, MSTP7_BITS, CONFIG_RMSTP7_ENA },
|
||||||
|
{ SMSTPCR8, MSTP8_BITS, CONFIG_SMSTP8_ENA,
|
||||||
|
RMSTPCR8, MSTP8_BITS, CONFIG_RMSTP8_ENA },
|
||||||
|
{ SMSTPCR9, MSTP9_BITS, CONFIG_SMSTP9_ENA,
|
||||||
|
RMSTPCR9, MSTP9_BITS, CONFIG_RMSTP9_ENA },
|
||||||
|
{ SMSTPCR10, MSTP10_BITS, CONFIG_SMSTP10_ENA,
|
||||||
|
RMSTPCR10, MSTP10_BITS, CONFIG_RMSTP10_ENA },
|
||||||
|
{ SMSTPCR11, MSTP11_BITS, CONFIG_SMSTP1_ENA,
|
||||||
|
RMSTPCR11, MSTP11_BITS, CONFIG_RMSTP11_ENA },
|
||||||
|
};
|
||||||
|
|
||||||
|
void arch_preboot_os(void)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
/* stop TMU0 */
|
||||||
|
mstp_clrbits_le32(TMU_BASE + TSTR0, TMU_BASE + TSTR0, TSTR0_STR0);
|
||||||
|
|
||||||
|
/* Stop module clock */
|
||||||
|
for (i = 0; i < ARRAY_SIZE(mstptbl); i++) {
|
||||||
|
mstp_setclrbits_le32(mstptbl[i].s_addr, mstptbl[i].s_dis,
|
||||||
|
mstptbl[i].s_ena);
|
||||||
|
mstp_setclrbits_le32(mstptbl[i].r_addr, mstptbl[i].r_dis,
|
||||||
|
mstptbl[i].r_ena);
|
||||||
|
}
|
||||||
|
}
|
|
@ -95,4 +95,23 @@
|
||||||
#define CONFIG_USB_EHCI_RMOBILE
|
#define CONFIG_USB_EHCI_RMOBILE
|
||||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
|
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
|
||||||
|
|
||||||
|
/* MMCIF */
|
||||||
|
#define CONFIG_MMC
|
||||||
|
#define CONFIG_GENERIC_MMC
|
||||||
|
#define CONFIG_CMD_MMC
|
||||||
|
|
||||||
|
#define CONFIG_SH_MMCIF
|
||||||
|
#define CONFIG_SH_MMCIF_ADDR 0xee200000
|
||||||
|
#define CONFIG_SH_MMCIF_CLK 48000000
|
||||||
|
|
||||||
|
/* Module stop status bits */
|
||||||
|
/* INTC-RT */
|
||||||
|
#define CONFIG_SMSTP0_ENA 0x00400000
|
||||||
|
/* MSIF */
|
||||||
|
#define CONFIG_SMSTP2_ENA 0x00002000
|
||||||
|
/* INTC-SYS, IRQC */
|
||||||
|
#define CONFIG_SMSTP4_ENA 0x00000180
|
||||||
|
/* SCIF2 */
|
||||||
|
#define CONFIG_SMSTP7_ENA 0x00080000
|
||||||
|
|
||||||
#endif /* __ALT_H */
|
#endif /* __ALT_H */
|
||||||
|
|
|
@ -91,4 +91,14 @@
|
||||||
#define CONFIG_USB_EHCI_RMOBILE
|
#define CONFIG_USB_EHCI_RMOBILE
|
||||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
|
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
|
||||||
|
|
||||||
|
/* Module stop status bits */
|
||||||
|
/* INTC-RT */
|
||||||
|
#define CONFIG_SMSTP0_ENA 0x00400000
|
||||||
|
/* MSIF */
|
||||||
|
#define CONFIG_SMSTP2_ENA 0x00002000
|
||||||
|
/* INTC-SYS, IRQC */
|
||||||
|
#define CONFIG_SMSTP4_ENA 0x00000180
|
||||||
|
/* SCIF0 */
|
||||||
|
#define CONFIG_SMSTP7_ENA 0x00200000
|
||||||
|
|
||||||
#endif /* __GOSE_H */
|
#endif /* __GOSE_H */
|
||||||
|
|
|
@ -92,4 +92,15 @@
|
||||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
|
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
|
||||||
#define CONFIG_USB_STORAGE
|
#define CONFIG_USB_STORAGE
|
||||||
|
|
||||||
|
|
||||||
|
/* Module stop status bits */
|
||||||
|
/* INTC-RT */
|
||||||
|
#define CONFIG_SMSTP0_ENA 0x00400000
|
||||||
|
/* MSIF*/
|
||||||
|
#define CONFIG_SMSTP2_ENA 0x00002000
|
||||||
|
/* INTC-SYS, IRQC */
|
||||||
|
#define CONFIG_SMSTP4_ENA 0x00000180
|
||||||
|
/* SCIF0 */
|
||||||
|
#define CONFIG_SMSTP7_ENA 0x00200000
|
||||||
|
|
||||||
#endif /* __KOELSCH_H */
|
#endif /* __KOELSCH_H */
|
||||||
|
|
|
@ -93,4 +93,23 @@
|
||||||
#define CONFIG_USB_MAX_CONTROLLER_COUNT 3
|
#define CONFIG_USB_MAX_CONTROLLER_COUNT 3
|
||||||
#define CONFIG_USB_STORAGE
|
#define CONFIG_USB_STORAGE
|
||||||
|
|
||||||
|
/* MMC */
|
||||||
|
#define CONFIG_MMC
|
||||||
|
#define CONFIG_CMD_MMC
|
||||||
|
#define CONFIG_GENERIC_MMC
|
||||||
|
|
||||||
|
#define CONFIG_SH_MMCIF
|
||||||
|
#define CONFIG_SH_MMCIF_ADDR 0xEE220000
|
||||||
|
#define CONFIG_SH_MMCIF_CLK 97500000
|
||||||
|
|
||||||
|
/* Module stop status bits */
|
||||||
|
/* INTC-RT */
|
||||||
|
#define CONFIG_SMSTP0_ENA 0x00400000
|
||||||
|
/* MSIF */
|
||||||
|
#define CONFIG_SMSTP2_ENA 0x00002000
|
||||||
|
/* INTC-SYS, IRQC */
|
||||||
|
#define CONFIG_SMSTP4_ENA 0x00000180
|
||||||
|
/* SCIF0 */
|
||||||
|
#define CONFIG_SMSTP7_ENA 0x00200000
|
||||||
|
|
||||||
#endif /* __LAGER_H */
|
#endif /* __LAGER_H */
|
||||||
|
|
|
@ -28,6 +28,9 @@
|
||||||
#define CONFIG_CMD_FAT
|
#define CONFIG_CMD_FAT
|
||||||
#define CONFIG_CMD_SF
|
#define CONFIG_CMD_SF
|
||||||
#define CONFIG_CMD_SPI
|
#define CONFIG_CMD_SPI
|
||||||
|
#define CONFIG_CMD_EXT2
|
||||||
|
#define CONFIG_CMD_EXT4
|
||||||
|
#define CONFIG_CMD_EXT4_WRITE
|
||||||
|
|
||||||
#define CONFIG_SYS_THUMB_BUILD
|
#define CONFIG_SYS_THUMB_BUILD
|
||||||
#define CONFIG_SYS_GENERIC_BOARD
|
#define CONFIG_SYS_GENERIC_BOARD
|
||||||
|
@ -36,6 +39,7 @@
|
||||||
#define CONFIG_FAT_WRITE
|
#define CONFIG_FAT_WRITE
|
||||||
#define CONFIG_DOS_PARTITION
|
#define CONFIG_DOS_PARTITION
|
||||||
#define CONFIG_SUPPORT_VFAT
|
#define CONFIG_SUPPORT_VFAT
|
||||||
|
#define CONFIG_FS_EXT4
|
||||||
#define CONFIG_EXT4_WRITE
|
#define CONFIG_EXT4_WRITE
|
||||||
|
|
||||||
#define CONFIG_CMDLINE_TAG
|
#define CONFIG_CMDLINE_TAG
|
||||||
|
|
Loading…
Reference in a new issue