[PATCH] some fixes for the zedboard build

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hey, 

i've attached some fixes for the zedboard build that worked, at least, for me.
The MIO config in lowlevel.c seem to be very "hardware specific" but one can compare this to what Xilinx Vivado says.

When including the drivers for Networking, QSPI and SD one will run out of OCRAM very quickly that's why i commended out so much in the defconfig.

The changes to drivers/mci/Kconfig and drivers/mci/arasan-sdhci.c seem to be bug fixes.

Best regards and have a nice weekend 

Michael





diff --git a/arch/arm/boards/avnet-zedboard/lowlevel.c b/arch/arm/boards/avnet-zedboard/lowlevel.c
index 912eb11fd..de3434e38 100644
--- a/arch/arm/boards/avnet-zedboard/lowlevel.c
+++ b/arch/arm/boards/avnet-zedboard/lowlevel.c
@@ -258,7 +258,7 @@ static void avnet_zedboard_ps7_init(void)
 
 	/* GEM0 */
 	writel(0x00000001, 0xf8000138);
-	writel(0x00500801, 0xf8000140);
+	writel(0x00100801, 0xf8000140);
 	writel(0x00000302, 0xf8000740);
 	writel(0x00000302, 0xf8000744);
 	writel(0x00000302, 0xf8000748);
@@ -271,8 +271,8 @@ static void avnet_zedboard_ps7_init(void)
 	writel(0x00001303, 0xf8000764);
 	writel(0x00001303, 0xf8000768);
 	writel(0x00001303, 0xf800076C);
-	writel(0x00001280, 0xf80007D0);
-	writel(0x00001280, 0xf80007D4);
+	writel(0x00000280, 0xf80007D0);
+	writel(0x00000280, 0xf80007D4);
 
 	writel(0x00000001, 0xf8000B00);
 
@@ -297,6 +297,16 @@ ENTRY_FUNCTION(start_avnet_zedboard, r0, r1, r2)
 
 	void *fdt = __dtb_zynq_zed_start + get_runtime_offset();
 
+	/* MIO_07 in GPIO Mode 3.3V VIO, can be uncomented because it is the default value */
+	writel(0x0000DF0D, ZYNQ_SLCR_UNLOCK);
+	writel(0x00000600, 0xF800071C );
+	writel(0x0000767B, ZYNQ_SLCR_LOCK);
+
+	/* turns on the LED MIO_07 */
+	writel((1<<7), 0xe000a204 );    // Direction
+	writel((1<<7), 0xe000a208 );    // Output enable
+	writel((1<<7), 0xe000a040 );    // DATA Register
+
 	arm_cpu_lowlevel_init();
 	zynq_cpu_lowlevel_init();
 
diff --git a/arch/arm/boards/avnet-zedboard/zedboard.zynqcfg b/arch/arm/boards/avnet-zedboard/zedboard.zynqcfg
index 3f8808d3d..76d5d8453 100644
--- a/arch/arm/boards/avnet-zedboard/zedboard.zynqcfg
+++ b/arch/arm/boards/avnet-zedboard/zedboard.zynqcfg
@@ -1,24 +1,2 @@
-#include <mach/zynq7000-header-regs.h>
-
-wm 32 ZYNQ_SLCR_UNLOCK		0x0000DF0D
-wm 32 ZYNQ_CLK_621_TRUE		0x00000001
-wm 32 ZYNQ_APER_CLK_CTRL	0x01FC044D
-
-wm 32 ZYNQ_ARM_PLL_CTRL		0x00028008
-wm 32 ZYNQ_ARM_PLL_CFG		0x000FA220
-wm 32 ZYNQ_ARM_PLL_CTRL		0x00028010
-wm 32 ZYNQ_ARM_PLL_CTRL		0x00028011
-wm 32 ZYNQ_ARM_PLL_CTRL		0x00028010
-wm 32 ZYNQ_ARM_PLL_CTRL		0x00028000
-
-wm 32 ZYNQ_IO_PLL_CTRL		0x0001E008
-wm 32 ZYNQ_IO_PLL_CFG		0x001452C0
-wm 32 ZYNQ_IO_PLL_CTRL		0x0001E010
-wm 32 ZYNQ_IO_PLL_CTRL		0x0001E011
-wm 32 ZYNQ_IO_PLL_CTRL		0x0001E010
-wm 32 ZYNQ_IO_PLL_CTRL		0x0001E000
-
-wm 32 ZYNQ_SDIO_CLK_CTRL	0x00000a03
-
 /* stop */
-wm 32 0xFFFFFFFF			0x00000000
\ No newline at end of file
+wm 32 0xFFFFFFFF			0x00000000
diff --git a/arch/arm/configs/zynq_defconfig b/arch/arm/configs/zynq_defconfig
index a16c57d5c..cc81fd120 100644
--- a/arch/arm/configs/zynq_defconfig
+++ b/arch/arm/configs/zynq_defconfig
@@ -2,46 +2,49 @@ CONFIG_ARCH_ZYNQ=y
 CONFIG_MACH_ZEDBOARD=y
 CONFIG_AEABI=y
 CONFIG_ARM_UNWIND=y
