All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.