[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <DAXA7TKVM4GI.J6C7M3D1J1XF@fairphone.com>
Date: Fri, 27 Jun 2025 13:33:56 +0200
From: "Luca Weiss" <luca.weiss@...rphone.com>
To: "Konrad Dybcio" <konrad.dybcio@....qualcomm.com>, "Will Deacon"
<will@...nel.org>, "Robin Murphy" <robin.murphy@....com>, "Joerg Roedel"
<joro@...tes.org>, "Rob Herring" <robh@...nel.org>, "Krzysztof Kozlowski"
<krzk+dt@...nel.org>, "Conor Dooley" <conor+dt@...nel.org>, "Rafael J.
Wysocki" <rafael@...nel.org>, "Viresh Kumar" <viresh.kumar@...aro.org>,
"Manivannan Sadhasivam" <mani@...nel.org>, "Herbert Xu"
<herbert@...dor.apana.org.au>, "David S. Miller" <davem@...emloft.net>,
"Vinod Koul" <vkoul@...nel.org>, "Bjorn Andersson" <andersson@...nel.org>,
"Konrad Dybcio" <konradybcio@...nel.org>, "Robert Marko"
<robimarko@...il.com>, "Das Srinagesh" <quic_gurus@...cinc.com>, "Thomas
Gleixner" <tglx@...utronix.de>, "Jassi Brar" <jassisinghbrar@...il.com>,
"Amit Kucheria" <amitk@...nel.org>, "Thara Gopinath"
<thara.gopinath@...il.com>, "Daniel Lezcano" <daniel.lezcano@...aro.org>,
"Zhang Rui" <rui.zhang@...el.com>, "Lukasz Luba" <lukasz.luba@....com>,
"Ulf Hansson" <ulf.hansson@...aro.org>
Cc: <~postmarketos/upstreaming@...ts.sr.ht>, <phone-devel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>, <iommu@...ts.linux.dev>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-pm@...r.kernel.org>, <linux-arm-msm@...r.kernel.org>,
<linux-crypto@...r.kernel.org>, <dmaengine@...r.kernel.org>,
<linux-mmc@...r.kernel.org>
Subject: Re: [PATCH 14/14] arm64: dts: qcom: Add The Fairphone (Gen. 6)
On Wed Jun 25, 2025 at 4:38 PM CEST, Konrad Dybcio wrote:
> On 6/25/25 11:23 AM, Luca Weiss wrote:
>> Add a devicetree for The Fairphone (Gen. 6) smartphone, which is based
>> on the SM7635 SoC.
>
> [...]
>
>> + /* Dummy panel for simple-framebuffer dimension info */
>> + panel: panel {
>> + compatible = "boe,bj631jhm-t71-d900";
>> + width-mm = <65>;
>> + height-mm = <146>;
>> + };
>
> I haven't ran through all the prerequisite-xx-id, but have
> you submitted a binding for this?
Actually not, kind of forgot about this. I believe I can create a
(mostly?) complete binding for the panel, but this simple description
for only width-mm & height-mm will differ from the final one, which will
have the DSI port, pinctrl, reset-gpios and various supplies.
I think I'll just drop it from v2 and keep it locally only, to get the
simpledrm scaling right.
>
> [...]
>
>> + reserved-memory {
>> + /*
>> + * ABL is powering down display and controller if this node is
>> + * not named exactly "splash_region".
>> + */
>> + splash_region@...40000 {
>> + reg = <0x0 0xe3940000 0x0 0x2b00000>;
>> + no-map;
>> + };
>> + };
>
> :/ maybe we can convince ABL not to do it..
Yes, we talked about that. I will look into getting "splash-region" and
"splash" also into the ABL (edk2) build for the phone. Still won't
resolve that for any other brand of devices.
>
> [...]
>
>> + vreg_l12b: ldo12 {
>> + regulator-name = "vreg_l12b";
>> + /*
>> + * Skip voltage voting for UFS VCC.
>> + */
>
> Why so?
>From downstream:
/*
* This is for UFS Peripheral,which supports 2 variants
* UFS 3.1 ,and UFS 2.2 both require different voltages.
* Hence preventing voltage voting as per previous targets.
*/
I haven't (successfully) brought up UFS yet, so I haven't looked more
into that.
The storage on FP6 is UFS 3.1 though fwiw.
>
> [...]
>
>> +&gpi_dma0 {
>> + status = "okay";
>> +};
>> +
>> +&gpi_dma1 {
>> + status = "okay";
>> +};
>
> These can be enabled in SoC DTSI.. it's possible that the secure
> configuration forbids access to one, but these are generally made
> per-platform
Ack
>
> [...]
>
>> +&pm8550vs_d {
>> + status = "disabled";
>> +};
>> +
>> +&pm8550vs_e {
>> + status = "disabled";
>> +};
>> +
>> +&pm8550vs_g {
>> + status = "disabled";
>> +};
>
> Hm... perhaps we should disable these by deafult
Do you want me to do this in this patchset, or we clean this up later at
some point? I'd prefer not adding even more dependencies to my patch
collection right now.
>
> [...]
>
>> +&pmr735b_gpios {
>> + pm8008_reset_n_default: pm8008-reset-n-default-state {
>> + pins = "gpio3";
>> + function = PMIC_GPIO_FUNC_NORMAL;
>> + bias-pull-down;
>> + };
>> +
>> + s1j_enable_default: s1j-enable-default-state {
>> + pins = "gpio1";
>> + function = PMIC_GPIO_FUNC_NORMAL;
>> + power-source = <0>;
>> + bias-disable;
>> + output-low;
>> + };
>
> ordering by pin ID makes more sense, here and in tlmm
>
> (and is actually written down)
> https://docs.kernel.org/devicetree/bindings/dts-coding-style.html#order-of-nodes
Ah, that's news to me. Thanks!
>
> [...]
>
>> +&pon_resin {
>> + linux,code = <KEY_VOLUMEDOWN>;
>> + status = "okay";
>
> \n before status consistently, please
Ack
>
> [...]
>
>> +&tlmm {
>> + /*
>> + * 8-11: Fingerprint SPI
>> + * 13: NC
>> + * 63-64: WLAN UART
>> + */
>> + gpio-reserved-ranges = <8 4>, <13 1>, <63 2>;
>
> Please match the style in x1-crd.dtsi
Ack
>
> [...]
>
>> +&usb_1 {
>> + dr_mode = "otg";
>> +
>> + /* USB 2.0 only */
>
> Because there's no usb3phy description yet, or due to hw design?
HW design. Funnily enough with clk_ignore_unused this property is not
needed, and USB(2.0) works fine then. Just when (I assume) the USB3
clock is turned off which the bootloader has enabled, USB stops working.
Regards
Luca
>
> Konrad
Powered by blists - more mailing lists