Message ID | 1570375708-26965-1-git-send-email-wahrenst@gmx.net (mailing list archive) |
---|---|
Headers | show |
Series | ARM: Add minimal Raspberry Pi 4 support | expand |
On 06/10/2019 17:28, Stefan Wahren wrote: > This series adds minimal support for the new Raspberry Pi 4, so we are able > to login via debug UART. > > Patch 1: Bluetooth driver fix > Patch 2-3: Fix some DT schema warnings > Patch 4-5: Prepare DTS for the new SoC BMC2711 > Patch 6-9: Add Raspberry Pi 4 DTS support > Patch 10: Update MAINTAINERS > > Unfortunately the Raspberry Pi Foundation didn't released a > peripheral documentation for the new SoC yet. So we only have a preliminary > datasheet [1] and reduced schematics [2]. > > Known issues: > Since Linux 5.3-rc1 DMA doesn't work properly on that platform. > Nicolas Saenz Julienne investigates on that issue. As a temporary workaround > i reverted the following patch to test this series: > > 79a98672 "dma-mapping: remove dma_max_pfn" > 7559d612 "mmc: core: let the dma map ops handle bouncing" > Just for reference, the patches from Nicolas are queued for v5.5 inclusion, so it is a better basis to test using his series: https://patchwork.kernel.org/cover/11141719/ Regards, Matthias > Changes in V4: > - add Rob's Reviewed-by > - enable ZONE_DMA for ARCH_BCM2835 > - fix spi reference in bcm2711.dtsi > - fix bluetooth section in RPi 4 dts > - drop "always-on" for armv8-timer > - add necessary Bluetooth driver fix > - add arm64 dts link > - additional comments to the dts files as requested by Florian > > Changes in V3: > - rebased series > - add Reviewed-by > - enable ARM_GIC for ARCH_BCM2835 on arm64 too > - configure i2c pull-up in bcm2711.dtsi > - move i2c2 to bcm2835-common.dtsi > - add missing compatibles to DT schema as suggested by Rob > - fix DT schema warnings in dtsi files > - replace brcm pintrl with generic pinctrl as suggested by Linus > - make dma_zone_size depend on CONFIG_ZONE_DMA as suggested by Matthias > > Changes in V2: > - use separate board file for BCM2711 > - enable ARM_GIC for ARCH_BCM2835 > - add Acked-by and Reviewed-by > - fix arm-pmu and timer nodes for BCM2711 reported by Marc Zyngier > - enable HDMI at board level > - move HDMI and pixelvalve into bcm2835-common.dtsi as suggested by Eric Anholt > - fix DWC2 probing warning by setting USB role to peripheral > - fix order of node references in bcm2711.dtsi > - disable I2C clock stretching quirk for BCM2711 > - mark PLLD_PER as critical clock > - make PLLH clock unavailable on BCM2711 > - fix compile warning in clk-bcm2835 for arm64 > > Changes since RFC: > - change BCM2838 -> BCM2711 as discussed in RFC > - update MAINTAINERS accordingly > - drop "spi: bcm2835: enable shared interrupt support" from series > - squash all pinctrl-bcm2835 changes into one patch > - introduce SoC specific clock registration as suggested by Florian > - fix watchdog probing for Raspberry Pi 4 > - convert brcm,bcm2835.txt to json-schema > - move VC4 node to bcm2835-common.dtsi > - fallback to legacy pull config for Raspberry Pi 4 > - revert unintended change of mailbox in bcm283x.dtsi > - add reference for arm64 > > [1] - https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711/rpi_DATA_2711_1p0_preliminary.pdf > [2] - https://www.raspberrypi.org/documentation/hardware/raspberrypi/schematics/rpi_SCH_4b_4p0_reduced.pdf > > Stefan Wahren (10): > bluetooth: hci_bcm: Fix RTS handling during startup > ARM: dts: bcm283x: Remove simple-bus from fixed clocks > ARM: dts: bcm283x: Remove brcm,bcm2835-pl011 compatible > ARM: dts: bcm283x: Move BCM2835/6/7 specific to bcm2835-common.dtsi > dt-bindings: arm: Convert BCM2835 board/soc bindings to json-schema > dt-bindings: arm: bcm2835: Add Raspberry Pi 4 to DT schema > ARM: bcm: Add support for BCM2711 SoC > ARM: dts: Add minimal Raspberry Pi 4 support > arm64: dts: broadcom: Add reference to RPi 4 B > MAINTAINERS: Add BCM2711 to BCM2835 ARCH > > .../devicetree/bindings/arm/bcm/bcm2835.yaml | 54 ++ > .../devicetree/bindings/arm/bcm/brcm,bcm2835.txt | 67 -- > MAINTAINERS | 3 +- > arch/arm/boot/dts/Makefile | 1 + > arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 123 +++ > arch/arm/boot/dts/bcm2711.dtsi | 844 +++++++++++++++++++++ > arch/arm/boot/dts/bcm2835-common.dtsi | 194 +++++ > arch/arm/boot/dts/bcm2835-rpi.dtsi | 4 - > arch/arm/boot/dts/bcm2835.dtsi | 1 + > arch/arm/boot/dts/bcm2836.dtsi | 1 + > arch/arm/boot/dts/bcm2837.dtsi | 1 + > arch/arm/boot/dts/bcm283x-rpi-usb-peripheral.dtsi | 7 + > arch/arm/boot/dts/bcm283x.dtsi | 190 +---- > arch/arm/mach-bcm/Kconfig | 4 +- > arch/arm/mach-bcm/Makefile | 3 +- > arch/arm/mach-bcm/bcm2711.c | 24 + > arch/arm64/Kconfig.platforms | 5 +- > arch/arm64/boot/dts/broadcom/Makefile | 3 +- > arch/arm64/boot/dts/broadcom/bcm2711-rpi-4-b.dts | 2 + > drivers/bluetooth/hci_bcm.c | 2 + > 20 files changed, 1272 insertions(+), 261 deletions(-) > create mode 100644 Documentation/devicetree/bindings/arm/bcm/bcm2835.yaml > delete mode 100644 Documentation/devicetree/bindings/arm/bcm/brcm,bcm2835.txt > create mode 100644 arch/arm/boot/dts/bcm2711-rpi-4-b.dts > create mode 100644 arch/arm/boot/dts/bcm2711.dtsi > create mode 100644 arch/arm/boot/dts/bcm2835-common.dtsi > create mode 100644 arch/arm/boot/dts/bcm283x-rpi-usb-peripheral.dtsi > create mode 100644 arch/arm/mach-bcm/bcm2711.c > create mode 100644 arch/arm64/boot/dts/broadcom/bcm2711-rpi-4-b.dts > > -- > 2.7.4 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel >
Am 06.10.19 um 17:28 schrieb Stefan Wahren: > This series adds minimal support for the new Raspberry Pi 4, so we are able > to login via debug UART. > > Patch 1: Bluetooth driver fix > Patch 2-3: Fix some DT schema warnings > Patch 4-5: Prepare DTS for the new SoC BMC2711 > Patch 6-9: Add Raspberry Pi 4 DTS support > Patch 10: Update MAINTAINERS > > Unfortunately the Raspberry Pi Foundation didn't released a > peripheral documentation for the new SoC yet. So we only have a preliminary > datasheet [1] and reduced schematics [2]. > > Known issues: > Since Linux 5.3-rc1 DMA doesn't work properly on that platform. > Nicolas Saenz Julienne investigates on that issue. As a temporary workaround > i reverted the following patch to test this series: > > 79a98672 "dma-mapping: remove dma_max_pfn" > 7559d612 "mmc: core: let the dma map ops handle bouncing" > > Changes in V4: > - add Rob's Reviewed-by > - enable ZONE_DMA for ARCH_BCM2835 > - fix spi reference in bcm2711.dtsi > - fix bluetooth section in RPi 4 dts > - drop "always-on" for armv8-timer > - add necessary Bluetooth driver fix > - add arm64 dts link > - additional comments to the dts files as requested by Florian > Patches 2-10 applied so that we don't miss Linux 5.5