xref: /OK3568_Linux_fs/u-boot/include/configs/kmp204x.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * (C) Copyright 2013 Keymile AG
3*4882a593Smuzhiyun  * Valentin Longchamp <valentin.longchamp@keymile.com>
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun #ifndef __CONFIG_H
9*4882a593Smuzhiyun #define __CONFIG_H
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun /* KMLION1 */
12*4882a593Smuzhiyun #if defined(CONFIG_KMLION1)
13*4882a593Smuzhiyun #define CONFIG_HOSTNAME		kmlion1
14*4882a593Smuzhiyun #define CONFIG_KM_BOARD_NAME	"kmlion1"
15*4882a593Smuzhiyun 
16*4882a593Smuzhiyun /* KMCOGE4 */
17*4882a593Smuzhiyun #elif defined(CONFIG_KMCOGE4)
18*4882a593Smuzhiyun #define CONFIG_HOSTNAME		kmcoge4
19*4882a593Smuzhiyun #define CONFIG_KM_BOARD_NAME	"kmcoge4"
20*4882a593Smuzhiyun 
21*4882a593Smuzhiyun #else
22*4882a593Smuzhiyun #error ("Board not supported")
23*4882a593Smuzhiyun #endif
24*4882a593Smuzhiyun 
25*4882a593Smuzhiyun #define CONFIG_KMP204X
26*4882a593Smuzhiyun 
27*4882a593Smuzhiyun #include "km/kmp204x-common.h"
28*4882a593Smuzhiyun 
29*4882a593Smuzhiyun #if defined(CONFIG_KMLION1)
30*4882a593Smuzhiyun /* App1 Local bus */
31*4882a593Smuzhiyun #define CONFIG_SYS_LBAPP1_BASE		0xD0000000
32*4882a593Smuzhiyun #define CONFIG_SYS_LBAPP1_BASE_PHYS	0xFD0000000ull
33*4882a593Smuzhiyun 
34*4882a593Smuzhiyun #define CONFIG_SYS_LBAPP1_BR_PRELIM (BR_PHYS_ADDR(CONFIG_SYS_LBAPP1_BASE_PHYS) \
35*4882a593Smuzhiyun 				| BR_PS_8	/* Port Size 8 bits */ \
36*4882a593Smuzhiyun 				| BR_DECC_OFF	/* no error corr */ \
37*4882a593Smuzhiyun 				| BR_MS_GPCM	/* MSEL = GPCM */ \
38*4882a593Smuzhiyun 				| BR_V)		/* valid */
39*4882a593Smuzhiyun 
40*4882a593Smuzhiyun #define CONFIG_SYS_LBAPP1_OR_PRELIM (OR_AM_256MB	/* length 256MB */ \
41*4882a593Smuzhiyun 				| OR_GPCM_ACS_DIV2 /* LCS 1/2 clk after */ \
42*4882a593Smuzhiyun 				| OR_GPCM_CSNT /* LCS 1/4 clk before */ \
43*4882a593Smuzhiyun 				| OR_GPCM_SCY_2 /* 2 clk wait cycles */ \
44*4882a593Smuzhiyun 				| OR_GPCM_TRLX /* relaxed tmgs */ \
45*4882a593Smuzhiyun 				| OR_GPCM_EAD) /* extra bus clk cycles */
46*4882a593Smuzhiyun /* Local bus app1 Base Address */
47*4882a593Smuzhiyun #define CONFIG_SYS_BR2_PRELIM  CONFIG_SYS_LBAPP1_BR_PRELIM
48*4882a593Smuzhiyun /* Local bus app1 Options */
49*4882a593Smuzhiyun #define CONFIG_SYS_OR2_PRELIM  CONFIG_SYS_LBAPP1_OR_PRELIM
50*4882a593Smuzhiyun #endif
51*4882a593Smuzhiyun 
52*4882a593Smuzhiyun /* App2 Local bus */
53*4882a593Smuzhiyun #define CONFIG_SYS_LBAPP2_BASE		0xE0000000
54*4882a593Smuzhiyun #define CONFIG_SYS_LBAPP2_BASE_PHYS	0xFE0000000ull
55*4882a593Smuzhiyun 
56*4882a593Smuzhiyun #define CONFIG_SYS_LBAPP2_BR_PRELIM (BR_PHYS_ADDR(CONFIG_SYS_LBAPP2_BASE_PHYS) \
57*4882a593Smuzhiyun 				| BR_PS_8	/* Port Size 8 bits */ \
58*4882a593Smuzhiyun 				| BR_DECC_OFF	/* no error corr */ \
59*4882a593Smuzhiyun 				| BR_MS_GPCM	/* MSEL = GPCM */ \
60*4882a593Smuzhiyun 				| BR_V)		/* valid */
61*4882a593Smuzhiyun 
62*4882a593Smuzhiyun #define CONFIG_SYS_LBAPP2_OR_PRELIM (OR_AM_256MB	/* length 256MB */ \
63*4882a593Smuzhiyun 				| OR_GPCM_ACS_DIV2 /* LCS 1/2 clk after */ \
64*4882a593Smuzhiyun 				| OR_GPCM_CSNT /* LCS 1/4 clk before */ \
65*4882a593Smuzhiyun 				| OR_GPCM_SCY_2 /* 2 clk wait cycles */ \
66*4882a593Smuzhiyun 				| OR_GPCM_TRLX /* relaxed tmgs */ \
67*4882a593Smuzhiyun 				| OR_GPCM_EAD) /* extra bus clk cycles */
68*4882a593Smuzhiyun /* Local bus app2 Base Address */
69*4882a593Smuzhiyun #define CONFIG_SYS_BR3_PRELIM  CONFIG_SYS_LBAPP2_BR_PRELIM
70*4882a593Smuzhiyun /* Local bus app2 Options */
71*4882a593Smuzhiyun #define CONFIG_SYS_OR3_PRELIM  CONFIG_SYS_LBAPP2_OR_PRELIM
72*4882a593Smuzhiyun 
73*4882a593Smuzhiyun #endif	/* __CONFIG_H */
74