diff mbox series

[v2,2/2] dt-bindings: trivial-devices: Add qca,qca4024

Message ID 20240207224546.44030-2-frut3k7@gmail.com
State New
Headers show
Series [v2,1/2] spi: spidev: Add Qualcomm qca4024 device compatible | expand

Commit Message

Paweł Owoc Feb. 7, 2024, 10:45 p.m. UTC
Add Qualcomm QCA4024 to trivial devices.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
---
 Documentation/devicetree/bindings/trivial-devices.yaml | 2 ++
 1 file changed, 2 insertions(+)

Comments

Krzysztof Kozlowski Feb. 8, 2024, 7:32 a.m. UTC | #1
On 07/02/2024 23:45, Paweł Owoc wrote:
> Add Qualcomm QCA4024 to trivial devices.
> 
> Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
> ---
>  Documentation/devicetree/bindings/trivial-devices.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/trivial-devices.yaml b/Documentation/devicetree/bindings/trivial-devices.yaml
> index 79dcd92c4a43..c6362e981920 100644
> --- a/Documentation/devicetree/bindings/trivial-devices.yaml
> +++ b/Documentation/devicetree/bindings/trivial-devices.yaml
> @@ -309,6 +309,8 @@ properties:
>            - plx,pex8648
>              # Pulsedlight LIDAR range-finding sensor
>            - pulsedlight,lidar-lite-v2
> +            # Qualcomm QCA4024 Multi-mode Bluetooth and 802.15.4 SoC
> +          - qca,qca4024


As I wrote, Bluetooth chip is not a trivial device. This one
particular exposes several interfaces to the host, needs a clock and
power supply.

Best regards,
Krzysztof
Paweł Owoc Feb. 15, 2024, 10:01 p.m. UTC | #2
The device I use has the QCA4024 chip connected via the spi controller:
        blsp1_spi4: spi@78b8000 {
            compatible = "qcom,spi-qup-v2.2.1";
            #address-cells = <1>;
            #size-cells = <0>;
            reg = <0x78b8000 0x600>;
            interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
            clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>,
                 <&gcc GCC_BLSP1_AHB_CLK>;
            clock-names = "core", "iface";
            dmas = <&blsp_dma 18>, <&blsp_dma 19>;
            dma-names = "tx", "rx";
            status = "disabled";
        };

and apart from setting the frequency and gpio there is nothing else:
        &blsp1_spi4 {
            status = "okay";

            pinctrl-0 = <&spi_3_pins &quartz_pins>;
            pinctrl-names = "default";

            /* Qualcomm QCA4024 IoT */
            iot@3 {
                compatible = "qca,qca4024";
                reg = <0>;
                spi-max-frequency = <24000000>;
            };
        };

        &tlmm {
            spi_3_pins: spi-3-state {
                spi-pins {
                    pins = "gpio50", "gpio52", "gpio53";
                    function = "blsp3_spi";
                    drive-strength = <8>;
                    bias-disable;
                };

                cs-pins {
                    pins = "gpio22";
                    function = "blsp3_spi2";
                    drive-strength = <8>;
                    bias-disable;
                };
            };

            quartz_pins: quartz-state {
                interrupt-pins {
                    pins = "gpio48";
                    function = "gpio";
                    bias-disable;
                    input;
                };

                reset-pins {
                    pins = "gpio21";
                    function = "gpio";
                    bias-disable;
                    output-high;
                };
            };
        };

On Thu, Feb 8, 2024 at 8:32 AM Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 07/02/2024 23:45, Paweł Owoc wrote:
> > Add Qualcomm QCA4024 to trivial devices.
> >
> > Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
> > ---
> >  Documentation/devicetree/bindings/trivial-devices.yaml | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/trivial-devices.yaml b/Documentation/devicetree/bindings/trivial-devices.yaml
> > index 79dcd92c4a43..c6362e981920 100644
> > --- a/Documentation/devicetree/bindings/trivial-devices.yaml
> > +++ b/Documentation/devicetree/bindings/trivial-devices.yaml
> > @@ -309,6 +309,8 @@ properties:
> >            - plx,pex8648
> >              # Pulsedlight LIDAR range-finding sensor
> >            - pulsedlight,lidar-lite-v2
> > +            # Qualcomm QCA4024 Multi-mode Bluetooth and 802.15.4 SoC
> > +          - qca,qca4024
>
>
> As I wrote, Bluetooth chip is not a trivial device. This one
> particular exposes several interfaces to the host, needs a clock and
> power supply.
>
> Best regards,
> Krzysztof
>
Krzysztof Kozlowski Feb. 16, 2024, 7:19 a.m. UTC | #3
On 15/02/2024 23:01, frut3k7 wrote:
> The device I use has the QCA4024 chip connected via the spi controller:
>         blsp1_spi4: spi@78b8000 {
>             compatible = "qcom,spi-qup-v2.2.1";
>             #address-cells = <1>;
>             #size-cells = <0>;
>             reg = <0x78b8000 0x600>;
>             interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
>             clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>,
>                  <&gcc GCC_BLSP1_AHB_CLK>;
>             clock-names = "core", "iface";
>             dmas = <&blsp_dma 18>, <&blsp_dma 19>;
>             dma-names = "tx", "rx";
>             status = "disabled";
>         };
> 
> and apart from setting the frequency and gpio there is nothing else:
>         &blsp1_spi4 {
>             status = "okay";
> 
>             pinctrl-0 = <&spi_3_pins &quartz_pins>;
>             pinctrl-names = "default";
> 
>             /* Qualcomm QCA4024 IoT */
>             iot@3 {
>                 compatible = "qca,qca4024";
>                 reg = <0>;
>                 spi-max-frequency = <24000000>;

That's your downstream or fork DTS, not hardware description. You could
have several regulators not listed here, because your downstream has
always-on, or clocks which are not taken and works due to
assigned-clocks in other places... Sorry, that's not an argument. Never
use downstream DTS as proof how hardware looks. It is usually dis-proof,
that things are certainly missing.

Best regards,
Krzysztof
Paweł Owoc Feb. 16, 2024, 1:39 p.m. UTC | #4
To be clear, I don't want to add support for the QCA4024, I just want
to use this SoC with its own firmware connected to another SoC
(IPQ8072A) via spi.

On Fri, Feb 16, 2024 at 8:19 AM Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 15/02/2024 23:01, frut3k7 wrote:
> > The device I use has the QCA4024 chip connected via the spi controller:
> >         blsp1_spi4: spi@78b8000 {
> >             compatible = "qcom,spi-qup-v2.2.1";
> >             #address-cells = <1>;
> >             #size-cells = <0>;
> >             reg = <0x78b8000 0x600>;
> >             interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
> >             clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>,
> >                  <&gcc GCC_BLSP1_AHB_CLK>;
> >             clock-names = "core", "iface";
> >             dmas = <&blsp_dma 18>, <&blsp_dma 19>;
> >             dma-names = "tx", "rx";
> >             status = "disabled";
> >         };
> >
> > and apart from setting the frequency and gpio there is nothing else:
> >         &blsp1_spi4 {
> >             status = "okay";
> >
> >             pinctrl-0 = <&spi_3_pins &quartz_pins>;
> >             pinctrl-names = "default";
> >
> >             /* Qualcomm QCA4024 IoT */
> >             iot@3 {
> >                 compatible = "qca,qca4024";
> >                 reg = <0>;
> >                 spi-max-frequency = <24000000>;
>
> That's your downstream or fork DTS, not hardware description. You could
> have several regulators not listed here, because your downstream has
> always-on, or clocks which are not taken and works due to
> assigned-clocks in other places... Sorry, that's not an argument. Never
> use downstream DTS as proof how hardware looks. It is usually dis-proof,
> that things are certainly missing.
>
> Best regards,
> Krzysztof
>
Krzysztof Kozlowski Feb. 16, 2024, 2:47 p.m. UTC | #5
On 16/02/2024 14:39, Paweł Owoc wrote:
> To be clear, I don't want to add support for the QCA4024, I just want
> to use this SoC with its own firmware connected to another SoC
> (IPQ8072A) via spi.

I know and this does not change what I told you days ago: this is not a
trivial device, IMO. Please open the schematics or datasheet and check
its pins.

Best regards,
Krzysztof
Krzysztof Kozlowski Feb. 17, 2024, 8:12 a.m. UTC | #6
On 16/02/2024 15:47, Krzysztof Kozlowski wrote:
> On 16/02/2024 14:39, Paweł Owoc wrote:
>> To be clear, I don't want to add support for the QCA4024, I just want
>> to use this SoC with its own firmware connected to another SoC
>> (IPQ8072A) via spi.
> 
> I know and this does not change what I told you days ago: this is not a
> trivial device, IMO. Please open the schematics or datasheet and check
> its pins.

To clarify: this is not a trivial, but "regular" device, so I expect
standalone binding and at least some basic check whether devices has
additional resources.

Best regards,
Krzysztof
Paweł Owoc Feb. 17, 2024, 10:29 a.m. UTC | #7
Can you point me to some example?

QCA4020 SDK can be found here:
https://github.com/globaledgesoft/Center-Stage/tree/master/QCA4020_sdk/target
and QCA402x Programmer's Guide:
https://usermanual.wiki/Document/80ya121142dqca402xcdb2xprogrammersguide.2006247590
but I don't know if this can be helpful.

On Sat, Feb 17, 2024 at 9:12 AM Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 16/02/2024 15:47, Krzysztof Kozlowski wrote:
> > On 16/02/2024 14:39, Paweł Owoc wrote:
> >> To be clear, I don't want to add support for the QCA4024, I just want
> >> to use this SoC with its own firmware connected to another SoC
> >> (IPQ8072A) via spi.
> >
> > I know and this does not change what I told you days ago: this is not a
> > trivial device, IMO. Please open the schematics or datasheet and check
> > its pins.
>
> To clarify: this is not a trivial, but "regular" device, so I expect
> standalone binding and at least some basic check whether devices has
> additional resources.
>
> Best regards,
> Krzysztof
>
Krzysztof Kozlowski Feb. 17, 2024, 10:31 a.m. UTC | #8
On 17/02/2024 11:29, Paweł Owoc wrote:
> Can you point me to some example?

Please stop top-posting. I really have no clue what you want here and
what you are referring to.

Best regards,
Krzysztof
Paweł Owoc Feb. 17, 2024, 10:55 a.m. UTC | #9
On Sat, Feb 17, 2024 at 11:31 AM Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 17/02/2024 11:29, Paweł Owoc wrote:
> > Can you point me to some example?
>
> Please stop top-posting. I really have no clue what you want here and
> what you are referring to.
>
> Best regards,
> Krzysztof
>

Is any bluetooth device connected via spi already supported?
Krzysztof Kozlowski Feb. 17, 2024, 1:44 p.m. UTC | #10
On 17/02/2024 11:55, Paweł Owoc wrote:
> On Sat, Feb 17, 2024 at 11:31 AM Krzysztof Kozlowski
> <krzysztof.kozlowski@linaro.org> wrote:
>>
>> On 17/02/2024 11:29, Paweł Owoc wrote:
>>> Can you point me to some example?
>>
>> Please stop top-posting. I really have no clue what you want here and
>> what you are referring to.
>>
>> Best regards,
>> Krzysztof
>>
> 
> Is any bluetooth device connected via spi already supported?

No clue, we have thousands (~5k) of independent schema files. If you ask
about SPI devices, there are plenty as an examples. git grep for
spi-peripheral-props.

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/trivial-devices.yaml b/Documentation/devicetree/bindings/trivial-devices.yaml
index 79dcd92c4a43..c6362e981920 100644
--- a/Documentation/devicetree/bindings/trivial-devices.yaml
+++ b/Documentation/devicetree/bindings/trivial-devices.yaml
@@ -309,6 +309,8 @@  properties:
           - plx,pex8648
             # Pulsedlight LIDAR range-finding sensor
           - pulsedlight,lidar-lite-v2
+            # Qualcomm QCA4024 Multi-mode Bluetooth and 802.15.4 SoC
+          - qca,qca4024
             # Renesas HS3001 Temperature and Relative Humidity Sensors
           - renesas,hs3001
             # Renesas ISL29501 time-of-flight sensor