+# CONFIG_MEMINFO is not set
 CONFIG_MMU=y
 CONFIG_STACK_SIZE=0xf000
 CONFIG_MALLOC_SIZE=0x8000000
 CONFIG_MALLOC_TLSF=y
 CONFIG_KALLSYMS=y
-CONFIG_HUSH_FANCY_PROMPT=y
 CONFIG_CMDLINE_EDITING=y
-CONFIG_AUTO_COMPLETE=y
-CONFIG_MENU=y
 CONFIG_BOOTM_SHOW_TYPE=y
 CONFIG_BOOTM_VERBOSE=y
 CONFIG_BOOTM_INITRD=y
 CONFIG_BOOTM_OFTREE=y
 CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y
 CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/avnet-zedboard/env"
-CONFIG_DEBUG_LL=y
-CONFIG_LONGHELP=y
-CONFIG_CMD_MEMINFO=y
-CONFIG_CMD_ARM_MMUINFO=y
+# CONFIG_CMD_DEVINFO is not set
+# CONFIG_CMD_DRVINFO is not set
+# CONFIG_CMD_HELP is not set
+# CONFIG_CMD_BOOTU is not set
 CONFIG_CMD_GO=y
 CONFIG_CMD_RESET=y
-CONFIG_CMD_PARTITION=y
+# CONFIG_CMD_UMOUNT is not set
 CONFIG_CMD_EXPORT=y
 CONFIG_CMD_PRINTENV=y
 CONFIG_CMD_SAVEENV=y
-CONFIG_CMD_LN=y
-CONFIG_CMD_SLEEP=y
+# CONFIG_CMD_CP is not set
+# CONFIG_CMD_PWD is not set
 CONFIG_CMD_DHCP=y
-CONFIG_CMD_EDIT=y
-CONFIG_CMD_MENU=y
-CONFIG_CMD_MENU_MANAGEMENT=y
-CONFIG_CMD_READLINE=y
-CONFIG_CMD_TIMEOUT=y
-CONFIG_CMD_CLK=y
-CONFIG_CMD_OFTREE=y
-CONFIG_CMD_TIME=y
+CONFIG_CMD_TFTP=y
+# CONFIG_CMD_CLEAR is not set
+# CONFIG_CMD_ECHO is not set
+# CONFIG_CMD_MEMCMP is not set
+# CONFIG_CMD_MEMCPY is not set
+# CONFIG_CMD_MEMSET is not set
 CONFIG_NET=y
 CONFIG_DRIVER_SERIAL_CADENCE=y
 CONFIG_DRIVER_NET_MACB=y
-# CONFIG_SPI is not set
+CONFIG_SPI_ZYNQ_QSPI=y
+CONFIG_MTD=y
+# CONFIG_MTD_OOB_DEVICE is not set
+CONFIG_MTD_M25P80=y
+CONFIG_MCI=y
+CONFIG_MCI_ARASAN=y
+CONFIG_EEPROM_AT25=y
 # CONFIG_PINCTRL is not set
 CONFIG_FS_TFTP=y
-CONFIG_DIGEST=y
+CONFIG_FS_FAT=y
+CONFIG_FS_FAT_WRITE=y
diff --git a/drivers/mci/Kconfig b/drivers/mci/Kconfig
index 80b3a2600..9f56bed3a 100644
--- a/drivers/mci/Kconfig
+++ b/drivers/mci/Kconfig
@@ -141,6 +141,7 @@ config MCI_TEGRA
 
 config MCI_ARASAN
 	bool "Arasan SDHCI Controller"
+	select MCI_SDHCI
 	help
 	  Enable this to support SD and MMC card read/write on systems with
 	  the Arasan SD3.0 / SDIO3.0 / eMMC4.51 host controller.
diff --git a/drivers/mci/arasan-sdhci.c b/drivers/mci/arasan-sdhci.c
index b43a4f8dd..0dd9382ae 100644
--- a/drivers/mci/arasan-sdhci.c
+++ b/drivers/mci/arasan-sdhci.c
@@ -278,7 +278,7 @@ static int arasan_sdhci_send_cmd(struct mci_host *mci, struct mci_cmd *cmd,
 
 	mask = SDHCI_INT_CMD_COMPLETE;
 	if (data)
-		mask |= SDHCI_INT_XFER_COMPLETE;
+		mask |= SDHCI_INT_DATA_AVAIL;   
 
 	sdhci_set_cmd_xfer_mode(&host->sdhci, cmd, data, false, &command, &xfer);
 
_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox

[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux