Message ID | 1445276765-9756-1-git-send-email-george.mccollister@gmail.com |
---|---|
State | Superseded |
Delegated to: | Simon Glass |
Headers | show |
Hi George, On Tue, Oct 20, 2015 at 1:46 AM, George McCollister <george.mccollister@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@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? > + }; > + > + spi { > + #address-cells = <1>; > + #size-cells = <0>; > + compatible = "intel,ich-spi"; > + spi-flash@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@gmail.com> Nits: please remove the additional spaces before the email. > + * > + * 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
On Mon, Oct 19, 2015 at 9:02 PM, Bin Meng <bmeng.cn@gmail.com> wrote: > Hi George, > > On Tue, Oct 20, 2015 at 1:46 AM, George McCollister > <george.mccollister@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@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@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@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
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>; + }; + + spi { + #address-cells = <1>; + #size-cells = <0>; + compatible = "intel,ich-spi"; + spi-flash@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@gmail.com> + * + * 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 */
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@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