mbox series

[00/16] arm64: qcom: add sm8550-aim300 board support

Message ID 20231117101817.4401-1-quic_tengfan@quicinc.com
Headers show
Series arm64: qcom: add sm8550-aim300 board support | expand

Message

Tengfei Fan Nov. 17, 2023, 10:18 a.m. UTC
Add sm8550-aim300 board support, and enable serial, UFS, USB, PCIe,
audio, LEDs, PMIC Volume, Power buttons, sound card and bluetooth
functions support on this board.

Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
---

Tengfei Fan (16):
  dt-bindings: arm: qcom: add SM8550 AIM300
  dt-bindings: interrupt-controller: qcom,pdc: document qcom,sm8550-pdc
  arm64: dts: qcom: sm8550: update Soundwire node name
  arm64: dts: qcom: sm8550: remove address/size-cells from pwm
  arm64: dts: qcom: sm8550: remove address/size-cells from mdss_dsi1
  arm64: dts: qcom: sm8550-aim300: add SM8550 AIM300
  arm64: dts: qcom: sm8550-aim300: add PCIe0
  arm64: dts: qcom: sm8550-aim300: add WCD9385 audio-codec
  arm64: dts: qcom: sm8550-aim300: add flash LEDs
  arm64: dts: qcom: sm8550-aim300: add display and panel
  arm64: dts: qcom: sm8550-aim300: add notification RGB LED
  arm64: dts: qcom: sm8550-aim300: enable PMIC Volume and Power buttons
  arm64: dts: qcom: sm8550-aim300: add WSA8845 speakers
  arm64: dts: qcom: sm8550-aim300: add sound card
  arm64: dts: qcom: sm8550-aim300: add pmic glink port/endpoints
  arm64: dts: qcom: sm8550-aim300: add bluetooth support

 .../devicetree/bindings/arm/qcom.yaml         |   1 +
 .../interrupt-controller/qcom,pdc.yaml        |   1 +
 arch/arm64/boot/dts/qcom/Makefile             |   1 +
 arch/arm64/boot/dts/qcom/pm8550.dtsi          |   2 -
 arch/arm64/boot/dts/qcom/sm8550-aim300.dts    | 995 ++++++++++++++++++
 arch/arm64/boot/dts/qcom/sm8550.dtsi          |  11 +-
 6 files changed, 1002 insertions(+), 9 deletions(-)
 create mode 100644 arch/arm64/boot/dts/qcom/sm8550-aim300.dts


base-commit: eff99d8edbed7918317331ebd1e365d8e955d65e

Comments

Konrad Dybcio Nov. 18, 2023, 12:08 a.m. UTC | #1
On 17.11.2023 11:41, neil.armstrong@linaro.org wrote:
> On 17/11/2023 11:29, Dmitry Baryshkov wrote:
>> On 17/11/2023 12:18, Tengfei Fan wrote:
>>> Add PCIe0 nodes used with WCN7851 device.  The PCIe1 is not connected,
>>> thus skip pcie_1_phy_aux_clk input clock to GCC.
>>>
>>> Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
>>> ---
>>>   arch/arm64/boot/dts/qcom/sm8550-aim300.dts | 32 ++++++++++++++++++++++
>>>   1 file changed, 32 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/sm8550-aim300.dts b/arch/arm64/boot/dts/qcom/sm8550-aim300.dts
>>> index 202b979da8ca..3aca0a433a00 100644
>>> --- a/arch/arm64/boot/dts/qcom/sm8550-aim300.dts
>>> +++ b/arch/arm64/boot/dts/qcom/sm8550-aim300.dts
>>> @@ -393,6 +393,38 @@
>>>       };
>>>   };
>>> +&gcc {
>>> +    clocks = <&bi_tcxo_div2>, <&sleep_clk>,
>>> +         <&pcie0_phy>,
>>> +         <&pcie1_phy>,
>>> +         <0>,
>>> +         <&ufs_mem_phy 0>,
>>> +         <&ufs_mem_phy 1>,
>>> +         <&ufs_mem_phy 2>,
>>> +         <&usb_dp_qmpphy QMP_USB43DP_USB3_PIPE_CLK>;
>>> +};
>>
>> NAK, this should go to sm8550.dtsi unless there is a good reason.
> 
> Actually this is how QRD8550 was designed, so it's fine to mimic.
Does CCF not handle this gracefully?

