mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Roland Hieber <rhi@pengutronix.de>
To: Michael Riesch <michael.riesch@wolfvision.net>
Cc: ptxdist@pengutronix.de, michael.tretter@pengutronix.de
Subject: Re: [ptxdist] [PATCH 2/3] add package for rockchip firmware binaries
Date: Sun, 5 Dec 2021 01:56:45 +0100	[thread overview]
Message-ID: <20211205005645.7s3ydb6km36zujzm@pengutronix.de> (raw)
In-Reply-To: <20211203165440.1180588-3-michael.riesch@wolfvision.net>

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 <michael.tretter@pengutronix.de>
> [revised and extended Kconfig]
> Signed-off-by: Michael Riesch <michael.riesch@wolfvision.net>
> ---
>  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 <m.tretter@pengutronix.de>
> +#
> +# 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.          | r.hieber@pengutronix.de     |
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
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de


  parent reply	other threads:[~2021-12-05  0:57 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-03 16:54 [ptxdist] [PATCH 0/3] Add support for Rockchip firmware blobs Michael Riesch
2021-12-03 16:54 ` [ptxdist] [PATCH 1/3] platforms: add section for non-free " Michael Riesch
2021-12-03 16:54 ` [ptxdist] [PATCH 2/3] add package for rockchip firmware binaries Michael Riesch
2021-12-03 17:55   ` Christian Melki
2021-12-04  7:10     ` Michael Riesch
2021-12-04 15:37       ` Christian Melki
2021-12-06  6:06         ` Michael Riesch
2021-12-05  0:56   ` Roland Hieber [this message]
2021-12-05  1:00     ` Roland Hieber
2021-12-05  9:07       ` Michael Riesch
2021-12-06  6:27     ` Michael Riesch
2021-12-03 16:54 ` [ptxdist] [RFC PATCH 3/3] barebox: add integration of firmware blobs Michael Riesch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211205005645.7s3ydb6km36zujzm@pengutronix.de \
    --to=rhi@pengutronix.de \
    --cc=michael.riesch@wolfvision.net \
    --cc=michael.tretter@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox