diff mbox series

[6/6] arm64: dts: qcom: add base QCS615 RIDE dts

Message ID 20240828-add_initial_support_for_qcs615-v1-6-5599869ea10f@quicinc.com (mailing list archive)
State Changes Requested
Headers show
Series Add initial support for QCS615 | expand

Commit Message

Lijuan Gao Aug. 28, 2024, 2:02 a.m. UTC
Add initial support for Qualcomm QCS615 RIDE board and enable
the QCS615 RIDE board to shell with dcc console.

Signed-off-by: Lijuan Gao <quic_lijuang@quicinc.com>
---
 arch/arm64/boot/dts/qcom/Makefile        |  1 +
 arch/arm64/boot/dts/qcom/qcs615-ride.dts | 15 +++++++++++++++
 2 files changed, 16 insertions(+)

Comments

Krzysztof Kozlowski Aug. 28, 2024, 6:25 a.m. UTC | #1
On Wed, Aug 28, 2024 at 10:02:16AM +0800, Lijuan Gao wrote:
> Add initial support for Qualcomm QCS615 RIDE board and enable
> the QCS615 RIDE board to shell with dcc console.
> 
> Signed-off-by: Lijuan Gao <quic_lijuang@quicinc.com>
> ---
>  arch/arm64/boot/dts/qcom/Makefile        |  1 +
>  arch/arm64/boot/dts/qcom/qcs615-ride.dts | 15 +++++++++++++++
>  2 files changed, 16 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 197ab325c0b9..c5503f189847 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -110,6 +110,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= qcm6490-idp.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= qcm6490-shift-otter.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-1000.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-4000.dtb
> +dtb-$(CONFIG_ARCH_QCOM)	+= qcs615-ride.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= qcs6490-rb3gen2.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= qcs8550-aim300-aiot.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= qdu1000-idp.dtb
> diff --git a/arch/arm64/boot/dts/qcom/qcs615-ride.dts b/arch/arm64/boot/dts/qcom/qcs615-ride.dts
> new file mode 100644
> index 000000000000..31d32ad951b5
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/qcs615-ride.dts
> @@ -0,0 +1,15 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
> + */
> +/dts-v1/;
> +
> +#include "qcs615.dtsi"
> +/ {
> +	model = "Qualcomm Technologies, Inc. QCS615 Ride";
> +	compatible = "qcom,qcs615-ride", "qcom,qcs615";
> +
> +	chosen {
> +		bootargs = "console=hvc0";

Noooo, last time I agreed on this, you told me later it is different.

Best regards,
Krzysztof
Lijuan Gao Aug. 28, 2024, 7:54 a.m. UTC | #2
在 8/28/2024 2:25 PM, Krzysztof Kozlowski 写道:
> On Wed, Aug 28, 2024 at 10:02:16AM +0800, Lijuan Gao wrote:
>> Add initial support for Qualcomm QCS615 RIDE board and enable
>> the QCS615 RIDE board to shell with dcc console.
>>
>> Signed-off-by: Lijuan Gao <quic_lijuang@quicinc.com>
>> ---
>>   arch/arm64/boot/dts/qcom/Makefile        |  1 +
>>   arch/arm64/boot/dts/qcom/qcs615-ride.dts | 15 +++++++++++++++
>>   2 files changed, 16 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
>> index 197ab325c0b9..c5503f189847 100644
>> --- a/arch/arm64/boot/dts/qcom/Makefile
>> +++ b/arch/arm64/boot/dts/qcom/Makefile
>> @@ -110,6 +110,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= qcm6490-idp.dtb
>>   dtb-$(CONFIG_ARCH_QCOM)	+= qcm6490-shift-otter.dtb
>>   dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-1000.dtb
>>   dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-4000.dtb
>> +dtb-$(CONFIG_ARCH_QCOM)	+= qcs615-ride.dtb
>>   dtb-$(CONFIG_ARCH_QCOM)	+= qcs6490-rb3gen2.dtb
>>   dtb-$(CONFIG_ARCH_QCOM)	+= qcs8550-aim300-aiot.dtb
>>   dtb-$(CONFIG_ARCH_QCOM)	+= qdu1000-idp.dtb
>> diff --git a/arch/arm64/boot/dts/qcom/qcs615-ride.dts b/arch/arm64/boot/dts/qcom/qcs615-ride.dts
>> new file mode 100644
>> index 000000000000..31d32ad951b5
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/qcom/qcs615-ride.dts
>> @@ -0,0 +1,15 @@
>> +// SPDX-License-Identifier: BSD-3-Clause
>> +/*
>> + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
>> + */
>> +/dts-v1/;
>> +
>> +#include "qcs615.dtsi"
>> +/ {
>> +	model = "Qualcomm Technologies, Inc. QCS615 Ride";
>> +	compatible = "qcom,qcs615-ride", "qcom,qcs615";
>> +
>> +	chosen {
>> +		bootargs = "console=hvc0";
> 
> Noooo, last time I agreed on this, you told me later it is different.
> 
In the early stages, enabling HVC is to more easily verify clock and 
PMIC related functions, as it’s difficult to debug without the console 
log. After the clock and PMIC are ready, we will enable the UART console.
> Best regards,
> Krzysztof
> 
>
Krzysztof Kozlowski Aug. 28, 2024, 9:11 a.m. UTC | #3
On 28/08/2024 09:54, Lijuan Gao wrote:
> 
> 
> 在 8/28/2024 2:25 PM, Krzysztof Kozlowski 写道:
>> On Wed, Aug 28, 2024 at 10:02:16AM +0800, Lijuan Gao wrote:
>>> Add initial support for Qualcomm QCS615 RIDE board and enable
>>> the QCS615 RIDE board to shell with dcc console.
>>>
>>> Signed-off-by: Lijuan Gao <quic_lijuang@quicinc.com>
>>> ---
>>>   arch/arm64/boot/dts/qcom/Makefile        |  1 +
>>>   arch/arm64/boot/dts/qcom/qcs615-ride.dts | 15 +++++++++++++++
>>>   2 files changed, 16 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
>>> index 197ab325c0b9..c5503f189847 100644
>>> --- a/arch/arm64/boot/dts/qcom/Makefile
>>> +++ b/arch/arm64/boot/dts/qcom/Makefile
>>> @@ -110,6 +110,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= qcm6490-idp.dtb
>>>   dtb-$(CONFIG_ARCH_QCOM)	+= qcm6490-shift-otter.dtb
>>>   dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-1000.dtb
>>>   dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-4000.dtb
>>> +dtb-$(CONFIG_ARCH_QCOM)	+= qcs615-ride.dtb
>>>   dtb-$(CONFIG_ARCH_QCOM)	+= qcs6490-rb3gen2.dtb
>>>   dtb-$(CONFIG_ARCH_QCOM)	+= qcs8550-aim300-aiot.dtb
>>>   dtb-$(CONFIG_ARCH_QCOM)	+= qdu1000-idp.dtb
>>> diff --git a/arch/arm64/boot/dts/qcom/qcs615-ride.dts b/arch/arm64/boot/dts/qcom/qcs615-ride.dts
>>> new file mode 100644
>>> index 000000000000..31d32ad951b5
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/qcom/qcs615-ride.dts
>>> @@ -0,0 +1,15 @@
>>> +// SPDX-License-Identifier: BSD-3-Clause
>>> +/*
>>> + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
>>> + */
>>> +/dts-v1/;
>>> +
>>> +#include "qcs615.dtsi"
>>> +/ {
>>> +	model = "Qualcomm Technologies, Inc. QCS615 Ride";
>>> +	compatible = "qcom,qcs615-ride", "qcom,qcs615";
>>> +
>>> +	chosen {
>>> +		bootargs = "console=hvc0";
>>
>> Noooo, last time I agreed on this, you told me later it is different.
>>
> In the early stages, enabling HVC is to more easily verify clock and 
> PMIC related functions, as it’s difficult to debug without the console 
> log. After the clock and PMIC are ready, we will enable the UART console.

Working serial is supposed to be part of the early submission.

Best regards,
Krzysztof
Lijuan Gao Aug. 28, 2024, 9:31 a.m. UTC | #4
在 8/28/2024 5:11 PM, Krzysztof Kozlowski 写道:
> On 28/08/2024 09:54, Lijuan Gao wrote:
>>
>>
>> 在 8/28/2024 2:25 PM, Krzysztof Kozlowski 写道:
>>> On Wed, Aug 28, 2024 at 10:02:16AM +0800, Lijuan Gao wrote:
>>>> Add initial support for Qualcomm QCS615 RIDE board and enable
>>>> the QCS615 RIDE board to shell with dcc console.
>>>>
>>>> Signed-off-by: Lijuan Gao <quic_lijuang@quicinc.com>
>>>> ---
>>>>    arch/arm64/boot/dts/qcom/Makefile        |  1 +
>>>>    arch/arm64/boot/dts/qcom/qcs615-ride.dts | 15 +++++++++++++++
>>>>    2 files changed, 16 insertions(+)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
>>>> index 197ab325c0b9..c5503f189847 100644
>>>> --- a/arch/arm64/boot/dts/qcom/Makefile
>>>> +++ b/arch/arm64/boot/dts/qcom/Makefile
>>>> @@ -110,6 +110,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= qcm6490-idp.dtb
>>>>    dtb-$(CONFIG_ARCH_QCOM)	+= qcm6490-shift-otter.dtb
>>>>    dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-1000.dtb
>>>>    dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-4000.dtb
>>>> +dtb-$(CONFIG_ARCH_QCOM)	+= qcs615-ride.dtb
>>>>    dtb-$(CONFIG_ARCH_QCOM)	+= qcs6490-rb3gen2.dtb
>>>>    dtb-$(CONFIG_ARCH_QCOM)	+= qcs8550-aim300-aiot.dtb
>>>>    dtb-$(CONFIG_ARCH_QCOM)	+= qdu1000-idp.dtb
>>>> diff --git a/arch/arm64/boot/dts/qcom/qcs615-ride.dts b/arch/arm64/boot/dts/qcom/qcs615-ride.dts
>>>> new file mode 100644
>>>> index 000000000000..31d32ad951b5
>>>> --- /dev/null
>>>> +++ b/arch/arm64/boot/dts/qcom/qcs615-ride.dts
>>>> @@ -0,0 +1,15 @@
>>>> +// SPDX-License-Identifier: BSD-3-Clause
>>>> +/*
>>>> + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
>>>> + */
>>>> +/dts-v1/;
>>>> +
>>>> +#include "qcs615.dtsi"
>>>> +/ {
>>>> +	model = "Qualcomm Technologies, Inc. QCS615 Ride";
>>>> +	compatible = "qcom,qcs615-ride", "qcom,qcs615";
>>>> +
>>>> +	chosen {
>>>> +		bootargs = "console=hvc0";
>>>
>>> Noooo, last time I agreed on this, you told me later it is different.
>>>
>> In the early stages, enabling HVC is to more easily verify clock and
>> PMIC related functions, as it’s difficult to debug without the console
>> log. After the clock and PMIC are ready, we will enable the UART console.
> 
> Working serial is supposed to be part of the early submission.
> 
Okay, I will remove it in the next patch.
> Best regards,
> Krzysztof
> 
>
Krzysztof Kozlowski Aug. 28, 2024, 9:34 a.m. UTC | #5
On 28/08/2024 11:31, Lijuan Gao wrote:
>>>>> +/ {
>>>>> +	model = "Qualcomm Technologies, Inc. QCS615 Ride";
>>>>> +	compatible = "qcom,qcs615-ride", "qcom,qcs615";
>>>>> +
>>>>> +	chosen {
>>>>> +		bootargs = "console=hvc0";
>>>>
>>>> Noooo, last time I agreed on this, you told me later it is different.
>>>>
>>> In the early stages, enabling HVC is to more easily verify clock and
>>> PMIC related functions, as it’s difficult to debug without the console
>>> log. After the clock and PMIC are ready, we will enable the UART console.
>>
>> Working serial is supposed to be part of the early submission.
>>
> Okay, I will remove it in the next patch.

Can you post next version with proper serial device?

Best regards,
Krzysztof
Lijuan Gao Aug. 28, 2024, 10:06 a.m. UTC | #6
在 8/28/2024 5:34 PM, Krzysztof Kozlowski 写道:
> On 28/08/2024 11:31, Lijuan Gao wrote:
>>>>>> +/ {
>>>>>> +	model = "Qualcomm Technologies, Inc. QCS615 Ride";
>>>>>> +	compatible = "qcom,qcs615-ride", "qcom,qcs615";
>>>>>> +
>>>>>> +	chosen {
>>>>>> +		bootargs = "console=hvc0";
>>>>>
>>>>> Noooo, last time I agreed on this, you told me later it is different.
>>>>>
>>>> In the early stages, enabling HVC is to more easily verify clock and
>>>> PMIC related functions, as it’s difficult to debug without the console
>>>> log. After the clock and PMIC are ready, we will enable the UART console.
>>>
>>> Working serial is supposed to be part of the early submission.
>>>
>> Okay, I will remove it in the next patch.
> 
> Can you post next version with proper serial device?
Well noted, will update in the next version.
> 
> Best regards,
> Krzysztof
>
Konrad Dybcio Aug. 28, 2024, 11:12 a.m. UTC | #7
On 28.08.2024 4:02 AM, Lijuan Gao wrote:
> Add initial support for Qualcomm QCS615 RIDE board and enable
> the QCS615 RIDE board to shell with dcc console.
> 
> Signed-off-by: Lijuan Gao <quic_lijuang@quicinc.com>
> ---
>  arch/arm64/boot/dts/qcom/Makefile        |  1 +
>  arch/arm64/boot/dts/qcom/qcs615-ride.dts | 15 +++++++++++++++
>  2 files changed, 16 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 197ab325c0b9..c5503f189847 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -110,6 +110,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= qcm6490-idp.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= qcm6490-shift-otter.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-1000.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-4000.dtb
> +dtb-$(CONFIG_ARCH_QCOM)	+= qcs615-ride.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= qcs6490-rb3gen2.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= qcs8550-aim300-aiot.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= qdu1000-idp.dtb
> diff --git a/arch/arm64/boot/dts/qcom/qcs615-ride.dts b/arch/arm64/boot/dts/qcom/qcs615-ride.dts
> new file mode 100644
> index 000000000000..31d32ad951b5
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/qcs615-ride.dts
> @@ -0,0 +1,15 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
> + */
> +/dts-v1/;
> +
> +#include "qcs615.dtsi"
> +/ {
> +	model = "Qualcomm Technologies, Inc. QCS615 Ride";
> +	compatible = "qcom,qcs615-ride", "qcom,qcs615";

Missing chassis-type (probably = "embedded")

Konrad
Lijuan Gao Sept. 4, 2024, 8:35 a.m. UTC | #8
在 8/28/2024 5:34 PM, Krzysztof Kozlowski 写道:
> On 28/08/2024 11:31, Lijuan Gao wrote:
>>>>>> +/ {
>>>>>> +	model = "Qualcomm Technologies, Inc. QCS615 Ride";
>>>>>> +	compatible = "qcom,qcs615-ride", "qcom,qcs615";
>>>>>> +
>>>>>> +	chosen {
>>>>>> +		bootargs = "console=hvc0";
>>>>>
>>>>> Noooo, last time I agreed on this, you told me later it is different.
>>>>>
>>>> In the early stages, enabling HVC is to more easily verify clock and
>>>> PMIC related functions, as it’s difficult to debug without the console
>>>> log. After the clock and PMIC are ready, we will enable the UART console.
>>>
>>> Working serial is supposed to be part of the early submission.
>>>
>> Okay, I will remove it in the next patch.
> 
> Can you post next version with proper serial device?
> 
> Best regards,
> Krzysztof
> 
Hi Krzysztof,

Can we use the dts without console enabled as the first version? When 
the clock is ready, we will submit new changes to enable the UART console.
Krzysztof Kozlowski Sept. 4, 2024, 9:32 a.m. UTC | #9
On 04/09/2024 10:35, Lijuan Gao wrote:
> 
> 
> 在 8/28/2024 5:34 PM, Krzysztof Kozlowski 写道:
>> On 28/08/2024 11:31, Lijuan Gao wrote:
>>>>>>> +/ {
>>>>>>> +	model = "Qualcomm Technologies, Inc. QCS615 Ride";
>>>>>>> +	compatible = "qcom,qcs615-ride", "qcom,qcs615";
>>>>>>> +
>>>>>>> +	chosen {
>>>>>>> +		bootargs = "console=hvc0";
>>>>>>
>>>>>> Noooo, last time I agreed on this, you told me later it is different.
>>>>>>
>>>>> In the early stages, enabling HVC is to more easily verify clock and
>>>>> PMIC related functions, as it’s difficult to debug without the console
>>>>> log. After the clock and PMIC are ready, we will enable the UART console.
>>>>
>>>> Working serial is supposed to be part of the early submission.
>>>>
>>> Okay, I will remove it in the next patch.
>>
>> Can you post next version with proper serial device?
>>
>> Best regards,
>> Krzysztof
>>
> Hi Krzysztof,
> 
> Can we use the dts without console enabled as the first version? When 
> the clock is ready, we will submit new changes to enable the UART console.

It is very surprising not to have console available in the first, early
submission, but it is not a blocker for me.

Best regards,
Krzysztof
Konrad Dybcio Sept. 4, 2024, 10:23 a.m. UTC | #10
On 4.09.2024 11:32 AM, Krzysztof Kozlowski wrote:
> On 04/09/2024 10:35, Lijuan Gao wrote:
>>
>>
>> 在 8/28/2024 5:34 PM, Krzysztof Kozlowski 写道:
>>> On 28/08/2024 11:31, Lijuan Gao wrote:
>>>>>>>> +/ {
>>>>>>>> +	model = "Qualcomm Technologies, Inc. QCS615 Ride";
>>>>>>>> +	compatible = "qcom,qcs615-ride", "qcom,qcs615";
>>>>>>>> +
>>>>>>>> +	chosen {
>>>>>>>> +		bootargs = "console=hvc0";
>>>>>>>
>>>>>>> Noooo, last time I agreed on this, you told me later it is different.
>>>>>>>
>>>>>> In the early stages, enabling HVC is to more easily verify clock and
>>>>>> PMIC related functions, as it’s difficult to debug without the console
>>>>>> log. After the clock and PMIC are ready, we will enable the UART console.
>>>>>
>>>>> Working serial is supposed to be part of the early submission.
>>>>>
>>>> Okay, I will remove it in the next patch.
>>>
>>> Can you post next version with proper serial device?
>>>
>>> Best regards,
>>> Krzysztof
>>>
>> Hi Krzysztof,
>>
>> Can we use the dts without console enabled as the first version? When 
>> the clock is ready, we will submit new changes to enable the UART console.
> 
> It is very surprising not to have console available in the first, early
> submission, but it is not a blocker for me.

Lijuan,

I see that the initial submission is very slim. GCC+UART+TLMM is
usually the smallest we tend to accept.

While hooking up these drivers may take some time, please consider
at least describing a subset of the clocks and the QUP UART, as
everything non-SoC-specific is already in place.

Konrad
Aiqun Yu (Maria) Sept. 5, 2024, 5:29 a.m. UTC | #11
On 9/4/2024 6:23 PM, Konrad Dybcio wrote:
> On 4.09.2024 11:32 AM, Krzysztof Kozlowski wrote:
>> On 04/09/2024 10:35, Lijuan Gao wrote:
>>>
>>>
>>> 在 8/28/2024 5:34 PM, Krzysztof Kozlowski 写道:
>>>> On 28/08/2024 11:31, Lijuan Gao wrote:
>>>>>>>>> +/ {
>>>>>>>>> +	model = "Qualcomm Technologies, Inc. QCS615 Ride";
>>>>>>>>> +	compatible = "qcom,qcs615-ride", "qcom,qcs615";
>>>>>>>>> +
>>>>>>>>> +	chosen {
>>>>>>>>> +		bootargs = "console=hvc0";
>>>>>>>>
>>>>>>>> Noooo, last time I agreed on this, you told me later it is different.
>>>>>>>>
>>>>>>> In the early stages, enabling HVC is to more easily verify clock and
>>>>>>> PMIC related functions, as it’s difficult to debug without the console
>>>>>>> log. After the clock and PMIC are ready, we will enable the UART console.
>>>>>>
>>>>>> Working serial is supposed to be part of the early submission.
>>>>>>
>>>>> Okay, I will remove it in the next patch.
>>>>
>>>> Can you post next version with proper serial device?
>>>>
>>>> Best regards,
>>>> Krzysztof
>>>>
>>> Hi Krzysztof,
>>>
>>> Can we use the dts without console enabled as the first version? When 
>>> the clock is ready, we will submit new changes to enable the UART console.
>>
>> It is very surprising not to have console available in the first, early
>> submission, but it is not a blocker for me.
> 
> Lijuan,
> 
> I see that the initial submission is very slim. GCC+UART+TLMM is
> usually the smallest we tend to accept.

We are exploring various ways to improve the efficiency of the upstream
change merge process. In the current QCS615 project, we are
experimenting with a slim "HVC console" verified base device tree to
minimize dependencies and enhance parallel work efficiency.

Currently, different developers are working on the same QCS615 project.
One developer is focusing on clock support for QCS615, another is
working on interconnect support, and a third is handling TLMM pinctrl
support. Additionally, the QUP UART validation depends on above soc
specific GCC clock/TLMM support.

Here is the proposed process chart for reference, Clock/TLMM, even other
functionality like LLCC can be validated apart from current Base support
with HVC console enabled:
                               +---------------+

                               | Clock         |

                               |               |

                               +---------------+

+---------------------+

|    Base support:    |        +---------------+       +-----+

| HVC console enabled |------> | TLMM          | ----->| UART|

+---------------------+        +---------------+       +-----+



                               +---------------+

                               | Interconnect  |

                               +---------------+


It is suggested to have process like this:
1. Have hvc console enabled base device tree support.
2. TLMM/GCC/Interconnect/LLCC/etc drivers can be pushed along with the
needful dt changes.
3. QUP uart support change after TLMM/GCC dependency uploaded.

Here is an original example of qcs8300 project that the base device tree
wait until have all qup uart enabled support for reference:
1. The first soc support[1] pushed at 08/14.
2. TLMM support[2] pushed at 08/19.
3. GCC clock support[3] pushed at 08/20.
4. Interconnect support[4] pushed at 08/27.
5. LLCC support[5] pushed at 09/03.
6. Initial device tree support[6] pushed at 09/04. And it have 5
co-developer in the initial device tree support.


[1]https://lore.kernel.org/all/20240814072806.4107079-1-quic_jingyw@quicinc.com/
[2]https://lore.kernel.org/all/20240819064933.1778204-1-quic_jingyw@quicinc.com/
[3]https://lore.kernel.org/all/20240820-qcs8300-gcc-v1-0-d81720517a82@quicinc.com/
[4]https://lore.kernel.org/all/20240827151622.305-1-quic_rlaggysh@quicinc.com/
[5]https://lore.kernel.org/all/20240903-qcs8300_llcc_driver-v1-0-228659bdf067@quicinc.com/
> 
> While hooking up these drivers may take some time, please consider
> at least describing a subset of the clocks and the QUP UART, as
> everything non-SoC-specific is already in place.

To be more specific, are you suggesting like adding the base device tree
describing with current nodes subset which only have non-soc-specific
info, like:
1. "apps_rsc" nodes without info of
"qcom,qcs615-rpmh-clk","qcom,qcs615-gcc"?
2."qcom,geni-debug-uart" nodes description without the clock properties?

> 
> Konrad
Konrad Dybcio Oct. 26, 2024, 11:14 a.m. UTC | #12
On 5.09.2024 7:29 AM, Aiqun Yu (Maria) wrote:
> 
> 
> On 9/4/2024 6:23 PM, Konrad Dybcio wrote:
>> On 4.09.2024 11:32 AM, Krzysztof Kozlowski wrote:
>>> On 04/09/2024 10:35, Lijuan Gao wrote:
>>>>
>>>>
>>>> 在 8/28/2024 5:34 PM, Krzysztof Kozlowski 写道:
>>>>> On 28/08/2024 11:31, Lijuan Gao wrote:
>>>>>>>>>> +/ {
>>>>>>>>>> +	model = "Qualcomm Technologies, Inc. QCS615 Ride";
>>>>>>>>>> +	compatible = "qcom,qcs615-ride", "qcom,qcs615";
>>>>>>>>>> +
>>>>>>>>>> +	chosen {
>>>>>>>>>> +		bootargs = "console=hvc0";
>>>>>>>>>
>>>>>>>>> Noooo, last time I agreed on this, you told me later it is different.
>>>>>>>>>
>>>>>>>> In the early stages, enabling HVC is to more easily verify clock and
>>>>>>>> PMIC related functions, as it’s difficult to debug without the console
>>>>>>>> log. After the clock and PMIC are ready, we will enable the UART console.
>>>>>>>
>>>>>>> Working serial is supposed to be part of the early submission.
>>>>>>>
>>>>>> Okay, I will remove it in the next patch.
>>>>>
>>>>> Can you post next version with proper serial device?
>>>>>
>>>>> Best regards,
>>>>> Krzysztof
>>>>>
>>>> Hi Krzysztof,
>>>>
>>>> Can we use the dts without console enabled as the first version? When 
>>>> the clock is ready, we will submit new changes to enable the UART console.
>>>
>>> It is very surprising not to have console available in the first, early
>>> submission, but it is not a blocker for me.
>>
>> Lijuan,
>>
>> I see that the initial submission is very slim. GCC+UART+TLMM is
>> usually the smallest we tend to accept.
> 
> We are exploring various ways to improve the efficiency of the upstream
> change merge process. In the current QCS615 project, we are
> experimenting with a slim "HVC console" verified base device tree to
> minimize dependencies and enhance parallel work efficiency.
> 
> Currently, different developers are working on the same QCS615 project.
> One developer is focusing on clock support for QCS615, another is
> working on interconnect support, and a third is handling TLMM pinctrl
> support. Additionally, the QUP UART validation depends on above soc
> specific GCC clock/TLMM support.
> 
> Here is the proposed process chart for reference, Clock/TLMM, even other
> functionality like LLCC can be validated apart from current Base support
> with HVC console enabled:
>                                +---------------+
> 
>                                | Clock         |
> 
>                                |               |
> 
>                                +---------------+
> 
> +---------------------+
> 
> |    Base support:    |        +---------------+       +-----+
> 
> | HVC console enabled |------> | TLMM          | ----->| UART|
> 
> +---------------------+        +---------------+       +-----+
> 
> 
> 
>                                +---------------+
> 
>                                | Interconnect  |
> 
>                                +---------------+
> 
> 
> It is suggested to have process like this:
> 1. Have hvc console enabled base device tree support.
> 2. TLMM/GCC/Interconnect/LLCC/etc drivers can be pushed along with the
> needful dt changes.
> 3. QUP uart support change after TLMM/GCC dependency uploaded.
> 
> Here is an original example of qcs8300 project that the base device tree
> wait until have all qup uart enabled support for reference:
> 1. The first soc support[1] pushed at 08/14.
> 2. TLMM support[2] pushed at 08/19.
> 3. GCC clock support[3] pushed at 08/20.
> 4. Interconnect support[4] pushed at 08/27.
> 5. LLCC support[5] pushed at 09/03.
> 6. Initial device tree support[6] pushed at 09/04. And it have 5
> co-developer in the initial device tree support.

Right, plumbing up all of the UART dependencies properly on these
platforms is very much not straightforward.

> 
> 
> [1]https://lore.kernel.org/all/20240814072806.4107079-1-quic_jingyw@quicinc.com/
> [2]https://lore.kernel.org/all/20240819064933.1778204-1-quic_jingyw@quicinc.com/
> [3]https://lore.kernel.org/all/20240820-qcs8300-gcc-v1-0-d81720517a82@quicinc.com/
> [4]https://lore.kernel.org/all/20240827151622.305-1-quic_rlaggysh@quicinc.com/
> [5]https://lore.kernel.org/all/20240903-qcs8300_llcc_driver-v1-0-228659bdf067@quicinc.com/
>>
>> While hooking up these drivers may take some time, please consider
>> at least describing a subset of the clocks and the QUP UART, as
>> everything non-SoC-specific is already in place.
> 
> To be more specific, are you suggesting like adding the base device tree
> describing with current nodes subset which only have non-soc-specific
> info, like:
> 1. "apps_rsc" nodes without info of
> "qcom,qcs615-rpmh-clk","qcom,qcs615-gcc"?
> 2."qcom,geni-debug-uart" nodes description without the clock properties?

When writing that email, I thought about sending a small version of the
GCC driver with just enough to turn on the UART clocks, but thinking
about it again, that sounds like a really bad idea..

I think it's best if we stick to what you did in this patch, and validate
things with `earlycon=qcom_geni,0xaddress` in cmdline. This way, we can
take advantage of the bootloader setting it up for us.

You could then include the base address of the serial engine in the
commit message to let others reproduce it easily.

Krzysztof, would you agree ^?

Konrad
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 197ab325c0b9..c5503f189847 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -110,6 +110,7 @@  dtb-$(CONFIG_ARCH_QCOM)	+= qcm6490-idp.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= qcm6490-shift-otter.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-1000.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-4000.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= qcs615-ride.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= qcs6490-rb3gen2.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= qcs8550-aim300-aiot.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= qdu1000-idp.dtb
diff --git a/arch/arm64/boot/dts/qcom/qcs615-ride.dts b/arch/arm64/boot/dts/qcom/qcs615-ride.dts
new file mode 100644
index 000000000000..31d32ad951b5
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/qcs615-ride.dts
@@ -0,0 +1,15 @@ 
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
+ */
+/dts-v1/;
+
+#include "qcs615.dtsi"
+/ {
+	model = "Qualcomm Technologies, Inc. QCS615 Ride";
+	compatible = "qcom,qcs615-ride", "qcom,qcs615";
+
+	chosen {
+		bootargs = "console=hvc0";
+	};
+};