diff mbox

ARM: tegra: Correct the length of AHB register space

Message ID 1383802327-11908-1-git-send-email-markz@nvidia.com
State Rejected, archived
Headers show

Commit Message

Mark Zhang Nov. 7, 2013, 5:32 a.m. UTC
On Tegra114 it should be 0x12c.

Signed-off-by: Mark Zhang <markz@nvidia.com>
---
 arch/arm/boot/dts/tegra114.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Stephen Warren Nov. 12, 2013, 7:05 p.m. UTC | #1
On 11/06/2013 10:32 PM, Mark Zhang wrote:
> On Tegra114 it should be 0x12c.

> diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi

>  	ahb: ahb {
>  		compatible = "nvidia,tegra114-ahb", "nvidia,tegra30-ahb";
> -		reg = <0x6000c004 0x14c>;
> +		reg = <0x6000c004 0x12c>;
>  	};

I don't think this is correct.

0x12c /is/ the address of the last defined register that exists.
However, the system memory map table in the TRM indicates that 336 bytes
of address space are allocated for this module, so the value should be
0x150 (minus 4 due to the base address offset of 4, so 0x14c) for all of
Tegra30/114/124. That matches what's already in DT.

For Tegra20, the TRM says that 268 bytes of address space are allocated
(which already takes account of the 4-byte base address offset) yielding
a size of 0x10c, which matches what's already in the DT.
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Mark Zhang Nov. 13, 2013, 1:12 a.m. UTC | #2
On 11/13/2013 03:05 AM, Stephen Warren wrote:
> On 11/06/2013 10:32 PM, Mark Zhang wrote:
>> On Tegra114 it should be 0x12c.
> 
>> diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
> 
>>  	ahb: ahb {
>>  		compatible = "nvidia,tegra114-ahb", "nvidia,tegra30-ahb";
>> -		reg = <0x6000c004 0x14c>;
>> +		reg = <0x6000c004 0x12c>;
>>  	};
> 
> I don't think this is correct.
> 
> 0x12c /is/ the address of the last defined register that exists.
> However, the system memory map table in the TRM indicates that 336 bytes
> of address space are allocated for this module, so the value should be
> 0x150 (minus 4 due to the base address offset of 4, so 0x14c) for all of
> Tegra30/114/124. That matches what's already in DT.
> 

Yeah, but the 0x12c - 0x14c is not defined in TRM, despite the address
space in memory map is 336 bytes. So if you add this section into
register map, that implies writing into this section is OK but this is
undefined behaviour.

Mark
> For Tegra20, the TRM says that 268 bytes of address space are allocated
> (which already takes account of the 4-byte base address offset) yielding
> a size of 0x10c, which matches what's already in the DT.
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stephen Warren Nov. 13, 2013, 3:15 a.m. UTC | #3
On 11/12/2013 06:12 PM, Mark Zhang wrote:
> On 11/13/2013 03:05 AM, Stephen Warren wrote:
>> On 11/06/2013 10:32 PM, Mark Zhang wrote:
>>> On Tegra114 it should be 0x12c.
>>
>>> diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
>>
>>>  	ahb: ahb {
>>>  		compatible = "nvidia,tegra114-ahb", "nvidia,tegra30-ahb";
>>> -		reg = <0x6000c004 0x14c>;
>>> +		reg = <0x6000c004 0x12c>;
>>>  	};
>>
>> I don't think this is correct.
>>
>> 0x12c /is/ the address of the last defined register that exists.
>> However, the system memory map table in the TRM indicates that 336 bytes
>> of address space are allocated for this module, so the value should be
>> 0x150 (minus 4 due to the base address offset of 4, so 0x14c) for all of
>> Tegra30/114/124. That matches what's already in DT.
>>
> 
> Yeah, but the 0x12c - 0x14c is not defined in TRM, despite the address
> space in memory map is 336 bytes. So if you add this section into
> register map, that implies writing into this section is OK but this is
> undefined behaviour.

I'm sure there are plenty of undefined register addresses in all the HW
modules in Tegra.

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Mark Zhang Nov. 13, 2013, 5:14 a.m. UTC | #4
On 11/13/2013 11:15 AM, Stephen Warren wrote:
> On 11/12/2013 06:12 PM, Mark Zhang wrote:
>> On 11/13/2013 03:05 AM, Stephen Warren wrote:
>>> On 11/06/2013 10:32 PM, Mark Zhang wrote:
>>>> On Tegra114 it should be 0x12c.
>>>
>>>> diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
>>>
>>>>  	ahb: ahb {
>>>>  		compatible = "nvidia,tegra114-ahb", "nvidia,tegra30-ahb";
>>>> -		reg = <0x6000c004 0x14c>;
>>>> +		reg = <0x6000c004 0x12c>;
>>>>  	};
>>>
>>> I don't think this is correct.
>>>
>>> 0x12c /is/ the address of the last defined register that exists.
>>> However, the system memory map table in the TRM indicates that 336 bytes
>>> of address space are allocated for this module, so the value should be
>>> 0x150 (minus 4 due to the base address offset of 4, so 0x14c) for all of
>>> Tegra30/114/124. That matches what's already in DT.
>>>
>>
>> Yeah, but the 0x12c - 0x14c is not defined in TRM, despite the address
>> space in memory map is 336 bytes. So if you add this section into
>> register map, that implies writing into this section is OK but this is
>> undefined behaviour.
> 
> I'm sure there are plenty of undefined register addresses in all the HW
> modules in Tegra.
> 

Okay, if so I'm OK with that.

Mark

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
index c79b1813c559..63ae6b3a64eb 100644
--- a/arch/arm/boot/dts/tegra114.dtsi
+++ b/arch/arm/boot/dts/tegra114.dtsi
@@ -85,7 +85,7 @@ 
 
 	ahb: ahb {
 		compatible = "nvidia,tegra114-ahb", "nvidia,tegra30-ahb";
-		reg = <0x6000c004 0x14c>;
+		reg = <0x6000c004 0x12c>;
 	};
 
 	gpio: gpio {