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

openmoko u-boot patches



Hi,

Hector reminded me at Debconf that it would be nice to get openmoko
support to u-boot in Debian. I think this would indeed be nice but I'm
personally not very optimistic. I think we should rather concentrate on
Linux support. However, just for the completeness:

u-boot(master)$ git remote add lindi http://lindi.iki.fi/lindi/git/u-boot.git/
u-boot(master)$ git remote update
u-boot(master)$ git describe lindi/openmoko-gena2x
v1.3.2-482-gfb65787

The good news is that we don't really have 482 patches. Openmoko forked
u-boot at

u-boot(master)$ git describe aeff6d503b6006573d5c6b04fc658a64bebee5fa
v1.3.2-370-gaeff6d5

so we have 482 - 370 = 112 patches:

u-boot(master)$ git diff --stat aeff6d503b6006573d5c6b04fc658a64bebee5fa..lindi/openmoko-gena2x
 Makefile                                |   35 +
 board/hxd8/Makefile                     |   65 ++
 board/hxd8/config.mk                    |   27 +
 board/hxd8/hxd8.c                       |  189 ++++++
 board/hxd8/lowlevel_foo.S               |   87 +++
 board/hxd8/lowlevel_foo.lds             |   56 ++
 board/hxd8/lowlevel_init.S              |  171 +++++
 board/hxd8/pcf50606.c                   |   67 ++
 board/hxd8/u-boot.lds                   |   58 ++
 board/hxd8/udc.c                        |   30 +
 board/neo1973/common/bootmenu.c         |  115 ++++
 board/neo1973/common/cmd_neo1973.c      |  139 ++++
 board/neo1973/common/gsmver.c           |   80 +++
 board/neo1973/common/jbt6k74.c          |  445 +++++++++++++
 board/neo1973/common/jbt6k74.h          |   14 +
 board/neo1973/common/lowlevel_foo.S     |   82 +++
 board/neo1973/common/lowlevel_foo.lds   |   56 ++
 board/neo1973/common/lowlevel_init.S    |  214 +++++++
 board/neo1973/common/neo1973.h          |   41 ++
 board/neo1973/common/udc.c              |   48 ++
 board/neo1973/gta01/Makefile            |   65 ++
 board/neo1973/gta01/config.mk           |   37 ++
 board/neo1973/gta01/gta01.c             |  565 +++++++++++++++++
 board/neo1973/gta01/pcf50606.c          |  100 +++
 board/neo1973/gta01/split_by_variant.sh |   65 ++
 board/neo1973/gta01/u-boot.lds          |   58 ++
 board/neo1973/gta02/Makefile            |   66 ++
 board/neo1973/gta02/config.mk           |   32 +
 board/neo1973/gta02/glamo-mmc.c         |  843 +++++++++++++++++++++++++
 board/neo1973/gta02/glamo-mmc.h         |  149 +++++
 board/neo1973/gta02/glamo-regs.h        |  628 +++++++++++++++++++
 board/neo1973/gta02/gta02.c             |  876 ++++++++++++++++++++++++++
 board/neo1973/gta02/nand.c              |   47 ++
 board/neo1973/gta02/nor.c               |   30 +
 board/neo1973/gta02/pcf50633.c          |  102 +++
 board/neo1973/gta02/split_by_variant.sh |   65 ++
 board/neo1973/gta02/u-boot.lds          |   58 ++
 board/qt2410/Makefile                   |   64 ++
 board/qt2410/config.mk                  |   29 +
 board/qt2410/flash.c                    |  435 +++++++++++++
 board/qt2410/lowlevel_init.S            |  171 +++++
 board/qt2410/qt2410.c                   |  158 +++++
 board/qt2410/u-boot.lds                 |   58 ++
 board/smdk2440/Makefile                 |   67 ++
 board/smdk2440/config.mk                |   29 +
 board/smdk2440/flash.c                  |  433 +++++++++++++
 board/smdk2440/lowlevel_foo.S           |   82 +++
 board/smdk2440/lowlevel_foo.lds         |   56 ++
 board/smdk2440/lowlevel_init.S          |  167 +++++
 board/smdk2440/smdk2440.c               |  152 +++++
 board/smdk2440/u-boot.lds               |   58 ++
 board/smdk2440/udc.c                    |   23 +
 board/smdk2443/Makefile                 |   67 ++
 board/smdk2443/config.mk                |   29 +
 board/smdk2443/flash.c                  |  433 +++++++++++++
 board/smdk2443/lowlevel_foo.S           |   82 +++
 board/smdk2443/lowlevel_foo.lds         |   56 ++
 board/smdk2443/lowlevel_init.S          |  163 +++++
 board/smdk2443/smdk2443.c               |  147 +++++
 board/smdk2443/u-boot.lds               |   58 ++
 board/smdk2443/udc.c                    |   23 +
 build                                   |   14 +
 common/Makefile                         |    3 +
 common/bootmenu.c                       |  316 ++++++++++
 common/cmd_bootm.c                      |   31 +
 common/cmd_dynenv.c                     |  106 ++++
 common/cmd_jffs2.c                      |   56 ++
 common/cmd_license.c                    |   57 ++
 common/cmd_mem.c                        |   36 ++
 common/cmd_nand.c                       |  104 +++-
 common/cmd_nvedit.c                     |   49 ++-
 common/cmd_terminal.c                   |   31 +-
 common/console.c                        |   16 +-
 common/devices.c                        |    1 -
 common/env_common.c                     |   55 ++-
 common/env_nand.c                       |   41 +-
 common/environment.c                    |    6 +
 common/main.c                           |   31 +-
 common/serial.c                         |    8 +-
 cpu/arm920t/config.mk                   |    7 +-
 cpu/arm920t/s3c24x0/Makefile            |    3 +-
 cpu/arm920t/s3c24x0/cmd_s3c24xx.c       |  287 +++++++++
 cpu/arm920t/s3c24x0/i2c.c               |   17 +-
 cpu/arm920t/s3c24x0/interrupts.c        |   25 +-
 cpu/arm920t/s3c24x0/mmc.c               |  539 ++++++++++++++++
 cpu/arm920t/s3c24x0/nand.c              |  143 ++++-
 cpu/arm920t/s3c24x0/nand_read.c         |  189 ++++++
 cpu/arm920t/s3c24x0/serial.c            |   13 +-
 cpu/arm920t/s3c24x0/speed.c             |   36 +-
 cpu/arm920t/s3c24x0/usb.c               |    8 +-
 cpu/arm920t/s3c24x0/usb_ohci.c          |    2 +
 cpu/arm920t/start.S                     |  430 ++++++++++++-
 dfu-uboot                               |    7 +
 drivers/misc/Makefile                   |    2 +
 drivers/misc/pcf50606.c                 |  163 +++++
 drivers/misc/pcf50633.c                 |  294 +++++++++
 drivers/mtd/nand/nand_base.c            |   11 +-
 drivers/mtd/nand/nand_bbt.c             |   95 +++-
 drivers/mtd/nand/nand_ids.c             |    2 +-
 drivers/rtc/s3c24x0_rtc.c               |    2 +
 drivers/serial/usbtty.c                 |  282 ++++++++-
 drivers/serial/usbtty.h                 |   16 +-
 drivers/usb/Makefile                    |    2 +
 drivers/usb/usb_ohci.c                  |    2 +
 drivers/usb/usbdcore.c                  |   32 +-
 drivers/usb/usbdcore_ep0.c              |   86 ++-
 drivers/usb/usbdcore_omap1510.c         |   18 +-
 drivers/usb/usbdcore_s3c2410.c          |  755 ++++++++++++++++++++++
 drivers/usb/usbdfu.c                    | 1041 +++++++++++++++++++++++++++++++
 drivers/video/Makefile                  |    2 +
 drivers/video/cfb_console.c             |   99 +++-
 drivers/video/s3c2410_fb.c              |  166 +++++
 drivers/video/smedia3362.c              |  233 +++++++
 drivers/video/smedia3362.h              |  459 ++++++++++++++
 fs/ext2/ext2fs.c                        |   77 ++-
 include/asm-arm/arch-s3c24x0/mmc.h      |  112 ++++
 include/asm-arm/arch-s3c24x0/regs-sdi.h |  110 ++++
 include/bootmenu.h                      |   82 +++
 include/common.h                        |    4 +-
 include/config_cmd_all.h                |    1 +
 include/configs/hxd8.h                  |  279 +++++++++
 include/configs/neo1973_gta01.h         |  285 +++++++++
 include/configs/neo1973_gta02.h         |  304 +++++++++
 include/configs/qt2410.h                |  282 +++++++++
 include/configs/smdk2440.h              |  294 +++++++++
 include/configs/smdk2440nand.h          |   47 ++
 include/configs/smdk2443.h              |  290 +++++++++
 include/console.h                       |    2 +
 include/environment.h                   |    8 +
 include/license.h                       |  583 +++++++++++++++++
 include/linux/mtd/nand.h                |    3 +-
 include/pcf50606.h                      |  273 ++++++++
 include/pcf50633.h                      |  408 ++++++++++++
 include/s3c2410.h                       |   57 ++-
 include/s3c2440.h                       |  300 +++++++++
 include/s3c2443.h                       |  130 ++++
 include/s3c24x0.h                       |  110 +++-
 include/serial.h                        |    7 +-
 include/usb_dfu.h                       |   94 +++
 include/usb_dfu_descriptors.h           |   94 +++
 include/usb_dfu_trailer.h               |   31 +
 include/usbdcore.h                      |   19 +
 include/usbdcore_s3c2410.h              |  273 ++++++++
 include/util.h                          |   33 +
 lib_arm/interrupts.c                    |   15 +-
 lib_generic/vsprintf.c                  |   25 +-
 tools/Makefile                          |    8 +-
 tools/mkudfu.c                          |  314 ++++++++++
 tools/setlocalversion                   |    2 +
 149 files changed, 20009 insertions(+), 221 deletions(-)


