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