On Mon 10 May 07:05 CDT 2021, Felipe Balbi wrote: > From: Felipe Balbi <felipe.balbi@xxxxxxxxxxxxx> > > Microsoft Surface Duo is based on SM8150 chipset. This new Device Tree > is a copy of sm8150-mtp with a the addition of the volume up key and > relevant i2c nodes. > This is really nice to see. Some comments below. [..] > diff --git a/arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts b/arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts > new file mode 100644 > index 000000000000..f53d4b3dd482 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sm8150-microsoft-surface-duo.dts > @@ -0,0 +1,545 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (C) 2021, Microsoft Corporation > + */ > + > +/dts-v1/; > + > +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> > +#include <dt-bindings/gpio/gpio.h> > +#include "sm8150.dtsi" > +#include "pm8150.dtsi" > +#include "pm8150b.dtsi" > +#include "pm8150l.dtsi" > + > +/ { > + model = "Microsoft Surface Duo"; > + compatible = "microsoft,surface-duo", "qcom,sm8150-mtp"; > + > + aliases { > + serial0 = &uart2; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > + > + vph_pwr: vph-pwr-regulator { > + compatible = "regulator-fixed"; > + regulator-name = "vph_pwr"; > + regulator-min-microvolt = <3700000>; > + regulator-max-microvolt = <3700000>; > + }; > + > + /* > + * Apparently RPMh does not provide support for PM8150 S4 because it > + * is always-on; model it as a fixed regulator. > + */ > + vreg_s4a_1p8: pm8150-s4 { > + compatible = "regulator-fixed"; > + regulator-name = "vreg_s4a_1p8"; > + > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + > + regulator-always-on; > + regulator-boot-on; > + > + vin-supply = <&vph_pwr>; > + }; > + > + gpio_keys { > + compatible = "gpio-keys"; > + > + vol_up { > + label = "Volume Up"; > + gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_VOLUMEUP>; > + }; > + }; > +}; > + > +&tlmm { Please sort all nodes alphabetically. > + da7280_intr_default: da7280-intr-default { > + pins = "gpio42"; > + function = "gpio"; > + bias-pull-up; > + input-enable; > + }; > +}; [..] > +&remoteproc_adsp { > + status = "okay"; > + firmware-name = "qcom/sm8150/adsp.mdt"; For platforms where we have a Dragonboard or similar we push the test-signed firmware to qcom/<platform>/. I presume that the Duo wouldn't run on the test-signed firmware. So I think it's better to make this qcom/sm8150/ms-duo/adsp.mdt...from the start. > +}; > + > +&remoteproc_cdsp { > + status = "okay"; > + firmware-name = "qcom/sm8150/cdsp.mdt"; > +}; > + > +&remoteproc_mpss { > + status = "okay"; > + firmware-name = "qcom/sm8150/modem.mdt"; > +}; > + > +&remoteproc_slpi { > + status = "okay"; > + firmware-name = "qcom/sm8150/slpi.mdt"; > +}; Regards, Bjorn