2020-04-16 20:43:42

by Johan Jonker

[permalink] [raw]
Subject: [PATCH 1/3] arm64: dts: rockchip: add bus-width properties to mmc nodes for rk3328.dtsi

'bus-width' and pinctrl containing the bus-pins
should be in the same file, so add them to
all mmc nodes in 'rk3328.dtsi'.

Signed-off-by: Johan Jonker <[email protected]>
---
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 3 +++
1 file changed, 3 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index 175060695..db2c3085e 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -861,6 +861,7 @@
clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
<&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
+ bus-width = <4>;
fifo-depth = <0x100>;
max-frequency = <150000000>;
status = "disabled";
@@ -873,6 +874,7 @@
clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
<&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
+ bus-width = <4>;
fifo-depth = <0x100>;
max-frequency = <150000000>;
status = "disabled";
@@ -885,6 +887,7 @@
clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
<&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
+ bus-width = <8>;
fifo-depth = <0x100>;
max-frequency = <150000000>;
status = "disabled";
--
2.11.0


2020-04-16 20:43:44

by Johan Jonker

[permalink] [raw]
Subject: [PATCH 2/3] arm64: dts: rockchip: add bus-width properties to mmc nodes for rk3368.dtsi

'bus-width' and pinctrl containing the bus-pins
should be in the same file, so add them to
all mmc nodes in 'rk3368.dtsi'.

Signed-off-by: Johan Jonker <[email protected]>
---
arch/arm64/boot/dts/rockchip/rk3368.dtsi | 3 +++
1 file changed, 3 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3368.dtsi b/arch/arm64/boot/dts/rockchip/rk3368.dtsi
index f22475016..0678c2e5c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3368.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3368.dtsi
@@ -210,6 +210,7 @@
clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
<&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
+ bus-width = <4>;
fifo-depth = <0x100>;
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
resets = <&cru SRST_MMC0>;
@@ -224,6 +225,7 @@
clocks = <&cru HCLK_SDIO0>, <&cru SCLK_SDIO0>,
<&cru SCLK_SDIO0_DRV>, <&cru SCLK_SDIO0_SAMPLE>;
clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
+ bus-width = <4>;
fifo-depth = <0x100>;
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
resets = <&cru SRST_SDIO0>;
@@ -238,6 +240,7 @@
clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
<&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
+ bus-width = <8>;
fifo-depth = <0x100>;
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
resets = <&cru SRST_EMMC>;
--
2.11.0

2020-04-16 20:44:45

by Johan Jonker

[permalink] [raw]
Subject: [PATCH 3/3] arm64: dts: rockchip: add bus-width properties to mmc nodes for rk3399.dtsi

'bus-width' and pinctrl containing the bus-pins
should be in the same file, so add them to
all mmc nodes in 'rk3399.dtsi'.

Signed-off-by: Johan Jonker <[email protected]>
---
arch/arm64/boot/dts/rockchip/rk3399.dtsi | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index 123b7402a..9cf22e648 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -299,6 +299,7 @@
clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
<&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
+ bus-width = <4>;
fifo-depth = <0x100>;
power-domains = <&power RK3399_PD_SDIOAUDIO>;
resets = <&cru SRST_SDIO0>;
@@ -317,6 +318,7 @@
clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
<&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
+ bus-width = <4>;
fifo-depth = <0x100>;
power-domains = <&power RK3399_PD_SD>;
resets = <&cru SRST_SDMMC>;
--
2.11.0

2020-04-21 03:52:32

by Chen-Yu Tsai

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: rockchip: add bus-width properties to mmc nodes for rk3328.dtsi

On Fri, Apr 17, 2020 at 2:19 AM Johan Jonker <[email protected]> wrote:
>
> 'bus-width' and pinctrl containing the bus-pins
> should be in the same file, so add them to
> all mmc nodes in 'rk3328.dtsi'.

Nope. First of all, pinctrl usage is with pinctrl-N properties, not the
pinctrl device, and there are no defaults set for any of the mmc nodes.
Second, these are board design specific. For example, boards are free to
use just 4 bits for the eMMC if they so desire. So this should be in each
board dts file. If a board is missing this property, fix the board.

This applies to all three patches in the series.

ChenYu

> Signed-off-by: Johan Jonker <[email protected]>
> ---
> arch/arm64/boot/dts/rockchip/rk3328.dtsi | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> index 175060695..db2c3085e 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> @@ -861,6 +861,7 @@
> clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
> <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
> clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
> + bus-width = <4>;
> fifo-depth = <0x100>;
> max-frequency = <150000000>;
> status = "disabled";
> @@ -873,6 +874,7 @@
> clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
> <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
> clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
> + bus-width = <4>;
> fifo-depth = <0x100>;
> max-frequency = <150000000>;
> status = "disabled";
> @@ -885,6 +887,7 @@
> clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
> <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
> clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
> + bus-width = <8>;
> fifo-depth = <0x100>;
> max-frequency = <150000000>;
> status = "disabled";
> --
> 2.11.0
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

2020-04-21 08:27:53

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: rockchip: add bus-width properties to mmc nodes for rk3328.dtsi

Hi ChenYu,

