On Mon, Feb 26, 2024 at 7:10 AM Ross Burton <ross.bur...@arm.com> wrote:
>
> From: Ross Burton <ross.bur...@arm.com>
>
> Add the skeleton of an initial genericarm64 kernel.
>
> At present this has only been boot tested on a BeaglePlay and is missing
> some functionality, but it does boot via EFI from SD card successfully.
>
> Future work will organise the configuration fragments more neatly,
> move more options to modules, increase functionality, and add support
> for more boards.

I actually have very few issues / complaints with that initial breakdown. It
really does look to follow the standard kernel "policy" and doesn't override
or add anything that isn't hardware/boot related.

There's a lot of functionality included via the fragments in the configuration,
but since they are all named, it is easy to scan and see what the intention
of the broad enablement is.

I'm ok with merging this immediately, and we can then do cleanups, etc.

I'm interested in getting it booting in qemu as well, so I can do some local
tests alongside the hardware support.

Anyone else object to me merging this and sending the SRCREV bumps ?

Bruce

>
> Signed-off-by: Ross Burton <ross.bur...@arm.com>
> ---
>  bsp/genericarm64/genericarm64-standard.scc |  11 +
>  bsp/genericarm64/genericarm64.cfg          | 248 +++++++++++++++++++++
>  bsp/genericarm64/genericarm64.scc          |  36 +++
>  3 files changed, 295 insertions(+)
>  create mode 100644 bsp/genericarm64/genericarm64-standard.scc
>  create mode 100644 bsp/genericarm64/genericarm64.cfg
>  create mode 100644 bsp/genericarm64/genericarm64.scc
>
> diff --git a/bsp/genericarm64/genericarm64-standard.scc 
> b/bsp/genericarm64/genericarm64-standard.scc
> new file mode 100644
> index 00000000..25598192
> --- /dev/null
> +++ b/bsp/genericarm64/genericarm64-standard.scc
> @@ -0,0 +1,11 @@
> +# SPDX-License-Identifier: MIT
> +define KMACHINE genericarm64
> +define KTYPE standard
> +define KARCH arm64
> +
> +include ktypes/standard/standard.scc
> +
> +include genericarm64.scc
> +
> +# default policy for standard kernels
> +include features/profiling/profiling.scc
> diff --git a/bsp/genericarm64/genericarm64.cfg 
> b/bsp/genericarm64/genericarm64.cfg
> new file mode 100644
> index 00000000..f0454b88
> --- /dev/null
> +++ b/bsp/genericarm64/genericarm64.cfg
> @@ -0,0 +1,248 @@
> +CONFIG_ARM64=y
> +CONFIG_SMP=y
> +CONFIG_SCHED_MC=y
> +CONFIG_SCHED_SMT=y
> +CONFIG_ACPI=y
> +CONFIG_EFI=y
> +CONFIG_DMI=y
> +CONFIG_DMADEVICES=y
> +CONFIG_IOMMU_SUPPORT=y
> +CONFIG_CRYPTO_HW=y
> +CONFIG_REGULATOR=y
> +CONFIG_REGULATOR_FIXED_VOLTAGE=y
> +CONFIG_SND_SOC=m
> +CONFIG_SPMI=y
> +CONFIG_I2C=y
> +CONFIG_IIO=y
> +CONFIG_PWM=y
> +CONFIG_PM_DEVFREQ=y
> +
> +CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
> +CONFIG_ENERGY_MODEL=y
> +CONFIG_ARM_PSCI_CPUIDLE=y
> +CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y
> +CONFIG_CPUFREQ_DT_PLATDEV=y
> +CONFIG_ACPI_CPPC_CPUFREQ=m
> +CONFIG_ACPI_CPPC_CPUFREQ_FIE=y
> +CONFIG_ARM_SCPI_CPUFREQ=y
> +CONFIG_ARM_SCMI_CPUFREQ=y
> +
> +CONFIG_CPU_FREQ_GOV_POWERSAVE=m
> +CONFIG_CPU_FREQ_GOV_USERSPACE=y
> +CONFIG_CPU_FREQ_GOV_ONDEMAND=y
> +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
> +
> +CONFIG_BINFMT_SCRIPT=y
> +CONFIG_INOTIFY_USER=y
> +CONFIG_FANOTIFY=y
> +CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
> +
> +CONFIG_ARM64_TAGGED_ADDR_ABI=y
> +CONFIG_ARM64_HW_AFDBM=y
> +CONFIG_ARM64_PAN=y
> +CONFIG_ARM64_LSE_ATOMICS=y
> +CONFIG_ARM64_USE_LSE_ATOMICS=y
> +CONFIG_ARM64_RAS_EXTN=y
> +CONFIG_ARM64_CNP=y
> +CONFIG_ARM64_SVE=y
> +CONFIG_ARM64_SME=y
> +
> +# all the arches
> +CONFIG_ARCH_SUNXI=y
> +CONFIG_ARCH_BCM=y
> +CONFIG_ARCH_BCM2835=y
> +CONFIG_ARCH_EXYNOS=y
> +CONFIG_ARCH_K3=y
> +CONFIG_ARCH_HISI=y
> +CONFIG_ARCH_MEDIATEK=y
> +CONFIG_ARCH_MESON=y
> +CONFIG_ARCH_NXP=y
> +CONFIG_ARCH_LAYERSCAPE=y
> +CONFIG_ARCH_MXC=y
> +CONFIG_ARCH_QCOM=y
> +CONFIG_ARCH_REALTEK=y
> +CONFIG_ARCH_RENESAS=y
> +CONFIG_ARCH_ROCKCHIP=y
> +CONFIG_ARCH_SEATTLE=y
> +CONFIG_ARCH_STM32=y
> +CONFIG_ARCH_TEGRA=y
> +CONFIG_ARCH_VEXPRESS=y
> +CONFIG_ARCH_ZYNQMP=y
> +
> +# BeaglePlay
> +CONFIG_ARM_PMUV3=y
> +CONFIG_ARM_TI_CPUFREQ=y
> +CONFIG_DP83TD510_PHY=y
> +CONFIG_DRM_ITE_IT66121=m
> +CONFIG_DRM_TIDSS=m
> +CONFIG_EEPROM_AT24=m
> +CONFIG_FSL_MC_BUS=y
> +CONFIG_GPIO_DAVINCI=y
> +CONFIG_GPIO_TPS65219=y
> +CONFIG_HWSPINLOCK_OMAP=y
> +CONFIG_HWSPINLOCK=y
> +CONFIG_INPUT_MISC=y
> +CONFIG_INPUT_TPS65219_PWRBUTTON=y
> +CONFIG_K3_RTI_WATCHDOG=y
> +CONFIG_K3_THERMAL=y
> +CONFIG_KEYBOARD_GPIO=y
> +CONFIG_LEDS_GPIO=y
> +CONFIG_MDIO_GPIO=y
> +CONFIG_MFD_TPS65219=y
> +CONFIG_MMC_DW_K3=y
> +CONFIG_MMC_DW=y
> +CONFIG_MMC_SDHCI_AM654=y
> +CONFIG_MMC_SDHI=y
> +CONFIG_OMAP_GPMC=y
> +CONFIG_OMAP2PLUS_MBOX=y
> +CONFIG_PINCTRL_SINGLE=y
> +CONFIG_REGULATOR_GPIO=y
> +CONFIG_REGULATOR_PWM=y
> +CONFIG_REGULATOR_TPS65132=y
> +CONFIG_REGULATOR_TPS65219=y
> +CONFIG_REGULATOR_TPS6594=y
> +CONFIG_REGULATOR_VCTRL=y
> +CONFIG_RESET_TI_SCI=y
> +CONFIG_RPMSG_CHAR=y
> +CONFIG_RPMSG_CTRL=y
> +CONFIG_RPMSG_NS=y
> +CONFIG_RPMSG_VIRTIO=y
> +CONFIG_RTC_DRV_BQ32K=y
> +CONFIG_RTC_DRV_TI_K3=y
> +CONFIG_SERIAL_8250_OMAP=y
> +CONFIG_SND_SOC_DA7213=m
> +CONFIG_SND_SOC_DAVINCI_MCASP=m
> +CONFIG_SPI_CADENCE_QUADSPI=y
> +CONFIG_SPI_OMAP24XX=y
> +CONFIG_TI_ADC128S052=y
> +CONFIG_TI_K3_AM65_CPSW_NUSS=y
> +CONFIG_TI_K3_DSP_REMOTEPROC=y
> +CONFIG_TI_K3_PSIL=y
> +CONFIG_TI_K3_R5_REMOTEPROC=y
> +CONFIG_TI_K3_RINGACC=y
> +CONFIG_TI_K3_SOCINFO=y
> +CONFIG_TI_K3_UDMA_GLUE_LAYER=y
> +CONFIG_TI_K3_UDMA=y
> +CONFIG_TI_MESSAGE_MANAGER=y
> +CONFIG_TI_PRUSS_INTC=y
> +CONFIG_TI_PRUSS=y
> +CONFIG_TI_SCI_CLK=y
> +CONFIG_TI_SCI_INTA_IRQCHIP=y
> +CONFIG_TI_SCI_INTR_IRQCHIP=y
> +CONFIG_TI_SCI_PM_DOMAINS=y
> +CONFIG_TI_SCI_PROTOCOL=y
> +CONFIG_TI_SYSC=y
> +CONFIG_TI_SYSCON_CLK=y
> +CONFIG_USB_DWC3_AM62=y
> +CONFIG_USB_DWC3=y
> +CONFIG_W1_MASTER_GPIO=m
> +CONFIG_W1=m
> +CONFIG_WL18XX=m
> +CONFIG_WLCORE_SDIO=m
> +CONFIG_WLCORE=m
> +
> +CONFIG_MFD_AXP20X_I2C=y
> +CONFIG_MFD_AXP20X_RSB=y
> +CONFIG_MFD_BD9571MWV=y
> +CONFIG_MFD_EXYNOS_LPASS=y
> +CONFIG_MFD_HI6421_PMIC=y
> +CONFIG_MFD_HI655X_PMIC=y
> +CONFIG_MFD_KHADAS_MCU=y
> +CONFIG_MFD_MAX77620=y
> +CONFIG_MFD_MT6360=y
> +CONFIG_MFD_MT6397=y
> +CONFIG_MFD_RK8XX_I2C=y
> +CONFIG_MFD_RK8XX_SPI=y
> +CONFIG_MFD_ROHM_BD718XX=y
> +CONFIG_MFD_SEC_CORE=y
> +CONFIG_MFD_SL28CPLD=y
> +CONFIG_MFD_SPMI_PMIC=y
> +CONFIG_MFD_TI_AM335X_TSCADC=y
> +CONFIG_MFD_TPS6594_I2C=y
> +
> +CONFIG_I2C_BCM2835=y
> +CONFIG_I2C_CADENCE=y
> +CONFIG_I2C_CHARDEV=y
> +CONFIG_I2C_DESIGNWARE_PLATFORM=y
> +CONFIG_I2C_GPIO=y
> +CONFIG_I2C_HID_ACPI=y
> +CONFIG_I2C_HID_OF=y
> +CONFIG_I2C_MESON=y
> +CONFIG_I2C_MT65XX=y
> +CONFIG_I2C_MUX=y
> +CONFIG_I2C_MUX_PCA954x=y
> +CONFIG_I2C_MV64XXX=y
> +CONFIG_I2C_OMAP=y
> +CONFIG_I2C_QUP=y
> +CONFIG_I2C_RCAR=y
> +CONFIG_I2C_RIIC=y
> +CONFIG_I2C_RK3X=y
> +CONFIG_I2C_RZV2M=y
> +CONFIG_I2C_S3C2410=y
> +CONFIG_I2C_SH_MOBILE=y
> +CONFIG_I2C_TEGRA=y
> +
> +CONFIG_ARM_CCI_PMU=y
> +CONFIG_ARM_CCN=y
> +CONFIG_ARM_CMN=y
> +CONFIG_ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU=y
> +CONFIG_ARM_DMC620_PMU=y
> +CONFIG_ARM_DSU_PMU=y
> +CONFIG_ARM_MHU=y
> +CONFIG_ARM_SBSA_WATCHDOG=y
> +CONFIG_ARM_SMC_WATCHDOG=y
> +CONFIG_ARM_SMMU=y
> +CONFIG_ARM_SMMU_V3=y
> +CONFIG_ARM_SMMU_V3_PMU=y
> +CONFIG_ARM_SP805_WATCHDOG=y
> +CONFIG_ARM_SPE_PMU=y
> +CONFIG_ARM_CCI=y
> +CONFIG_ARM_CCI400_COMMON=y
> +CONFIG_MHI_BUS=m
> +CONFIG_MHI_BUS_PCI_GENERIC=m
> +
> +CONFIG_ARM_SCMI_POWER_DOMAIN=y
> +CONFIG_ARM_SCMI_PROTOCOL=y
> +CONFIG_ARM_SCMI_TRANSPORT_MAILBOX=y
> +CONFIG_ARM_SCMI_TRANSPORT_SMC=y
> +CONFIG_ARM_SCPI_POWER_DOMAIN=y
> +CONFIG_ARM_SCPI_PROTOCOL=y
> +CONFIG_COMMON_CLK_SCPI=y
> +
> +CONFIG_MULTIPLEXER=y
> +CONFIG_MUX_GPIO=y
> +CONFIG_MUX_MMIO=y
> +
> +CONFIG_INTERCONNECT=y
> +
> +CONFIG_PWRSEQ_EMMC=y
> +CONFIG_PWRSEQ_SIMPLE=y
> +CONFIG_MMC_BLOCK=y
> +CONFIG_MMC_BLOCK_MINORS=32
> +
> +CONFIG_REMOTEPROC=y
> +CONFIG_MTK_SCP=y
> +CONFIG_PRU_REMOTEPROC=y
> +
> +CONFIG_MDIO_BUS_MUX_MMIOREG=y
> +CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
> +
> +CONFIG_MTD_RAW_NAND=y
> +CONFIG_MTD_OF_PARTS=y
> +
> +CONFIG_REGULATOR_AXP20X=y
> +CONFIG_REGULATOR_BD718XX=y
> +CONFIG_REGULATOR_BD9571MWV=y
> +CONFIG_REGULATOR_HI6421V530=y
> +CONFIG_REGULATOR_HI655X=y
> +CONFIG_REGULATOR_MAX77620=y
> +CONFIG_REGULATOR_MAX8973=y
> +CONFIG_REGULATOR_MP8859=y
> +CONFIG_REGULATOR_MT6357=y
> +CONFIG_REGULATOR_MT6358=y
> +CONFIG_REGULATOR_MT6359=y
> +CONFIG_REGULATOR_MT6360=y
> +CONFIG_REGULATOR_MT6397=y
> +CONFIG_REGULATOR_RK808=y
> +CONFIG_REGULATOR_ROHM=y
> +CONFIG_REGULATOR_S2MPS11=y
> diff --git a/bsp/genericarm64/genericarm64.scc 
> b/bsp/genericarm64/genericarm64.scc
> new file mode 100644
> index 00000000..ed28890d
> --- /dev/null
> +++ b/bsp/genericarm64/genericarm64.scc
> @@ -0,0 +1,36 @@
> +# SPDX-License-Identifier: MIT
> +kconf hardware genericarm64.cfg
> +
> +include cfg/8250.scc
> +include cfg/boot-live.scc
> +include cfg/efi-ext.scc
> +include cfg/net/mdio.scc
> +include cfg/sound.scc
> +include cfg/timer/no_hz.scc
> +include cfg/timer/rtc.scc
> +include cfg/usb-mass-storage.scc
> +include cfg/virtio.scc
> +include cfg/fs/flash_fs.cfg
> +
> +include features/bluetooth/bluetooth.scc
> +include features/input/input.scc
> +include features/hid/hid.scc
> +include features/leds/leds.scc
> +include features/mmc/mmc-block.scc
> +include features/mmc/mmc-sdhci.scc
> +include features/mtd/mtd.scc
> +include features/net/net.scc
> +include features/netfilter/netfilter.scc
> +include features/numa/numa.scc
> +include features/pci-iov/pci-iov.scc
> +include features/pci/pci.scc
> +include features/power/arm.scc
> +include features/usb-net/usb-net.scc
> +include features/usb/ehci-hcd.scc
> +include features/usb/ohci-hcd.scc
> +include features/usb/uhci-hcd.scc
> +include features/usb/xhci-hcd.scc
> +include features/wifi/wifi-all.scc
> +include features/optee/optee.cfg
> +include features/security/security.scc
> +include features/spi/spi.cfg
> --
> 2.34.1
>
>
> 
>


-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#13613): 
https://lists.yoctoproject.org/g/linux-yocto/message/13613
Mute This Topic: https://lists.yoctoproject.org/mt/104580425/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to