Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RasperryPi 3B+ support #215

Merged
merged 10 commits into from Apr 3, 2018
Merged

RasperryPi 3B+ support #215

merged 10 commits into from Apr 3, 2018

Conversation

agherzan
Copy link
Owner

- What I did
Packages updates needed for RasperryPi 3B+ support (and some kernel updates)

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
@agherzan agherzan self-assigned this Mar 28, 2018
@agherzan agherzan requested a review from pbrkr March 28, 2018 14:22
Copy link
Collaborator

@kraj kraj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the name is quite confusing, since the firmware blobs generally are non-free even from original package.

You should be able to write PREFERRED_PROVIDER mechanism to choose one over other and may be call is linux-firmware-raspbian

@agherzan
Copy link
Owner Author

@kraj good point on naming. I actually thought to go with the PREFERRED_PROVIDER but I just didn't want to maintain all the other packages that come with the linux-firmware package. Basically just wanted two firmware as they are used by RPI. And this simplified a lot the recipe.

@kraj
Copy link
Collaborator

kraj commented Mar 28, 2018

@agherzan I think people using extra HATS might need extra firmware no ?

@agherzan
Copy link
Owner Author

@kraj Exactly. They will use the ones from linux-firmware for everything but the integrated wifi firmware that will be provided by the raspbian repository.

@pbrkr
Copy link
Collaborator

pbrkr commented Mar 28, 2018

I share @kraj's concern about the name. linux-firmware-raspbian would be much clearer.

I don't think we need to worry about packaging everything from the Raspbian firmware repository right now though. If there are extra things needed for various hats we can add them to the recipe later.

Other than that, all looks good.

@Kostia-K
Copy link

I believe you also need to add bcm2710-rpi-3-b-plus.dtb to KERNEL_DEVICETREE in rpi-base.inc

@agherzan
Copy link
Owner Author

What? They have a new dt? Good catch @Kostia-K. I'll take a look.

This packages only the firmware needed for the RaspberryPi boards. We use the
RPi-Distro as it's already maintained by the Raspbian guys and we get better
support for the RaspberryPi needed firmwares.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
…m43455

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
@agherzan
Copy link
Owner Author

@Kostia-K @kraj @betafive Renamed the recipe, added the rpi3b+ dtb, retested, all good.

@hhromic
Copy link
Contributor

hhromic commented Mar 29, 2018

Hi ! Thanks for the update!
Should the linux-firmware-raspbian new package be used also for the raspberrypi0-wifi.conf config file aswell? The RPI0W also comes with Wifi/BT onboard.

@hhromic
Copy link
Contributor

hhromic commented Mar 29, 2018

Also, this new linux-firmware-raspbian recipe renders the existing linux-firmware recipe obsolete? e.g. should be removed?

https://github.com/agherzan/meta-raspberrypi/tree/master/recipes-kernel/linux-firmware

@agherzan
Copy link
Owner Author

@hhromic I just left it there for now to not break people's work. If they use linux-firmware they will still get the same blobs. I was tempted to remove them at first.

@hhromic
Copy link
Contributor

hhromic commented Mar 29, 2018

Good point.
For the rocko branch I agree 100% it should be kept.
However, this PR is for the master branch, which is expected to be bleeding edge and should not contain deprecated things that in the end turn into more maintenance effort for lazy users that do not read the documentation.
This change should be documented. If you remember from #184, it was not clear that the firmware has to be explicitly included. In this case the documentation should say that "if you want Wifi/BT you must include linux-firmware-raspbian.

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
* Raspberry Pi 3B+ support mentioned
* Add info about linux-firmware-raspbian

Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
@agherzan
Copy link
Owner Author

@hhromic agreed. Pushed changed to address documentation and removal of linux-firmware bits.

@kraj
Copy link
Collaborator

kraj commented Mar 29, 2018

Looks good

@pbrkr pbrkr merged commit 292e000 into master Apr 3, 2018
@agherzan agherzan deleted the ag_rpi3bplus branch April 3, 2018 10:53
@davidweisgerber
Copy link

Will this be backported to morty?

@agherzan
Copy link
Owner Author

There are no plans as far as I am aware of this point. We would not reject patches though.

@pbrkr
Copy link
Collaborator

pbrkr commented Apr 25, 2018

Morty currently defaults to the 4.4 kernel series which won't support RPi 3 B+. The recipe for the 4.9 series kernel and the firmware are also pretty far behind and would need a lot of updates to support that device. From previous testing I'm pretty sure the firmware updates break compatibility with the 4.4 series kernels and so that's probably not a good avenue to go down.

I'd recommend trying out master or the backports for rocko which I've just posted (PR #229).

@agherzan
Copy link
Owner Author

Good point.

@hhromic
Copy link
Contributor

hhromic commented Apr 25, 2018

I would also like to add that even officially from the Raspberry Pi Foundation, the RPi 3B+ is supported since Raspbian Stretch (Kernel 4.14) and not Jessie (Kernel 4.9). Meaning that is much less effort to maintain with Kernel 4.14 than anything below.
@davidweisgerber , maybe is a much better value for your effort to migrate to Rocko+ than to backport this layer to Morty.

flowergom pushed a commit to webosose/meta-webosose that referenced this pull request Jun 24, 2019
:Release Notes:
Backport the changes from:
agherzan/meta-raspberrypi#215
to get latest stable kernel and firmware which also supports
RaspberryPi 3B+

:Detailed Notes:
Also include overlays/vc4-fkms-v3d.dtbo in default KERNEL_DEVICETREE
(for 32bit as well as 64bit, because we use vc4graphics for both).
Include bcm2710-rpi-3-b-plus.dtb also for raspberrypi3-64.conf.
Backport few more rpi-config changes:
1c99862 rpi-config: fix config variables with the same initial name being overwritten
ab5ef24 rpi-config: allow VC4DTBO override on raspberrypi3-64
9bf9180 rpi-config: Add RPI_EXTRA_CONFIG option

Backport few more kernel changes to fix 4.14 configuration:
14fd58b raspberrypi0-wifi, raspberrypi3: drop unused KERNEL_DEFCONFIG variables
e7bac0b linux-raspberrypi: Merge inc files
46f78e3 linux-raspberrypi: Drop ineffective code
cbd2412 linux-raspberrypi-base.bbclass: Drop
8311d16 linux-raspberrypi: Drop unnecessary code
b934304 linux-raspberrypi: Disable DRBD lkm
88478c3 linux-raspberrypi: fix kernel configuration using cfg files

Backport newer lttng-modules 2.10.5, because old 2.8.0 isn't compatible
with 4.14 kernel:
lttng-modules/2.8.0+gitAUTOINC+6e4fc6f36d-r0/git/wrapper/kref.h:39:24:
  error: passing argument 1 of 'atomic_add_unless' from incompatible
  pointer type [-Werror=incompatible-pointer-types]

Backport few more v4.14 changes from 2.5 Sumo:
9e3a5ef linux-raspberrypi: Update to v4.14.34
8aca17a linux-raspberrypi: Update to v4.14.39

:Testing Performed:

:QA Notes:

:Issues Addressed:
[PLAT-52479] Upgrade to Yocto 2.5 Sumo
[PLAT-78511] [OSE] CCC: Upgrade to Yocto 2.5 Sumo

Change-Id: Ie863be1aaa57596457cc17f8d4b7f4570ab4962c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants