mbox series

[V6,0/7] Add minimal boot support for IPQ9574

Message ID 20230202150619.22425-1-quic_devipriy@quicinc.com (mailing list archive)
Headers show
Series Add minimal boot support for IPQ9574 | expand

Message

devi priya Feb. 2, 2023, 3:06 p.m. UTC
The IPQ9574 is Qualcomm's 802.11ax SoC for Routers,
Gateways and Access Points

This series adds minimal board boot support for ipq9574-al02-c7 board

V5 can be found at: https://lore.kernel.org/linux-arm-kernel/20230202083031.10457-1-quic_devipriy@quicinc.com/

Changes in V6:
	- [PATCH V6 7/7] : Updated the commit message and added the Reviewed-by tag 
	- No changes were made to the remaining patches

Devi Priya (7):
  dt-bindings: clock: Add ipq9574 clock and reset definitions
  clk: qcom: Add Global Clock Controller driver for IPQ9574
  dt-bindings: pinctrl: qcom: Add support for IPQ9574
  pinctrl: qcom: Add IPQ9574 pinctrl driver
  dt-bindings: arm: qcom: Add ipq9574 compatible
  arm64: dts: qcom: Add ipq9574 SoC and AL02 board support
  arm64: defconfig: Enable IPQ9574 SoC base configs

 .../devicetree/bindings/arm/qcom.yaml         |    7 +
 .../bindings/clock/qcom,ipq9574-gcc.yaml      |   72 +
 .../bindings/pinctrl/qcom,ipq9574-tlmm.yaml   |  137 +
 arch/arm64/boot/dts/qcom/Makefile             |    1 +
 arch/arm64/boot/dts/qcom/ipq9574-al02-c7.dts  |   84 +
 arch/arm64/boot/dts/qcom/ipq9574.dtsi         |  278 ++
 arch/arm64/configs/defconfig                  |    2 +
 drivers/clk/qcom/Kconfig                      |    8 +
 drivers/clk/qcom/Makefile                     |    1 +
 drivers/clk/qcom/gcc-ipq9574.c                | 4302 +++++++++++++++++
 drivers/pinctrl/qcom/Kconfig                  |   11 +
 drivers/pinctrl/qcom/Makefile                 |    1 +
 drivers/pinctrl/qcom/pinctrl-ipq9574.c        |  861 ++++
 include/dt-bindings/clock/qcom,ipq9574-gcc.h  |  213 +
 include/dt-bindings/reset/qcom,ipq9574-gcc.h  |  164 +
 15 files changed, 6142 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/clock/qcom,ipq9574-gcc.yaml
 create mode 100644 Documentation/devicetree/bindings/pinctrl/qcom,ipq9574-tlmm.yaml
 create mode 100644 arch/arm64/boot/dts/qcom/ipq9574-al02-c7.dts
 create mode 100644 arch/arm64/boot/dts/qcom/ipq9574.dtsi
 create mode 100644 drivers/clk/qcom/gcc-ipq9574.c
 create mode 100644 drivers/pinctrl/qcom/pinctrl-ipq9574.c
 create mode 100644 include/dt-bindings/clock/qcom,ipq9574-gcc.h
 create mode 100644 include/dt-bindings/reset/qcom,ipq9574-gcc.h


base-commit: ea4dabbb4ad7eb52632a2ca0b8f89f0ea7c55dcf

Comments

Konrad Dybcio Feb. 3, 2023, 10:55 a.m. UTC | #1
On 3.02.2023 06:47, Kathiravan T wrote:
> 
> On 2/2/2023 8:36 PM, Devi Priya wrote:
>> Add Global Clock Controller (GCC) driver for ipq9574 based devices
>>
>> Co-developed-by: Anusha Rao <quic_anusha@quicinc.com>
>> Signed-off-by: Anusha Rao <quic_anusha@quicinc.com>
>> Signed-off-by: Devi Priya <quic_devipriy@quicinc.com>
>> ---

[...]

>> +static int gcc_ipq9574_probe(struct platform_device *pdev)
>> +{
>> +    struct regmap *regmap;
>> +    struct qcom_cc_desc ipq9574_desc = gcc_ipq9574_desc;
>> +
>> +    regmap = qcom_cc_map(pdev, &ipq9574_desc);
>> +    if (IS_ERR(regmap))
>> +        return PTR_ERR(regmap);
>> +
>> +    return qcom_cc_really_probe(pdev, &ipq9574_desc, regmap);
> 
> 
> can we use qcom_cc_probe as suggested here https://lore.kernel.org/linux-arm-msm/84f68577f5629e6ef6d6b14357a79f84.sboyd@kernel.org/ ?
Yes we can.

When you're answering a long long long long email, please cut off
parts that you aren't replying to, I had to scroll and scroll and
scroll and scroll to get to this sentence and I'm not even sure if
you said something inbetween that I missed..

Konrad
> 
> 
>> +}
>> +
>> +static struct platform_driver gcc_ipq9574_driver = {
>> +    .probe = gcc_ipq9574_probe,
>> +    .driver = {
>> +        .name   = "qcom,gcc-ipq9574",
>> +        .of_match_table = gcc_ipq9574_match_table,
>> +    },
>> +};
>> +
>> +static int __init gcc_ipq9574_init(void)
>> +{
>> +    return platform_driver_register(&gcc_ipq9574_driver);
>> +}
>> +core_initcall(gcc_ipq9574_init);
>> +
>> +static void __exit gcc_ipq9574_exit(void)
>> +{
>> +    platform_driver_unregister(&gcc_ipq9574_driver);
>> +}
>> +module_exit(gcc_ipq9574_exit);
>> +
>> +MODULE_DESCRIPTION("Qualcomm Technologies, Inc. GCC IPQ9574 Driver");
>> +MODULE_LICENSE("GPL");
Kathiravan Thirumoorthy Feb. 3, 2023, 12:34 p.m. UTC | #2
On 2/3/2023 4:25 PM, Konrad Dybcio wrote:
>
> On 3.02.2023 06:47, Kathiravan T wrote:
>> On 2/2/2023 8:36 PM, Devi Priya wrote:
>>> Add Global Clock Controller (GCC) driver for ipq9574 based devices
>>>
>>> Co-developed-by: Anusha Rao <quic_anusha@quicinc.com>
>>> Signed-off-by: Anusha Rao <quic_anusha@quicinc.com>
>>> Signed-off-by: Devi Priya <quic_devipriy@quicinc.com>
>>> ---
> [...]
>
>>> +static int gcc_ipq9574_probe(struct platform_device *pdev)
>>> +{
>>> +    struct regmap *regmap;
>>> +    struct qcom_cc_desc ipq9574_desc = gcc_ipq9574_desc;
>>> +
>>> +    regmap = qcom_cc_map(pdev, &ipq9574_desc);
>>> +    if (IS_ERR(regmap))
>>> +        return PTR_ERR(regmap);
>>> +
>>> +    return qcom_cc_really_probe(pdev, &ipq9574_desc, regmap);
>>
>> can we use qcom_cc_probe as suggested here https://lore.kernel.org/linux-arm-msm/84f68577f5629e6ef6d6b14357a79f84.sboyd@kernel.org/ ?
> Yes we can.
>
> When you're answering a long long long long email, please cut off
> parts that you aren't replying to, I had to scroll and scroll and
> scroll and scroll to get to this sentence and I'm not even sure if
> you said something inbetween that I missed..


Got it, Thanks.


>
> Konrad
>>
>>> +}
>>> +
>>> +static struct platform_driver gcc_ipq9574_driver = {
>>> +    .probe = gcc_ipq9574_probe,
>>> +    .driver = {
>>> +        .name   = "qcom,gcc-ipq9574",
>>> +        .of_match_table = gcc_ipq9574_match_table,
>>> +    },
>>> +};
>>> +
>>> +static int __init gcc_ipq9574_init(void)
>>> +{
>>> +    return platform_driver_register(&gcc_ipq9574_driver);
>>> +}
>>> +core_initcall(gcc_ipq9574_init);
>>> +
>>> +static void __exit gcc_ipq9574_exit(void)
>>> +{
>>> +    platform_driver_unregister(&gcc_ipq9574_driver);
>>> +}
>>> +module_exit(gcc_ipq9574_exit);
>>> +
>>> +MODULE_DESCRIPTION("Qualcomm Technologies, Inc. GCC IPQ9574 Driver");
>>> +MODULE_LICENSE("GPL");