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

From: Conor Dooley
Date: Fri Mar 11 2022 - 14:57:18 EST




On 11/03/2022 07:59, Zong Li wrote:
On Thu, Mar 10, 2022 at 3:35 PM <Conor.Dooley@xxxxxxxxxxxxx> wrote:

On 10/03/2022 07:07, Palmer Dabbelt wrote:
EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe

On Wed, 23 Feb 2022 12:48:16 PST (-0800), mail@xxxxxxxxxxx wrote:
On 14/02/2022 13:58, conor.dooley@xxxxxxxxxxxxx wrote:
From: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>

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.
Great, thanks! Probably worth mentioning that I've deleted the dma node
that Zong Li is modifying in his pdma patchset.


I guess I could re-sent the next version based on top of for-next, or
delay my patch set until the next tag. What is your perspective?

I'll be honest and say that I have no idea what one is supposed to do here.
Palmer?



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@xxxxxxxxxxxxxx/
[2] https://lore.kernel.org/linux-riscv/cover.1639744106.git.geert@xxxxxxxxxxxxxx/

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.

Huh, interesting. I do check after sending that I can see the mails in my
other email's inbox & they're there. Guess good thing that I sent the follow up.
Thanks,
Conor.



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



_______________________________________________
linux-riscv mailing list
linux-riscv@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-riscv