diff mbox

[U-Boot,v2,47/56] rockchip: dts: rk3368: add DMC node in rk3368.dtsi

Message ID 1501065662-52029-48-git-send-email-philipp.tomsich@theobroma-systems.com
State Superseded
Delegated to: Philipp Tomsich
Headers show

Commit Message

Philipp Tomsich July 26, 2017, 10:40 a.m. UTC
For full SPL support, including DRAM initialisation, we need a few
nodes from the DTS: this commit adds the DMC (DRAM controller) node,
the service_msch (memory scheduler) node and marks GRF, PMUGRF and CRU
as 'u-boot,dm-pre-reloc'.  In addition to this, we also include the
dt-binding for the DMC to allow DTS files including this DTSI to refer
to the symbolic constants for the DDR3 bin and for the
memory-schedule.

Note that the DMC contains both the memory regions for the
(Designware) protocol controller as well as the DDR PHY.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>

---

Changes in v2:
- removes a 'u-boot,dm-pre-reloc' from dmc-node in rk3368.dtsi

 arch/arm/dts/rk3368.dtsi | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

Comments

Simon Glass July 28, 2017, 3:39 a.m. UTC | #1
On 26 July 2017 at 04:40, Philipp Tomsich
<philipp.tomsich@theobroma-systems.com> wrote:
> For full SPL support, including DRAM initialisation, we need a few
> nodes from the DTS: this commit adds the DMC (DRAM controller) node,
> the service_msch (memory scheduler) node and marks GRF, PMUGRF and CRU
> as 'u-boot,dm-pre-reloc'.  In addition to this, we also include the
> dt-binding for the DMC to allow DTS files including this DTSI to refer
> to the symbolic constants for the DDR3 bin and for the
> memory-schedule.
>
> Note that the DMC contains both the memory regions for the
> (Designware) protocol controller as well as the DDR PHY.
>
> Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
>
> ---
>
> Changes in v2:
> - removes a 'u-boot,dm-pre-reloc' from dmc-node in rk3368.dtsi
>
>  arch/arm/dts/rk3368.dtsi | 25 +++++++++++++++++++------
>  1 file changed, 19 insertions(+), 6 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>
Andy Yan July 28, 2017, 8:34 a.m. UTC | #2
Hi Philipp:


On 2017年07月26日 18:40, Philipp Tomsich wrote:
> For full SPL support, including DRAM initialisation, we need a few
> nodes from the DTS: this commit adds the DMC (DRAM controller) node,
> the service_msch (memory scheduler) node and marks GRF, PMUGRF and CRU
> as 'u-boot,dm-pre-reloc'.  In addition to this, we also include the
> dt-binding for the DMC to allow DTS files including this DTSI to refer
> to the symbolic constants for the DDR3 bin and for the
> memory-schedule.
>
> Note that the DMC contains both the memory regions for the
> (Designware) protocol controller as well as the DDR PHY.
>
> Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
>
> ---
>
> Changes in v2:
> - removes a 'u-boot,dm-pre-reloc' from dmc-node in rk3368.dtsi
>
>   arch/arm/dts/rk3368.dtsi | 25 +++++++++++++++++++------
>   1 file changed, 19 insertions(+), 6 deletions(-)
>
> diff --git a/arch/arm/dts/rk3368.dtsi b/arch/arm/dts/rk3368.dtsi
> index 9daf765..163d9ee 100644
> --- a/arch/arm/dts/rk3368.dtsi
> +++ b/arch/arm/dts/rk3368.dtsi
> @@ -46,6 +46,7 @@
>   #include <dt-bindings/interrupt-controller/arm-gic.h>
>   #include <dt-bindings/pinctrl/rockchip.h>
>   #include <dt-bindings/thermal/thermal.h>
> +#include <dt-bindings/memory/rk3368-dmc.h>
>   
>   / {
>   	compatible = "rockchip,rk3368";
> @@ -227,6 +228,22 @@
>   		#clock-cells = <0>;
>   	};
>   
> +	dmc: dmc@ff610000 {
> +		compatible = "rockchip,rk3368-dmc", "syscon";
> +		rockchip,cru = <&cru>;
> +		rockchip,grf = <&grf>;
> +		rockchip,msch = <&service_msch>;
> +		reg = <0 0xff610000 0 0x400
> +		       0 0xff620000 0 0x400>;
> +	};
> +
> +	service_msch: syscon@ffac0000 {
> +		u-boot,dm-pre-reloc;
> +		compatible = "rockchip,rk3368-msch", "syscon";
> +		reg = <0x0 0xffac0000 0x0 0x2000>;
> +		status = "okay";
> +	};
> +
>   	sdmmc: dwmmc@ff0c0000 {
>   		compatible = "rockchip,rk3368-dw-mshc", "rockchip,rk3288-dw-mshc";
>   		reg = <0x0 0xff0c0000 0x0 0x4000>;
> @@ -546,12 +563,6 @@
>   		status = "disabled";
>   	};
>   
> -	dmc: dmc@ff610000 {
> -		u-boot,dm-pre-reloc;
> -		compatible = "rockchip,rk3368-dmc", "syscon";
> -		reg = <0x0 0xff610000 0x0 0x1000>;
> -	};
> -
>   	i2c0: i2c@ff650000 {
>   		compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c";
>   		reg = <0x0 0xff650000 0x0 0x1000>;
> @@ -653,6 +664,7 @@
>   	};
>   
>   	cru: clock-controller@ff760000 {
> +		u-boot,dm-pre-reloc;

     Can we move these u-boot specific properties to rk3368-uboot.dtsi, 
and keep the core dts/dtsi files
the same as the upstream kernel. It will make things easier if we want 
sync with the upstream kernel someday.
>   		compatible = "rockchip,rk3368-cru";
>   		reg = <0x0 0xff760000 0x0 0x1000>;
>   		rockchip,grf = <&grf>;
> @@ -661,6 +673,7 @@
>   	};
>   
>   	grf: syscon@ff770000 {
> +		u-boot,dm-pre-reloc;
>   		compatible = "rockchip,rk3368-grf", "syscon";
>   		reg = <0x0 0xff770000 0x0 0x1000>;
>   	};
Philipp Tomsich July 28, 2017, 8:36 a.m. UTC | #3
Andy,

