From: Pantelis Antoniou <panto@antoniou-consulting.com> To: Tony Lindgren <tony@atomide.com> Cc: Grant Likely <grant.likely@secretlab.ca>, Matt Porter <matt.porter@linaro.org>, Koen Kooi <koen@dominion.thruhere.net>, Guenter Roeck <linux@roeck-us.net>, Ludovic Desroches <ludovic.desroches@atmel.com>, Rob Herring <robherring2@gmail.com>, Nicolas Ferre <nicolas.ferre@atmel.com>, devicetree@vger.kernel.org, Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH 3/4] arm: am33xx: DT quirks for am33xx based beaglebone variants Date: Thu, 19 Feb 2015 20:28:13 +0200 [thread overview] Message-ID: <9C7BFC7C-0751-4233-927F-D01AF078704B@antoniou-consulting.com> (raw) In-Reply-To: <20150219181656.GF32521@atomide.com> Hi Tony, > On Feb 19, 2015, at 20:16 , Tony Lindgren <tony@atomide.com> wrote: > > * Pantelis Antoniou <pantelis.antoniou@konsulko.com> [150218 07:03]: >> Implement DT quirks for the am33xx beaglebone boards. >> --- /dev/null >> +++ b/arch/arm/mach-omap2/am33xx-dt-quirks.c > ... >> + >> +/* >> + * The board IDs for am33xx board are in an I2C EEPROM >> + * We are very early in the boot process so we have to >> + * read the EEPROM directly without using the I2C layer. >> + * >> + * Note that we rely on the bootloader setting up the muxes >> + * (which is the case for u-boot). >> + */ >> + >> +/* I2C Status Register (OMAP_I2C_STAT): */ >> +#define OMAP_I2C_STAT_XDR (1 << 14) /* TX Buffer draining */ >> +#define OMAP_I2C_STAT_RDR (1 << 13) /* RX Buffer draining */ >> +#define OMAP_I2C_STAT_BB (1 << 12) /* Bus busy */ >> +#define OMAP_I2C_STAT_ROVR (1 << 11) /* Receive overrun */ >> +#define OMAP_I2C_STAT_XUDF (1 << 10) /* Transmit underflow */ >> +#define OMAP_I2C_STAT_AAS (1 << 9) /* Address as slave */ >> +#define OMAP_I2C_STAT_BF (1 << 8) /* Bus Free */ >> +#define OMAP_I2C_STAT_XRDY (1 << 4) /* Transmit data ready */ >> +#define OMAP_I2C_STAT_RRDY (1 << 3) /* Receive data ready */ >> +#define OMAP_I2C_STAT_ARDY (1 << 2) /* Register access ready */ >> +#define OMAP_I2C_STAT_NACK (1 << 1) /* No ack interrupt enable */ >> +#define OMAP_I2C_STAT_AL (1 << 0) /* Arbitration lost int ena */ > ... > > Uhh I don't like the idea of duplicating the i2c-omap.c driver under > arch/arm.. And in general we should initialize things later rather > than earlier. > > What's stopping doing these quirk checks later on time with just > a regular device driver, something like drivers/misc/bbone-quirks.c? > We have no choice; we are way early in the boot process, right after the device tree unflattening step. I’ve toyed with the idea of using early platform devices but the omap-i2c driver would need some tender love and care to make it work, and I didn’t want to get bogged down with i2c driver details at this point. > Regards, > > Tony Regards — Pantelis
WARNING: multiple messages have this Message-ID (diff)
From: panto@antoniou-consulting.com (Pantelis Antoniou) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 3/4] arm: am33xx: DT quirks for am33xx based beaglebone variants Date: Thu, 19 Feb 2015 20:28:13 +0200 [thread overview] Message-ID: <9C7BFC7C-0751-4233-927F-D01AF078704B@antoniou-consulting.com> (raw) In-Reply-To: <20150219181656.GF32521@atomide.com> Hi Tony, > On Feb 19, 2015, at 20:16 , Tony Lindgren <tony@atomide.com> wrote: > > * Pantelis Antoniou <pantelis.antoniou@konsulko.com> [150218 07:03]: >> Implement DT quirks for the am33xx beaglebone boards. >> --- /dev/null >> +++ b/arch/arm/mach-omap2/am33xx-dt-quirks.c > ... >> + >> +/* >> + * The board IDs for am33xx board are in an I2C EEPROM >> + * We are very early in the boot process so we have to >> + * read the EEPROM directly without using the I2C layer. >> + * >> + * Note that we rely on the bootloader setting up the muxes >> + * (which is the case for u-boot). >> + */ >> + >> +/* I2C Status Register (OMAP_I2C_STAT): */ >> +#define OMAP_I2C_STAT_XDR (1 << 14) /* TX Buffer draining */ >> +#define OMAP_I2C_STAT_RDR (1 << 13) /* RX Buffer draining */ >> +#define OMAP_I2C_STAT_BB (1 << 12) /* Bus busy */ >> +#define OMAP_I2C_STAT_ROVR (1 << 11) /* Receive overrun */ >> +#define OMAP_I2C_STAT_XUDF (1 << 10) /* Transmit underflow */ >> +#define OMAP_I2C_STAT_AAS (1 << 9) /* Address as slave */ >> +#define OMAP_I2C_STAT_BF (1 << 8) /* Bus Free */ >> +#define OMAP_I2C_STAT_XRDY (1 << 4) /* Transmit data ready */ >> +#define OMAP_I2C_STAT_RRDY (1 << 3) /* Receive data ready */ >> +#define OMAP_I2C_STAT_ARDY (1 << 2) /* Register access ready */ >> +#define OMAP_I2C_STAT_NACK (1 << 1) /* No ack interrupt enable */ >> +#define OMAP_I2C_STAT_AL (1 << 0) /* Arbitration lost int ena */ > ... > > Uhh I don't like the idea of duplicating the i2c-omap.c driver under > arch/arm.. And in general we should initialize things later rather > than earlier. > > What's stopping doing these quirk checks later on time with just > a regular device driver, something like drivers/misc/bbone-quirks.c? > We have no choice; we are way early in the boot process, right after the device tree unflattening step. I?ve toyed with the idea of using early platform devices but the omap-i2c driver would need some tender love and care to make it work, and I didn?t want to get bogged down with i2c driver details at this point. > Regards, > > Tony Regards ? Pantelis
next prev parent reply other threads:[~2015-02-19 18:28 UTC|newest] Thread overview: 150+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-02-18 14:59 [PATCH 0/4] Device Tree Quirks & the Beaglebone Pantelis Antoniou 2015-02-18 14:59 ` Pantelis Antoniou 2015-02-18 14:59 ` Pantelis Antoniou 2015-02-18 14:59 ` [PATCH 1/4] arm: of: Add a DT quirk method after unflattening Pantelis Antoniou 2015-02-18 14:59 ` Pantelis Antoniou 2015-02-18 14:59 ` [PATCH 2/4] of: DT quirks infrastructure Pantelis Antoniou 2015-02-18 14:59 ` Pantelis Antoniou 2015-02-18 15:41 ` Mark Rutland 2015-02-18 15:41 ` Mark Rutland 2015-02-18 15:41 ` Mark Rutland 2015-02-18 15:53 ` Pantelis Antoniou 2015-02-18 15:53 ` Pantelis Antoniou 2015-02-18 15:53 ` Pantelis Antoniou 2015-02-18 16:32 ` Ludovic Desroches 2015-02-18 16:32 ` Ludovic Desroches 2015-02-18 16:32 ` Ludovic Desroches 2015-02-18 16:39 ` Pantelis Antoniou 2015-02-18 16:39 ` Pantelis Antoniou 2015-02-18 16:39 ` Pantelis Antoniou 2015-02-18 16:47 ` Ludovic Desroches 2015-02-18 16:47 ` Ludovic Desroches 2015-02-18 16:47 ` Ludovic Desroches 2015-02-18 16:46 ` Matt Porter 2015-02-18 16:46 ` Matt Porter 2015-02-18 16:46 ` Matt Porter 2015-02-18 17:31 ` Mark Rutland 2015-02-18 17:31 ` Mark Rutland 2015-02-18 17:31 ` Mark Rutland 2015-02-18 19:32 ` Guenter Roeck 2015-02-18 19:32 ` Guenter Roeck 2015-02-18 19:32 ` Guenter Roeck 2015-02-19 14:29 ` Pantelis Antoniou 2015-02-19 14:29 ` Pantelis Antoniou 2015-02-19 14:29 ` Pantelis Antoniou 2015-02-19 16:48 ` Frank Rowand 2015-02-19 16:48 ` Frank Rowand 2015-02-19 16:48 ` Frank Rowand 2015-02-19 17:00 ` Pantelis Antoniou 2015-02-19 17:00 ` Pantelis Antoniou 2015-02-19 17:00 ` Pantelis Antoniou 2015-02-19 17:30 ` Frank Rowand 2015-02-19 17:30 ` Frank Rowand 2015-02-19 17:30 ` Frank Rowand 2015-02-19 17:38 ` Pantelis Antoniou 2015-02-19 17:38 ` Pantelis Antoniou 2015-02-19 17:38 ` Pantelis Antoniou 2015-02-19 18:01 ` Maxime Bizon 2015-02-19 18:01 ` Maxime Bizon 2015-02-19 18:01 ` Maxime Bizon 2015-02-19 18:12 ` Sylvain Rochet 2015-02-19 18:12 ` Sylvain Rochet 2015-02-19 18:12 ` Sylvain Rochet 2015-02-19 18:22 ` Maxime Bizon 2015-02-19 18:22 ` Maxime Bizon 2015-02-19 18:22 ` Maxime Bizon 2015-02-20 14:21 ` Peter Hurley 2015-02-20 14:21 ` Peter Hurley 2015-02-20 14:21 ` Peter Hurley 2015-02-20 14:35 ` Ludovic Desroches 2015-02-20 14:35 ` Ludovic Desroches 2015-02-20 14:35 ` Ludovic Desroches 2015-02-20 15:00 ` Peter Hurley 2015-02-20 15:00 ` Peter Hurley 2015-02-20 15:00 ` Peter Hurley 2015-02-20 15:02 ` Pantelis Antoniou 2015-02-20 15:02 ` Pantelis Antoniou 2015-02-20 15:02 ` Pantelis Antoniou 2015-02-20 15:24 ` Peter Hurley 2015-02-20 15:24 ` Peter Hurley 2015-02-20 15:24 ` Peter Hurley 2015-02-20 15:38 ` Pantelis Antoniou 2015-02-20 15:38 ` Pantelis Antoniou 2015-02-20 15:38 ` Pantelis Antoniou 2015-02-20 16:34 ` Peter Hurley 2015-02-20 16:34 ` Peter Hurley 2015-02-20 16:34 ` Peter Hurley 2015-02-20 16:49 ` Pantelis Antoniou 2015-02-20 16:49 ` Pantelis Antoniou 2015-02-20 16:49 ` Pantelis Antoniou 2015-02-20 17:30 ` Rob Herring 2015-02-20 17:30 ` Rob Herring 2015-02-20 17:30 ` Rob Herring 2015-02-20 17:37 ` Pantelis Antoniou 2015-02-20 17:37 ` Pantelis Antoniou 2015-02-20 17:37 ` Pantelis Antoniou 2015-02-23 7:00 ` Ludovic Desroches 2015-02-23 7:00 ` Ludovic Desroches 2015-02-23 7:00 ` Ludovic Desroches 2015-02-20 14:38 ` Pantelis Antoniou 2015-02-20 14:38 ` Pantelis Antoniou 2015-02-20 14:38 ` Pantelis Antoniou 2015-02-20 16:47 ` Guenter Roeck 2015-02-20 16:47 ` Guenter Roeck 2015-02-20 16:47 ` Guenter Roeck 2015-02-20 18:09 ` Peter Hurley 2015-02-20 18:09 ` Peter Hurley 2015-02-20 18:09 ` Peter Hurley 2015-02-20 18:48 ` Guenter Roeck 2015-02-20 18:48 ` Guenter Roeck 2015-02-20 18:48 ` Guenter Roeck 2015-02-23 7:30 ` Ludovic Desroches 2015-02-23 7:30 ` Ludovic Desroches 2015-02-23 7:30 ` Ludovic Desroches 2015-02-20 8:04 ` Ludovic Desroches 2015-02-20 8:04 ` Ludovic Desroches 2015-02-20 8:04 ` Ludovic Desroches 2015-02-19 2:08 ` Frank Rowand 2015-02-19 2:08 ` Frank Rowand 2015-02-19 14:41 ` Pantelis Antoniou 2015-02-19 14:41 ` Pantelis Antoniou 2015-02-19 16:40 ` Frank Rowand 2015-02-19 16:40 ` Frank Rowand 2015-02-19 16:51 ` Frank Rowand 2015-02-19 16:51 ` Frank Rowand 2015-02-19 16:51 ` Frank Rowand 2015-02-20 13:23 ` Peter Hurley 2015-02-20 13:23 ` Peter Hurley 2015-02-19 18:01 ` Rob Herring 2015-02-19 18:01 ` Rob Herring 2015-02-19 18:01 ` Rob Herring 2015-02-19 18:12 ` Guenter Roeck 2015-02-19 18:12 ` Guenter Roeck 2015-02-19 18:12 ` Guenter Roeck 2015-02-20 8:16 ` Ludovic Desroches 2015-02-20 8:16 ` Ludovic Desroches 2015-02-20 8:16 ` Ludovic Desroches 2015-02-18 14:59 ` [PATCH 3/4] arm: am33xx: DT quirks for am33xx based beaglebone variants Pantelis Antoniou 2015-02-18 14:59 ` Pantelis Antoniou 2015-02-19 18:16 ` Tony Lindgren 2015-02-19 18:16 ` Tony Lindgren 2015-02-19 18:16 ` Tony Lindgren 2015-02-19 18:28 ` Pantelis Antoniou [this message] 2015-02-19 18:28 ` Pantelis Antoniou 2015-02-19 18:36 ` Tony Lindgren 2015-02-19 18:36 ` Tony Lindgren 2015-02-19 18:36 ` Tony Lindgren 2015-02-19 18:44 ` Pantelis Antoniou 2015-02-19 18:44 ` Pantelis Antoniou 2015-02-19 18:44 ` Pantelis Antoniou 2015-02-23 18:39 ` Peter Hurley 2015-02-23 18:39 ` Peter Hurley 2015-02-23 18:48 ` Pantelis Antoniou 2015-02-23 18:48 ` Pantelis Antoniou 2015-02-19 18:57 ` Guenter Roeck 2015-02-19 18:57 ` Guenter Roeck 2015-02-20 16:13 ` Jon Hunter 2015-02-20 16:13 ` Jon Hunter 2015-02-18 14:59 ` [PATCH 4/4] arm: dts: Common Black/White Beaglebone DTS using quirks Pantelis Antoniou 2015-02-18 14:59 ` Pantelis Antoniou 2015-02-18 14:59 ` Pantelis Antoniou
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=9C7BFC7C-0751-4233-927F-D01AF078704B@antoniou-consulting.com \ --to=panto@antoniou-consulting.com \ --cc=devicetree@vger.kernel.org \ --cc=grant.likely@secretlab.ca \ --cc=koen@dominion.thruhere.net \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@roeck-us.net \ --cc=ludovic.desroches@atmel.com \ --cc=matt.porter@linaro.org \ --cc=nicolas.ferre@atmel.com \ --cc=robherring2@gmail.com \ --cc=tony@atomide.com \ /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: linkBe 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.