All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/rpi-firmware: Support Device Tree Overlay
@ 2021-10-03 17:54 Takumi Takahashi
  2021-10-06 17:09 ` Peter Seiderer
  0 siblings, 1 reply; 3+ messages in thread
From: Takumi Takahashi @ 2021-10-03 17:54 UTC (permalink / raw)
  To: buildroot; +Cc: Mahyar Koshkouei, Takumi Takahashi, Martin Bark

Building the Raspberry Pi GitHub official kernel repository
will generate a Device Tree Overlay Blob files under
`$(LINUX_DIR)/arch/$(KERNEL_ARCH)/boot/dts/overlays`.

This commit changes to install the Device Tree Overlay Blob file
generated during kernel build under the following conditions:

- `$(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS)`
  - `n`
- `$(BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT)`
  - `y`

Signed-off-by: Takumi Takahashi <takumiiinn@gmail.com>
---
 package/rpi-firmware/rpi-firmware.mk | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
index 181650fa08..39962b3d70 100644
--- a/package/rpi-firmware/rpi-firmware.mk
+++ b/package/rpi-firmware/rpi-firmware.mk
@@ -30,6 +30,16 @@ else
 define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS
 	$(INSTALL) -d $(BINARIES_DIR)/rpi-firmware/overlays
 endef
+ifeq ($(BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT),y)
+# If you are using the official raspberry pi kernel, dtbo will be created under
+# the overlays directory, so use that.
+define RPI_FIRMWARE_INSTALL_KERNEL_DTB_OVERLAYS
+	for dtbo in $(LINUX_DIR)/arch/$(KERNEL_ARCH)/boot/dts/overlays/*.dtbo; do \
+		$(INSTALL) -D -m 0644 $${dtbo} $(BINARIES_DIR)/rpi-firmware/overlays/$${dtbo##*/} || exit 1; \
+	done
+endef
+LINUX_POST_INSTALL_IMAGES_HOOKS += RPI_FIRMWARE_INSTALL_KERNEL_DTB_OVERLAYS
+endif
 endif
 
 ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG),y)
-- 
2.33.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/rpi-firmware: Support Device Tree Overlay
  2021-10-03 17:54 [Buildroot] [PATCH 1/1] package/rpi-firmware: Support Device Tree Overlay Takumi Takahashi
@ 2021-10-06 17:09 ` Peter Seiderer
  2021-10-06 20:57   ` Arnout Vandecappelle
  0 siblings, 1 reply; 3+ messages in thread
From: Peter Seiderer @ 2021-10-06 17:09 UTC (permalink / raw)
  To: Takumi Takahashi; +Cc: Martin Bark, Mahyar Koshkouei, buildroot

Hello Takumi,

thanks for suggested patch...., comment below:

On Mon,  4 Oct 2021 02:54:46 +0900, Takumi Takahashi <takumiiinn@gmail.com> wrote:

> Building the Raspberry Pi GitHub official kernel repository
> will generate a Device Tree Overlay Blob files under
> `$(LINUX_DIR)/arch/$(KERNEL_ARCH)/boot/dts/overlays`.
>
> This commit changes to install the Device Tree Overlay Blob file
> generated during kernel build under the following conditions:
>
> - `$(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS)`
>   - `n`
> - `$(BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT)`
>   - `y`
>
> Signed-off-by: Takumi Takahashi <takumiiinn@gmail.com>
> ---
>  package/rpi-firmware/rpi-firmware.mk | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
> index 181650fa08..39962b3d70 100644
> --- a/package/rpi-firmware/rpi-firmware.mk
> +++ b/package/rpi-firmware/rpi-firmware.mk
> @@ -30,6 +30,16 @@ else
>  define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS
>  	$(INSTALL) -d $(BINARIES_DIR)/rpi-firmware/overlays
>  endef
> +ifeq ($(BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT),y)
> +# If you are using the official raspberry pi kernel, dtbo will be created under
> +# the overlays directory, so use that.
> +define RPI_FIRMWARE_INSTALL_KERNEL_DTB_OVERLAYS
> +	for dtbo in $(LINUX_DIR)/arch/$(KERNEL_ARCH)/boot/dts/overlays/*.dtbo; do \
> +		$(INSTALL) -D -m 0644 $${dtbo} $(BINARIES_DIR)/rpi-firmware/overlays/$${dtbo##*/} || exit 1; \
> +	done
> +endef
> +LINUX_POST_INSTALL_IMAGES_HOOKS += RPI_FIRMWARE_INSTALL_KERNEL_DTB_OVERLAYS
> +endif

I believe this is the wrong place to copy the linux-kernel generated overlays
(as they are independent of the rpi-firmware package), a better place would
be a BR2_ROOTFS_POST_BUILD_SCRIPT script...

Regards,
Peter

>  endif
>
>  ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG),y)

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/rpi-firmware: Support Device Tree Overlay
  2021-10-06 17:09 ` Peter Seiderer
@ 2021-10-06 20:57   ` Arnout Vandecappelle
  0 siblings, 0 replies; 3+ messages in thread
From: Arnout Vandecappelle @ 2021-10-06 20:57 UTC (permalink / raw)
  To: Peter Seiderer, Takumi Takahashi; +Cc: buildroot, Martin Bark, Mahyar Koshkouei



On 06/10/2021 19:09, Peter Seiderer wrote:
> Hello Takumi,
> 
> thanks for suggested patch...., comment below:
> 
> On Mon,  4 Oct 2021 02:54:46 +0900, Takumi Takahashi <takumiiinn@gmail.com> wrote:
> 
>> Building the Raspberry Pi GitHub official kernel repository
>> will generate a Device Tree Overlay Blob files under
>> `$(LINUX_DIR)/arch/$(KERNEL_ARCH)/boot/dts/overlays`.
>>
>> This commit changes to install the Device Tree Overlay Blob file
>> generated during kernel build under the following conditions:
>>
>> - `$(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS)`
>>    - `n`
>> - `$(BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT)`
>>    - `y`
>>
>> Signed-off-by: Takumi Takahashi <takumiiinn@gmail.com>
>> ---
>>   package/rpi-firmware/rpi-firmware.mk | 10 ++++++++++
>>   1 file changed, 10 insertions(+)
>>
>> diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
>> index 181650fa08..39962b3d70 100644
>> --- a/package/rpi-firmware/rpi-firmware.mk
>> +++ b/package/rpi-firmware/rpi-firmware.mk
>> @@ -30,6 +30,16 @@ else
>>   define RPI_FIRMWARE_INSTALL_DTB_OVERLAYS
>>   	$(INSTALL) -d $(BINARIES_DIR)/rpi-firmware/overlays
>>   endef
>> +ifeq ($(BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT),y)
>> +# If you are using the official raspberry pi kernel, dtbo will be created under
>> +# the overlays directory, so use that.
>> +define RPI_FIRMWARE_INSTALL_KERNEL_DTB_OVERLAYS
>> +	for dtbo in $(LINUX_DIR)/arch/$(KERNEL_ARCH)/boot/dts/overlays/*.dtbo; do \

  It is possible to use an upstream kernel that doesn't have this, and enable 
overlay support in the upstream kernel (i.e. using upstream overlays instead of 
the RPi hacks). In that case, this will fail with something like '*.dtbo: no 
such file or directory'.

  To fix that, use a make loop instead of a shell loop. Something like (untested):

	$(foreach dtbo,$(wildcard 
$(LINUX_DIR)/arch/$(KERNEL_ARCH)/boot/dts/overlays/*.dtbo),\
		$(INSTALL) -D -m 0644 ${dtbo} $(BINARIES_DIR)/rpi-firmware/overlays/$(notdir 
$(dtbo))$(sep))

  Note that you also don't need the 'exit 1' any more because they're all 
separate commands.

>> +		$(INSTALL) -D -m 0644 $${dtbo} $(BINARIES_DIR)/rpi-firmware/overlays/$${dtbo##*/} || exit 1; \
>> +	done
>> +endef
>> +LINUX_POST_INSTALL_IMAGES_HOOKS += RPI_FIRMWARE_INSTALL_KERNEL_DTB_OVERLAYS
>> +endif
> 
> I believe this is the wrong place to copy the linux-kernel generated overlays
> (as they are independent of the rpi-firmware package), a better place would
> be a BR2_ROOTFS_POST_BUILD_SCRIPT script...

  Indeed, if this feature would be added anywhere, it would have to be in the 
linux package, not in rpi-firmware. You'd need to add BR2_PACKAGE_RPI_FIRMWARE 
to the condition as well.

  I've marked the patch as Changes Requested in patchwork.

  Regards,
  Arnout


> 
> Regards,
> Peter
> 
>>   endif
>>
>>   ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_VCDBG),y)
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
> 
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-10-06 20:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-03 17:54 [Buildroot] [PATCH 1/1] package/rpi-firmware: Support Device Tree Overlay Takumi Takahashi
2021-10-06 17:09 ` Peter Seiderer
2021-10-06 20:57   ` Arnout Vandecappelle

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.