Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
ezynq
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Elphel
ezynq
Commits
ea294ba2
Commit
ea294ba2
authored
Nov 03, 2013
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added extra UART wait FIFO empty
parent
1764b459
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
7 deletions
+6
-7
ezynq_uboot.py
ezynq_uboot.py
+6
-7
No files found.
ezynq_uboot.py
View file @
ea294ba2
...
@@ -662,12 +662,14 @@ int arch_cpu_init(void)
...
@@ -662,12 +662,14 @@ int arch_cpu_init(void)
Be careful not to call functions or access data stored in the 3 lower OCM pages.
Be careful not to call functions or access data stored in the 3 lower OCM pages.
writel() is OK as it is just a macro, not a function call
writel() is OK as it is just a macro, not a function call
*/
*/
\t
asm("add pc, pc, #0x4000000" );
\t
asm("add pc, pc, #0x4000000
\\
n
\\
t"
"mov r0,r0
\\
n
\\
t"
"mov r0,r0" );
'''
'''
# seems some delay is needed before remapping DDR memory
# seems some delay is needed before remapping DDR memory
self
.
cfile
+=
'
\t
ddrc_wait_queue_empty(); /* seems some delay is needed here before remapping DDR memory */
\n
'
self
.
cfile
+=
'
\t
ddrc_wait_queue_empty(); /* seems some delay is needed here before remapping DDR memory */
\n
'
self
.
_cp_led
(
'LED_CHECKPOINT_9'
)
# After relocation to DDR (to 0x4000000+ )
self
.
_cp_led
(
'LED_CHECKPOINT_9'
)
# After relocation to DDR (to 0x4000000+ )
# self._cp_led('LED_CHECKPOINT_9') # After relocation to DDR (to 0x4000000+ )
self
.
cfile
+=
'
\t
writel(0, &scu_base->filter_start); /* Remap DDR to zero, FILTERSTART */
\n
'
self
.
cfile
+=
'
\t
writel(0, &scu_base->filter_start); /* Remap DDR to zero, FILTERSTART */
\n
'
self
.
cfile
+=
'''/* Device config APB, unlock the PCAP */
self
.
cfile
+=
'''/* Device config APB, unlock the PCAP */
\t
writel(0x757BDF0D, &devcfg_base->unlock);
\t
writel(0x757BDF0D, &devcfg_base->unlock);
...
@@ -725,12 +727,9 @@ int arch_cpu_init(void)
...
@@ -725,12 +727,9 @@ int arch_cpu_init(void)
self
.
cfile
+=
'
\t
uart_putc(0xa);
\n
'
self
.
cfile
+=
'
\t
uart_putc(0xa);
\n
'
if
'uart_xmit'
in
self
.
sections
:
if
'uart_xmit'
in
self
.
sections
:
self
.
cfile
+=
'
\t
uart_wait_tx_fifo_empty(); /* u-boot may re-program UART differently, wait all is sent before getting there */
\n
'
self
.
cfile
+=
'
\t
uart_wait_tx_fifo_empty(); /* u-boot may re-program UART differently, wait all is sent before getting there */
\n
'
#uart_wait_tx_fifo_empty() - add if u-boot debug is on
self
.
_cp_led
(
'LED_CHECKPOINT_12'
)
# Before leaving lowlevel_init()
self
.
_cp_led
(
'LED_CHECKPOINT_12'
)
# Before leaving lowlevel_init()
if
'uart_xmit'
in
self
.
sections
:
# #Setup GPIO outputs (after LED debug is over)
self
.
cfile
+=
'
\t
uart_wait_tx_fifo_empty(); /* Second time - for some reason 1 wait sometimes fails after LAST_PRINT_DEBUG */
\n
'
# if 'gpio_out' in self.sections:
# self.cfile+='\tsetup_gpio_outputs(); /* Setup GPIO outputs */\n'
#LOCK_SLCR
#LOCK_SLCR
if
self
.
features
.
get_par_value_or_none
(
'LOCK_SLCR'
)
is
False
:
if
self
.
features
.
get_par_value_or_none
(
'LOCK_SLCR'
)
is
False
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment