From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 5/5] New board support: Nokia RX-51 aka N900
Date: Tue, 16 Oct 2012 16:55:20 +0200 [thread overview]
Message-ID: <201210161655.20342.marex@denx.de> (raw)
In-Reply-To: <9127077.yjrBGJKET1@pali>
Dear Pali Roh?r,
[...]
>
> Nothing. This code must be in assembler because stack is not
> initialized. Also we must be sure that U-Boot will not overwrite
> attached kernel (with can be in U-Boot malloc/monitor area...)
Don't we have something that can reserve a memory area?
> > > +static char *boot_reason_ptr;
> > > +static char *hw_build_ptr;
> > > +static char *nolo_version_ptr;
> > > +static char *boot_mode_ptr;
> > > +
> > > +/*
> > > + * Routine: init_omap_tags
> > > + * Description: Initialize pointers to values in tag_omap
> > > + */
> > > +static void init_omap_tags(void)
> > > +{
> > > + char *component;
> > > + char *version;
> > > + int i = 0;
> > > + while (omap[i].hdr.tag) {
> > > + switch (omap[i].hdr.tag) {
> > > + case OMAP_TAG_BOOT_REASON:
> > > + boot_reason_ptr =
>
> omap[i].u.boot_reason.reason_str;
>
> > > + break;
> > > + case OMAP_TAG_VERSION_STR:
> > > + component = omap[i].u.version.component;
> > > + version = omap[i].u.version.version;
> > > + if (strcmp(component, "hw-build") == 0)
> > > + hw_build_ptr = version;
> > > + else if (strcmp(component, "nolo") == 0)
> > > + nolo_version_ptr = version;
> > > + else if (strcmp(component, "boot-mode") == 0)
> > > + boot_mode_ptr = version;
> > > + break;
> >
> > default: missing.
>
> Is really needed? (if yes, I can add default: break;)
It's a good practice.
> > > + }
> > > + ++i;
> >
> > i++;
>
> Reason? ++i and i++ are same (for this situation).
On arm, yes, on intel, no in certain cases. Also, to keep the code consistent,
go with postdecrement.
> > > + /* append omap atag only if env setup_omap_atag is set to
>
> 1
>
> > > */ + str = getenv("setup_omap_atag");
> > > + if (!str || strcmp(str, "1") != 0)
> >
> > str[0] == '1' ? But still, you only want to check if it's
> > defined, no?
>
> Hm, I'm checking if setup_omap_atag is 1. But is it problem?
Then why not str[0] == '1' ?
> > > +/*
> > > + * Routine: twl4030_regulator_set_mode
> > > + * Description: Set twl4030 regulator mode over i2c
> > > powerbus.
> > > + */
> > > +static void twl4030_regulator_set_mode(u8 id, u8 mode)
> > > +{
> > > + u16 msg = MSG_SINGULAR(DEV_GRP_P1, id, mode);
> > > + twl4030_i2c_write_u8(TWL4030_CHIP_PM_MASTER, msg >> 8,
> > > + TWL4030_PM_MASTER_PB_WORD_MSB);
> > > + twl4030_i2c_write_u8(TWL4030_CHIP_PM_MASTER, msg & 0xff,
> > > + TWL4030_PM_MASTER_PB_WORD_LSB);
> >
> > Uh, is this somehow special that you can't do longer transfer?
>
> I do not know how, because registers are different (MSB and LSB).
Investigate ;-)
> > > + /* set env variable attkernaddr for relocated kernel */
> > > + sprintf(buf, "%#x", KERNEL_ADDRESS);
> > > + setenv("attkernaddr", buf);
> >
> > Uhhh ? This definitelly isn't right! What are you trying to
> > achieve here?
>
> I think it is right. I want to store address of kernel (in hex
> with leading 0x) to env attkernaddr. And %#x is doing it.
Ah, now that you mentioned that you don't want kernel to be rewritten, I see the
point of this variable.
> > > +
> > > +static unsigned long int twl_wd_time; /* last time of
> > > watchdog reset */ +static unsigned long int twl_i2c_lock;
> >
> > Are you sure you want to use global vars for these? These won't
> > work before reloc!
>
> Why it does not work before reloc? U-Boot is on n900 always
> started from RAM.
The BSS isn't cleared though.
> > > +
> > > +static u8 keys[8];
> > > +static u8 old_keys[8] = {0, 0, 0, 0, 0, 0, 0, 0};
> > > +#define KEYBUF_SIZE 32
> > > +static u8 keybuf[KEYBUF_SIZE];
> > > +static u8 keybuf_head;
> > > +static u8 keybuf_tail;
> >
> > How much of this can be made const ?
>
> Nothing. All is for keyboard and is changed by keyboard functions
> (tstc, getc)
>
> > This magic needs at least _some_ documentation.
> >
> > > + if (!(mods & 2) && (k == 18 || k == 31 || k == 33 || k ==
> > > 34)) { + /* cursor keys, without fn */
> > > + keybuf[keybuf_tail++] = '\e';
>
> there is "cursor keys without fn" (fn is "meta" key on n900). So
> this condition check if some cursor key (without fn) was pressed.
Good, document it.
> > > +int rx51_kp_tstc(void)
> > > +{
> > > + u8 c, r, dk, i;
> > > + u8 intr;
> > > + u8 mods;
> > > +
> > > + /* localy lock twl4030 i2c bus */
> > > + if (test_and_set_bit(0, &twl_i2c_lock))
> > > + return 0;
> > > +
> > > + /* twl4030 remembers up to 2 events */
> > > + for (i = 0; i < 2; i++) {
> > > +
> > > + /* check interrupt register for events */
> > > + twl4030_i2c_read_u8(TWL4030_CHIP_KEYPAD, &intr,
> > > + TWL4030_KEYPAD_KEYP_ISR1+(2*i));
> > > +
> > > + if (intr&1) { /* got an event */
> >
> > I will let you think about how to optimize the indent depth
> > here ...
>
> Ok, I will optimize indentation. This code (keyboard support) was
> written by Alistair Buxton and I reused it with minimal changes.
That doesn't justify it ;-)
> > > +#define tostring(s) #s
> > > +#define stringify(s) tostring(s)
> >
> > We do have __stringify(), use that!
>
> Ok, in April (when I wrote this part of code) __stringify was not
> in U-Boot (I checked it).
Yep, time changed.
Best regards,
Marek Vasut
next prev parent reply other threads:[~2012-10-16 14:55 UTC|newest]
Thread overview: 221+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-24 14:27 [U-Boot] [PATCH 00/14] Nokia RX-51 support Pali Rohár
2012-01-24 14:27 ` [U-Boot] [PATCH 01/14] arm, omap3: Define save_boot_params in lowlevel_init.S for SPL only Pali Rohár
2012-01-25 18:00 ` Marek Vasut
2012-01-25 18:50 ` Tom Rini
2012-01-25 18:47 ` Tom Rini
2012-02-28 16:25 ` Pali Rohár
2012-02-28 16:29 ` Tom Rini
2012-02-29 21:37 ` Marek Vasut
2012-03-05 18:24 ` Tom Rini
2012-03-05 18:49 ` Marek Vasut
2012-01-24 14:27 ` [U-Boot] [PATCH 02/14] arm: Optionally use existing atags in bootm.c Pali Rohár
2012-01-25 18:02 ` Marek Vasut
2012-01-25 19:17 ` Pali Rohár
2012-01-25 20:55 ` Marek Vasut
2012-01-25 21:08 ` Pali Rohár
2012-01-25 21:28 ` Marek Vasut
2012-01-25 21:35 ` Pali Rohár
2012-01-25 21:55 ` Marek Vasut
2012-01-25 22:03 ` Pali Rohár
2012-01-24 14:28 ` [U-Boot] [PATCH 03/14] Add power bus message definitions in twl4030.h Pali Rohár
2012-01-25 18:04 ` Marek Vasut
2012-01-25 19:24 ` Pali Rohár
2012-01-26 7:15 ` Igor Grinberg
2012-01-24 14:28 ` [U-Boot] [PATCH 04/14] Fix function readline in main.c Pali Rohár
2012-01-25 18:05 ` Marek Vasut
2012-02-27 20:39 ` Mike Frysinger
2012-01-24 14:28 ` [U-Boot] [PATCH 05/14] cfb_console: Fix function console_scrollup Pali Rohár
2012-01-25 18:06 ` Marek Vasut
2012-01-25 19:59 ` Pali Rohár
2012-03-21 9:45 ` Anatolij Gustschin
2012-03-21 10:20 ` Marek Vasut
2012-03-21 11:32 ` Anatolij Gustschin
2012-03-21 11:39 ` Anatolij Gustschin
2012-03-21 18:50 ` Pali Rohár
2012-03-21 22:58 ` Anatolij Gustschin
2012-03-22 8:58 ` Pali Rohár
2012-03-23 8:47 ` Anatolij Gustschin
2012-04-26 21:45 ` Anatolij Gustschin
2012-04-26 21:50 ` Pali Rohár
2012-04-28 15:11 ` Anatolij Gustschin
2012-04-28 15:58 ` Pali Rohár
2012-01-24 14:28 ` [U-Boot] [PATCH 06/14] cfb_console: Add function console_clear and console_clear_line Pali Rohár
2012-01-25 18:08 ` Marek Vasut
2012-01-25 19:31 ` Pali Rohár
2012-01-25 20:54 ` Marek Vasut
2012-01-24 14:28 ` [U-Boot] [PATCH 07/14] cfb_console: Add functions for moving with cursor Pali Rohár
2012-01-24 14:28 ` [U-Boot] [PATCH 08/14] cfb_console: Add support for some ANSI terminal escape codes Pali Rohár
2012-01-24 14:28 ` [U-Boot] [PATCH 09/14] New command clear: Clear the ANSI terminal Pali Rohár
2012-01-25 18:10 ` Marek Vasut
2012-01-25 19:33 ` Pali Rohár
2012-01-25 20:53 ` Marek Vasut
2012-02-14 7:02 ` Mike Frysinger
2012-01-24 14:28 ` [U-Boot] [PATCH 10/14] New config variable CONFIG_MENUCMD Pali Rohár
2012-01-25 18:12 ` Marek Vasut
2012-01-25 19:39 ` Pali Rohár
2012-01-25 20:53 ` Marek Vasut
2012-01-26 16:43 ` Pali Rohár
2012-02-14 7:09 ` Mike Frysinger
2012-01-24 14:28 ` [U-Boot] [PATCH 11/14] New config variable CONFIG_PREMONITOR Pali Rohár
2012-01-25 18:12 ` Marek Vasut
2012-01-25 19:48 ` Pali Rohár
2012-01-25 20:51 ` Marek Vasut
2012-01-25 21:24 ` Pali Rohár
2012-01-25 21:28 ` Marek Vasut
2012-01-25 21:55 ` Pali Rohár
2012-01-25 22:01 ` Marek Vasut
2012-02-14 7:04 ` Mike Frysinger
2012-01-24 14:28 ` [U-Boot] [PATCH 12/14] New board support: Nokia RX-51 aka N900 Pali Rohár
2012-01-24 14:28 ` [U-Boot] [PATCH 13/14] New command bootmenu: ANSI terminal Boot Menu support Pali Rohár
2012-01-25 18:18 ` Marek Vasut
2012-01-25 19:57 ` Pali Rohár
2012-01-27 10:51 ` Sergey Lapin
2012-02-14 7:07 ` Mike Frysinger
2012-01-24 14:28 ` [U-Boot] [PATCH 14/14] RX-51: Add support for bootmenu Pali Rohár
2012-01-24 19:25 ` [U-Boot] [PATCH 00/14] Nokia RX-51 support Graeme Russ
2012-01-25 9:48 ` Sergey Lapin
2012-01-25 11:51 ` Pali Rohár
2012-01-25 18:20 ` Marek Vasut
2012-01-25 19:08 ` Pali Rohár
2012-01-25 20:56 ` Marek Vasut
2012-01-25 21:16 ` Pali Rohár
2012-01-25 21:29 ` Marek Vasut
2012-01-25 21:53 ` Pali Rohár
2012-01-25 22:00 ` Marek Vasut
2012-01-26 16:25 ` Sergey Lapin
2012-01-26 16:39 ` Pali Rohár
2012-01-26 16:48 ` Marek Vasut
2012-01-27 8:59 ` Sergey Lapin
2012-01-27 10:27 ` Pali Rohár
2012-01-26 16:48 ` Marek Vasut
2012-01-25 17:59 ` Marek Vasut
2012-01-26 8:27 ` Graeme Russ
2012-02-04 12:26 ` Pali Rohár
2012-02-04 15:05 ` Marek Vasut
2012-02-26 20:37 ` Pali Rohár
2012-02-26 22:08 ` Marek Vasut
2012-02-27 4:10 ` Mike Frysinger
2012-02-27 18:41 ` Pali Rohár
2012-02-27 20:55 ` Marek Vasut
2012-03-04 20:21 ` Pali Rohár
2012-03-04 20:57 ` Marek Vasut
2012-03-04 21:35 ` Pali Rohár
2012-03-04 21:50 ` Marek Vasut
2012-03-05 21:54 ` Pali Rohár
2012-03-04 22:09 ` Wolfgang Denk
2012-03-05 21:56 ` Pali Rohár
2012-03-05 4:26 ` Mike Frysinger
2012-03-05 21:58 ` Pali Rohár
2012-03-05 23:09 ` Mike Frysinger
2012-03-10 13:18 ` Pali Rohár
2012-03-04 21:01 ` Mike Frysinger
2012-04-28 17:26 ` [U-Boot] [PATCH v2 00/11] " Pali Rohár
2012-04-28 17:26 ` [U-Boot] [PATCH v2 01/11] arm: Optionally use existing atags in bootm.c Pali Rohár
2012-04-28 21:20 ` Wolfgang Denk
2012-04-29 7:20 ` Pali Rohár
2012-04-29 12:16 ` Wolfgang Denk
2012-04-28 22:15 ` Marek Vasut
2012-04-29 7:14 ` Pali Rohár
2012-04-29 9:10 ` Marek Vasut
2012-04-29 9:15 ` Pali Rohár
2012-04-29 13:08 ` Marek Vasut
2012-06-01 18:31 ` Pali Rohár
2012-04-28 23:22 ` Mike Frysinger
2012-04-29 7:57 ` Pali Rohár
2012-04-28 17:26 ` [U-Boot] [PATCH v2 02/11] Add power bus message definitions in twl4030.h Pali Rohár
2012-04-28 17:26 ` [U-Boot] [PATCH v2 03/11] cfb_console: Fix function console_back Pali Rohár
2012-04-28 22:15 ` Marek Vasut
2012-04-29 7:24 ` Pali Rohár
2012-04-29 12:17 ` Wolfgang Denk
2012-05-19 19:16 ` Anatolij Gustschin
2012-06-01 18:42 ` Pali Rohár
2012-06-04 20:47 ` Anatolij Gustschin
2012-04-28 17:26 ` [U-Boot] [PATCH v2 04/11] cfb_console: Add function console_clear and console_clear_line Pali Rohár
2012-04-28 22:17 ` Marek Vasut
2012-04-28 17:26 ` [U-Boot] [PATCH v2 05/11] cfb_console: Add functions for moving with cursor Pali Rohár
2012-04-28 22:18 ` Marek Vasut
2012-04-29 7:26 ` Pali Rohár
2012-04-29 9:09 ` Marek Vasut
2012-04-29 12:18 ` Wolfgang Denk
2012-05-20 20:38 ` [U-Boot] [PATCH v3 05/11] cfb_console: Add console_clear_line function Anatolij Gustschin
2012-05-20 20:45 ` Anatolij Gustschin
2012-06-04 20:49 ` Anatolij Gustschin
2012-04-28 17:26 ` [U-Boot] [PATCH v2 06/11] cfb_console: Add support for some ANSI terminal escape codes Pali Rohár
2012-04-28 22:19 ` Marek Vasut
2012-04-29 7:29 ` Pali Rohár
2012-04-29 12:42 ` Wolfgang Denk
2012-04-28 17:26 ` [U-Boot] [PATCH v2 07/11] cfb_console: Ignore bell character Pali Rohár
2012-06-05 7:30 ` Anatolij Gustschin
2012-04-28 17:26 ` [U-Boot] [PATCH v2 08/11] video: cfb_console: flush dcache for frame buffer in DRAM Pali Rohár
2012-04-28 17:26 ` [U-Boot] [PATCH v2 09/11] New command clear: Clear the ANSI terminal Pali Rohár
2012-08-09 21:02 ` Wolfgang Denk
2012-04-28 17:26 ` [U-Boot] [PATCH v2 10/11] New config variable CONFIG_PREMONITOR Pali Rohár
2012-04-28 20:39 ` Wolfgang Denk
2012-04-29 7:37 ` Pali Rohár
2012-04-29 12:44 ` Wolfgang Denk
2012-04-28 17:26 ` [U-Boot] [PATCH v2 11/11] New board support: Nokia RX-51 aka N900 Pali Rohár
2012-04-28 21:32 ` Wolfgang Denk
2012-04-29 7:55 ` Pali Rohár
2012-04-29 9:18 ` Marek Vasut
2012-04-30 23:37 ` Tom Rini
2012-04-30 23:42 ` Marek Vasut
2012-05-01 0:41 ` Tom Rini
2012-06-01 18:39 ` Pali Rohár
2012-06-01 18:48 ` Marek Vasut
2012-06-01 19:03 ` Pali Rohár
2012-06-01 20:09 ` Marek Vasut
2012-04-29 12:49 ` Wolfgang Denk
2012-10-13 19:31 ` [U-Boot] [PATCH v3 0/5] Nokia RX-51 support Pali Rohár
2012-10-13 19:31 ` [U-Boot] [PATCH v3 1/5] arm bootm: Allow to pass board specified atags Pali Rohár
2012-10-13 23:43 ` Marek Vasut
2012-10-14 0:02 ` Pali Rohár
2012-10-14 0:18 ` Marek Vasut
2012-10-14 1:12 ` Pali Rohár
2012-10-13 19:31 ` [U-Boot] [PATCH v3 2/5] arm bootm: Do not append zero ATAG_MEM Pali Rohár
2012-10-13 23:45 ` Marek Vasut
2012-10-14 0:08 ` Pali Rohár
2012-10-14 0:17 ` Marek Vasut
2012-10-14 0:23 ` Pali Rohár
2012-10-14 0:27 ` Marek Vasut
2012-10-14 0:35 ` Pali Rohár
2012-10-14 1:08 ` Marek Vasut
2012-10-16 15:56 ` Tom Rini
2012-10-13 19:31 ` [U-Boot] [PATCH v3 3/5] Add power bus message definitions in twl4030.h Pali Rohár
2012-10-13 23:46 ` Marek Vasut
2012-10-14 0:14 ` Pali Rohár
2012-10-14 0:16 ` Marek Vasut
2012-10-14 0:51 ` Pali Rohár
2012-10-14 1:08 ` Marek Vasut
2012-10-13 19:31 ` [U-Boot] [PATCH v3 4/5] cfb_console: Add support for some ANSI terminal escape codes Pali Rohár
2012-10-13 23:48 ` Marek Vasut
2012-10-14 0:18 ` Pali Rohár
2012-10-14 0:27 ` Marek Vasut
2012-10-13 19:32 ` [U-Boot] [PATCH v3 5/5] New board support: Nokia RX-51 aka N900 Pali Rohár
2012-10-14 0:06 ` Marek Vasut
2012-10-14 8:31 ` Albert ARIBAUD
2012-10-16 14:43 ` Pali Rohár
2012-10-16 14:55 ` Marek Vasut [this message]
2012-10-16 15:46 ` Pali Rohár
2012-10-16 15:57 ` Marek Vasut
2012-10-16 16:15 ` Pali Rohár
2012-10-19 12:00 ` [U-Boot] [PATCH v4 0/5] Nokia RX-51 support Pali Rohár
2012-10-19 12:00 ` [U-Boot] [PATCH v4 1/5] arm bootm: Allow to pass board specified atags Pali Rohár
2012-10-19 12:00 ` [U-Boot] [PATCH v4 2/5] arm bootm: Do not append zero ATAG_MEM Pali Rohár
2012-10-20 9:34 ` Marek Vasut
2012-10-20 9:41 ` Pali Rohár
2012-10-26 17:44 ` Tom Rini
2012-10-26 17:52 ` Tom Rini
2012-10-27 15:29 ` Marek Vasut
2012-10-29 17:37 ` Tom Rini
2012-10-19 12:00 ` [U-Boot] [PATCH v4 3/5] Add power bus message definitions in twl4030.h Pali Rohár
2012-10-19 12:00 ` [U-Boot] [PATCH v4 4/5] cfb_console: Add support for some ANSI terminal escape codes Pali Rohár
2012-10-19 23:30 ` [U-Boot] [PATCH v5 " Anatolij Gustschin
2012-10-23 14:28 ` Pali Rohár
2012-10-19 23:38 ` [U-Boot] [PATCH v4 " Anatolij Gustschin
2012-10-23 14:25 ` Pali Rohár
2012-10-19 12:00 ` [U-Boot] [PATCH v4 5/5] New board support: Nokia RX-51 aka N900 Pali Rohár
2012-10-23 7:20 ` Igor Grinberg
2012-10-29 17:55 ` Pali Rohár
2012-10-29 17:54 ` [U-Boot] [PATCH v5 " Pali Rohár
2012-11-02 17:07 ` Tom Rini
-- strict thread matches above, loose matches on Subject: below --
2012-10-14 10:04 [U-Boot] [PATCH v3 " Ивайло Димитров
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201210161655.20342.marex@denx.de \
--to=marex@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox