Re: [PATCH 4/4] arm64: dts: qcom: Add support for X1-based Surface Laptop 7 devices

Konrad Dybcio
2024-08-09T10:22:51Z

On 9.08.2024 11:07 AM, Stephan Gerhold wrote:
> On Fri, Aug 09, 2024 at 03:43:23AM +0200, Konrad Dybcio wrote:
>> From: Konrad Dybcio <quic_kdybcio@quicinc.com>
>>
>> Add support for Surface Laptop 7 machines, based on X1E80100.
>>
>> The feature status is mostly on par with other X Elite machines,
>> notably lacking:
>>
>> - USB-A and probably USB-over-Surface-connector
>> - SD card reader (Realtek RTS5261 connected over PCIe)
>> - Touchscreen and touchpad support (hid-over-SPI [1])
>> - Keyboard support (low-hanging fruit, works with pending Surface EC
>> changes)
>> - Audio (a quick look suggests the setup is very close to the one in
>> X1E CRD)
>>
>> The two Surface Laptop 7 SKUs (13.8" and 15") only have very minor
>> differences, amounting close to none on the software side. Even the
>> MBN firmware files and ACPI tables are shared between the two machines.
>>
>> With that in mind, support is added for both, although only the larger
>> one was physically tested. Display differences will be taken care of
>> through fused-in EDID and other matters should be solved within the
>> EC and boot firmware.
>>
>> [1] https://www.microsoft.com/en-us/download/details.aspx?id=103325
>>
>> Signed-off-by: Konrad Dybcio <quic_kdybcio@quicinc.com>
>> ---

[...]

>> + backlight: backlight {
>> + compatible = "pwm-backlight";
>> + pwms = <&pmk8550_pwm 0 5000000>;
>> + enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
>> + /* TODO: power-supply? */
>
> There seems to be something at <&pmc8380_3_gpios 10>, any idea what?

Yeah I looked at it, but switching it hi/lo made absolutely no difference

>
>> [...]
>> +&pmk8550_gpios {
>> + edp_bl_pwm: edp-bl-pwm-state {
>> + pins = "gpio5";
>> + function = "func3";
>
> Can you add the power-source here to make this more complete?

The bootloader leaves it with power-source = <1>, I'll add it..

>
>> + };
>> +
>> [...]
>> +
>> +&uart2 {
>> + status = "okay";
>> +};
>
> Any idea what this UART is used for?

The EC :) Since I believe the required patches will get in promptly,
(and had to tear down my tree into something submittable), I didn't
add a comment here..

>
>> [...]
>> diff --git a/arch/arm64/boot/dts/qcom/x1e80100-pmics.dtsi b/arch/arm64/boot/dts/qcom/x1e80100-pmics.dtsi
>> index a5ca0fa4e5ae..5b54ee79f048 100644
>> --- a/arch/arm64/boot/dts/qcom/x1e80100-pmics.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/x1e80100-pmics.dtsi
>> @@ -249,6 +249,14 @@ pmk8550_gpios: gpio@8800 {
>> interrupt-controller;
>> #interrupt-cells = <2>;
>> };
>> +
>> + pmk8550_pwm: pwm {
>> + compatible = "qcom,pmk8550-pwm";
>> +
>> + #pwm-cells = <2>;
>> +
>> + status = "disabled";
>> + };
>
> I don't mind personally but usually we would have this non-device
> addition in a separate patch. :-)

Yeah I can do that

Konrad