Message ID | 20241006153447.41377-1-linux@fw-web.de |
---|---|
Headers | show |
Series | Add mmc support for mt7988 | expand |
On Sun, Oct 06, 2024 at 05:34:45PM +0200, Frank Wunderlich wrote: > From: Frank Wunderlich <frank-w@public-files.de> > > Add binding definitions for mmc on MT7988 SoC. > > Signed-off-by: Frank Wunderlich <frank-w@public-files.de> > --- > v2: > - fixed minItems to 4 > --- > .../devicetree/bindings/mmc/mtk-sd.yaml | 24 +++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > index c532ec92d2d9..7380f72ea189 100644 > --- a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > +++ b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > @@ -21,6 +21,7 @@ properties: > - mediatek,mt7620-mmc > - mediatek,mt7622-mmc > - mediatek,mt7986-mmc > + - mediatek,mt7988-mmc > - mediatek,mt8135-mmc > - mediatek,mt8173-mmc > - mediatek,mt8183-mmc > @@ -263,6 +264,29 @@ allOf: > - const: bus_clk > - const: sys_cg > > + - if: > + properties: > + compatible: > + contains: > + enum: > + - mediatek,mt7988-mmc > + then: > + properties: > + clocks: > + minItems: 4 Drop > + items: > + - description: source clock > + - description: HCLK which used for host > + - description: Advanced eXtensible Interface > + - description: Advanced High-performance Bus clock > + clock-names: > + minItems: 3 This is still wrong... anyway, drop. Best regards, Krzysztof
> Gesendet: Montag, 07. Oktober 2024 um 07:55 Uhr > Von: "Krzysztof Kozlowski" <krzk@kernel.org> > An: "Frank Wunderlich" <linux@fw-web.de> > Betreff: Re: [PATCH v2 1/2] dt-bindings: mmc: mtk-sd: Add mt7988 SoC > > On Sun, Oct 06, 2024 at 05:34:45PM +0200, Frank Wunderlich wrote: > > From: Frank Wunderlich <frank-w@public-files.de> > > > > Add binding definitions for mmc on MT7988 SoC. > > > > Signed-off-by: Frank Wunderlich <frank-w@public-files.de> > > --- > > v2: > > - fixed minItems to 4 > > --- > > .../devicetree/bindings/mmc/mtk-sd.yaml | 24 +++++++++++++++++++ > > 1 file changed, 24 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > > index c532ec92d2d9..7380f72ea189 100644 > > --- a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > > +++ b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > > @@ -21,6 +21,7 @@ properties: > > - mediatek,mt7620-mmc > > - mediatek,mt7622-mmc > > - mediatek,mt7986-mmc > > + - mediatek,mt7988-mmc > > - mediatek,mt8135-mmc > > - mediatek,mt8173-mmc > > - mediatek,mt8183-mmc > > @@ -263,6 +264,29 @@ allOf: > > - const: bus_clk > > - const: sys_cg > > > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - mediatek,mt7988-mmc > > + then: > > + properties: > > + clocks: > > + minItems: 4 > > Drop > > > + items: > > + - description: source clock > > + - description: HCLK which used for host > > + - description: Advanced eXtensible Interface > > + - description: Advanced High-performance Bus clock > > + clock-names: > > + minItems: 3 > > This is still wrong... anyway, drop. arg, sorry again...i should triple-check all before resending. but dropping means the global 2 is used (making axi+ahb optional), or am i wrong? afaik "minItems: 4" is right here > Best regards, > Krzysztof > regards Frank
On 07/10/2024 08:59, Frank Wunderlich wrote: >> Gesendet: Montag, 07. Oktober 2024 um 07:55 Uhr >> Von: "Krzysztof Kozlowski" <krzk@kernel.org> >> An: "Frank Wunderlich" <linux@fw-web.de> >> Betreff: Re: [PATCH v2 1/2] dt-bindings: mmc: mtk-sd: Add mt7988 SoC >> >> On Sun, Oct 06, 2024 at 05:34:45PM +0200, Frank Wunderlich wrote: >>> From: Frank Wunderlich <frank-w@public-files.de> >>> >>> Add binding definitions for mmc on MT7988 SoC. >>> >>> Signed-off-by: Frank Wunderlich <frank-w@public-files.de> >>> --- >>> v2: >>> - fixed minItems to 4 >>> --- >>> .../devicetree/bindings/mmc/mtk-sd.yaml | 24 +++++++++++++++++++ >>> 1 file changed, 24 insertions(+) >>> >>> diff --git a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml >>> index c532ec92d2d9..7380f72ea189 100644 >>> --- a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml >>> +++ b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml >>> @@ -21,6 +21,7 @@ properties: >>> - mediatek,mt7620-mmc >>> - mediatek,mt7622-mmc >>> - mediatek,mt7986-mmc >>> + - mediatek,mt7988-mmc >>> - mediatek,mt8135-mmc >>> - mediatek,mt8173-mmc >>> - mediatek,mt8183-mmc >>> @@ -263,6 +264,29 @@ allOf: >>> - const: bus_clk >>> - const: sys_cg >>> >>> + - if: >>> + properties: >>> + compatible: >>> + contains: >>> + enum: >>> + - mediatek,mt7988-mmc >>> + then: >>> + properties: >>> + clocks: >>> + minItems: 4 >> >> Drop Drop this line. >> >>> + items: >>> + - description: source clock >>> + - description: HCLK which used for host >>> + - description: Advanced eXtensible Interface >>> + - description: Advanced High-performance Bus clock >>> + clock-names: >>> + minItems: 3 >> >> This is still wrong... anyway, drop. > > arg, sorry again...i should triple-check all before resending. Drop this line. > > but dropping means the global 2 is used (making axi+ahb optional), or am i wrong? afaik "minItems: 4" is right here How minItems:4 is right here? Best regards, Krzysztof
Hi > Gesendet: Montag, 07. Oktober 2024 um 09:04 Uhr > Von: "Krzysztof Kozlowski" <krzk@kernel.org> > Betreff: Re: Aw: Re: [PATCH v2 1/2] dt-bindings: mmc: mtk-sd: Add mt7988 SoC > > On 07/10/2024 08:59, Frank Wunderlich wrote: > >> Gesendet: Montag, 07. Oktober 2024 um 07:55 Uhr > >> Von: "Krzysztof Kozlowski" <krzk@kernel.org> > >> An: "Frank Wunderlich" <linux@fw-web.de> > >> Betreff: Re: [PATCH v2 1/2] dt-bindings: mmc: mtk-sd: Add mt7988 SoC > >> > >> On Sun, Oct 06, 2024 at 05:34:45PM +0200, Frank Wunderlich wrote: > >>> From: Frank Wunderlich <frank-w@public-files.de> > >>> > >>> Add binding definitions for mmc on MT7988 SoC. > >>> > >>> Signed-off-by: Frank Wunderlich <frank-w@public-files.de> > >>> --- > >>> v2: > >>> - fixed minItems to 4 > >>> --- > >>> .../devicetree/bindings/mmc/mtk-sd.yaml | 24 +++++++++++++++++++ > >>> 1 file changed, 24 insertions(+) > >>> > >>> diff --git a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > >>> index c532ec92d2d9..7380f72ea189 100644 > >>> --- a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > >>> +++ b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > >>> @@ -21,6 +21,7 @@ properties: > >>> - mediatek,mt7620-mmc > >>> - mediatek,mt7622-mmc > >>> - mediatek,mt7986-mmc > >>> + - mediatek,mt7988-mmc > >>> - mediatek,mt8135-mmc > >>> - mediatek,mt8173-mmc > >>> - mediatek,mt8183-mmc > >>> @@ -263,6 +264,29 @@ allOf: > >>> - const: bus_clk > >>> - const: sys_cg > >>> > >>> + - if: > >>> + properties: > >>> + compatible: > >>> + contains: > >>> + enum: > >>> + - mediatek,mt7988-mmc > >>> + then: > >>> + properties: > >>> + clocks: > >>> + minItems: 4 > >> > >> Drop > > Drop this line. > > >> > >>> + items: > >>> + - description: source clock > >>> + - description: HCLK which used for host > >>> + - description: Advanced eXtensible Interface > >>> + - description: Advanced High-performance Bus clock > >>> + clock-names: > >>> + minItems: 3 > >> > >> This is still wrong... anyway, drop. > > > > arg, sorry again...i should triple-check all before resending. > > Drop this line. > > > > > but dropping means the global 2 is used (making axi+ahb optional), or am i wrong? afaik "minItems: 4" is right here > > How minItems:4 is right here? mt7988 needs all 4 clocks, tested with only first 2 (based on global minitems) and got this (similar with first 3 clocks): [ 10.826271] mtk-msdc 11230000.mmc: msdc_request_timeout: aborting cmd/data/mrq [ 10.833485] mtk-msdc 11230000.mmc: msdc_request_timeout: aborting mrq=(____ptrval____) cmd=18 [ 10.842006] mtk-msdc 11230000.mmc: msdc_request_timeout: aborting cmd=23 [ 10.848704] mtk-msdc 11230000.mmc: msdc_track_cmd_data: cmd=18 arg=00036402; host->error=0x00000002 [ 15.866269] mtk-msdc 11230000.mmc: msdc_request_timeout: aborting cmd/data/mrq [ 15.873480] mtk-msdc 11230000.mmc: msdc_request_timeout: aborting mrq=(____ptrval____) cmd=13 [ 15.881998] mtk-msdc 11230000.mmc: msdc_request_timeout: aborting cmd=13 [ 15.888694] mtk-msdc 11230000.mmc: msdc_track_cmd_data: cmd=13 arg=00010000; host->error=0x00000002 so minItems:4 is imho right here > Best regards, > Krzysztof > >
Il 06/10/24 17:34, Frank Wunderlich ha scritto: > From: Frank Wunderlich <frank-w@public-files.de> > > Add binding definitions for mmc on MT7988 SoC. > > Signed-off-by: Frank Wunderlich <frank-w@public-files.de> > --- > v2: > - fixed minItems to 4 > --- > .../devicetree/bindings/mmc/mtk-sd.yaml | 24 +++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > index c532ec92d2d9..7380f72ea189 100644 > --- a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > +++ b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > @@ -21,6 +21,7 @@ properties: > - mediatek,mt7620-mmc > - mediatek,mt7622-mmc > - mediatek,mt7986-mmc > + - mediatek,mt7988-mmc > - mediatek,mt8135-mmc > - mediatek,mt8173-mmc > - mediatek,mt8183-mmc > @@ -263,6 +264,29 @@ allOf: > - const: bus_clk > - const: sys_cg > > + - if: > + properties: > + compatible: > + contains: > + enum: > + - mediatek,mt7988-mmc Are you really sure that you can't reuse the MT7986 compatible? Cheers, Angelo > + then: > + properties: > + clocks: > + minItems: 4 > + items: > + - description: source clock > + - description: HCLK which used for host > + - description: Advanced eXtensible Interface > + - description: Advanced High-performance Bus clock > + clock-names: > + minItems: 3 > + items: > + - const: source > + - const: hclk > + - const: axi_cg > + - const: ahb_cg > + > - if: > properties: > compatible:
Hi > Gesendet: Montag, 07. Oktober 2024 um 10:00 Uhr > Von: "AngeloGioacchino Del Regno" <angelogioacchino.delregno@collabora.com> > Betreff: Re: [PATCH v2 1/2] dt-bindings: mmc: mtk-sd: Add mt7988 SoC > > Il 06/10/24 17:34, Frank Wunderlich ha scritto: > > From: Frank Wunderlich <frank-w@public-files.de> > > > > Add binding definitions for mmc on MT7988 SoC. > > > > Signed-off-by: Frank Wunderlich <frank-w@public-files.de> > > --- > > v2: > > - fixed minItems to 4 > > --- > > .../devicetree/bindings/mmc/mtk-sd.yaml | 24 +++++++++++++++++++ > > 1 file changed, 24 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > > index c532ec92d2d9..7380f72ea189 100644 > > --- a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > > +++ b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > > @@ -21,6 +21,7 @@ properties: > > - mediatek,mt7620-mmc > > - mediatek,mt7622-mmc > > - mediatek,mt7986-mmc > > + - mediatek,mt7988-mmc > > - mediatek,mt8135-mmc > > - mediatek,mt8173-mmc > > - mediatek,mt8183-mmc > > @@ -263,6 +264,29 @@ allOf: > > - const: bus_clk > > - const: sys_cg > > > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - mediatek,mt7988-mmc > > Are you really sure that you can't reuse the MT7986 compatible? have not found a way to reuse mt7986 binding because clock-config is different... from driver view we can use the mt7986 compatible, but from binding view it is different. regards Frank > Cheers, > Angelo > > > + then: > > + properties: > > + clocks: > > + minItems: 4 > > + items: > > + - description: source clock > > + - description: HCLK which used for host > > + - description: Advanced eXtensible Interface > > + - description: Advanced High-performance Bus clock > > + clock-names: > > + minItems: 3 > > + items: > > + - const: source > > + - const: hclk > > + - const: axi_cg > > + - const: ahb_cg > > + > > - if: > > properties: > > compatible: > > >
Il 07/10/24 10:33, Frank Wunderlich ha scritto: > Hi > >> Gesendet: Montag, 07. Oktober 2024 um 10:00 Uhr >> Von: "AngeloGioacchino Del Regno" <angelogioacchino.delregno@collabora.com> >> Betreff: Re: [PATCH v2 1/2] dt-bindings: mmc: mtk-sd: Add mt7988 SoC >> >> Il 06/10/24 17:34, Frank Wunderlich ha scritto: >>> From: Frank Wunderlich <frank-w@public-files.de> >>> >>> Add binding definitions for mmc on MT7988 SoC. >>> >>> Signed-off-by: Frank Wunderlich <frank-w@public-files.de> >>> --- >>> v2: >>> - fixed minItems to 4 >>> --- >>> .../devicetree/bindings/mmc/mtk-sd.yaml | 24 +++++++++++++++++++ >>> 1 file changed, 24 insertions(+) >>> >>> diff --git a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml >>> index c532ec92d2d9..7380f72ea189 100644 >>> --- a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml >>> +++ b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml >>> @@ -21,6 +21,7 @@ properties: >>> - mediatek,mt7620-mmc >>> - mediatek,mt7622-mmc >>> - mediatek,mt7986-mmc >>> + - mediatek,mt7988-mmc >>> - mediatek,mt8135-mmc >>> - mediatek,mt8173-mmc >>> - mediatek,mt8183-mmc >>> @@ -263,6 +264,29 @@ allOf: >>> - const: bus_clk >>> - const: sys_cg >>> >>> + - if: >>> + properties: >>> + compatible: >>> + contains: >>> + enum: >>> + - mediatek,mt7988-mmc >> >> Are you really sure that you can't reuse the MT7986 compatible? > > have not found a way to reuse mt7986 binding because clock-config is different... > from driver view we can use the mt7986 compatible, but from binding view it is different. > Okay, that's fair. > regards Frank > >> Cheers, >> Angelo >> >>> + then: >>> + properties: >>> + clocks: >>> + minItems: 4 >>> + items: >>> + - description: source clock >>> + - description: HCLK which used for host >>> + - description: Advanced eXtensible Interface >>> + - description: Advanced High-performance Bus clock >>> + clock-names: >>> + minItems: 3 >>> + items: >>> + - const: source >>> + - const: hclk >>> + - const: axi_cg >>> + - const: ahb_cg >>> + >>> - if: >>> properties: >>> compatible: >> >> >>
On 07/10/2024 09:56, Frank Wunderlich wrote: > Hi >> Gesendet: Montag, 07. Oktober 2024 um 09:04 Uhr >> Von: "Krzysztof Kozlowski" <krzk@kernel.org> >> Betreff: Re: Aw: Re: [PATCH v2 1/2] dt-bindings: mmc: mtk-sd: Add mt7988 SoC >> >> On 07/10/2024 08:59, Frank Wunderlich wrote: >>>> Gesendet: Montag, 07. Oktober 2024 um 07:55 Uhr >>>> Von: "Krzysztof Kozlowski" <krzk@kernel.org> >>>> An: "Frank Wunderlich" <linux@fw-web.de> >>>> Betreff: Re: [PATCH v2 1/2] dt-bindings: mmc: mtk-sd: Add mt7988 SoC >>>> >>>> On Sun, Oct 06, 2024 at 05:34:45PM +0200, Frank Wunderlich wrote: >>>>> From: Frank Wunderlich <frank-w@public-files.de> >>>>> >>>>> Add binding definitions for mmc on MT7988 SoC. >>>>> >>>>> Signed-off-by: Frank Wunderlich <frank-w@public-files.de> >>>>> --- >>>>> v2: >>>>> - fixed minItems to 4 >>>>> --- >>>>> .../devicetree/bindings/mmc/mtk-sd.yaml | 24 +++++++++++++++++++ >>>>> 1 file changed, 24 insertions(+) >>>>> >>>>> diff --git a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml >>>>> index c532ec92d2d9..7380f72ea189 100644 >>>>> --- a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml >>>>> +++ b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml >>>>> @@ -21,6 +21,7 @@ properties: >>>>> - mediatek,mt7620-mmc >>>>> - mediatek,mt7622-mmc >>>>> - mediatek,mt7986-mmc >>>>> + - mediatek,mt7988-mmc >>>>> - mediatek,mt8135-mmc >>>>> - mediatek,mt8173-mmc >>>>> - mediatek,mt8183-mmc >>>>> @@ -263,6 +264,29 @@ allOf: >>>>> - const: bus_clk >>>>> - const: sys_cg >>>>> >>>>> + - if: >>>>> + properties: >>>>> + compatible: >>>>> + contains: >>>>> + enum: >>>>> + - mediatek,mt7988-mmc >>>>> + then: >>>>> + properties: >>>>> + clocks: >>>>> + minItems: 4 >>>> >>>> Drop >> >> Drop this line. >> >>>> >>>>> + items: >>>>> + - description: source clock >>>>> + - description: HCLK which used for host >>>>> + - description: Advanced eXtensible Interface >>>>> + - description: Advanced High-performance Bus clock >>>>> + clock-names: >>>>> + minItems: 3 >>>> >>>> This is still wrong... anyway, drop. >>> >>> arg, sorry again...i should triple-check all before resending. >> >> Drop this line. >> >>> >>> but dropping means the global 2 is used (making axi+ahb optional), or am i wrong? afaik "minItems: 4" is right here >> >> How minItems:4 is right here? > > mt7988 needs all 4 clocks, tested with only first 2 (based on global minitems) and got this (similar with first 3 clocks): > > [ 10.826271] mtk-msdc 11230000.mmc: msdc_request_timeout: aborting cmd/data/mrq > [ 10.833485] mtk-msdc 11230000.mmc: msdc_request_timeout: aborting mrq=(____ptrval____) cmd=18 > [ 10.842006] mtk-msdc 11230000.mmc: msdc_request_timeout: aborting cmd=23 > [ 10.848704] mtk-msdc 11230000.mmc: msdc_track_cmd_data: cmd=18 arg=00036402; host->error=0x00000002 > [ 15.866269] mtk-msdc 11230000.mmc: msdc_request_timeout: aborting cmd/data/mrq > [ 15.873480] mtk-msdc 11230000.mmc: msdc_request_timeout: aborting mrq=(____ptrval____) cmd=13 > [ 15.881998] mtk-msdc 11230000.mmc: msdc_request_timeout: aborting cmd=13 > [ 15.888694] mtk-msdc 11230000.mmc: msdc_track_cmd_data: cmd=13 arg=00010000; host->error=0x00000002 > > so minItems:4 is imho right here So the list has 5 items? Then your binding is incomplete. Best regards, Krzysztof
On Mon, Oct 07, 2024 at 10:00:49AM +0200, AngeloGioacchino Del Regno wrote: > Il 06/10/24 17:34, Frank Wunderlich ha scritto: > > From: Frank Wunderlich <frank-w@public-files.de> > > > > Add binding definitions for mmc on MT7988 SoC. > > > > Signed-off-by: Frank Wunderlich <frank-w@public-files.de> > > --- > > v2: > > - fixed minItems to 4 > > --- > > .../devicetree/bindings/mmc/mtk-sd.yaml | 24 +++++++++++++++++++ > > 1 file changed, 24 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > > index c532ec92d2d9..7380f72ea189 100644 > > --- a/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > > +++ b/Documentation/devicetree/bindings/mmc/mtk-sd.yaml > > @@ -21,6 +21,7 @@ properties: > > - mediatek,mt7620-mmc > > - mediatek,mt7622-mmc > > - mediatek,mt7986-mmc > > + - mediatek,mt7988-mmc > > - mediatek,mt8135-mmc > > - mediatek,mt8173-mmc > > - mediatek,mt8183-mmc > > @@ -263,6 +264,29 @@ allOf: > > - const: bus_clk > > - const: sys_cg > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - mediatek,mt7988-mmc > > Are you really sure that you can't reuse the MT7986 compatible? In OpenWrt we are doing exactly that. The MMC controller of MT7988 (and MT7981) seems 100% the same as in MT7986 and hence works just fine with the mediatek,mt7986-mmc compatible.
From: Frank Wunderlich <frank-w@public-files.de> Add MMC-Support for MT798 SoC changes in v2: - corrected minItems to require all 4 clocks Frank Wunderlich (2): dt-bindings: mmc: mtk-sd: Add mt7988 SoC mmc: mtk-sd: add support for mt7988 .../devicetree/bindings/mmc/mtk-sd.yaml | 24 +++++++++++++++++++ drivers/mmc/host/mtk-sd.c | 14 +++++++++++ 2 files changed, 38 insertions(+)