mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-17 12:41:32 +00:00
rpi: add support for Raspberry Pi 2 model B
USB doesn't seem to work yet; the controller detects the on-board Hub/ Ethernet device but can't read the descriptors from it. I haven't investigated yet. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
This commit is contained in:
parent
db75356f14
commit
4641429695
11 changed files with 271 additions and 169 deletions
|
@ -310,6 +310,10 @@ config TARGET_RPI
|
|||
bool "Support rpi"
|
||||
select CPU_ARM1176
|
||||
|
||||
config TARGET_RPI_2
|
||||
bool "Support rpi_2"
|
||||
select CPU_V7
|
||||
|
||||
config TARGET_TNETV107X_EVM
|
||||
bool "Support tnetv107x_evm"
|
||||
select CPU_ARM1176
|
||||
|
@ -830,6 +834,7 @@ source "board/phytec/pcm051/Kconfig"
|
|||
source "board/ppcag/bg0900/Kconfig"
|
||||
source "board/pxa255_idp/Kconfig"
|
||||
source "board/raspberrypi/rpi/Kconfig"
|
||||
source "board/raspberrypi/rpi_2/Kconfig"
|
||||
source "board/samsung/smdk2410/Kconfig"
|
||||
source "board/sandisk/sansa_fuze_plus/Kconfig"
|
||||
source "board/scb9328/Kconfig"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
if TARGET_RPI
|
||||
if TARGET_RPI || TARGET_RPI_2
|
||||
|
||||
config DM
|
||||
default y if !SPL_BUILD
|
||||
|
|
|
@ -125,6 +125,9 @@ struct bcm2835_mbox_tag_hdr {
|
|||
|
||||
#define BCM2835_MBOX_TAG_GET_BOARD_REV 0x00010002
|
||||
|
||||
#ifdef CONFIG_BCM2836
|
||||
#define BCM2836_BOARD_REV_2_B 0x4
|
||||
#else
|
||||
/*
|
||||
* 0x2..0xf from:
|
||||
* http://raspberryalphaomega.org.uk/2013/02/06/automatic-raspberry-pi-board-revision-detection-model-a-b1-and-b2/
|
||||
|
@ -145,6 +148,7 @@ struct bcm2835_mbox_tag_hdr {
|
|||
#define BCM2835_BOARD_REV_B_PLUS 0x10
|
||||
#define BCM2835_BOARD_REV_CM 0x11
|
||||
#define BCM2835_BOARD_REV_A_PLUS 0x12
|
||||
#endif
|
||||
|
||||
struct bcm2835_mbox_tag_get_board_rev {
|
||||
struct bcm2835_mbox_tag_hdr tag_hdr;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* (C) Copyright 2012-2013 Stephen Warren
|
||||
* (C) Copyright 2012-2013,2015 Stephen Warren
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0
|
||||
*/
|
||||
|
@ -29,7 +29,11 @@ U_BOOT_DEVICE(bcm2835_gpios) = {
|
|||
};
|
||||
|
||||
static const struct pl01x_serial_platdata serial_platdata = {
|
||||
#ifdef CONFIG_BCM2836
|
||||
.base = 0x3f201000,
|
||||
#else
|
||||
.base = 0x20201000,
|
||||
#endif
|
||||
.type = TYPE_PL011,
|
||||
.clock = 3000000,
|
||||
};
|
||||
|
@ -77,9 +81,20 @@ static const struct {
|
|||
} models[] = {
|
||||
[0] = {
|
||||
"Unknown model",
|
||||
#ifdef CONFIG_BCM2836
|
||||
"bcm2836-rpi-other.dtb",
|
||||
#else
|
||||
"bcm2835-rpi-other.dtb",
|
||||
#endif
|
||||
false,
|
||||
},
|
||||
#ifdef CONFIG_BCM2836
|
||||
[BCM2836_BOARD_REV_2_B] = {
|
||||
"2 Model B",
|
||||
"bcm2836-rpi-2-b.dtb",
|
||||
true,
|
||||
},
|
||||
#else
|
||||
[BCM2835_BOARD_REV_B_I2C0_2] = {
|
||||
"Model B (no P5)",
|
||||
"bcm2835-rpi-b-i2c0.dtb",
|
||||
|
@ -150,6 +165,7 @@ static const struct {
|
|||
"bcm2835-rpi-a-plus.dtb",
|
||||
false,
|
||||
},
|
||||
#endif
|
||||
};
|
||||
|
||||
u32 rpi_board_rev = 0;
|
||||
|
@ -257,7 +273,15 @@ static void get_board_rev(void)
|
|||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* For details of old-vs-new scheme, see:
|
||||
* https://github.com/pimoroni/RPi.version/blob/master/RPi/version.py
|
||||
* http://www.raspberrypi.org/forums/viewtopic.php?f=63&t=99293&p=690282
|
||||
* (a few posts down)
|
||||
*/
|
||||
rpi_board_rev = msg->get_board_rev.body.resp.rev;
|
||||
if (rpi_board_rev & 0x800000)
|
||||
rpi_board_rev = (rpi_board_rev >> 4) & 0xff;
|
||||
if (rpi_board_rev >= ARRAY_SIZE(models)) {
|
||||
printf("RPI: Board rev %u outside known range\n",
|
||||
rpi_board_rev);
|
||||
|
@ -269,7 +293,7 @@ static void get_board_rev(void)
|
|||
}
|
||||
|
||||
name = models[rpi_board_rev].name;
|
||||
printf("RPI model: %s\n", name);
|
||||
printf("RPI %s\n", name);
|
||||
}
|
||||
|
||||
int board_init(void)
|
||||
|
|
15
board/raspberrypi/rpi_2/Kconfig
Normal file
15
board/raspberrypi/rpi_2/Kconfig
Normal file
|
@ -0,0 +1,15 @@
|
|||
if TARGET_RPI_2
|
||||
|
||||
config SYS_BOARD
|
||||
default "rpi_2"
|
||||
|
||||
config SYS_VENDOR
|
||||
default "raspberrypi"
|
||||
|
||||
config SYS_SOC
|
||||
default "bcm2835"
|
||||
|
||||
config SYS_CONFIG_NAME
|
||||
default "rpi_2"
|
||||
|
||||
endif
|
6
board/raspberrypi/rpi_2/MAINTAINERS
Normal file
6
board/raspberrypi/rpi_2/MAINTAINERS
Normal file
|
@ -0,0 +1,6 @@
|
|||
RPI_2 BOARD
|
||||
M: Stephen Warren <swarren@wwwdotorg.org>
|
||||
S: Maintained
|
||||
F: board/raspberrypi/rpi_2/
|
||||
F: include/configs/rpi_2.h
|
||||
F: configs/rpi_2_defconfig
|
7
board/raspberrypi/rpi_2/Makefile
Normal file
7
board/raspberrypi/rpi_2/Makefile
Normal file
|
@ -0,0 +1,7 @@
|
|||
#
|
||||
# (C) Copyright 2012,2015 Stephen Warren
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
#
|
||||
|
||||
obj-y := ../rpi/rpi.o
|
4
configs/rpi_2_defconfig
Normal file
4
configs/rpi_2_defconfig
Normal file
|
@ -0,0 +1,4 @@
|
|||
CONFIG_ARM=y
|
||||
CONFIG_TARGET_RPI_2=y
|
||||
CONFIG_SYS_MALLOC_F=y
|
||||
CONFIG_SYS_MALLOC_F_LEN=0x400
|
186
include/configs/rpi-common.h
Normal file
186
include/configs/rpi-common.h
Normal file
|
@ -0,0 +1,186 @@
|
|||
/*
|
||||
* (C) Copyright 2012,2015 Stephen Warren
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0
|
||||
*/
|
||||
|
||||
#ifndef _RPI_COMMON_H_
|
||||
#define _RPI_COMMON_H_
|
||||
|
||||
#include <linux/sizes.h>
|
||||
|
||||
/* Architecture, CPU, etc.*/
|
||||
#define CONFIG_SYS_GENERIC_BOARD
|
||||
#define CONFIG_BCM2835
|
||||
#define CONFIG_ARCH_CPU_INIT
|
||||
#define CONFIG_SYS_DCACHE_OFF
|
||||
/*
|
||||
* 2835 is a SKU in a series for which the 2708 is the first or primary SoC,
|
||||
* so 2708 has historically been used rather than a dedicated 2835 ID.
|
||||
*
|
||||
* We don't define a machine type for bcm2709/bcm2836 since the RPi Foundation
|
||||
* chose to use someone else's previously registered machine ID (3139, MX51_GGC)
|
||||
* rather than obtaining a valid ID:-/
|
||||
*/
|
||||
#ifndef CONFIG_BCM2836
|
||||
#define CONFIG_MACH_TYPE MACH_TYPE_BCM2708
|
||||
#endif
|
||||
|
||||
/* Memory layout */
|
||||
#define CONFIG_NR_DRAM_BANKS 1
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_TEXT_BASE 0x00008000
|
||||
#define CONFIG_SYS_UBOOT_BASE CONFIG_SYS_TEXT_BASE
|
||||
/*
|
||||
* The board really has 256M. However, the VC (VideoCore co-processor) shares
|
||||
* the RAM, and uses a configurable portion at the top. We tell U-Boot that a
|
||||
* smaller amount of RAM is present in order to avoid stomping on the area
|
||||
* the VC uses.
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_SIZE SZ_128M
|
||||
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + \
|
||||
CONFIG_SYS_SDRAM_SIZE - \
|
||||
GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_MALLOC_LEN SZ_4M
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00100000
|
||||
#define CONFIG_SYS_MEMTEST_END 0x00200000
|
||||
#define CONFIG_LOADADDR 0x00200000
|
||||
|
||||
/* Flash */
|
||||
#define CONFIG_SYS_NO_FLASH
|
||||
|
||||
/* Devices */
|
||||
/* GPIO */
|
||||
#define CONFIG_BCM2835_GPIO
|
||||
/* LCD */
|
||||
#define CONFIG_LCD
|
||||
#define CONFIG_LCD_DT_SIMPLEFB
|
||||
#define LCD_BPP LCD_COLOR16
|
||||
/*
|
||||
* Prevent allocation of RAM for FB; the real FB address is queried
|
||||
* dynamically from the VideoCore co-processor, and comes from RAM
|
||||
* not owned by the ARM CPU.
|
||||
*/
|
||||
#define CONFIG_FB_ADDR 0
|
||||
#define CONFIG_VIDEO_BCM2835
|
||||
#define CONFIG_SYS_WHITE_ON_BLACK
|
||||
|
||||
/* SD/MMC configuration */
|
||||
#define CONFIG_GENERIC_MMC
|
||||
#define CONFIG_MMC
|
||||
#define CONFIG_SDHCI
|
||||
#define CONFIG_MMC_SDHCI_IO_ACCESSORS
|
||||
#define CONFIG_BCM2835_SDHCI
|
||||
|
||||
#define CONFIG_CMD_USB
|
||||
#ifdef CONFIG_CMD_USB
|
||||
#define CONFIG_USB_DWC2
|
||||
#ifdef CONFIG_BCM2836
|
||||
#define CONFIG_USB_DWC2_REG_ADDR 0x3f980000
|
||||
#else
|
||||
#define CONFIG_USB_DWC2_REG_ADDR 0x20980000
|
||||
#endif
|
||||
#define CONFIG_USB_STORAGE
|
||||
#define CONFIG_USB_HOST_ETHER
|
||||
#define CONFIG_USB_ETHER_SMSC95XX
|
||||
#define CONFIG_MISC_INIT_R
|
||||
#endif
|
||||
|
||||
/* Console UART */
|
||||
#define CONFIG_PL01X_SERIAL
|
||||
#define CONFIG_CONS_INDEX 0
|
||||
#define CONFIG_BAUDRATE 115200
|
||||
|
||||
/* Console configuration */
|
||||
#define CONFIG_SYS_CBSIZE 1024
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \
|
||||
sizeof(CONFIG_SYS_PROMPT) + 16)
|
||||
|
||||
/* Environment */
|
||||
#define CONFIG_ENV_SIZE SZ_16K
|
||||
#define CONFIG_ENV_IS_IN_FAT
|
||||
#define FAT_ENV_INTERFACE "mmc"
|
||||
#define FAT_ENV_DEVICE_AND_PART "0:1"
|
||||
#define FAT_ENV_FILE "uboot.env"
|
||||
#define CONFIG_FAT_WRITE
|
||||
#define CONFIG_ENV_VARS_UBOOT_CONFIG
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x1000000
|
||||
#define CONFIG_CONSOLE_MUX
|
||||
#define CONFIG_SYS_CONSOLE_IS_IN_ENV
|
||||
|
||||
/* Shell */
|
||||
#define CONFIG_SYS_MAXARGS 8
|
||||
#define CONFIG_SYS_PROMPT "U-Boot> "
|
||||
#define CONFIG_COMMAND_HISTORY
|
||||
|
||||
/* Commands */
|
||||
#include <config_cmd_default.h>
|
||||
#define CONFIG_CMD_GPIO
|
||||
#define CONFIG_CMD_MMC
|
||||
#define CONFIG_PARTITION_UUIDS
|
||||
#define CONFIG_CMD_PART
|
||||
|
||||
/* Device tree support */
|
||||
#define CONFIG_OF_BOARD_SETUP
|
||||
/* ATAGs support for bootm/bootz */
|
||||
#define CONFIG_SETUP_MEMORY_TAGS
|
||||
#define CONFIG_CMDLINE_TAG
|
||||
#define CONFIG_INITRD_TAG
|
||||
|
||||
#include <config_distro_defaults.h>
|
||||
|
||||
/* Some things don't make sense on this HW or yet */
|
||||
#undef CONFIG_CMD_FPGA
|
||||
|
||||
/* Environment */
|
||||
#define ENV_DEVICE_SETTINGS \
|
||||
"stdin=serial,lcd\0" \
|
||||
"stdout=serial,lcd\0" \
|
||||
"stderr=serial,lcd\0"
|
||||
|
||||
/*
|
||||
* Memory layout for where various images get loaded by boot scripts:
|
||||
*
|
||||
* scriptaddr can be pretty much anywhere that doesn't conflict with something
|
||||
* else. Put it low in memory to avoid conflicts.
|
||||
*
|
||||
* pxefile_addr_r can be pretty much anywhere that doesn't conflict with
|
||||
* something else. Put it low in memory to avoid conflicts.
|
||||
*
|
||||
* kernel_addr_r must be within the first 128M of RAM in order for the
|
||||
* kernel's CONFIG_AUTO_ZRELADDR option to work. Since the kernel will
|
||||
* decompress itself to 0x8000 after the start of RAM, kernel_addr_r
|
||||
* should not overlap that area, or the kernel will have to copy itself
|
||||
* somewhere else before decompression. Similarly, the address of any other
|
||||
* data passed to the kernel shouldn't overlap the start of RAM. Pushing
|
||||
* this up to 16M allows for a sizable kernel to be decompressed below the
|
||||
* compressed load address.
|
||||
*
|
||||
* fdt_addr_r simply shouldn't overlap anything else. Choosing 32M allows for
|
||||
* the compressed kernel to be up to 16M too.
|
||||
*
|
||||
* ramdisk_addr_r simply shouldn't overlap anything else. Choosing 33M allows
|
||||
* for the FDT/DTB to be up to 1M, which is hopefully plenty.
|
||||
*/
|
||||
#define ENV_MEM_LAYOUT_SETTINGS \
|
||||
"scriptaddr=0x00000000\0" \
|
||||
"pxefile_addr_r=0x00100000\0" \
|
||||
"kernel_addr_r=0x01000000\0" \
|
||||
"fdt_addr_r=0x02000000\0" \
|
||||
"ramdisk_addr_r=0x02100000\0" \
|
||||
|
||||
#define BOOT_TARGET_DEVICES(func) \
|
||||
func(MMC, mmc, 0) \
|
||||
func(USB, usb, 0) \
|
||||
func(PXE, pxe, na) \
|
||||
func(DHCP, dhcp, na)
|
||||
#include <config_distro_bootcmd.h>
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
ENV_DEVICE_SETTINGS \
|
||||
ENV_MEM_LAYOUT_SETTINGS \
|
||||
BOOTENV
|
||||
|
||||
#define CONFIG_BOOTDELAY 2
|
||||
|
||||
#endif
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* (C) Copyright 2012 Stephen Warren
|
||||
* (C) Copyright 2012,2015 Stephen Warren
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0
|
||||
*/
|
||||
|
@ -7,170 +7,6 @@
|
|||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
#include <linux/sizes.h>
|
||||
|
||||
/* Architecture, CPU, etc.*/
|
||||
#define CONFIG_SYS_GENERIC_BOARD
|
||||
#define CONFIG_BCM2835
|
||||
#define CONFIG_ARCH_CPU_INIT
|
||||
#define CONFIG_SYS_DCACHE_OFF
|
||||
/*
|
||||
* 2835 is a SKU in a series for which the 2708 is the first or primary SoC,
|
||||
* so 2708 has historically been used rather than a dedicated 2835 ID.
|
||||
*/
|
||||
#define CONFIG_MACH_TYPE MACH_TYPE_BCM2708
|
||||
|
||||
/* Memory layout */
|
||||
#define CONFIG_NR_DRAM_BANKS 1
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_TEXT_BASE 0x00008000
|
||||
#define CONFIG_SYS_UBOOT_BASE CONFIG_SYS_TEXT_BASE
|
||||
/*
|
||||
* The board really has 256M. However, the VC (VideoCore co-processor) shares
|
||||
* the RAM, and uses a configurable portion at the top. We tell U-Boot that a
|
||||
* smaller amount of RAM is present in order to avoid stomping on the area
|
||||
* the VC uses.
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_SIZE SZ_128M
|
||||
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + \
|
||||
CONFIG_SYS_SDRAM_SIZE - \
|
||||
GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_MALLOC_LEN SZ_4M
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00100000
|
||||
#define CONFIG_SYS_MEMTEST_END 0x00200000
|
||||
#define CONFIG_LOADADDR 0x00200000
|
||||
|
||||
/* Flash */
|
||||
#define CONFIG_SYS_NO_FLASH
|
||||
|
||||
/* Devices */
|
||||
/* GPIO */
|
||||
#define CONFIG_BCM2835_GPIO
|
||||
/* LCD */
|
||||
#define CONFIG_LCD
|
||||
#define CONFIG_LCD_DT_SIMPLEFB
|
||||
#define LCD_BPP LCD_COLOR16
|
||||
/*
|
||||
* Prevent allocation of RAM for FB; the real FB address is queried
|
||||
* dynamically from the VideoCore co-processor, and comes from RAM
|
||||
* not owned by the ARM CPU.
|
||||
*/
|
||||
#define CONFIG_FB_ADDR 0
|
||||
#define CONFIG_VIDEO_BCM2835
|
||||
#define CONFIG_SYS_WHITE_ON_BLACK
|
||||
|
||||
/* SD/MMC configuration */
|
||||
#define CONFIG_GENERIC_MMC
|
||||
#define CONFIG_MMC
|
||||
#define CONFIG_SDHCI
|
||||
#define CONFIG_MMC_SDHCI_IO_ACCESSORS
|
||||
#define CONFIG_BCM2835_SDHCI
|
||||
|
||||
#define CONFIG_CMD_USB
|
||||
#ifdef CONFIG_CMD_USB
|
||||
#define CONFIG_USB_DWC2
|
||||
#define CONFIG_USB_DWC2_REG_ADDR 0x20980000
|
||||
#define CONFIG_USB_STORAGE
|
||||
#define CONFIG_USB_HOST_ETHER
|
||||
#define CONFIG_USB_ETHER_SMSC95XX
|
||||
#define CONFIG_MISC_INIT_R
|
||||
#endif
|
||||
|
||||
/* Console UART */
|
||||
#define CONFIG_PL01X_SERIAL
|
||||
#define CONFIG_CONS_INDEX 0
|
||||
#define CONFIG_BAUDRATE 115200
|
||||
|
||||
/* Console configuration */
|
||||
#define CONFIG_SYS_CBSIZE 1024
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \
|
||||
sizeof(CONFIG_SYS_PROMPT) + 16)
|
||||
|
||||
/* Environment */
|
||||
#define CONFIG_ENV_SIZE SZ_16K
|
||||
#define CONFIG_ENV_IS_IN_FAT
|
||||
#define FAT_ENV_INTERFACE "mmc"
|
||||
#define FAT_ENV_DEVICE_AND_PART "0:1"
|
||||
#define FAT_ENV_FILE "uboot.env"
|
||||
#define CONFIG_FAT_WRITE
|
||||
#define CONFIG_ENV_VARS_UBOOT_CONFIG
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x1000000
|
||||
#define CONFIG_CONSOLE_MUX
|
||||
#define CONFIG_SYS_CONSOLE_IS_IN_ENV
|
||||
|
||||
/* Shell */
|
||||
#define CONFIG_SYS_MAXARGS 8
|
||||
#define CONFIG_SYS_PROMPT "U-Boot> "
|
||||
#define CONFIG_COMMAND_HISTORY
|
||||
|
||||
/* Commands */
|
||||
#include <config_cmd_default.h>
|
||||
#define CONFIG_CMD_GPIO
|
||||
#define CONFIG_CMD_MMC
|
||||
#define CONFIG_PARTITION_UUIDS
|
||||
#define CONFIG_CMD_PART
|
||||
|
||||
/* Device tree support */
|
||||
#define CONFIG_OF_BOARD_SETUP
|
||||
/* ATAGs support for bootm/bootz */
|
||||
#define CONFIG_SETUP_MEMORY_TAGS
|
||||
#define CONFIG_CMDLINE_TAG
|
||||
#define CONFIG_INITRD_TAG
|
||||
|
||||
#include <config_distro_defaults.h>
|
||||
|
||||
/* Some things don't make sense on this HW or yet */
|
||||
#undef CONFIG_CMD_FPGA
|
||||
|
||||
/* Environment */
|
||||
#define ENV_DEVICE_SETTINGS \
|
||||
"stdin=serial,lcd\0" \
|
||||
"stdout=serial,lcd\0" \
|
||||
"stderr=serial,lcd\0"
|
||||
|
||||
/*
|
||||
* Memory layout for where various images get loaded by boot scripts:
|
||||
*
|
||||
* scriptaddr can be pretty much anywhere that doesn't conflict with something
|
||||
* else. Put it low in memory to avoid conflicts.
|
||||
*
|
||||
* pxefile_addr_r can be pretty much anywhere that doesn't conflict with
|
||||
* something else. Put it low in memory to avoid conflicts.
|
||||
*
|
||||
* kernel_addr_r must be within the first 128M of RAM in order for the
|
||||
* kernel's CONFIG_AUTO_ZRELADDR option to work. Since the kernel will
|
||||
* decompress itself to 0x8000 after the start of RAM, kernel_addr_r
|
||||
* should not overlap that area, or the kernel will have to copy itself
|
||||
* somewhere else before decompression. Similarly, the address of any other
|
||||
* data passed to the kernel shouldn't overlap the start of RAM. Pushing
|
||||
* this up to 16M allows for a sizable kernel to be decompressed below the
|
||||
* compressed load address.
|
||||
*
|
||||
* fdt_addr_r simply shouldn't overlap anything else. Choosing 32M allows for
|
||||
* the compressed kernel to be up to 16M too.
|
||||
*
|
||||
* ramdisk_addr_r simply shouldn't overlap anything else. Choosing 33M allows
|
||||
* for the FDT/DTB to be up to 1M, which is hopefully plenty.
|
||||
*/
|
||||
#define ENV_MEM_LAYOUT_SETTINGS \
|
||||
"scriptaddr=0x00000000\0" \
|
||||
"pxefile_addr_r=0x00100000\0" \
|
||||
"kernel_addr_r=0x01000000\0" \
|
||||
"fdt_addr_r=0x02000000\0" \
|
||||
"ramdisk_addr_r=0x02100000\0" \
|
||||
|
||||
#define BOOT_TARGET_DEVICES(func) \
|
||||
func(MMC, mmc, 0) \
|
||||
func(USB, usb, 0) \
|
||||
func(PXE, pxe, na) \
|
||||
func(DHCP, dhcp, na)
|
||||
#include <config_distro_bootcmd.h>
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
ENV_DEVICE_SETTINGS \
|
||||
ENV_MEM_LAYOUT_SETTINGS \
|
||||
BOOTENV
|
||||
|
||||
#define CONFIG_BOOTDELAY 2
|
||||
#include "rpi-common.h"
|
||||
|
||||
#endif
|
||||
|
|
15
include/configs/rpi_2.h
Normal file
15
include/configs/rpi_2.h
Normal file
|
@ -0,0 +1,15 @@
|
|||
/*
|
||||
* (C) Copyright 2012,2015 Stephen Warren
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
#define CONFIG_SKIP_LOWLEVEL_INIT
|
||||
#define CONFIG_BCM2836
|
||||
|
||||
#include "rpi-common.h"
|
||||
|
||||
#endif
|
Loading…
Add table
Reference in a new issue