Konrad
Neil Armstrong Nov. 19, 2023, 5:59 p.m. UTC | #2
Le 18/11/2023 à 01:08, Konrad Dybcio a écrit :
> On 17.11.2023 11:41, neil.armstrong@linaro.org wrote:
>> On 17/11/2023 11:29, Dmitry Baryshkov wrote:
>>> On 17/11/2023 12:18, Tengfei Fan wrote:
>>>> Add PCIe0 nodes used with WCN7851 device.  The PCIe1 is not connected,
>>>> thus skip pcie_1_phy_aux_clk input clock to GCC.
>>>>
>>>> Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
>>>> ---
>>>>    arch/arm64/boot/dts/qcom/sm8550-aim300.dts | 32 ++++++++++++++++++++++
>>>>    1 file changed, 32 insertions(+)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/sm8550-aim300.dts b/arch/arm64/boot/dts/qcom/sm8550-aim300.dts
>>>> index 202b979da8ca..3aca0a433a00 100644
>>>> --- a/arch/arm64/boot/dts/qcom/sm8550-aim300.dts
>>>> +++ b/arch/arm64/boot/dts/qcom/sm8550-aim300.dts
>>>> @@ -393,6 +393,38 @@
>>>>        };
>>>>    };
>>>> +&gcc {
>>>> +    clocks = <&bi_tcxo_div2>, <&sleep_clk>,
>>>> +         <&pcie0_phy>,
>>>> +         <&pcie1_phy>,
>>>> +         <0>,
>>>> +         <&ufs_mem_phy 0>,
>>>> +         <&ufs_mem_phy 1>,
>>>> +         <&ufs_mem_phy 2>,
>>>> +         <&usb_dp_qmpphy QMP_USB43DP_USB3_PIPE_CLK>;
>>>> +};
>>>
>>> NAK, this should go to sm8550.dtsi unless there is a good reason.
>>
>> Actually this is how QRD8550 was designed, so it's fine to mimic.
> Does CCF not handle this gracefully?

CCF handles this very gracefully and it's a perfectly valid DT in regard
to the bindings...

neil

> 
> Konrad
Tengfei Fan Nov. 21, 2023, 12:30 a.m. UTC | #3
在 11/20/2023 4:53 PM, Krzysztof Kozlowski 写道:
> On 17/11/2023 11:22, Krzysztof Kozlowski wrote:
>> On 17/11/2023 11:18, Tengfei Fan wrote:
>>> Add board compatible for SM8550 AIM300.
>>
>> Subject, commit msg and compatible tell basically the same... and none
>> of them tell me what is AIM300.
> 
> Due to lack of explanation it is difficult to judge what's this. However
> based on pieces of information I got, it looks like it is not a board,
> so it is not suitable to be DTS, but DTSI. You still need a board...
> 
> Best regards,
> Krzysztof
> 

Hi Krzysztof,
AIM (Artificial Intelligence Module). This hardware platform can be used 
to develop AI related software based on Qualcomm chipset. I also will 
update this message to patch commit message.

I also will sync with internal team about if we should create DTSI file 
as your suggestion.

The email update was delayed because I asked for a day off yesterday.
Tengfei Fan Nov. 21, 2023, 12:35 a.m. UTC | #4
在 11/17/2023 6:24 PM, Krzysztof Kozlowski 写道:
> On 17/11/2023 11:18, Tengfei Fan wrote:
>> Update Soundwire node name from "soundwire-controller" to "soundwire"
>> for avoid dtbs check warning.
>>
>> Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
>> ---
>>   arch/arm64/boot/dts/qcom/sm8550.dtsi | 8 ++++----
>>   1 file changed, 4 insertions(+), 4 deletions(-)
> 
> I see PDC duplicated, now I see this patch as well, so you just repeated
> everything which we did already?
> 
> Best regards,
> Krzysztof
> 


