X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=common%2Fcmd_immap.c;h=ae95758247d5e15cd26da5aca3b36ea45cdba7f8;hb=ef8f20752712dc1cdbd86f47e3bd6e35f81c83fd;hp=4bb6e0cc49de2715b131ea626e4dc9133dabdc05;hpb=0d4983930a3559be92452761cfa268ee9d0f2773;p=karo-tx-uboot.git diff --git a/common/cmd_immap.c b/common/cmd_immap.c index 4bb6e0cc49..ae95758247 100644 --- a/common/cmd_immap.c +++ b/common/cmd_immap.c @@ -28,18 +28,23 @@ #include #include -#if (CONFIG_COMMANDS & CFG_CMD_IMMAP) && \ +#if defined(CONFIG_CMD_IMMAP) && \ (defined(CONFIG_8xx) || defined(CONFIG_8260)) #if defined(CONFIG_8xx) #include #include +#include #elif defined(CONFIG_8260) #include #include #include #endif +#if defined(CONFIG_8xx) || defined(CONFIG_8260) +DECLARE_GLOBAL_DATA_PTR; +#endif + static void unimplemented ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) { @@ -107,7 +112,7 @@ do_memcinfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) #if defined(CONFIG_8xx) printf (" MCR = %08x\n", memctl->memc_mcr); #elif defined(CONFIG_8260) - printf ("\n"); + putc ('\n'); #endif printf ("MAMR = %08x MBMR = %08x", memctl->memc_mamr, memctl->memc_mbmr); @@ -316,16 +321,24 @@ do_iopinfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) int do_iopset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) { -#if defined(CONFIG_8260) uint rcode = 0; + iopin_t iopin; static uint port = 0; static uint pin = 0; static uint value = 0; - static enum { DIR, PAR, SOR, ODR, DAT } cmd = DAT; - iopin_t iopin; + static enum { + DIR, + PAR, + SOR, + ODR, + DAT, +#if defined(CONFIG_8xx) + INT +#endif + } cmd = DAT; if (argc != 5) { - printf ("iopset PORT PIN CMD VALUE\n"); + puts ("iopset PORT PIN CMD VALUE\n"); return 1; } port = argv[1][0] - 'A'; @@ -356,6 +369,11 @@ do_iopset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) case 's': cmd = SOR; break; +#if defined(CONFIG_8xx) + case 'i': + cmd = INT; + break; +#endif default: printf ("iopset: unknown command %s\n", argv[3]); rcode = 1; @@ -369,6 +387,7 @@ do_iopset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) if (rcode == 0) { iopin.port = port; iopin.pin = pin; + iopin.flag = 0; switch (cmd) { case DIR: if (value) @@ -400,14 +419,18 @@ do_iopset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) else iopin_set_low (&iopin); break; +#if defined(CONFIG_8xx) + case INT: + if (value) + iopin_set_falledge (&iopin); + else + iopin_set_anyedge (&iopin); + break; +#endif } } return rcode; -#else - unimplemented (cmdtp, flag, argc, argv); - return 0; -#endif } int @@ -431,10 +454,8 @@ static void prbrg (int n, uint val) uint div16 = (val & CPM_BRG_DIV16) != 0; #if defined(CONFIG_8xx) - DECLARE_GLOBAL_DATA_PTR; ulong clock = gd->cpu_clk; #elif defined(CONFIG_8260) - DECLARE_GLOBAL_DATA_PTR; ulong clock = gd->brg_clk; #endif @@ -529,7 +550,7 @@ do_i2cinfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) printf ("I2CER = %02x I2CMR = %02x\n", i2c->i2c_i2cer, i2c->i2c_i2cmr); if (iip == NULL) - printf ("i2c parameter ram not allocated\n"); + puts ("i2c parameter ram not allocated\n"); else { printf ("RBASE = %08x TBASE = %08x\n", iip->iic_rbase, iip->iic_tbase); @@ -634,7 +655,7 @@ U_BOOT_CMD( U_BOOT_CMD( iopset, 5, 0, do_iopset, - "iopset - set I/O Port registers\n", + "iopset - set I/O Port registers\n", "PORT PIN CMD VALUE\nPORT: A-D, PIN: 0-31, CMD: [dat|dir|odr|sor], VALUE: 0|1" ); @@ -699,4 +720,4 @@ U_BOOT_CMD( ); -#endif /* CFG_CMD_IMMAP && (CONFIG_8xx || CONFIG_8260) */ +#endif