summaryrefslogtreecommitdiff
path: root/packages/u-boot/u-boot-1.3.2/boc01/002-081212-GPIO.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/u-boot/u-boot-1.3.2/boc01/002-081212-GPIO.patch')
-rw-r--r--packages/u-boot/u-boot-1.3.2/boc01/002-081212-GPIO.patch252
1 files changed, 0 insertions, 252 deletions
diff --git a/packages/u-boot/u-boot-1.3.2/boc01/002-081212-GPIO.patch b/packages/u-boot/u-boot-1.3.2/boc01/002-081212-GPIO.patch
deleted file mode 100644
index 0fb3daf98e..0000000000
--- a/packages/u-boot/u-boot-1.3.2/boc01/002-081212-GPIO.patch
+++ /dev/null
@@ -1,252 +0,0 @@
-Index: u-boot-1.3.2/board/freescale/mpc8313erdb/mpc8313erdb.c
-===================================================================
---- u-boot-1.3.2.orig/board/freescale/mpc8313erdb/mpc8313erdb.c
-+++ u-boot-1.3.2/board/freescale/mpc8313erdb/mpc8313erdb.c
-@@ -29,6 +29,7 @@
- #include <pci.h>
- #include <mpc83xx.h>
- #include <spi.h>
-+#include <gpio.h>
-
- DECLARE_GLOBAL_DATA_PTR;
-
-@@ -44,6 +45,48 @@ int board_early_init_f(void)
- return 0;
- }
-
-+int misc_init_f(void)
-+{
-+ uchar value;
-+ uchar i;
-+
-+#ifdef PRE_INIT_GPIO
-+ value=PRE_INIT_GPIO;
-+
-+ for(i=0;i<MAX_GPIO_OUT;i++)
-+ {
-+ if(value&(1<<i))
-+ {
-+ gpio_set(i);
-+ }
-+ else
-+ {
-+ gpio_clear(i);
-+ }
-+ }
-+ udelay(1000);
-+#endif
-+
-+
-+#ifdef INIT_GPIO
-+ value=INIT_GPIO;
-+ for(i=0;i<MAX_GPIO_OUT;i++)
-+ {
-+ if(value&(1<<i))
-+ {
-+ gpio_set(i);
-+ }
-+ else
-+ {
-+ gpio_clear(i);
-+ }
-+ }
-+ puts("GPIO: ready\n");
-+#endif
-+
-+ return 0;
-+}
-+
- int checkboard(void)
- {
- puts("Board: Freescale MPC8313ERDB\n");
-@@ -109,7 +152,42 @@ void ft_board_setup(void *blob, bd_t *bd
- }
- #endif
-
-+#ifdef CONFIG_CMD_GPIO
-+void gpio_set(unsigned char ucGpio)
-+{
-+ unsigned long ulMask=0;
-+ volatile gpio83xx_t *iopd = &((immap_t *)CFG_IMMR)->gpio[0];
-+ if(ucGpio<32)
-+ {
-+ ulMask=1<<(31-ucGpio);
-+ iopd->dir |= ulMask;
-+ iopd->dat |= ulMask;
-+ }
-+}
-+
-+void gpio_clear(unsigned char ucGpio)
-+{
-+ unsigned long ulMask=0;
-+ volatile gpio83xx_t *iopd = &((immap_t *)CFG_IMMR)->gpio[0];
-+ if(ucGpio<32)
-+ {
-+ ulMask=1<<(31-ucGpio);
-+ iopd->dir |= ulMask;
-+ iopd->dat &= ~ulMask;
-+ }
-+}
-
-+char gpio_get(unsigned char ucGpio)
-+{
-+ unsigned long ulMask=0;
-+ volatile gpio83xx_t *iopd = &((immap_t *)CFG_IMMR)->gpio[0];
-+ if(ucGpio<32)
-+ {
-+ ulMask=1<<(31-ucGpio);
-+ }
-+ return (iopd->dat& ulMask)? 1:0;
-+}
-+#endif
- /*
- * The following are used to control the SPI chip selects for the SPI command.
- */
-Index: u-boot-1.3.2/common/cmd_gpio.c
-===================================================================
---- /dev/null
-+++ u-boot-1.3.2/common/cmd_gpio.c
-@@ -0,0 +1,76 @@
-+/*
-+ * (C) Copyright 2001
-+ * Alexandre Coffignal, CenoSYS, alexandre.coffignal@cenosys.com
-+ *
-+ * See file CREDITS for list of people who contributed to this
-+ * project.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of
-+ * the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ */
-+
-+
-+#include <common.h>
-+#include <config.h>
-+#include <command.h>
-+#include <gpio.h>
-+
-+
-+int do_gpio (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
-+{
-+ unsigned char ucGpio;
-+
-+ if (argc < 3)
-+ goto usage;
-+
-+ ucGpio = simple_strtoul (argv[2], NULL, 10);
-+
-+ if (!strncmp(argv[1], "set", 3))
-+ {
-+ gpio_set(ucGpio);
-+ }
-+ else
-+ if (!strncmp(argv[1], "clear", 5))
-+ {
-+ gpio_clear(ucGpio);
-+ }
-+ else
-+ if (!strncmp(argv[1], "get", 3))
-+ {
-+ printf("%s %s %d = %d\n",argv[0],argv[1],ucGpio, gpio_get(ucGpio));
-+ return 0;
-+ }
-+ else
-+ goto usage;
-+
-+ printf("%s %s %d\n",argv[0],argv[1],ucGpio);
-+
-+ return 0;
-+
-+usage :
-+ printf ("Usage:\n%s\n", cmdtp->usage);
-+ return 1;
-+} /* do_gpio() */
-+
-+/***************************************************/
-+
-+U_BOOT_CMD(
-+ gpio, 3, 1, do_gpio,
-+ "gpio - General Purpose Input/Output\n",
-+ " - Set or clear General Purpose Output.\n"
-+ "<set/clear/get> - Set or clear General Purpose Output.\n"
-+ "<gpio> - number of gpio to be set/clear/get \n"
-+);
-+
-Index: u-boot-1.3.2/common/Makefile
-===================================================================
---- u-boot-1.3.2.orig/common/Makefile
-+++ u-boot-1.3.2/common/Makefile
-@@ -50,6 +50,7 @@ endif
- COBJS-$(CONFIG_CMD_DISPLAY) += cmd_display.o
- COBJS-$(CONFIG_CMD_DOC) += cmd_doc.o
- COBJS-$(CONFIG_CMD_DTT) += cmd_dtt.o
-+COBJS-$(CONFIG_CMD_GPIO) += cmd_gpio.o
- COBJS-y += cmd_eeprom.o
- COBJS-$(CONFIG_CMD_ELF) += cmd_elf.o
- COBJS-$(CONFIG_CMD_EXT2) += cmd_ext2.o
-Index: u-boot-1.3.2/include/configs/MPC8313ERDB.h
-===================================================================
---- u-boot-1.3.2.orig/include/configs/MPC8313ERDB.h
-+++ u-boot-1.3.2/include/configs/MPC8313ERDB.h
-@@ -49,6 +49,7 @@
- #define CONFIG_SYS_CLK_FREQ CONFIG_83XX_CLKIN
-
- #define CONFIG_BOARD_EARLY_INIT_F /* call board_pre_init */
-+#define CONFIG_MISC_INIT_F
-
- #define CFG_IMMR 0xE0000000
-
-@@ -370,6 +371,7 @@
- #define CONFIG_CMD_NAND
- #define CONFIG_CMD_JFFS2
- #define CONFIG_CMD_SPI
-+#define CONFIG_CMD_GPIO
-
- #if defined(CFG_RAMBOOT)
- #undef CONFIG_CMD_ENV
-@@ -392,6 +394,11 @@
- #define CONFIG_HARD_SPI /* SPI with hardware support */
- #undef CONFIG_SOFT_SPI /* SPI bit-banged */
-
-+/* GPIO */
-+#define PRE_INIT_GPIO 0x28
-+#define INIT_GPIO 0x08
-+#define MAX_GPIO_OUT 7
-+
- /*
- * Miscellaneous configurable options
- */
-@@ -457,7 +464,7 @@
-
- /* System IO Config */
- #define CFG_SICRH (SICRH_TSOBI1 | SICRH_TSOBI2) /* RGMII */
--#define CFG_SICRL SICRL_USBDR /* Enable Internal USB Phy */
-+#define CFG_SICRL (SICRL_USBDR |SICRL_LBC) /* Enable Internal USB Phy */
-
- #define CFG_HID0_INIT 0x000000000
- #define CFG_HID0_FINAL (HID0_ENABLE_MACHINE_CHECK | \
-Index: u-boot-1.3.2/include/gpio.h
-===================================================================
---- /dev/null
-+++ u-boot-1.3.2/include/gpio.h
-@@ -0,0 +1,9 @@
-+#ifndef __GPIO_H__
-+#define __GPIO_H__
-+
-+extern void gpio_set(unsigned char ucGpio);
-+extern void gpio_clear(unsigned char ucGpio);
-+extern char gpio_get(unsigned char ucGpio);
-+
-+#endif /* __GPIO_H__ */
-+