diff mbox

[U-Boot] arm: dts: dra7: add qspi register map for control module

Message ID 1485946422-2066-1-git-send-email-jjhiblot@ti.com
State Deferred
Delegated to: Tom Rini
Headers show

Commit Message

Jean-Jacques Hiblot Feb. 1, 2017, 10:53 a.m. UTC
Add qspi control module register maps to device tree. This register map had
been removed by error when syncing the DTS with the latest linux at the
time (commit 7aa1a4087 "ARM: dts: dra7xx: sync DT with latest Linux").
Without this entry the driver do not support memory-mapped access and the
data read from the SF is invalid.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
---
 arch/arm/dts/dra7.dtsi | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

Comments

Tom Rini Feb. 3, 2017, 4:52 p.m. UTC | #1
On Wed, Feb 01, 2017 at 11:53:42AM +0100, Jean-Jacques Hiblot wrote:

> Add qspi control module register maps to device tree. This register map had
> been removed by error when syncing the DTS with the latest linux at the
> time (commit 7aa1a4087 "ARM: dts: dra7xx: sync DT with latest Linux").
> Without this entry the driver do not support memory-mapped access and the
> data read from the SF is invalid.
> 
> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>

Why is this not in the upstream DTS file?
Jean-Jacques Hiblot Feb. 6, 2017, 11:09 a.m. UTC | #2
On 03/02/2017 17:52, Tom Rini wrote:
> On Wed, Feb 01, 2017 at 11:53:42AM +0100, Jean-Jacques Hiblot wrote:
>
>> Add qspi control module register maps to device tree. This register map had
>> been removed by error when syncing the DTS with the latest linux at the
>> time (commit 7aa1a4087 "ARM: dts: dra7xx: sync DT with latest Linux").
>> Without this entry the driver do not support memory-mapped access and the
>> data read from the SF is invalid.
>>
>> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
> Why is this not in the upstream DTS file?
In Linux, a syscon/regmap is  used to map this register while the QSPI 
driver in u-boot uses a direct memory access.
Tom Rini Feb. 6, 2017, 12:47 p.m. UTC | #3
On Mon, Feb 06, 2017 at 12:09:12PM +0100, Jean-Jacques Hiblot wrote:
> 
> 
> On 03/02/2017 17:52, Tom Rini wrote:
> >On Wed, Feb 01, 2017 at 11:53:42AM +0100, Jean-Jacques Hiblot wrote:
> >
> >>Add qspi control module register maps to device tree. This register map had
> >>been removed by error when syncing the DTS with the latest linux at the
> >>time (commit 7aa1a4087 "ARM: dts: dra7xx: sync DT with latest Linux").
> >>Without this entry the driver do not support memory-mapped access and the
> >>data read from the SF is invalid.
> >>
> >>Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
> >Why is this not in the upstream DTS file?
> In Linux, a syscon/regmap is  used to map this register while the
> QSPI driver in u-boot uses a direct memory access.

