Public bug reported:

Impact:

The RaspberryPi 3 B Plus is the latest addition in the Raspberry family
of boards, and this patchset includes all the necessary bits (dts, lan
driver and wifi fixes) backported from the official
https://github.com/raspberrypi/linux rpi-4.9.y tree to enable that board
in our 4.4 Xenial raspi2 kernel.

How to test:

Build this kernel and try to boot a rpi3bplus with it: eveyrthing should
work out of the box.

Regression potential:

To ease the regression analysis, we can split the patchset in 3
different set of patches: the dts files, the lan driver and the wifi
driver.

1) the dts files (patches 0001 to 0006)

Patch 0001 contains the pi3bplus board dts files + the lan dts fragment - these 
are brand new files, and no modification is done to any dts in the tree
Patches 0002 to 0005 are the backports modifcation to make the above dts file 
work in our 4.4 kernel
Patch 006 is a fix for the bcm2708_common dts file, included in every 
RaspberryPi dtb generated - it's a small fix, and the same modification is 
prensent in the 4.9+ Raspberry dts files too (see 
https://github.com/raspberrypi/linux/blob/rpi-4.9.y/arch/arm/boot/dts/bcm283x.dtsi
 aroud lines 353-354).

The only regression potential here is patch 0006, but since it's a small
fix, and it's even carried in newer kernels, i mark it as low.

2) the lan driver (patches 0008 to 0018)

The rpi3bplus comes with a brand new gigabit capable ethernet adapter,
driven by the lan 7515 chip, a chip mainly used in those usb to ethernet
adapter. While doing this enablement work, i found that the lan7515
driver shipped in our Xenial tree was not working: the driver would
attach to the hardware, the interface would show up, packets could be
sent, but host os never received any - sniffing the ethernet cable
confirmed that traffic was generated, but we the nic was 'deaf'. By
adding some debugging in the lan7515 driver, i found out that no
interrupt was generated once a package arrived and after some more
debugging, i found that reverting the upstream stable
23374573a899528a4b10d76276646f69b7ae1572 "lan78xx: Correctly indicate
invalid OTP", would bring my board back to life (patch 0008).

"lan78xx: Correctly indicate invalid OTP" originated around 4.17, way
after a complete overhaul of the phy code wad done for all the usbnet
driver - after more debugging i found that the 4.4 driver ships a
workaround to enable phy interrupts (see lan78xx_open()).

All the other patches (0009 to 0018) are backports of features added to
the driver by the Raspberry Foundation, to make the driver better
integrates in a dts environment.

There's no regression potential here, since the driver was not working
in the first place, and all the other Raspberry boards use a different
ethernet driver/chip.

3) the wifi driver

The wifi chip used in the rpi3bplus is the same one used in the original
rpi3 board, but while here i decided to backports all the isolated fixes
that made it into 4.9.

There's some regression potential here, but all the code imported
actually fixes bugs so i say it's low.

** Affects: linux-raspi2 (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1784025

Title:
  Support for the RaspberryPi 3 B Plus board

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-raspi2/+bug/1784025/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to