[U-Boot] [PATCH v3] x86: Added support for Advantech SOM-6896
George McCollister
george.mccollister at gmail.com
Tue Oct 20 14:37:15 CEST 2015
On Mon, Oct 19, 2015 at 9:02 PM, Bin Meng <bmeng.cn at gmail.com> wrote:
> Hi George,
>
> On Tue, Oct 20, 2015 at 1:46 AM, George McCollister
> <george.mccollister at gmail.com> wrote:
>> Advantech SOM-6896 is a Broadwell U based COM Express Compact Module
>> Type 6. This patch adds support for it as a coreboot payload.
>>
>> On board SATA and SPI are functional. On board Ethernet isn't functional
>> but since it's optional and ties up a PCIe x4 that is otherwise brought
>> out, this isn't a concern at the moment. USB doesn't work since the
>> xHCI driver appears to be broken.
>>
>> Signed-off-by: George McCollister <george.mccollister at gmail.com>
>> ---
>> Changes for V2:
>> Changed pci's compatible string to "pci-x86"
>> Changed I/O from base of 0x1000 to base of 0x1900
>> Changed spi-flash memory-map
>> Changes for V3:
>> Renamed som-6896.dts to broadwell_som-6896.dts
>> Changed PCI I/O start from 0x1900 to 0x2000
>>
>> arch/x86/dts/Makefile | 3 ++-
>> arch/x86/dts/broadwell_som-6896.dts | 43 +++++++++++++++++++++++++++++++++++++
>> include/configs/som-6896.h | 38 ++++++++++++++++++++++++++++++++
>> 3 files changed, 83 insertions(+), 1 deletion(-)
>> create mode 100644 arch/x86/dts/broadwell_som-6896.dts
>> create mode 100644 include/configs/som-6896.h
>>
>> diff --git a/arch/x86/dts/Makefile b/arch/x86/dts/Makefile
>> index 71595c7..83a2b8c 100644
>> --- a/arch/x86/dts/Makefile
>> +++ b/arch/x86/dts/Makefile
>> @@ -6,7 +6,8 @@ dtb-y += bayleybay.dtb \
>> galileo.dtb \
>> minnowmax.dtb \
>> qemu-x86_i440fx.dtb \
>> - qemu-x86_q35.dtb
>> + qemu-x86_q35.dtb \
>> + broadwell_som-6896.dtb
>>
>> targets += $(dtb-y)
>>
>> diff --git a/arch/x86/dts/broadwell_som-6896.dts b/arch/x86/dts/broadwell_som-6896.dts
>> new file mode 100644
>> index 0000000..4ca8208
>> --- /dev/null
>> +++ b/arch/x86/dts/broadwell_som-6896.dts
>> @@ -0,0 +1,43 @@
>> +/dts-v1/;
>> +
>> +/include/ "skeleton.dtsi"
>> +/include/ "serial.dtsi"
>> +/include/ "rtc.dtsi"
>> +
>> +/ {
>> + model = "Advantech SOM-6896";
>> + compatible = "advantech,som-6896", "intel,broadwell";
>> +
>> + aliases {
>> + spi0 = "/spi";
>> + };
>> +
>> + config {
>> + silent_console = <0>;
>> + };
>> +
>> + chosen {
>> + stdout-path = "/serial";
>> + };
>> +
>> + pci {
>> + compatible = "pci-x86";
>> + #address-cells = <3>;
>> + #size-cells = <2>;
>> + u-boot,dm-pre-reloc;
>> + ranges = <0x02000000 0x0 0xe0000000 0xe0000000 0 0x10000000
>> + 0x42000000 0x0 0xd0000000 0xd0000000 0 0x10000000
>> + 0x01000000 0x0 0x1900 0x1900 0 0xe700>;
>
> The change log for v3 says "hanged PCI I/O start from 0x1900 to
> 0x2000", but it is still 0x1900 here?
>
Ugh, had the hunk staged but neglected to commit --amend it. I'm
really sorry about that, I was trying to do too much at once
yesterday.
>> + };
>> +
>> + spi {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> + compatible = "intel,ich-spi";
>> + spi-flash at 0 {
>> + reg = <0>;
>> + compatible = "winbond,w25q128", "spi-flash";
>> + memory-map = <0xff000000 0x01000000>;
>> + };
>> + };
>> +};
>> diff --git a/include/configs/som-6896.h b/include/configs/som-6896.h
>> new file mode 100644
>> index 0000000..518bf11
>> --- /dev/null
>> +++ b/include/configs/som-6896.h
>> @@ -0,0 +1,38 @@
>> +/*
>> + * Configuration settings for the SOM-6896
>> + *
>> + * Copyright (C) 2015 NovaTech LLC
>> + * George McCollister <george.mccollister at gmail.com>
>
> Nits: please remove the additional spaces before the email.
Will do.
>
>> + *
>> + * SPDX-License-Identifier: GPL-2.0+
>> + */
>> +
>> +#ifndef __CONFIG_H
>> +#define __CONFIG_H
>> +
>> +#include <configs/x86-common.h>
>> +
>> +#define CONFIG_SYS_MONITOR_LEN (1 << 20)
>> +
>> +#define CONFIG_BOARD_EARLY_INIT_F
>> +#define CONFIG_MISC_INIT_R
>> +
>> +#define CONFIG_SCSI_DEV_LIST \
>> + {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_WILDCATPOINT_AHCI}
>> +
>> +#define CONFIG_SYS_EARLY_PCI_INIT
>> +#define CONFIG_PCI_PNP
>> +
>> +#define VIDEO_IO_OFFSET 0
>> +#define CONFIG_X86EMU_RAW_IO
>> +
>> +#define CONFIG_ARCH_EARLY_INIT_R
>> +
>> +#define CONFIG_STD_DEVICES_SETTINGS "stdin=serial,vga,usbkbd\0" \
>> + "stdout=serial,vga\0" \
>> + "stderr=serial,vga\0"
>> +
>> +#define CONFIG_ENV_SECT_SIZE 0x1000
>> +#define CONFIG_ENV_OFFSET 0x00ff0000
>> +
>> +#endif /* __CONFIG_H */
>> --
>
> Regards,
> Bin
Thanks and sorry for the screw up,
George
More information about the U-Boot
mailing list