xref: /OK3568_Linux_fs/u-boot/include/configs/sh7785lcr.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * Configuation settings for the Renesas Technology R0P7785LC0011RL board
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * Copyright (C) 2008 Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
5*4882a593Smuzhiyun  *
6*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
7*4882a593Smuzhiyun  */
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun #ifndef __SH7785LCR_H
10*4882a593Smuzhiyun #define __SH7785LCR_H
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun #define CONFIG_CPU_SH7785	1
13*4882a593Smuzhiyun #define CONFIG_SH7785LCR	1
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS					\
16*4882a593Smuzhiyun 	"bootdevice=0:1\0"						\
17*4882a593Smuzhiyun 	"usbload=usb reset;usbboot;usb stop;bootm\0"
18*4882a593Smuzhiyun 
19*4882a593Smuzhiyun #define CONFIG_DISPLAY_BOARDINFO
20*4882a593Smuzhiyun #undef	CONFIG_SHOW_BOOT_PROGRESS
21*4882a593Smuzhiyun 
22*4882a593Smuzhiyun /* MEMORY */
23*4882a593Smuzhiyun #if defined(CONFIG_SH_32BIT)
24*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE		0x8FF80000
25*4882a593Smuzhiyun /* 0x40000000 - 0x47FFFFFF does not use */
26*4882a593Smuzhiyun #define CONFIG_SH_SDRAM_OFFSET		(0x8000000)
27*4882a593Smuzhiyun #define SH7785LCR_SDRAM_PHYS_BASE	(0x40000000 + CONFIG_SH_SDRAM_OFFSET)
28*4882a593Smuzhiyun #define SH7785LCR_SDRAM_BASE		(0x80000000 + CONFIG_SH_SDRAM_OFFSET)
29*4882a593Smuzhiyun #define SH7785LCR_SDRAM_SIZE		(384 * 1024 * 1024)
30*4882a593Smuzhiyun #define SH7785LCR_FLASH_BASE_1		(0xa0000000)
31*4882a593Smuzhiyun #define SH7785LCR_FLASH_BANK_SIZE	(64 * 1024 * 1024)
32*4882a593Smuzhiyun #define SH7785LCR_USB_BASE		(0xa6000000)
33*4882a593Smuzhiyun #else
34*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE		0x0FF80000
35*4882a593Smuzhiyun #define SH7785LCR_SDRAM_BASE		(0x08000000)
36*4882a593Smuzhiyun #define SH7785LCR_SDRAM_SIZE		(128 * 1024 * 1024)
37*4882a593Smuzhiyun #define SH7785LCR_FLASH_BASE_1		(0xa0000000)
38*4882a593Smuzhiyun #define SH7785LCR_FLASH_BANK_SIZE	(64 * 1024 * 1024)
39*4882a593Smuzhiyun #define SH7785LCR_USB_BASE		(0xb4000000)
40*4882a593Smuzhiyun #endif
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun #define CONFIG_SYS_LONGHELP
43*4882a593Smuzhiyun #define CONFIG_SYS_PBSIZE		256
44*4882a593Smuzhiyun #define CONFIG_SYS_BAUDRATE_TABLE	{ 115200 }
45*4882a593Smuzhiyun 
46*4882a593Smuzhiyun /* SCIF */
47*4882a593Smuzhiyun #define CONFIG_CONS_SCIF1	1
48*4882a593Smuzhiyun #define CONFIG_SCIF_EXT_CLOCK	1
49*4882a593Smuzhiyun 
50*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START	(SH7785LCR_SDRAM_BASE)
51*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_MEMTEST_START + \
52*4882a593Smuzhiyun 					(SH7785LCR_SDRAM_SIZE) - \
53*4882a593Smuzhiyun 					 4 * 1024 * 1024)
54*4882a593Smuzhiyun #undef	CONFIG_SYS_ALT_MEMTEST
55*4882a593Smuzhiyun #undef	CONFIG_SYS_MEMTEST_SCRATCH
56*4882a593Smuzhiyun #undef	CONFIG_SYS_LOADS_BAUD_CHANGE
57*4882a593Smuzhiyun 
58*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE	(SH7785LCR_SDRAM_BASE)
59*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_SIZE	(SH7785LCR_SDRAM_SIZE)
60*4882a593Smuzhiyun #define CONFIG_SYS_LOAD_ADDR	(CONFIG_SYS_SDRAM_BASE + 16 * 1024 * 1024)
61*4882a593Smuzhiyun 
62*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_BASE	(SH7785LCR_FLASH_BASE_1)
63*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_LEN		(512 * 1024)
64*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN		(512 * 1024)
65*4882a593Smuzhiyun #define CONFIG_SYS_BOOTMAPSZ		(8 * 1024 * 1024)
66*4882a593Smuzhiyun 
67*4882a593Smuzhiyun /* FLASH */
68*4882a593Smuzhiyun #define CONFIG_FLASH_CFI_DRIVER
69*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_CFI
70*4882a593Smuzhiyun #undef	CONFIG_SYS_FLASH_QUIET_TEST
71*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_EMPTY_INFO
72*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BASE		(SH7785LCR_FLASH_BASE_1)
73*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_SECT	512
74*4882a593Smuzhiyun 
75*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_BANKS	1
76*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BANKS_LIST	{ CONFIG_SYS_FLASH_BASE + \
77*4882a593Smuzhiyun 				 (0 * SH7785LCR_FLASH_BANK_SIZE) }
78*4882a593Smuzhiyun 
79*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_ERASE_TOUT	(3 * 1000)
80*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_WRITE_TOUT	(3 * 1000)
81*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_LOCK_TOUT	(3 * 1000)
82*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_UNLOCK_TOUT	(3 * 1000)
83*4882a593Smuzhiyun 
84*4882a593Smuzhiyun #undef	CONFIG_SYS_FLASH_PROTECTION
85*4882a593Smuzhiyun #undef	CONFIG_SYS_DIRECT_FLASH_TFTP
86*4882a593Smuzhiyun 
87*4882a593Smuzhiyun /* R8A66597 */
88*4882a593Smuzhiyun #define CONFIG_USB_R8A66597_HCD
89*4882a593Smuzhiyun #define CONFIG_R8A66597_BASE_ADDR	SH7785LCR_USB_BASE
90*4882a593Smuzhiyun #define CONFIG_R8A66597_XTAL		0x0000	/* 12MHz */
91*4882a593Smuzhiyun #define CONFIG_R8A66597_LDRV		0x8000	/* 3.3V */
92*4882a593Smuzhiyun #define CONFIG_R8A66597_ENDIAN		0x0000	/* little */
93*4882a593Smuzhiyun 
94*4882a593Smuzhiyun /* PCI Controller */
95*4882a593Smuzhiyun #define CONFIG_SH4_PCI
96*4882a593Smuzhiyun #define CONFIG_SH7780_PCI
97*4882a593Smuzhiyun #if defined(CONFIG_SH_32BIT)
98*4882a593Smuzhiyun #define CONFIG_SH7780_PCI_LSR	0x1ff00001
99*4882a593Smuzhiyun #define CONFIG_SH7780_PCI_LAR	0x5f000000
100*4882a593Smuzhiyun #define CONFIG_SH7780_PCI_BAR	0x5f000000
101*4882a593Smuzhiyun #else
102*4882a593Smuzhiyun #define CONFIG_SH7780_PCI_LSR	0x07f00001
103*4882a593Smuzhiyun #define CONFIG_SH7780_PCI_LAR	CONFIG_SYS_SDRAM_SIZE
104*4882a593Smuzhiyun #define CONFIG_SH7780_PCI_BAR	CONFIG_SYS_SDRAM_SIZE
105*4882a593Smuzhiyun #endif
106*4882a593Smuzhiyun #define CONFIG_PCI_SCAN_SHOW	1
107*4882a593Smuzhiyun 
108*4882a593Smuzhiyun #define CONFIG_PCI_MEM_BUS	0xFD000000	/* Memory space base addr */
109*4882a593Smuzhiyun #define CONFIG_PCI_MEM_PHYS	CONFIG_PCI_MEM_BUS
110*4882a593Smuzhiyun #define CONFIG_PCI_MEM_SIZE	0x01000000	/* Size of Memory window */
111*4882a593Smuzhiyun 
112*4882a593Smuzhiyun #define CONFIG_PCI_IO_BUS	0xFE200000	/* IO space base address */
113*4882a593Smuzhiyun #define CONFIG_PCI_IO_PHYS	CONFIG_PCI_IO_BUS
114*4882a593Smuzhiyun #define CONFIG_PCI_IO_SIZE	0x00200000	/* Size of IO window */
115*4882a593Smuzhiyun 
116*4882a593Smuzhiyun #if defined(CONFIG_SH_32BIT)
117*4882a593Smuzhiyun #define CONFIG_PCI_SYS_PHYS	SH7785LCR_SDRAM_PHYS_BASE
118*4882a593Smuzhiyun #else
119*4882a593Smuzhiyun #define CONFIG_PCI_SYS_PHYS	CONFIG_SYS_SDRAM_BASE
120*4882a593Smuzhiyun #endif
121*4882a593Smuzhiyun #define CONFIG_PCI_SYS_BUS	CONFIG_SYS_SDRAM_BASE
122*4882a593Smuzhiyun #define CONFIG_PCI_SYS_SIZE	CONFIG_SYS_SDRAM_SIZE
123*4882a593Smuzhiyun 
124*4882a593Smuzhiyun /* ENV setting */
125*4882a593Smuzhiyun #define CONFIG_ENV_OVERWRITE	1
126*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE	(256 * 1024)
127*4882a593Smuzhiyun #define CONFIG_ENV_SIZE		(CONFIG_ENV_SECT_SIZE)
128*4882a593Smuzhiyun #define CONFIG_ENV_ADDR		(CONFIG_SYS_FLASH_BASE + CONFIG_SYS_MONITOR_LEN)
129*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET		(CONFIG_ENV_ADDR - CONFIG_SYS_FLASH_BASE)
130*4882a593Smuzhiyun #define CONFIG_ENV_SIZE_REDUND	(CONFIG_ENV_SECT_SIZE)
131*4882a593Smuzhiyun 
132*4882a593Smuzhiyun /* Board Clock */
133*4882a593Smuzhiyun /* The SCIF used external clock. system clock only used timer. */
134*4882a593Smuzhiyun #define CONFIG_SYS_CLK_FREQ	50000000
135*4882a593Smuzhiyun #define CONFIG_SH_TMU_CLK_FREQ CONFIG_SYS_CLK_FREQ
136*4882a593Smuzhiyun #define CONFIG_SH_SCIF_CLK_FREQ CONFIG_SYS_CLK_FREQ
137*4882a593Smuzhiyun #define CONFIG_SYS_TMU_CLK_DIV		4
138*4882a593Smuzhiyun 
139*4882a593Smuzhiyun #endif	/* __SH7785LCR_H */
140