> On 28 Jul 2017, at 10:34, Andy Yan <andy.yan@rock-chips.com> wrote:
> 
> Hi Philipp:
> 
> 
> On 2017年07月26日 18:40, Philipp Tomsich wrote:
>> For full SPL support, including DRAM initialisation, we need a few
>> nodes from the DTS: this commit adds the DMC (DRAM controller) node,
>> the service_msch (memory scheduler) node and marks GRF, PMUGRF and CRU
>> as 'u-boot,dm-pre-reloc'.  In addition to this, we also include the
>> dt-binding for the DMC to allow DTS files including this DTSI to refer
>> to the symbolic constants for the DDR3 bin and for the
>> memory-schedule.
>> 
>> Note that the DMC contains both the memory regions for the
>> (Designware) protocol controller as well as the DDR PHY.
>> 
>> Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
>> 
>> ---
>> 
>> Changes in v2:
>> - removes a 'u-boot,dm-pre-reloc' from dmc-node in rk3368.dtsi
>> 
>>  arch/arm/dts/rk3368.dtsi | 25 +++++++++++++++++++------
>>  1 file changed, 19 insertions(+), 6 deletions(-)
>> 
>> diff --git a/arch/arm/dts/rk3368.dtsi b/arch/arm/dts/rk3368.dtsi
>> index 9daf765..163d9ee 100644
>> --- a/arch/arm/dts/rk3368.dtsi
>> +++ b/arch/arm/dts/rk3368.dtsi
>> @@ -46,6 +46,7 @@
>>  #include <dt-bindings/interrupt-controller/arm-gic.h>
>>  #include <dt-bindings/pinctrl/rockchip.h>
>>  #include <dt-bindings/thermal/thermal.h>
>> +#include <dt-bindings/memory/rk3368-dmc.h>
>>    / {
>>  	compatible = "rockchip,rk3368";
>> @@ -227,6 +228,22 @@
>>  		#clock-cells = <0>;
>>  	};
>>  +	dmc: dmc@ff610000 {
>> +		compatible = "rockchip,rk3368-dmc", "syscon";
>> +		rockchip,cru = <&cru>;
>> +		rockchip,grf = <&grf>;
>> +		rockchip,msch = <&service_msch>;
>> +		reg = <0 0xff610000 0 0x400
>> +		       0 0xff620000 0 0x400>;
>> +	};
>> +
>> +	service_msch: syscon@ffac0000 {
>> +		u-boot,dm-pre-reloc;
>> +		compatible = "rockchip,rk3368-msch", "syscon";
>> +		reg = <0x0 0xffac0000 0x0 0x2000>;
>> +		status = "okay";
>> +	};
>> +
>>  	sdmmc: dwmmc@ff0c0000 {
>>  		compatible = "rockchip,rk3368-dw-mshc", "rockchip,rk3288-dw-mshc";
>>  		reg = <0x0 0xff0c0000 0x0 0x4000>;
>> @@ -546,12 +563,6 @@
>>  		status = "disabled";
>>  	};
>>  -	dmc: dmc@ff610000 {
>> -		u-boot,dm-pre-reloc;
>> -		compatible = "rockchip,rk3368-dmc", "syscon";
>> -		reg = <0x0 0xff610000 0x0 0x1000>;
>> -	};
>> -
>>  	i2c0: i2c@ff650000 {
>>  		compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c";
>>  		reg = <0x0 0xff650000 0x0 0x1000>;
>> @@ -653,6 +664,7 @@
>>  	};
>>    	cru: clock-controller@ff760000 {
>> +		u-boot,dm-pre-reloc;
> 
>    Can we move these u-boot specific properties to rk3368-uboot.dtsi, and keep the core dts/dtsi files
> the same as the upstream kernel. It will make things easier if we want sync with the upstream kernel someday.
>>  		compatible = "rockchip,rk3368-cru";
>>  		reg = <0x0 0xff760000 0x0 0x1000>;
>>  		rockchip,grf = <&grf>;
>> @@ -661,6 +673,7 @@
>>  	};
>>    	grf: syscon@ff770000 {
>> +		u-boot,dm-pre-reloc;
>>  		compatible = "rockchip,rk3368-grf", "syscon";
>>  		reg = <0x0 0xff770000 0x0 0x1000>;
>>  	};

