On Fri, Dec 03, 2021 at 05:54:39PM +0100, Michael Riesch wrote:
> Rockchip provides the SDRAM initialization as well as BL31/BL32
> firmware for their SoCs in binary from. Add a package that downloads
> those binaries for further use in e.g., barebox.
> 
> Signed-off-by: Michael Tretter <[email protected]>
> [revised and extended Kconfig]
> Signed-off-by: Michael Riesch <[email protected]>
> ---
>  platforms/firmware-rockchip.in | 35 ++++++++++++++++
>  rules/firmware-rockchip.make   | 75 ++++++++++++++++++++++++++++++++++
>  2 files changed, 110 insertions(+)
>  create mode 100644 platforms/firmware-rockchip.in
>  create mode 100644 rules/firmware-rockchip.make
> 
> diff --git a/platforms/firmware-rockchip.in b/platforms/firmware-rockchip.in
> new file mode 100644
> index 000000000..3b7c996bb
> --- /dev/null
> +++ b/platforms/firmware-rockchip.in
> @@ -0,0 +1,35 @@
> +## SECTION=non_free_firmware
> +
> +menuconfig FIRMWARE_ROCKCHIP
> +     bool
> +     prompt "Rockchip firmware binaries    "
> +     help
> +       Rockchip prebuilt SDRAM initialization and TF-A binaries.
> +
> +if FIRMWARE_ROCKCHIP
> +
> +config FIRMWARE_ROCKCHIP_RK3566_SDRAM
> +       bool
> +       prompt "RK3566 SDRAM init"
> +       help
> +         Rockchip RK3566 SDRAM initialization binary.
> +
> +config FIRMWARE_ROCKCHIP_RK3568_SDRAM
> +       bool
> +       prompt "RK3568 SDRAM init"
> +       help
> +         Rockchip RK3568 SDRAM initialization binary.
> +
> +config FIRMWARE_ROCKCHIP_RK356x_BL31
> +       bool
> +       prompt "RK356x BL31 binary"
> +       help
> +         Rockchip RK3566/RK3568 BL31 binary.
> +
> +config FIRMWARE_ROCKCHIP_RK356x_BL32
> +       bool
> +       prompt "RK356x BL32 binary"
> +       help
> +         Rockchip RK3566/RK3568 BL32 binary.
> +
> +endif
> diff --git a/rules/firmware-rockchip.make b/rules/firmware-rockchip.make
> new file mode 100644
> index 000000000..54a0b7493
> --- /dev/null
> +++ b/rules/firmware-rockchip.make
> @@ -0,0 +1,75 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2021 by Michael Tretter <[email protected]>
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_FIRMWARE_ROCKCHIP) += firmware-rockchip
> +
> +FIRMWARE_ROCKCHIP_VERSION    := 2021-06-01-g7d631e0d
> +FIRMWARE_ROCKCHIP_MD5                := bfb7b9601b88784e263c2cc6baa5da9f
> +FIRMWARE_ROCKCHIP            := 
> firmware-rockchip-$(FIRMWARE_ROCKCHIP_VERSION)
> +FIRMWARE_ROCKCHIP_SUFFIX     := tar.xz
> +FIRMWARE_ROCKCHIP_URL                := \
> +     git://github.com/rockchip-linux/rkbin;tag=$(FIRMWARE_ROCKCHIP_VERSION)

GitHub will stop serving the git:// protocol starting next year [1]. You
should be able to just use the usual archive URLs instead with the
git-describe-like version. This way you also don't need to clone the
whole git repo first:

  
https://github.com/rockchip-linux/rkbin/archive/$(FIRMWARE_ROCKCHIP_VERSION).zip

(but you only get .zips from it.)

[1]: https://github.blog/2021-09-01-improving-git-protocol-security-github/

> +FIRMWARE_ROCKCHIP_SOURCE     := 
> $(SRCDIR)/$(FIRMWARE_ROCKCHIP).$(FIRMWARE_ROCKCHIP_SUFFIX)
> +FIRMWARE_ROCKCHIP_DIR                := $(BUILDDIR)/$(FIRMWARE_ROCKCHIP)
> +FIRMWARE_ROCKCHIP_LICENSE    := unknown

My Chinese is not good enough, but we should probably classify this as
proprietary.

> +
> +# 
> ----------------------------------------------------------------------------
> +# Prepare
> +# 
> ----------------------------------------------------------------------------
> +
> +FIRMWARE_ROCKCHIP_CONF_TOOL:= NO

Please add a space before the walrus operator.

> +
> +# 
> ----------------------------------------------------------------------------
> +# Compile
> +# 
> ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/firmware-rockchip.compile:
> +     @$(call targetinfo)
> +     @$(call touch)
> +
> +# 
> ----------------------------------------------------------------------------
> +# Install
> +# 
> ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/firmware-rockchip.install:
> +     @$(call targetinfo)
> +
> +ifdef PTXCONF_FIRMWARE_ROCKCHIP_RK3566_SDRAM
> +     install -v -D -m644 
> $(FIRMWARE_ROCKCHIP_DIR)/bin/rk35/rk3566_ddr_1056MHz_v1.08.bin \
> +             
> $(FIRMWARE_ROCKCHIP_PKGDIR)/usr/lib/firmware/rk3566_ddr_1056MHz_v1.08.bin
> +endif
> +
> +ifdef PTXCONF_FIRMWARE_ROCKCHIP_RK3568_SDRAM
> +     install -v -D -m644 
> $(FIRMWARE_ROCKCHIP_DIR)/bin/rk35/rk3568_ddr_1560MHz_v1.08.bin \
> +             
> $(FIRMWARE_ROCKCHIP_PKGDIR)/usr/lib/firmware/rk3568_ddr_1560MHz_v1.08.bin
> +endif
> +
> +ifdef PTXCONF_FIRMWARE_ROCKCHIP_RK356x_BL31
> +     install -v -D -m644 
> $(FIRMWARE_ROCKCHIP_DIR)/bin/rk35/rk3568_bl31_v1.24.elf \
> +             
> $(FIRMWARE_ROCKCHIP_PKGDIR)/usr/lib/firmware/rk3568_bl31_v1.24.elf
> +endif
> +
> +ifdef PTXCONF_FIRMWARE_ROCKCHIP_RK356x_BL32
> +     install -v -D -m644 
> $(FIRMWARE_ROCKCHIP_DIR)/bin/rk35/rk3568_bl32_v1.05.bin \
> +             
> $(FIRMWARE_ROCKCHIP_PKGDIR)/usr/lib/firmware/rk3568_bl32_v1.05.bin
> +endif
> +
> +     @$(call touch)
> +
> +# 
> ----------------------------------------------------------------------------
> +# Target-Install
> +# 
> ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/firmware-rockchip.targetinstall:
> +     @$(call targetinfo)

Nothing installed on the target? Are they for compile-time use only?

 - Roland

> +     @$(call touch)
> +
> +# vim: syntax=make
> -- 
> 2.30.2

-- 
Roland Hieber, Pengutronix e.K.          | [email protected]     |
Steuerwalder Str. 21                     | https://www.pengutronix.de/ |
31137 Hildesheim, Germany                | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686         | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
[email protected]
To unsubscribe, send a mail with subject "unsubscribe" to 
[email protected]

Reply via email to