diff options
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.patch | 252 |
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__ */ -+ |