OK, but it's a valid part of the upstream kernel binding, yes?
Jean-Jacques Hiblot Feb. 6, 2017, 1:27 p.m. UTC | #4
On 06/02/2017 13:47, Tom Rini wrote:
> On Mon, Feb 06, 2017 at 12:09:12PM +0100, Jean-Jacques Hiblot wrote:
>>
>> On 03/02/2017 17:52, Tom Rini wrote:
>>> On Wed, Feb 01, 2017 at 11:53:42AM +0100, Jean-Jacques Hiblot wrote:
>>>
>>>> Add qspi control module register maps to device tree. This register map had
>>>> been removed by error when syncing the DTS with the latest linux at the
>>>> time (commit 7aa1a4087 "ARM: dts: dra7xx: sync DT with latest Linux").
>>>> Without this entry the driver do not support memory-mapped access and the
>>>> data read from the SF is invalid.
>>>>
>>>> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
>>> Why is this not in the upstream DTS file?
>> In Linux, a syscon/regmap is  used to map this register while the
>> QSPI driver in u-boot uses a direct memory access.
> OK, but it's a valid part of the upstream kernel binding, yes?
syscon-chipselects is part of the mainlined binding. Using a 3rd memory 
range used to be the way to do it, but it is not supported anymore (I 
think it has been removed removed in 4.6).
Using a third memory range has been supported in u-boot for some time now.
So you think we should move to using the syscon ?
Tom Rini Feb. 6, 2017, 1:37 p.m. UTC | #5
On Mon, Feb 06, 2017 at 02:27:42PM +0100, Jean-Jacques Hiblot wrote:
> 
> 
> On 06/02/2017 13:47, Tom Rini wrote:
> >On Mon, Feb 06, 2017 at 12:09:12PM +0100, Jean-Jacques Hiblot wrote:
> >>
> >>On 03/02/2017 17:52, Tom Rini wrote:
> >>>On Wed, Feb 01, 2017 at 11:53:42AM +0100, Jean-Jacques Hiblot wrote:
> >>>
> >>>>Add qspi control module register maps to device tree. This register map had
> >>>>been removed by error when syncing the DTS with the latest linux at the
> >>>>time (commit 7aa1a4087 "ARM: dts: dra7xx: sync DT with latest Linux").
> >>>>Without this entry the driver do not support memory-mapped access and the
> >>>>data read from the SF is invalid.
> >>>>
> >>>>Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
> >>>Why is this not in the upstream DTS file?
> >>In Linux, a syscon/regmap is  used to map this register while the
> >>QSPI driver in u-boot uses a direct memory access.
> >OK, but it's a valid part of the upstream kernel binding, yes?
> syscon-chipselects is part of the mainlined binding. Using a 3rd
> memory range used to be the way to do it, but it is not supported
> anymore (I think it has been removed removed in 4.6).
> Using a third memory range has been supported in u-boot for some time now.
> So you think we should move to using the syscon ?

Based on what I see in v4.10-rc7, yes, we should adapt the driver to
know about the new property and things are working as expected wrt DT
compatibility.
Jean-Jacques Hiblot Feb. 7, 2017, 2:43 p.m. UTC | #6
On 06/02/2017 14:37, Tom Rini wrote:
> On Mon, Feb 06, 2017 at 02:27:42PM +0100, Jean-Jacques Hiblot wrote:
>>
>> On 06/02/2017 13:47, Tom Rini wrote:
>>> On Mon, Feb 06, 2017 at 12:09:12PM +0100, Jean-Jacques Hiblot wrote:
>>>> On 03/02/2017 17:52, Tom Rini wrote:
>>>>> On Wed, Feb 01, 2017 at 11:53:42AM +0100, Jean-Jacques Hiblot wrote:
>>>>>
>>>>>> Add qspi control module register maps to device tree. This register map had
>>>>>> been removed by error when syncing the DTS with the latest linux at the
>>>>>> time (commit 7aa1a4087 "ARM: dts: dra7xx: sync DT with latest Linux").
>>>>>> Without this entry the driver do not support memory-mapped access and the
>>>>>> data read from the SF is invalid.
>>>>>>
>>>>>> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
>>>>> Why is this not in the upstream DTS file?
>>>> In Linux, a syscon/regmap is  used to map this register while the
>>>> QSPI driver in u-boot uses a direct memory access.
>>> OK, but it's a valid part of the upstream kernel binding, yes?
>> syscon-chipselects is part of the mainlined binding. Using a 3rd
>> memory range used to be the way to do it, but it is not supported
>> anymore (I think it has been removed removed in 4.6).
>> Using a third memory range has been supported in u-boot for some time now.
>> So you think we should move to using the syscon ?
> Based on what I see in v4.10-rc7, yes, we should adapt the driver to
> know about the new property and things are working as expected wrt DT
> compatibility.
Ok. I have prepared a new series to do this
>
diff mbox

Patch

diff --git a/arch/arm/dts/dra7.dtsi b/arch/arm/dts/dra7.dtsi
index 5570e30..46febc5 100644
--- a/arch/arm/dts/dra7.dtsi
+++ b/arch/arm/dts/dra7.dtsi
@@ -1302,9 +1302,10 @@ 
 		qspi: qspi@4b300000 {
 			compatible = "ti,dra7xxx-qspi";
 			reg = <0x4b300000 0x100>,
-			      <0x5c000000 0x4000000>;
-			reg-names = "qspi_base", "qspi_mmap";
-			syscon-chipselects = <&scm_conf 0x558>;
+			      <0x5c000000 0x4000000>,
+			      <0x4a002558 0x4>;
+			reg-names = "qspi_base", "qspi_mmap",
+				    "qspi_ctrlmod";
 			#address-cells = <1>;
 			#size-cells = <0>;
 			ti,hwmods = "qspi";