⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uboot-smdk2443.patch

📁 Uboot常用的移植patches, 方便定制移植到s3c2440
💻 PATCH
📖 第 1 页 / 共 3 页
字号:
+#define CFG_ATA_BASE_ADDR+#endif++#define CONFIG_USB_OHCI_NEW	1+#define CFG_USB_OHCI_CPU_INIT	1+#define CFG_USB_OHCI_REGS_BASE	0x49000000 /* S3C24X0_USB_HOST_BASE */+#define CFG_USB_OHCI_SLOT_NAME	"s3c2443"+#define CFG_USB_OHCI_MAX_ROOT_PORTS 	2++#define CONFIG_USB_DEVICE	1+#define CONFIG_USB_TTY		1+#define CFG_CONSOLE_IS_IN_ENV	1+#define CONFIG_USBD_VENDORID		0x1457     /* Linux/NetChip */+#define CONFIG_USBD_PRODUCTID_GSERIAL	0x5120    /* gserial */+#define CONFIG_USBD_PRODUCTID_CDCACM	0x5119    /* CDC ACM */+#define CONFIG_USBD_MANUFACTURER	"FiWin"+#define CONFIG_USBD_PRODUCT_NAME	"S3C2443 Bootloader " U_BOOT_VERSION+#define CONFIG_EXTRA_ENV_SETTINGS	"usbtty=cdc_acm\0"+#define CONFIG_USBD_DFU			1+#define CONFIG_USBD_DFU_XFER_SIZE	4096+#define CONFIG_USBD_DFU_INTERFACE	2++/*-----------------------------------------------------------------------+ * Physical Memory Map+ */+#define CONFIG_NR_DRAM_BANKS	1	   /* we have 1 bank of DRAM */+#define PHYS_SDRAM_1		0x30000000 /* SDRAM Bank #1 */+#define PHYS_SDRAM_1_SIZE	0x04000000 /* 64 MB */++#define PHYS_FLASH_1		0x00000000 /* Flash Bank #1 */++#define CFG_FLASH_BASE		PHYS_FLASH_1++/*-----------------------------------------------------------------------+ * FLASH and environment organization+ */++#define CONFIG_AMD_LV400	1	/* uncomment this if you have a LV400 flash */+#if 0+#define CONFIG_AMD_LV800	1	/* uncomment this if you have a LV800 flash */+#endif++#define CFG_MAX_FLASH_BANKS	1	/* max number of memory banks */+#ifdef CONFIG_AMD_LV800+#define PHYS_FLASH_SIZE		0x00100000 /* 1MB */+#define CFG_MAX_FLASH_SECT	(19)	/* max number of sectors on one chip */+#define CFG_ENV_ADDR		(CFG_FLASH_BASE + 0x0F0000) /* addr of environment */+#endif+#ifdef CONFIG_AMD_LV400+#define PHYS_FLASH_SIZE		0x00080000 /* 512KB */+#define CFG_MAX_FLASH_SECT	(11)	/* max number of sectors on one chip */+#define CFG_ENV_ADDR		(CFG_FLASH_BASE + 0x070000) /* addr of environment */+#endif++/* timeout values are in ticks */+#define CFG_FLASH_ERASE_TOUT	(5*CFG_HZ) /* Timeout for Flash Erase */+#define CFG_FLASH_WRITE_TOUT	(5*CFG_HZ) /* Timeout for Flash Write */++#define	CFG_ENV_IS_IN_NAND	1+#define CFG_ENV_SIZE		0x20000		/* 128k Total Size of Environment Sector */+#define CFG_ENV_OFFSET_OOB	1+#define CFG_PREBOOT_OVERRIDE	1++#define NAND_MAX_CHIPS		1+#define CFG_NAND_BASE		0x4e000000+#define CFG_MAX_NAND_DEVICE	1++#define CONFIG_MMC		1+#define CFG_MMC_BASE		0xff000000++#define CONFIG_EXT2		1++/* FAT driver in u-boot is broken currently */+#define CONFIG_FAT		1+#define CONFIG_SUPPORT_VFAT++#if 1+/* JFFS2 driver */+#define CONFIG_JFFS2_CMDLINE	1+#define CONFIG_JFFS2_NAND	1+#define CONFIG_JFFS2_NAND_DEV	0+//#define CONFIG_JFFS2_NAND_OFF		0x634000+//#define CONFIG_JFFS2_NAND_SIZE	0x39cc000+#endif++/* ATAG configuration */+#define CONFIG_INITRD_TAG		1+#define CONFIG_SETUP_MEMORY_TAGS	1+#define CONFIG_CMDLINE_TAG		1+#if 0+#define CONFIG_SERIAL_TAG		1+#define CONFIG_REVISION_TAG		1+#endif+++#if 0+#define CONFIG_VIDEO+#define CONFIG_VIDEO_S3C2410+#define CONFIG_CFB_CONSOLE+#define CONFIG_VIDEO_LOGO+#define CONFIG_VGA_AS_SINGLE_DEVICE++#define VIDEO_KBD_INIT_FCT	0+#define VIDEO_TSTC_FCT		serial_tstc+#define VIDEO_GETC_FCT		serial_getc++#define LCD_VIDEO_ADDR		0x33d00000+#endif++#define CONFIG_S3C2410_NAND_BBT		1+//#define CONFIG_S3C2410_NAND_HWECC	1++#define CFG_NAND_YAFFS_WRITE+#define CFG_NAND_YAFFS1_NEW_OOB_LAYOUT++#define MTDIDS_DEFAULT		"nand0=smdk2443-nand"+#define MTPARTS_DEFAULT		"smdk2443-nand:0x00100000(u-boot),0x00200000(kernel),0x00200000(update),0x00100000(splash),0x01400000(jffs2),-(temp)"+#define CFG_NAND_DYNPART_MTD_KERNEL_NAME "smdk2443-nand"+#define CONFIG_NAND_DYNPART++#endif	/* __CONFIG_H */Index: u-boot/board/smdk2443/lowlevel_foo.S===================================================================--- /dev/null+++ u-boot/board/smdk2443/lowlevel_foo.S@@ -0,0 +1,82 @@++_start:+	b 	reset+undefvec:+	b	undefvec+swivec:+	b	swivec+pabtvec:+	b	pabtvec+dabtvec:+	b	dabtvec+rsvdvec:+	b	rsvdvec+irqvec:+	b	irqvec+fiqvec:+	b	fiqvec++reset:+	/*+	 * set the cpu to SVC32 mode+	 */+	mrs	r0,cpsr+	bic	r0,r0,#0x1f+	orr	r0,r0,#0xd3+	msr	cpsr,r0++/* turn off the watchdog */+#define pWTCON		0x53000000+#define INTMSK		0x4A000008	/* Interupt-Controller base addresses */+#define INTSUBMSK	0x4A00001C+#define CLKDIVN	0x4C000014	/* clock divisor register */++	ldr     r0, =pWTCON+	mov     r1, #0x0+	str     r1, [r0]++	mov	r1, #0xffffffff+	ldr	r0, =INTMSK+	str	r1, [r0]+	ldr	r1, =0x3ff+	ldr	r0, =INTSUBMSK+	str	r1, [r0]++	/* FCLK:HCLK:PCLK = 1:2:4 */+	/* default FCLK is 120 MHz ! */+	ldr	r0, =CLKDIVN+	mov	r1, #3+	str	r1, [r0]++	bl	cpu_init_crit+	ldr	r0,=TEXT_BASE+	mov	pc, r0++cpu_init_crit:+	/*+	 * flush v4 I/D caches+	 */+	mov	r0, #0+	mcr	p15, 0, r0, c7, c7, 0	/* flush v3/v4 cache */+	mcr	p15, 0, r0, c8, c7, 0	/* flush v4 TLB */++	/*+	 * disable MMU stuff and caches+	 */+	mrc	p15, 0, r0, c1, c0, 0+	bic	r0, r0, #0x00002300	@ clear bits 13, 9:8 (--V- --RS)+	bic	r0, r0, #0x00000087	@ clear bits 7, 2:0 (B--- -CAM)+	orr	r0, r0, #0x00000002	@ set bit 2 (A) Align+	orr	r0, r0, #0x00001000	@ set bit 12 (I) I-Cache+	mcr	p15, 0, r0, c1, c0, 0++	/*+	 * before relocating, we have to setup RAM timing+	 * because memory timing is board-dependend, you will+	 * find a lowlevel_init.S in your board directory.+	 */+	mov	ip, lr+	bl	lowlevel_init+	mov	lr, ip+	mov	pc, lr+Index: u-boot/board/smdk2443/lowlevel_init.S===================================================================--- /dev/null+++ u-boot/board/smdk2443/lowlevel_init.S@@ -0,0 +1,163 @@+/*+ * SMDK2443 Memory Setup+ *+ * Copyright (C) 2007 by OpenMoko, Inc.+ * Author: Harald Welte <laforge@openmoko.org>+ *+ * 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 <config.h>+#include <version.h>+++/* some parameters for the board */++/*+ *+ * Taken from linux/arch/arm/boot/compressed/head-s3c2410.S+ *+ * Copyright (C) 2002 Samsung Electronics SW.LEE  <hitchcar@sec.samsung.com>+ *+ */++#define BWSCON	0x48000000++/* BWSCON */+#define DW8		 	(0x0)+#define DW16		 	(0x1)+#define DW32		 	(0x2)+#define WAIT		 	(0x1<<2)+#define UBLB		 	(0x1<<3)++#define B1_BWSCON	  	(DW32)+#define B2_BWSCON	  	(DW16)+#define B3_BWSCON	  	(DW16 + WAIT + UBLB)+#define B4_BWSCON	  	(DW16)+#define B5_BWSCON	  	(DW16)+#define B6_BWSCON	  	(DW32)+#define B7_BWSCON	  	(DW32)++/* BANK0CON */+#define B0_Tacs		 	0x0	/*  0clk */+#define B0_Tcos		 	0x0	/*  0clk */+#define B0_Tacc		 	0x7	/* 14clk */+#define B0_Tcoh		 	0x0	/*  0clk */+#define B0_Tah		 	0x0	/*  0clk */+#define B0_Tacp		 	0x0+#define B0_PMC		 	0x0	/* normal */++/* BANK1CON */+#define B1_Tacs		 	0x0	/*  0clk */+#define B1_Tcos		 	0x0	/*  0clk */+#define B1_Tacc		 	0x7	/* 14clk */+#define B1_Tcoh		 	0x0	/*  0clk */+#define B1_Tah		 	0x0	/*  0clk */+#define B1_Tacp		 	0x0+#define B1_PMC		 	0x0++#define B2_Tacs		 	0x0+#define B2_Tcos		 	0x0+#define B2_Tacc		 	0x7+#define B2_Tcoh		 	0x0+#define B2_Tah		 	0x0+#define B2_Tacp		 	0x0+#define B2_PMC		 	0x0++#define B3_Tacs		 	0x0	/*  0clk */+#define B3_Tcos		 	0x3	/*  4clk */+#define B3_Tacc		 	0x7	/* 14clk */+#define B3_Tcoh		 	0x1	/*  1clk */+#define B3_Tah		 	0x0	/*  0clk */+#define B3_Tacp		 	0x3     /*  6clk */+#define B3_PMC		 	0x0	/* normal */++#define B4_Tacs		 	0x0	/*  0clk */+#define B4_Tcos		 	0x0	/*  0clk */+#define B4_Tacc		 	0x7	/* 14clk */+#define B4_Tcoh		 	0x0	/*  0clk */+#define B4_Tah		 	0x0	/*  0clk */+#define B4_Tacp		 	0x0+#define B4_PMC		 	0x0	/* normal */++#define B5_Tacs		 	0x0	/*  0clk */+#define B5_Tcos		 	0x0	/*  0clk */+#define B5_Tacc		 	0x7	/* 14clk */+#define B5_Tcoh		 	0x0	/*  0clk */+#define B5_Tah		 	0x0	/*  0clk */+#define B5_Tacp		 	0x0+#define B5_PMC		 	0x0	/* normal */++#define B6_MT		 	0x3	/* SDRAM */+#define B6_Trcd	 	 	0x1+#define B6_SCAN		 	0x1	/* 9bit */++#define B7_MT		 	0x3	/* SDRAM */+#define B7_Trcd		 	0x1	/* 3clk */+#define B7_SCAN		 	0x1	/* 9bit */++/* REFRESH parameter */+#define REFEN		 	0x1	/* Refresh enable */+#define TREFMD		 	0x0	/* CBR(CAS before RAS)/Auto refresh */+#define Trp		 	0x0	/* 2clk */+#define Trc		 	0x3	/* 7clk */+#define Tchr		 	0x2	/* 3clk */+#define REFCNT		 	1113	/* period=15.6us, HCLK=60Mhz, (2048+1-15.6*60) */+/**************************************/++_TEXT_BASE:+	.word	TEXT_BASE++.globl lowlevel_init+lowlevel_init:+	/* memory control configuration */+	/* make r0 relative the current location so that it */+	/* reads SMRDATA out of FLASH rather than memory ! */+	ldr     r0, =SMRDATA+	ldr	r1, _TEXT_BASE+	sub	r0, r0, r1+	ldr	r1, =BWSCON	/* Bus Width Status Controller */+	add     r2, r0, #13*4+0:+	ldr     r3, [r0], #4+	str     r3, [r1], #4+	cmp     r2, r0+	bne     0b++	/* everything is fine now */+	mov	pc, lr++	.ltorg+/* the literal pools origin */++SMRDATA:+    .word (0+(B1_BWSCON<<4)+(B2_BWSCON<<8)+(B3_BWSCON<<12)+(B4_BWSCON<<16)+(B5_BWSCON<<20)+(B6_BWSCON<<24)+(B7_BWSCON<<28))+    .word ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC))+    .word ((B1_Tacs<<13)+(B1_Tcos<<11)+(B1_Tacc<<8)+(B1_Tcoh<<6)+(B1_Tah<<4)+(B1_Tacp<<2)+(B1_PMC))+    .word ((B2_Tacs<<13)+(B2_Tcos<<11)+(B2_Tacc<<8)+(B2_Tcoh<<6)+(B2_Tah<<4)+(B2_Tacp<<2)+(B2_PMC))+    .word ((B3_Tacs<<13)+(B3_Tcos<<11)+(B3_Tacc<<8)+(B3_Tcoh<<6)+(B3_Tah<<4)+(B3_Tacp<<2)+(B3_PMC))+    .word ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC))+    .word ((B5_Tacs<<13)+(B5_Tcos<<11)+(B5_Tacc<<8)+(B5_Tcoh<<6)+(B5_Tah<<4)+(B5_Tacp<<2)+(B5_PMC))+    .word ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN))+    .word ((B7_MT<<15)+(B7_Trcd<<2)+(B7_SCAN))+    .word ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+(Tchr<<16)+REFCNT)+    .word 0x32+    .word 0x30+    .word 0x30Index: u-boot/board/smdk2443/config.mk===================================================================--- /dev/null+++ u-boot/board/smdk2443/config.mk@@ -0,0 +1,29 @@+#+# (C) Copyright 2002+# Gary Jennejohn, DENX Software Engineering, <gj@denx.de>+# David Mueller, ELSOFT AG, <d.mueller@elsoft.ch>+#+# SAMSUNG SMDK2443 board with S3C2443 (ARM920T) cpu+#+# see http://www.samsung.com/ for more information on SAMSUNG+#++CONFIG_USB_DFU_VENDOR=0x1457+CONFIG_USB_DFU_PRODUCT=0x511c+CONFIG_USB_DFU_REVISION=0x0100++#+# SMDK2443 has 1 bank of 64 MB DRAM+#+# 3000'0000 to 3400'0000+#+# Linux-Kernel is expected to be at 3000'8000, entry 3000'8000+# optionally with a ramdisk at 3080'0000+#+# we load ourself to 33F8'0000+#+# download area is 3300'0000+#+++TEXT_BASE = 0x33F80000Index: u-boot/board/smdk2443/lowlevel_foo.lds===================================================================--- /dev/null+++ u-boot/board/smdk2443/lowlevel_foo.lds@@ -0,0 +1,56 @@+/*+ * (C) Copyright 2002+ * Gary Jennejohn, DENX Software Engineering, <gj@denx.de>+ *+ * 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+ */++OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")+OUTPUT_ARCH(arm)+ENTRY(_start)+SECTIONS+{+	. = 0x00000000;++	. = ALIGN(4);+	.text      :+	{+	  lowlevel_foo.o (.text)+	  *(.text)+	}++	. = ALIGN(4);+	.rodata : { *(.rodata) }++	. = ALIGN(4);+	.data : { *(.data) }++	. = ALIGN(4);+	.got : { *(.got) }++	. = .;+	__u_boot_cmd_start = .;+	.u_boot_cmd : { *(.u_boot_cmd) }+	__u_boot_cmd_end = .;++	. = ALIGN(4);+	__bss_start = .;+	.bss : { *(.bss) }+	_end = .;+}Index: u-boot/board/smdk2443/flash.c===================================================================--- /dev/null+++ u-boot/board/smdk2443/flash.c

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -