blob: 1d526a738027612ff699f811e789d85c0e7de3ca [file] [log] [blame]
Alex Nemirovsky1ecad072020-01-30 12:34:59 -08001/* SPDX-License-Identifier: GPL-2.0+ */
2/*
3 * Copyright (C) 2020 Cortina Access Inc.
4 *
Alex Nemirovsky0c97b7f2021-01-14 13:34:13 -08005 * Configuration for Cortina-Access Presidio board
Alex Nemirovsky1ecad072020-01-30 12:34:59 -08006 */
7
8#ifndef __PRESIDIO_ASIC_H
9#define __PRESIDIO_ASIC_H
10
Alex Nemirovsky1ecad072020-01-30 12:34:59 -080011#define CONFIG_SYS_INIT_SP_ADDR 0x00100000
12#define CONFIG_SYS_BOOTM_LEN 0x00c00000
13
14/* Generic Timer Definitions */
Peng Fana369c472022-04-13 17:47:21 +080015#define CONFIG_SYS_TIMER_RATE 25000000
Alex Nemirovsky1ecad072020-01-30 12:34:59 -080016#define CONFIG_SYS_TIMER_COUNTER 0xf4321008
17
18/* note: arch/arm/cpu/armv8/start.S which references GICD_BASE/GICC_BASE
19 * does not yet support DT. Thus define it here.
20 */
Alex Nemirovsky1ecad072020-01-30 12:34:59 -080021#define GICD_BASE 0xf7011000
22#define GICC_BASE 0xf7012000
23
Alex Nemirovsky1ecad072020-01-30 12:34:59 -080024#define CONFIG_SYS_TIMER_BASE 0xf4321000
25
26/* Use external clock source */
27#define PRESIDIO_APB_CLK 125000000
28#define CORTINA_PER_IO_FREQ PRESIDIO_APB_CLK
29
30/* Cortina Serial Configuration */
31#define CORTINA_UART_CLOCK (PRESIDIO_APB_CLK)
32#define CORTINA_SERIAL_PORTS {(void *)CONFIG_SYS_SERIAL0, \
33 (void *)CONFIG_SYS_SERIAL1}
34
Alex Nemirovsky1ecad072020-01-30 12:34:59 -080035#define CONFIG_SYS_SERIAL0 PER_UART0_CFG
36#define CONFIG_SYS_SERIAL1 PER_UART1_CFG
37
Alex Nemirovsky1ecad072020-01-30 12:34:59 -080038/* SDRAM Bank #1 */
39#define DDR_BASE 0x00000000
40#define PHYS_SDRAM_1 DDR_BASE
41#define PHYS_SDRAM_1_SIZE 0x80000000 /* 2GB */
42#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
43
44/* Console I/O Buffer Size */
45#define CONFIG_SYS_CBSIZE 256
46#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \
47 sizeof(CONFIG_SYS_PROMPT) + 16)
48#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
49
Alex Nemirovsky0c97b7f2021-01-14 13:34:13 -080050#define KSEG1_ATU_XLAT(x) (x)
51
52/* HW REG ADDR */
53#define NI_READ_POLL_COUNT 1000
54#define CA_NI_MDIO_REG_BASE 0xF4338
55#define NI_HV_GLB_MAC_ADDR_CFG0_OFFSET 0x010
56#define NI_HV_GLB_MAC_ADDR_CFG1_OFFSET 0x014
57#define NI_HV_PT_BASE 0x400
58#define NI_HV_XRAM_BASE 0x820
59#define GLOBAL_BLOCK_RESET_OFFSET 0x04
60#define GLOBAL_GLOBAL_CONFIG_OFFSET 0x20
61#define GLOBAL_IO_DRIVE_CONTROL_OFFSET 0x4c
62
Alex Nemirovsky1ecad072020-01-30 12:34:59 -080063/* max command args */
64#define CONFIG_SYS_MAXARGS 64
65#define CONFIG_EXTRA_ENV_SETTINGS "silent=y\0"
66
Kate Liuf0cb5b82020-12-11 13:46:13 -080067/* nand driver parameters */
68#ifdef CONFIG_TARGET_PRESIDIO_ASIC
Kate Liuf0cb5b82020-12-11 13:46:13 -080069 #define CONFIG_SYS_MAX_NAND_DEVICE 1
Kate Liuf0cb5b82020-12-11 13:46:13 -080070 #define CONFIG_SYS_NAND_BASE CONFIG_SYS_FLASH_BASE
71 #define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE }
72#endif
73
Alex Nemirovsky1ecad072020-01-30 12:34:59 -080074#endif /* __PRESIDIO_ASIC_H */