Re: [PATCH v2 4/6] arm64: dts: qcom: sc8280xp: Add reference device

From: Johan Hovold
Date: Wed Jun 22 2022 - 09:10:08 EST


On Tue, Jun 21, 2022 at 09:12:22PM -0700, Bjorn Andersson wrote:
> Add basic support for the SC8280XP reference device, which allows it to
> boot to a shell (using EFIFB) with functional storage (UFS), USB,
> keyboard, touchpad, touchscreen, backlight and remoteprocs.
>
> The PMICs are, per socinfo, reused from other platforms. But given that
> the address of the PMICs doesn't match other cases and that it's
> desirable to label things according to the schematics a new dtsi file is
> created to represent the reference combination of PMICs.
>
> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
> ---
>
> Changes since v1:
> - Reordered "status" last
> - Fixed invalid PMIC gpio 0
> - Replaced "hid" name with touchscreen, touchpad and keyboard
> - Added &xo_board_clk frequency

> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sc8280xp-crd.dts
> @@ -0,0 +1,432 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2021, The Linux Foundation. All rights reserved.
> + * Copyright (c) 2022, Linaro Limited
> + */
> +
> +/dts-v1/;
> +
> +#include <dt-bindings/gpio/gpio.h>

> +#include <dt-bindings/input/gpio-keys.h>

This one is unused and should be dropped.

> +#include <dt-bindings/input/input.h>

And this one belongs in sc8280xp-pmics.dtsi where it's used.

> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> +
> +#include "sc8280xp.dtsi"
> +#include "sc8280xp-pmics.dtsi"
> +
> +/ {
> + model = "Qualcomm SC8280XP CRD";
> + compatible = "qcom,sc8280xp-crd", "qcom,sc8280xp";
> +
> + aliases {
> + serial0 = &qup2_uart17;
> + };
> +
> + backlight {
> + compatible = "pwm-backlight";
> + pwms = <&pmc8280c_lpg 3 1000000>;
> + enable-gpios = <&pmc8280_1_gpios 8 GPIO_ACTIVE_HIGH>;
> + power-supply = <&vreg_edp_bl>;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
> + };
> +
> + chosen {
> + stdout-path = "serial0:115200n8";
> + };
> +
> + vreg_edp_bl: edp-bl-regulator {

The fixed regulator nodes should be renamed "regulator-edp-bl"...

> + compatible = "regulator-fixed";
> +
> + regulator-name = "VREG_EDP_BL";
> + regulator-min-microvolt = <3600000>;
> + regulator-max-microvolt = <3600000>;
> +
> + gpio = <&pmc8280_1_gpios 9 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&edp_bl_reg_en>;
> +
> + regulator-boot-on;
> + };
> +
> + vreg_misc_3p3: misc-3p3-regulator {

...and "regulator-misc-3p3" (e.g. so we have a common prefix to sort
by).

> + compatible = "regulator-fixed";
> +
> + regulator-name = "VREG_MISC_3P3";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> +
> + gpio = <&pmc8280_1_gpios 1 GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&misc_3p3_reg_en>;
> +
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + reserved-memory {
> + };
> +};

Johan