OMAP4+: Get rid of internal SRAM handling
Subsystems (4)
cover OMAP4+: Get rid of internal SRAM handling
Make all OMAP DT only platforms (am33xx, am43xx, omap4 and omap5) use drivers/misc/sram.c driver instead of the omap internal implementation for SRAM handling.
Rajendra Nayak (2):
ARM: AM335x: Get rid of unused sram init function
ARM: OMAP4+: Move SRAM data to DT
arch/arm/boot/dts/am33xx.dtsi | 5 +++++ arch/arm/boot/dts/am4372.dtsi | 5 +++++ arch/arm/boot/dts/omap4.dtsi | 5 +++++ arch/arm/boot/dts/omap5.dtsi | 5 +++++ arch/arm/configs/omap2plus_defconfig | 1 + arch/arm/mach-omap2/sram.c | 39 +--------------------------------- arch/arm/mach-omap2/sram.h | 1 - 7 files changed, 22 insertions(+), 39 deletions(-)
Signature · 1 line
1.7.9.5
PATCH 1/2 ARM: AM335x: Get rid of unused sram init function
Remove the empty am33xx_sram_init() function.
--- arch/arm/mach-omap2/sram.c | 7 ------- 1 file changed, 7 deletions(-)
arch/arm/mach-omap2/sram.c +0 -7
@@ -285,11 +285,6 @@ static inline int omap34xx_sram_init(void) }#endif /* CONFIG_ARCH_OMAP3 */ -static inline int am33xx_sram_init (void ) -{ -return 0 ; -} -int __init omap_sram_init (void ) {omap_detect_sram ();
@@ -299,8 +294,6 @@ int __init omap_sram_init(void)omap242x_sram_init (); else if (cpu_is_omap2430()) omap243x_sram_init(); - else if (soc_is_am33xx()) - am33xx_sram_init(); else if (cpu_is_omap34xx()) omap34xx_sram_init();
Signature · 1 line
1.7.9.5
PATCH 1/2 ARM: AM335x: Get rid of unused sram init function
Quoted 25 lines · Rajendra Nayak
Remove the empty
am33xx_sram_init()function.Signed-off-by Rajendra Nayak <[email protected]>--- arch/arm/mach-omap2/sram.c | 7 ------- 1 file changed, 7 deletions(-)arch/arm/mach-omap2/sram.c +0
-5@@ -285,11 +285,6 @@ static inline int omap34xx_sram_init(void) }#endif /* CONFIG_ARCH_OMAP3 */ -static inline int am33xx_sram_init (void ) -{ -return 0 ; -} -int __init omap_sram_init (void ) {omap_detect_sram ();
arch/arm/mach-omap2/sram.c int __init omap_sram_init(void) · line 299
Quoted 8 lines
arch/arm/mach-omap2/sram.c +0
-2@@ -299,8 +294,6 @@ int __init omap_sram_init(void)omap242x_sram_init (); else if (cpu_is_omap2430()) omap243x_sram_init(); - else if (soc_is_am33xx()) - am33xx_sram_init(); else if (cpu_is_omap34xx()) omap34xx_sram_init();
Suspend resume for AM33xx as of right now uses this function. This patch
[1] uses this function to push the low-level suspend code to sram, it was added here to be consistent with other platforms that utilize the same type of functionality (omap34xx).
Regards,
Dave
PATCH 1/2 ARM: AM335x: Get rid of unused sram init function
Quoted 28 lines · Dave Gerlach
Quoted 27 lines · Rajendra Nayak
Remove the empty
am33xx_sram_init()function.Signed-off-by Rajendra Nayak <[email protected]>--- arch/arm/mach-omap2/sram.c | 7 ------- 1 file changed, 7 deletions(-)arch/arm/mach-omap2/sram.c +0
-5@@ -285,11 +285,6 @@ static inline int omap34xx_sram_init(void) }#endif /* CONFIG_ARCH_OMAP3 */ -static inline int am33xx_sram_init (void ) -{ -return 0 ; -} -int __init omap_sram_init (void ) {omap_detect_sram ();@@ -299,8 +294,6 @@ int __init omap_sram_init(void)omap242x_sram_init (); else if (cpu_is_omap2430()) omap243x_sram_init();
Quoted 8 lines
arch/arm/mach-omap2/sram.c int __init omap_sram_init(void) · line 299
Quoted 6 lines
arch/arm/mach-omap2/sram.c +0
-2-else if (soc_is_am33xx ()) -am33xx_sram_init ();else if (cpu_is_omap34xx ())omap34xx_sram_init ();Suspend resume for AM33xx as of right now uses this function. This patch [1] uses this function to push the low-level suspend code to sram, it was added here to be consistent with other platforms that utilize the same type of functionality (omap34xx).
Right, but if you look at patch 2/2 in the series, that basically moves all OMAP DT only platforms from using legacy OMAP private apis to push code/manage sram to using the generic gen_pool apis to manage sram.
Can you look at how you can use gen_pool for am33xx instead of the way omap3 does it, since we want to completely get rid of the internal sram management apis (or atleast have them only for legacy non-DT OMAP platforms).
Quoted 5 lines
Regards,
Dave
PATCH 2/2 ARM: OMAP4+: Move SRAM data to DT
In reply to Rajendra NayakUse drivers/misc/sram.c driver to manage SRAM on all DT only OMAP platforms (am33xx, am43xx, omap4 and omap5) instead of the existing private implementation.
Address and size related data is removed from mach-omap2/sram.c and now passed to drivers/misc/sram.c from DT.
Users can hence use general purpose allocator apis instead of OMAP private ones to manage and use SRAM.
Currently there are no users on SRAM on these platfoms.
--- arch/arm/boot/dts/am33xx.dtsi | 5 +++++ arch/arm/boot/dts/am4372.dtsi | 5 +++++ arch/arm/boot/dts/omap4.dtsi | 5 +++++ arch/arm/boot/dts/omap5.dtsi | 5 +++++ arch/arm/configs/omap2plus_defconfig | 1 + arch/arm/mach-omap2/sram.c | 32 +------------------------------- arch/arm/mach-omap2/sram.h | 1 - 7 files changed, 22 insertions(+), 32 deletions(-)
arch/arm/boot/dts/am33xx.dtsi +5 -0
@@ -88,6 +88,11 @@ ranges; ti,hwmods = "l3_main"; + sram: sram at 40300000 { + compatible = "mmio-sram"; + reg = <0x40300000 0x10000>; /* 64k */ + }; + intc: interrupt-controller at 48200000 { compatible = "ti,omap2-intc"; interrupt-controller;
arch/arm/boot/dts/am4372.dtsi +5 -0
@@ -41,6 +41,11 @@ #size-cells = <1>; ranges; + sram: sram at 40300000 { + compatible = "mmio-sram"; + reg = <0x40300000 0x40000>; /* 256k */ + }; + uart0: serial at 44e09000 { compatible = "ti,am4372-uart","ti,omap2-uart"; reg = <0x44e09000 0x2000>;
arch/arm/boot/dts/omap4.dtsi +5 -0
@@ -126,6 +126,11 @@ pinctrl-single,function-mask = <0x7fff>; }; + sram: sram at 40304000 { + compatible = "mmio-sram"; + reg = <0x40304000 0xa000>; /* 40k */ + }; + sdma: dma-controller at 4a056000 { compatible = "ti,omap4430-sdma"; reg = <0x4a056000 0x1000>;
arch/arm/boot/dts/omap5.dtsi +5 -0
@@ -119,6 +119,11 @@ pinctrl-single,function-mask = <0x7fff>; }; + sram: sram at 40300000 { + compatible = "mmio-sram"; + reg = <0x40300000 0x20000>; /* 128k */ + }; + sdma: dma-controller at 4a056000 { compatible = "ti,omap4430-sdma"; reg = <0x4a056000 0x1000>;
arch/arm/configs/omap2plus_defconfig +1 -0
@@ -101,6 +101,7 @@ CONFIG_SENSORS_LIS3LV02D=m CONFIG_SENSORS_TSL2550=m CONFIG_SENSORS_LIS3_I2C=m CONFIG_BMP085_I2C=m +CONFIG_SRAM=y CONFIG_SCSI=y CONFIG_BLK_DEV_SD=y CONFIG_SCSI_MULTI_LUN=y
arch/arm/mach-omap2/sram.c +1 -31
@@ -32,12 +32,6 @@#define OMAP2_SRAM_PUB_PA (OMAP2_SRAM_PA + 0xf800)#define OMAP3_SRAM_PUB_PA (OMAP3_SRAM_PA + 0x8000) -#ifdef CONFIG_OMAP4_ERRATA_I688 -#define OMAP4_SRAM_PUB_PA OMAP4_SRAM_PA -#else -#define OMAP4_SRAM_PUB_PA (OMAP4_SRAM_PA + 0x4000) -#endif -#define OMAP5_SRAM_PA 0x40300000#define SRAM_BOOTLOADER_SZ 0x00
@@ -105,32 +99,14 @@ static void __init omap_detect_sram(void) }else { omap_sram_size =0x8000 ;/* 32K */ } - }else if (cpu_is_omap44xx ()) { - omap_sram_start =OMAP4_SRAM_PUB_PA ; - omap_sram_size =0xa000 ;/* 40K */ - }else if (soc_is_omap54xx ()) { - omap_sram_start =OMAP5_SRAM_PA ; - omap_sram_size =SZ_128K ;/* 128KB */ }else { omap_sram_start =OMAP2_SRAM_PUB_PA ; omap_sram_size =0x800 ;/* 2K */ } }else { -if (soc_is_am33xx ()) { - omap_sram_start =AM33XX_SRAM_PA ; - omap_sram_size =0x10000 ;/* 64K */ - }else if (soc_is_am43xx ()) { - omap_sram_start =AM33XX_SRAM_PA ; - omap_sram_size =SZ_256K ; - }else if (cpu_is_omap34xx ()) { +if (cpu_is_omap34xx ()) { omap_sram_start =OMAP3_SRAM_PA ; omap_sram_size =0x10000 ;/* 64K */ - }else if (cpu_is_omap44xx ()) { - omap_sram_start =OMAP4_SRAM_PA ; - omap_sram_size =0xe000 ;/* 56K */ - }else if (soc_is_omap54xx ()) { - omap_sram_start =OMAP5_SRAM_PA ; - omap_sram_size =SZ_128K ;/* 128KB */ }else { omap_sram_start =OMAP2_SRAM_PA ;if (cpu_is_omap242x ())
@@ -148,12 +124,6 @@ static void __init omap2_map_sram(void) {int cached =1 ; -#ifdef CONFIG_OMAP4_ERRATA_I688 -if (cpu_is_omap44xx ()) { - omap_sram_start +=PAGE_SIZE ; - omap_sram_size -=SZ_16K ; - } -#endif if (cpu_is_omap34xx ()) {/* * SRAM must be marked as non-cached on OMAP3 since the
arch/arm/mach-omap2/sram.h +0 -1
@@ -80,4 +80,3 @@ static inline void omap_push_sram_idle(void) {}#else #define OMAP4_SRAM_PA 0x40300000#endif -#define AM33XX_SRAM_PA 0x40300000
Signature · 1 line
1.7.9.5
PATCH 2/2 ARM: OMAP4+: Move SRAM data to DT
Quoted 7 lines · Rajendra Nayak
Use
drivers/misc/sram.cdriver to manage SRAM on all DT only OMAP platforms (am33xx, am43xx, omap4 and omap5) instead of the existing private implementation.Address and size related data is removed from
mach-omap2/sram.cand now passed todrivers/misc/sram.cfrom DT.
Quoted 6 lines
Users can hence use general purpose allocator apis instead of OMAP private ones to manage and use SRAM.
Currently there are no users on SRAM on these platfoms.
Signed-off-by Rajendra Nayak <[email protected]>
Nice getting rid of code.
arch/arm/mach-omap2/sram.h static inline void omap_push_sram_idle(void) {} · line 83
Quoted 9 lines
arch/arm/mach-omap2/sram.h +0
-1@@ -80,4 +80,3 @@ static inline void omap_push_sram_idle(void) {}#else #define OMAP4_SRAM_PA 0x40300000#endif -#define AM33XX_SRAM_PA 0x40300000
I guess OMAP4_SRAM_PA is left in the code to take care of errata I688? How about removing the iotable entry for SRAM on OMAP4 and converting omap_barriers_init() to use the gen_pool API instead of passing an incremented address to DT?
SRAM driver is a postcore initcall so I think you it will be ready before first WFI hits (which is when the errata triggers).
Thanks,
Sekhar
PATCH 2/2 ARM: OMAP4+: Move SRAM data to DT
Quoted 17 lines · Sekhar Nori
Quoted 7 lines · Rajendra Nayak
Use
drivers/misc/sram.cdriver to manage SRAM on all DT only OMAP platforms (am33xx, am43xx, omap4 and omap5) instead of the existing private implementation.Address and size related data is removed from
mach-omap2/sram.cand now passed todrivers/misc/sram.cfrom DT.Quoted 6 lines
Users can hence use general purpose allocator apis instead of OMAP private ones to manage and use SRAM.
Currently there are no users on SRAM on these platfoms.
Signed-off-by Rajendra Nayak <[email protected]>Nice getting rid of code.
Quoted 11 lines
arch/arm/mach-omap2/sram.h static inline void omap_push_sram_idle(void) {} · line 83
Quoted 9 lines
arch/arm/mach-omap2/sram.h +0
-1@@ -80,4 +80,3 @@ static inline void omap_push_sram_idle(void) {}#else #define OMAP4_SRAM_PA 0x40300000#endif -#define AM33XX_SRAM_PA 0x40300000I guess
OMAP4_SRAM_PAis left in the code to take care of errata I688?
right.
Quoted 3 lines
How about removing the iotable entry for SRAM on OMAP4 and converting
omap_barriers_init()to use thegen_poolAPI instead of passing an incremented address to DT?
Actually we dont really need to alloc and manage any sram pool for handling the errata. It just needs to know an sram location which it can read and write back into (which can be any sram location used/unused).
I should be able to get rid of the iotable entry and get the sram address from DT instead.
Quoted 3 lines
SRAM driver is a postcore initcall so I think you it will be ready before firstts WFI hi(which is when the errata triggers).
right, so that not an issue.
Quoted 4 lines
Thanks,
Sekhar
PATCH 2/2 ARM: OMAP4+: Move SRAM data to DT
Quoted 32 lines · Rajendra Nayak
Quoted 17 lines · Sekhar Nori
Quoted 7 lines · Rajendra Nayak
Use
drivers/misc/sram.cdriver to manage SRAM on all DT only OMAP platforms (am33xx, am43xx, omap4 and omap5) instead of the existing private implementation.Address and size related data is removed from
mach-omap2/sram.cand now passed todrivers/misc/sram.cfrom DT.Quoted 6 lines
Users can hence use general purpose allocator apis instead of OMAP private ones to manage and use SRAM.
Currently there are no users on SRAM on these platfoms.
Signed-off-by Rajendra Nayak <[email protected]>Nice getting rid of code.
Quoted 11 lines
arch/arm/mach-omap2/sram.h static inline void omap_push_sram_idle(void) {} · line 83
Quoted 9 lines
arch/arm/mach-omap2/sram.h +0
-1@@ -80,4 +80,3 @@ static inline void omap_push_sram_idle(void) {}#else #define OMAP4_SRAM_PA 0x40300000#endif -#define AM33XX_SRAM_PA 0x40300000I guess
OMAP4_SRAM_PAis left in the code to take care of errata I688?right.
Quoted 7 lines
Quoted 3 lines
How about removing the iotable entry for SRAM on OMAP4 and converting
omap_barriers_init()to use thegen_poolAPI instead of passing an incremented address to DT?Actually we dont really need to alloc and manage any sram pool for handling the errata. It just needs to know an sram location which it can read and write back into (which can be any sram location used/unused).
But there will be a race with other writes to SRAM since omap_bus_sync() is not atomic context.
Thanks,
Sekhar
PATCH 2/2 ARM: OMAP4+: Move SRAM data to DT
Quoted 37 lines · Sekhar Nori
Quoted 36 lines · Rajendra Nayak
Quoted 17 lines · Sekhar Nori
Quoted 7 lines · Rajendra Nayak
Use
drivers/misc/sram.cdriver to manage SRAM on all DT only OMAP platforms (am33xx, am43xx, omap4 and omap5) instead of the existing private implementation.Address and size related data is removed from
mach-omap2/sram.cand now passed todrivers/misc/sram.cfrom DT.Quoted 6 lines
Users can hence use general purpose allocator apis instead of OMAP private ones to manage and use SRAM.
Currently there are no users on SRAM on these platfoms.
Signed-off-by Rajendra Nayak <[email protected]>Nice getting rid of code.
Quoted 11 lines
arch/arm/mach-omap2/sram.h static inline void omap_push_sram_idle(void) {} · line 83
Quoted 9 lines
arch/arm/mach-omap2/sram.h +0
-1@@ -80,4 +80,3 @@ static inline void omap_push_sram_idle(void) {}#else #define OMAP4_SRAM_PA 0x40300000#endif -#define AM33XX_SRAM_PA 0x40300000I guess
OMAP4_SRAM_PAis left in the code to take care of errata I688?right.
Quoted 3 lines
How about removing the iotable entry for SRAM on OMAP4 and converting
omap_barriers_init()to use thegen_poolAPI instead of passing an incremented address to DT?
Quoted 6 lines
Quoted 3 lines
Actually we dont really need to alloc and manage any sram pool for handling the errata. It just needs to know an sram location which it can read and write back into (which can be any sram location used/unused).
But there will be a race with other writes to SRAM since
omap_bus_sync()is not atomic context.
Right, I completely overlooked the fact that omap_bus_sync() is also done every wmb(). I was thinking its needed only just before a wfi.
I will repost a v2 using gen_pool to allocate sram space to handle errata I688 and get rid of all the static mappings.
regards,
Rajendra
Quoted 4 lines
Thanks,
Sekhar
PATCH 2/2 ARM: OMAP4+: Move SRAM data to DT
In reply to Rajendra NayakQuoted 7 lines · Rajendra Nayak
Use
drivers/misc/sram.cdriver to manage SRAM on all DT only OMAP platforms (am33xx, am43xx, omap4 and omap5) instead of the existing private implementation.Address and size related data is removed from
mach-omap2/sram.cand now passed todrivers/misc/sram.cfrom DT.
Quoted 6 lines
Users can hence use general purpose allocator apis instead of OMAP private ones to manage and use SRAM.
Currently there are no users on SRAM on these platfoms.
Signed-off-by Rajendra Nayak <[email protected]>
I was trying to experiment with this on am33xx, but I noticed that the ioremap region is not marked exec, so it cannot be used to run code.
PATCH 2/2 ARM: OMAP4+: Move SRAM data to DT
Am Dienstag, den 03.09.2013, 06:56 -0700 schrieb Russ Dill:
Quoted 11 lines · Rajendra Nayak
Quoted 10 lines
Use
drivers/misc/sram.cdriver to manage SRAM on all DT only OMAP platforms (am33xx, am43xx, omap4 and omap5) instead of the existing private implementation.Address and size related data is removed from
mach-omap2/sram.cand now passed todrivers/misc/sram.cfrom DT.Users can hence use general purpose allocator apis instead of OMAP private ones to manage and use SRAM.
Quoted 6 lines
Quoted 3 lines
Currently there are no users on SRAM on these platfoms.
Signed-off-by Rajendra Nayak <[email protected]>I was trying to experiment with this on am33xx, but I noticed that the ioremap region is not marked exec, so it cannot be used to run code.
Could you outline a use-case where you would need to execute code from SRAM while running in a linux system? I'm curious what you would use this for.
Regards,
Lucas
Signature · 4 lines
Pengutronix e.K. | Lucas Stach | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-5076 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
PATCH 2/2 ARM: OMAP4+: Move SRAM data to DT
Quoted 14 lines · Lucas Stach
Am Dienstag, den 03.09.2013, 06:56 -0700 schrieb Russ Dill:
Quoted 13 lines · Rajendra Nayak
Quoted 12 lines
Use
drivers/misc/sram.cdriver to manage SRAM on all DT only OMAP platforms (am33xx, am43xx, omap4 and omap5) instead of the existing private implementation.Address and size related data is removed from
mach-omap2/sram.cand now passed todrivers/misc/sram.cfrom DT.Users can hence use general purpose allocator apis instead of OMAP private ones to manage and use SRAM.
Currently there are no users on SRAM on these platfoms.
Quoted 8 lines
Quoted 4 lines
Quoted 1 line
Signed-off-by Rajendra Nayak <[email protected]>I was trying to experiment with this on am33xx, but I noticed that the ioremap region is not marked exec, so it cannot be used to run code.
Could you outline a use-case where you would need to execute code from SRAM while running in a linux system? I'm curious what you would use this for.
Code that needs to disable or reconfigure the memory controller is the common use case. Some suspend/resume code even goes beyond that and performs steps that must be done *after* the memory controller has powered down, such as putting PLLs in bypass, etc.
cover OMAP4+: Get rid of internal SRAM handling
In reply to Rajendra Nayak+ Paul,
Quoted 8 lines · Rajendra Nayak
Make all OMAP DT only platforms (am33xx, am43xx, omap4 and omap5) use
drivers/misc/sram.cdriver instead of the omap internal implementation for SRAM handling.Rajendra Nayak (2):
ARM: AM335x: Get rid of unused sram init function
ARM: OMAP4+: Move SRAM data to DT
Quoted 9 lines
arch/arm/boot/dts/am33xx.dtsi | 5 +++++ arch/arm/boot/dts/am4372.dtsi | 5 +++++ arch/arm/boot/dts/omap4.dtsi | 5 +++++ arch/arm/boot/dts/omap5.dtsi | 5 +++++ arch/arm/configs/omap2plus_defconfig | 1 + arch/arm/mach-omap2/sram.c | 39 +--------------------------------- arch/arm/mach-omap2/sram.h | 1 - 7 files changed, 22 insertions(+), 39 deletions(-)
Really nice to see the SRAM code getting moved now. Thanks a lot Rajendra.
- The sram_init() seems to be the post core init call. Hope this is not a problem for SDRC init which needs to have SRAM ready to update the DDR parameters.
Regards,
Santosh
cover OMAP4+: Get rid of internal SRAM handling
Quoted 20 lines · Santosh Shilimkar
+ Paul,
Quoted 8 lines · Rajendra Nayak
Make all OMAP DT only platforms (am33xx, am43xx, omap4 and omap5) use
drivers/misc/sram.cdriver instead of the omap internal implementation for SRAM handling.Rajendra Nayak (2):
ARM: AM335x: Get rid of unused sram init function
ARM: OMAP4+: Move SRAM data to DTQuoted 9 lines
arch/arm/boot/dts/am33xx.dtsi | 5 +++++ arch/arm/boot/dts/am4372.dtsi | 5 +++++ arch/arm/boot/dts/omap4.dtsi | 5 +++++ arch/arm/boot/dts/omap5.dtsi | 5 +++++ arch/arm/configs/omap2plus_defconfig | 1 + arch/arm/mach-omap2/sram.c | 39 +--------------------------------- arch/arm/mach-omap2/sram.h | 1 - 7 files changed, 22 insertions(+), 39 deletions(-)
Quoted 6 lines
Really nice to see the SRAM code getting moved now. Thanks a lot Rajendra.
- The
sram_init()seems to be the post core init call. Hope this is not a problem for SDRC init which needs to have SRAM ready to update the DDR parameters.
It should be fine given its needed only during core dvfs. Besides drivers/misc/sram.c is useful only on DT platforms, so for now OMAP2/3 continue to use the omap specific sram handling.
Quoted 5 lines
Regards,
Santosh
cover OMAP4+: Get rid of internal SRAM handling
Quoted 24 lines · Rajendra
Quoted 23 lines · Santosh Shilimkar
+ Paul,
Quoted 8 lines · Rajendra Nayak
Make all OMAP DT only platforms (am33xx, am43xx, omap4 and omap5) use
drivers/misc/sram.cdriver instead of the omap internal implementation for SRAM handling.Rajendra Nayak (2):
ARM: AM335x: Get rid of unused sram init function
ARM: OMAP4+: Move SRAM data to DTQuoted 9 lines
arch/arm/boot/dts/am33xx.dtsi | 5 +++++ arch/arm/boot/dts/am4372.dtsi | 5 +++++ arch/arm/boot/dts/omap4.dtsi | 5 +++++ arch/arm/boot/dts/omap5.dtsi | 5 +++++ arch/arm/configs/omap2plus_defconfig | 1 + arch/arm/mach-omap2/sram.c | 39 +--------------------------------- arch/arm/mach-omap2/sram.h | 1 - 7 files changed, 22 insertions(+), 39 deletions(-)Really nice to see the SRAM code getting moved now. Thanks a lot Rajendra.
Quoted 8 lines
Quoted 3 lines
- The
sram_init()seems to be the post core init call. Hope this is not a problem for SDRC init which needs to have SRAM ready to update the DDR parameters.It should be fine given its needed only during core dvfs. Besides
drivers/misc/sram.cis useful only on DT platforms, so for now OMAP2/3 continue to use the omap specific sram handling.
Its used in early boot to initialize the DDR parameters and then later these can be used based on whether core DVFS supported or not. Look for _omap2_init_reprogram_sdrc() which has init dependency with omap_sram_init().
Regards,
Santosh
cover OMAP4+: Get rid of internal SRAM handling
Quoted 29 lines · Santosh Shilimkar
Quoted 28 lines · Rajendra
Quoted 26 lines · Santosh Shilimkar
+ Paul,
Quoted 8 lines · Rajendra Nayak
Make all OMAP DT only platforms (am33xx, am43xx, omap4 and omap5) use
drivers/misc/sram.cdriver instead of the omap internal implementation for SRAM handling.Rajendra Nayak (2):
ARM: AM335x: Get rid of unused sram init function
ARM: OMAP4+: Move SRAM data to DTQuoted 9 lines
arch/arm/boot/dts/am33xx.dtsi | 5 +++++ arch/arm/boot/dts/am4372.dtsi | 5 +++++ arch/arm/boot/dts/omap4.dtsi | 5 +++++ arch/arm/boot/dts/omap5.dtsi | 5 +++++ arch/arm/configs/omap2plus_defconfig | 1 + arch/arm/mach-omap2/sram.c | 39 +--------------------------------- arch/arm/mach-omap2/sram.h | 1 - 7 files changed, 22 insertions(+), 39 deletions(-)Really nice to see the SRAM code getting moved now. Thanks a lot Rajendra.
- The
sram_init()seems to be the post core init call. Hope this is not a problem for SDRC init which needs to have SRAM ready to update the DDR parameters.
Quoted 8 lines
Quoted 4 lines
It should be fine given its needed only during core dvfs. Besides
drivers/misc/sram.cis useful only on DT platforms, so for now OMAP2/3 continue to use the omap specific sram handling.Its used in early boot to initialize the DDR parameters and then later these can be used based on whether core DVFS supported or not. Look for
_omap2_init_reprogram_sdrc()which has init dependency withomap_sram_init().
Right, I see that now. With this series (which addresses only DT platforms) we would still be fine with the omap2/3 sdrc usage.
Quoted 4 lines
Regards,
Santosh
cover OMAP4+: Get rid of internal SRAM handling
Quoted 34 lines · Rajendra Nayak
Quoted 33 lines · Santosh Shilimkar
Quoted 32 lines · Rajendra
Quoted 20 lines · Santosh Shilimkar
+ Paul,
Quoted 8 lines · Rajendra Nayak
Make all OMAP DT only platforms (am33xx, am43xx, omap4 and omap5) use
drivers/misc/sram.cdriver instead of the omap internal implementation for SRAM handling.Rajendra Nayak (2):
ARM: AM335x: Get rid of unused sram init function
ARM: OMAP4+: Move SRAM data to DTQuoted 9 lines
arch/arm/boot/dts/am33xx.dtsi | 5 +++++ arch/arm/boot/dts/am4372.dtsi | 5 +++++ arch/arm/boot/dts/omap4.dtsi | 5 +++++ arch/arm/boot/dts/omap5.dtsi | 5 +++++ arch/arm/configs/omap2plus_defconfig | 1 + arch/arm/mach-omap2/sram.c | 39 +--------------------------------- arch/arm/mach-omap2/sram.h | 1 - 7 files changed, 22 insertions(+), 39 deletions(-)Quoted 6 lines
Really nice to see the SRAM code getting moved now. Thanks a lot Rajendra.
- The
sram_init()seems to be the post core init call. Hope this is not a problem for SDRC init which needs to have SRAM ready to update the DDR parameters.It should be fine given its needed only during core dvfs. Besides
drivers/misc/sram.cis useful only on DT platforms, so for now OMAP2/3 continue to use the omap specific sram handling.
Quoted 8 lines
Quoted 4 lines
Its used in early boot to initialize the DDR parameters and then later these can be used based on whether core DVFS supported or not. Look for
_omap2_init_reprogram_sdrc()which has init dependency withomap_sram_init().Right, I see that now. With this series (which addresses only DT platforms) we would still be fine with the omap2/3 sdrc usage.
Yep. When OMAP3 becomes DT only then this could become problem. Actually the SDRC init can be moved bit further down to solve that one as well so should be ok I guess.
Regards,
Santosh
Tony Lindgren
maintainercover OMAP4+: Get rid of internal SRAM handling
In reply to Rajendra NayakQuoted 3 lines · Rajendra Nayak
Make all OMAP DT only platforms (am33xx, am43xx, omap4 and omap5) use
drivers/misc/sram.cdriver instead of the omap internal implementation for SRAM handling.
Sounds like this series has some dependencies that we need to clear, so marking this thread as read and assuming a new series will be posted.
Regards,
Tony