Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
U
uboot-imx
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
8
Issues
8
List
Boards
Labels
Milestones
Merge Requests
7
Merge Requests
7
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Librem5
uboot-imx
Commits
cf4128e5
Commit
cf4128e5
authored
Jan 26, 2017
by
Tom Rini
Browse files
Options
Browse Files
Download
Plain Diff
Merge
git://www.denx.de/git/u-boot-marvell
parents
f59f07ec
e559ef1a
Changes
16
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
624 additions
and
10 deletions
+624
-10
arch/arm/dts/armada-3720-db.dts
arch/arm/dts/armada-3720-db.dts
+21
-0
arch/arm/dts/armada-37xx.dtsi
arch/arm/dts/armada-37xx.dtsi
+16
-0
arch/arm/dts/armada-7040-db.dts
arch/arm/dts/armada-7040-db.dts
+14
-0
arch/arm/dts/armada-ap806.dtsi
arch/arm/dts/armada-ap806.dtsi
+8
-0
arch/arm/dts/armada-cp110-master.dtsi
arch/arm/dts/armada-cp110-master.dtsi
+8
-0
cmd/mvebu/bubt.c
cmd/mvebu/bubt.c
+22
-3
configs/mvebu_db-88f3720_defconfig
configs/mvebu_db-88f3720_defconfig
+5
-1
configs/mvebu_db-88f7040_defconfig
configs/mvebu_db-88f7040_defconfig
+4
-1
configs/mvebu_db-88f8040_defconfig
configs/mvebu_db-88f8040_defconfig
+4
-1
drivers/mmc/Kconfig
drivers/mmc/Kconfig
+11
-0
drivers/mmc/Makefile
drivers/mmc/Makefile
+1
-0
drivers/mmc/sdhci.c
drivers/mmc/sdhci.c
+6
-4
drivers/mmc/xenon_sdhci.c
drivers/mmc/xenon_sdhci.c
+497
-0
include/configs/mvebu_armada-8k.h
include/configs/mvebu_armada-8k.h
+3
-0
include/configs/mvebu_db-88f3720.h
include/configs/mvebu_db-88f3720.h
+3
-0
include/sdhci.h
include/sdhci.h
+1
-0
No files found.
arch/arm/dts/armada-3720-db.dts
View file @
cf4128e5
...
...
@@ -94,6 +94,27 @@
status
=
"okay"
;
};
&
sdhci0
{
bus
-
width
=
<
4
>;
status
=
"okay"
;
};
&
sdhci1
{
non
-
removable
;
bus
-
width
=
<
8
>;
mmc
-
ddr
-
1
_8v
;
mmc
-
hs400
-
1
_8v
;
marvell
,
pad
-
type
=
"fixed-1-8v"
;
status
=
"okay"
;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
0
>;
mmccard
:
mmccard
@
0
{
compatible
=
"mmc-card"
;
reg
=
<
0
>;
};
};
&
spi0
{
status
=
"okay"
;
...
...
arch/arm/dts/armada-37xx.dtsi
View file @
cf4128e5
...
...
@@ -133,6 +133,22 @@
};
};
sdhci0
:
sdhci
@
d0000
{
compatible
=
"marvell,armada-3700-sdhci"
,
"marvell,sdhci-xenon"
;
reg
=
<
0xd0000
0x300
0x1e808
0x4
>;
status
=
"disabled"
;
};
sdhci1
:
sdhci
@
d8000
{
compatible
=
"marvell,armada-3700-sdhci"
,
"marvell,sdhci-xenon"
;
reg
=
<
0xd8000
0x300
0x17808
0x4
>;
status
=
"disabled"
;
};
sata
:
sata
@
e0000
{
compatible
=
"marvell,armada-3700-ahci"
;
reg
=
<
0xe0000
0x2000
>;
...
...
arch/arm/dts/armada-7040-db.dts
View file @
cf4128e5
...
...
@@ -195,3 +195,17 @@
&
cpm_utmi1
{
status
=
"okay"
;
};
&
ap_sdhci0
{
status
=
"okay"
;
bus
-
width
=
<
4
>;
no
-
1
-
8
-
v
;
non
-
removable
;
};
&
cpm_sdhci0
{
status
=
"okay"
;
bus
-
width
=
<
4
>;
no
-
1
-
8
-
v
;
non
-
removable
;
};
arch/arm/dts/armada-ap806.dtsi
View file @
cf4128e5
...
...
@@ -234,6 +234,14 @@
};
ap_sdhci0
:
sdhci
@
6e0000
{
compatible
=
"marvell,armada-8k-sdhci"
;
reg
=
<
0x6e0000
0x300
>;
interrupts
=
<
GIC_SPI
16
IRQ_TYPE_LEVEL_HIGH
>;
dma
-
coherent
;
status
=
"disabled"
;
};
ap_syscon
:
system
-
controller
@
6f4000
{
compatible
=
"marvell,ap806-system-controller"
,
"syscon"
;
...
...
arch/arm/dts/armada-cp110-master.dtsi
View file @
cf4128e5
...
...
@@ -206,6 +206,14 @@
utmi-port = <UTMI_PHY_TO_USB_HOST1>;
status = "disabled";
};
cpm_sdhci0: sdhci@780000 {
compatible = "marvell,armada-8k-sdhci";
reg = <0x780000 0x300>;
interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
dma-coherent;
status = "disabled";
};
};
cpm_pcie0: pcie@f2600000 {
...
...
cmd/mvebu/bubt.c
View file @
cf4128e5
...
...
@@ -18,6 +18,9 @@
#include <usb.h>
#include <fs.h>
#include <mmc.h>
#ifdef CONFIG_BLK
#include <blk.h>
#endif
#include <u-boot/sha1.h>
#include <u-boot/sha256.h>
...
...
@@ -116,7 +119,9 @@ static int mmc_burn_image(size_t image_size)
ulong
blk_written
;
int
err
;
const
u8
mmc_dev_num
=
CONFIG_SYS_MMC_ENV_DEV
;
#ifdef CONFIG_BLK
struct
blk_desc
*
blk_desc
;
#endif
mmc
=
find_mmc_device
(
mmc_dev_num
);
if
(
!
mmc
)
{
printf
(
"No SD/MMC/eMMC card found
\n
"
);
...
...
@@ -144,13 +149,27 @@ static int mmc_burn_image(size_t image_size)
* MMC/eMMC boots from LBA-0
*/
start_lba
=
IS_SD
(
mmc
)
?
1
:
0
;
#ifdef CONFIG_BLK
blk_count
=
image_size
/
mmc
->
write_bl_len
;
if
(
image_size
%
mmc
->
write_bl_len
)
blk_count
+=
1
;
blk_desc
=
mmc_get_blk_desc
(
mmc
);
if
(
!
blk_desc
)
{
printf
(
"Error - failed to obtain block descriptor
\n
"
);
return
-
ENODEV
;
}
blk_written
=
blk_dwrite
(
blk_desc
,
start_lba
,
blk_count
,
(
void
*
)
get_load_addr
());
#else
blk_count
=
image_size
/
mmc
->
block_dev
.
blksz
;
if
(
image_size
%
mmc
->
block_dev
.
blksz
)
blk_count
+=
1
;
blk_written
=
mmc
->
block_dev
.
block_write
(
mmc_dev_num
,
start_lba
,
blk_count
,
(
void
*
)
get_load_addr
());
start_lba
,
blk_count
,
(
void
*
)
get_load_addr
());
#endif
/* CONFIG_BLK */
if
(
blk_written
!=
blk_count
)
{
printf
(
"Error - written %#lx blocks
\n
"
,
blk_written
);
return
-
ENOSPC
;
...
...
configs/mvebu_db-88f3720_defconfig
View file @
cf4128e5
...
...
@@ -2,7 +2,6 @@ CONFIG_ARM=y
CONFIG_ARCH_MVEBU=y
CONFIG_SYS_MALLOC_F_LEN=0x2000
CONFIG_TARGET_MVEBU_DB_88F3720=y
# CONFIG_MMC is not set
CONFIG_DEFAULT_DEVICE_TREE="armada-3720-db"
CONFIG_AHCI=y
# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
...
...
@@ -13,6 +12,7 @@ CONFIG_ARCH_EARLY_INIT_R=y
CONFIG_BOARD_EARLY_INIT_F=y
# CONFIG_CMD_IMLS is not set
# CONFIG_CMD_FLASH is not set
CONFIG_CMD_MMC=y
CONFIG_CMD_SF=y
CONFIG_CMD_SPI=y
CONFIG_CMD_I2C=y
...
...
@@ -33,6 +33,10 @@ CONFIG_BLOCK_CACHE=y
CONFIG_DM_I2C=y
CONFIG_DM_I2C_COMPAT=y
CONFIG_MISC=y
CONFIG_DM_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_SDMA=y
CONFIG_MMC_SDHCI_XENON=y
CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_MACRONIX=y
CONFIG_SPI_FLASH_SPANSION=y
...
...
configs/mvebu_db-88f7040_defconfig
View file @
cf4128e5
...
...
@@ -14,6 +14,7 @@ CONFIG_BOARD_EARLY_INIT_F=y
CONFIG_HUSH_PARSER=y
# CONFIG_CMD_IMLS is not set
# CONFIG_CMD_FLASH is not set
CONFIG_CMD_MMC=y
CONFIG_CMD_SF=y
CONFIG_CMD_SPI=y
CONFIG_CMD_I2C=y
...
...
@@ -35,7 +36,9 @@ CONFIG_BLOCK_CACHE=y
CONFIG_DM_I2C=y
CONFIG_SYS_I2C_MVTWSI=y
CONFIG_MISC=y
# CONFIG_MMC is not set
CONFIG_DM_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_XENON=y
CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_MACRONIX=y
CONFIG_SPI_FLASH_SPANSION=y
...
...
configs/mvebu_db-88f8040_defconfig
View file @
cf4128e5
...
...
@@ -14,6 +14,7 @@ CONFIG_BOARD_EARLY_INIT_F=y
CONFIG_HUSH_PARSER=y
# CONFIG_CMD_IMLS is not set
# CONFIG_CMD_FLASH is not set
CONFIG_CMD_MMC=y
CONFIG_CMD_SF=y
CONFIG_CMD_SPI=y
CONFIG_CMD_I2C=y
...
...
@@ -35,7 +36,9 @@ CONFIG_BLOCK_CACHE=y
CONFIG_DM_I2C=y
CONFIG_SYS_I2C_MVTWSI=y
CONFIG_MISC=y
# CONFIG_MMC is not set
CONFIG_DM_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_XENON=y
CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_MACRONIX=y
CONFIG_SPI_FLASH_SPANSION=y
...
...
drivers/mmc/Kconfig
View file @
cf4128e5
...
...
@@ -287,6 +287,17 @@ config MMC_SDHCI_SPEAR
If unsure, say N.
config MMC_SDHCI_XENON
bool "SDHCI support for the Xenon SDHCI controller"
depends on MMC_SDHCI && DM_MMC && OF_CONTROL
help
Support for Xenon SDHCI host controller on Marvell Armada 3700
7k/8k ARM SoCs platforms
If you have a controller with this interface, say Y here.
If unsure, say N.
config MMC_SDHCI_TEGRA
bool "SDHCI platform support for the Tegra SD/MMC Controller"
depends on TEGRA
...
...
drivers/mmc/Makefile
View file @
cf4128e5
...
...
@@ -68,6 +68,7 @@ obj-$(CONFIG_MMC_SDHCI_MV) += mv_sdhci.o
obj-$(CONFIG_MMC_SDHCI_S5P)
+=
s5p_sdhci.o
obj-$(CONFIG_MMC_SDHCI_SPEAR)
+=
spear_sdhci.o
obj-$(CONFIG_MMC_SDHCI_TEGRA)
+=
tegra_mmc.o
obj-$(CONFIG_MMC_SDHCI_XENON)
+=
xenon_sdhci.o
obj-$(CONFIG_MMC_SUNXI)
+=
sunxi_mmc.o
obj-$(CONFIG_MMC_UNIPHIER)
+=
uniphier-sd.o
drivers/mmc/sdhci.c
View file @
cf4128e5
...
...
@@ -295,7 +295,7 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
static
int
sdhci_set_clock
(
struct
mmc
*
mmc
,
unsigned
int
clock
)
{
struct
sdhci_host
*
host
=
mmc
->
priv
;
unsigned
int
div
,
clk
=
0
,
timeout
,
reg
;
unsigned
int
div
,
clk
=
0
,
timeout
;
/* Wait max 20 ms */
timeout
=
200
;
...
...
@@ -311,9 +311,7 @@ static int sdhci_set_clock(struct mmc *mmc, unsigned int clock)
udelay
(
100
);
}
reg
=
sdhci_readw
(
host
,
SDHCI_CLOCK_CONTROL
);
reg
&=
~
(
SDHCI_CLOCK_CARD_EN
|
SDHCI_CLOCK_INT_EN
);
sdhci_writew
(
host
,
reg
,
SDHCI_CLOCK_CONTROL
);
sdhci_writew
(
host
,
0
,
SDHCI_CLOCK_CONTROL
);
if
(
clock
==
0
)
return
0
;
...
...
@@ -460,6 +458,10 @@ static int sdhci_set_ios(struct mmc *mmc)
sdhci_writeb
(
host
,
ctrl
,
SDHCI_HOST_CONTROL
);
/* If available, call the driver specific "post" set_ios() function */
if
(
host
->
ops
&&
host
->
ops
->
set_ios_post
)
host
->
ops
->
set_ios_post
(
host
);
return
0
;
}
...
...
drivers/mmc/xenon_sdhci.c
0 → 100644
View file @
cf4128e5
This diff is collapsed.
Click to expand it.
include/configs/mvebu_armada-8k.h
View file @
cf4128e5
...
...
@@ -114,6 +114,9 @@
#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \
CONFIG_SYS_SCSI_MAX_LUN)
/* MMC/SD IP block */
#define CONFIG_GENERIC_MMC
#define CONFIG_SUPPORT_VFAT
/* DISK Partition support */
...
...
include/configs/mvebu_db-88f3720.h
View file @
cf4128e5
...
...
@@ -126,6 +126,9 @@
#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \
CONFIG_SYS_SCSI_MAX_LUN)
/* MMC/SD IP block */
#define CONFIG_GENERIC_MMC
#define CONFIG_SUPPORT_VFAT
/* DISK Partition support */
...
...
include/sdhci.h
View file @
cf4128e5
...
...
@@ -235,6 +235,7 @@ struct sdhci_ops {
#endif
int
(
*
get_cd
)(
struct
sdhci_host
*
host
);
void
(
*
set_control_reg
)(
struct
sdhci_host
*
host
);
void
(
*
set_ios_post
)(
struct
sdhci_host
*
host
);
void
(
*
set_clock
)(
struct
sdhci_host
*
host
,
u32
div
);
};
...
...
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