Re: [PATCH v2 5/8] arm64: dts: qcom: pm660(l): Add base dts files

From: Bjorn Andersson
Date: Mon Jun 22 2020 - 04:12:34 EST


On Mon 22 Jun 00:57 PDT 2020, Konrad Dybcio wrote:

> Add base DTS files for pm660(l) along with GPIOs, power-on and
> rtc nodes.
>
> Signed-off-by: Konrad Dybcio <konradybcio@xxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/pm660.dtsi | 60 ++++++++++++++++++++++++++++
> arch/arm64/boot/dts/qcom/pm660l.dtsi | 46 +++++++++++++++++++++
> 2 files changed, 106 insertions(+)
> create mode 100644 arch/arm64/boot/dts/qcom/pm660.dtsi
> create mode 100644 arch/arm64/boot/dts/qcom/pm660l.dtsi
>
> diff --git a/arch/arm64/boot/dts/qcom/pm660.dtsi b/arch/arm64/boot/dts/qcom/pm660.dtsi
> new file mode 100644
> index 000000000000..041f45264255
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/pm660.dtsi
> @@ -0,0 +1,60 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2020, Konrad Dybcio
> + */
> +
> +#include <dt-bindings/interrupt-controller/irq.h>
> +#include <dt-bindings/spmi/spmi.h>
> +#include <dt-bindings/input/linux-event-codes.h>

Please keep things alphabetically sorted.

> +
> +&spmi_bus {
> +
> + pmic@0 {
> + compatible = "qcom,pm660", "qcom,spmi-pmic";
> + reg = <0x0 SPMI_USID>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + rtc@6000 {
> + compatible = "qcom,pm8941-rtc";
> + reg = <0x6000>, <0x6100>;
> + reg-names = "rtc", "alarm";
> + interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
> + };
> +
> + pon: pon@800 {
> + compatible = "qcom,pm8916-pon";
> +
> + reg = <0x800>;
> +
> + pwrkey {
> + compatible = "qcom,pm8941-pwrkey";
> + interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
> + debounce = <15625>;
> + bias-pull-up;
> + linux,code = <KEY_POWER>;
> + };
> +
> + };
> +
> + pm660_gpios: gpios@c000 {
> + compatible = "qcom,pm660-gpio";
> + reg = <0xc000>;
> + gpio-controller;
> + #gpio-cells = <2>;
> + interrupts = <0 0xc0 0 IRQ_TYPE_NONE>,

The spmi gpio driver now relies on hierarchical irq chips to map its
pins to the interrupt controller's. So you shouldn't list the interrupts
anymore.

But it should be an "interrupt-controller" and you need "gpio-ranges".

> + <0 0xc1 0 IRQ_TYPE_NONE>,
> + <0 0xc2 0 IRQ_TYPE_NONE>,
> + <0 0xc3 0 IRQ_TYPE_NONE>,
> + <0 0xc4 0 IRQ_TYPE_NONE>,
> + <0 0xc5 0 IRQ_TYPE_NONE>,
> + <0 0xc6 0 IRQ_TYPE_NONE>,
> + <0 0xc7 0 IRQ_TYPE_NONE>,
> + <0 0xc8 0 IRQ_TYPE_NONE>,
> + <0 0xc9 0 IRQ_TYPE_NONE>,
> + <0 0xca 0 IRQ_TYPE_NONE>,
> + <0 0xcb 0 IRQ_TYPE_NONE>,
> + <0 0xcc 0 IRQ_TYPE_NONE>;
> + };
> + };
> +};
> diff --git a/arch/arm64/boot/dts/qcom/pm660l.dtsi b/arch/arm64/boot/dts/qcom/pm660l.dtsi
> new file mode 100644
> index 000000000000..5e0f1a6e3966
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/pm660l.dtsi
> @@ -0,0 +1,46 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2020, Konrad Dybcio
> + */
> +
> +#include <dt-bindings/interrupt-controller/irq.h>
> +#include <dt-bindings/spmi/spmi.h>
> +#include <dt-bindings/input/linux-event-codes.h>
> +
> +&spmi_bus {
> +
> + pmic@2 {
> + compatible = "qcom,pm660l", "qcom,spmi-pmic";
> + reg = <0x2 SPMI_USID>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + pm660l_gpios: gpios@c000 {
> + compatible = "qcom,pm660l-gpio", "qcom,spmi-gpio";
> + reg = <0xc000>;
> + gpio-controller;
> + #gpio-cells = <2>;
> + #interrupt-cells = <2>;
> + interrupts = <0x2 0xc0 0x0 IRQ_TYPE_NONE>,

As above.

Regards,
Bjorn

> + <0x2 0xc1 0x0 IRQ_TYPE_NONE>,
> + <0x2 0xc2 0x0 IRQ_TYPE_NONE>,
> + <0x2 0xc3 0x0 IRQ_TYPE_NONE>,
> + <0x2 0xc4 0x0 IRQ_TYPE_NONE>,
> + <0x2 0xc5 0x0 IRQ_TYPE_NONE>,
> + <0x2 0xc6 0x0 IRQ_TYPE_NONE>,
> + <0x2 0xc7 0x0 IRQ_TYPE_NONE>,
> + <0x2 0xc8 0x0 IRQ_TYPE_NONE>,
> + <0x2 0xc9 0x0 IRQ_TYPE_NONE>,
> + <0x2 0xca 0x0 IRQ_TYPE_NONE>,
> + <0x2 0xcb 0x0 IRQ_TYPE_NONE>;
> + };
> + };
> +
> + pmic@3 {
> + compatible = "qcom,pm660l", "qcom,spmi-pmic";
> + reg = <0x3 SPMI_USID>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + };
> +};
> +
> --
> 2.27.0
>