Re: [PATCH v7 00/11] Update the Icicle Kit device tree

Palmer Dabbelt
2022-03-10T07:07:11Z

On Wed, 23 Feb 2022 12:48:16 PST (-0800), mail@conchuod.ie wrote:
> On 14/02/2022 13:58, conor.dooley@microchip.com wrote:
>> From: Conor Dooley <conor.dooley@microchip.com>
>>
>> This series updates the Microchip Icicle Kit device tree by adding a
>> host of peripherals, and some updates to the memory map. In addition,
>> the device tree has been split into a third part, which contains "soft"
>> peripherals that are in the fpga fabric.
>>
>> Several of the entries are for peripherals that have not get had their
>> drivers upstreamed, so in those cases the dt bindings are included where
>> appropriate in order to avoid the many "DT compatible string <x> appears
>> un-documented" errors.
>>
>> Depends on mpfs clock driver binding (on clk/next) to provide
>> dt-bindings/clock/microchip,mpfs-clock.h for the device tree
>> and on the other changes to the icicle/mpfs device tree from geert
>> that are already in linux/riscv/for-next.

So that's causing this to not build, as I can't build without the
header. I went ahead and put these on top of that patch, resulting in

* 48e8641c2bf0 - (HEAD -> riscv-microchip, palmer/riscv-microchip) MAINTAINERS: update riscv/microchip entry (2 minutes ago) <Conor Dooley>
* 528a5b1f2556 - riscv: dts: microchip: add new peripherals to icicle kit device tree (2 minutes ago) <Conor Dooley>
* 5b28df37d311 - riscv: dts: microchip: update peripherals in icicle kit device tree (2 minutes ago) <Conor Dooley>
* c5094f371008 - riscv: dts: microchip: refactor icicle kit device tree (2 minutes ago) <Conor Dooley>
* 72560c6559b8 - riscv: dts: microchip: add fpga fabric section to icicle kit (2 minutes ago) <Conor Dooley>
* 6546f920868e - riscv: dts: microchip: use clk defines for icicle kit (2 minutes ago) <Conor Dooley>
* df77f7735786 - dt-bindings: pwm: add microchip corepwm binding (2 minutes ago) <Conor Dooley>
* 735806d8a68e - dt-bindings: gpio: add bindings for microchip mpfs gpio (2 minutes ago) <Conor Dooley>
* 4cbcc0d7b397 - dt-bindings: rtc: add bindings for microchip mpfs rtc (2 minutes ago) <Conor Dooley>
* b435a1728c9f - dt-bindings: soc/microchip: add info about services to mpfs sysctrl (2 minutes ago) <Conor Dooley>
* 213556235526 - dt-bindings: soc/microchip: update syscontroller compatibles (2 minutes ago) <Conor Dooley>
* 2145bb687e3f - (clk/clk-microchip) dt-bindings: clk: microchip: Add Microchip PolarFire host binding (6 weeks ago) <Daire McNamara>
* e783362eb54c - (tag: v5.17-rc1) Linux 5.17-rc1 (7 weeks ago) <Linus Torvalds>

sboyd: IIRC it's OK to consider clk-microchip as a stable branch? If
not I can just wait until you send your PR to Linus and send this later
in the merge window, no big deal on my end.

I've put this on for-next. If that's a problem let me know and I'll
delay it.

Thanks!

>>
>> Additionally, the interrupt-extended warnings on the plic/clint are
>> cleared by [1] & [2].
>>
>> [1] https://lore.kernel.org/linux-riscv/cover.1639744468.git.geert@linux-m68k.org/
>> [2] https://lore.kernel.org/linux-riscv/cover.1639744106.git.geert@linux-m68k.org/
>
> Hey Palmer,
>
> dt-bindings should be set now, so if you're still happy to take the
> series via riscv, that'd be great. i2c, spi & usb patches ended going
> via the sub-system trees (and have been dropped from the series), in
> case those generate warnings for you.

Something went off the rails in email land and #0 and #2 didn't end up
in my patch queue but the rest did. Luckily enough made it through that
it didn't get lost, and lore's pretty great so this sort of thing isn't
that big of a deal these days. That said, email is a bit of a black box
so figured I'd give you a heads up.

