xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-lpc32xx/config.h (revision 1222305b55e2809ee9f7945ecc1f776e08943728)
152f69f81SVladimir Zapolskiy /*
252f69f81SVladimir Zapolskiy  * Common definitions for LPC32XX board configurations
352f69f81SVladimir Zapolskiy  *
40ce3f1f9SVladimir Zapolskiy  * Copyright (C) 2011-2015 Vladimir Zapolskiy <vz@mleia.com>
552f69f81SVladimir Zapolskiy  *
61a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
752f69f81SVladimir Zapolskiy  */
852f69f81SVladimir Zapolskiy 
952f69f81SVladimir Zapolskiy #ifndef _LPC32XX_CONFIG_H
1052f69f81SVladimir Zapolskiy #define _LPC32XX_CONFIG_H
1152f69f81SVladimir Zapolskiy 
120ce3f1f9SVladimir Zapolskiy 
1352f69f81SVladimir Zapolskiy /* Basic CPU architecture */
1452f69f81SVladimir Zapolskiy #define CONFIG_ARCH_CPU_INIT
1552f69f81SVladimir Zapolskiy 
1652f69f81SVladimir Zapolskiy #define CONFIG_NR_DRAM_BANKS_MAX	2
1752f69f81SVladimir Zapolskiy 
1852f69f81SVladimir Zapolskiy /* UART configuration */
19d25ba89eSVladimir Zapolskiy #if	(CONFIG_SYS_LPC32XX_UART == 1) || (CONFIG_SYS_LPC32XX_UART == 2) || \
2052f69f81SVladimir Zapolskiy 	(CONFIG_SYS_LPC32XX_UART == 7)
21d25ba89eSVladimir Zapolskiy #if !defined(CONFIG_LPC32XX_HSUART)
22d25ba89eSVladimir Zapolskiy #define CONFIG_LPC32XX_HSUART
23d25ba89eSVladimir Zapolskiy #endif
24d25ba89eSVladimir Zapolskiy #endif
2552f69f81SVladimir Zapolskiy 
26d25ba89eSVladimir Zapolskiy #if !defined(CONFIG_SYS_NS16550_CLK)
27d25ba89eSVladimir Zapolskiy #define CONFIG_SYS_NS16550_CLK		13000000
2852f69f81SVladimir Zapolskiy #endif
29d25ba89eSVladimir Zapolskiy 
30*1222305bSVladimir Zapolskiy #if !defined(CONFIG_LPC32XX_HSUART)
31d25ba89eSVladimir Zapolskiy #define CONFIG_CONS_INDEX		(CONFIG_SYS_LPC32XX_UART - 2)
32d25ba89eSVladimir Zapolskiy #else
33d25ba89eSVladimir Zapolskiy #define CONFIG_CONS_INDEX		CONFIG_SYS_LPC32XX_UART
3452f69f81SVladimir Zapolskiy #endif
3552f69f81SVladimir Zapolskiy 
3652f69f81SVladimir Zapolskiy #define CONFIG_SYS_BAUDRATE_TABLE	\
3752f69f81SVladimir Zapolskiy 		{ 9600, 19200, 38400, 57600, 115200, 230400, 460800 }
3852f69f81SVladimir Zapolskiy 
39ac2916a2SAlbert ARIBAUD \(3ADEV\) /* Ethernet */
40ac2916a2SAlbert ARIBAUD \(3ADEV\) #define LPC32XX_ETH_BASE ETHERNET_BASE
41ac2916a2SAlbert ARIBAUD \(3ADEV\) 
42327f0d23SVladimir Zapolskiy /* NAND */
43327f0d23SVladimir Zapolskiy #if defined(CONFIG_NAND_LPC32XX_SLC)
44327f0d23SVladimir Zapolskiy #define NAND_LARGE_BLOCK_PAGE_SIZE	0x800
45327f0d23SVladimir Zapolskiy #define NAND_SMALL_BLOCK_PAGE_SIZE	0x200
46327f0d23SVladimir Zapolskiy 
47327f0d23SVladimir Zapolskiy #if !defined(CONFIG_SYS_NAND_PAGE_SIZE)
48327f0d23SVladimir Zapolskiy #define CONFIG_SYS_NAND_PAGE_SIZE	NAND_LARGE_BLOCK_PAGE_SIZE
49327f0d23SVladimir Zapolskiy #endif
50327f0d23SVladimir Zapolskiy 
51327f0d23SVladimir Zapolskiy #if (CONFIG_SYS_NAND_PAGE_SIZE == NAND_LARGE_BLOCK_PAGE_SIZE)
52327f0d23SVladimir Zapolskiy #define CONFIG_SYS_NAND_OOBSIZE		64
53327f0d23SVladimir Zapolskiy #define CONFIG_SYS_NAND_ECCPOS		{ 40, 41, 42, 43, 44, 45, 46, 47, \
54327f0d23SVladimir Zapolskiy 					  48, 49, 50, 51, 52, 53, 54, 55, \
55327f0d23SVladimir Zapolskiy 					  56, 57, 58, 59, 60, 61, 62, 63, }
56327f0d23SVladimir Zapolskiy #define CONFIG_SYS_NAND_BAD_BLOCK_POS	NAND_LARGE_BADBLOCK_POS
57327f0d23SVladimir Zapolskiy #elif (CONFIG_SYS_NAND_PAGE_SIZE == NAND_SMALL_BLOCK_PAGE_SIZE)
58327f0d23SVladimir Zapolskiy #define CONFIG_SYS_NAND_OOBSIZE		16
59327f0d23SVladimir Zapolskiy #define CONFIG_SYS_NAND_ECCPOS		{ 10, 11, 12, 13, 14, 15, }
60327f0d23SVladimir Zapolskiy #define CONFIG_SYS_NAND_BAD_BLOCK_POS	0
61327f0d23SVladimir Zapolskiy #else
62327f0d23SVladimir Zapolskiy #error "CONFIG_SYS_NAND_PAGE_SIZE set to an invalid value"
63327f0d23SVladimir Zapolskiy #endif
64327f0d23SVladimir Zapolskiy 
65327f0d23SVladimir Zapolskiy #define CONFIG_SYS_NAND_ECCSIZE		0x100
66327f0d23SVladimir Zapolskiy #define CONFIG_SYS_NAND_ECCBYTES	3
67327f0d23SVladimir Zapolskiy #define CONFIG_SYS_NAND_PAGE_COUNT	(CONFIG_SYS_NAND_BLOCK_SIZE / \
68327f0d23SVladimir Zapolskiy 						CONFIG_SYS_NAND_PAGE_SIZE)
69327f0d23SVladimir Zapolskiy #endif	/* CONFIG_NAND_LPC32XX_SLC */
70327f0d23SVladimir Zapolskiy 
7152f69f81SVladimir Zapolskiy /* NOR Flash */
7252f69f81SVladimir Zapolskiy #if defined(CONFIG_SYS_FLASH_CFI)
7352f69f81SVladimir Zapolskiy #define CONFIG_FLASH_CFI_DRIVER
7452f69f81SVladimir Zapolskiy #define CONFIG_SYS_FLASH_PROTECTION
7552f69f81SVladimir Zapolskiy #endif
7652f69f81SVladimir Zapolskiy 
77554b0e0dSVladimir Zapolskiy /* USB OHCI */
78554b0e0dSVladimir Zapolskiy #if defined(CONFIG_USB_OHCI_LPC32XX)
79554b0e0dSVladimir Zapolskiy #define CONFIG_USB_OHCI_NEW
80554b0e0dSVladimir Zapolskiy #define CONFIG_SYS_USB_OHCI_CPU_INIT
81554b0e0dSVladimir Zapolskiy #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS	1
82554b0e0dSVladimir Zapolskiy #define CONFIG_SYS_USB_OHCI_REGS_BASE		USB_BASE
83554b0e0dSVladimir Zapolskiy #define CONFIG_SYS_USB_OHCI_SLOT_NAME		"lpc32xx-ohci"
84554b0e0dSVladimir Zapolskiy #endif
85554b0e0dSVladimir Zapolskiy 
8652f69f81SVladimir Zapolskiy #endif /* _LPC32XX_CONFIG_H */
87