** Description changed: 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. + The RaspberryPi 3 B Plus is the latest addition in the family of + RaspberryPi 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 this + 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. + Build this kernel and try to boot a rpi3bplus with it: everything should + be working 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). + Patch 0001 contains the pi3bplus board dts files + the lan dts fragment - these are new files, and don't modify any other dts in the tree. + Patches 0002 to 0005 are the fixup modifcation to make the above dts file work in our 4.4 kernel. + Patch 006 is a fix for the bcm2708_common dts file - it's a small fix, and the same modification is present in the 4.9+ Raspberry respository 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. + fix, and it's even carried upstream 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 + driven by the lan 7515 chip, a chip mainly used in usb to ethernet + adapter. Unfortunately, the lan7515 driver shipped in our Xenial tree + was not working: the driver would attaches, the interface shows up, + packets could be sent, but the host os never receives anything - + sniffing the cable confirmed that traffic was generated, but we the NIC + was 'deaf'. After some debugging i found that no interrupt was generated + once any packet arrives and that was due to upstream 23374573a899528a4b10d76276646f69b7ae1572 "lan78xx: Correctly indicate - invalid OTP", would bring my board back to life (patch 0008). + invalid OTP", reverting this would bring my ethernet 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 + 3) the wifi driver (patches 0019 to 0024) - 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. + The wifi chip used in the rpi3bplus is slightly different from the one + used in the original rpi3 board (), but uses the same driver: i + backported several fixes from the Raspberry tree to make it work... There's some regression potential here, but all the code imported actually fixes bugs so i say it's low.
-- 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 ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs