clk: qcom: clk-rpm: add missing rpm clk for ipq806x
Subsystems (7)
PATCH v2 1/1 clk: qcom: clk-rpm: add missing rpm clk for ipq806x
In reply to a message not in the archiveAdd missing definition of rpm clk for ipq806x soc
--- .../devicetree/bindings/clock/qcom,rpmcc.txt | 1 + drivers/clk/qcom/clk-rpm.c | 35 +++++++++++++++++++ include/dt-bindings/clock/qcom,rpmcc.h | 4 +++ 3 files changed, 40 insertions(+)
Documentation/devicetree/bindings/clock/qcom,rpmcc.txt +1 -0
@@ -15,6 +15,7 @@ Required properties : "qcom,rpmcc-msm8916", "qcom,rpmcc" "qcom,rpmcc-msm8974", "qcom,rpmcc" "qcom,rpmcc-apq8064", "qcom,rpmcc" + "qcom,rpmcc-ipq806x", "qcom,rpmcc" "qcom,rpmcc-msm8996", "qcom,rpmcc" "qcom,rpmcc-msm8998", "qcom,rpmcc" "qcom,rpmcc-qcs404", "qcom,rpmcc"
drivers/clk/qcom/clk-rpm.c +35 -0
@@ -543,10 +543,45 @@ static const struct rpm_clk_desc rpm_clk_apq8064 = { .num_clks = ARRAY_SIZE(apq8064_clks), }; +/* ipq806x */ +DEFINE_CLK_RPM (ipq806x, afab_clk, afab_a_clk,QCOM_RPM_APPS_FABRIC_CLK ); +DEFINE_CLK_RPM (ipq806x, cfpb_clk, cfpb_a_clk,QCOM_RPM_CFPB_CLK ); +DEFINE_CLK_RPM (ipq806x, daytona_clk, daytona_a_clk,QCOM_RPM_DAYTONA_FABRIC_CLK ); +DEFINE_CLK_RPM (ipq806x, ebi1_clk, ebi1_a_clk,QCOM_RPM_EBI1_CLK ); +DEFINE_CLK_RPM (ipq806x, sfab_clk, sfab_a_clk,QCOM_RPM_SYS_FABRIC_CLK ); +DEFINE_CLK_RPM (ipq806x, sfpb_clk, sfpb_a_clk,QCOM_RPM_SFPB_CLK ); +DEFINE_CLK_RPM (ipq806x, nss_fabric_0_clk, nss_fabric_0_a_clk,QCOM_RPM_NSS_FABRIC_0_CLK ); +DEFINE_CLK_RPM (ipq806x, nss_fabric_1_clk, nss_fabric_1_a_clk,QCOM_RPM_NSS_FABRIC_1_CLK ); + +static struct clk_rpm *ipq806x_clks[] = { + [RPM_APPS_FABRIC_CLK ] = &ipq806x_afab_clk, + [RPM_APPS_FABRIC_A_CLK ] = &ipq806x_afab_a_clk, + [RPM_CFPB_CLK ] = &ipq806x_cfpb_clk, + [RPM_CFPB_A_CLK ] = &ipq806x_cfpb_a_clk, + [RPM_DAYTONA_FABRIC_CLK ] = &ipq806x_daytona_clk, + [RPM_DAYTONA_FABRIC_A_CLK ] = &ipq806x_daytona_a_clk, + [RPM_EBI1_CLK ] = &ipq806x_ebi1_clk, + [RPM_EBI1_A_CLK ] = &ipq806x_ebi1_a_clk, + [RPM_SYS_FABRIC_CLK ] = &ipq806x_sfab_clk, + [RPM_SYS_FABRIC_A_CLK ] = &ipq806x_sfab_a_clk, + [RPM_SFPB_CLK ] = &ipq806x_sfpb_clk, + [RPM_SFPB_A_CLK ] = &ipq806x_sfpb_a_clk, + [RPM_NSS_FABRIC_0_CLK ] = &ipq806x_nss_fabric_0_clk, + [RPM_NSS_FABRIC_0_A_CLK ] = &ipq806x_nss_fabric_0_a_clk, + [RPM_NSS_FABRIC_1_CLK ] = &ipq806x_nss_fabric_1_clk, + [RPM_NSS_FABRIC_1_A_CLK ] = &ipq806x_nss_fabric_1_a_clk, +}; + +static const struct rpm_clk_desc rpm_clk_ipq806x = { + .clks = ipq806x_clks, + .num_clks =ARRAY_SIZE (ipq806x_clks), +}; +static const struct of_device_id rpm_clk_match_table[] = { { .compatible ="qcom,rpmcc-msm8660" , .data = &rpm_clk_msm8660 }, { .compatible ="qcom,rpmcc-apq8060" , .data = &rpm_clk_msm8660 }, { .compatible ="qcom,rpmcc-apq8064" , .data = &rpm_clk_apq8064 }, + { .compatible ="qcom,rpmcc-ipq806x" , .data = &rpm_clk_ipq806x }, { } };MODULE_DEVICE_TABLE (of, rpm_clk_match_table);
include/dt-bindings/clock/qcom,rpmcc.h +4 -0
@@ -37,6 +37,10 @@#define RPM_XO_A0 27#define RPM_XO_A1 28#define RPM_XO_A2 29 +#define RPM_NSS_FABRIC_0_CLK 30 +#define RPM_NSS_FABRIC_0_A_CLK 31 +#define RPM_NSS_FABRIC_1_CLK 32 +#define RPM_NSS_FABRIC_1_A_CLK 33/* SMD RPM clocks */ #define RPM_SMD_XO_CLK_SRC 0
Signature · 1 line
2.25.0
Quoted 11 lines · Ansuel Smith
Add missing definition of rpm clk for ipq806x soc
Signed-off-by John Crispin <[email protected]>Signed-off-by Ansuel Smith <[email protected]>Acked-by John Crispin <[email protected]>--- .../devicetree/bindings/clock/qcom,rpmcc.txt | 1 + drivers/clk/qcom/clk-rpm.c | 35 +++++++++++++++++++ include/dt-bindings/clock/qcom,rpmcc.h | 4 +++ 3 files changed, 40 insertions(+)
PATCH v9 1/2 net: mdio: add ipq8064 mdio driver
In reply to a message not in the archiveCurrently ipq806x soc use generic bitbang driver to comunicate with the gmac ethernet interface. Add a dedicated driver created by chunkeey to fix this.
---
Changes in v9:
- Use device_node_to_regmap instead of
syscon_node_to_regmap
Changes in v8:
- Drop syscon_regmap_lookup_by_phandle and make
clock definition in dts mandatory
Changes in v7:
- Add myself as module author and copyright
- Reduced usleep_range to 8-10 as suggested by chunkeey
Changes in v6:
- Fix error in commit description
- Add co-developed tag
Changes in v5:
- Rename define to more rappresentative name
Changes in v4:
- Fix wrong print value in dev_err
Changes in v3:
- Fix wrong return logic on error
Changes in v2:
- Use regmap_read_poll_timeout
- Reject clause 45
drivers/net/phy/Kconfig | 8 ++ drivers/net/phy/Makefile | 1 + drivers/net/phy/mdio-ipq8064.c | 166 +++++++++++++++++++++++++++++++++ 3 files changed, 175 insertions(+) create mode 100644 drivers/net/phy/mdio-ipq8064.c
drivers/net/phy/Kconfig +8 -0
@@ -157,6 +157,14 @@ config MDIO_I2C This is library mode. +config MDIO_IPQ8064 + tristate "Qualcomm IPQ8064 MDIO interface support" + depends on HAS_IOMEM && OF_MDIO + depends on MFD_SYSCON + help + This driver supports the MDIO interface found in the network + interface units of the IPQ8064 SoC + config MDIO_MOXART tristate "MOXA ART MDIO interface support" depends on ARCH_MOXART || COMPILE_TEST
drivers/net/phy/Makefile +1 -0
@@ -36,6 +36,7 @@ obj-$(CONFIG_MDIO_CAVIUM) += mdio-cavium.o obj-$(CONFIG_MDIO_GPIO) += mdio-gpio.o obj-$(CONFIG_MDIO_HISI_FEMAC) += mdio-hisi-femac.o obj-$(CONFIG_MDIO_I2C) += mdio-i2c.o +obj-$(CONFIG_MDIO_IPQ8064) += mdio-ipq8064.o obj-$(CONFIG_MDIO_MOXART) += mdio-moxart.o obj-$(CONFIG_MDIO_MSCC_MIIM) += mdio-mscc-miim.o obj-$(CONFIG_MDIO_OCTEON) += mdio-octeon.o
drivers/net/phy/mdio-ipq8064.c new file +166 -0
166 lines not on this page · raw message
Signature · 1 line
2.25.0
PATCH v9 2/2 dt-bindings: net: Add ipq806x mdio bindings
Add documentations for ipq806x mdio driver.
---
Changes in v9:
- Update License
- Drop syscon
Changes in v8:
- Fix error in dtb check
- Remove not needed reset definition from example
- Add include header for ipq806x clocks
- Fix wrong License type
Changes in v7:
- Fix dt_binding_check problem
.../bindings/net/qcom,ipq8064-mdio.yaml | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/qcom,ipq8064-mdio.yaml
Documentation/devicetree/bindings/net/qcom,ipq8064-mdio.yaml new file +53 -0
@@ -0,0 +1,53 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/qcom,ipq8064-mdio.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm ipq806x MDIO bus controller + +maintainers: + - Ansuel Smith <[email protected]> + +description: + The ipq806x soc have a MDIO dedicated controller that is + used to communicate with the gmac phy connected. + +allOf: + - $ref: "mdio.yaml#" + +properties: + compatible: + const: qcom,ipq8064-mdio + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + +required: + - compatible + - reg + - clocks + - "#address-cells" + - "#size-cells" + +examples: + - | + #include <dt-bindings/clock/qcom,gcc-ipq806x.h> + + mdio0: mdio@37000000 { + #address-cells = <1>; + #size-cells = <0>; + + compatible = "qcom,ipq8064-mdio"; + reg = <0x37000000 0x200000>; + + clocks = <&gcc GMAC_CORE1_CLK>; + + switch@10 { + compatible = "qca,qca8337"; + /* ... */ + }; + };
Signature · 1 line
2.25.0
Re: [PATCH v9 1/2] net: mdio: add ipq8064 mdio driver
In reply to Ansuel SmithFrom: Ansuel Smith <[email protected]>
Date: Wed, 4 Mar 2020 22:38:32 +0100
Quoted 7 lines
Currently ipq806x soc use generic bitbang driver to comunicate with the gmac ethernet interface. Add a dedicated driver created by chunkeey to fix this.
Co-developed-by Christian Lamparter <[email protected]>Signed-off-by Christian Lamparter <[email protected]>Signed-off-by Ansuel Smith <[email protected]>
Applied to net-next.
Re: [PATCH v9 2/2] dt-bindings: net: Add ipq806x mdio bindings
In reply to Ansuel SmithFrom: Ansuel Smith <[email protected]>
Date: Wed, 4 Mar 2020 22:38:33 +0100
Quoted 3 lines
Add documentations for ipq806x mdio driver.
Signed-off-by Ansuel Smith <[email protected]>
Applied to net-next.
Stephen Boyd
maintainerQuoting Rob Herring (2020-03-03 06:59:20)
Quoted 13 lines · Ansuel Smith
Quoted 11 lines
Add missing definition of rpm clk for ipq806x soc
Signed-off-by John Crispin <[email protected]>Signed-off-by Ansuel Smith <[email protected]>Acked-by John Crispin <[email protected]>--- .../devicetree/bindings/clock/qcom,rpmcc.txt | 1 + drivers/clk/qcom/clk-rpm.c | 35 +++++++++++++++++++ include/dt-bindings/clock/qcom,rpmcc.h | 4 +++ 3 files changed, 40 insertions(+)
Quoted 1 line
Acked-by Rob Herring <[email protected]>
Ansuel, can you send this again and address it To: somebody like me? My MUA fails at getting emails when they're addressed to nobody.