dm: core: Kconfig: set OF_TRANSLATE default value to n
PATCH 1/1 dm: core: Kconfig: set OF_TRANSLATE default value to n
Based on the OF_TRANSLATE Kconfig description, this is required only on platforms with complex "ranges" in the DT nodes. For simpler platforms using SIMPLE_BUS should be sufficient. Since this a set to default y, simple bus is never used in any platform. So make the default value as "n" and enable OF_TRANSLATE only on required platform.
---
Tested this patch on TI DRA72 platform.
--- drivers/core/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/core/Kconfig +1 -1
@@ -123,7 +123,7 @@ config SPL_SIMPLE_BUS config OF_TRANSLATE bool "Translate addresses using fdt_translate_address" depends on DM && OF_CONTROL - default y + default n help If this option is enabled, the reg property will be translated using the fdt_translate_address() function. This is necessary
Signature · 1 line
2.6.2.280.g74301d6
PATCH 1/1 dm: core: Kconfig: set OF_TRANSLATE default value to n
+Stefan
Hi Mugunthan,
Quoted 6 lines · Mugunthan V N
Based on the
OF_TRANSLATEKconfigdescription, this is required only on platforms with complex "ranges" in the DT nodes. For simpler platforms usingSIMPLE_BUSshould be sufficient. Since this a set to default y, simple bus is never used in any platform. So make the default value as "n" and enableOF_TRANSLATEonly on required platform.
How do you know it is not used? This is surprising because Stefan presumably added it to fix something.
Quoted 24 lines
Signed-off-by Mugunthan V N <[email protected]>---
Tested this patch on TI DRA72 platform.
--- drivers/core/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/core/Kconfig +1
-2@@ -123,7 +123,7 @@ config SPL_SIMPLE_BUS config OF_TRANSLATE bool "Translate addresses using fdt_translate_address" depends on DM && OF_CONTROL - default y + default n help If this option is enabled, the reg property will be translated using the fdt_translate_address() function. This is necessary --
Quoted 2 lines
2.6.2.280.g74301d6
Regards,
Simon
PATCH 1/1 dm: core: Kconfig: set OF_TRANSLATE default value to n
+Stephan Warren & Thomas Chou
Quoted 12 lines · Simon Glass
+Stefan
Hi Mugunthan,
Quoted 6 lines · Mugunthan V N
Based on the
OF_TRANSLATEKconfigdescription, this is required only on platforms with complex "ranges" in the DT nodes. For simpler platforms usingSIMPLE_BUSshould be sufficient. Since this a set to default y, simple bus is never used in any platform. So make the default value as "n" and enableOF_TRANSLATEonly on required platform.
Quoted 2 lines
How do you know it is not used? This is surprising because Stefan presumably added it to fix something.
I assume Mugunthan meant, that simple bus is never used. This is not quite correct, as its at least used per default in the SPL (because of size reasons).
And yes, this translation via fdt_translate_address() is needed. At least for some platforms, like mvebu & nios2 (IIRC). Stephen also made some quite striking comments about this a few weeks ago. And I really think that we should make use of this function per default. Platforms that know for sure that they don't need this functionality can always disable it selectively.
Mugunthan, why do you want to disable this functionality? Does it cause problems on your platform? If yes, which ones?
Thanks,
Stefan
PATCH 1/1 dm: core: Kconfig: set OF_TRANSLATE default value to n
Quoted 29 lines · Stefan Roese
+Stephan Warren & Thomas Chou
Quoted 12 lines · Simon Glass
+Stefan
Hi Mugunthan,
Quoted 6 lines · Mugunthan V N
Based on the
OF_TRANSLATEKconfigdescription, this is required only on platforms with complex "ranges" in the DT nodes. For simpler platforms usingSIMPLE_BUSshould be sufficient. Since this a set to default y, simple bus is never used in any platform. So make the default value as "n" and enableOF_TRANSLATEonly on required platform.Quoted 2 lines
How do you know it is not used? This is surprising because Stefan presumably added it to fix something.
I assume Mugunthan meant, that simple bus is never used. This is not quite correct, as its at least used per default in the SPL (because of size reasons).
And yes, this translation via
fdt_translate_address()is needed. At least for some platforms, like mvebu & nios2 (IIRC). Stephen also made some quite striking comments about this a few weeks ago. And I really think that we should make use of this function per default. Platforms that know for sure that they don't need this functionality can always disable it selectively.
Quoted 2 lines
Mugunthan, why do you want to disable this functionality? Does it cause problems on your platform? If yes, which ones?
Processing of ranges is a fundamental part of handling DT in general. It should be enabled by default. If there are well-researched cases where
(a) including the code is problematic (e.g. due to code size restrictions) and (b) someone is watching the DTs processed on those platforms like a hawk to ensure no ranges properties are introduced into the DT, *then* we could make a special-case exception to disable the feature in those specific cases. As such, I think enable-by-default, disable-when-chosen is the appropriate default.
PATCH 1/1 dm: core: Kconfig: set OF_TRANSLATE default value to n
Quoted 33 lines · Stephen Warren
Quoted 29 lines · Stefan Roese
+Stephan Warren & Thomas Chou
Quoted 12 lines · Simon Glass
+Stefan
Hi Mugunthan,
Quoted 6 lines · Mugunthan V N
Based on the
OF_TRANSLATEKconfigdescription, this is required only on platforms with complex "ranges" in the DT nodes. For simpler platforms usingSIMPLE_BUSshould be sufficient. Since this a set to default y, simple bus is never used in any platform. So make the default value as "n" and enableOF_TRANSLATEonly on required platform.Quoted 2 lines
How do you know it is not used? This is surprising because Stefan presumably added it to fix something.
I assume Mugunthan meant, that simple bus is never used. This is not quite correct, as its at least used per default in the SPL (because of size reasons).
And yes, this translation via
fdt_translate_address()is needed. At least for some platforms, like mvebu & nios2 (IIRC). Stephen also made some quite striking comments about this a few weeks ago. And I really think that we should make use of this function per default. Platforms that know for sure that they don't need this functionality can always disable it selectively.Quoted 2 lines
Mugunthan, why do you want to disable this functionality? Does it cause problems on your platform? If yes, which ones?
Quoted 8 lines
Processing of ranges is a fundamental part of handling DT in general. It should be enabled by default. If there are well-researched cases where
(a) including the code is problematic (e.g. due to code size restrictions) and (b) someone is watching the DTs processed on those platforms like a hawk to ensure no ranges properties are introduced into the DT, *then* we could make a special-case exception to disable the feature in those specific cases. As such, I think enable-by-default, disable-when-chosen is the appropriate default.
In the Kconfig help it is mentioned that this is needed only on some platforms which uses complex ranges, so when I tried disabling OF_TRANSLATE on omap platform it still works.
Since OF_TRANSLATE is defined as 'y' as default, SIMPLE_BUS is never used until OF_TRANSLATE is set to 'n' in defconfig. So I thought of making the default kconfig option as 'n' and select this which ever platform needs it like mvebu and nios2.
But if community wants OF_TRANSLATE to be used by default, I am okay to drop this patch.
Regards
Mugunthan V N