mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-21 01:18:52 +09:00
![Tom Rini](/assets/img/avatar_default.png)
This series moves the CONFIG_SYS_CACHELINE_SIZE. First, in nearly all cases we are mirroring the values used by the Linux Kernel here. Also, so long as (and in this case, it is true) we implement flushes in hunks that are no larger than the smallest implementation (and given that we mirror the Linux Kernel, again we are fine) it is OK to align higher. The biggest changes here are that we always use 64 bytes for CPU_V7 even if for example the underlying core is only 32 bytes (this mirrors Linux). Second, we say ARM64 uses 64 bytes not 128 (as found in the Linux Kernel) as we do not need multi-platform support (to this degree) and only the Cavium ThunderX 88xx series has a use for such large alignment. Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Marek Vasut <marex@denx.de> Cc: Stefano Babic <sbabic@denx.de> Cc: Prafulla Wadaskar <prafulla@marvell.com> Cc: Luka Perkov <luka.perkov@sartura.hr> Cc: Stefan Roese <sr@denx.de> Cc: Nagendra T S <nagendra@mistralsolutions.com> Cc: Vaibhav Hiremath <hvaibhav@ti.com> Acked-by: Lokesh Vutla <lokeshvutla@ti.com> Cc: Steve Rae <steve.rae@raedomain.com> Cc: Igor Grinberg <grinberg@compulab.co.il> Cc: Nikita Kiryanov <nikita@compulab.co.il> Cc: Stefan Agner <stefan.agner@toradex.com> Acked-by: Heiko Schocher <hs@denx.de> Cc: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Cc: Peter Griffin <peter.griffin@linaro.org> Acked-by: Paul Kocialkowski <contact@paulk.fr> Cc: Anatolij Gustschin <agust@denx.de> Acked-by: "Pali Rohár" <pali.rohar@gmail.com> Cc: Adam Ford <aford173@gmail.com> Cc: Steve Sakoman <sakoman@gmail.com> Cc: Grazvydas Ignotas <notasas@gmail.com> Cc: Nishanth Menon <nm@ti.com> Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: Robert Baldyga <r.baldyga@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Thomas Weber <weber@corscience.de> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: David Feng <fenghua@phytium.com.cn> Cc: Alison Wang <b18965@freescale.com> Cc: Michal Simek <michal.simek@xilinx.com> Cc: Simon Glass <sjg@chromium.org> Cc: York Sun <york.sun@nxp.com> Cc: Shengzhou Liu <Shengzhou.Liu@nxp.com> Cc: Mingkai Hu <mingkai.hu@nxp.com> Cc: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com> Cc: Aneesh Bansal <aneesh.bansal@freescale.com> Cc: Saksham Jain <saksham.jain@nxp.com> Cc: Qianyu Gong <qianyu.gong@nxp.com> Cc: Wang Dongsheng <dongsheng.wang@nxp.com> Cc: Alex Porosanu <alexandru.porosanu@freescale.com> Cc: Hongbo Zhang <hongbo.zhang@nxp.com> Cc: tang yuantian <Yuantian.Tang@freescale.com> Cc: Rajesh Bhagat <rajesh.bhagat@nxp.com> Cc: Josh Wu <josh.wu@atmel.com> Cc: Bo Shen <voice.shen@atmel.com> Cc: Viresh Kumar <viresh.kumar@linaro.org> Cc: Hannes Schmelzer <oe5hpm@oevsv.at> Cc: Thomas Chou <thomas@wytron.com.tw> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Sam Protsenko <semen.protsenko@linaro.org> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: Christophe Ricard <christophe-h.ricard@st.com> Cc: Anand Moon <linux.amoon@gmail.com> Cc: Beniamino Galvani <b.galvani@gmail.com> Cc: Carlo Caione <carlo@endlessm.com> Cc: huang lin <hl@rock-chips.com> Cc: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Cc: Xu Ziyuan <xzy.xu@rock-chips.com> Cc: "jk.kernel@gmail.com" <jk.kernel@gmail.com> Cc: "Ariel D'Alessandro" <ariel@vanguardiasur.com.ar> Cc: Kever Yang <kever.yang@rock-chips.com> Cc: Samuel Egli <samuel.egli@siemens.com> Cc: Chin Liang See <clsee@altera.com> Cc: Dinh Nguyen <dinguyen@opensource.altera.com> Cc: Hans de Goede <hdegoede@redhat.com> Cc: Ian Campbell <ijc@hellion.org.uk> Cc: Siarhei Siamashka <siarhei.siamashka@gmail.com> Cc: Boris Brezillon <boris.brezillon@free-electrons.com> Cc: Andre Przywara <andre.przywara@arm.com> Cc: Bernhard Nortmann <bernhard.nortmann@web.de> Cc: Wolfgang Denk <wd@denx.de> Cc: Ben Whitten <ben.whitten@gmail.com> Cc: Tom Warren <twarren@nvidia.com> Cc: Alexander Graf <agraf@suse.de> Cc: Sekhar Nori <nsekhar@ti.com> Cc: Vitaly Andrianov <vitalya@ti.com> Cc: "Andrew F. Davis" <afd@ti.com> Cc: Murali Karicheri <m-karicheri2@ti.com> Cc: Carlos Hernandez <ceh@ti.com> Cc: Ladislav Michl <ladis@linux-mips.org> Cc: Ash Charles <ashcharles@gmail.com> Cc: Mugunthan V N <mugunthanvnm@ti.com> Cc: Daniel Allred <d-allred@ti.com> Cc: Gong Qianyu <Qianyu.Gong@freescale.com> Signed-off-by: Tom Rini <trini@konsulko.com> Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Chin Liang See <clsee@altera.com> Tested-by: Stephen Warren <swarren@nvidia.com> Acked-by: Paul Kocialkowski <contact@paulk.fr>
256 lines
7.6 KiB
C
256 lines
7.6 KiB
C
/*
|
|
* Copyright 2013 Freescale Semiconductor, Inc.
|
|
*
|
|
* Configuration settings for the phytec PCM-052 SoM.
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#ifndef __CONFIG_H
|
|
#define __CONFIG_H
|
|
|
|
#include <asm/arch/imx-regs.h>
|
|
|
|
#define CONFIG_VF610
|
|
|
|
#define CONFIG_DISPLAY_CPUINFO
|
|
#define CONFIG_DISPLAY_BOARDINFO
|
|
#define CONFIG_SYS_THUMB_BUILD
|
|
|
|
#define CONFIG_SKIP_LOWLEVEL_INIT
|
|
|
|
/* Enable passing of ATAGs */
|
|
#define CONFIG_CMDLINE_TAG
|
|
|
|
/* Size of malloc() pool */
|
|
#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 2 * 1024 * 1024)
|
|
|
|
#define CONFIG_BOARD_EARLY_INIT_F
|
|
|
|
/* Allow to overwrite serial and ethaddr */
|
|
#define CONFIG_ENV_OVERWRITE
|
|
#define CONFIG_BAUDRATE 115200
|
|
|
|
/* NAND support */
|
|
#define CONFIG_CMD_NAND
|
|
#define CONFIG_CMD_NAND_TRIMFFS
|
|
#define CONFIG_SYS_NAND_ONFI_DETECTION
|
|
|
|
#ifdef CONFIG_CMD_NAND
|
|
#define CONFIG_USE_ARCH_MEMCPY
|
|
#define CONFIG_SYS_MAX_NAND_DEVICE 1
|
|
#define CONFIG_SYS_NAND_BASE NFC_BASE_ADDR
|
|
|
|
#define CONFIG_JFFS2_NAND
|
|
|
|
/* UBI */
|
|
#define CONFIG_CMD_UBI
|
|
#define CONFIG_CMD_UBIFS
|
|
#define CONFIG_RBTREE
|
|
#define CONFIG_LZO
|
|
|
|
/* Dynamic MTD partition support */
|
|
#define CONFIG_CMD_MTDPARTS
|
|
#define CONFIG_MTD_PARTITIONS
|
|
#define CONFIG_MTD_DEVICE
|
|
#define MTDIDS_DEFAULT "nand0=NAND"
|
|
#define MTDPARTS_DEFAULT "mtdparts=NAND:256k(spare)"\
|
|
",384k(bootloader)"\
|
|
",128k(env1)"\
|
|
",128k(env2)"\
|
|
",128k(dtb)"\
|
|
",6144k(kernel)"\
|
|
",65536k(ramdisk)"\
|
|
",450944k(root)"
|
|
#endif
|
|
|
|
#define CONFIG_MMC
|
|
#define CONFIG_FSL_ESDHC
|
|
#define CONFIG_SYS_FSL_ESDHC_ADDR 0
|
|
#define CONFIG_SYS_FSL_ESDHC_NUM 1
|
|
|
|
/*#define CONFIG_ESDHC_DETECT_USE_EXTERN_IRQ1*/
|
|
#define CONFIG_SYS_FSL_ERRATUM_ESDHC135
|
|
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
|
|
#define CONFIG_SYS_FSL_ERRATUM_ESDHC_A001
|
|
|
|
#define CONFIG_GENERIC_MMC
|
|
#define CONFIG_DOS_PARTITION
|
|
|
|
#define CONFIG_FEC_MXC
|
|
#define CONFIG_MII
|
|
#define IMX_FEC_BASE ENET_BASE_ADDR
|
|
#define CONFIG_FEC_XCV_TYPE RMII
|
|
#define CONFIG_FEC_MXC_PHYADDR 0
|
|
#define CONFIG_PHYLIB
|
|
#define CONFIG_PHY_MICREL
|
|
|
|
/* QSPI Configs*/
|
|
|
|
#ifdef CONFIG_FSL_QSPI
|
|
#define CONFIG_SPI_FLASH
|
|
#define FSL_QSPI_FLASH_SIZE (1 << 24)
|
|
#define FSL_QSPI_FLASH_NUM 2
|
|
#define CONFIG_SYS_FSL_QSPI_LE
|
|
#endif
|
|
|
|
/* I2C Configs */
|
|
#define CONFIG_SYS_I2C
|
|
#define CONFIG_SYS_I2C_MXC_I2C3
|
|
#define CONFIG_SYS_I2C_MXC
|
|
|
|
/* RTC (actually an RV-4162 but M41T62-compatible) */
|
|
#define CONFIG_CMD_DATE
|
|
#define CONFIG_RTC_M41T62
|
|
#define CONFIG_SYS_I2C_RTC_ADDR 0x68
|
|
#define CONFIG_SYS_RTC_BUS_NUM 2
|
|
|
|
/* EEPROM (24FC256) */
|
|
#define CONFIG_CMD_EEPROM
|
|
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50
|
|
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2
|
|
#define CONFIG_SYS_I2C_EEPROM_BUS 2
|
|
|
|
|
|
#define CONFIG_LOADADDR 0x82000000
|
|
|
|
/* We boot from the gfxRAM area of the OCRAM. */
|
|
#define CONFIG_SYS_TEXT_BASE 0x3f408000
|
|
#define CONFIG_BOARD_SIZE_LIMIT 524288
|
|
|
|
#define CONFIG_BOOTCOMMAND "run bootcmd_sd"
|
|
#define CONFIG_EXTRA_ENV_SETTINGS \
|
|
"fdt_high=0xffffffff\0" \
|
|
"initrd_high=0xffffffff\0" \
|
|
"blimg_file=u-boot.imx\0" \
|
|
"blsec_addr=0x81000000\0" \
|
|
"blimg_addr=0x81000400\0" \
|
|
"kernel_file=zImage\0" \
|
|
"kernel_addr=0x82000000\0" \
|
|
"fdt_file=vf610-pcm052.dtb\0" \
|
|
"fdt_addr=0x81000000\0" \
|
|
"ram_file=uRamdisk\0" \
|
|
"ram_addr=0x83000000\0" \
|
|
"filesys=rootfs.ubifs\0" \
|
|
"sys_addr=0x81000000\0" \
|
|
"tftploc=/path/to/tftp/directory/\0" \
|
|
"nfs_root=/path/to/nfs/root\0" \
|
|
"tftptimeout=1000\0" \
|
|
"tftptimeoutcountmax=1000000\0" \
|
|
"mtdparts=" MTDPARTS_DEFAULT "\0" \
|
|
"bootargs_base=setenv bootargs rw mem=256M " \
|
|
"console=ttyLP1,115200n8\0" \
|
|
"bootargs_sd=setenv bootargs ${bootargs} " \
|
|
"root=/dev/mmcblk0p2 rootwait\0" \
|
|
"bootargs_net=setenv bootargs ${bootargs} root=/dev/nfs ip=dhcp " \
|
|
"nfsroot=${serverip}:${nfs_root},v3,tcp\0" \
|
|
"bootargs_nand=setenv bootargs ${bootargs} " \
|
|
"ubi.mtd=6 rootfstype=ubifs root=ubi0:rootfs\0" \
|
|
"bootargs_ram=setenv bootargs ${bootargs} " \
|
|
"root=/dev/ram rw initrd=${ram_addr}\0" \
|
|
"bootargs_mtd=setenv bootargs ${bootargs} ${mtdparts}\0" \
|
|
"bootcmd_sd=run bootargs_base bootargs_sd bootargs_mtd; " \
|
|
"fatload mmc 0:1 ${kernel_addr} ${kernel_file}; " \
|
|
"fatload mmc 0:1 ${fdt_addr} ${fdt_file}; " \
|
|
"bootz ${kernel_addr} - ${fdt_addr}\0" \
|
|
"bootcmd_net=run bootargs_base bootargs_net bootargs_mtd; " \
|
|
"tftpboot ${kernel_addr} ${tftpdir}${kernel_file}; " \
|
|
"tftpboot ${fdt_addr} ${tftpdir}${fdt_file}; " \
|
|
"bootz ${kernel_addr} - ${fdt_addr}\0" \
|
|
"bootcmd_nand=run bootargs_base bootargs_nand bootargs_mtd; " \
|
|
"nand read ${fdt_addr} dtb; " \
|
|
"nand read ${kernel_addr} kernel; " \
|
|
"bootz ${kernel_addr} - ${fdt_addr}\0" \
|
|
"bootcmd_ram=run bootargs_base bootargs_ram bootargs_mtd; " \
|
|
"nand read ${fdt_addr} dtb; " \
|
|
"nand read ${kernel_addr} kernel; " \
|
|
"nand read ${ram_addr} ramdisk; " \
|
|
"bootz ${kernel_addr} ${ram_addr} ${fdt_addr}\0" \
|
|
"update_bootloader_from_tftp=mtdparts default; " \
|
|
"nand read ${blsec_addr} bootloader; " \
|
|
"mw.b ${blimg_addr} 0xff 0x5FC00; " \
|
|
"if tftp ${blimg_addr} ${tftpdir}${blimg_file}; then " \
|
|
"nand erase.part bootloader; " \
|
|
"nand write ${blsec_addr} bootloader ${filesize}; fi\0" \
|
|
"update_kernel_from_sd=if fatload mmc 0:2 ${kernel_addr} " \
|
|
"${kernel_file}; " \
|
|
"then mtdparts default; " \
|
|
"nand erase.part kernel; " \
|
|
"nand write ${kernel_addr} kernel ${filesize}; " \
|
|
"if fatload mmc 0:2 ${fdt_addr} ${fdt_file}; then " \
|
|
"nand erase.part dtb; " \
|
|
"nand write ${fdt_addr} dtb ${filesize}; fi\0" \
|
|
"update_kernel_from_tftp=if tftp ${fdt_addr} ${tftpdir}${fdt_file}; " \
|
|
"then setenv fdtsize ${filesize}; " \
|
|
"if tftp ${kernel_addr} ${tftpdir}${kernel_file}; then " \
|
|
"mtdparts default; " \
|
|
"nand erase.part dtb; " \
|
|
"nand write ${fdt_addr} dtb ${fdtsize}; " \
|
|
"nand erase.part kernel; " \
|
|
"nand write ${kernel_addr} kernel ${filesize}; fi; fi\0" \
|
|
"update_rootfs_from_tftp=if tftp ${sys_addr} ${tftpdir}${filesys}; " \
|
|
"then mtdparts default; " \
|
|
"nand erase.part root; " \
|
|
"ubi part root; " \
|
|
"ubi create rootfs; " \
|
|
"ubi write ${sys_addr} rootfs ${filesize}; fi\0" \
|
|
"update_ramdisk_from_tftp=if tftp ${ram_addr} ${tftpdir}${ram_file}; " \
|
|
"then mtdparts default; " \
|
|
"nand erase.part ramdisk; " \
|
|
"nand write ${ram_addr} ramdisk ${filesize}; fi\0"
|
|
|
|
/* Miscellaneous configurable options */
|
|
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
|
#define CONFIG_AUTO_COMPLETE
|
|
#define CONFIG_CMDLINE_EDITING
|
|
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
|
#define CONFIG_SYS_PBSIZE \
|
|
(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
|
|
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
|
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
|
|
|
|
#define CONFIG_SYS_MEMTEST_START 0x80010000
|
|
#define CONFIG_SYS_MEMTEST_END 0x87C00000
|
|
|
|
#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
|
|
|
|
/*
|
|
* Stack sizes
|
|
* The stack sizes are set up in start.S using the settings below
|
|
*/
|
|
#define CONFIG_STACKSIZE (128 * 1024) /* regular stack */
|
|
|
|
/* Physical memory map */
|
|
#define CONFIG_NR_DRAM_BANKS 1
|
|
#define PHYS_SDRAM (0x80000000)
|
|
#define PHYS_SDRAM_SIZE (256 * 1024 * 1024)
|
|
|
|
#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM
|
|
#define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
|
|
#define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE
|
|
|
|
#define CONFIG_SYS_INIT_SP_OFFSET \
|
|
(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
|
#define CONFIG_SYS_INIT_SP_ADDR \
|
|
(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
|
|
|
|
/* FLASH and environment organization */
|
|
#define CONFIG_SYS_NO_FLASH
|
|
|
|
#ifdef CONFIG_ENV_IS_IN_MMC
|
|
#define CONFIG_ENV_SIZE (8 * 1024)
|
|
|
|
#define CONFIG_ENV_OFFSET (12 * 64 * 1024)
|
|
#define CONFIG_SYS_MMC_ENV_DEV 0
|
|
#endif
|
|
|
|
#ifdef CONFIG_ENV_IS_IN_NAND
|
|
#define CONFIG_ENV_SECT_SIZE (128 * 1024)
|
|
#define CONFIG_ENV_SIZE (8 * 1024)
|
|
#define CONFIG_ENV_OFFSET 0xA0000
|
|
#define CONFIG_ENV_SIZE_REDUND (8 * 1024)
|
|
#define CONFIG_ENV_OFFSET_REDUND 0xC0000
|
|
#endif
|
|
|
|
#endif
|