Message ID | 20190821101118.42774-1-vadivel.muruganx.ramuthevar@linux.intel.com |
---|---|
State | Superseded, archived |
Headers | show |
Series | [v3,1/2] dt-bindings: phy: intel-emmc-phy: Add YAML schema for LGM eMMC PHY | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | warning | "total: 0 errors, 1 warnings, 59 lines checked" |
robh/dt-meta-schema | fail | build log |
On Wed, Aug 21, 2019 at 06:11:18PM +0800, Ramuthevar,Vadivel MuruganX wrote: > From: Ramuthevar Vadivel Murugan <vadivel.muruganx.ramuthevar@linux.intel.com> > > Add support for eMMC PHY on Intel's Lightning Mountain SoC. > --- /dev/null > +++ b/drivers/phy/intel/Kconfig > @@ -0,0 +1,8 @@ Missed licence tag > +# > +# Phy drivers for Intel X86 LGM platform > +# > +#define EMMC_PHYCTRL2_REG 0xb0 > +#define FRQSEL_25M 0 I would still leave 1 and 2 with corresponding names for sake of documentation. > +#define FRQSEL_150M 3 > +#define FRQSEL_MASK GENMASK(24, 22) > +#define FRQSEL_SHIFT(x) (((x) << 22) & FRQSEL_MASK) > + unsigned int freqsel = 0; Redundant assignment. > + udelay(5); + blank line > + regmap_update_bits(priv->syscfg, EMMC_PHYCTRL1_REG, PDB_MASK, 1); And here missed to address one of my comments. > + /* > + * We purposely get the clock here and not in probe to avoid the > + * circular dependency problem. We expect: We don't use double space > + * - PHY driver to probe > + * - SDHCI driver to start probe > + * - SDHCI driver to register it's clock > + * - SDHCI driver to get the PHY > + * - SDHCI driver to init the PHY > + * > + * The clock is optional, so upon any error just return it like > + * any other error to user. > + * > + */ > + struct device *dev = &pdev->dev; > + struct intel_emmc_phy *priv; > + struct phy *generic_phy; > + struct phy_provider *phy_provider; > + struct device_node *np = dev->of_node; Group it with other assignment(s), i.e. dev = ... above. struct device *dev = ...; struct device_node *np = ...;
On Wed, Aug 21, 2019 at 5:11 AM Ramuthevar,Vadivel MuruganX <vadivel.muruganx.ramuthevar@linux.intel.com> wrote: > > From: Ramuthevar Vadivel Murugan <vadivel.muruganx.ramuthevar@linux.intel.com> > > Add a YAML schema to use the host controller driver with the > eMMC PHY on Intel's Lightning Mountain SoC. > > Signed-off-by: Ramuthevar Vadivel Murugan <vadivel.muruganx.ramuthevar@linux.intel.com> > --- > changes in v3: > - resolve 'make dt_binding_check' warnings > > changes in v2: > As per Rob Herring review comments, the following updates > - change GPL-2.0 -> (GPL-2.0-only OR BSD-2-Clause) > - filename is the compatible string plus .yaml > - LGM: Lightning Mountain > - update maintainer > - add intel,syscon under property list > - keep one example instead of two > --- > .../bindings/phy/intel,lgm-emmc-phy.yaml | 59 ++++++++++++++++++++++ > 1 file changed, 59 insertions(+) > create mode 100644 Documentation/devicetree/bindings/phy/intel,lgm-emmc-phy.yaml > > diff --git a/Documentation/devicetree/bindings/phy/intel,lgm-emmc-phy.yaml b/Documentation/devicetree/bindings/phy/intel,lgm-emmc-phy.yaml > new file mode 100644 > index 000000000000..9342e33d8b02 > --- /dev/null > +++ b/Documentation/devicetree/bindings/phy/intel,lgm-emmc-phy.yaml > @@ -0,0 +1,59 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/phy/intel,lgm-emmc-phy.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Intel Lightning Mountain(LGM) eMMC PHY Device Tree Bindings > + > +maintainers: > + - Ramuthevar Vadivel Murugan <vadivel.muruganx.ramuthevar@linux.intel.com> > + > +properties: > + "#phy-cells": > + const: 0 > + > + compatible: > + const: intel,lgm-emmc-phy > + > + reg: > + maxItems: 1 > + > + syscon: intel,syscon like the example. You must have used 5.2 as on 5.3-rc the example will fail validation. > + items: Drop items as there is only 1. > + $ref: "/schemas/types.yaml#definitions/phandle" > + > + clocks: > + items: > + - description: e-MMC phy module clock > + > + clock-names: > + items: > + - const: emmcclk > + > + resets: > + maxItems: 1 > + > +required: > + - "#phy-cells" > + - compatible > + - reg > + - clocks > + - clock-names > + - resets > + - ref Not documented. > + > +additionalProperties: false > + > +examples: > + - | > + emmc_phy: emmc_phy { > + compatible = "intel,lgm-emmc-phy"; > + reg = <0xe0020000 0x100>; > + intel,syscon = <&sysconf>; > + clocks = <&emmc>; > + clock-names = "emmcclk"; > + #phy-cells = <0>; > + }; > + > +... > -- > 2.11.0 >
Hi Rob, On 21/8/2019 9:35 PM, Rob Herring wrote: > On Wed, Aug 21, 2019 at 5:11 AM Ramuthevar,Vadivel MuruganX > <vadivel.muruganx.ramuthevar@linux.intel.com> wrote: >> From: Ramuthevar Vadivel Murugan <vadivel.muruganx.ramuthevar@linux.intel.com> >> >> Add a YAML schema to use the host controller driver with the >> eMMC PHY on Intel's Lightning Mountain SoC. >> >> Signed-off-by: Ramuthevar Vadivel Murugan <vadivel.muruganx.ramuthevar@linux.intel.com> >> --- >> changes in v3: >> - resolve 'make dt_binding_check' warnings >> >> changes in v2: >> As per Rob Herring review comments, the following updates >> - change GPL-2.0 -> (GPL-2.0-only OR BSD-2-Clause) >> - filename is the compatible string plus .yaml >> - LGM: Lightning Mountain >> - update maintainer >> - add intel,syscon under property list >> - keep one example instead of two >> --- >> .../bindings/phy/intel,lgm-emmc-phy.yaml | 59 ++++++++++++++++++++++ >> 1 file changed, 59 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/phy/intel,lgm-emmc-phy.yaml >> >> diff --git a/Documentation/devicetree/bindings/phy/intel,lgm-emmc-phy.yaml b/Documentation/devicetree/bindings/phy/intel,lgm-emmc-phy.yaml >> new file mode 100644 >> index 000000000000..9342e33d8b02 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/phy/intel,lgm-emmc-phy.yaml >> @@ -0,0 +1,59 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/phy/intel,lgm-emmc-phy.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Intel Lightning Mountain(LGM) eMMC PHY Device Tree Bindings >> + >> +maintainers: >> + - Ramuthevar Vadivel Murugan <vadivel.muruganx.ramuthevar@linux.intel.com> >> + >> +properties: >> + "#phy-cells": >> + const: 0 >> + >> + compatible: >> + const: intel,lgm-emmc-phy >> + >> + reg: >> + maxItems: 1 >> + >> + syscon: > intel,syscon like the example. You must have used 5.2 as on 5.3-rc the > example will fail validation. Thanks for the review comments, used 5.3 for validation, after addressing the below comments once again validate on both 5.2 and 5.3 as well. >> + items: > Drop items as there is only 1. agreed >> + $ref: "/schemas/types.yaml#definitions/phandle" >> + >> + clocks: >> + items: >> + - description: e-MMC phy module clock >> + >> + clock-names: >> + items: >> + - const: emmcclk >> + >> + resets: >> + maxItems: 1 >> + >> +required: >> + - "#phy-cells" >> + - compatible >> + - reg >> + - clocks >> + - clock-names >> + - resets >> + - ref > Not documented. Agreed, will update With Best Regards Vadivel >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + emmc_phy: emmc_phy { >> + compatible = "intel,lgm-emmc-phy"; >> + reg = <0xe0020000 0x100>; >> + intel,syscon = <&sysconf>; >> + clocks = <&emmc>; >> + clock-names = "emmcclk"; >> + #phy-cells = <0>; >> + }; >> + >> +... >> -- >> 2.11.0 >>
Hi Andy, On 21/8/2019 8:01 PM, Andy Shevchenko wrote: > On Wed, Aug 21, 2019 at 06:11:18PM +0800, Ramuthevar,Vadivel MuruganX wrote: >> From: Ramuthevar Vadivel Murugan <vadivel.muruganx.ramuthevar@linux.intel.com> >> >> Add support for eMMC PHY on Intel's Lightning Mountain SoC. >> --- /dev/null >> +++ b/drivers/phy/intel/Kconfig >> @@ -0,0 +1,8 @@ > Missed licence tag Thank you so much for the review comments, will update. >> +# >> +# Phy drivers for Intel X86 LGM platform >> +# >> +#define EMMC_PHYCTRL2_REG 0xb0 >> +#define FRQSEL_25M 0 > I would still leave 1 and 2 with corresponding names for sake of documentation. Ok, will add for the sake of documentation. >> +#define FRQSEL_150M 3 >> +#define FRQSEL_MASK GENMASK(24, 22) >> +#define FRQSEL_SHIFT(x) (((x) << 22) & FRQSEL_MASK) >> + unsigned int freqsel = 0; > Redundant assignment. Noted, will update. >> + udelay(5); > + blank line Noted, will update > >> + regmap_update_bits(priv->syscfg, EMMC_PHYCTRL1_REG, PDB_MASK, 1); > And here missed to address one of my comments. Yes, will update. >> + /* >> + * We purposely get the clock here and not in probe to avoid the >> + * circular dependency problem. We expect: > We don't use double space Noted, will update. >> + * - PHY driver to probe >> + * - SDHCI driver to start probe >> + * - SDHCI driver to register it's clock >> + * - SDHCI driver to get the PHY >> + * - SDHCI driver to init the PHY >> + * >> + * The clock is optional, so upon any error just return it like >> + * any other error to user. >> + * >> + */ >> + struct device *dev = &pdev->dev; >> + struct intel_emmc_phy *priv; >> + struct phy *generic_phy; >> + struct phy_provider *phy_provider; >> + struct device_node *np = dev->of_node; > Group it with other assignment(s), i.e. dev = ... above. > > struct device *dev = ...; > struct device_node *np = ...; agree, will update. --- With Best Regards Vadivel Murugan
diff --git a/Documentation/devicetree/bindings/phy/intel,lgm-emmc-phy.yaml b/Documentation/devicetree/bindings/phy/intel,lgm-emmc-phy.yaml new file mode 100644 index 000000000000..9342e33d8b02 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/intel,lgm-emmc-phy.yaml @@ -0,0 +1,59 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/phy/intel,lgm-emmc-phy.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Intel Lightning Mountain(LGM) eMMC PHY Device Tree Bindings + +maintainers: + - Ramuthevar Vadivel Murugan <vadivel.muruganx.ramuthevar@linux.intel.com> + +properties: + "#phy-cells": + const: 0 + + compatible: + const: intel,lgm-emmc-phy + + reg: + maxItems: 1 + + syscon: + items: + $ref: "/schemas/types.yaml#definitions/phandle" + + clocks: + items: + - description: e-MMC phy module clock + + clock-names: + items: + - const: emmcclk + + resets: + maxItems: 1 + +required: + - "#phy-cells" + - compatible + - reg + - clocks + - clock-names + - resets + - ref + +additionalProperties: false + +examples: + - | + emmc_phy: emmc_phy { + compatible = "intel,lgm-emmc-phy"; + reg = <0xe0020000 0x100>; + intel,syscon = <&sysconf>; + clocks = <&emmc>; + clock-names = "emmcclk"; + #phy-cells = <0>; + }; + +...