(sorry, previous answer _is_ empty, wrong button) Le mar. 4 mai 2021 à 23:03, Trevor Woerner <twoer...@gmail.com> a écrit : > > On Mon 2021-04-26 @ 04:58:10 PM, yann.dir...@blade-group.com wrote: > > From: Yann Dirson <y...@blade-group.com> > > > > This patch provides "standard" and "tiny" BSP. > > > > There is still much work to be done in dispatching feature to individual > > scc files - the more boards we can support the better it will get. > > Not all SoC/board features are covered yet either (esp. Wifi/Bluetooth and > > audio jack), and properly-woking HDMI still needs patches. > > > > Tiny is not fully testable by itself, it can be minimally booted with > > serial console (though still missing CONFIG_MULTIUSER for serial getty, > > and CONFIG_INOTIFY_USER for proper udev operation) using: > > > > PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-tiny" > > KERNEL_FEATURES_append = "\ > > ktypes/base/base.scc \ > > features/debug/printk.scc \ > > cfg/fs/ext4.scc \ > > cfg/8250.scc \ > > " > > > > Such a tiny build is still using mainline defconfig with lots of hardware > > features, and the kernel can be slimmed down even more by using: > > > > KBUILD_DEFCONFIG = "" > > > > Kernel weight using default configurations: > > - standard 11MB > > - tiny 5MB > > - tiny with no defconfig 2.5MB > > > > Signed-off-by: Yann Dirson <y...@blade-group.com> > > --- > > .../files/bsp/rockchip/nanopi-m4-standard.scc | 7 ++ > > .../files/bsp/rockchip/nanopi-m4-tiny.scc | 7 ++ > > .../linux/files/bsp/rockchip/nanopi-m4.cfg | 15 ++++ > > .../linux/files/bsp/rockchip/nanopi-m4.scc | 5 ++ > > .../linux/files/bsp/rockchip/rk3399.cfg | 71 +++++++++++++++++++ > > .../linux/files/bsp/rockchip/rk3399.scc | 5 ++ > > .../linux/files/bsp/rockchip/rockchip.cfg | 50 +++++++++++++ > > .../linux/files/bsp/rockchip/rockchip.scc | 6 ++ > > recipes-kernel/linux/linux-yocto%.bbappend | 6 ++ > > 9 files changed, 172 insertions(+) > > create mode 100644 > > recipes-kernel/linux/files/bsp/rockchip/nanopi-m4-standard.scc > > create mode 100644 > > recipes-kernel/linux/files/bsp/rockchip/nanopi-m4-tiny.scc > > create mode 100644 recipes-kernel/linux/files/bsp/rockchip/nanopi-m4.cfg > > create mode 100644 recipes-kernel/linux/files/bsp/rockchip/nanopi-m4.scc > > create mode 100644 recipes-kernel/linux/files/bsp/rockchip/rk3399.cfg > > create mode 100644 recipes-kernel/linux/files/bsp/rockchip/rk3399.scc > > create mode 100644 recipes-kernel/linux/files/bsp/rockchip/rockchip.cfg > > create mode 100644 recipes-kernel/linux/files/bsp/rockchip/rockchip.scc > > > > diff --git a/recipes-kernel/linux/files/bsp/rockchip/nanopi-m4-standard.scc > > b/recipes-kernel/linux/files/bsp/rockchip/nanopi-m4-standard.scc > > new file mode 100644 > > index 0000000..5c74d6b > > --- /dev/null > > +++ b/recipes-kernel/linux/files/bsp/rockchip/nanopi-m4-standard.scc > > @@ -0,0 +1,7 @@ > > +# SPDX-License-Identifier: MIT > > +define KMACHINE nanopi-m4 > > +define KTYPE standard > > +define KARCH arm > > + > > +include ktypes/standard/standard.scc > > +include nanopi-m4.scc > > diff --git a/recipes-kernel/linux/files/bsp/rockchip/nanopi-m4-tiny.scc > > b/recipes-kernel/linux/files/bsp/rockchip/nanopi-m4-tiny.scc > > new file mode 100644 > > index 0000000..6e94d6a > > --- /dev/null > > +++ b/recipes-kernel/linux/files/bsp/rockchip/nanopi-m4-tiny.scc > > @@ -0,0 +1,7 @@ > > +# SPDX-License-Identifier: MIT > > +define KMACHINE nanopi-m4 > > +define KTYPE tiny > > +define KARCH arm > > + > > +include ktypes/tiny/tiny.scc > > +include nanopi-m4.scc > > diff --git a/recipes-kernel/linux/files/bsp/rockchip/nanopi-m4.cfg > > b/recipes-kernel/linux/files/bsp/rockchip/nanopi-m4.cfg > > new file mode 100644 > > index 0000000..7802ab3 > > --- /dev/null > > +++ b/recipes-kernel/linux/files/bsp/rockchip/nanopi-m4.cfg > > @@ -0,0 +1,15 @@ > > +CONFIG_MFD_RK808=y > > +CONFIG_COMMON_CLK_RK808=y > > + > > +CONFIG_REGULATOR_RK808=y > > +CONFIG_REGULATOR_FAN53555=y > > + > > +CONFIG_MMC_BLOCK=y > > +CONFIG_PWRSEQ_SIMPLE=y > > + > > +# RTL8211E > > +CONFIG_REALTEK_PHY=m > > + > > +# AP6356S > > +CONFIG_BT_BCM=m > > +CONFIG_BT_HCIUART_BCM=y > > It looks to me as though the BRCMFMAC kernel config option needs to be enabled > to support the AP6256S? I don't see that being enabled, does it end up being > pulled in by default or as a result of the above two settings?
Hm, good catch, I ended up not activating the AP6356S in this first patch, since it would be non-functional without the proper firmware, and that one needs separate work. It makes sense not to include those options at all here. > > > diff --git a/recipes-kernel/linux/files/bsp/rockchip/nanopi-m4.scc > > b/recipes-kernel/linux/files/bsp/rockchip/nanopi-m4.scc > > new file mode 100644 > > index 0000000..f4267aa > > --- /dev/null > > +++ b/recipes-kernel/linux/files/bsp/rockchip/nanopi-m4.scc > > @@ -0,0 +1,5 @@ > > +# SPDX-License-Identifier: MIT > > + > > +kconf hardware nanopi-m4.cfg > > + > > +include rk3399.scc > > diff --git a/recipes-kernel/linux/files/bsp/rockchip/rk3399.cfg > > b/recipes-kernel/linux/files/bsp/rockchip/rk3399.cfg > > new file mode 100644 > > index 0000000..f5f2909 > > --- /dev/null > > +++ b/recipes-kernel/linux/files/bsp/rockchip/rk3399.cfg > > @@ -0,0 +1,71 @@ > > +# A72 errata, all past revisions > > +CONFIG_ARM64_ERRATUM_1319367=y > > +# A53 errata, all patched on boot when needed > > +CONFIG_ARM64_ERRATUM_826319=y > > +CONFIG_ARM64_ERRATUM_827319=y > > +CONFIG_ARM64_ERRATUM_824069=y > > +CONFIG_ARM64_ERRATUM_819472=y > > + > > +# cru > > +CONFIG_CLK_RK3399=y > > + > > +CONFIG_PL330_DMA=y > > +CONFIG_I2C_RK3X=y > > +CONFIG_SERIAL_8250_DW=y > > + > > +# usb > > +CONFIG_PHY_ROCKCHIP_INNO_USB2=y > > +CONFIG_PHY_ROCKCHIP_TYPEC=y > > + > > +# ethernet > > +CONFIG_NET_VENDOR_STMICRO=y > > +CONFIG_STMMAC_ETH=m > > +CONFIG_STMMAC_PLATFORM=m > > +CONFIG_DWMAC_ROCKCHIP=m > > +CONFIG_PHYLIB=m > > + > > +# display > > +CONFIG_ROCKCHIP_DW_HDMI=y > > +CONFIG_ROCKCHIP_DW_MIPI_DSI=y > > +CONFIG_ROCKCHIP_ANALOGIX_DP=y > > +CONFIG_ROCKCHIP_CDN_DP=y > > +CONFIG_PHY_ROCKCHIP_DP=y > > +CONFIG_DRM_DW_HDMI=m > > +CONFIG_DRM_DW_HDMI_I2S_AUDIO=m > > +CONFIG_DRM_DW_HDMI_CEC=m > > +CONFIG_DRM_DW_MIPI_DSI=m > > +CONFIG_DRM_PANFROST=m > > + > > +# HDMI audio > > +CONFIG_DRM_DW_HDMI_AHB_AUDIO=m > > +CONFIG_SND_SOC_RK3288_HDMI_ANALOG=m > > Oops, is enabling this RK3288 setting an oversight? Or is it needed for HDMI > on the RK3399? I will double-check before rerolling, IIRC it is a common block used by the 3399, whose legacy naming is just confusing. > > > + > > +CONFIG_VIDEO_DEV=m > > +CONFIG_V4L_MEM2MEM_DRIVERS=y > > +CONFIG_VIDEO_ROCKCHIP_RGA=m > > + > > +CONFIG_V4L2_H264=m > > +CONFIG_MEDIA_CONTROLLER_REQUEST_API=y > > +CONFIG_VIDEO_HANTRO=m > > +CONFIG_VIDEO_HANTRO_ROCKCHIP=y > > +CONFIG_VIDEO_ROCKCHIP_VDEC=m > > + > > +# usb > > +CONFIG_USB_DWC2=y > > +CONFIG_USB_DWC3=y > > +CONFIG_USB_DWC3_DUAL_ROLE=y > > + > > +# sd/mmc > > +CONFIG_MMC=y > > +CONFIG_MMC_SDHCI=y > > +CONFIG_MMC_SDHCI_PLTFM=y > > +CONFIG_MMC_DW=y > > +CONFIG_MMC_DW_ROCKCHIP=y > > +CONFIG_MMC_SDHCI_OF_ARASAN=y > > + > > +# temperature sensors > > +CONFIG_THERMAL=y > > +CONFIG_THERMAL_OF=y > > +CONFIG_ROCKCHIP_THERMAL=m > > +CONFIG_IIO=y > > +CONFIG_ROCKCHIP_SARADC=m > > diff --git a/recipes-kernel/linux/files/bsp/rockchip/rk3399.scc > > b/recipes-kernel/linux/files/bsp/rockchip/rk3399.scc > > new file mode 100644 > > index 0000000..9b1a88e > > --- /dev/null > > +++ b/recipes-kernel/linux/files/bsp/rockchip/rk3399.scc > > @@ -0,0 +1,5 @@ > > +# SPDX-License-Identifier: MIT > > + > > +kconf hardware rk3399.cfg > > + > > +include rockchip.scc > > diff --git a/recipes-kernel/linux/files/bsp/rockchip/rockchip.cfg > > b/recipes-kernel/linux/files/bsp/rockchip/rockchip.cfg > > new file mode 100644 > > index 0000000..05a397d > > --- /dev/null > > +++ b/recipes-kernel/linux/files/bsp/rockchip/rockchip.cfg > > @@ -0,0 +1,50 @@ > > +CONFIG_CPU_ISOLATION=y > > +CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y > > +CONFIG_HZ_250=y > > +CONFIG_CPU_IDLE=y > > +CONFIG_ARM_CPUIDLE=y > > + > > +CONFIG_ARCH_ROCKCHIP=y > > +CONFIG_COMMON_CLK_ROCKCHIP=y > > +CONFIG_REGULATOR=y > > +CONFIG_REGULATOR_FIXED_VOLTAGE=y > > +CONFIG_REGULATOR_PWM=y > > +CONFIG_I2C=y > > +CONFIG_FW_LOADER=y > > +CONFIG_PHY_ROCKCHIP_EMMC=y > > +CONFIG_PINCTRL=y > > +CONFIG_PINCTRL_ROCKCHIP=y > > +CONFIG_ROCKCHIP_IODOMAIN=y > > +CONFIG_ROCKCHIP_PM_DOMAINS=y > > + > > +CONFIG_SPI=y > > +CONFIG_SPI_ROCKCHIP=m > > + > > +CONFIG_PWM=y > > +CONFIG_PWM_ROCKCHIP=y > > + > > +CONFIG_DRM_KMS_HELPER=m > > +CONFIG_DRM_FBDEV_EMULATION=y > > +CONFIG_ROCKCHIP_IOMMU=y > > +CONFIG_DRM_ROCKCHIP=m > > +CONFIG_DRM_BRIDGE=y > > + > > +CONFIG_SND=y > > +CONFIG_SND_SOC=y > > +CONFIG_SND_HDA_CODEC_HDMI=m > > +CONFIG_SND_SOC_ROCKCHIP=m > > +CONFIG_SND_SOC_ROCKCHIP_I2S=m > > +CONFIG_SND_SOC_ROCKCHIP_SPDIF=m > > + > > +CONFIG_NVMEM=y > > +CONFIG_ROCKCHIP_EFUSE=m > > + > > +CONFIG_CPU_FREQ=y > > +CONFIG_CPU_FREQ_THERMAL=y > > +CONFIG_HWMON=y > > +CONFIG_THERMAL_HWMON=y > > + > > +CONFIG_CRYPTO_HW=y > > +CONFIG_CRYPTO_DEV_ROCKCHIP=m > > + > > +CONFIG_MMC_BLOCK_MINORS=32 > > diff --git a/recipes-kernel/linux/files/bsp/rockchip/rockchip.scc > > b/recipes-kernel/linux/files/bsp/rockchip/rockchip.scc > > new file mode 100644 > > index 0000000..800f105 > > --- /dev/null > > +++ b/recipes-kernel/linux/files/bsp/rockchip/rockchip.scc > > @@ -0,0 +1,6 @@ > > +# SPDX-License-Identifier: MIT > > + > > +kconf hardware rockchip.cfg > > + > > +include cfg/dmaengine.scc > > +include features/mmc/mmc-block.cfg > > diff --git a/recipes-kernel/linux/linux-yocto%.bbappend > > b/recipes-kernel/linux/linux-yocto%.bbappend > > index 7702e3f..9658681 100644 > > --- a/recipes-kernel/linux/linux-yocto%.bbappend > > +++ b/recipes-kernel/linux/linux-yocto%.bbappend > > @@ -1,3 +1,9 @@ > > +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" > > + > > +SRC_URI_append = "\ > > + file://bsp;type=kmeta;subdir=kernel-meta \ > > +" > > + > > COMPATIBLE_MACHINE_marsboard-rk3066 = "marsboard-rk3066" > > COMPATIBLE_MACHINE_rock2-square = "rock2-square" > > COMPATIBLE_MACHINE_radxarock = "radxarock" > > -- > > 2.30.2 > > -- Yann Dirson <y...@blade-group.com> Blade / Shadow -- http://shadow.tech
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#53379): https://lists.yoctoproject.org/g/yocto/message/53379 Mute This Topic: https://lists.yoctoproject.org/mt/82379953/21656 Group Owner: yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-