123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- config BCM2835
- bool "Broadcom BCM2835 SoC support"
- depends on ARCH_BCM283X
- select CPU_ARM1176
- config BCM2836
- bool "Broadcom BCM2836 SoC support"
- depends on ARCH_BCM283X
- select ARMV7_LPAE
- select CPU_V7
- config BCM2837
- bool "Broadcom BCM2837 SoC support"
- depends on ARCH_BCM283X
- config BCM2837_32B
- bool "Broadcom BCM2837 SoC 32-bit support"
- depends on ARCH_BCM283X
- select BCM2837
- select ARMV7_LPAE
- select CPU_V7
- config BCM2837_64B
- bool "Broadcom BCM2837 SoC 64-bit support"
- depends on ARCH_BCM283X
- select BCM2837
- select ARM64
- menu "Broadcom BCM283X family"
- depends on ARCH_BCM283X
- choice
- prompt "Broadcom BCM283X board select"
- optional
- config TARGET_RPI
- bool "Raspberry Pi (all BCM2835 variants)"
- help
- Support for all ARM1176-/BCM2835-based Raspberry Pi variants, such as
- the A, A+, B, B+, Compute Module, and Zero. This option cannot
- support BCM2836/BCM2837-based Raspberry Pis such as the RPi 2 and
- RPi 3 due to different peripheral address maps.
- This option creates a build targetting the ARM1176 ISA.
- select BCM2835
- config TARGET_RPI_2
- bool "Raspberry Pi 2"
- help
- Support for all BCM2836-based Raspberry Pi variants, such as
- the RPi 2 model B.
- This option also supports BCM2837-based variants such as the RPi 3
- Model B, when run in 32-bit mode, provided you have configured the
- VideoCore firmware to select the PL011 UART for the console by:
- a) config.txt should contain dtoverlay=pi3-miniuart-bt.
- b) You should run the following to tell the VC FW to process DT when
- booting, and copy u-boot.bin.img (rather than u-boot.bin) to the SD
- card as the kernel image:
- path/to/kernel/scripts/mkknlimg --dtok u-boot.bin u-boot.bin.img
- This works as of firmware.git commit 046effa13ebc "firmware:
- arm_loader: emmc clock depends on core clock See:
- https://github.com/raspberrypi/firmware/issues/572".
- This option creates a build targetting the ARMv7/AArch32 ISA.
- select BCM2836
- config TARGET_RPI_3_32B
- bool "Raspberry Pi 3 32-bit build"
- help
- Support for all BCM2837-based Raspberry Pi variants, such as
- the RPi 3 model B, in AArch32 (32-bit) mode.
- This option assumes the VideoCore firmware is configured to use the
- mini UART (rather than PL011) for the serial console. This is the
- default on the RPi 3. To enable the UART console, the following non-
- default option must be present in config.txt: enable_uart=1. This is
- required for U-Boot to operate correctly, even if you only care
- about the HDMI/usbkbd console.
- This option creates a build targetting the ARMv7/AArch32 ISA.
- select BCM2837_32B
- config TARGET_RPI_3
- bool "Raspberry Pi 3 64-bit build"
- help
- Support for all BCM2837-based Raspberry Pi variants, such as
- the RPi 3 model B, in AArch64 (64-bit) mode.
- This option assumes the VideoCore firmware is configured to use the
- mini UART (rather than PL011) for the serial console. This is the
- default on the RPi 3. To enable the UART console, the following non-
- default option must be present in config.txt: enable_uart=1. This is
- required for U-Boot to operate correctly, even if you only care
- about the HDMI/usbkbd console.
- At the time of writing, the VC FW requires a non-default option in
- config.txt to request the ARM CPU boot in 64-bit mode:
- arm_control=0x200
- The VC FW typically provides ARM "stub" code to set up the CPU and
- quiesce secondary SMP CPUs. This is not currently true in 64-bit
- mode. In order to boot U-Boot before the VC FW is enhanced, please
- see the commit description for the commit which added RPi3 support
- for a workaround. Since the instructions are temporary, they are not
- duplicated here. The VC FW enhancement is tracked in
- https://github.com/raspberrypi/firmware/issues/579.
- This option creates a build targetting the ARMv8/AArch64 ISA.
- select BCM2837_64B
- endchoice
- config SYS_BOARD
- default "rpi"
- config SYS_VENDOR
- default "raspberrypi"
- config SYS_SOC
- default "bcm283x"
- config SYS_CONFIG_NAME
- default "rpi"
- endmenu
|