MIPS: call debug_uart_init right before board_init_f
cover MIPS: call debug_uart_init right before board_init_f
All MIPS boards that support debug uart are calling debug_uart_init right at the beginning of board_early_init_f.
Instead of doing that, let's provide a generic call to debug_uart_init right before the call to board_init_f if debug uart is enabled.
Daniel Schwierzeck (1):
MIPS: call debug_uart_init right before board_init_f
Álvaro Fernández Rojas (3):
MIPS: QCA AP121: remove debug_uart_init call
MIPS: QCA AP143: remove debug_uart_init call
MIPS: tl-wdr4300: remove debug_uart_init call
arch/mips/cpu/start.S | 6 ++++++ board/qca/ap121/ap121.c | 3 --- board/qca/ap143/ap143.c | 3 --- board/tplink/wdr4300/wdr4300.c | 18 ++++++++++++++---- 4 files changed, 20 insertions(+), 10 deletions(-)
Signature · 1 line
2.1.4
PATCH 1/4 MIPS: QCA AP121: remove debug_uart_init call
In order to add a generic MIPS debug_uart_init call right before the call to board_early_init_f, we need to remove all calls to debug_uart_init from every MIPS boards.
--- board/qca/ap121/ap121.c | 3 --- 1 file changed, 3 deletions(-)
board/qca/ap121/ap121.c +0 -3
@@ -43,9 +43,6 @@ void board_debug_uart_init(void)int board_early_init_f (void ) { -#ifdef CONFIG_DEBUG_UART -debug_uart_init (); -#endif ddr_init ();ath79_eth_reset ();return 0 ;
Signature · 1 line
2.1.4
PATCH 2/4 MIPS: QCA AP143: remove debug_uart_init call
In reply to Álvaro Fernández RojasIn order to add a generic MIPS debug_uart_init call right before the call to board_early_init_f, we need to remove all calls to debug_uart_init from every MIPS boards.
--- board/qca/ap143/ap143.c | 3 --- 1 file changed, 3 deletions(-)
board/qca/ap143/ap143.c +0 -3
@@ -59,9 +59,6 @@ void board_debug_uart_init(void)int board_early_init_f (void ) { -#ifdef CONFIG_DEBUG_UART -debug_uart_init (); -#endif ddr_init ();ath79_eth_reset ();return 0 ;
Signature · 1 line
2.1.4
PATCH 3/4 MIPS: tl-wdr4300: remove debug_uart_init call
In reply to Álvaro Fernández RojasIn order to add a generic MIPS debug_uart_init call right before the call to board_early_init_f, we need to remove all calls to debug_uart_init from every MIPS boards.
WDR4300 doesn't provide a board_debug_uart_init and configures pinmux in board_early_init_f instead. Since I have no idead of what's the needed uart pinmux config, I copied the whole pinmux config to a new function that is called from board_early_init_f if CONFIG_DEBUG_UART_BOARD_INIT is not enabled.
--- board/tplink/wdr4300/wdr4300.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-)
board/tplink/wdr4300/wdr4300.c +14 -4
@@ -34,8 +34,7 @@ static void wdr4300_usb_start(void)static inline void wdr4300_usb_start (void ) {}#endif -#ifdef CONFIG_BOARD_EARLY_INIT_F -int board_early_init_f (void ) +void wdr4300_pinmux_config (void ) {void __iomem *regs;
@@ -56,9 +55,20 @@ int board_early_init_f(void)writel (0x00000000 , regs +AR934X_GPIO_REG_OUT_FUNC3 );writel (0x0000004d , regs +AR934X_GPIO_REG_OUT_FUNC4 );writel (0x00000000 , regs +AR934X_GPIO_REG_OUT_FUNC5 ); +} + +#ifdef CONFIG_DEBUG_UART_BOARD_INIT +void board_debug_uart_init (void ) +{ +wdr4300_pinmux_config (); +} +#endif -#ifdef CONFIG_DEBUG_UART -debug_uart_init (); +#ifdef CONFIG_BOARD_EARLY_INIT_F +int board_early_init_f (void ) +{ +#ifndef CONFIG_DEBUG_UART_BOARD_INIT +wdr4300_pinmux_config ();#endif #ifndef CONFIG_SKIP_LOWLEVEL_INIT
Signature · 1 line
2.1.4
PATCH 4/4 MIPS: call debug_uart_init right before board_init_f
In reply to Álvaro Fernández RojasFrom: Daniel Schwierzeck <[email protected]>
All MIPS boards that support debug uart are calling debug_uart_init right at the beginning of board_early_init_f.
Instead of doing that, let's provide a generic call to debug_uart_init right before the call to board_init_f if debug uart is enabled.
--- arch/mips/cpu/start.S | 6 ++++++ 1 file changed, 6 insertions(+)
arch/mips/cpu/start.S +6 -0
@@ -265,6 +265,12 @@ wr_done: setup_stack_gd #endif +#ifdef CONFIG_DEBUG_UART + PTR_LA t9, debug_uart_init + jalr t9 + nop +#endif + move a0, zero # a0 <-- boot_flags = 0 PTR_LA t9, board_init_f
Signature · 1 line
2.1.4
PATCH 4/4 MIPS: call debug_uart_init right before board_init_f
Quoted 18 lines · Álvaro Fernández Rojas
From: Daniel Schwierzeck <[email protected]>
All MIPS boards that support debug uart are calling
debug_uart_initright at the beginning ofboard_early_init_f.
Instead of doing that, let's provide a generic call todebug_uart_initright before the call toboard_init_fif debug uart is enabled.Signed-off-by Daniel Schwierzeck <[email protected]>Signed-off-by Álvaro Fernández Rojas <[email protected]>--- arch/mips/cpu/start.S | 6 ++++++ 1 file changed, 6 insertions(+)arch/mips/cpu/start.S +0
-0
arch/mips/cpu/start.S wr_done: · line 269
Quoted 5 lines
arch/mips/cpu/start.S +2
-0@@ -265,6 +265,12 @@ wr_done: setup_stack_gd #endif +#ifdef CONFIG_DEBUG_UART + PTR_LA t9, debug_uart_init
This should be called from C code somewhere, in fact, doesn't SPL's common code call debug_uart_init already ?
Quoted 8 lines
arch/mips/cpu/start.S +4
-0+ jalr t9 + nop +#endif + move a0, zero # a0 <-- boot_flags = 0 PTR_LA t9, board_init_f
Signature · 2 lines
Best regards, Marek Vasut
PATCH 4/4 MIPS: call debug_uart_init right before board_init_f
Hi Marek,
Quoted 22 lines · Marek Vasut
Quoted 21 lines · Álvaro Fernández Rojas
From: Daniel Schwierzeck <[email protected]>
All MIPS boards that support debug uart are calling
debug_uart_initright at the beginning ofboard_early_init_f.
Instead of doing that, let's provide a generic call todebug_uart_initright before the call toboard_init_fif debug uart is enabled.Signed-off-by Daniel Schwierzeck <[email protected]>Signed-off-by Álvaro Fernández Rojas <[email protected]>--- arch/mips/cpu/start.S | 6 ++++++ 1 file changed, 6 insertions(+)arch/mips/cpu/start.S +0
-0@@ -265,6 +265,12 @@ wr_done: setup_stack_gd #endif
Quoted 5 lines
arch/mips/cpu/start.S wr_done: · line 269
Quoted 2 lines
arch/mips/cpu/start.S +2
-0+#ifdef CONFIG_DEBUG_UART + PTR_LA t9, debug_uart_initThis should be called from C code somewhere, in fact, doesn't SPL's common code call
debug_uart_initalready ?
Why should this be called from C code?
BTW, I don't think that SPL common code calls debug_uart_init.
Quoted 11 lines
arch/mips/cpu/start.S wr_done: · line 276
Quoted 9 lines
arch/mips/cpu/start.S +4
-0+ jalr t9 + nop +#endif + move a0, zero # a0 <-- boot_flags = 0 PTR_LA t9, board_init_f
Regards,
Álvaro.
PATCH 4/4 MIPS: call debug_uart_init right before board_init_f
Quoted 25 lines · Álvaro Fernández Rojas
Hi Marek,
Quoted 22 lines · Marek Vasut
Quoted 21 lines · Álvaro Fernández Rojas
From: Daniel Schwierzeck <[email protected]>
All MIPS boards that support debug uart are calling
debug_uart_initright at the beginning ofboard_early_init_f.
Instead of doing that, let's provide a generic call todebug_uart_initright before the call toboard_init_fif debug uart is enabled.Signed-off-by Daniel Schwierzeck <[email protected]>Signed-off-by Álvaro Fernández Rojas <[email protected]>--- arch/mips/cpu/start.S | 6 ++++++ 1 file changed, 6 insertions(+)arch/mips/cpu/start.S +0
-0@@ -265,6 +265,12 @@ wr_done: setup_stack_gd #endif
Quoted 7 lines
Quoted 5 lines
arch/mips/cpu/start.S wr_done: · line 269
Quoted 2 lines
arch/mips/cpu/start.S +2
-0+#ifdef CONFIG_DEBUG_UART + PTR_LA t9, debug_uart_initThis should be called from C code somewhere, in fact, doesn't SPL's common code call
debug_uart_initalready ?Why should this be called from C code?
Because the less stuff we have in assembler the better.
Quoted 1 line
BTW, I don't think that SPL common code calls
debug_uart_init.
That's where it would make sense, grepping through the source indicates a lot of boards call this from their spl code. Also, you enter board_init_f right below, so you can start there ...
Quoted 15 lines
Quoted 11 lines
arch/mips/cpu/start.S wr_done: · line 276
Quoted 9 lines
arch/mips/cpu/start.S +4
-0+ jalr t9 + nop +#endif + move a0, zero # a0 <-- boot_flags = 0 PTR_LA t9, board_init_fRegards,
Álvaro.
Signature · 2 lines
Best regards, Marek Vasut
PATCH 4/4 MIPS: call debug_uart_init right before board_init_f
Hi Marek,
Quoted 32 lines · Marek Vasut
Quoted 31 lines · Álvaro Fernández Rojas
Hi Marek,
Quoted 27 lines · Marek Vasut
Quoted 18 lines · Álvaro Fernández Rojas
From: Daniel Schwierzeck <[email protected]>
All MIPS boards that support debug uart are calling
debug_uart_initright at the beginning ofboard_early_init_f.
Instead of doing that, let's provide a generic call todebug_uart_initright before the call toboard_init_fif debug uart is enabled.Signed-off-by Daniel Schwierzeck <[email protected]>Signed-off-by Álvaro Fernández Rojas <[email protected]>--- arch/mips/cpu/start.S | 6 ++++++ 1 file changed, 6 insertions(+)arch/mips/cpu/start.S +0
-0arch/mips/cpu/start.S wr_done: · line 269
Quoted 5 lines
arch/mips/cpu/start.S +2
-0@@ -265,6 +265,12 @@ wr_done: setup_stack_gd #endif +#ifdef CONFIG_DEBUG_UART + PTR_LA t9, debug_uart_initThis should be called from C code somewhere, in fact, doesn't SPL's common code call
debug_uart_initalready ?
Quoted 3 lines
Quoted 1 line
Why should this be called from C code?
Because the less stuff we have in assembler the better.
... or not.
Quoted 6 lines
Quoted 2 lines
BTW, I don't think that SPL common code calls
debug_uart_init.That's where it would make sense, grepping through the source indicates a lot of boards call this from their spl code. Also, you enter
board_init_fright below, so you can start there ...
Actually I was going to do that and Daniel suggested otherwise :)
https://lists.denx.de/pipermail/u-boot/2017-April/287388.html
---
I think we should move this to MIPS start.S to support this for all MIPS boards in a generic way. Puttings following code between 'setup_stack_gd' and the jump to 'board_init_f' should work:
#ifdef CONFIG_DEBUG_UART PTR_LA t9, debug_uart_init jalr t9 nop
#endif
---
BTW, like Daniel I also think this is the proper way to go.
Quoted 13 lines
Quoted 13 lines
Quoted 12 lines
Quoted 10 lines
arch/mips/cpu/start.S +4
-0+ jalr t9 + nop +#endif + move a0, zero # a0 <-- boot_flags = 0 PTR_LA t9, board_init_f
Quoted 5 lines
Quoted 3 lines
Regards,
Álvaro.
Regards,
Álvaro.
PATCH 4/4 MIPS: call debug_uart_init right before board_init_f
Quoted 53 lines · Álvaro Fernández Rojas
Hi Marek,
Quoted 32 lines · Marek Vasut
Quoted 31 lines · Álvaro Fernández Rojas
Hi Marek,
Quoted 27 lines · Marek Vasut
Quoted 18 lines · Álvaro Fernández Rojas
From: Daniel Schwierzeck <[email protected]>
All MIPS boards that support debug uart are calling
debug_uart_initright at the beginning ofboard_early_init_f.
Instead of doing that, let's provide a generic call todebug_uart_initright before the call toboard_init_fif debug uart is enabled.Signed-off-by Daniel Schwierzeck <[email protected]>Signed-off-by Álvaro Fernández Rojas <[email protected]>--- arch/mips/cpu/start.S | 6 ++++++ 1 file changed, 6 insertions(+)arch/mips/cpu/start.S +0
-0arch/mips/cpu/start.S wr_done: · line 269
Quoted 5 lines
arch/mips/cpu/start.S +2
-0@@ -265,6 +265,12 @@ wr_done: setup_stack_gd #endif +#ifdef CONFIG_DEBUG_UART + PTR_LA t9, debug_uart_initThis should be called from C code somewhere, in fact, doesn't SPL's common code call
debug_uart_initalready ?Quoted 3 lines
Quoted 1 line
Why should this be called from C code?
Because the less stuff we have in assembler the better.
... or not.
Quoted 6 lines
Quoted 2 lines
BTW, I don't think that SPL common code calls
debug_uart_init.That's where it would make sense, grepping through the source indicates a lot of boards call this from their spl code. Also, you enter
board_init_fright below, so you can start there ...Actually I was going to do that and Daniel suggested otherwise :)
https://lists.denx.de/pipermail/u-boot/2017-April/287388.html
---
I think we should move this to MIPSstart.Sto support this for all MIPS boards in a generic way. Puttings following code between 'setup_stack_gd' and the jump to 'board_init_f' should work:
Quoted 7 lines
#ifdef CONFIG_DEBUG_UART PTR_LA t9, debug_uart_init jalr t9 nop#endif
---
BTW, like Daniel I also think this is the proper way to go.
Can you elaborate why is it better to put more stuff into the assembler rather than C? I'd love to hear the rationale for that.
I agree this should be called from common code , I disagree this should be called from assembler.
Signature · 2 lines
Best regards, Marek Vasut
PATCH 4/4 MIPS: call debug_uart_init right before board_init_f
Am 23.04.2017 um 19:08 schrieb Marek Vasut:
Quoted 62 lines · Álvaro Fernández Rojas
Quoted 53 lines
Hi Marek,
Quoted 32 lines · Marek Vasut
Quoted 31 lines · Álvaro Fernández Rojas
Hi Marek,
Quoted 27 lines · Marek Vasut
Quoted 18 lines · Álvaro Fernández Rojas
From: Daniel Schwierzeck <[email protected]>
All MIPS boards that support debug uart are calling
debug_uart_initright at the beginning ofboard_early_init_f.
Instead of doing that, let's provide a generic call todebug_uart_initright before the call toboard_init_fif debug uart is enabled.Signed-off-by Daniel Schwierzeck <[email protected]>Signed-off-by Álvaro Fernández Rojas <[email protected]>--- arch/mips/cpu/start.S | 6 ++++++ 1 file changed, 6 insertions(+)arch/mips/cpu/start.S +0
-0arch/mips/cpu/start.S wr_done: · line 269
Quoted 5 lines
arch/mips/cpu/start.S +2
-0@@ -265,6 +265,12 @@ wr_done: setup_stack_gd #endif +#ifdef CONFIG_DEBUG_UART + PTR_LA t9, debug_uart_initThis should be called from C code somewhere, in fact, doesn't SPL's common code call
debug_uart_initalready ?Quoted 3 lines
Quoted 1 line
Why should this be called from C code?
Because the less stuff we have in assembler the better.
... or not.
Quoted 6 lines
Quoted 2 lines
BTW, I don't think that SPL common code calls
debug_uart_init.That's where it would make sense, grepping through the source indicates a lot of boards call this from their spl code. Also, you enter
board_init_fright below, so you can start there ...Actually I was going to do that and Daniel suggested otherwise :)
https://lists.denx.de/pipermail/u-boot/2017-April/287388.html
---
I think we should move this to MIPSstart.Sto support this for all MIPS boards in a generic way. Puttings following code between 'setup_stack_gd' and the jump to 'board_init_f' should work:Quoted 7 lines
#ifdef CONFIG_DEBUG_UART PTR_LA t9, debug_uart_init jalr t9 nop#endif
---
BTW, like Daniel I also think this is the proper way to go.
Quoted 6 lines
Can you elaborate why is it better to put more stuff into the assembler rather than C? I'd love to hear the rationale for that.
I agree this should be called from common code , I disagree this should be called from assembler.
The purpose of debug_uart_init is to run as early as possible to provide debug output in the init code until serial_init/console_init_f have been executed. The earliest point for debug_uart_init depends on arch and/or SoC. On MIPS this point is directly after the setup_stack_gd macro. Actually there are two points on MIPS. One is before calling lowlevel_init when the stack can be used from some SRAM (option CONFIG_MIPS_INIT_STACK_IN_SRAM). This allows on some MIPS SoC's (not on all!) to implement lowlevel_init in C and to use debug_uart. This can't be realized with common code called from board_init_f. And no MIPS board currently boots with SPL, so calling debug_uart_init from spl.c is also not an option.
Also the earliest board-specific callback from board_init_f is board_early_init_f from where some MIPS boards already call debug_uart_init. Before each new MIPS board copies this style, it's better to solve this in a generic way at least for MIPS. Solving this for all archs would mean to call debug_uart_init as the first function in board_init_f. But this would conflict with some archs (x86, xtensa, nios) which already calling debug_uart_init from start.S.
Signature · 9 lines
- Daniel -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170423/6356693c/attachment.sig>
PATCH 4/4 MIPS: call debug_uart_init right before board_init_f
Quoted 84 lines · Daniel Schwierzeck
Am 23.04.2017 um 19:08 schrieb Marek Vasut:
Quoted 62 lines · Álvaro Fernández Rojas
Quoted 53 lines
Hi Marek,
Quoted 32 lines · Marek Vasut
Quoted 31 lines · Álvaro Fernández Rojas
Hi Marek,
Quoted 27 lines · Marek Vasut
Quoted 18 lines · Álvaro Fernández Rojas
From: Daniel Schwierzeck <[email protected]>
All MIPS boards that support debug uart are calling
debug_uart_initright at the beginning ofboard_early_init_f.
Instead of doing that, let's provide a generic call todebug_uart_initright before the call toboard_init_fif debug uart is enabled.Signed-off-by Daniel Schwierzeck <[email protected]>Signed-off-by Álvaro Fernández Rojas <[email protected]>--- arch/mips/cpu/start.S | 6 ++++++ 1 file changed, 6 insertions(+)arch/mips/cpu/start.S +0
-0arch/mips/cpu/start.S wr_done: · line 269
Quoted 5 lines
arch/mips/cpu/start.S +2
-0@@ -265,6 +265,12 @@ wr_done: setup_stack_gd #endif +#ifdef CONFIG_DEBUG_UART + PTR_LA t9, debug_uart_initThis should be called from C code somewhere, in fact, doesn't SPL's common code call
debug_uart_initalready ?Quoted 3 lines
Quoted 1 line
Why should this be called from C code?
Because the less stuff we have in assembler the better.
... or not.
Quoted 6 lines
Quoted 2 lines
BTW, I don't think that SPL common code calls
debug_uart_init.That's where it would make sense, grepping through the source indicates a lot of boards call this from their spl code. Also, you enter
board_init_fright below, so you can start there ...Actually I was going to do that and Daniel suggested otherwise :)
https://lists.denx.de/pipermail/u-boot/2017-April/287388.html
---
I think we should move this to MIPSstart.Sto support this for all MIPS boards in a generic way. Puttings following code between 'setup_stack_gd' and the jump to 'board_init_f' should work:Quoted 7 lines
#ifdef CONFIG_DEBUG_UART PTR_LA t9, debug_uart_init jalr t9 nop#endif
---
BTW, like Daniel I also think this is the proper way to go.Quoted 6 lines
Can you elaborate why is it better to put more stuff into the assembler rather than C? I'd love to hear the rationale for that.
I agree this should be called from common code , I disagree this should be called from assembler.
The purpose of
debug_uart_initis to run as early as possible to provide debug output in the init code until serial_init/console_init_f have been executed. The earliest point fordebug_uart_initdepends on arch and/or SoC. On MIPS this point is directly after thesetup_stack_gdmacro. Actually there are two points on MIPS. One is before callinglowlevel_initwhen the stack can be used from some SRAM (optionCONFIG_MIPS_INIT_STACK_IN_SRAM). This allows on some MIPS SoC's (not on all!) to implementlowlevel_initin C and to usedebug_uart. This can't be realized with common code called fromboard_init_f. And no MIPS board currently boots with SPL, so callingdebug_uart_initfromspl.cis also not an option.
Quoted 7 lines
Also the earliest board-specific callback from
board_init_fisboard_early_init_ffrom where some MIPS boards already calldebug_uart_init. Before each new MIPS board copies this style, it's better to solve this in a generic way at least for MIPS. Solving this for all archs would mean to calldebug_uart_initas the first function inboard_init_f. But this would conflict with some archs (x86, xtensa, nios) which already callingdebug_uart_initfromstart.S.
Then it might be time to drain the swamp ? Although that'd likely be way out of scope of this patchset.
Isn't arch_cpu_init() called way before board_early_init_f() and possibly the right place for you to put it ? If not, adding another entry into init_sequence_f might be an option (note that this patch adds the call to debug_uart_init() right before jumping into board_init_f , not right after setup_stack_gd ).
I cannot say I'm a big fan of growing something comparable to init_sequence_f in mips assembler ... the assembler parts should only be used to bring up the most basic environment to run C code, the rest should be implemented in C code.
Signature · 2 lines
Best regards, Marek Vasut
PATCH 4/4 MIPS: call debug_uart_init right before board_init_f
In reply to Álvaro Fernández RojasAm 23.04.2017 um 12:50 schrieb Álvaro Fernández Rojas:
Quoted 18 lines
From: Daniel Schwierzeck <[email protected]>
All MIPS boards that support debug uart are calling
debug_uart_initright at the beginning ofboard_early_init_f.
Instead of doing that, let's provide a generic call todebug_uart_initright before the call toboard_init_fif debug uart is enabled.Signed-off-by Daniel Schwierzeck <[email protected]>Signed-off-by Álvaro Fernández Rojas <[email protected]>--- arch/mips/cpu/start.S | 6 ++++++ 1 file changed, 6 insertions(+)arch/mips/cpu/start.S +0
-0
arch/mips/cpu/start.S wr_done: · line 273
Quoted 9 lines
arch/mips/cpu/start.S +6
-0@@ -265,6 +265,12 @@ wr_done: setup_stack_gd #endif +#ifdef CONFIG_DEBUG_UART + PTR_LA t9, debug_uart_init + jalr t9 + nop +#endif +
I think we should move this inside the "#ifndef CONFIG_MIPS_INIT_STACK_IN_SRAM ... #endif" block and also add this in the "#ifdef CONFIG_MIPS_INIT_STACK_IN_SRAM ... #endif" block above. This way a SoC can use debug_uart also in lowlevel_init if it supports the initial stack in SRAM with option CONFIG_MIPS_INIT_STACK_IN_SRAM.
Quoted 4 lines
arch/mips/cpu/start.S +0
-0move a0, zero # a0 <-- boot_flags = 0 PTR_LA t9, board_init_f
Signature · 9 lines
- Daniel -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170423/bcf1c422/attachment.sig>
cover MIPS: call debug_uart_init right before board_init_f
In reply to Álvaro Fernández RojasAll MIPS boards that support debug uart are calling debug_uart_init right at the beginning of board_early_init_f.
Instead of doing that, let's provide a generic call to debug_uart_init right before the call to board_init_f if debug uart is enabled.
v2: Introduce the changes suggested by Daniel Schwierzeck:
- Call debug_uart_init before low level init for boards with stack in SRAM.
Daniel Schwierzeck (1):
MIPS: call debug_uart_init right before board_init_f
Álvaro Fernández Rojas (3):
MIPS: QCA AP121: remove debug_uart_init call
MIPS: QCA AP143: remove debug_uart_init call
MIPS: tl-wdr4300: remove debug_uart_init call
arch/mips/cpu/start.S | 14 ++++++++++++++ board/qca/ap121/ap121.c | 3 --- board/qca/ap143/ap143.c | 3 --- board/tplink/wdr4300/wdr4300.c | 18 ++++++++++++++---- 4 files changed, 28 insertions(+), 10 deletions(-)
Signature · 1 line
2.1.4
PATCH 1/4 MIPS: QCA AP121: remove debug_uart_init call
In order to add a generic MIPS debug_uart_init call right before the call to board_early_init_f, we need to remove all calls to debug_uart_init from every MIPS boards.
---
v2: No changes.
board/qca/ap121/ap121.c | 3 --- 1 file changed, 3 deletions(-)
board/qca/ap121/ap121.c +0 -3
@@ -43,9 +43,6 @@ void board_debug_uart_init(void)int board_early_init_f (void ) { -#ifdef CONFIG_DEBUG_UART -debug_uart_init (); -#endif ddr_init ();ath79_eth_reset ();return 0 ;
Signature · 1 line
2.1.4
PATCH 1/4 MIPS: QCA AP121: remove debug_uart_init call
Am 24.04.2017 um 19:03 schrieb Álvaro Fernández Rojas:
Quoted 11 lines
In order to add a generic MIPS
debug_uart_initcall right before the call toboard_early_init_f, we need to remove all calls todebug_uart_initfrom every MIPS boards.Signed-off-by Álvaro Fernández Rojas <[email protected]>---
v2: No changes.board/qca/ap121/ap121.c | 3 --- 1 file changed, 3 deletions(-)
applied to u-boot-mips/next, thanks!
Signature · 9 lines
- Daniel -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170430/04ec7149/attachment.sig>
PATCH 2/4 MIPS: QCA AP143: remove debug_uart_init call
In reply to Álvaro Fernández RojasIn order to add a generic MIPS debug_uart_init call right before the call to board_early_init_f, we need to remove all calls to debug_uart_init from every MIPS boards.
---
v2: No changes.
board/qca/ap143/ap143.c | 3 --- 1 file changed, 3 deletions(-)
board/qca/ap143/ap143.c +0 -3
@@ -59,9 +59,6 @@ void board_debug_uart_init(void)int board_early_init_f (void ) { -#ifdef CONFIG_DEBUG_UART -debug_uart_init (); -#endif ddr_init ();ath79_eth_reset ();return 0 ;
Signature · 1 line
2.1.4
PATCH 2/4 MIPS: QCA AP143: remove debug_uart_init call
Am 24.04.2017 um 19:03 schrieb Álvaro Fernández Rojas:
Quoted 11 lines
In order to add a generic MIPS
debug_uart_initcall right before the call toboard_early_init_f, we need to remove all calls todebug_uart_initfrom every MIPS boards.Signed-off-by Álvaro Fernández Rojas <[email protected]>---
v2: No changes.board/qca/ap143/ap143.c | 3 --- 1 file changed, 3 deletions(-)
applied to u-boot-mips/next, thanks!
Signature · 9 lines
- Daniel -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170430/abf62bba/attachment.sig>
PATCH 3/4 MIPS: tl-wdr4300: remove debug_uart_init call
In reply to Álvaro Fernández RojasIn order to add a generic MIPS debug_uart_init call right before the call to board_early_init_f, we need to remove all calls to debug_uart_init from every MIPS boards.
WDR4300 doesn't provide a board_debug_uart_init and configures pinmux in board_early_init_f instead. Since I have no idead of what's the needed uart pinmux config, I copied the whole pinmux config to a new function that is called from board_early_init_f if CONFIG_DEBUG_UART_BOARD_INIT is not enabled.
---
v2: No changes.
board/tplink/wdr4300/wdr4300.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-)
board/tplink/wdr4300/wdr4300.c +14 -4
@@ -34,8 +34,7 @@ static void wdr4300_usb_start(void)static inline void wdr4300_usb_start (void ) {}#endif -#ifdef CONFIG_BOARD_EARLY_INIT_F -int board_early_init_f (void ) +void wdr4300_pinmux_config (void ) {void __iomem *regs;
@@ -56,9 +55,20 @@ int board_early_init_f(void)writel (0x00000000 , regs +AR934X_GPIO_REG_OUT_FUNC3 );writel (0x0000004d , regs +AR934X_GPIO_REG_OUT_FUNC4 );writel (0x00000000 , regs +AR934X_GPIO_REG_OUT_FUNC5 ); +} + +#ifdef CONFIG_DEBUG_UART_BOARD_INIT +void board_debug_uart_init (void ) +{ +wdr4300_pinmux_config (); +} +#endif -#ifdef CONFIG_DEBUG_UART -debug_uart_init (); +#ifdef CONFIG_BOARD_EARLY_INIT_F +int board_early_init_f (void ) +{ +#ifndef CONFIG_DEBUG_UART_BOARD_INIT +wdr4300_pinmux_config ();#endif #ifndef CONFIG_SKIP_LOWLEVEL_INIT
Signature · 1 line
2.1.4
PATCH 3/4 MIPS: tl-wdr4300: remove debug_uart_init call
Am 24.04.2017 um 19:03 schrieb Álvaro Fernández Rojas:
Quoted 8 lines
In order to add a generic MIPS
debug_uart_initcall right before the call toboard_early_init_f, we need to remove all calls todebug_uart_initfrom every MIPS boards.
WDR4300 doesn't provide aboard_debug_uart_initand configures pinmux inboard_early_init_finstead. Since I have no idead of what's the needed uart pinmux config, I copied the whole pinmux config to a new function that is called fromboard_early_init_fifCONFIG_DEBUG_UART_BOARD_INITis not enabled.
Quoted 7 lines
Signed-off-by Álvaro Fernández Rojas <[email protected]>---
v2: No changes.board/tplink/wdr4300/wdr4300.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-)
applied to u-boot-mips/next, thanks!
Signature · 9 lines
- Daniel -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170430/987d7c49/attachment.sig>
PATCH 4/4 MIPS: call debug_uart_init right before board_init_f
In reply to Álvaro Fernández RojasFrom: Daniel Schwierzeck <[email protected]>
All MIPS boards that support debug uart are calling debug_uart_init right at the beginning of board_early_init_f.
Instead of doing that, let's provide a generic call to debug_uart_init right before the call to board_init_f if debug uart is enabled for boards without stack in SRAM.
On the other hand, boards with stack in SRAM can call earlier (right before low level init).
---
v2: Introduce the changes suggested by Daniel Schwierzeck:
- Call debug_uart_init before low level init for boards with stack in SRAM.
arch/mips/cpu/start.S | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
arch/mips/cpu/start.S +14 -0
@@ -237,6 +237,13 @@ wr_done: #ifdef CONFIG_MIPS_INIT_STACK_IN_SRAM /* Set up initial stack and global data */ setup_stack_gd + +# ifdef CONFIG_DEBUG_UART + /* Earliest point to set up debug uart */ + PTR_LA t9, debug_uart_init + jalr t9 + nop +# endif #endif #ifndef CONFIG_SKIP_LOWLEVEL_INIT
@@ -263,6 +270,13 @@ wr_done: #ifndef CONFIG_MIPS_INIT_STACK_IN_SRAM /* Set up initial stack and global data */ setup_stack_gd + +# ifdef CONFIG_DEBUG_UART + /* Earliest point to set up debug uart */ + PTR_LA t9, debug_uart_init + jalr t9 + nop +# endif #endif move a0, zero # a0 <-- boot_flags = 0
Signature · 1 line
2.1.4
PATCH 4/4 MIPS: call debug_uart_init right before board_init_f
Am 24.04.2017 um 19:03 schrieb Álvaro Fernández Rojas:
Quoted 10 lines
From: Daniel Schwierzeck <[email protected]>
All MIPS boards that support debug uart are calling
debug_uart_initright at the beginning ofboard_early_init_f.
Instead of doing that, let's provide a generic call todebug_uart_initright before the call toboard_init_fif debug uart is enabled for boards without stack in SRAM.
On the other hand, boards with stack in SRAM can call earlier (right before low level init).
Quoted 9 lines
Signed-off-by Daniel Schwierzeck <[email protected]>Signed-off-by Álvaro Fernández Rojas <[email protected]>---
v2: Introduce the changes suggested by Daniel Schwierzeck:
- Calldebug_uart_initbefore low level init for boards with stack in SRAM.arch/mips/cpu/start.S | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
applied to u-boot-mips/next, thanks!
Signature · 9 lines
- Daniel -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170430/738a1195/attachment.sig>
cover MIPS: call debug_uart_init right before board_init_f
In reply to Álvaro Fernández RojasI've just realized I sent this without v2 prefix.
Should I resend it?
Quoted 22 lines · Álvaro Fernández Rojas
All MIPS boards that support debug uart are calling
debug_uart_initright at the beginning ofboard_early_init_f.
Instead of doing that, let's provide a generic call todebug_uart_initright before the call toboard_init_fif debug uart is enabled.v2: Introduce the changes suggested by Daniel Schwierzeck:
- Calldebug_uart_initbefore low level init for boards with stack in SRAM.Daniel Schwierzeck (1):
MIPS: calldebug_uart_initright beforeboard_init_fÁlvaro Fernández Rojas (3):
MIPS: QCA AP121: removedebug_uart_initcall
MIPS: QCA AP143: removedebug_uart_initcall
MIPS: tl-wdr4300: removedebug_uart_initcallarch/mips/cpu/start.S | 14 ++++++++++++++ board/qca/ap121/ap121.c | 3 --- board/qca/ap143/ap143.c | 3 --- board/tplink/wdr4300/wdr4300.c | 18 ++++++++++++++---- 4 files changed, 28 insertions(+), 10 deletions(-)
cover MIPS: call debug_uart_init right before board_init_f
2017-04-25 17:48 GMT+02:00 Álvaro Fernández Rojas <[email protected]>:
Quoted 2 lines
I've just realized I sent this without v2 prefix.
Should I resend it?
no, I've found the right patches in patchwork ;)
Quoted 24 lines · Álvaro Fernández Rojas
Quoted 22 lines
All MIPS boards that support debug uart are calling
debug_uart_initright at the beginning ofboard_early_init_f.
Instead of doing that, let's provide a generic call todebug_uart_initright before the call toboard_init_fif debug uart is enabled.v2: Introduce the changes suggested by Daniel Schwierzeck:
- Calldebug_uart_initbefore low level init for boards with stack in SRAM.Daniel Schwierzeck (1):
MIPS: calldebug_uart_initright beforeboard_init_fÁlvaro Fernández Rojas (3):
MIPS: QCA AP121: removedebug_uart_initcall
MIPS: QCA AP143: removedebug_uart_initcall
MIPS: tl-wdr4300: removedebug_uart_initcallarch/mips/cpu/start.S | 14 ++++++++++++++ board/qca/ap121/ap121.c | 3 --- board/qca/ap143/ap143.c | 3 --- board/tplink/wdr4300/wdr4300.c | 18 ++++++++++++++---- 4 files changed, 28 insertions(+), 10 deletions(-)
Signature · 1 line
- Daniel