mbox series

[v3,0/4] ARM: dts: qcom: apq8074-dragonboard: enable resin device

Message ID 20230531014248.3824043-1-dmitry.baryshkov@linaro.org
Headers show
Series ARM: dts: qcom: apq8074-dragonboard: enable resin device | expand

Message

Dmitry Baryshkov May 31, 2023, 1:42 a.m. UTC
Add support for buttons, LEDs and coincell charger found on the APQ8074
dragonboard device.

For PM8941 we don't have a defined field to store the reset reason.
Support wrapping pwrkey and resin, but without writing the reset
reason.

Changes since v2:
- Split non-pon patches to separate patchset
- Changed schema to disallow reboot modes for pm8941-pon (Konrad)

Changes since v1 (noted by Konrad):
 - Changed to use freshly defined qcom,pm8941-pon compat
 - Fixed indentiation for LEDs definition
 - Reverted the order of pinctrl fields
 - Moved status field to the last position
 - Removed unnecessary pinconf indirection

Dmitry Baryshkov (4):
  dt-bindings: power: reset: qcom-pon: define pm8941-pon
  power: reset: qcom-pon: add support for pm8941-pon
  ARM: dts: qcom-pm8941: add resin support
  ARM: dts: qcom: apq8074-dragonboard: add resin

 .../bindings/power/reset/qcom,pon.yaml        | 12 +++++++++-
 .../arm/boot/dts/qcom-apq8074-dragonboard.dts |  5 +++++
 arch/arm/boot/dts/qcom-pm8941.dtsi            | 22 ++++++++++++++-----
 drivers/power/reset/qcom-pon.c                | 22 +++++++++++++------
 4 files changed, 48 insertions(+), 13 deletions(-)

Comments

Dmitry Baryshkov June 1, 2023, 12:28 a.m. UTC | #1
On Wed, 31 May 2023 at 21:59, Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 31/05/2023 03:42, Dmitry Baryshkov wrote:
> > On PM8941 pon doesn't store the reset reason. However we still need the
> > wrapping node for pwrkey and resin nodes. Add bindings for pm8941-pon
> > device.
> >
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > ---
> >  .../devicetree/bindings/power/reset/qcom,pon.yaml    | 12 +++++++++++-
> >  1 file changed, 11 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
> > index d96170eecbd2..eb3c88e501ef 100644
> > --- a/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
> > +++ b/Documentation/devicetree/bindings/power/reset/qcom,pon.yaml
> > @@ -19,6 +19,7 @@ properties:
> >    compatible:
> >      enum:
> >        - qcom,pm8916-pon
> > +      - qcom,pm8941-pon
> >        - qcom,pms405-pon
> >        - qcom,pm8998-pon
> >        - qcom,pmk8350-pon
> > @@ -56,13 +57,22 @@ required:
> >  unevaluatedProperties: false
> >
> >  allOf:
> > -  - $ref: reboot-mode.yaml#
> > +  - if:
> > +      not:
> > +        properties:
> > +          compatible:
> > +            contains:
> > +              const: qcom,pm8941-pon
> > +    then:
> > +      $ref: reboot-mode.yaml#
>
> Are you sure that this works, so pm8941 does not allow mode-*
> properties? I am afraid they would still be considered evaluated, thus
> your if-not is not effective.

Yes, I checked that they trigger the schema validation error. If you'd
prefer I can extend this 'if' with explicit 'mode-*: false'.