Add a general purpose KMACHINE that can be used for general purpose Zynq
BSPs. The main configuration of the Zynq SoC can be configured via
device tree, allowing for a common kernel config. This allows for a
single KMACHINE to target multiple BSPs without needing to be directly
configured for the platform/soc.

This adds configs for -standard and -tiny.

Signed-off-by: Nathan Rossi <nat...@nathanrossi.com>
---
 bsp/xilinx/soc/drivers-zynq.cfg | 75 +++++++++++++++++++++++++++++++++++++++++
 bsp/xilinx/soc/zynq.cfg         | 43 +++++++++++++++++++++++
 bsp/xilinx/soc/zynq.scc         | 10 ++++++
 bsp/xilinx/zynq-standard.scc    | 15 +++++++++
 bsp/xilinx/zynq-tiny.scc        |  9 +++++
 5 files changed, 152 insertions(+)
 create mode 100644 bsp/xilinx/soc/drivers-zynq.cfg
 create mode 100644 bsp/xilinx/soc/zynq.cfg
 create mode 100644 bsp/xilinx/soc/zynq.scc
 create mode 100644 bsp/xilinx/zynq-standard.scc
 create mode 100644 bsp/xilinx/zynq-tiny.scc

diff --git a/bsp/xilinx/soc/drivers-zynq.cfg b/bsp/xilinx/soc/drivers-zynq.cfg
new file mode 100644
index 0000000000..daffe670b3
--- /dev/null
+++ b/bsp/xilinx/soc/drivers-zynq.cfg
@@ -0,0 +1,75 @@
+
+# UART
+CONFIG_TTY=y
+CONFIG_SERIAL_EARLYCON=y
+CONFIG_SERIAL_XILINX_PS_UART=y
+CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
+
+# SRAM
+CONFIG_SRAM=y
+
+# EDAC
+CONFIG_EDAC=y
+CONFIG_EDAC_MM_EDAC=y
+CONFIG_EDAC_SYNOPSYS=y
+
+# DMA
+CONFIG_DMADEVICES=y
+CONFIG_PL330_DMA=y
+
+# PL310
+CONFIG_CACHE_L2X0=y
+CONFIG_PL310_ERRATA_588369=y
+CONFIG_PL310_ERRATA_727915=y
+CONFIG_PL310_ERRATA_769419=y
+
+# Watchdog
+CONFIG_WATCHDOG=y
+CONFIG_CADENCE_WATCHDOG=y
+
+# Ethernet
+CONFIG_NET_CADENCE=y
+CONFIG_MACB=y
+
+# GPIO
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_ZYNQ=y
+
+# I2C
+CONFIG_I2C=y
+CONFIG_I2C_CADENCE=y
+
+# SPI
+CONFIG_SPI=y
+CONFIG_SPI_CADENCE=y
+
+# CAN
+CONFIG_CAN=y
+CONFIG_CAN_DEV=y
+CONFIG_CAN_XILINXCAN=y
+
+# MMC/SD
+CONFIG_MMC=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_OF_ARASAN=y
+
+# USB
+CONFIG_USB_SUPPORT=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_ULPI=y
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_USB_OTG=y
+CONFIG_USB_GADGET=y
+
+# FPGA
+CONFIG_FPGA=y
+CONFIG_FPGA_MGR_ZYNQ_FPGA=y
+CONFIG_FPGA_REGION=y
+CONFIG_FPGA_BRIDGE=y
+
diff --git a/bsp/xilinx/soc/zynq.cfg b/bsp/xilinx/soc/zynq.cfg
new file mode 100644
index 0000000000..bfc74460fb
--- /dev/null
+++ b/bsp/xilinx/soc/zynq.cfg
@@ -0,0 +1,43 @@
+
+# Arch Feature Selections
+CONFIG_MMU=y
+CONFIG_ARCH_MULTI_V7=y
+CONFIG_ARCH_VEXPRESS=y
+CONFIG_ARCH_ZYNQ=y
+CONFIG_VFP=y
+CONFIG_NEON=y
+CONFIG_AEABI=y
+
+# CPU Erratas
+CONFIG_ARM_ERRATA_754322=y
+CONFIG_ARM_ERRATA_754327=y
+CONFIG_ARM_ERRATA_764369=y
+CONFIG_ARM_ERRATA_775420=y
+
+# SMP
+CONFIG_SMP=y
+CONFIG_ARM_CPU_TOPOLOGY=y
+CONFIG_SCHED_MC=y
+CONFIG_SCHED_SMT=y
+
+# Memory
+CONFIG_HIGHMEM=y
+
+# Thermal
+CONFIG_THERMAL=y
+CONFIG_THERMAL_OF=y
+CONFIG_CPU_THERMAL=y
+
+# CPU Frequency
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPUFREQ_DT=y
+CONFIG_CPU_IDLE=y
+CONFIG_ARM_ZYNQ_CPUIDLE=y
+
diff --git a/bsp/xilinx/soc/zynq.scc b/bsp/xilinx/soc/zynq.scc
new file mode 100644
index 0000000000..9a0e88b903
--- /dev/null
+++ b/bsp/xilinx/soc/zynq.scc
@@ -0,0 +1,10 @@
+define KFEATURE_DESCRIPTION "Xilinx Zynq 7000 SoC"
+define KFEATURE_COMPATIBILITY board
+
+include features/net/net.scc
+include cfg/timer/no_hz.scc
+
+kconf hardware zynq.cfg
+kconf hardware drivers-zynq.cfg
+include bsp/xilinx/soc/drivers-softip.scc
+
diff --git a/bsp/xilinx/zynq-standard.scc b/bsp/xilinx/zynq-standard.scc
new file mode 100644
index 0000000000..b58461ae86
--- /dev/null
+++ b/bsp/xilinx/zynq-standard.scc
@@ -0,0 +1,15 @@
+define KMACHINE zynq
+define KTYPE standard
+define KARCH arm
+
+include ktypes/standard/standard.scc
+
+include bsp/xilinx/soc/zynq.scc
+include bsp/xilinx/board-common.scc
+
+include features/input/input.scc
+include cfg/usb-mass-storage.scc
+
+# default policy for standard kernels
+include features/latencytop/latencytop.scc
+include features/profiling/profiling.scc
diff --git a/bsp/xilinx/zynq-tiny.scc b/bsp/xilinx/zynq-tiny.scc
new file mode 100644
index 0000000000..eeb7db1ebe
--- /dev/null
+++ b/bsp/xilinx/zynq-tiny.scc
@@ -0,0 +1,9 @@
+define KMACHINE zynq
+define KTYPE tiny
+define KARCH arm
+
+include ktypes/tiny/tiny.scc
+
+include bsp/xilinx/soc/zynq.scc
+include bsp/xilinx/board-common.scc
+
-- 
2.13.2

-- 
_______________________________________________
linux-yocto mailing list
linux-yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/linux-yocto

Reply via email to