Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: mailbox: mpfs: fix reg properties

When the binding for this was originally written, and later modified,
mistakes were made - and the precise nature of the later modification
should have been a giveaway, but alas I was naive at the time.

A more correct modelling of the hardware is to use two syscons and have
a single reg entry for the mailbox, containing the mailbox region. The
two syscons contain the general control/status registers for the mailbox
and the interrupt related registers respectively. The reason for two
syscons is that the same mailbox is present on the non-SoC version of
the FPGA, which has no interrupt controller, and the shared part of the
rtl was unchanged between devices.

This is now coming to a head, because the control/status registers share
a register region with the "tvs" (temperature & voltage sensors)
registers and, as it turns out, people do want to monitor temperatures
and voltages...

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>

authored by

Conor Dooley and committed by
Jassi Brar
8edd00b0 2d5404ca

+8 -5
+8 -5
Documentation/devicetree/bindings/mailbox/microchip,mpfs-mailbox.yaml
··· 16 16 reg: 17 17 oneOf: 18 18 - items: 19 + - description: mailbox data registers 20 + - items: 19 21 - description: mailbox control & data registers 20 22 - description: mailbox interrupt registers 21 23 deprecated: true ··· 25 23 - description: mailbox control registers 26 24 - description: mailbox interrupt registers 27 25 - description: mailbox data registers 26 + deprecated: true 28 27 29 28 interrupts: 30 29 maxItems: 1 ··· 44 41 examples: 45 42 - | 46 43 soc { 47 - #address-cells = <2>; 48 - #size-cells = <2>; 49 - mbox: mailbox@37020000 { 44 + #address-cells = <1>; 45 + #size-cells = <1>; 46 + 47 + mailbox@37020800 { 50 48 compatible = "microchip,mpfs-mailbox"; 51 - reg = <0x0 0x37020000 0x0 0x58>, <0x0 0x2000318C 0x0 0x40>, 52 - <0x0 0x37020800 0x0 0x100>; 49 + reg = <0x37020800 0x100>; 53 50 interrupt-parent = <&L1>; 54 51 interrupts = <96>; 55 52 #mbox-cells = <1>;