From 1ea726f64026f8974887950e4911d19da5f36f57 Mon Sep 17 00:00:00 2001 From: Frans Meulenbroeks Date: Thu, 25 Feb 2010 21:28:50 +0100 Subject: u-boot git: updated calamari SRCREV, add new functionality Ths commit is for calamari (MPC8636DS) only. It moves to the head of the mpc85xx git I also added several patches. These provide additional functionality w.r.t. expression handling, As they are not calamari specific I've put them in the u-boot-git directory. I did not want to apply them right away as I am not sure if they apply to all the various SRCREVs that are build with this recipe and I did want to break someone else's u-boot. The patches are also submitted upstream Signed-off-by: Frans Meulenbroeks --- ...03-cmd_i2c.c-reworked-subcommand-handling.patch | 109 +++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 recipes/u-boot/u-boot-git/0003-cmd_i2c.c-reworked-subcommand-handling.patch (limited to 'recipes/u-boot/u-boot-git/0003-cmd_i2c.c-reworked-subcommand-handling.patch') diff --git a/recipes/u-boot/u-boot-git/0003-cmd_i2c.c-reworked-subcommand-handling.patch b/recipes/u-boot/u-boot-git/0003-cmd_i2c.c-reworked-subcommand-handling.patch new file mode 100644 index 0000000000..d681bc2a98 --- /dev/null +++ b/recipes/u-boot/u-boot-git/0003-cmd_i2c.c-reworked-subcommand-handling.patch @@ -0,0 +1,109 @@ +From 75ed15eae925d6e9c8078c8fb013d344d7f3d50f Mon Sep 17 00:00:00 2001 +From: Frans Meulenbroeks +Date: Wed, 24 Feb 2010 12:24:34 +0100 +Subject: [PATCH 3/5] cmd_i2c.c: reworked subcommand handling + +Signed-off-by: Frans Meulenbroeks +--- + common/cmd_i2c.c | 77 +++++++++++++++++++++++++++++++---------------------- + 1 files changed, 45 insertions(+), 32 deletions(-) + +diff --git a/common/cmd_i2c.c b/common/cmd_i2c.c +index 7531702..e54fc20 100644 +--- a/common/cmd_i2c.c ++++ b/common/cmd_i2c.c +@@ -1242,46 +1242,59 @@ int do_i2c_bus_speed(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) + return ret; + } + +-int do_i2c(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) ++int do_i2c_mm(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) + { +- /* Strip off leading 'i2c' command argument */ +- argc--; +- argv++; ++ return mod_i2c_mem (cmdtp, 1, flag, argc, argv); ++} ++ ++int do_i2c_nm(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) ++{ ++ return mod_i2c_mem (cmdtp, 0, flag, argc, argv); ++} + ++int do_i2c_reset(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) ++{ ++ i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); ++ return 0; ++} ++ ++static cmd_tbl_t cmd_i2c_sub[] = { + #if defined(CONFIG_I2C_MUX) +- if (!strncmp(argv[0], "bu", 2)) +- return do_i2c_add_bus(cmdtp, flag, argc, argv); ++ U_BOOT_CMD_MKENT(bus, 1, 1, do_i2c_add_bus, "", ""), + #endif /* CONFIG_I2C_MUX */ +- if (!strncmp(argv[0], "sp", 2)) +- return do_i2c_bus_speed(cmdtp, flag, argc, argv); ++ U_BOOT_CMD_MKENT(crc32, 3, 1, do_i2c_crc, "", ""), + #if defined(CONFIG_I2C_MULTI_BUS) +- if (!strncmp(argv[0], "de", 2)) +- return do_i2c_bus_num(cmdtp, flag, argc, argv); ++ U_BOOT_CMD_MKENT(dev, 1, 1, do_i2c_bus_num, "", ""), + #endif /* CONFIG_I2C_MULTI_BUS */ +- if (!strncmp(argv[0], "md", 2)) +- return do_i2c_md(cmdtp, flag, argc, argv); +- if (!strncmp(argv[0], "mm", 2)) +- return mod_i2c_mem (cmdtp, 1, flag, argc, argv); +- if (!strncmp(argv[0], "mw", 2)) +- return do_i2c_mw(cmdtp, flag, argc, argv); +- if (!strncmp(argv[0], "nm", 2)) +- return mod_i2c_mem (cmdtp, 0, flag, argc, argv); +- if (!strncmp(argv[0], "cr", 2)) +- return do_i2c_crc(cmdtp, flag, argc, argv); +- if (!strncmp(argv[0], "pr", 2)) +- return do_i2c_probe(cmdtp, flag, argc, argv); +- if (!strncmp(argv[0], "re", 2)) { +- i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); +- return 0; +- } +- if (!strncmp(argv[0], "lo", 2)) +- return do_i2c_loop(cmdtp, flag, argc, argv); ++ U_BOOT_CMD_MKENT(loop, 3, 1, do_i2c_loop, "", ""), ++ U_BOOT_CMD_MKENT(md, 3, 1, do_i2c_md, "", ""), ++ U_BOOT_CMD_MKENT(mm, 2, 1, do_i2c_mm, "", ""), ++ U_BOOT_CMD_MKENT(mw, 3, 1, do_i2c_mw, "", ""), ++ U_BOOT_CMD_MKENT(nm, 2, 1, do_i2c_nm, "", ""), ++ U_BOOT_CMD_MKENT(probe, 0, 1, do_i2c_probe, "", ""), ++ U_BOOT_CMD_MKENT(reset, 0, 1, do_i2c_reset, "", ""), + #if defined(CONFIG_CMD_SDRAM) +- if (!strncmp(argv[0], "sd", 2)) +- return do_sdram(cmdtp, flag, argc, argv); ++ U_BOOT_CMD_MKENT(sdram, 1, 1, do_i2c_sdram, "", ""), + #endif +- cmd_usage(cmdtp); +- return 0; ++ U_BOOT_CMD_MKENT(speed, 1, 1, do_i2c_bus_speed, "", ""), ++}; ++ ++int do_i2c(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[]) ++{ ++ cmd_tbl_t *c; ++ ++ /* Strip off leading 'i2c' command argument */ ++ argc--; ++ argv++; ++ ++ c = find_cmd_tbl(argv[0], &cmd_i2c_sub[0], ARRAY_SIZE(cmd_i2c_sub)); ++ ++ if (c) { ++ return c->cmd(cmdtp, flag, argc, argv); ++ } else { ++ cmd_usage(cmdtp); ++ return 1; ++ } + } + + /***************************************************/ +-- +1.7.0 + -- cgit v1.2.3