Hi Florian, On Tue, 2020-03-03 at 10:21 -0800, Florian Fainelli wrote: > On 3/3/20 4:08 AM, Nicolas Saenz Julienne wrote: > > Depending on bcm2711's revision its emmc2 controller might have > > different DMA constraints. Raspberry Pi 4's firmware will take care of > > updating those, but only if a certain alias is found in the device tree. > > So, move emmc2 into its own bus, so as not to pollute other devices with > > dma-ranges changes and create the emmc2bus alias. > > > > Based in Phil ELwell's downstream implementation. > > > > Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@xxxxxxx> > > Nit: the subject should be ARM: dts: bcm2711. Some more comments below. Of course, should have known better. > > --- > > arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 1 + > > arch/arm/boot/dts/bcm2711.dtsi | 19 ++++++++++++++----- > > 2 files changed, 15 insertions(+), 5 deletions(-) > > > > diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts > > b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts > > index 1d4b589fe233..e26ea9006378 100644 > > --- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts > > +++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts > > @@ -20,6 +20,7 @@ memory@0 { > > }; > > > > aliases { > > + emmc2bus = &emmc2bus; > > ethernet0 = &genet; > > pcie0 = &pcie0; > > }; > > diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi > > index d1e684d0acfd..61ea8b44c51e 100644 > > --- a/arch/arm/boot/dts/bcm2711.dtsi > > +++ b/arch/arm/boot/dts/bcm2711.dtsi > > @@ -241,17 +241,26 @@ pwm1: pwm@7e20c800 { > > status = "disabled"; > > }; > > > > + hvs@7e400000 { > > + interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; > > + }; > > + }; > > + > > + emmc2bus: emmc2bus { > > + compatible = "simple-bus"; > > + #address-cells = <2>; > > + #size-cells = <1>; > > + > > + ranges = <0x0 0x7e000000 0x0 0xfe000000 0x01800000>; > > + dma-ranges = <0x0 0xc0000000 0x0 0x00000000 0x40000000>; > > This deserves a comment for two reasons: > > - explaining which of these properties is getting patched by the > firmware (and it would be really nice if we had a concept of annotation > attributes for Device Tree such that you could express something like: > > dma-ranges = <> __patchable; Something like this would've been useful to me some time ago while debugging CMA issues on a random arm64 Board. I was left wondering if the memory nodes on that specific board were set in stone or just a placeholder. > - explaining why this is not collapsed in the soc bus node, because the > dma-ranges constraint can be different based on the Pi4 revision Noted > With that fixed, this looks good to me! Thanks! > > > + > > emmc2: emmc2@7e340000 { > > compatible = "brcm,bcm2711-emmc2"; > > - reg = <0x7e340000 0x100>; > > + reg = <0x0 0x7e340000 0x100>; > > interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; > > clocks = <&clocks BCM2711_CLOCK_EMMC2>; > > status = "disabled"; > > }; > > - > > - hvs@7e400000 { > > - interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; > > - }; > > }; > > > > arm-pmu { > > > >
Attachment:
signature.asc
Description: This is a digitally signed message part