* [meta-rockchip][PATCH v4 0/3] kmeta BSP for nanopi-m4 @ 2021-04-26 14:58 Yann Dirson 2021-04-26 14:58 ` [meta-rockchip][PATCH v4 1/3] NanoPi-M4: let all variants use the same KMACHINE type Yann Dirson ` (2 more replies) 0 siblings, 3 replies; 9+ messages in thread From: Yann Dirson @ 2021-04-26 14:58 UTC (permalink / raw) To: yocto; +Cc: twoerner, Yann Dirson From: Yann Dirson <yann@blade-group.com> Changes in v4: - install our bsp files in bsp/rockchip/ rather than directly in bsp/ - also add "serial" to MACHINE_FEATURES Changes in v3: - relocate the bsp files into files/ so we don't have to add linux-yocto/ to FILESEXTRAPATHS for all other kernels - removed the "don't force KCONFIG_MODE to alldefconfig" (not needed finally, and causing interferences in default setup) - add "usbhost" to MACHINE_FEATURES to enable lsusb and friends - better hardware coverage (though still no wifi/bt/audio, and buggy hdmi) The Wifi/BT support requires firmware, to be properly packaged; BT support itself is still buggy in mainline; audio jack requires a couple of patches; HDMI requires at the very least a DTS patch, and LibreELEC maintains a "latest and greatest" DRM patchset, but it can conflicts with some patches in default kmeta. Yann Dirson (3): NanoPi-M4: let all variants use the same KMACHINE type NanoPi-M4: declare "usbhost" and "serial" in MACHINE_FEATURES linux-yocto: add an initial NanoPi-M4 BSP conf/machine/include/nanopi-m4.inc | 3 + .../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 ++ 10 files changed, 175 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 -- 2.30.2 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [meta-rockchip][PATCH v4 1/3] NanoPi-M4: let all variants use the same KMACHINE type 2021-04-26 14:58 [meta-rockchip][PATCH v4 0/3] kmeta BSP for nanopi-m4 Yann Dirson @ 2021-04-26 14:58 ` Yann Dirson 2021-05-04 21:00 ` Trevor Woerner 2021-04-26 14:58 ` [meta-rockchip][PATCH v4 2/3] NanoPi-M4: declare "usbhost" and "serial" in MACHINE_FEATURES Yann Dirson 2021-04-26 14:58 ` [meta-rockchip][PATCH v4 3/3] linux-yocto: add an initial NanoPi-M4 BSP Yann Dirson 2 siblings, 1 reply; 9+ messages in thread From: Yann Dirson @ 2021-04-26 14:58 UTC (permalink / raw) To: yocto; +Cc: twoerner, Yann Dirson From: Yann Dirson <yann@blade-group.com> This will allow us to define a single set of kernel BSP for all variants of the board (which only need to differ in u-boot dts). Signed-off-by: Yann Dirson <yann@blade-group.com> --- conf/machine/include/nanopi-m4.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/machine/include/nanopi-m4.inc b/conf/machine/include/nanopi-m4.inc index 74cdae8..603160f 100644 --- a/conf/machine/include/nanopi-m4.inc +++ b/conf/machine/include/nanopi-m4.inc @@ -3,6 +3,7 @@ require rk3399.inc +KMACHINE = "nanopi-m4" KERNEL_DEVICETREE = "rockchip/rk3399-nanopi-m4.dtb" RK_BOOT_DEVICE = "mmcblk1" -- 2.30.2 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [meta-rockchip][PATCH v4 1/3] NanoPi-M4: let all variants use the same KMACHINE type 2021-04-26 14:58 ` [meta-rockchip][PATCH v4 1/3] NanoPi-M4: let all variants use the same KMACHINE type Yann Dirson @ 2021-05-04 21:00 ` Trevor Woerner 0 siblings, 0 replies; 9+ messages in thread From: Trevor Woerner @ 2021-05-04 21:00 UTC (permalink / raw) To: yann.dirson; +Cc: yocto, Yann Dirson On Mon 2021-04-26 @ 04:58:08 PM, yann.dirson@blade-group.com wrote: > From: Yann Dirson <yann@blade-group.com> > > This will allow us to define a single set of kernel BSP for all > variants of the board (which only need to differ in u-boot dts). > > Signed-off-by: Yann Dirson <yann@blade-group.com> applied to master, thanks! ^ permalink raw reply [flat|nested] 9+ messages in thread
* [meta-rockchip][PATCH v4 2/3] NanoPi-M4: declare "usbhost" and "serial" in MACHINE_FEATURES 2021-04-26 14:58 [meta-rockchip][PATCH v4 0/3] kmeta BSP for nanopi-m4 Yann Dirson 2021-04-26 14:58 ` [meta-rockchip][PATCH v4 1/3] NanoPi-M4: let all variants use the same KMACHINE type Yann Dirson @ 2021-04-26 14:58 ` Yann Dirson 2021-05-04 21:01 ` Trevor Woerner 2021-04-26 14:58 ` [meta-rockchip][PATCH v4 3/3] linux-yocto: add an initial NanoPi-M4 BSP Yann Dirson 2 siblings, 1 reply; 9+ messages in thread From: Yann Dirson @ 2021-04-26 14:58 UTC (permalink / raw) To: yocto; +Cc: twoerner, Yann Dirson From: Yann Dirson <yann@blade-group.com> Signed-off-by: Yann Dirson <yann@blade-group.com> --- conf/machine/include/nanopi-m4.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/conf/machine/include/nanopi-m4.inc b/conf/machine/include/nanopi-m4.inc index 603160f..a14b705 100644 --- a/conf/machine/include/nanopi-m4.inc +++ b/conf/machine/include/nanopi-m4.inc @@ -3,6 +3,8 @@ require rk3399.inc +MACHINE_FEATURES += "usbhost serial" + KMACHINE = "nanopi-m4" KERNEL_DEVICETREE = "rockchip/rk3399-nanopi-m4.dtb" -- 2.30.2 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [meta-rockchip][PATCH v4 2/3] NanoPi-M4: declare "usbhost" and "serial" in MACHINE_FEATURES 2021-04-26 14:58 ` [meta-rockchip][PATCH v4 2/3] NanoPi-M4: declare "usbhost" and "serial" in MACHINE_FEATURES Yann Dirson @ 2021-05-04 21:01 ` Trevor Woerner 0 siblings, 0 replies; 9+ messages in thread From: Trevor Woerner @ 2021-05-04 21:01 UTC (permalink / raw) To: yann.dirson; +Cc: yocto, Yann Dirson On Mon 2021-04-26 @ 04:58:09 PM, yann.dirson@blade-group.com wrote: > From: Yann Dirson <yann@blade-group.com> > > Signed-off-by: Yann Dirson <yann@blade-group.com> applied to master, thanks! ^ permalink raw reply [flat|nested] 9+ messages in thread
* [meta-rockchip][PATCH v4 3/3] linux-yocto: add an initial NanoPi-M4 BSP 2021-04-26 14:58 [meta-rockchip][PATCH v4 0/3] kmeta BSP for nanopi-m4 Yann Dirson 2021-04-26 14:58 ` [meta-rockchip][PATCH v4 1/3] NanoPi-M4: let all variants use the same KMACHINE type Yann Dirson 2021-04-26 14:58 ` [meta-rockchip][PATCH v4 2/3] NanoPi-M4: declare "usbhost" and "serial" in MACHINE_FEATURES Yann Dirson @ 2021-04-26 14:58 ` Yann Dirson 2021-05-04 21:03 ` Trevor Woerner 2 siblings, 1 reply; 9+ messages in thread From: Yann Dirson @ 2021-04-26 14:58 UTC (permalink / raw) To: yocto; +Cc: twoerner, Yann Dirson From: Yann Dirson <yann@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 <yann@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 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 + +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 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [meta-rockchip][PATCH v4 3/3] linux-yocto: add an initial NanoPi-M4 BSP 2021-04-26 14:58 ` [meta-rockchip][PATCH v4 3/3] linux-yocto: add an initial NanoPi-M4 BSP Yann Dirson @ 2021-05-04 21:03 ` Trevor Woerner 2021-05-04 22:13 ` Yann Dirson 2021-05-04 22:18 ` Yann Dirson 0 siblings, 2 replies; 9+ messages in thread From: Trevor Woerner @ 2021-05-04 21:03 UTC (permalink / raw) To: yann.dirson; +Cc: yocto, Yann Dirson On Mon 2021-04-26 @ 04:58:10 PM, yann.dirson@blade-group.com wrote: > From: Yann Dirson <yann@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 <yann@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? > 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? > + > +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 > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [meta-rockchip][PATCH v4 3/3] linux-yocto: add an initial NanoPi-M4 BSP 2021-05-04 21:03 ` Trevor Woerner @ 2021-05-04 22:13 ` Yann Dirson 2021-05-04 22:18 ` Yann Dirson 1 sibling, 0 replies; 9+ messages in thread From: Yann Dirson @ 2021-05-04 22:13 UTC (permalink / raw) To: Trevor Woerner; +Cc: Yocto discussion list, Yann Dirson Le mar. 4 mai 2021 à 23:03, Trevor Woerner <twoerner@gmail.com> a écrit : > > On Mon 2021-04-26 @ 04:58:10 PM, yann.dirson@blade-group.com wrote: > > From: Yann Dirson <yann@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 <yann@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? > > > 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? > > > + > > +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 <yann@blade-group.com> Blade / Shadow -- http://shadow.tech ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [meta-rockchip][PATCH v4 3/3] linux-yocto: add an initial NanoPi-M4 BSP 2021-05-04 21:03 ` Trevor Woerner 2021-05-04 22:13 ` Yann Dirson @ 2021-05-04 22:18 ` Yann Dirson 1 sibling, 0 replies; 9+ messages in thread From: Yann Dirson @ 2021-05-04 22:18 UTC (permalink / raw) To: Trevor Woerner; +Cc: Yocto discussion list, Yann Dirson (sorry, previous answer _is_ empty, wrong button) Le mar. 4 mai 2021 à 23:03, Trevor Woerner <twoerner@gmail.com> a écrit : > > On Mon 2021-04-26 @ 04:58:10 PM, yann.dirson@blade-group.com wrote: > > From: Yann Dirson <yann@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 <yann@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 <yann@blade-group.com> Blade / Shadow -- http://shadow.tech ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2021-05-04 22:18 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-04-26 14:58 [meta-rockchip][PATCH v4 0/3] kmeta BSP for nanopi-m4 Yann Dirson 2021-04-26 14:58 ` [meta-rockchip][PATCH v4 1/3] NanoPi-M4: let all variants use the same KMACHINE type Yann Dirson 2021-05-04 21:00 ` Trevor Woerner 2021-04-26 14:58 ` [meta-rockchip][PATCH v4 2/3] NanoPi-M4: declare "usbhost" and "serial" in MACHINE_FEATURES Yann Dirson 2021-05-04 21:01 ` Trevor Woerner 2021-04-26 14:58 ` [meta-rockchip][PATCH v4 3/3] linux-yocto: add an initial NanoPi-M4 BSP Yann Dirson 2021-05-04 21:03 ` Trevor Woerner 2021-05-04 22:13 ` Yann Dirson 2021-05-04 22:18 ` Yann Dirson
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.