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