[U-Boot] [PATCH 6/6] x86: Add support for panther (Asus Chromebox)
Simon Glass
sjg at chromium.org
Thu Feb 26 01:55:25 CET 2015
Hi Bin,
On 25 February 2015 at 00:32, Bin Meng <bmeng.cn at gmail.com> wrote:
> Hi Simon,
>
> On Wed, Feb 11, 2015 at 9:59 AM, Simon Glass <sjg at chromium.org> wrote:
>> Support running U-Boot as a coreboot payload. Tested peripherals include:
>>
>> - Video (HDMI and DisplayPort)
>> - SATA disk
>> - Gigabit Ethernet
>> - SPI flash
>>
>> USB3 does not work. This may be a problem with the USB3 PCI driver or
>> something in the USB3 stack and has not been investigated So far this is
>> disabled. The SD card slot also does not work.
>>
>> For video, coreboot will need to run the OPROM to set this up.
>>
>> With this board, bare support (running without coreboot) is not available
>> as yet.
>>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>> ---
>>
>> arch/x86/Kconfig | 16 +++++++++
>> arch/x86/dts/Makefile | 1 +
>> arch/x86/dts/chromebox_panther.dts | 64 ++++++++++++++++++++++++++++++++++
>> board/google/chromebox_panther/Kconfig | 18 ++++++++++
>> configs/chromebox_panther_defconfig | 11 ++++++
>> include/configs/chromebox_panther.h | 17 +++++++++
>> 6 files changed, 127 insertions(+)
>> create mode 100644 arch/x86/dts/chromebox_panther.dts
>> create mode 100644 board/google/chromebox_panther/Kconfig
>> create mode 100644 configs/chromebox_panther_defconfig
>> create mode 100644 include/configs/chromebox_panther.h
>>
>> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
>> index fef11f3..6c667ae 100644
>> --- a/arch/x86/Kconfig
>> +++ b/arch/x86/Kconfig
>> @@ -32,6 +32,20 @@ config TARGET_CHROMEBOOK_LINK
>> and it provides a 2560x1700 high resolution touch-enabled LCD
>> display.
>>
>> +config TARGET_CHROMEBOX_PANTHER
>> + bool "Support Chromebox panther (not available)"
>> + select n
>> + help
>> + Note: At present this must be used with Coreboot. See README.x86
>> + for instructions.
>> +
>> + This is the Asus Chromebox CN60 released in 2014. It uses an Intel
>> + Haswell Celeron 2955U Dual Core CPU with 2GB of SDRAM. It has a
>> + Lynx Point platform controller hub, PCIe WiFi and Bluetooth. It also
>> + includes a USB SD reader, four USB3 ports, display port and HDMI
>> + video output and a 16GB SATA solid state drive. There is no Chrome
>> + OS EC on this model.
>> +
>> config TARGET_CROWNBAY
>> bool "Support Intel Crown Bay CRB"
>> help
>> @@ -420,6 +434,8 @@ source "board/coreboot/coreboot/Kconfig"
>>
>> source "board/google/chromebook_link/Kconfig"
>>
>> +source "board/google/chromebox_panther/Kconfig"
>> +
>> source "board/intel/crownbay/Kconfig"
>>
>> source "board/intel/minnowmax/Kconfig"
>> diff --git a/arch/x86/dts/Makefile b/arch/x86/dts/Makefile
>> index 7a66133..431bbd8 100644
>> --- a/arch/x86/dts/Makefile
>> +++ b/arch/x86/dts/Makefile
>> @@ -1,4 +1,5 @@
>> dtb-y += chromebook_link.dtb \
>> + chromebox_panther.dtb \
>> crownbay.dtb \
>> galileo.dtb \
>> minnowmax.dtb
>> diff --git a/arch/x86/dts/chromebox_panther.dts b/arch/x86/dts/chromebox_panther.dts
>> new file mode 100644
>> index 0000000..01d43e4
>> --- /dev/null
>> +++ b/arch/x86/dts/chromebox_panther.dts
>> @@ -0,0 +1,64 @@
>> +/dts-v1/;
>> +
>> +/include/ "skeleton.dtsi"
>> +/include/ "serial.dtsi"
>> +
>> +/ {
>> + model = "Google Panther";
>> + compatible = "google,panther", "intel,celeron-haswell";
>
> "intel,celeron-haswell"? celeron is the brand name of the processor.
> To keep in consistent with other dts files, I think we can just
> describe it to be "intel,haswell".
OK.
>
>> +
>> + aliases {
>> + spi0 = "/spi";
>> + };
>> +
>> + config {
>> + silent-console = <0>;
>> + no-keyboard;
>> + };
>> +
>> + gpioa {
>> + compatible = "intel,ich6-gpio";
>> + u-boot,dm-pre-reloc;
>> + reg = <0 0x10>;
>> + bank-name = "A";
>> + };
>> +
>> + gpiob {
>> + compatible = "intel,ich6-gpio";
>> + u-boot,dm-pre-reloc;
>> + reg = <0x30 0x10>;
>> + bank-name = "B";
>> + };
>> +
>> + gpioc {
>> + compatible = "intel,ich6-gpio";
>> + u-boot,dm-pre-reloc;
>> + reg = <0x40 0x10>;
>> + bank-name = "C";
>> + };
>> +
>> + chosen {
>> + stdout-path = "/serial";
>> + };
>> +
>> + spi {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> + compatible = "intel,ich-spi";
>> + spi-flash at 0 {
>> + #size-cells = <1>;
>> + #address-cells = <1>;
>> + reg = <0>;
>> + compatible = "winbond,w25q64", "spi-flash";
>> + memory-map = <0xff800000 0x00800000>;
>> + rw-mrc-cache {
>> + label = "rw-mrc-cache";
>> + /* Alignment: 4k (for updating) */
>> + reg = <0x003e0000 0x00010000>;
>> + type = "wiped";
>> + wipe-value = [ff];
>> + };
>> + };
>> + };
>> +
>> +};
>> diff --git a/board/google/chromebox_panther/Kconfig b/board/google/chromebox_panther/Kconfig
>> new file mode 100644
>> index 0000000..788b122
>> --- /dev/null
>> +++ b/board/google/chromebox_panther/Kconfig
>> @@ -0,0 +1,18 @@
>> +if TARGET_CHROMEBOX_PANTHER
>> +
>> +config SYS_BOARD
>> + default "chromebox_panther"
>> +
>> +config SYS_VENDOR
>> + default "google"
>> +
>> +config SYS_SOC
>> + default "haswell"
>
> I don't see haswell directory created in arch/x86/cpu. Is there
> anything I missed?
No, at present there is no 'bare' support. When I resend this series
there are a few fixes needed based on my further testing.
Regards,
Simon
More information about the U-Boot
mailing list