Am Dienstag, 21. April 2020, 05:48:52 CEST schrieb Chen-Yu Tsai:
> On Fri, Apr 17, 2020 at 2:19 AM Johan Jonker <[email protected]> wrote:
> >
> > 'bus-width' and pinctrl containing the bus-pins
> > should be in the same file, so add them to
> > all mmc nodes in 'rk3328.dtsi'.
>
> Nope. First of all, pinctrl usage is with pinctrl-N properties, not the
> pinctrl device, and there are no defaults set for any of the mmc nodes.
> Second, these are board design specific. For example, boards are free to
> use just 4 bits for the eMMC if they so desire. So this should be in each
> board dts file. If a board is missing this property, fix the board.

you are correct that the pinctrl entries are missing from the patches,
bus-width and pinctrl should be defined in the same file each time,
but for the whole idea I tend to disagree.

So far every board with a Rockchip socs follows Rockchip's reference design
for a lot of parts - for example I only see sdmmc nodes with bus-width=4
etc.

So the basic idea is to have default pinctrl settings for the settings
everybody uses predefined ... if a board comes along that needs different
settings it is free to redefine that.


Heiko


>
> This applies to all three patches in the series.
>
> ChenYu
>
> > Signed-off-by: Johan Jonker <[email protected]>
> > ---
> > arch/arm64/boot/dts/rockchip/rk3328.dtsi | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> > index 175060695..db2c3085e 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> > +++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
> > @@ -861,6 +861,7 @@
> > clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
> > <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
> > clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
> > + bus-width = <4>;
> > fifo-depth = <0x100>;
> > max-frequency = <150000000>;
> > status = "disabled";
> > @@ -873,6 +874,7 @@
> > clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
> > <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
> > clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
> > + bus-width = <4>;
> > fifo-depth = <0x100>;
> > max-frequency = <150000000>;
> > status = "disabled";
> > @@ -885,6 +887,7 @@
> > clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
> > <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
> > clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
> > + bus-width = <8>;
> > fifo-depth = <0x100>;
> > max-frequency = <150000000>;
> > status = "disabled";
> > --
> > 2.11.0
> >
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > [email protected]
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>




2020-04-21 08:34:00

by Chen-Yu Tsai

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: rockchip: add bus-width properties to mmc nodes for rk3328.dtsi

On Tue, Apr 21, 2020 at 4:23 PM Heiko Stübner <[email protected]> wrote:
>
> Hi ChenYu,
>
> Am Dienstag, 21. April 2020, 05:48:52 CEST schrieb Chen-Yu Tsai:
> > On Fri, Apr 17, 2020 at 2:19 AM Johan Jonker <[email protected]> wrote:
> > >
> > > 'bus-width' and pinctrl containing the bus-pins
> > > should be in the same file, so add them to
> > > all mmc nodes in 'rk3328.dtsi'.
> >
> > Nope. First of all, pinctrl usage is with pinctrl-N properties, not the
> > pinctrl device, and there are no defaults set for any of the mmc nodes.
> > Second, these are board design specific. For example, boards are free to
> > use just 4 bits for the eMMC if they so desire. So this should be in each
> > board dts file. If a board is missing this property, fix the board.
>
> you are correct that the pinctrl entries are missing from the patches,
> bus-width and pinctrl should be defined in the same file each time,
> but for the whole idea I tend to disagree.
>
> So far every board with a Rockchip socs follows Rockchip's reference design
> for a lot of parts - for example I only see sdmmc nodes with bus-width=4
> etc.
>
> So the basic idea is to have default pinctrl settings for the settings
> everybody uses predefined ... if a board comes along that needs different
> settings it is free to redefine that.

I think having a default is a great idea. :)

ChenYu

2020-04-21 08:39:26

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH 1/3] arm64: dts: rockchip: add bus-width properties to mmc nodes for rk3328.dtsi

Am Dienstag, 21. April 2020, 10:29:49 CEST schrieb Chen-Yu Tsai:
> On Tue, Apr 21, 2020 at 4:23 PM Heiko St?bner <[email protected]> wrote:
> >
> > Hi ChenYu,
> >
> > Am Dienstag, 21. April 2020, 05:48:52 CEST schrieb Chen-Yu Tsai:
> > > On Fri, Apr 17, 2020 at 2:19 AM Johan Jonker <[email protected]> wrote:
> > > >
> > > > 'bus-width' and pinctrl containing the bus-pins
> > > > should be in the same file, so add them to
> > > > all mmc nodes in 'rk3328.dtsi'.
> > >
> > > Nope. First of all, pinctrl usage is with pinctrl-N properties, not the
> > > pinctrl device, and there are no defaults set for any of the mmc nodes.
> > > Second, these are board design specific. For example, boards are free to
> > > use just 4 bits for the eMMC if they so desire. So this should be in each
> > > board dts file. If a board is missing this property, fix the board.
> >
> > you are correct that the pinctrl entries are missing from the patches,
> > bus-width and pinctrl should be defined in the same file each time,
> > but for the whole idea I tend to disagree.
> >
> > So far every board with a Rockchip socs follows Rockchip's reference design
> > for a lot of parts - for example I only see sdmmc nodes with bus-width=4
> > etc.
> >
> > So the basic idea is to have default pinctrl settings for the settings
> > everybody uses predefined ... if a board comes along that needs different
> > settings it is free to redefine that.
>
> I think having a default is a great idea. :)

especially for controllers that only ever use the same settings anyway.