From e0974323f96d6ed39ed604eb3ec6c32d1a935356 Mon Sep 17 00:00:00 2001 From: Akila N Date: Wed, 16 Mar 2016 15:12:47 +0530 Subject: [PATCH] qca: ipq40xx: Add configuation files for ipq40xx Change-Id: Id5236cad6be0bcc1584ecc8c59bd0d17c8af567e Signed-off-by: Akila N --- configs/ipq40xx_defconfig | 300 ++++++++++++++++++++++++++++++++++++++ include/configs/ipq40xx.h | 135 +++++++++++++++++ 2 files changed, 435 insertions(+) create mode 100644 configs/ipq40xx_defconfig create mode 100644 include/configs/ipq40xx.h diff --git a/configs/ipq40xx_defconfig b/configs/ipq40xx_defconfig new file mode 100644 index 0000000000..5ce9c1deb1 --- /dev/null +++ b/configs/ipq40xx_defconfig @@ -0,0 +1,300 @@ +CONFIG_ARM=y +CONFIG_HAS_VBAR=y +CONFIG_CPU_V7=y +CONFIG_ARCH_IPQ40xx=y +CONFIG_SYS_MALLOC_F_LEN=0x400 +CONFIG_SYS_MALLOC_F=y +CONFIG_DM_SERIAL=y +CONFIG_DEFAULT_DEVICE_TREE="" +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_EXPERT=y +CONFIG_SYS_MALLOC_CLEAR_ON_INIT=y +CONFIG_FIT=y +CONFIG_FIT_VERBOSE=y +# CONFIG_FIT_SIGNATURE is not set +CONFIG_SYS_EXTRA_OPTIONS="" +CONFIG_SYS_PROMPT="IPQ40xx# " + +# +# Commands +# + +# +# Info commands +# +CONFIG_CMD_BDI=y +CONFIG_CMD_CONSOLE=y + +# +# Boot commands +# +# CONFIG_CMD_BOOTD is not set +CONFIG_CMD_BOOTM=y +CONFIG_CMD_GO=y +# CONFIG_CMD_RUN is not set +# CONFIG_CMD_IMI is not set +# CONFIG_CMD_IMLS is not set +# CONFIG_CMD_XIMG is not set + +# +# Environment commands +# +CONFIG_CMD_EXPORTENV=y +CONFIG_CMD_IMPORTENV=y +CONFIG_CMD_EDITENV=y +CONFIG_CMD_SAVEENV=y +CONFIG_CMD_ENV_EXISTS=y + +# +# Memory commands +# +CONFIG_CMD_MEMORY=y +CONFIG_CMD_CRC32=y +# CONFIG_LOOPW is not set +# CONFIG_CMD_MEMTEST is not set +# CONFIG_CMD_MX_CYCLIC is not set +# CONFIG_CMD_MEMINFO is not set + +# +# Device access commands +# +CONFIG_CMD_DM=y +# CONFIG_CMD_DEMO is not set +CONFIG_CMD_LOADB=y +CONFIG_CMD_LOADS=y +CONFIG_CMD_FLASH=y +# CONFIG_CMD_NAND is not set +# CONFIG_CMD_SF is not set +# CONFIG_CMD_SPI is not set +# CONFIG_CMD_I2C is not set +# CONFIG_CMD_USB is not set +CONFIG_CMD_FPGA=y + +# +# Shell scripting commands +# +CONFIG_CMD_ECHO=y +CONFIG_CMD_ITEST=y +CONFIG_CMD_SOURCE=y +CONFIG_CMD_SETEXPR=y + +# +# Network commands +# +CONFIG_CMD_NET=y +# CONFIG_CMD_TFTPPUT is not set +# CONFIG_CMD_TFTPSRV is not set +# CONFIG_CMD_RARP is not set +# CONFIG_CMD_DHCP is not set +CONFIG_CMD_NFS=y +# CONFIG_CMD_PING is not set +# CONFIG_CMD_CDP is not set +# CONFIG_CMD_SNTP is not set +# CONFIG_CMD_DNS is not set +# CONFIG_CMD_LINK_LOCAL is not set + +# +# Misc commands +# +# CONFIG_CMD_TIME is not set +CONFIG_CMD_MISC=y +# CONFIG_CMD_TIMER is not set + +# +# Boot timing +# +# CONFIG_BOOTSTAGE is not set +CONFIG_BOOTSTAGE_USER_COUNT=20 +CONFIG_BOOTSTAGE_STASH_ADDR=0 +CONFIG_BOOTSTAGE_STASH_SIZE=4096 + +# +# Power commands +# + +# +# Security commands +# +CONFIG_SUPPORT_OF_CONTROL=y + +# +# Device Tree Control +# +CONFIG_OF_CONTROL=y +CONFIG_OF_SEPARATE=y +# CONFIG_OF_EMBED is not set +CONFIG_NET=y +# CONFIG_NET_RANDOM_ETHADDR is not set +# CONFIG_NETCONSOLE is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_DM=y +CONFIG_DM_WARN=y +CONFIG_DM_DEVICE_REMOVE=y +CONFIG_DM_STDIO=y +CONFIG_DM_SEQ_ALIAS=y +# CONFIG_REGMAP is not set +# CONFIG_DEVRES is not set +CONFIG_SIMPLE_BUS=y +# CONFIG_CLK is not set +# CONFIG_CPU is not set + +# +# Hardware crypto devices +# +# CONFIG_FSL_CAAM is not set + +# +# Demo for driver model +# +# CONFIG_DM_DEMO is not set + +# +# DFU support +# +# CONFIG_DFU_TFTP is not set + +# +# GPIO Support +# +# CONFIG_LPC32XX_GPIO is not set +# CONFIG_VYBRID_GPIO is not set + +# +# I2C support +# +# CONFIG_DM_I2C_COMPAT is not set +# CONFIG_CROS_EC_KEYB is not set + +# +# LED Support +# +# CONFIG_LED is not set + +# +# Multifunction device drivers +# +# CONFIG_CROS_EC is not set +# CONFIG_FSL_SEC_MON is not set +# CONFIG_PCA9551_LED is not set +# CONFIG_RESET is not set + +# +# MMC Host controller Support +# +# CONFIG_DM_MMC is not set + +# +# NAND Device Support +# +# CONFIG_NAND_DENALI is not set +# CONFIG_NAND_VF610_NFC is not set +# CONFIG_NAND_PXA3XX is not set + +# +# Generic NAND options +# + +# +# SPI Flash Support +# +# CONFIG_SPI_FLASH is not set +# CONFIG_DM_ETH is not set +# CONFIG_PHYLIB is not set +# CONFIG_NETDEVICES is not set + +# +# PCI +# +# CONFIG_DM_PCI is not set + +# +# Pin controllers +# +# CONFIG_PINCTRL is not set + +# +# Power +# +# CONFIG_DM_PMIC is not set +# CONFIG_DM_REGULATOR is not set +# CONFIG_RAM is not set + +# +# Real Time Clock +# +# CONFIG_DM_RTC is not set + +# +# Serial drivers +# +CONFIG_REQUIRE_SERIAL_CONSOLE=y +# CONFIG_DEBUG_UART is not set + +# +# Sound support +# +# CONFIG_SOUND is not set + +# +# SPI Support +# +# CONFIG_FSL_ESPI is not set +# CONFIG_TI_QSPI is not set +# CONFIG_DM_THERMAL is not set + +# +# TPM support +# +# CONFIG_USB is not set + +# +# Graphics support +# +# CONFIG_VIDEO_VESA is not set +# CONFIG_VIDEO_LCD_ANX9804 is not set +# CONFIG_VIDEO_LCD_SSD2828 is not set +# CONFIG_DISPLAY_PORT is not set +# CONFIG_VIDEO_TEGRA124 is not set +# CONFIG_VIDEO_BRIDGE is not set +# CONFIG_PHYS_TO_BUS is not set + +# +# File systems +# + +# +# Library routines +# +# CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set +CONFIG_HAVE_PRIVATE_LIBGCC=y +# CONFIG_USE_PRIVATE_LIBGCC is not set +CONFIG_SYS_HZ=1000 +# CONFIG_SYS_VSNPRINTF is not set +CONFIG_REGEX=y +# CONFIG_LIB_RAND is not set +# CONFIG_CMD_DHRYSTONE is not set +# CONFIG_RSA is not set +# CONFIG_TPM is not set + +# +# Hashing Support +# +# CONFIG_SHA1 is not set +# CONFIG_SHA256 is not set +# CONFIG_SHA_HW_ACCEL is not set + +# +# Compression Support +# +# CONFIG_LZ4 is not set +# CONFIG_ERRNO_STR is not set +# CONFIG_UNIT_TEST is not set diff --git a/include/configs/ipq40xx.h b/include/configs/ipq40xx.h new file mode 100644 index 0000000000..1e991d57d5 --- /dev/null +++ b/include/configs/ipq40xx.h @@ -0,0 +1,135 @@ +/* + * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef _IPQ40XX_H +#define _IPQ40XX_H + +/* + * Beat the system! tools/scripts/make-asm-offsets uses + * the following hard-coded define for both u-boot's + * ASM offsets and platform specific ASM offsets :( + */ + +#ifndef DO_DEPS_ONLY +#include +#endif + +#define CONFIG_IPQ40XX +#define CONFIG_BOARD_EARLY_INIT_F +#define CONFIG_SYS_NO_FLASH +#define CONFIG_SYS_CACHELINE_SIZE 64 +#define CONFIG_SKIP_LOWLEVEL_INIT +#define CONFIG_SYS_HZ 1000 +#define CONFIG_ENV_IS_NOWHERE 1 + +#define CONFIG_IPQ40XX_UART +#define CONFIG_CONS_INDEX 1 + +#define CONFIG_BAUDRATE 115200 +#define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600,\ + 115200} +#define V_PROMPT "(IPQ40xx) # " +#define CONFIG_SYS_CBSIZE (256 * 2) /* Console I/O Buffer Size */ +#define CONFIG_SYS_MAXARGS 16 +#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \ + sizeof(CONFIG_SYS_PROMPT) + 16) + +#define CONFIG_SYS_SDRAM_BASE 0x80000000 +#define CONFIG_SYS_TEXT_BASE 0x87300000 +#define CONFIG_SYS_SDRAM_SIZE 0x10000000 +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_TEXT_BASE + 0x100000 - GENERATED_GBL_DATA_SIZE) +#define CONFIG_MAX_RAM_BANK_SIZE CONFIG_SYS_SDRAM_SIZE +#define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE + (64 << 20)) +#define CONFIG_DTB_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE + (96 << 20)) +#define CONFIG_NR_DRAM_BANKS 1 +#define CONFIG_OF_LIBFDT 1 + +#define CONFIG_IPQ_APPSBL_IMG_TYPE 0x5 + +#define CONFIG_EXTRA_ENV_SETTINGS \ + "fdtcontroladdr=0x84000000\0" + +#ifndef __ASSEMBLY__ +#include +extern loff_t board_env_offset; +extern loff_t board_env_range; +extern loff_t board_env_size; + +#if !defined(__ASSEMBLY__) +#define INIT_STACK_SIZE 1024 +typedef struct { + uint8_t uboot[1024 * 1024 - INIT_STACK_SIZE]; /* ~1MB */ + uint8_t init_stack[INIT_STACK_SIZE]; + uint8_t sbl[1024 * 1024]; /* 1 MB */ + uint8_t cnss_debug[6 * 1024 * 1024]; /* 6 MB */ + uint8_t tz_apps[3 * 1024 * 1024]; /* 3 MB */ + uint8_t smem[512 * 1024]; /* 512 KB */ + uint8_t tz[1536 * 1024]; /* 1.5 MB */ +} __attribute__ ((__packed__)) qca_mem_reserve_t; + +#define QCA_MEM_RESERVE_SIZE(x) sizeof(((qca_mem_reserve_t *)0)->x) +#define QCA_MEM_RESERVE_BASE(x) \ + (CONFIG_SYS_TEXT_BASE + \ + ((uint32_t)&(((qca_mem_reserve_t *)0)->x))) +#endif/*__ASSEMBLY__*/ + +#define CONFIG_QCA_SMEM_BASE 0x87e00000 +#define QCA_KERNEL_START_ADDR \ + (CONFIG_SYS_SDRAM_BASE + GENERATED_QCA_RESERVE_SIZE) + +#define QCA_DRAM_KERNEL_SIZE \ + (CONFIG_SYS_SDRAM_SIZE - GENERATED_QCA_RESERVE_SIZE) + +#define QCA_BOOT_PARAMS_ADDR (QCA_KERNEL_START_ADDR + 0x100) +#endif + +/* Environment */ +#define CONFIG_ARCH_CPU_INIT +#define CONFIG_BOARD_LATE_INIT +#define CONFIG_ENV_OFFSET board_env_offset +#define CONFIG_ENV_SIZE_MAX (256 << 10) /* 256 KB */ +#define CONFIG_ENV_RANGE board_env_size +#define CONFIG_ENV_SIZE (256 << 10) /* 256 KB */ +#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE_MAX + (256 << 10)) + +#define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE + 0x1300000 +#define CONFIG_SYS_MEMTEST_END CONFIG_SYS_MEMTEST_START + 0x100 +#define CONFIG_CMD_SOURCE 1 +#define CONFIG_INITRD_TAG 1 +#define CONFIG_SYS_HUSH_PARSER +#define CONFIG_SYS_NULLDEV + +/* L1 cache line size is 64 bytes, L2 cache line size is 128 bytes + * Cache flush and invalidation based on L1 cache, so the cache line + * size is configured to 64 */ +#define CONFIG_SYS_CACHELINE_SIZE 64 + +#define CONFIG_IPQ40XX_EDMA 1 +#define CONFIG_NET_RETRY_COUNT 5 +#define CONFIG_SYS_RX_ETH_BUFFER 16 +#define CONFIG_IPQ40XX_MDIO 1 +#define CONFIG_QCA8075_PHY 1 +#define CONFIG_QCA8033_PHY 1 +#define CONFIG_MII +#define CONFIG_CMD_MII +#define CONFIG_IPADDR 192.168.1.11 +#define CONFIG_IPQ_NO_MACS 2 + +#define CONFIG_MTD_DEVICE +#define CONFIG_MTD_PARTITIONS +#define CONFIG_CMD_MTDPARTS + +#define CONFIG_BOOTCOMMAND "bootipq" +#define CONFIG_BOOTDELAY 2 + +#endif /* _IPQ40XX_H */