Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save perillamint/349e3c06cb63c1146033b380e6954512 to your computer and use it in GitHub Desktop.
Save perillamint/349e3c06cb63c1146033b380e6954512 to your computer and use it in GitHub Desktop.
From bffeae7c5bf5872c5f1a1eaf0055ccb7688cac28 Mon Sep 17 00:00:00 2001
From: perillamint <[email protected]>
Date: Thu, 4 Jan 2018 01:07:08 +0900
Subject: [PATCH] Initial Quark platform support
---
include/target.mk | 1 +
target/linux/x86/Makefile | 2 +-
target/linux/x86/base-files/etc/inittab | 1 +
target/linux/x86/quark/config-default | 148 ++++++++++++++++++
.../linux/x86/quark/profiles/000-Generic.mk | 15 ++
.../linux/x86/quark/profiles/100-Galileo.mk | 16 ++
target/linux/x86/quark/target.mk | 9 ++
7 files changed, 191 insertions(+), 1 deletion(-)
create mode 100644 target/linux/x86/quark/config-default
create mode 100644 target/linux/x86/quark/profiles/000-Generic.mk
create mode 100644 target/linux/x86/quark/profiles/100-Galileo.mk
create mode 100644 target/linux/x86/quark/target.mk
diff --git a/include/target.mk b/include/target.mk
index a97cda2c3a..f334898f4c 100644
--- a/include/target.mk
+++ b/include/target.mk
@@ -179,6 +179,7 @@ ifeq ($(DUMP),1)
endif
ifeq ($(ARCH),i386)
CPU_TYPE ?= pentium
+ CPU_CFLAGS_quark = -march=i586
CPU_CFLAGS_pentium = -march=pentium-mmx
CPU_CFLAGS_pentium4 = -march=pentium4
endif
diff --git a/target/linux/x86/Makefile b/target/linux/x86/Makefile
index 533c0e5248..b8c57498b8 100644
--- a/target/linux/x86/Makefile
+++ b/target/linux/x86/Makefile
@@ -10,7 +10,7 @@ ARCH:=i386
BOARD:=x86
BOARDNAME:=x86
FEATURES:=squashfs ext4 vdi vmdk pcmcia targz fpu
-SUBTARGETS:=generic legacy geode 64
+SUBTARGETS:=generic legacy geode quark 64
MAINTAINER:=Felix Fietkau <[email protected]>
KERNEL_PATCHVER:=4.14
diff --git a/target/linux/x86/base-files/etc/inittab b/target/linux/x86/base-files/etc/inittab
index f4747f200d..11ff61bf93 100644
--- a/target/linux/x86/base-files/etc/inittab
+++ b/target/linux/x86/base-files/etc/inittab
@@ -1,5 +1,6 @@
::sysinit:/etc/init.d/rcS S boot
::shutdown:/etc/init.d/rcS K shutdown
ttyS0::askfirst:/usr/libexec/login.sh
+ttyS1::askfirst:/usr/libexec/login.sh
hvc0::askfirst:/usr/libexec/login.sh
tty1::askfirst:/usr/libexec/login.sh
diff --git a/target/linux/x86/quark/config-default b/target/linux/x86/quark/config-default
new file mode 100644
index 0000000000..8a16880432
--- /dev/null
+++ b/target/linux/x86/quark/config-default
@@ -0,0 +1,148 @@
+CONFIG_ACPI=y
+CONFIG_ACPI_AC=y
+# CONFIG_ACPI_BATTERY is not set
+# CONFIG_ACPI_BGRT is not set
+# CONFIG_ACPI_CMPC is not set
+# CONFIG_ACPI_CONTAINER is not set
+CONFIG_ACPI_CPU_FREQ_PSS=y
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+# CONFIG_ACPI_DEBUG is not set
+# CONFIG_ACPI_DEBUGGER is not set
+# CONFIG_ACPI_DOCK is not set
+# CONFIG_ACPI_EC_DEBUGFS is not set
+# CONFIG_ACPI_FAN is not set
+CONFIG_ACPI_HOTPLUG_IOAPIC=y
+CONFIG_ACPI_I2C_OPREGION=y
+CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
+CONFIG_ACPI_PCI_SLOT=y
+CONFIG_ACPI_PROCESSOR=y
+# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
+CONFIG_ACPI_PROCESSOR_CSTATE=y
+CONFIG_ACPI_PROCESSOR_IDLE=y
+# CONFIG_ACPI_PROCFS_POWER is not set
+CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
+# CONFIG_ACPI_SBS is not set
+CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
+CONFIG_ACPI_THERMAL=y
+# CONFIG_ACPI_WMI is not set
+CONFIG_APB_TIMER=y
+CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
+CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
+# CONFIG_BATTERY_INTEL_MID is not set
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_COMMON_CLK=y
+# CONFIG_DEBUG_IMR_SELFTEST is not set
+# CONFIG_DPTF_POWER is not set
+CONFIG_DWMAC_GENERIC=y
+CONFIG_DW_APB_TIMER=y
+# CONFIG_EARLY_PRINTK_EFI is not set
+CONFIG_EFI=y
+CONFIG_EFIVAR_FS=y
+# CONFIG_EFI_CAPSULE_LOADER is not set
+CONFIG_EFI_ESRT=y
+# CONFIG_EFI_FAKE_MEMMAP is not set
+# CONFIG_EFI_PGT_DUMP is not set
+CONFIG_EFI_RUNTIME_MAP=y
+CONFIG_EFI_RUNTIME_WRAPPERS=y
+# CONFIG_EFI_STUB is not set
+# CONFIG_EFI_TEST is not set
+# CONFIG_EFI_VARS is not set
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_IRQCHIP=y
+CONFIG_GPIO_ACPI=y
+# CONFIG_GPIO_INTEL_MID is not set
+# CONFIG_GPIO_INTEL_PMIC is not set
+# CONFIG_GPIO_MERRIFIELD is not set
+# CONFIG_GPIO_MSIC is not set
+CONFIG_GPIO_PCA953X=y
+CONFIG_GPIO_PCA953X_IRQ=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_HAVE_ACPI_APEI=y
+CONFIG_HAVE_ACPI_APEI_NMI=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_CLK_PREPARE=y
+# CONFIG_HPET is not set
+# CONFIG_HP_ACCEL is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_INTEL_IMR=y
+# CONFIG_INTEL_IPS is not set
+# CONFIG_INTEL_MENLOW is not set
+# CONFIG_INTEL_MFLD_THERMAL is not set
+# CONFIG_INTEL_MID_POWER_BUTTON is not set
+# CONFIG_INTEL_MID_WATCHDOG is not set
+# CONFIG_INTEL_PMC_IPC is not set
+CONFIG_INTEL_QUARK_DTS_THERMAL=y
+CONFIG_INTEL_SCU_IPC=y
+CONFIG_INTEL_SCU_IPC_UTIL=y
+# CONFIG_INTEL_SCU_WATCHDOG is not set
+CONFIG_IOSF_MBI=y
+# CONFIG_IOSF_MBI_DEBUG is not set
+# CONFIG_ISCSI_IBFT_FIND is not set
+# CONFIG_M586MMX is not set
+CONFIG_M586TSC=y
+CONFIG_MDIO_BOARDINFO=y
+CONFIG_MFD_CORE=y
+# CONFIG_MFD_INTEL_LPSS_ACPI is not set
+CONFIG_MFD_INTEL_MSIC=y
+CONFIG_MFD_INTEL_QUARK_I2C_GPIO=y
+CONFIG_MFD_SYSCON=y
+CONFIG_MMC=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_ACPI=y
+CONFIG_MMC_SDHCI_PCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+# CONFIG_MMC_TIFM_SD is not set
+# CONFIG_MMC_WBSD is not set
+CONFIG_NET_PTP_CLASSIFY=y
+CONFIG_PCIEAER=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCIE_DW=y
+CONFIG_PCIE_DW_PLAT=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PHYLIB=y
+# CONFIG_PMIC_OPREGION is not set
+CONFIG_PNP=y
+CONFIG_PNPACPI=y
+CONFIG_PNP_DEBUG_MESSAGES=y
+CONFIG_PPS=y
+CONFIG_PTP_1588_CLOCK=y
+# CONFIG_PVPANIC is not set
+CONFIG_RAS=y
+CONFIG_RATIONAL=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
+CONFIG_REGMAP_MMIO=y
+CONFIG_REGMAP_SPI=y
+CONFIG_RESET_CONTROLLER=y
+CONFIG_RTC_DRV_VRTC=y
+CONFIG_RTC_I2C_AND_SPI=y
+# CONFIG_SAMSUNG_Q10 is not set
+CONFIG_SERIAL_8250_LPSS=y
+CONFIG_SERIAL_8250_MID=y
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SFI=y
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+CONFIG_STMMAC_ETH=y
+CONFIG_STMMAC_PCI=y
+CONFIG_STMMAC_PLATFORM=y
+# CONFIG_SURFACE_PRO3_BUTTON is not set
+# CONFIG_TOSHIBA_BT_RFKILL is not set
+CONFIG_UCS2_STRING=y
+# CONFIG_X86_ACPI_CPUFREQ is not set
+# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
+CONFIG_X86_EXTENDED_PLATFORM=y
+# CONFIG_X86_E_POWERSAVER is not set
+# CONFIG_X86_GOLDFISH is not set
+# CONFIG_X86_INTEL_LPSS is not set
+CONFIG_X86_INTEL_MID=y
+CONFIG_X86_INTEL_QUARK=y
+# CONFIG_X86_LONGHAUL is not set
+# CONFIG_X86_PCC_CPUFREQ is not set
+CONFIG_X86_PM_TIMER=y
+# CONFIG_X86_RDC321X is not set
+# CONFIG_X86_SFI_CPUFREQ is not set
+# CONFIG_X86_SYSFB is not set
diff --git a/target/linux/x86/quark/profiles/000-Generic.mk b/target/linux/x86/quark/profiles/000-Generic.mk
new file mode 100644
index 0000000000..c4d3981603
--- /dev/null
+++ b/target/linux/x86/quark/profiles/000-Generic.mk
@@ -0,0 +1,15 @@
+#
+# Copyright (C) 2006-2009 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Generic
+ NAME:=Generic
+endef
+
+define Profile/Generic/Description
+ Generic Intel Quark based board
+endef
+$(eval $(call Profile,Generic))
diff --git a/target/linux/x86/quark/profiles/100-Galileo.mk b/target/linux/x86/quark/profiles/100-Galileo.mk
new file mode 100644
index 0000000000..862cf4875c
--- /dev/null
+++ b/target/linux/x86/quark/profiles/100-Galileo.mk
@@ -0,0 +1,16 @@
+#
+# Copyright (C) 2018 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Galileo
+ NAME:=Galileo
+ PACKAGES:=kmod-usb-core
+endef
+
+define Profile/Galileo/Description
+ Intel Galileo Gen 2
+endef
+$(eval $(call Profile,Galileo))
diff --git a/target/linux/x86/quark/target.mk b/target/linux/x86/quark/target.mk
new file mode 100644
index 0000000000..22c6d2d8f4
--- /dev/null
+++ b/target/linux/x86/quark/target.mk
@@ -0,0 +1,9 @@
+BOARDNAME:=Intel Quark based systems
+CPU_TYPE :=quark
+FEATURES += pci pcie usb rtc gpio
+DEFAULT_PACKAGES += kmod-button-hotplug
+
+define Target/Description
+ Build firmware images for Intel Quark based systems
+endef
+
--
2.17.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment