blob: df07df6a5a728eab7645a43ad434b16d45f046f6 [file] [log] [blame]
Alex Nemirovsky7d706a82020-01-30 12:34:59 -08001/* SPDX-License-Identifier: GPL-2.0+ */
2/*
3 * Copyright (C) 2020 Cortina Access Inc.
4 *
Alex Nemirovskyc34a9272021-01-14 13:34:13 -08005 * Configuration for Cortina-Access Presidio board
Alex Nemirovsky7d706a82020-01-30 12:34:59 -08006 */
7
8#ifndef __PRESIDIO_ASIC_H
9#define __PRESIDIO_ASIC_H
10
Alex Nemirovsky7d706a82020-01-30 12:34:59 -080011/* Generic Timer Definitions */
Tom Rini65cc0e22022-11-16 13:10:41 -050012#define CFG_SYS_TIMER_RATE 25000000
13#define CFG_SYS_TIMER_COUNTER 0xf4321008
Alex Nemirovsky7d706a82020-01-30 12:34:59 -080014
15/* note: arch/arm/cpu/armv8/start.S which references GICD_BASE/GICC_BASE
16 * does not yet support DT. Thus define it here.
17 */
Alex Nemirovsky7d706a82020-01-30 12:34:59 -080018#define GICD_BASE 0xf7011000
19#define GICC_BASE 0xf7012000
20
Tom Rini65cc0e22022-11-16 13:10:41 -050021#define CFG_SYS_TIMER_BASE 0xf4321000
Alex Nemirovsky7d706a82020-01-30 12:34:59 -080022
23/* Use external clock source */
24#define PRESIDIO_APB_CLK 125000000
25#define CORTINA_PER_IO_FREQ PRESIDIO_APB_CLK
26
27/* Cortina Serial Configuration */
28#define CORTINA_UART_CLOCK (PRESIDIO_APB_CLK)
Tom Rini65cc0e22022-11-16 13:10:41 -050029#define CORTINA_SERIAL_PORTS {(void *)CFG_SYS_SERIAL0, \
30 (void *)CFG_SYS_SERIAL1}
Alex Nemirovsky7d706a82020-01-30 12:34:59 -080031
Tom Rini65cc0e22022-11-16 13:10:41 -050032#define CFG_SYS_SERIAL0 PER_UART0_CFG
33#define CFG_SYS_SERIAL1 PER_UART1_CFG
Alex Nemirovsky7d706a82020-01-30 12:34:59 -080034
Alex Nemirovsky7d706a82020-01-30 12:34:59 -080035/* SDRAM Bank #1 */
36#define DDR_BASE 0x00000000
37#define PHYS_SDRAM_1 DDR_BASE
38#define PHYS_SDRAM_1_SIZE 0x80000000 /* 2GB */
Tom Riniaa6e94d2022-11-16 13:10:37 -050039#define CFG_SYS_SDRAM_BASE PHYS_SDRAM_1
Alex Nemirovsky7d706a82020-01-30 12:34:59 -080040
41/* Console I/O Buffer Size */
Alex Nemirovsky7d706a82020-01-30 12:34:59 -080042
Alex Nemirovskyc34a9272021-01-14 13:34:13 -080043#define KSEG1_ATU_XLAT(x) (x)
44
45/* HW REG ADDR */
46#define NI_READ_POLL_COUNT 1000
47#define CA_NI_MDIO_REG_BASE 0xF4338
48#define NI_HV_GLB_MAC_ADDR_CFG0_OFFSET 0x010
49#define NI_HV_GLB_MAC_ADDR_CFG1_OFFSET 0x014
50#define NI_HV_PT_BASE 0x400
51#define NI_HV_XRAM_BASE 0x820
52#define GLOBAL_BLOCK_RESET_OFFSET 0x04
53#define GLOBAL_GLOBAL_CONFIG_OFFSET 0x20
54#define GLOBAL_IO_DRIVE_CONTROL_OFFSET 0x4c
55
Alex Nemirovsky7d706a82020-01-30 12:34:59 -080056/* max command args */
Tom Rini0613c362022-12-04 10:03:50 -050057#define CFG_EXTRA_ENV_SETTINGS "silent=y\0"
Alex Nemirovsky7d706a82020-01-30 12:34:59 -080058
Kate Liu34a5add2020-12-11 13:46:13 -080059/* nand driver parameters */
60#ifdef CONFIG_TARGET_PRESIDIO_ASIC
Tom Rini65cc0e22022-11-16 13:10:41 -050061 #define CFG_SYS_NAND_BASE CFG_SYS_FLASH_BASE
Tom Rini4e590942022-11-12 17:36:51 -050062 #define CFG_SYS_NAND_BASE_LIST { CFG_SYS_NAND_BASE }
Kate Liu34a5add2020-12-11 13:46:13 -080063#endif
64
Alex Nemirovsky7d706a82020-01-30 12:34:59 -080065#endif /* __PRESIDIO_ASIC_H */