Seems like a missed a couple more of these (as I already started moving these to a
'-u-boot.dtsi’ file.  I’ll try to catch all of these in the next iteration.

Cheers,
Philipp.
diff mbox

Patch

diff --git a/arch/arm/dts/rk3368.dtsi b/arch/arm/dts/rk3368.dtsi
index 9daf765..163d9ee 100644
--- a/arch/arm/dts/rk3368.dtsi
+++ b/arch/arm/dts/rk3368.dtsi
@@ -46,6 +46,7 @@ 
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/pinctrl/rockchip.h>
 #include <dt-bindings/thermal/thermal.h>
+#include <dt-bindings/memory/rk3368-dmc.h>
 
 / {
 	compatible = "rockchip,rk3368";
@@ -227,6 +228,22 @@ 
 		#clock-cells = <0>;
 	};
 
+	dmc: dmc@ff610000 {
+		compatible = "rockchip,rk3368-dmc", "syscon";
+		rockchip,cru = <&cru>;
+		rockchip,grf = <&grf>;
+		rockchip,msch = <&service_msch>;
+		reg = <0 0xff610000 0 0x400
+		       0 0xff620000 0 0x400>;
+	};
+
+	service_msch: syscon@ffac0000 {
+		u-boot,dm-pre-reloc;
+		compatible = "rockchip,rk3368-msch", "syscon";
+		reg = <0x0 0xffac0000 0x0 0x2000>;
+		status = "okay";
+	};
+
 	sdmmc: dwmmc@ff0c0000 {
 		compatible = "rockchip,rk3368-dw-mshc", "rockchip,rk3288-dw-mshc";
 		reg = <0x0 0xff0c0000 0x0 0x4000>;
@@ -546,12 +563,6 @@ 
 		status = "disabled";
 	};
 
-	dmc: dmc@ff610000 {
-		u-boot,dm-pre-reloc;
-		compatible = "rockchip,rk3368-dmc", "syscon";
-		reg = <0x0 0xff610000 0x0 0x1000>;
-	};
-
 	i2c0: i2c@ff650000 {
 		compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c";
 		reg = <0x0 0xff650000 0x0 0x1000>;
@@ -653,6 +664,7 @@ 
 	};
 
 	cru: clock-controller@ff760000 {
+		u-boot,dm-pre-reloc;
 		compatible = "rockchip,rk3368-cru";
 		reg = <0x0 0xff760000 0x0 0x1000>;
 		rockchip,grf = <&grf>;
@@ -661,6 +673,7 @@ 
 	};
 
 	grf: syscon@ff770000 {
+		u-boot,dm-pre-reloc;
 		compatible = "rockchip,rk3368-grf", "syscon";
 		reg = <0x0 0xff770000 0x0 0x1000>;
 	};