Re: [PATCH] powerpc/85xx: DTS: Add CPLD definitions for P1021RDB Combo Board CPL Design

From: Rob Herring
Date: Mon Aug 22 2022 - 13:01:09 EST


On Fri, Aug 19, 2022 at 10:44:33AM +0200, Pali Rohár wrote:
> P1021RDB Combo Board CPLD Design is used on following Freescale boards:
> P1021RDB-PC, P1020RDB-PD, P1020MBG-PC, P1020UTM-PC and P2020RDB-PCA.
>
> Add CPLD definitions for all these boards for which already exist DTS file.
>
> CPLD has bank size 128kB, it is connected via CS3 on LBC and mapped to
> memory range 0xFFA00000~0xFFA1FFFF.
>
> As CPLD firmware is common on all these boards, use just one compatible
> string "fsl,p1021rdb-pc-cpld".
>
> In some DTS files is CPLD already defined, but definition is either
> incomplete or wrong. So fix it.
>
> All these boards have via CPLD connected max6370 watchdog at offset 0x2
> with GPIO 11, status led at offset 0x8 and reset controller at offset 0xd.
> Additionally P1020MBG-PC and P1020RDB-PD boards have FXO led at offset 0x9
> and FXS leds at offset 0xa.
>
> Signed-off-by: Pali Rohár <pali@xxxxxxxxxx>
> ---
> arch/powerpc/boot/dts/fsl/p1020mbg-pc.dtsi | 92 +++++++++++++++++++
> arch/powerpc/boot/dts/fsl/p1020mbg-pc_32b.dts | 6 +-
> arch/powerpc/boot/dts/fsl/p1020mbg-pc_36b.dts | 6 +-
> arch/powerpc/boot/dts/fsl/p1020rdb-pd.dts | 44 +++++++--
> arch/powerpc/boot/dts/fsl/p1020utm-pc.dtsi | 37 ++++++++
> arch/powerpc/boot/dts/fsl/p1020utm-pc_32b.dts | 4 +-
> arch/powerpc/boot/dts/fsl/p1020utm-pc_36b.dts | 4 +-
> arch/powerpc/boot/dts/fsl/p1021rdb-pc.dtsi | 37 ++++++++
> arch/powerpc/boot/dts/fsl/p1021rdb-pc_32b.dts | 5 +-
> arch/powerpc/boot/dts/fsl/p1021rdb-pc_36b.dts | 5 +-
> arch/powerpc/boot/dts/fsl/p2020rdb-pc.dtsi | 33 ++++++-
> 11 files changed, 251 insertions(+), 22 deletions(-)
>
> diff --git a/arch/powerpc/boot/dts/fsl/p1020mbg-pc.dtsi b/arch/powerpc/boot/dts/fsl/p1020mbg-pc.dtsi
> index a24699cfea9c..c73996dcd809 100644
> --- a/arch/powerpc/boot/dts/fsl/p1020mbg-pc.dtsi
> +++ b/arch/powerpc/boot/dts/fsl/p1020mbg-pc.dtsi
> @@ -83,6 +83,95 @@
> compatible = "vitesse-7385";
> reg = <0x2 0x0 0x20000>;
> };
> +
> + cpld@3,0 {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "fsl,p1021rdb-pc-cpld", "simple-bus", "syscon";
> + reg = <0x3 0x0 0x20000>;
> + ranges = <0x0 0x3 0x0 0x20000>;
> +
> + watchdog@2 {
> + compatible = "maxim,max6370";
> + reg = <0x2 0x1>;
> + gpios = <&gpio 11 1>;
> + };
> +
> + led@8 {

The register-bit-led schema says this should be 'led@8,0'. Did you
run 'dtbs_check'?

But that's going to conflict with what simple-bus schema says. I don't
know that 'simple-bus' is really appropriate here. The CPLD isn't really
just a bus. 'simple-mfd' is what's more commonly used with 'syscon'.


> + compatible = "register-bit-led";
> + reg = <0x8 0x1>;
> + offset = <0x8>;
> + mask = <0x1>;
> + active-low;
> + default-state = "keep";
> + label = "status";
> + function = "status";
> + color = <6>; /* LED_COLOR_ID_YELLOW */
> + };