>
> Thanks,
> Conor.
>>
>> Changes from v6:
>> - Dropped i2c patch, as its in i2c-next
>> - Added ack on gpio, reviewed-by on rtc
>> - Dropped child nodes from sysctrl binding entirely, added a link to
>> the online documenation for the services the system controller can
>> provide
>> - Dropped the #pwm-cells and replaced with a ref, a la Krzysztof's
>> series
>>
>> Changes from v5:
>> - reworded the descriptions in the pwm binding to (hopefully) add
>> clarity
>> - added -mask to the custom properties and made them 32 bit
>> - renamed the i2c binding to corei2c, since it is not mpfs specific
>> - removed the child nodes of the system controller in example/dts &
>> will create them in the driver.
>> @Rob, I assume keeping them documented is the correct thing to do?
>> - removed the dependancy on the clock binding from the examples
>> - reformatted rtc interrupts as per Rob's suggestion
>>
>> Changes from v4:
>> - dont include icicle_kit_defconfig, accidentally added in v3
>> - drop prescaler from mpfs-rtc & calculate the value instead
>> - use corei2c as a fallback device for mpfs-i2c
>> - drop spi dt-binding (on spi-next)
>> commit 2da187304e556ac59cf2dacb323cc78ded988169
>> - drop usb dt-binding (on usb-next)
>>
>> Changes from v3:
>> - drop "mailbox: change mailbox-mpfs compatible string", already upstream:
>> commit f10b1fc0161cd99e ("mailbox: change mailbox-mpfs compatible string")
>> - fix copy paste error in microchip,mpfs-mailbox dt-binding
>> - remove whitespace in syscontroller dt entry
>>
>> Changes from v2:
>> - dropped plic int header & corresponding defines in dts{,i}
>> - use $ref to drmode in mpfs-musb binding
>> - split changes to dts{,i} again: functional changes to existing
>> elements now are in a new patch
>> - drop num-cs property in mpfs-spi binding
>> - dont make the system controller a simple-mfd
>> - move the separate bindings for rng/generic system services into the
>> system controller binding
>> - added an instance corei2c as i2c2 in the fabric dtsi
>> - add version numbering to corepwm and corei2c compat string (-rtl-vN)
>>
>> Conor Dooley (11):
>> dt-bindings: soc/microchip: update syscontroller compatibles
>> dt-bindings: soc/microchip: add info about services to mpfs sysctrl
>> dt-bindings: rtc: add bindings for microchip mpfs rtc
>> dt-bindings: gpio: add bindings for microchip mpfs gpio
>> dt-bindings: pwm: add microchip corepwm binding
>> riscv: dts: microchip: use clk defines for icicle kit
>> riscv: dts: microchip: add fpga fabric section to icicle kit
>> riscv: dts: microchip: refactor icicle kit device tree
>> riscv: dts: microchip: update peripherals in icicle kit device tree
>> riscv: dts: microchip: add new peripherals to icicle kit device tree
>> MAINTAINERS: update riscv/microchip entry
>>
>> .../bindings/gpio/microchip,mpfs-gpio.yaml | 79 ++++++
>> ...ilbox.yaml => microchip,mpfs-mailbox.yaml} | 6 +-
>> .../bindings/pwm/microchip,corepwm.yaml | 81 ++++++
>> .../bindings/rtc/microchip,mfps-rtc.yaml | 58 ++++
>> .../microchip,mpfs-sys-controller.yaml | 40 +++
>> ...icrochip,polarfire-soc-sys-controller.yaml | 35 ---
>> MAINTAINERS | 2 +
>> .../dts/microchip/microchip-mpfs-fabric.dtsi | 25 ++
>> .../microchip/microchip-mpfs-icicle-kit.dts | 115 ++++++--
>> .../boot/dts/microchip/microchip-mpfs.dtsi | 254 ++++++++++++++----
>> 10 files changed, 591 insertions(+), 104 deletions(-)
>> create mode 100644 Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml
>> rename Documentation/devicetree/bindings/mailbox/{microchip,polarfire-soc-mailbox.yaml => microchip,mpfs-mailbox.yaml} (82%)
>> create mode 100644 Documentation/devicetree/bindings/pwm/microchip,corepwm.yaml
>> create mode 100644 Documentation/devicetree/bindings/rtc/microchip,mfps-rtc.yaml
>> create mode 100644 Documentation/devicetree/bindings/soc/microchip/microchip,mpfs-sys-controller.yaml
>> delete mode 100644 Documentation/devicetree/bindings/soc/microchip/microchip,polarfire-soc-sys-controller.yaml
>> create mode 100644 arch/riscv/boot/dts/microchip/microchip-mpfs-fabric.dtsi
>>