RE: [PATCH v5 1/4] dt-bindings: firmware: Add bindings for ZynqMP firmware

From: Jolly Shah
Date: Wed Mar 07 2018 - 17:25:15 EST


Hi Sudeep,

> -----Original Message-----
> From: Sudeep Holla [mailto:sudeep.holla@xxxxxxx]
> Sent: Thursday, March 01, 2018 6:15 AM
> To: Jolly Shah <JOLLYS@xxxxxxxxxx>; gregkh@xxxxxxxxxxxxxxxxxxx;
> matt@xxxxxxxxxxxxxxxxxxx; hkallweit1@xxxxxxxxx; michal.simek@xxxxxxxxxx;
> robh+dt@xxxxxxxxxx; mark.rutland@xxxxxxx
> Cc: ard.biesheuvel@xxxxxxxxxx; mingo@xxxxxxxxxx; keescook@xxxxxxxxxxxx;
> dmitry.torokhov@xxxxxxxxx; Sudeep Holla <sudeep.holla@xxxxxxx>; Rajan
> Vaja <RAJANV@xxxxxxxxxx>; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; Jolly Shah
> <JOLLYS@xxxxxxxxxx>
> Subject: Re: [PATCH v5 1/4] dt-bindings: firmware: Add bindings for ZynqMP
> firmware
>
>
>
> On 20/02/18 19:21, Jolly Shah wrote:
> > Add documentation to describe Xilinx ZynqMP firmware driver bindings.
> > Firmware driver provides an interface to firmware APIs. Interface APIs
> > can be used by any driver to communicate to PMUFW (Platform Management
> > Unit).
> >
> > Signed-off-by: Jolly Shah <jollys@xxxxxxxxxx>
> > Signed-off-by: Rajan Vaja <rajanv@xxxxxxxxxx>
> > ---
> > .../firmware/xilinx/xlnx,zynqmp-firmware.txt | 24
> ++++++++++++++++++++++
> > 1 file changed, 24 insertions(+)
> > create mode 100644
> > Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware
> > .txt
> >
> > diff --git
> > a/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmwa
> > re.txt
> > b/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmwa
> > re.txt
> > new file mode 100644
> > index 0000000..99434ba
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-fi
> > +++ rmware.txt
> > @@ -0,0 +1,24 @@
> > +Xilinx Zynq MPSoC Firmware Device Tree Bindings
> > +
> > +The zynqmp-firmware node describes the interface to platform firmware.
> > +ZynqMP has an interface to communicate with secure firmware. Firmware
> > +driver provides an interface to firmware APIs. Interface APIs can be
> > +used by any driver to communicate to PMUFW(Platform Management Unit).
> > +These requests include clock management, pin control, device control,
> > +power management service, FPGA service and other platform management
> > +services.
> > +
> > +Required properties:
> > + - compatible: Must contain: "xlnx,zynqmp-firmware"
> > + - method: The method of calling the PM-API firmware layer.
> > + Permitted values are:
> > + - "smc" : SMC #0, following the SMCCC
> > + - "hvc" : HVC #0, following the SMCCC
> > +
> > +Examples:
> > + firmware {
> > + zynqmp_firmware: zynqmp-firmware {
> > + compatible = "xlnx,zynqmp-firmware";
> > + method = "smc";
> > + };
> > + };
> >
>
> Do you foresee using SMC/HVC for this firmware even on future platforms?
> If not, I suggest to keep the protocol part separate from the transport i.e.
> smc/hvc via ATF. It could be replaced with mailbox or some h/w mechanism in
> future ?
>

We have PSCI and EEMI interfaces exposed to linux from ATF. PSCI is an EEMI client. We do not have current plans to switch to mailbox as it will require 2 communication channels to PMU as PSCI is through ATF.

> --
> Regards,
> Sudeep