u-boot(master)$ git log --pretty=oneline --abbrev-commit aeff6d503b6006573d5c6b04fc658a64bebee5fa..lindi/openmoko-gena2x

fb65787 Do power on LDO5 (GPS) regulator and do not setup all serial's GPIOs at all on boot
ac003e7 Kindly ask u-boot do not touch serials and serial's gpio setup
f4cd104 Add support for forcing charging at maximum current (usually 500 mA). This is useful if the battery is fully depleted and one wants to stay in the boot loader waiting for the battery to charge.
4ed6f14 U-Boot GTA02: Always enable charger on startup
57f7a42 U-Boot: Update for reading inodes on ext2fs revision 1
b20cc52 glamo-mmc: Enable reading from cards above 4 GiB
cc0a665 Modified patch originates from Andy Green <andy@openmoko.com>
a9a48b2 Modified patch originates from Andy Green <andy@openmoko.com>
98980f5 uboot-build-default-toolchain-path.patch
2b78a94 uboot-fix-smdk2440-config.patch
b2f00e2 u-boot-clean-batt-charge-patch.patch
d9daa95 Fixes for U-Boot charging
414367b u-boot: Fix DFU upload in u-boot
1746c36 Enable hardware flow control for GSM/GPS
017271c Fix init of non-console serial lines
650149a build-add-git-hash-marking.patch
dc633f4 honor-stop_in_menu-on-charger-wakeup.patch
64eb10c environment-option-to-stop-in-menu.patch
aa9b0ea fix-dont-do-i2c-with-irqs-off.patch
e8be814 fix-stop-sitting-printing-in-time-critical-context.patch
8e307f5 fix-kill-endpoints-before-linux.patch
c799482 fix-broken-usb-handed-to-linux.patch
ba029a1 This patch changes rtc_get() to return an int. Without this change the tree does not compile for gta01bv4.
a7c50bf PATCH-fix-data-abort-from-sd-ombug799.patch.eml
4c53f34 deadbat-safe-voltage.patch
8fa55aa deadbat-alternate.patch
718426f deadbat-gta02v5-noled.patch
cd57a43 fix-early-upll.patch
539eeec deadbat-cpu-200.patch
0f0533a deadbat-cpu-idle.patch
1e126c8 deadbat-defer-glamo.patch
ce1e253 deadbat-soft-start.patch
77ef5a9 deadbat-defer-ldo.patch
3f38474 deadbat-wait-silently.patch
9661147 uboot-fix-OOCCTL-reset-phase.patch
78b9f3d add-find-wake-reason.patch
4ec6097 nand_skip_bad.patch
19a477b fix-rtc_get_return.patch
a5a7ebd uboot-fix-lcm-flicker.patch
7e36139 uboot-force-backlight-on.patch
1ebdcad stop-internetworking-warning.patch
8c17f29 Build scripts
2df4927 remap-vec.patch This patch changes how we avoid getting killed by an interrupt if the vectors at address zero and the u-boot we're running don't agree.
daeade9 wait-for-power.patch This patch tries to make the system stay in a mode where total power consumption is below 100mA until we have determined that it's safe to draw more power.
4762550 gpb-shadow.patch GTA02v5 pulls the GPBn lines controlling the LEDs down too strongly. Thus bit operations on GPB always contain a 0 in these bits. With the addition of a shadow register, this problem is avoided.
89478f3 config-gta02v5-beyond.patch This set of changes makes u-boot detect hardware revisions >= GTA02v5 at run time instead of build time. The revision tag and the boot prompt are adjusted accordingly.
a2bc49e uboot-add-rev-detection.patch uboot-add-rev-detection.patch
626507b fix-cpu-input-pulldowns.patch
42872ed dont-smoke.patch This patch prevents us from drawing more than 100mA from USB, unless we're sure we're allowed to. Thus, we don't make the upstream port produce smoke.
99bd09a loadenv.patch If we have a writeable environment in persistent storage and CONFIG_CMD_LOADENV is set, add the command "loadenv" to load a new environment.
e2390e7 uboot-neo1973_defaultconsole_usbtty.patch This patch ensures that even if no environment partition is present on a Neo1973 device, the USB serial emulation will be the default console, not the serial port.
62ceae0 uboot-nand_write_yaffs.patch
b393bcd usbtty-irq-racecondition-fix.patch This patch adds some local_irq_{save,restore}() code to usbtty to cope with the lack of lacking in the case of irq-accelerated usb device drivers (such as our s3c24xx udc driver).
113b14c unbusy-i2c.patch board/neo1973/gta01/gta01.c: added logic to detect pending PMU interrupts board/neo1973/gta01/gta01.c (neo1973_new_second, neo1973_on_key_pressed): only   poll PMU if there is a pending interrupt board/neo1973/gta01/pcf50606.c (pcf50606_initial_regs): cleared (unmasked)   SECONDM in INT1M
b3d562f eabi-toolchain.patch eabi-toolchain.patch: When using the new OpenMoko toolchain for EABI, u-boot   (http://wiki.openmoko.org/wiki/Toolchain) fails to build due to a number of   small compatibility issues. This patch fixes them in a way that is   backwards-compatible with our ancient OABI toolchain.
f5b8297 glamo-regs.patch
2e0ddd1 glamo-mmc.patch
9f5919e nor-irqvec.patch
f06faed nor-bootmenu.patch This patch makes u-boot on GTA02 always enter the bootmenu when booting from NOR. This de-complexifies interaction with the user and is actually also needed for correctly handling the exception vectors.
dddca47 gta02-nor.patch
d942f8f gta02-bootmenu.patch
6111eda gta02-splash.patch Add framebuffer and lcm support for GTA-02 to provide splash Quick and dirty patch broadside-loads the Glamo registers and changes the LCM SPI bitbang to go through the Glamo GPIO.
b269fb4 usb-vendor.patch
97be3ed uboot-smdk2443.patch
541104d uboot-s3c2443.patch
3d93832 uboot-gta02.patch Add support for new GTA02 version of Neo1973
54a73bd uboot-license.patch
b57036a uboot-s3c2442.patch
2a45b57 uboot-hxd8.patch Patch to add HXD8 support
1fe195d uboot-smdk2440.patch Add support for the Samsung SMDK2440 development board
03eccbc uboot-s3c2440.patch Add proper support for S3C2440 CPU's
1ad17a9 neo1973-chargefast.patch
e011e23 usbdcore-multiple_configs.patch This patch fixes bugs in usbdcore*.c related to the use of devices with multiple configurations.
017c394 uboot-nand-markbad-reallybad.patch This patch makes sure that the 'nand markbad' command does not only mark a block 'bad' in the bad-block table, but _also_ marks it bad in the OOB area.
b9aa17f uboot-neo1973-defaultenv.patch
c908101 uboot-dfu.patch
822e10b boot-menu.patch board/neo1973/bootmenu.c: simple configurable boot menu board/neo1973/neo1973.c (neo1973_new_second): return 1 if a new second has   started since the last call board/neo1973/neo1973.c (neo1973_on_key_pressed): return 1 if the $POWER key is   pressed board/neo1973/neo1973.c (board_late_init): make use of neo1973_new_second and   neo1973_on_key_pressed board/neo1973/neo1973.h: added function prototypes u-boot/board/neo1973/neo1973.c (board_late_init): enter the boot menu when   "AUX" was pressed at least half the time u-boot/board/neo1973/neo1973.c (board_late_init): minor code cleanup u-boot/common/console.c, include/console.h: added "console_poll_hook" to be   called when waiting for console in put in "getc" and "tstc" board/neo1973/neo1973.c (board_late_init): poll for the boot menu also on RAM   boot, reset, or unknown cause board/neo1973/neo1973.c (board_late_init): don't look for the power key if   woken up by the charger board/neo1973/neo1973.h, board/neo1973/neo1973.c, board/neo1973/bootmenu.c:   renamed neo1973_911_key_pressed to neo1973_aux_key_pressed
f49fb5a console-ansi.patch drivers/cfb_console.c: added processing of ANSI escape sequences \e[2J, \e[m,   \e[7m, and \e[row;colH drivers/cfb_console.c (video_putc): make \r return to the beginning of the line
5a65960 env-override.patch
60ff32a default-env.patch common/env_common.c (default_env): new function that resets the environment to   the default value common/env_common.c (env_relocate): use default_env instead of own copy common/env_nand.c (env_relocate_spec): use default_env instead of own copy include/environment.h: added default_env prototype
760fc40 lowlevel_foo.patch board/neo1973/lowlevel_foo.S: http://people.openmoko.org/laforge/tmp/bbt-20070206/lowlevel_foo.S board/neo1973/lowlevel_foo.lds: http://people.openmoko.org/laforge/tmp/bbt-20070206/lowlevel_foo.lds board/neo1973/Makefile: added building of lowlevel_foo.bin (based on   http://people.openmoko.org/laforge/tmp/bbt-20070206/lowlevel_foo.build.sh)
b69daaf preboot-override.patch Provide a place where the loader can patch the binary, such that it executes a command string from RAM. We use this for automated installs, where we can thus use the same u-boot binary for all stages.
843aade enable-splash-bmp.patch drivers/cfb_console.c: include asm/byteorder.h for le32_to_cpu and friends   [ shouldn't someone else have found this long ago ? ] include/configs/neo1973.h (CONFIG_COMMANDS): add CFG_CMD_BMP include/configs/neo1973.h: enable splash screen and BMP support include/configs/neo1973.h: remove #if 1 ... #endif around video definitions
88191ea cmd-unzip.patch common/cmd_mem.c: new command "unzip srcaddr dstaddr [dstsize]" to unzip from   memory to memory, and option CONFIG_CMD_UNZIP to enable it
8a1f7d3 splashimage-command.patch drivers/cfb_console.c (video_logo): if "splashimage" doesn't contain an   address, use its content as a command
1b9d016 raise-limits.patch include/configs/neo1973.h: increase heap from 128 kB to 400 kB, for BMP image   decompression   [ note: increasing it to 512 kB trips over something. note sure what.     find out. ] include/configs/neo1973.h: raise number of command line arguments from 16 to 64
3542693 uboot-bbt-quiet.patch This patch makes the u-boot NAND BBT code a bit more quiet
ada4a24 nand-badisbad.patch This patch makes nand_block_checkbad check both the BBT and the actual OOB data. This avoids accidently passing blocks as good when BBT and OOB markers are not synchronized, e.g., before "nand createbbt".
566b534 dontask.patch common/cmd_nand.c (yes): if the environment variable "dontask" is set to "y" or   "Y", non-interactively assume the answer was "yes". In all other cases, ask.
87a5178 nand-createbbt.patch This patch adds user-requested BBT creation. It includes the following changes:
d435af3 bbt-create-optional.patch This patch makes creation of the BBT optional for the s3c24x0 platform. It adds:
0e26121 uboot-s3c2410_udc.patch USB Device Controller Driver for Samsung S3C2410 SoC
064f1ba uboot-usbtty-acm.patch This patch adds cdc_acm interoperability to u-boot usbtty.
2ff5108 uboot-s3c2410-norelocate_irqvec_cpy.patch If we've somehow magically make u-boot end up in RAM (JTAG, ...), then that RAM is mapped to 0x30000000 and not 0, so we need to copy the interrupt vectors, etc.
238b743 uboot-s3c2410-nand.patch
e05835d nand-dynamic_partitions.patch This patch adds support for 'dynamic partitions'.  This basically works as follows: * The nand code generates a bad-block-table at the first scan of the chip * The dynamic partition code calculates the raw partition sizes based on   the bad block table.  E.g. if you have a partition of size 0x30000, and there are   two bad blocks (0x4000 each) in it, the raw size will increase to 0x38000, and the   following partitions get shifted towards the end of flash.
2be1724 uboot-neo1973-resume.patch Resume support for low-level uboot code, Version 5
172cf05 wakeup-reason-nand-only.patch This patch should get rid of spurious poweroff after booting from RAM. Experimental.
339093a boot-from-nor.patch
53b7b00 boot-from-ram-and-nand.patch Auto-detect whether we're booting from RAM or NAND, and act accordingly. This allows us to use the same u-boot binary for all boot modes.
c29ff7f boot-from-ram-reloc.patch This patch allows us to boot from anywhere in RAM. It mainly sets the stage for later patches. The only real changes here is the better handling of already cached code (e.g., if we were started by a previous instance of u-boot), and that we drop CONFIG_SKIP_RELOCATE_UBOOT from neo1973.h
257d7ec uboot-s3c2410-misccr-definitions.patch
b9ac8cb uboot-20061030-neo1973.patch This patch adds neo1973 'board' (FIC Neo1973 phone) support to u-boot. Specifically, it adds support for the GTA01v3, GTA01v4, GTA01Bv2 and GTA01Bv3 hardware revisions.
c8fe7c0 uboot-20061030-qt2410.patch This patch adds 'board' support for the Armzone QT2410 development board to u-boot.
9467527 uboot-s3c2410_fb.patch
94a2dd3 dynenv-harden.patch common/cmd_nand.c: globalized arg_off_size include/util.h: new header to convenience functions, such as arg_off_size common/cmd_dynenv.c (do_dynenv): use arg_off_size to sanity-check offset and to   allow use of partition name common/cmd_dynenv.c (do_dynenv): indicate in no uncertain terms when an update   would not work due to Flash bits already cleared common/cmd_dynenv.c (do_dynenv): update CFG_ENV_OFFSET after successful "dynenv   set", so that we can write the new environment without having to reboot
c059397 env_nand_oob.patch This patch adds support for CFG_ENV_OFFSET_PATCHED and CFG_ENV_OFFSET_OOB.
450f7c4 uboot-s3c2410-mmc.patch This patch adds MMC/SD support to the S3C2410 SoC code in u-boot
819877c uboot-cmd_s3c2410.patch This patch adds a new 's3c2410' command which currently supports 's3c2410 speed {set,get,list} and thus allows dynamic change of the CPU clock.
1866bc0 uboot-s3c24xx-nand-boot.patch
5aa3390 uboot-strtoul.patch Make simple_strtoul work with upper-case hex numbers.
9328fc2 uboot-mokoversion.patch


-Timo


Reply to: