public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
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

  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