mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-28 01:51:33 +00:00
board: add SDHCI support for PIC32MZDASK board.
Enable MMC, SDHCI, FAT_FS support for PIC32MZ[DA] StarterKit. Also add custom scripts, rules to boot Linux from microSD card. Signed-off-by: Purna Chandra Mandal <purna.mandal@microchip.com>
This commit is contained in:
parent
102142c9e0
commit
c76eb72c43
4 changed files with 77 additions and 3 deletions
|
@ -150,4 +150,15 @@
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sdhci: sdhci@1f8ec000 {
|
||||||
|
compatible = "microchip,pic32mzda-sdhci";
|
||||||
|
reg = <0x1f8ec000 0x100>;
|
||||||
|
interrupts = <191 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&clock REF4CLK>, <&clock PB5CLK>;
|
||||||
|
clock-names = "base_clk", "sys_clk";
|
||||||
|
clock-freq-min-max = <25000000>,<25000000>;
|
||||||
|
bus-width = <4>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -23,6 +23,9 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
&clock {
|
&clock {
|
||||||
|
microchip,refo2-frequency = <50000000>;
|
||||||
|
microchip,refo4-frequency = <25000000>;
|
||||||
|
microchip,refo5-frequency = <40000000>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
};
|
};
|
||||||
|
@ -36,3 +39,7 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&sdhci {
|
||||||
|
status = "okay";
|
||||||
|
};
|
|
@ -9,7 +9,6 @@ CONFIG_DEFAULT_DEVICE_TREE="pic32mzda_sk"
|
||||||
CONFIG_HUSH_PARSER=y
|
CONFIG_HUSH_PARSER=y
|
||||||
CONFIG_SYS_PROMPT="dask # "
|
CONFIG_SYS_PROMPT="dask # "
|
||||||
# CONFIG_CMD_IMLS is not set
|
# CONFIG_CMD_IMLS is not set
|
||||||
# CONFIG_CMD_EXPORTENV is not set
|
|
||||||
# CONFIG_CMD_SAVEENV is not set
|
# CONFIG_CMD_SAVEENV is not set
|
||||||
CONFIG_LOOPW=y
|
CONFIG_LOOPW=y
|
||||||
CONFIG_CMD_MEMTEST=y
|
CONFIG_CMD_MEMTEST=y
|
||||||
|
@ -22,6 +21,8 @@ CONFIG_CMD_GPIO=y
|
||||||
CONFIG_CMD_TIME=y
|
CONFIG_CMD_TIME=y
|
||||||
CONFIG_OF_EMBED=y
|
CONFIG_OF_EMBED=y
|
||||||
CONFIG_CLK=y
|
CONFIG_CLK=y
|
||||||
|
CONFIG_DM_MMC=y
|
||||||
|
CONFIG_PIC32_SDHCI=y
|
||||||
CONFIG_PINCTRL=y
|
CONFIG_PINCTRL=y
|
||||||
# CONFIG_PINCTRL_FULL is not set
|
# CONFIG_PINCTRL_FULL is not set
|
||||||
CONFIG_SYS_VSNPRINTF=y
|
CONFIG_SYS_VSNPRINTF=y
|
||||||
|
|
|
@ -46,6 +46,7 @@
|
||||||
|
|
||||||
#define CONFIG_SYS_LOAD_ADDR 0x88500000 /* default load address */
|
#define CONFIG_SYS_LOAD_ADDR 0x88500000 /* default load address */
|
||||||
#define CONFIG_SYS_ENV_ADDR 0x88300000
|
#define CONFIG_SYS_ENV_ADDR 0x88300000
|
||||||
|
#define CONFIG_SYS_FDT_ADDR 0x89d00000
|
||||||
|
|
||||||
/* Memory Test */
|
/* Memory Test */
|
||||||
#define CONFIG_SYS_MEMTEST_START 0x88000000
|
#define CONFIG_SYS_MEMTEST_START 0x88000000
|
||||||
|
@ -77,6 +78,33 @@
|
||||||
*/
|
*/
|
||||||
#define CONFIG_OF_LIBFDT 1
|
#define CONFIG_OF_LIBFDT 1
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------------------
|
||||||
|
* SDHC Configuration
|
||||||
|
*/
|
||||||
|
#define CONFIG_SDHCI
|
||||||
|
#define CONFIG_MMC
|
||||||
|
#define CONFIG_GENERIC_MMC
|
||||||
|
#define CONFIG_CMD_MMC
|
||||||
|
|
||||||
|
/*-----------------------------------------------------------------------
|
||||||
|
* File System Configuration
|
||||||
|
*/
|
||||||
|
/* FAT FS */
|
||||||
|
#define CONFIG_DOS_PARTITION
|
||||||
|
#define CONFIG_PARTITION_UUIDS
|
||||||
|
#define CONFIG_SUPPORT_VFAT
|
||||||
|
#define CONFIG_FS_FAT
|
||||||
|
#define CONFIG_FAT_WRITE
|
||||||
|
#define CONFIG_CMD_FS_GENERIC
|
||||||
|
#define CONFIG_CMD_PART
|
||||||
|
#define CONFIG_CMD_FAT
|
||||||
|
|
||||||
|
/* EXT4 FS */
|
||||||
|
#define CONFIG_FS_EXT4
|
||||||
|
#define CONFIG_CMD_EXT2
|
||||||
|
#define CONFIG_CMD_EXT4
|
||||||
|
#define CONFIG_CMD_EXT4_WRITE
|
||||||
|
|
||||||
/* -------------------------------------------------
|
/* -------------------------------------------------
|
||||||
* Environment
|
* Environment
|
||||||
*/
|
*/
|
||||||
|
@ -87,7 +115,34 @@
|
||||||
* Board boot configuration
|
* Board boot configuration
|
||||||
*/
|
*/
|
||||||
#define CONFIG_TIMESTAMP /* Print image info with timestamp */
|
#define CONFIG_TIMESTAMP /* Print image info with timestamp */
|
||||||
#define CONFIG_BOOTDELAY 5 /* autoboot after X seconds */
|
#define CONFIG_BOOTDELAY 5
|
||||||
#undef CONFIG_BOOTARGS
|
|
||||||
|
#define MEM_LAYOUT_ENV_SETTINGS \
|
||||||
|
"kernel_addr_r="__stringify(CONFIG_SYS_LOAD_ADDR)"\0" \
|
||||||
|
"fdt_addr_r="__stringify(CONFIG_SYS_FDT_ADDR)"\0" \
|
||||||
|
"scriptaddr="__stringify(CONFIG_SYS_ENV_ADDR)"\0"
|
||||||
|
|
||||||
|
#define CONFIG_LEGACY_BOOTCMD_ENV \
|
||||||
|
"legacy_bootcmd= " \
|
||||||
|
"if load mmc 0 ${scriptaddr} uEnv.txt; then " \
|
||||||
|
"env import -tr ${scriptaddr} ${filesize}; " \
|
||||||
|
"if test -n \"${bootcmd_uenv}\" ; then " \
|
||||||
|
"echo Running bootcmd_uenv ...; " \
|
||||||
|
"run bootcmd_uenv; " \
|
||||||
|
"fi; " \
|
||||||
|
"fi; \0"
|
||||||
|
|
||||||
|
#define BOOT_TARGET_DEVICES(func) \
|
||||||
|
func(MMC, mmc, 0)
|
||||||
|
|
||||||
|
#include <config_distro_bootcmd.h>
|
||||||
|
|
||||||
|
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||||
|
MEM_LAYOUT_ENV_SETTINGS \
|
||||||
|
CONFIG_LEGACY_BOOTCMD_ENV \
|
||||||
|
BOOTENV
|
||||||
|
|
||||||
|
#undef CONFIG_BOOTCOMMAND
|
||||||
|
#define CONFIG_BOOTCOMMAND "run distro_bootcmd || run legacy_bootcmd"
|
||||||
|
|
||||||
#endif /* __PIC32MZDASK_CONFIG_H */
|
#endif /* __PIC32MZDASK_CONFIG_H */
|
||||||
|
|
Loading…
Add table
Reference in a new issue