Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
R
reform-boundary-uboot
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Jack Humbert
reform-boundary-uboot
Commits
8a42eac7
Commit
8a42eac7
authored
21 years ago
by
dzu
Browse files
Options
Downloads
Patches
Plain Diff
* Adapt TRAB configuration and auto_update to new memory layout
parent
91e940d9
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
CHANGELOG
+2
-0
2 additions, 0 deletions
CHANGELOG
board/trab/auto_update.c
+13
-10
13 additions, 10 deletions
board/trab/auto_update.c
cpu/arm920t/usb_ohci.c
+75
-10
75 additions, 10 deletions
cpu/arm920t/usb_ohci.c
include/configs/trab.h
+1
-1
1 addition, 1 deletion
include/configs/trab.h
with
91 additions
and
21 deletions
CHANGELOG
+
2
−
0
View file @
8a42eac7
...
...
@@ -2,6 +2,8 @@
Changes for U-Boot 1.0.0:
======================================================================
* Adapt TRAB configuration and auto_update to new memory layout
* Add configuration for wtk board
* Add support for the Sharp LQ065T9DR51U LCD display
...
...
This diff is collapsed.
Click to expand it.
board/trab/auto_update.c
+
13
−
10
View file @
8a42eac7
...
...
@@ -105,14 +105,14 @@ struct flash_layout
#define AU_FL_APP_ND 0x005BFFFF
#define AU_FL_DISK_ST 0x005C0000
#define AU_FL_DISK_ND 0x00FFFFFF
#else
/* 8 MB Flash,
16
MB RAM */
#else
/* 8 MB Flash,
32
MB RAM */
#define AU_FL_FIRMWARE_ST 0x00000000
#define AU_FL_FIRMWARE_ND 0x000
3
FFFF
#define AU_FL_KERNEL_ST 0x000
4
0000
#define AU_FL_KERNEL_ND 0x001
1
FFFF
#define AU_FL_APP_ST 0x001
2
0000
#define AU_FL_APP_ND 0x00
3F
FFFF
#define AU_FL_DISK_ST 0x00
40
0000
#define AU_FL_FIRMWARE_ND 0x000
5
FFFF
#define AU_FL_KERNEL_ST 0x000
6
0000
#define AU_FL_KERNEL_ND 0x001
3
FFFF
#define AU_FL_APP_ST 0x001
4
0000
#define AU_FL_APP_ND 0x00
67
FFFF
#define AU_FL_DISK_ST 0x00
68
0000
#define AU_FL_DISK_ND 0x007DFFFF
#define AU_FL_VFD_ST 0x007E0000
#define AU_FL_VFD_ND 0x007FFFFF
...
...
@@ -186,8 +186,8 @@ struct flash_layout aufl_layout[AU_MAXFILES - 3] = { \
#define LOAD_ADDR ((unsigned char *)0x0C100100)
/* where to build strings in memory - 256 bytes should be enough */
#define STRING_ADDR ((char *)0x0C100000)
/* the
disk
is the largest image */
#define MAX_LOADSZ ausize[IDX_
DISK
]
/* the
app
is the largest image */
#define MAX_LOADSZ ausize[IDX_
APP
]
/* externals */
extern
int
fat_register_device
(
block_dev_desc_t
*
,
int
);
...
...
@@ -222,7 +222,7 @@ au_check_valid(int idx, long nbytes)
#endif
if
(
ntohl
(
hdr
->
ih_magic
)
!=
IH_MAGIC
||
hdr
->
ih_arch
!=
IH_CPU_ARM
||
nbytes
<
ntohl
(
hdr
->
ih_size
))
nbytes
!=
(
sizeof
(
*
hdr
)
+
ntohl
(
hdr
->
ih_size
))
)
{
printf
(
"Image %s bad MAGIC or ARCH or SIZE
\n
"
,
aufile
[
idx
]);
return
-
1
;
...
...
@@ -589,6 +589,9 @@ do_auto_update(void)
*/
if
(
got_ctrlc
==
0
)
au_update_eeprom
(
i
);
else
/* enable the power switch */
*
CPLD_VFD_BK
&=
~
POWER_OFF
;
}
usb_stop
();
/* restore the old state */
...
...
This diff is collapsed.
Click to expand it.
cpu/arm920t/usb_ohci.c
+
75
−
10
View file @
8a42eac7
...
...
@@ -51,8 +51,6 @@
#define OHCI_CONTROL_INIT \
(OHCI_CTRL_CBSR & 0x3) | OHCI_CTRL_IE | OHCI_CTRL_PLE
#define OHCI_UNLINK_TIMEOUT (CFG_HZ / 10)
#define readl(a) (*((vu_long *)(a)))
#define writel(a, b) (*((vu_long *)(b)) = ((vu_long)a))
...
...
@@ -85,6 +83,10 @@ struct ohci_hcca *phcca;
struct
ohci_device
ohci_dev
;
/* urb_priv */
urb_priv_t
urb_priv
;
/* RHSC flag */
int
got_rhsc
;
/* device which was disconnected */
struct
usb_device
*
devgone
;
/*-------------------------------------------------------------------------*/
...
...
@@ -952,8 +954,29 @@ static unsigned char root_hub_str_index1[] =
/* request to virtual root hub */
static
int
ohci_submit_rh_msg
(
struct
usb_device
*
dev
,
unsigned
long
pipe
,
void
*
buffer
,
int
transfer_len
,
struct
devrequest
*
cmd
)
int
rh_check_port_status
(
ohci_t
*
controller
)
{
__u32
temp
,
ndp
,
i
;
int
res
;
res
=
-
1
;
temp
=
roothub_a
(
controller
);
ndp
=
(
temp
&
RH_A_NDP
);
for
(
i
=
0
;
i
<
ndp
;
i
++
)
{
temp
=
roothub_portstatus
(
controller
,
i
);
/* check for a device disconnect */
if
(((
temp
&
(
RH_PS_PESC
|
RH_PS_CSC
))
==
(
RH_PS_PESC
|
RH_PS_CSC
))
&&
((
temp
&
RH_PS_CCS
)
==
0
))
{
res
=
i
;
break
;
}
}
return
res
;
}
static
int
ohci_submit_rh_msg
(
struct
usb_device
*
dev
,
unsigned
long
pipe
,
void
*
buffer
,
int
transfer_len
,
struct
devrequest
*
cmd
)
{
void
*
data
=
buffer
;
int
leni
=
transfer_len
;
...
...
@@ -1178,6 +1201,12 @@ int submit_common_msg(struct usb_device *dev, unsigned long pipe, void *buffer,
int
maxsize
=
usb_maxpacket
(
dev
,
pipe
);
int
timeout
;
/* device pulled? Shortcut the action. */
if
(
devgone
==
dev
)
{
dev
->
status
=
USB_ST_CRC_ERR
;
return
0
;
}
#ifdef DEBUG
urb_priv
.
actual_length
=
0
;
pkt_print
(
dev
,
pipe
,
buffer
,
transfer_len
,
setup
,
"SUB"
,
usb_pipein
(
pipe
));
...
...
@@ -1210,7 +1239,7 @@ int submit_common_msg(struct usb_device *dev, unsigned long pipe, void *buffer,
/* check whether the controller is done */
stat
=
hc_interrupt
();
if
(
stat
<
0
)
{
stat
=
1
;
stat
=
USB_ST_CRC_ERR
;
break
;
}
if
(
stat
>=
0
&&
stat
!=
0xff
)
{
...
...
@@ -1220,11 +1249,33 @@ int submit_common_msg(struct usb_device *dev, unsigned long pipe, void *buffer,
if
(
--
timeout
)
{
wait_ms
(
1
);
}
else
{
err
(
"CTL:TIMEOUT"
);
stat
=
1
;
err
(
"CTL:TIMEOUT
"
);
stat
=
USB_ST_CRC_ERR
;
break
;
}
}
/* we got an Root Hub Status Change interrupt */
if
(
got_rhsc
)
{
#ifdef DEBUG
ohci_dump_roothub
(
&
gohci
,
1
);
#endif
got_rhsc
=
0
;
/* abuse timeout */
timeout
=
rh_check_port_status
(
&
gohci
);
if
(
timeout
>=
0
)
{
#if 0 /* this does nothing useful, but leave it here in case that changes */
/* the called routine adds 1 to the passed value */
usb_hub_port_connect_change(gohci.rh.dev, timeout - 1);
#endif
/*
* XXX
* This is potentially dangerous because it assumes
* that only one device is ever plugged in!
*/
devgone
=
dev
;
}
}
dev
->
status
=
stat
;
dev
->
act_len
=
transfer_len
;
...
...
@@ -1264,10 +1315,12 @@ int submit_control_msg(struct usb_device *dev, unsigned long pipe, void *buffer,
pipe
);
return
-
1
;
}
if
(((
pipe
>>
8
)
&
0x7f
)
==
gohci
.
rh
.
devnum
)
if
(((
pipe
>>
8
)
&
0x7f
)
==
gohci
.
rh
.
devnum
)
{
gohci
.
rh
.
dev
=
dev
;
/* root hub - redirect */
return
ohci_submit_rh_msg
(
dev
,
pipe
,
buffer
,
transfer_len
,
setup
);
}
return
submit_common_msg
(
dev
,
pipe
,
buffer
,
transfer_len
,
setup
,
0
);
}
...
...
@@ -1356,9 +1409,17 @@ static int hc_start (ohci_t * ohci)
ohci
->
disabled
=
0
;
writel
(
ohci
->
hc_control
,
&
ohci
->
regs
->
control
);
/* Choose the interrupts we care about now, others later on demand */
mask
=
OHCI_INTR_MIE
|
OHCI_INTR_UE
|
OHCI_INTR_WDH
|
OHCI_INTR_SO
;
/* disable all interrupts */
mask
=
(
OHCI_INTR_SO
|
OHCI_INTR_WDH
|
OHCI_INTR_SF
|
OHCI_INTR_RD
|
OHCI_INTR_UE
|
OHCI_INTR_FNO
|
OHCI_INTR_RHSC
|
OHCI_INTR_OC
|
OHCI_INTR_MIE
);
writel
(
mask
,
&
ohci
->
regs
->
intrdisable
);
/* clear all interrupts */
mask
&=
~
OHCI_INTR_MIE
;
writel
(
mask
,
&
ohci
->
regs
->
intrstatus
);
/* Choose the interrupts we care about now - but w/o MIE */
mask
=
OHCI_INTR_RHSC
|
OHCI_INTR_UE
|
OHCI_INTR_WDH
|
OHCI_INTR_SO
;
writel
(
mask
,
&
ohci
->
regs
->
intrenable
);
#ifdef OHCI_USE_NPS
/* required for AMD-756 and some Mac platforms */
...
...
@@ -1397,6 +1458,10 @@ hc_interrupt (void)
/* dbg("Interrupt: %x frame: %x", ints, le16_to_cpu (ohci->hcca->frame_no)); */
if
(
ints
&
OHCI_INTR_RHSC
)
{
got_rhsc
=
1
;
}
if
(
ints
&
OHCI_INTR_UE
)
{
ohci
->
disabled
++
;
err
(
"OHCI Unrecoverable Error, controller usb-%s disabled"
,
...
...
This diff is collapsed.
Click to expand it.
include/configs/trab.h
+
1
−
1
View file @
8a42eac7
...
...
@@ -28,8 +28,8 @@
#ifdef CONFIG_OLD_VERSION
/* Old configuration: */
#define CONFIG_RAM_16MB
/* 16 MB SDRAM */
#define CONFIG_FLASH_8MB
/* 8 MB Flash */
#endif
#define CONFIG_FLASH_8MB
/* 8 MB Flash */
/*
* If we are developing, we might want to start armboot from ram
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment