123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257 |
- /* SPDX-License-Identifier: GPL-2.0+
- *
- * Copyright (C) Guangzhou FriendlyARM Computer Tech. Co., Ltd.
- * (http://www.friendlyarm.com)
- *
- * (C) Copyright 2016 Nexell
- * Hyejung Kwon <cjscld15@nexell.co.kr>
- *
- * Copyright (C) 2019 Stefan Bosch <stefan_b@posteo.net>
- */
- #ifndef __CONFIG_H__
- #define __CONFIG_H__
- #include <linux/sizes.h>
- #include <asm/arch/nexell.h>
- /*-----------------------------------------------------------------------
- * System memory Configuration
- */
- #define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_TEXT_BASE
- #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
- #define CONFIG_SYS_MEM_SIZE 0x40000000
- #define CONFIG_SYS_SDRAM_BASE 0x71000000
- /*
- * "(CONFIG_SYS_MEM_SIZE - CONFIG_SYS_RESERVE_MEM_SIZE)" has been used in
- * u-boot nanopi2-v2016.01.
- * This is not working anymore because boot_fdt_add_mem_rsv_regions() in
- * common/image-fdt.c has been extended:
- * Also reserved-memory sections are marked as unusable.
- *
- * In friendlyArm Ubuntu 16.04 source arch/arm/boot/dts/s5p4418.dtsi:
- * reserved-memory {
- * #address-cells = <1>;
- * #size-cells = <1>;
- * ranges;
- *
- * secure_memory@b0000000 {
- * reg = <0xB0000000 0x1000000>;
- * nop-map;
- * };
- * };
- *
- * arch_lmb_reserve() of arch/arm/lib/bootm.c:
- * "Allocate space for command line and board info - ... below the current
- * stack pointer."
- * --> Memory allocated would overlap with "secure_memory@b0000000"
- * --> lmb_add_region(rgn, base==0xb0000000, size==0x1000000) fails,
- * boot output:
- * ...
- * Kernel image @ 0x71080000 [ 0x000000 - 0x60e628 ]
- * ## Flattened Device Tree blob at 7a000000
- * Booting using the fdt blob at 0x7a000000
- * ERROR: reserving fdt memory region failed (addr=b0000000 size=1000000)
- * Using Device Tree in place at 7a000000, end 7a00fbf0
- *
- * Starting kernel ...
- * ...
- */
- #define CONFIG_SYS_SDRAM_SIZE (0xb0000000 - CONFIG_SYS_SDRAM_BASE)
- #define CONFIG_SYS_MALLOC_LEN (32 * 1024 * 1024)
- #define BMP_LOAD_ADDR 0x78000000
- /* kernel load address */
- #define CONFIG_SYS_LOAD_ADDR 0x71080000
- #define INITRD_START 0x79000000
- #define KERNEL_DTB_ADDR 0x7A000000
- /*-----------------------------------------------------------------------
- * High Level System Configuration
- */
- /* Not used: not need IRQ/FIQ stuff */
- #undef CONFIG_USE_IRQ
- /* decrementer freq: 1ms ticks */
- #define CONFIG_SYS_HZ 1000
- /*-----------------------------------------------------------------------
- * System initialize options (board_init_f)
- */
- /* board_init_f->init_sequence, call arch_cpu_init */
- #define CONFIG_ARCH_CPU_INIT
- /*-----------------------------------------------------------------------
- * Miscellaneous configurable options
- */
- #ifdef CONFIG_SYS_PROMPT
- #undef CONFIG_SYS_PROMPT
- /* Monitor Command Prompt */
- #define CONFIG_SYS_PROMPT "nanopi2# "
- #endif
- /* Console I/O Buffer Size */
- #define CONFIG_SYS_CBSIZE 1024
- /* Print Buffer Size */
- #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \
- sizeof(CONFIG_SYS_PROMPT) + 16)
- /* max number of command args */
- #define CONFIG_SYS_MAXARGS 16
- /* Boot Argument Buffer Size */
- #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
- /*-----------------------------------------------------------------------
- * allow to overwrite serial and ethaddr
- */
- #define CONFIG_ENV_OVERWRITE
- #ifdef CONFIG_HUSH_PARSER
- #define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
- #endif
- /*-----------------------------------------------------------------------
- * Etc Command definition
- */
- #undef CONFIG_BOOTM_NETBSD
- #undef CONFIG_BOOTM_RTEMS
- /*-----------------------------------------------------------------------
- * serial console configuration
- */
- #define CONFIG_PL011_CLOCK 50000000
- #define CONFIG_PL01x_PORTS {(void *)PHY_BASEADDR_UART0, \
- (void *)PHY_BASEADDR_UART1, \
- (void *)PHY_BASEADDR_UART2, \
- (void *)PHY_BASEADDR_UART3}
- #define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
- /*-----------------------------------------------------------------------
- * PLL
- */
- #define CONFIG_SYS_PLLFIN 24000000UL
- /*-----------------------------------------------------------------------
- * Timer
- */
- #define CONFIG_TIMER_SYS_TICK_CH 0
- /*-----------------------------------------------------------------------
- * BACKLIGHT
- */
- #ifndef CONFIG_S5P4418_ONEWIRE
- #ifdef CONFIG_PWM_NX
- /* fallback to pwm */
- #define BACKLIGHT_CH 0
- #define BACKLIGHT_DIV 0
- #define BACKLIGHT_INV 0
- #define BACKLIGHT_DUTY 50
- #define BACKLIGHT_HZ 1000
- #endif
- #endif
- /*-----------------------------------------------------------------------
- * SD/MMC
- */
- #if defined(CONFIG_MMC)
- /* eMMC = 0, SD-card = 2 */
- #define CONFIG_SYS_MMC_DEV 2
- #define CONFIG_SYS_MMC_ENV_DEV CONFIG_SYS_MMC_DEV
- #endif
- /*-----------------------------------------------------------------------
- * Default environment organization
- */
- #if !defined(CONFIG_ENV_IS_IN_MMC) && !defined(CONFIG_ENV_IS_IN_NAND) && \
- !defined(CONFIG_ENV_IS_IN_FLASH) && !defined(CONFIG_ENV_IS_IN_EEPROM)
- /* default: CONFIG_ENV_IS_NOWHERE */
- #define CONFIG_ENV_IS_NOWHERE
- #define CONFIG_ENV_OFFSET 1024
- #define CONFIG_ENV_SIZE (4 * 1024) /* env size */
- #endif
- /*-----------------------------------------------------------------------
- * VIDEO
- */
- #define CONFIG_VIDEO_LOGO
- #define CONFIG_SPLASH_SCREEN
- #ifdef CONFIG_VIDEO_LOGO
- #ifdef CONFIG_DM_VIDEO
- #define CONFIG_BMP_24BPP
- #endif
- #ifdef CONFIG_SPLASH_SCREEN
- #define CONFIG_SPLASH_SOURCE 1
- #define CONFIG_SPLASH_SCREEN_ALIGN 1
- #define SPLASH_FILE logo.bmp
- #endif
- #endif
- /*-----------------------------------------------------------------------
- * ENV
- */
- #define BLOADER_MMC \
- "ext4load mmc ${rootdev}:${bootpart} "
- #ifdef CONFIG_OF_BOARD_SETUP
- #define EXTRA_ENV_DTB_RESERVE \
- "dtb_reserve=" \
- "if test -n \"$dtb_addr\"; then fdt addr $dtb_addr; fi\0"
- #else
- #define EXTRA_ENV_DTB_RESERVE \
- "dtb_reserve=" \
- "if test -n \"$fb_addr\"; then " \
- "fdt addr $dtb_addr;" \
- "fdt resize;" \
- "fdt mk /reserved-memory display_reserved;" \
- "fdt set /reserved-memory/display_reserved " \
- "reg <$fb_addr 0x800000>;" \
- "fi;\0"
- #endif
- #ifdef CONFIG_SPLASH_SCREEN
- #define EXTRA_ENV_BOOT_LOGO \
- "splashimage=" __stringify(BMP_LOAD_ADDR)"\0" \
- "splashfile=" __stringify(SPLASH_FILE)"\0" \
- "splashpos=m,m\0" \
- "fb_addr=\0" \
- EXTRA_ENV_DTB_RESERVE
- #else
- #define EXTRA_ENV_BOOT_LOGO EXTRA_ENV_DTB_RESERVE
- #endif
- #define CONFIG_EXTRA_ENV_SETTINGS \
- "fdt_high=0xffffffff\0" \
- "initrd_high=0xffffffff\0" \
- "rootdev=" __stringify(CONFIG_ROOT_DEV) "\0" \
- "rootpart=" __stringify(CONFIG_ROOT_PART) "\0" \
- "bootpart=" __stringify(CONFIG_BOOT_PART) "\0" \
- "kernel=zImage\0" \
- "loadaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
- "dtb_name=s5p4418-nanopi2-rev01.dtb\0" \
- "dtb_addr=" __stringify(KERNEL_DTB_ADDR) "\0" \
- "initrd_name=ramdisk.img\0" \
- "initrd_addr=" __stringify(INITRD_START) "\0" \
- "initrd_size=0x600000\0" \
- "load_dtb=" \
- BLOADER_MMC "${dtb_addr} ${dtb_name}; " \
- "run dtb_reserve\0" \
- "load_kernel=" \
- BLOADER_MMC "${loadaddr} ${kernel}\0" \
- "load_initrd=" \
- BLOADER_MMC "${initrd_addr} ${initrd_name}; " \
- "setenv initrd_size 0x${filesize}\0" \
- "mmcboot=" \
- "run load_kernel; run load_initrd; run load_dtb; " \
- "bootz ${loadaddr} ${initrd_addr}:${initrd_size} " \
- "${dtb_addr}\0" \
- "bootcmd=run mmcboot\0" \
- EXTRA_ENV_BOOT_LOGO
- #endif /* __CONFIG_H__ */
|