Freescale MMDC (Multi Mode DDR Controller) driver is supported
since i.MX6Q, but not yet documented, this patch adds binding
doc for MMDC module driver.
Signed-off-by: Anson Huang <[email protected]>
---
Changes since V1:
- use "memory-controller" as MMDC node name and update examples.
---
.../bindings/memory-controllers/fsl/mmdc.txt | 31 ++++++++++++++++++++++
1 file changed, 31 insertions(+)
create mode 100644 Documentation/devicetree/bindings/memory-controllers/fsl/mmdc.txt
diff --git a/Documentation/devicetree/bindings/memory-controllers/fsl/mmdc.txt b/Documentation/devicetree/bindings/memory-controllers/fsl/mmdc.txt
new file mode 100644
index 0000000..5750274
--- /dev/null
+++ b/Documentation/devicetree/bindings/memory-controllers/fsl/mmdc.txt
@@ -0,0 +1,31 @@
+Freescale Multi Mode DDR controller (MMDC)
+
+Required properties :
+- compatible : should be one of following:
+ for i.MX6Q/i.MX6DL:
+ - "fsl,imx6q-mmdc";
+ for i.MX6SL:
+ - "fsl,imx6sl-mmdc", "fsl,imx6q-mmdc";
+ for i.MX6SLL:
+ - "fsl,imx6sll-mmdc", "fsl,imx6q-mmdc";
+ for i.MX6SX:
+ - "fsl,imx6sx-mmdc", "fsl,imx6q-mmdc";
+ for i.MX6UL/i.MX6ULL/i.MX6ULZ:
+ - "fsl,imx6ul-mmdc", "fsl,imx6q-mmdc";
+ for i.MX7ULP:
+ - "fsl,imx7ulp-mmdc", "fsl,imx6q-mmdc";
+- reg : address and size of MMDC DDR controller registers
+
+Optional properties :
+- clocks : the clock provided by the SoC to access the MMDC registers
+
+Example :
+ mmdc0: memory-controller@21b0000 { /* MMDC0 */
+ compatible = "fsl,imx6q-mmdc";
+ reg = <0x021b0000 0x4000>;
+ clocks = <&clks IMX6QDL_CLK_MMDC_P0_IPG>;
+ };
+
+ mmdc1: memory-controller@21b4000 { /* MMDC1 */
+ reg = <0x021b4000 0x4000>;
+ };
--
2.7.4
i.MX7ULP has a MMDC module to control DDR, it reuses
i.MX6Q's MMDC module, add support for it.
Signed-off-by: Anson Huang <[email protected]>
---
Changes since V1:
- use "memory-controller" as MMDC node name to make it more generic.
---
arch/arm/boot/dts/imx7ulp.dtsi | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm/boot/dts/imx7ulp.dtsi b/arch/arm/boot/dts/imx7ulp.dtsi
index fca6e50..78f6117 100644
--- a/arch/arm/boot/dts/imx7ulp.dtsi
+++ b/arch/arm/boot/dts/imx7ulp.dtsi
@@ -286,6 +286,12 @@
status = "disabled";
};
+ mmdc: memory-controller@40ab0000 {
+ compatible = "fsl,imx7ulp-mmdc", "fsl,imx6q-mmdc";
+ reg = <0x40ab0000 0x1000>;
+ clocks = <&pcc3 IMX7ULP_CLK_MMDC>;
+ };
+
iomuxc1: pinctrl@40ac0000 {
compatible = "fsl,imx7ulp-iomuxc1";
reg = <0x40ac0000 0x1000>;
--
2.7.4
Node name should be generic, so use "memory-controller"
instead of "mmdc" for MMDC node name.
Signed-off-by: Anson Huang <[email protected]>
---
arch/arm/boot/dts/imx6qdl.dtsi | 4 ++--
arch/arm/boot/dts/imx6sl.dtsi | 2 +-
arch/arm/boot/dts/imx6sx.dtsi | 2 +-
arch/arm/boot/dts/imx6ul.dtsi | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
index fe17a34..4c7278b 100644
--- a/arch/arm/boot/dts/imx6qdl.dtsi
+++ b/arch/arm/boot/dts/imx6qdl.dtsi
@@ -1129,13 +1129,13 @@
reg = <0x021ac000 0x4000>;
};
- mmdc0: mmdc@21b0000 { /* MMDC0 */
+ mmdc0: memory-controller@21b0000 { /* MMDC0 */
compatible = "fsl,imx6q-mmdc";
reg = <0x021b0000 0x4000>;
clocks = <&clks IMX6QDL_CLK_MMDC_P0_IPG>;
};
- mmdc1: mmdc@21b4000 { /* MMDC1 */
+ mmdc1: memory-controller@21b4000 { /* MMDC1 */
reg = <0x021b4000 0x4000>;
};
diff --git a/arch/arm/boot/dts/imx6sl.dtsi b/arch/arm/boot/dts/imx6sl.dtsi
index 4b4813f..ac57b42 100644
--- a/arch/arm/boot/dts/imx6sl.dtsi
+++ b/arch/arm/boot/dts/imx6sl.dtsi
@@ -922,7 +922,7 @@
status = "disabled";
};
- mmdc: mmdc@21b0000 {
+ mmdc: memory-controller@21b0000 {
compatible = "fsl,imx6sl-mmdc", "fsl,imx6q-mmdc";
reg = <0x021b0000 0x4000>;
clocks = <&clks IMX6SL_CLK_MMDC_P0_IPG>;
diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi
index 5b16e65..3de0f3a 100644
--- a/arch/arm/boot/dts/imx6sx.dtsi
+++ b/arch/arm/boot/dts/imx6sx.dtsi
@@ -1017,7 +1017,7 @@
status = "disabled";
};
- mmdc: mmdc@21b0000 {
+ mmdc: memory-controller@21b0000 {
compatible = "fsl,imx6sx-mmdc", "fsl,imx6q-mmdc";
reg = <0x021b0000 0x4000>;
clocks = <&clks IMX6SX_CLK_MMDC_P0_IPG>;
diff --git a/arch/arm/boot/dts/imx6ul.dtsi b/arch/arm/boot/dts/imx6ul.dtsi
index 62ed30c..8f17a09 100644
--- a/arch/arm/boot/dts/imx6ul.dtsi
+++ b/arch/arm/boot/dts/imx6ul.dtsi
@@ -914,7 +914,7 @@
status = "disabled";
};
- mmdc: mmdc@21b0000 {
+ mmdc: memory-controller@21b0000 {
compatible = "fsl,imx6ul-mmdc", "fsl,imx6q-mmdc";
reg = <0x021b0000 0x4000>;
clocks = <&clks IMX6UL_CLK_MMDC_P0_IPG>;
--
2.7.4
Hi Anson,
On Wed, Feb 27, 2019 at 10:23 PM Anson Huang <[email protected]> wrote:
>
> i.MX7ULP has a MMDC module to control DDR, it reuses
> i.MX6Q's MMDC module, add support for it.
>
> Signed-off-by: Anson Huang <[email protected]>
> ---
> Changes since V1:
> - use "memory-controller" as MMDC node name to make it more generic.
> ---
> arch/arm/boot/dts/imx7ulp.dtsi | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx7ulp.dtsi b/arch/arm/boot/dts/imx7ulp.dtsi
> index fca6e50..78f6117 100644
> --- a/arch/arm/boot/dts/imx7ulp.dtsi
> +++ b/arch/arm/boot/dts/imx7ulp.dtsi
> @@ -286,6 +286,12 @@
> status = "disabled";
> };
>
> + mmdc: memory-controller@40ab0000 {
It seems that the 'mmdc' label is not neeed.
You could make it simpler as:
memory-controller@40ab0000 {
Hi, Fabio
Best Regards!
Anson Huang
> -----Original Message-----
> From: Fabio Estevam [mailto:[email protected]]
> Sent: 2019年2月28日 9:32
> To: Anson Huang <[email protected]>
> Cc: [email protected]; [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; linux-arm-
> [email protected]; dl-linux-imx <[email protected]>
> Subject: Re: [PATCH V2 2/3] ARM: dts: imx7ulp: add mmdc support
>
> Hi Anson,
>
> On Wed, Feb 27, 2019 at 10:23 PM Anson Huang <[email protected]>
> wrote:
> >
> > i.MX7ULP has a MMDC module to control DDR, it reuses i.MX6Q's MMDC
> > module, add support for it.
> >
> > Signed-off-by: Anson Huang <[email protected]>
> > ---
> > Changes since V1:
> > - use "memory-controller" as MMDC node name to make it more
> generic.
> > ---
> > arch/arm/boot/dts/imx7ulp.dtsi | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/arch/arm/boot/dts/imx7ulp.dtsi
> > b/arch/arm/boot/dts/imx7ulp.dtsi index fca6e50..78f6117 100644
> > --- a/arch/arm/boot/dts/imx7ulp.dtsi
> > +++ b/arch/arm/boot/dts/imx7ulp.dtsi
> > @@ -286,6 +286,12 @@
> > status = "disabled";
> > };
> >
> > + mmdc: memory-controller@40ab0000 {
>
> It seems that the 'mmdc' label is not neeed.
>
> You could make it simpler as:
>
> memory-controller@40ab0000 {
If so, should I change other i.MX6 SoCs with single MMDC node as well?
Remove them as well?
Anson.
Hi Anson,
On Wed, Feb 27, 2019 at 10:54 PM Anson Huang <[email protected]> wrote:
> If so, should I change other i.MX6 SoCs with single MMDC node as well?
> Remove them as well?
Only imx6qp needs the mmdc label.
I can send a patch removing it from the other i.MX SoCs, so don't need
to worry about it in your series.
Thanks
Hi, Fabio
Best Regards!
Anson Huang
> -----Original Message-----
> From: Fabio Estevam [mailto:[email protected]]
> Sent: 2019年2月28日 9:57
> To: Anson Huang <[email protected]>
> Cc: [email protected]; [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; linux-arm-
> [email protected]; dl-linux-imx <[email protected]>
> Subject: Re: [PATCH V2 2/3] ARM: dts: imx7ulp: add mmdc support
>
> Hi Anson,
>
> On Wed, Feb 27, 2019 at 10:54 PM Anson Huang <[email protected]>
> wrote:
>
> > If so, should I change other i.MX6 SoCs with single MMDC node as well?
> > Remove them as well?
>
> Only imx6qp needs the mmdc label.
>
> I can send a patch removing it from the other i.MX SoCs, so don't need to
> worry about it in your series.
Oops, I already sent out V3 patch series including all i.MX SoC MMDC label removed before
seeing your mail, so you can remove it from your TODO list, please help review it, thanks!
Anson.
>
> Thanks