Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
R
Rk3576 Downstream U-Boot
Manage
Activity
Members
Labels
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Package Registry
Model registry
Operate
Terraform modules
Analyze
Value stream analytics
Contributor 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
Nicolas Frattaroli
Rk3576 Downstream U-Boot
Commits
49b3962d
Commit
49b3962d
authored
12 years ago
by
Tom Rini
Browse files
Options
Downloads
Plain Diff
Merge branch 'master' of
git://git.denx.de/u-boot-mpc83xx
parents
7ee46ceb
db1fc7d2
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
board/freescale/mpc8308rdb/mpc8308rdb.c
+58
-0
58 additions, 0 deletions
board/freescale/mpc8308rdb/mpc8308rdb.c
drivers/spi/mpc8xxx_spi.c
+4
-0
4 additions, 0 deletions
drivers/spi/mpc8xxx_spi.c
include/configs/MPC8308RDB.h
+31
-0
31 additions, 0 deletions
include/configs/MPC8308RDB.h
with
93 additions
and
0 deletions
board/freescale/mpc8308rdb/mpc8308rdb.c
+
58
−
0
View file @
49b3962d
...
...
@@ -24,18 +24,56 @@
#include
<common.h>
#include
<hwconfig.h>
#include
<i2c.h>
#include
<spi.h>
#include
<libfdt.h>
#include
<fdt_support.h>
#include
<pci.h>
#include
<mpc83xx.h>
#include
<vsc7385.h>
#include
<netdev.h>
#include
<fsl_esdhc.h>
#include
<asm/io.h>
#include
<asm/fsl_serdes.h>
#include
<asm/fsl_mpc83xx_serdes.h>
DECLARE_GLOBAL_DATA_PTR
;
/*
* The following are used to control the SPI chip selects for the SPI command.
*/
#ifdef CONFIG_MPC8XXX_SPI
#define SPI_CS_MASK 0x00400000
int
spi_cs_is_valid
(
unsigned
int
bus
,
unsigned
int
cs
)
{
return
bus
==
0
&&
cs
==
0
;
}
void
spi_cs_activate
(
struct
spi_slave
*
slave
)
{
immap_t
*
immr
=
(
immap_t
*
)
CONFIG_SYS_IMMR
;
/* active low */
clrbits_be32
(
&
immr
->
gpio
[
0
].
dat
,
SPI_CS_MASK
);
}
void
spi_cs_deactivate
(
struct
spi_slave
*
slave
)
{
immap_t
*
immr
=
(
immap_t
*
)
CONFIG_SYS_IMMR
;
/* inactive high */
setbits_be32
(
&
immr
->
gpio
[
0
].
dat
,
SPI_CS_MASK
);
}
#endif
/* CONFIG_MPC8XXX_SPI */
#ifdef CONFIG_FSL_ESDHC
int
board_mmc_init
(
bd_t
*
bd
)
{
return
fsl_esdhc_mmc_init
(
bd
);
}
#endif
static
u8
read_board_info
(
void
)
{
u8
val8
;
...
...
@@ -109,6 +147,25 @@ void pci_init_board(void)
*/
int
misc_init_r
(
void
)
{
#ifdef CONFIG_MPC8XXX_SPI
immap_t
*
immr
=
(
immap_t
*
)
CONFIG_SYS_IMMR
;
sysconf83xx_t
*
sysconf
=
&
immr
->
sysconf
;
/*
* Set proper bits in SICRH to allow SPI on header J8
*
* NOTE: this breaks the TSEC2 interface, attached to the Vitesse
* switch. The pinmux configuration does not have a fine enough
* granularity to support both simultaneously.
*/
clrsetbits_be32
(
&
sysconf
->
sicrh
,
SICRH_GPIO_A_TSEC2
,
SICRH_GPIO_A_GPIO
);
puts
(
"WARNING: SPI enabled, TSEC2 support is broken
\n
"
);
/* Set header J8 SPI chip select output, disabled */
setbits_be32
(
&
immr
->
gpio
[
0
].
dir
,
SPI_CS_MASK
);
setbits_be32
(
&
immr
->
gpio
[
0
].
dat
,
SPI_CS_MASK
);
#endif
#ifdef CONFIG_VSC7385_IMAGE
if
(
vsc7385_upload_firmware
((
void
*
)
CONFIG_VSC7385_IMAGE
,
CONFIG_VSC7385_IMAGE_SIZE
))
{
...
...
@@ -124,6 +181,7 @@ void ft_board_setup(void *blob, bd_t *bd)
{
ft_cpu_setup
(
blob
,
bd
);
fdt_fixup_dr_usb
(
blob
,
bd
);
fdt_fixup_esdhc
(
blob
,
bd
);
}
#endif
...
...
This diff is collapsed.
Click to expand it.
drivers/spi/mpc8xxx_spi.c
+
4
−
0
View file @
49b3962d
...
...
@@ -124,6 +124,8 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
* len > 16 0
*/
spi
->
mode
&=
~
SPI_MODE_EN
;
if
(
bitlen
<=
16
)
{
if
(
bitlen
<=
4
)
spi
->
mode
=
(
spi
->
mode
&
0xff0fffff
)
|
...
...
@@ -138,6 +140,8 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
dout
+=
4
;
}
spi
->
mode
|=
SPI_MODE_EN
;
spi
->
tx
=
tmpdout
;
/* Write the data out */
debug
(
"*** spi_xfer: ... %08x written
\n
"
,
tmpdout
);
...
...
This diff is collapsed.
Click to expand it.
include/configs/MPC8308RDB.h
+
31
−
0
View file @
49b3962d
...
...
@@ -37,6 +37,24 @@
#define CONFIG_MISC_INIT_R
/* new uImage format support */
#define CONFIG_FIT 1
#define CONFIG_FIT_VERBOSE 1
#define CONFIG_MMC 1
#ifdef CONFIG_MMC
#define CONFIG_FSL_ESDHC
#define CONFIG_SYS_FSL_ESDHC_ADDR CONFIG_SYS_MPC83xx_ESDHC_ADDR
#define CONFIG_SYS_FSL_ERRATUM_ESDHC111
#define CONFIG_SYS_FSL_ESDHC_USE_PIO
#define CONFIG_CMD_MMC
#define CONFIG_GENERIC_MMC
#define CONFIG_CMD_FAT
#define CONFIG_DOS_PARTITION
#endif
/*
* On-board devices
*
...
...
@@ -340,6 +358,19 @@
#define CONFIG_SYS_I2C_OFFSET 0x3000
#define CONFIG_SYS_I2C2_OFFSET 0x3100
/*
* SPI on header J8
*
* WARNING: enabling this will break TSEC2 (connected to the Vitesse switch)
* due to a pinmux conflict between GPIO9 (SPI chip select )and the TSEC2 pins.
*/
#ifdef CONFIG_MPC8XXX_SPI
#define CONFIG_CMD_SPI
#define CONFIG_USE_SPIFLASH
#define CONFIG_SPI_FLASH
#define CONFIG_SPI_FLASH_SPANSION
#define CONFIG_CMD_SF
#endif
/*
* Board info - revision and where boot from
...
...
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