From: Michael Riesch <michael.riesch@wolfvision.net>
To: christian.melki@t2data.com, ptxdist@pengutronix.de
Cc: m.tretter@pengutronix.de
Subject: Re: [ptxdist] [PATCH 2/3] add package for rockchip firmware binaries
Date: Mon, 6 Dec 2021 07:06:12 +0100 [thread overview]
Message-ID: <681c60b4-9018-27ee-e4aa-832964ecb40f@wolfvision.net> (raw)
In-Reply-To: <7fcfc32f-5065-1f6f-6325-b1f1c0d4279b@t2data.com>
Hello Christian,
On 12/4/21 4:37 PM, Christian Melki wrote:
> On 12/4/21 08:10, Michael Riesch wrote:
>> Hi Christian,
>>
>> (fixed Michael Tretter's mail address in Cc:)
>>
>> On 12/3/21 6:55 PM, Christian Melki wrote:
>>> Hi.
>>>
>>> Good idea with a non-free firmware section.
>>> But these Rockchip things looks like they are highly board/project
>>> dependent.
>>> A non-JEDEC timing named DDR-blob? For what board?
>>> RK3566/8 are SoCs afaiu, not complete system implementations?
>>> Also, ARM Trustzone blobs can also be very project specific?
>>
>> The RK356x SoCs are relatively new and there are not too much boards
>> around yet. AFAIK all existing boards rely on those binaries due to the
>> lack of alternatives. Therefore, I thought it would be a nice idea to
>> provide this package to have at least one solution that works for the
>> first few boards around (such as the Quartz64 by Pine64 with the RK3566
>> as well as the RK3568 EVB1).
>>
>> Future alternative SDRAM setups will indeed require a (possibly
>> per-board) initialization. Rockchip offers a tool to adjust the binary
>> blobs to target a different SDRAM setup. Maybe this can be even
>> integrated into the rule file in a later step -- I haven't figured out
>> the workflow yet.
>>
>> A similar thing can be said with regard to the ARM Trustzone blobs. The
>> two files work on both SoCs (the RK3566 and RK3568 are very similar,
>> consider the 66 as little brother of the 68) and those files are the
>> only thing that is available right now. Rockchip has indicated that
>> there are plans to bring TF-A support for the RK356x mainline, but not
>> before Q2/2022 IIRC. For the time being, the package under discussion
>> enables initial support for the currently available boards.
>>
>> In summary, consider this package as a tool to kick-start development on
>> recent and future Rockchip SoCs. It is not yet the optimal solution but
>> it is enables early support for the boards that are available at the
>> moment. The suggested rule file allows to en/disable the individual
>> binaries, hence it should be easy to let a different package generate
>> and install e.g., the TF-A binary.
>>
>> Best regards,
>> Michael
>>
>
> I don't mind. I like the firmware effort. But could you please change
> the Kconfig help to indicate which board(s)/board versions this is meant
> to run on? As that's the implementation it's actually tied to.
I'll add a note in this regard in v2.
Best regards,
Michael
>
> Best regards,
> Christian
>
>>> Regards,
>>> Christian
>>>
>>> On 12/3/21 17:54, 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)
>>>> +FIRMWARE_ROCKCHIP_SOURCE := $(SRCDIR)/$(FIRMWARE_ROCKCHIP).$(FIRMWARE_ROCKCHIP_SUFFIX)
>>>> +FIRMWARE_ROCKCHIP_DIR := $(BUILDDIR)/$(FIRMWARE_ROCKCHIP)
>>>> +FIRMWARE_ROCKCHIP_LICENSE := unknown
>>>> +
>>>> +# ----------------------------------------------------------------------------
>>>> +# Prepare
>>>> +# ----------------------------------------------------------------------------
>>>> +
>>>> +FIRMWARE_ROCKCHIP_CONF_TOOL:= NO
>>>> +
>>>> +# ----------------------------------------------------------------------------
>>>> +# 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)
>>>> + @$(call touch)
>>>> +
>>>> +# vim: syntax=make
>>>>
>>>
>
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de
next prev parent reply other threads:[~2021-12-06 6:07 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 [this message]
2021-12-05 0:56 ` Roland Hieber
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=681c60b4-9018-27ee-e4aa-832964ecb40f@wolfvision.net \
--to=michael.riesch@wolfvision.net \
--cc=christian.melki@t2data.com \
--cc=m.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