Thanks Krzysztof remind kindly, I will check upstream patch for getting 
this patch and I will do "depend on" on my new patch series.
Tengfei Fan Nov. 21, 2023, 12:40 a.m. UTC | #5
在 11/20/2023 1:59 AM, Neil Armstrong 写道:
> Le 18/11/2023 à 01:08, Konrad Dybcio a écrit :
>> On 17.11.2023 11:41, neil.armstrong@linaro.org wrote:
>>> On 17/11/2023 11:29, Dmitry Baryshkov wrote:
>>>> On 17/11/2023 12:18, Tengfei Fan wrote:
>>>>> Add PCIe0 nodes used with WCN7851 device.  The PCIe1 is not connected,
>>>>> thus skip pcie_1_phy_aux_clk input clock to GCC.
>>>>>
>>>>> Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
>>>>> ---
>>>>>    arch/arm64/boot/dts/qcom/sm8550-aim300.dts | 32 
>>>>> ++++++++++++++++++++++
>>>>>    1 file changed, 32 insertions(+)
>>>>>
>>>>> diff --git a/arch/arm64/boot/dts/qcom/sm8550-aim300.dts 
>>>>> b/arch/arm64/boot/dts/qcom/sm8550-aim300.dts
>>>>> index 202b979da8ca..3aca0a433a00 100644
>>>>> --- a/arch/arm64/boot/dts/qcom/sm8550-aim300.dts
>>>>> +++ b/arch/arm64/boot/dts/qcom/sm8550-aim300.dts
>>>>> @@ -393,6 +393,38 @@
>>>>>        };
>>>>>    };
>>>>> +&gcc {
>>>>> +    clocks = <&bi_tcxo_div2>, <&sleep_clk>,
>>>>> +         <&pcie0_phy>,
>>>>> +         <&pcie1_phy>,
>>>>> +         <0>,
>>>>> +         <&ufs_mem_phy 0>,
>>>>> +         <&ufs_mem_phy 1>,
>>>>> +         <&ufs_mem_phy 2>,
>>>>> +         <&usb_dp_qmpphy QMP_USB43DP_USB3_PIPE_CLK>;
>>>>> +};
>>>>
>>>> NAK, this should go to sm8550.dtsi unless there is a good reason.
>>>
>>> Actually this is how QRD8550 was designed, so it's fine to mimic.
>> Does CCF not handle this gracefully?
> 
> CCF handles this very gracefully and it's a perfectly valid DT in regard
> to the bindings...
> 
> neil
> 
>>
>> Konrad
> 
Thanks Konrad and Neil comments and disscusion this patch, I also will 
confirm this with internal team.
Tengfei Fan Nov. 21, 2023, 1:01 a.m. UTC | #6
在 11/17/2023 6:31 PM, Krzysztof Kozlowski 写道:
> On 17/11/2023 11:18, Tengfei Fan wrote:
>> Enable Display Subsystem with Visionox VTDR6130 Panel.
>>
>> Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
>> ---
> 
> You just added this board. Does it mean you added incomplete and wrong DTS?
> 
> Best regards,
> Krzysztof
> 

Hi Krzysztof,
In next version patch series, I'm going to combine all the splited 
functions into one patch.
Tengfei Fan Nov. 21, 2023, 1:03 a.m. UTC | #7
在 11/17/2023 6:32 PM, Krzysztof Kozlowski 写道:
> On 17/11/2023 11:18, Tengfei Fan wrote:
>> The Volume Down & Power buttons are controlled by the PMIC via the PON
>> hardware, and the Volume Up is connected to a PMIC gpio.
>>
>> Enable the necessary hardware and setup the GPIO state for the Volume Up
>> gpio key.
>>
>> Signed-off-by: Tengfei Fan <quic_tengfan@quicinc.com>
>> ---
> 
> No, really, necessary hardware? So why it is missing in the previous patch?
> 
> Stop useless splitting of work which is done. You cannot have "release
> late, release often". The rule is: "release early, release often".
> 
> NAK.
> 
> Best regards,
> Krzysztof
> 

Hi Krzysztof,
In next version patch series, I'm going to combine all the splited 
functions into one patch.
Krzysztof Kozlowski Nov. 21, 2023, 7:18 a.m. UTC | #8
On 21/11/2023 01:30, Tengfei Fan wrote:
> 
> 
> 在 11/20/2023 4:53 PM, Krzysztof Kozlowski 写道:
>> On 17/11/2023 11:22, Krzysztof Kozlowski wrote:
>>> On 17/11/2023 11:18, Tengfei Fan wrote:
>>>> Add board compatible for SM8550 AIM300.
>>>
>>> Subject, commit msg and compatible tell basically the same... and none
>>> of them tell me what is AIM300.
>>
>> Due to lack of explanation it is difficult to judge what's this. However
>> based on pieces of information I got, it looks like it is not a board,
>> so it is not suitable to be DTS, but DTSI. You still need a board...
>>
>> Best regards,
>> Krzysztof
>>
> 
> Hi Krzysztof,
> AIM (Artificial Intelligence Module). This hardware platform can be used 
> to develop AI related software based on Qualcomm chipset. I also will 
> update this message to patch commit message.

Does "Module" means it is physical module?

> 
> I also will sync with internal team about if we should create DTSI file 
> as your suggestion.

Do they know how DTS should be organized upstream (not downstream)?

Best regards,
Krzysztof
Konrad Dybcio Nov. 22, 2023, 7:35 p.m. UTC | #9
On 11/21/23 08:18, Krzysztof Kozlowski wrote:
> On 21/11/2023 01:30, Tengfei Fan wrote:
>>
>>
>> 在 11/20/2023 4:53 PM, Krzysztof Kozlowski 写道:
>>> On 17/11/2023 11:22, Krzysztof Kozlowski wrote:
>>>> On 17/11/2023 11:18, Tengfei Fan wrote:
>>>>> Add board compatible for SM8550 AIM300.
>>>>
>>>> Subject, commit msg and compatible tell basically the same... and none
>>>> of them tell me what is AIM300.
>>>
>>> Due to lack of explanation it is difficult to judge what's this. However
>>> based on pieces of information I got, it looks like it is not a board,
>>> so it is not suitable to be DTS, but DTSI. You still need a board...
>>>
>>> Best regards,
>>> Krzysztof
>>>
>>
>> Hi Krzysztof,
>> AIM (Artificial Intelligence Module). This hardware platform can be used
>> to develop AI related software based on Qualcomm chipset. I also will
>> update this message to patch commit message.
> 
> Does "Module" means it is physical module?
Moreover, does it have anything specific that makes it different from
a MTP/QRD/regular 8550 SoM?
In general, you can develop AI software on any computer, there are no
runtime checks for "AI" presence in the naming ;)

Or is it perhaps like QRB5165N [1], a base soc with what seems to
be a fat AI accelerator connected to it?

Konrad

[1] https://www.thundercomm.com/product/qualcomm-robotics-rb6-development-kit/#specifications
Tengfei Fan Nov. 24, 2023, 2:31 a.m. UTC | #10
在 11/23/2023 3:35 AM, Konrad Dybcio 写道:
> 
> 
> On 11/21/23 08:18, Krzysztof Kozlowski wrote:
>> On 21/11/2023 01:30, Tengfei Fan wrote:
>>>
>>>
>>> 在 11/20/2023 4:53 PM, Krzysztof Kozlowski 写道:
>>>> On 17/11/2023 11:22, Krzysztof Kozlowski wrote:
>>>>> On 17/11/2023 11:18, Tengfei Fan wrote:
>>>>>> Add board compatible for SM8550 AIM300.
>>>>>
>>>>> Subject, commit msg and compatible tell basically the same... and none
>>>>> of them tell me what is AIM300.
>>>>
>>>> Due to lack of explanation it is difficult to judge what's this. 
>>>> However
>>>> based on pieces of information I got, it looks like it is not a board,
>>>> so it is not suitable to be DTS, but DTSI. You still need a board...
>>>>
>>>> Best regards,
>>>> Krzysztof
>>>>
>>>
>>> Hi Krzysztof,
>>> AIM (Artificial Intelligence Module). This hardware platform can be used
>>> to develop AI related software based on Qualcomm chipset. I also will
>>> update this message to patch commit message.
>>
>> Does "Module" means it is physical module?
Yes, AIM300 is a physical module.

> Moreover, does it have anything specific that makes it different from
> a MTP/QRD/regular 8550 SoM?
> In general, you can develop AI software on any computer, there are no
> runtime checks for "AI" presence in the naming ;)
> 
> Or is it perhaps like QRB5165N [1], a base soc with what seems to
> be a fat AI accelerator connected to it?

AIM300 is something like C5165N SOM.
AIM300 Series is a highly optimized family of modules designed to 
support AIoT applications, intergrated with qualcomm qcs8550 SOC inside. 
The Module is mounted onto Qualcomm AIoT carrier board to support 
verification, evaluation and development.

In next patch series, AIM300 AIoT carrier board will be a DTS, AIM300 
will be a DTSI, qcs8550 will be a DTSI.


> 
> Konrad
> 
> [1] 
> https://www.thundercomm.com/product/qualcomm-robotics-rb6-development-kit/#specifications