dm: rpi: Move Raspberry Pi to use driver model
Subsystems (4)
cover dm: rpi: Move Raspberry Pi to use driver model
This series adds driver model support to the GPIO and serial drivers used by Raspberry Pi, and moves Raspberry Pi over to driver model.
This requires adding driver model support to the pl01x serial driver, and replacing the bcm2835 GPIO driver with a driver model version (since there are no longer clients that don't use driver model).
See u-boot-dm.git branch rpi-working for the tree this is based on.
Simon Glass (4):
dm: rpi: Convert GPIO driver to driver model
dm: serial: Tidy up the pl01x driver
dm: serial: Support driver model in pl01x driver
dm: rpi: Move serial to driver model
arch/arm/include/asm/arch-bcm2835/gpio.h | 9 +
board/raspberrypi/rpi_b/rpi_b.c | 23 ++
drivers/gpio/bcm2835_gpio.c | 180 ++++++++--
drivers/serial/Makefile | 5 +-
drivers/serial/serial_pl01x.c | 373 +++++++++++++--------
.../{serial_pl01x.h => serial_pl01x_internal.h} | 0
include/configs/rpi_b.h | 11 +-
include/serial_pl01x.h | 27 ++
8 files changed, 462 insertions(+), 166 deletions(-)
rename drivers/serial/{serial_pl01x.h => serial_pl01x_internal.h} (100%)
create mode 100644 include/serial_pl01x.hSignature · 1 line
2.1.0.rc2.206.gedb03e5
PATCH 1/4 dm: rpi: Convert GPIO driver to driver model
Convert the BCM2835 GPIO driver to use driver model, and switch over Raspberry Pi to use this, since it is the only board.
---
arch/arm/include/asm/arch-bcm2835/gpio.h | 9 ++ board/raspberrypi/rpi_b/rpi_b.c | 11 ++ drivers/gpio/bcm2835_gpio.c | 180 +++++++++++++++++++++++++++---- include/configs/rpi_b.h | 5 + 4 files changed, 182 insertions(+), 23 deletions(-)
arch/arm/include/asm/arch-bcm2835/gpio.h +9 -0
@@ -52,4 +52,13 @@ struct bcm2835_gpio_regs { u32 gppudclk[2]; }; +/** +* struct bcm2835_gpio_platdata - GPIO platform description +* +* @base: Base address of GPIO controller +*/ +struct bcm2835_gpio_platdata { +unsigned long base; +}; +#endif /* _BCM2835_GPIO_H_ */
board/raspberrypi/rpi_b/rpi_b.c +11 -0
@@ -16,15 +16,26 @@#include <common.h> #include <config.h> +#include <dm.h> #include <fdt_support.h> #include <lcd.h> #include <mmc.h> +#include <asm/gpio.h> #include <asm/arch/mbox.h> #include <asm/arch/sdhci.h> #include <asm/global_data.h> DECLARE_GLOBAL_DATA_PTR ; +static const struct bcm2835_gpio_platdata gpio_platdata = { + .base =BCM2835_GPIO_BASE , +}; + +U_BOOT_DEVICE (bcm2835_gpios) = { + .name ="gpio_bcm2835" , + .platdata = &gpio_platdata, +}; +struct msg_get_arm_mem {struct bcm2835_mbox_hdr hdr;struct bcm2835_mbox_tag_get_arm_mem get_arm_mem;
drivers/gpio/bcm2835_gpio.c +157 -23
230 lines not on this page · raw message
include/configs/rpi_b.h +5 -0
@@ -31,6 +31,11 @@*/ #define CONFIG_MACH_TYPE MACH_TYPE_BCM2708 +/* Enable driver model */ +#define CONFIG_DM +#define CONFIG_CMD_DM +#define CONFIG_DM_GPIO +/* Memory layout */ #define CONFIG_NR_DRAM_BANKS 1#define CONFIG_SYS_SDRAM_BASE 0x00000000
Signature · 1 line
2.1.0.rc2.206.gedb03e5
PATCH 1/4 dm: rpi: Convert GPIO driver to driver model
Quoted 14 lines · Simon Glass
Convert the BCM2835 GPIO driver to use driver model, and switch over Raspberry Pi to use this, since it is the only board.
drivers/gpio/bcm2835_gpio.c +5
-0+static inline bool gpio_is_requested (struct bcm2835_gpios *gpios,int offset) { +return *gpios->label[offset] !='\0' ; } +static int check_requested (struct udevice *dev,unsigned offset, +const char *func) { +struct bcm2835_gpios *gpios =dev_get_priv (dev);
drivers/gpio/bcm2835_gpio.c line 46
Quoted 10 lines
drivers/gpio/bcm2835_gpio.c +9
-0+struct gpio_dev_priv *uc_priv = dev->uclass_priv; + +if (!gpio_is_requested (gpios, offset)) { +printf ("omap_gpio: %s: error: gpio %s%d not requested\n" , + func, uc_priv->bank_name, offset); +return -EPERM ; + } + +return 0 ; }
It seems like the core GPIO layer should be doing the high-level management of GPIO requesting, so each driver doesn't have to duplicate the code?
PATCH 1/4 dm: rpi: Convert GPIO driver to driver model
Hi Stephen,
Quoted 21 lines · Stephen Warren
Quoted 20 lines · Simon Glass
Convert the BCM2835 GPIO driver to use driver model, and switch over Raspberry Pi to use this, since it is the only board.
drivers/gpio/bcm2835_gpio.c +11
-0+static inline bool gpio_is_requested (struct bcm2835_gpios *gpios,int offset) { +return *gpios->label[offset] !='\0' ; } +static int check_requested (struct udevice *dev,unsigned offset, +const char *func) { +struct bcm2835_gpios *gpios =dev_get_priv (dev); +struct gpio_dev_priv *uc_priv = dev->uclass_priv; + +if (!gpio_is_requested (gpios, offset)) { +printf ("omap_gpio: %s: error: gpio %s%d not requested\n" , + func, uc_priv->bank_name, offset); +return -EPERM ;
Quoted 8 lines
drivers/gpio/bcm2835_gpio.c line 46
Quoted 4 lines
drivers/gpio/bcm2835_gpio.c +3
-0+ } + +return 0 ; }It seems like the core GPIO layer should be doing the high-level management of GPIO requesting, so each driver doesn't have to duplicate the code?
Yes, agreed. I figured this was coming but took a conservative approach with the uclass to start with. I will be taking a look at moving this logic into the uclass soon. I've done enough GPIO drivers to prove this out.
Regards,
Simon
PATCH 1/4 dm: rpi: Convert GPIO driver to driver model
In reply to Simon GlassQuoted 12 lines · Simon Glass
Convert the BCM2835 GPIO driver to use driver model, and switch over Raspberry Pi to use this, since it is the only board.
Signed-off-by Simon Glass <[email protected]>---
arch/arm/include/asm/arch-bcm2835/gpio.h | 9 ++ board/raspberrypi/rpi_b/rpi_b.c | 11 ++ drivers/gpio/bcm2835_gpio.c | 180 +++++++++++++++++++++++++++---- include/configs/rpi_b.h | 5 + 4 files changed, 182 insertions(+), 23 deletions(-)
Applied to u-boot-dm/master.
PATCH 2/4 dm: serial: Tidy up the pl01x driver
In reply to Simon GlassAdjust the driver so that leaf functions take a pointer to the serial port register base. Put all the global configuration in the init function, and use the same settings from then on.
This makes it much easier to move to driver model without duplicating the code, since with driver model we use platform data rather than global settings.
The driver is compiled with either the CONFIG_PL010_SERIAL or CONFIG_PL011_SERIAL option and this determines the uart type. With driver model this needs to come in from platform data, so create a new CONFIG_PL01X_SERIAL config which brings in the driver, and adjust the driver to support both peripheral variants.
---
drivers/serial/Makefile | 5 +-
drivers/serial/serial_pl01x.c | 300 +++++++++++----------
.../{serial_pl01x.h => serial_pl01x_internal.h} | 0
include/serial_pl01x.h | 27 ++
4 files changed, 192 insertions(+), 140 deletions(-)
rename drivers/serial/{serial_pl01x.h => serial_pl01x_internal.h} (100%)
create mode 100644 include/serial_pl01x.hdrivers/serial/Makefile +3 -2
@@ -7,8 +7,11 @@ ifdef CONFIG_DM_SERIAL obj-y += serial-uclass.o +obj-$(CONFIG_PL01X_SERIAL) += serial_pl01x.o else obj-y += serial.o +obj-$(CONFIG_PL010_SERIAL) += serial_pl01x.o +obj-$(CONFIG_PL011_SERIAL) += serial_pl01x.o obj-$(CONFIG_SYS_NS16550_SERIAL) += serial_ns16550.o endif
@@ -25,8 +28,6 @@ obj-$(CONFIG_IMX_SERIAL) += serial_imx.o obj-$(CONFIG_KS8695_SERIAL) += serial_ks8695.o obj-$(CONFIG_MAX3100_SERIAL) += serial_max3100.o obj-$(CONFIG_MXC_UART) += serial_mxc.o -obj-$(CONFIG_PL010_SERIAL) += serial_pl01x.o -obj-$(CONFIG_PL011_SERIAL) += serial_pl01x.o obj-$(CONFIG_PXA_SERIAL) += serial_pxa.o obj-$(CONFIG_SA1100_SERIAL) += serial_sa1100.o obj-$(CONFIG_S3C24X0_SERIAL) += serial_s3c24x0.o
drivers/serial/serial_pl01x.c +162 -138
380 lines not on this page · raw message
drivers/serial/serial_pl01x_internal.h renamed from drivers/serial/serial_pl01x.h +0 -0
include/serial_pl01x.h new file +27 -0
@@ -0,0 +1,27 @@ +/* +* Copyright (c) 2014 Google, Inc +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#ifndef __serial_pl01x_h +#define __serial_pl01x_h + +enum pl01x_type { +TYPE_PL010 , +TYPE_PL011 , +}; + +/* +*Information about a serial port +* +* @base: Register base address +* @type: Port type +* @clock: Input clock rate, used for calculating the baud rate divisor +*/ +struct pl01x_serial_platdata { +unsigned long base; +enum pl01x_type type; +unsigned int clock; +}; + +#endif
Signature · 1 line
2.1.0.rc2.206.gedb03e5
PATCH 2/4 dm: serial: Tidy up the pl01x driver
Quoted 17 lines · Simon Glass
Adjust the driver so that leaf functions take a pointer to the serial port register base. Put all the global configuration in the init function, and use the same settings from then on.
This makes it much easier to move to driver model without duplicating the code, since with driver model we use platform data rather than global settings.
The driver is compiled with either the
CONFIG_PL010_SERIALorCONFIG_PL011_SERIALoption and this determines the uart type. With driver model this needs to come in from platform data, so create a newCONFIG_PL01X_SERIALconfig which brings in the driver, and adjust the driver to support both peripheral variants.Signed-off-by Simon Glass <[email protected]>---
Quoted 8 lines
drivers/serial/Makefile | 5 +-
drivers/serial/serial_pl01x.c | 300 +++++++++++----------
.../{serial_pl01x.h => serial_pl01x_internal.h} | 0
include/serial_pl01x.h | 27 ++
4 files changed, 192 insertions(+), 140 deletions(-)
rename drivers/serial/{serial_pl01x.h => serial_pl01x_internal.h} (100%)
create mode 100644 include/serial_pl01x.hApplied to u-boot-dm/master.
PATCH 2/4 dm: serial: Tidy up the pl01x driver
In reply to Simon GlassQuoted 8 lines · Simon Glass
Adjust the driver so that leaf functions take a pointer to the serial port register base. Put all the global configuration in the init function, and use the same settings from then on.
This makes it much easier to move to driver model without duplicating the code, since with driver model we use platform data rather than global settings.
Quoted 7 lines
The driver is compiled with either the
CONFIG_PL010_SERIALorCONFIG_PL011_SERIALoption and this determines the uart type. With driver model this needs to come in from platform data, so create a newCONFIG_PL01X_SERIALconfig which brings in the driver, and adjust the driver to support both peripheral variants.Signed-off-by Simon Glass <[email protected]>
Unfortunately this patch regresses PL010 (Integrator/AP), and I suspect it has never been tested on real-world PL010 hardware?
I'm hunting around to figure out what is causing it, any hints welcome.
Yours,
Linus Walleij
PATCH 2/4 dm: serial: Tidy up the pl01x driver
Quoted 16 lines · Linus Walleij
Quoted 14 lines · Simon Glass
Adjust the driver so that leaf functions take a pointer to the serial port register base. Put all the global configuration in the init function, and use the same settings from then on.
This makes it much easier to move to driver model without duplicating the code, since with driver model we use platform data rather than global settings.
The driver is compiled with either the
CONFIG_PL010_SERIALorCONFIG_PL011_SERIALoption and this determines the uart type. With driver model this needs to come in from platform data, so create a newCONFIG_PL01X_SERIALconfig which brings in the driver, and adjust the driver to support both peripheral variants.
Quoted 6 lines
Quoted 1 line
Signed-off-by Simon Glass <[email protected]>Unfortunately this patch regresses PL010 (Integrator/AP), and I suspect it has never been tested on real-world PL010 hardware?
I'm hunting around to figure out what is causing it, any hints welcome.
FYI: U-Boot does come up, but trying to switch baudrate from the default 38400 to 115200 with set baudrate 115200 hangs, it's as if the change never hits the hardware so the routine looking for a CR after the baudrate switch just waits. If I switch the terminal back to 38400 and hit enter it goes through and works again, and U-Boot thinks it has successfully switched to 115200, while it hasn't, really.
Kind of frustrating since I upload kernels over the serial port :P
Yours,
Linus Walleij
PATCH 3/4 dm: serial: Support driver model in pl01x driver
In reply to Simon GlassAdd driver model support in this driver, using platform data provided by the board.
---
drivers/serial/serial_pl01x.c | 73 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+)
drivers/serial/serial_pl01x.c +73 -0
@@ -12,6 +12,7 @@/* Simple U-Boot driver for the PrimeCell PL010/PL011 UARTs */ #include <common.h> +#include <dm.h> #include <errno.h> #include <watchdog.h> #include <asm/io.h>
@@ -20,12 +21,15 @@#include <linux/compiler.h> #include "serial_pl01x_internal.h" +#ifndef CONFIG_DM_SERIAL +static volatile unsigned char *const port[] = CONFIG_PL01x_PORTS; static enum pl01x_type pl01x_type __attribute__ ((section(".data"))); static struct pl01x_regs *base_regs __attribute__ ((section(".data")));#define NUM_PORTS (sizeof(port)/sizeof(port[0]))DECLARE_GLOBAL_DATA_PTR ; +#endif static int pl01x_putc (struct pl01x_regs *regs,char c) {
@@ -274,3 +278,72 @@ __weak struct serial_device *default_serial_console(void) }#endif /* nCONFIG_DM_SERIAL */ + +#ifdef CONFIG_DM_SERIAL + +struct pl01x_priv { +struct pl01x_regs *regs; +enum pl01x_type type; +}; + +static int pl01x_serial_setbrg (struct udevice *dev,int baudrate) +{ +struct pl01x_serial_platdata *plat =dev_get_platdata (dev); +struct pl01x_priv *priv =dev_get_priv (dev); + +pl01x_generic_setbrg (priv->regs, priv->type, plat->clock, baudrate); + +return 0 ; +} + +static int pl01x_serial_probe (struct udevice *dev) +{ +struct pl01x_serial_platdata *plat =dev_get_platdata (dev); +struct pl01x_priv *priv =dev_get_priv (dev); + + priv->regs = (struct pl01x_regs *)plat->base; + priv->type = plat->type; +return pl01x_generic_serial_init (priv->regs, priv->type); +} + +static int pl01x_serial_getc (struct udevice *dev) +{ +struct pl01x_priv *priv =dev_get_priv (dev); + +return pl01x_getc (priv->regs); +} + +static int pl01x_serial_putc (struct udevice *dev,const char ch) +{ +struct pl01x_priv *priv =dev_get_priv (dev); + +return pl01x_putc (priv->regs, ch); +} + +static int pl01x_serial_pending (struct udevice *dev,bool input) +{ +struct pl01x_priv *priv =dev_get_priv (dev); +unsigned int fr =readl (&priv->regs->fr); + +if (input) +return pl01x_tstc (priv->regs); +else +return fr & UART_PL01x_FR_TXFF ?0 :1 ; +} + +static const struct dm_serial_ops pl01x_serial_ops = { + .putc = pl01x_serial_putc, + .pending = pl01x_serial_pending, + .getc = pl01x_serial_getc, + .setbrg = pl01x_serial_setbrg, +}; + +U_BOOT_DRIVER (serial_pl01x) = { + .name ="serial_pl01x" , + .id =UCLASS_SERIAL , + .probe = pl01x_serial_probe, + .ops = &pl01x_serial_ops, + .flags =DM_FLAG_PRE_RELOC , +}; + +#endif
Signature · 1 line
2.1.0.rc2.206.gedb03e5
PATCH 3/4 dm: serial: Support driver model in pl01x driver
Quoted 8 lines · Simon Glass
Add driver model support in this driver, using platform data provided by the board.
Signed-off-by Simon Glass <[email protected]>---
drivers/serial/serial_pl01x.c | 73 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+)
Applied to u-boot-dm/master.
PATCH 4/4 dm: rpi: Move serial to driver model
In reply to Simon GlassAdjust the configuration to use the driver model version of the pl01x serial driver. Add the required platform data.
---
board/raspberrypi/rpi_b/rpi_b.c | 12 ++++++++++++ include/configs/rpi_b.h | 6 +++--- 2 files changed, 15 insertions(+), 3 deletions(-)
board/raspberrypi/rpi_b/rpi_b.c +12 -0
@@ -20,6 +20,7 @@#include <fdt_support.h> #include <lcd.h> #include <mmc.h> +#include <serial_pl01x.h> #include <asm/gpio.h> #include <asm/arch/mbox.h> #include <asm/arch/sdhci.h>
@@ -36,6 +37,17 @@ U_BOOT_DEVICE(bcm2835_gpios) = { .platdata = &gpio_platdata, }; +static const struct pl01x_serial_platdata serial_platdata = { + .base =0x20201000 , + .type =TYPE_PL011 , + .clock =3000000 , +}; + +U_BOOT_DEVICE (bcm2835_serials) = { + .name ="serial_pl01x" , + .platdata = &serial_platdata, +}; +struct msg_get_arm_mem {struct bcm2835_mbox_hdr hdr;struct bcm2835_mbox_tag_get_arm_mem get_arm_mem;
include/configs/rpi_b.h +3 -3
@@ -35,6 +35,7 @@#define CONFIG_DM #define CONFIG_CMD_DM #define CONFIG_DM_GPIO +#define CONFIG_DM_SERIAL /* Memory layout */ #define CONFIG_NR_DRAM_BANKS 1
@@ -52,6 +53,7 @@ CONFIG_SYS_SDRAM_SIZE - \ GENERATED_GBL_DATA_SIZE)#define CONFIG_SYS_MALLOC_LEN SZ_4M +#define CONFIG_SYS_MALLOC_F_LEN (1 << 10)#define CONFIG_SYS_MEMTEST_START 0x00100000#define CONFIG_SYS_MEMTEST_END 0x00200000#define CONFIG_LOADADDR 0x00200000
@@ -83,9 +85,7 @@#define CONFIG_BCM2835_SDHCI /* Console UART */ -#define CONFIG_PL011_SERIAL -#define CONFIG_PL011_CLOCK 3000000 -#define CONFIG_PL01x_PORTS { (void *)0x20201000 } +#define CONFIG_PL01X_SERIAL #define CONFIG_CONS_INDEX 0#define CONFIG_BAUDRATE 115200
Signature · 1 line
2.1.0.rc2.206.gedb03e5
cover dm: rpi: Move Raspberry Pi to use driver model
In reply to Simon GlassQuoted 8 lines · Simon Glass
This series adds driver model support to the GPIO and serial drivers used by Raspberry Pi, and moves Raspberry Pi over to driver model.
This requires adding driver model support to the pl01x serial driver, and replacing the bcm2835 GPIO driver with a driver model version (since there are no longer clients that don't use driver model).
See u-boot-dm.git branch rpi-working for the tree this is based on.
The series,
It threw me for a while that this series changes the command-line syntax from:
gpio input 18
to:
gpio input GPIO18
Hopefully that won't annoy anyone who has scripts that need to be modified... Still, that's quite minor, so the two RPi patches,
cover dm: rpi: Move Raspberry Pi to use driver model
Hi Stephen,
Quoted 18 lines · Stephen Warren
Quoted 8 lines · Simon Glass
This series adds driver model support to the GPIO and serial drivers used by Raspberry Pi, and moves Raspberry Pi over to driver model.
This requires adding driver model support to the pl01x serial driver, and replacing the bcm2835 GPIO driver with a driver model version (since there are no longer clients that don't use driver model).
See u-boot-dm.git branch rpi-working for the tree this is based on.
The series,
Tested-by Stephen Warren <[email protected]>It threw me for a while that this series changes the command-line syntax from:
gpio input 18
Quoted 8 lines
to:
gpio input GPIO18
Hopefully that won't annoy anyone who has scripts that need to be modified... Still, that's quite minor, so the two RPi patches,
Acked-by Stephen Warren <[email protected]>
Thanks for looking at this. Re the issue you raise, there is a patch for this here, part of the omap3 series:
http://patchwork.ozlabs.org/patch/392039/
Regards,
Simon
cover dm: rpi: Move Raspberry Pi to use driver model
In reply to Stephen WarrenQuoted 4 lines · Stephen Warren
Quoted 3 lines · Simon Glass
This series adds driver model support to the GPIO and serial drivers used by Raspberry Pi, and moves Raspberry Pi over to driver model.
Quoted 8 lines
Quoted 5 lines
This requires adding driver model support to the pl01x serial driver, and replacing the bcm2835 GPIO driver with a driver model version (since there are no longer clients that don't use driver model).
See u-boot-dm.git branch rpi-working for the tree this is based on.
The series,
Tested-by Stephen Warren <[email protected]>
Hmm. I take that back. Patch 4 causes a problem, at least when applied on top of u-boot/master from today.
Basic serial output works just fine, and I can interact with U-Boot without issue. However, when the boot scripts execute and load an extlinux.conf, U-Boot hangs. Up to patch 3, everything is fine.
U-Boot 2014.10-00004-g7830ed7 (Oct 17 2014 - 20:47:19)
DRAM: 480 MiB WARNING: Caches not enabled MMC: bcm2835_sdhci: 0
Using default environment
In: serial Out: lcd Err: lcd
reading /uEnv.txt
24 bytes read in 14 ms (1000 Bytes/s)
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
(U-Boot hangs here)
cover dm: rpi: Move Raspberry Pi to use driver model
Hi Stephen,
Quoted 31 lines · Stephen Warren
Quoted 4 lines · Stephen Warren
Quoted 3 lines · Simon Glass
This series adds driver model support to the GPIO and serial drivers used by Raspberry Pi, and moves Raspberry Pi over to driver model.
Quoted 8 lines
Quoted 5 lines
This requires adding driver model support to the pl01x serial driver, and replacing the bcm2835 GPIO driver with a driver model version (since there are no longer clients that don't use driver model).
See u-boot-dm.git branch rpi-working for the tree this is based on.
The series,
Tested-by Stephen Warren <[email protected]>Hmm. I take that back. Patch 4 causes a problem, at least when applied on top of u-boot/master from today.
Basic serial output works just fine, and I can interact with U-Boot without issue. However, when the boot scripts execute and load an extlinux.conf, U-Boot hangs. Up to patch 3, everything is fine.
U-Boot 2014.10-00004-g7830ed7 (Oct 17 2014 - 20:47:19)
DRAM: 480 MiB WARNING: Caches not enabled MMC: bcm2835_sdhci: 0Using default environment
In: serial Out: lcd Err: lcd
Quoted 11 lines
reading /uEnv.txt
24 bytes read in 14 ms (1000 Bytes/s)
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
(U-Boot hangs here)
Can you please point me to where I can get an image to try this with? Also did you check with dm/next? There may be dependent patches, although the nature of the problem suggests not.
Regards,
Simon
cover dm: rpi: Move Raspberry Pi to use driver model
Quoted 46 lines · Simon Glass
Hi Stephen,
Quoted 31 lines · Stephen Warren
Quoted 4 lines · Stephen Warren
Quoted 3 lines · Simon Glass
This series adds driver model support to the GPIO and serial drivers used by Raspberry Pi, and moves Raspberry Pi over to driver model.
Quoted 8 lines
Quoted 5 lines
This requires adding driver model support to the pl01x serial driver, and replacing the bcm2835 GPIO driver with a driver model version (since there are no longer clients that don't use driver model).
See u-boot-dm.git branch rpi-working for the tree this is based on.
The series,
Tested-by Stephen Warren <[email protected]>Hmm. I take that back. Patch 4 causes a problem, at least when applied on top of u-boot/master from today.
Basic serial output works just fine, and I can interact with U-Boot without issue. However, when the boot scripts execute and load an extlinux.conf, U-Boot hangs. Up to patch 3, everything is fine.
U-Boot 2014.10-00004-g7830ed7 (Oct 17 2014 - 20:47:19)
DRAM: 480 MiB WARNING: Caches not enabled MMC: bcm2835_sdhci: 0Using default environment
In: serial Out: lcd Err: lcdQuoted 11 lines
reading /uEnv.txt
24 bytes read in 14 ms (1000 Bytes/s)
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
(U-Boot hangs here)
Quoted 3 lines
Can you please point me to where I can get an image to try this with? Also did you check with dm/next? There may be dependent patches, although the nature of the problem suggests not.
I use (a pretty old version of, but I doubt that matters) RPi Foundation's Raspbian image, and compiled the kernel and U-Boot according to:
http://elinux.org/index.php?title=RPi_Upstream_Kernel_Compilation&oldid=351104
cover dm: rpi: Move Raspberry Pi to use driver model
Hi Stephen,
Quoted 51 lines · Stephen Warren
Quoted 46 lines · Simon Glass
Hi Stephen,
Quoted 31 lines · Stephen Warren
Quoted 4 lines · Stephen Warren
Quoted 3 lines · Simon Glass
This series adds driver model support to the GPIO and serial drivers used by Raspberry Pi, and moves Raspberry Pi over to driver model.
Quoted 8 lines
Quoted 5 lines
This requires adding driver model support to the pl01x serial driver, and replacing the bcm2835 GPIO driver with a driver model version (since there are no longer clients that don't use driver model).
See u-boot-dm.git branch rpi-working for the tree this is based on.
The series,
Tested-by Stephen Warren <[email protected]>Hmm. I take that back. Patch 4 causes a problem, at least when applied on top of u-boot/master from today.
Basic serial output works just fine, and I can interact with U-Boot without issue. However, when the boot scripts execute and load an extlinux.conf, U-Boot hangs. Up to patch 3, everything is fine.
U-Boot 2014.10-00004-g7830ed7 (Oct 17 2014 - 20:47:19)
DRAM: 480 MiB WARNING: Caches not enabled MMC: bcm2835_sdhci: 0Using default environment
In: serial Out: lcd Err: lcdQuoted 11 lines
reading /uEnv.txt
24 bytes read in 14 ms (1000 Bytes/s)
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
(U-Boot hangs here)Quoted 3 lines
Can you please point me to where I can get an image to try this with? Also did you check with dm/next? There may be dependent patches, although the nature of the problem suggests not.
Quoted 8 lines
I use (a pretty old version of, but I doubt that matters) RPi Foundation's Raspbian image, and compiled the kernel and U-Boot according to:
http://elinux.org/index.php?title=RPi_Upstream_Kernel_Compilation&oldid=351104
I installed the Raspbian image but I don't get uImg.txt nor the same boot sequence. I am able to boot a kernel though.
Do you have your settings or images uploaded somewhere? Also please confirm you used dm/next.
Regards,
Simon
cover dm: rpi: Move Raspberry Pi to use driver model
Hi Stephen,
Quoted 60 lines · Simon Glass
Hi Stephen,
Quoted 57 lines · Stephen Warren
Quoted 46 lines · Simon Glass
Hi Stephen,
Quoted 31 lines · Stephen Warren
Quoted 4 lines · Stephen Warren
Quoted 3 lines · Simon Glass
This series adds driver model support to the GPIO and serial drivers used by Raspberry Pi, and moves Raspberry Pi over to driver model.
Quoted 8 lines
Quoted 5 lines
This requires adding driver model support to the pl01x serial driver, and replacing the bcm2835 GPIO driver with a driver model version (since there are no longer clients that don't use driver model).
See u-boot-dm.git branch rpi-working for the tree this is based on.
The series,
Tested-by Stephen Warren <[email protected]>Hmm. I take that back. Patch 4 causes a problem, at least when applied on top of u-boot/master from today.
Basic serial output works just fine, and I can interact with U-Boot without issue. However, when the boot scripts execute and load an extlinux.conf, U-Boot hangs. Up to patch 3, everything is fine.
U-Boot 2014.10-00004-g7830ed7 (Oct 17 2014 - 20:47:19)
DRAM: 480 MiB WARNING: Caches not enabled MMC: bcm2835_sdhci: 0Using default environment
In: serial Out: lcd Err: lcdQuoted 11 lines
reading /uEnv.txt
24 bytes read in 14 ms (1000 Bytes/s)
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
(U-Boot hangs here)Quoted 3 lines
Can you please point me to where I can get an image to try this with? Also did you check with dm/next? There may be dependent patches, although the nature of the problem suggests not.
I use (a pretty old version of, but I doubt that matters) RPi Foundation's Raspbian image, and compiled the kernel and U-Boot according to:
http://elinux.org/index.php?title=RPi_Upstream_Kernel_Compilation&oldid=351104
Quoted 8 lines
Quoted 2 lines
I installed the Raspbian image but I don't get uImg.txt nor the same boot sequence. I am able to boot a kernel though.
Do you have your settings or images uploaded somewhere? Also please confirm you used dm/next.
I've had to leave this last (4/4) patch out of the pull request for now. See u-boot-dm/rpi_working if you would like to try it again.
Regards,
Simon
cover dm: rpi: Move Raspberry Pi to use driver model
In reply to Simon GlassQuoted 58 lines · Simon Glass
Hi Stephen,
Quoted 55 lines · Stephen Warren
Quoted 46 lines · Simon Glass
Hi Stephen,
Quoted 31 lines · Stephen Warren
Quoted 4 lines · Stephen Warren
Quoted 3 lines · Simon Glass
This series adds driver model support to the GPIO and serial drivers used by Raspberry Pi, and moves Raspberry Pi over to driver model.
Quoted 8 lines
Quoted 5 lines
This requires adding driver model support to the pl01x serial driver, and replacing the bcm2835 GPIO driver with a driver model version (since there are no longer clients that don't use driver model).
See u-boot-dm.git branch rpi-working for the tree this is based on.
The series,
Tested-by Stephen Warren <[email protected]>Hmm. I take that back. Patch 4 causes a problem, at least when applied on top of u-boot/master from today.
Basic serial output works just fine, and I can interact with U-Boot without issue. However, when the boot scripts execute and load an extlinux.conf, U-Boot hangs. Up to patch 3, everything is fine.
U-Boot 2014.10-00004-g7830ed7 (Oct 17 2014 - 20:47:19)
DRAM: 480 MiB WARNING: Caches not enabled MMC: bcm2835_sdhci: 0Using default environment
In: serial Out: lcd Err: lcdQuoted 11 lines
reading /uEnv.txt
24 bytes read in 14 ms (1000 Bytes/s)
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
(U-Boot hangs here)Quoted 3 lines
Can you please point me to where I can get an image to try this with? Also did you check with dm/next? There may be dependent patches, although the nature of the problem suggests not.
I use (a pretty old version of, but I doubt that matters) RPi Foundation's Raspbian image, and compiled the kernel and U-Boot according to:
Quoted 7 lines
I installed the Raspbian image but I don't get uImg.txt nor the same boot sequence. I am able to boot a kernel though.
The RPi Foundation images boot their kernel directly from their binary firmware, and hence don't include any U-Boot or U-Boot boot scripts.
I haven't used boot.scr for a while, but this is apparently what's in mine:
load ${devtype} ${devnum}:1 ${kernel_addr_r} /zImage
load ${devtype} ${devnum}:1 ${fdt_addr_r} /${fdtfile} setenv bootargs "earlyprintk loglevel=8 console=ttyAMA0 console=tty1 \
verbose rootwait root=/dev/mmcblk0p2 rw"
bootz ${kernel_addr_r} - ${fdt_addr_r}
I use extlinux/extlinux.conf now, with the following content:
TIMEOUT 100
DEFAULT default
MENU TITLE Boot menu
LABEL default
MENU LABEL Default kernel
LINUX ../zImage
FDTDIR ../
APPEND earlyprintk loglevel=8 console=ttyAMA0 console=tty1 verbose \
rootwait root=/dev/mmcblk0p2 rw
LABEL fallback
MENU LABEL Backup kernel
LINUX ../backup/zImage
FDTDIR ../backup/
APPEND earlyprintk loglevel=8 console=ttyAMA0 console=tty1 verbose \
rootwait root=/dev/mmcblk0p2 rw
(in both cases, the continuation lines are all on one line; I only split them for email purposes)
cover dm: rpi: Move Raspberry Pi to use driver model
In reply to Simon GlassQuoted 60 lines · Simon Glass
Hi Stephen,
Quoted 57 lines · Stephen Warren
Quoted 46 lines · Simon Glass
Hi Stephen,
Quoted 31 lines · Stephen Warren
Quoted 4 lines · Stephen Warren
Quoted 3 lines · Simon Glass
This series adds driver model support to the GPIO and serial drivers used by Raspberry Pi, and moves Raspberry Pi over to driver model.
Quoted 8 lines
Quoted 5 lines
This requires adding driver model support to the pl01x serial driver, and replacing the bcm2835 GPIO driver with a driver model version (since there are no longer clients that don't use driver model).
See u-boot-dm.git branch rpi-working for the tree this is based on.
The series,
Tested-by Stephen Warren <[email protected]>Hmm. I take that back. Patch 4 causes a problem, at least when applied on top of u-boot/master from today.
Basic serial output works just fine, and I can interact with U-Boot without issue. However, when the boot scripts execute and load an extlinux.conf, U-Boot hangs. Up to patch 3, everything is fine.
U-Boot 2014.10-00004-g7830ed7 (Oct 17 2014 - 20:47:19)
DRAM: 480 MiB WARNING: Caches not enabled MMC: bcm2835_sdhci: 0Using default environment
In: serial Out: lcd Err: lcdQuoted 11 lines
reading /uEnv.txt
24 bytes read in 14 ms (1000 Bytes/s)
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
(U-Boot hangs here)Quoted 3 lines
Can you please point me to where I can get an image to try this with? Also did you check with dm/next? There may be dependent patches, although the nature of the problem suggests not.
I use (a pretty old version of, but I doubt that matters) RPi Foundation's Raspbian image, and compiled the kernel and U-Boot according to:
http://elinux.org/index.php?title=RPi_Upstream_Kernel_Compilation&oldid=351104
Quoted 8 lines
Quoted 2 lines
I installed the Raspbian image but I don't get uImg.txt nor the same boot sequence. I am able to boot a kernel though.
Do you have your settings or images uploaded somewhere? Also please confirm you used dm/next.
FWIW, the content in the following branches does seem to work:
u-boot/master
5b3ee38 kbuild: clear VENDOR variable to fix build error on tcsh
u-boot-dm/master
c2ded96 serial: remove uniphier_serial_initialize() call
Simon Glass
Appliedcover dm: rpi: Move Raspberry Pi to use driver model
Hi Stephen,
Quoted 9 lines · Stephen Warren
Quoted 7 lines · Simon Glass
Hi Stephen,
Quoted 4 lines · Stephen Warren
Quoted 3 lines · Simon Glass
Hi Stephen,
On 17 October 2014 20:51, Stephen Warren <[email protected]>
Quoted 3 lines · wrote:
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines · Stephen Warren
Quoted 2 lines · Simon Glass
Quoted 1 line
This series adds driver model support to the GPIO and serial
drivers used
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
by Raspberry Pi, and moves Raspberry Pi over to driver model.
This requires adding driver model support to the pl01x serial
driver, and
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
replacing the bcm2835 GPIO driver with a driver model version
(since there
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 6 lines
Quoted 3 lines
are no longer clients that don't use driver model).
See u-boot-dm.git branch rpi-working for the tree this is based on.
The series,
Tested-by Stephen Warren <[email protected]>Hmm. I take that back. Patch 4 causes a problem, at least when
applied
Quoted 32 lines
Quoted 32 lines
Quoted 32 lines
Quoted 31 lines
Quoted 16 lines
on top of u-boot/master from today.
Basic serial output works just fine, and I can interact with U-Boot without issue. However, when the boot scripts execute and load an extlinux.conf, U-Boot hangs. Up to patch 3, everything is fine.
U-Boot 2014.10-00004-g7830ed7 (Oct 17 2014 - 20:47:19)
DRAM: 480 MiB WARNING: Caches not enabled MMC: bcm2835_sdhci: 0Using default environment
In: serial Out: lcd Err: lcdQuoted 11 lines
reading /uEnv.txt
24 bytes read in 14 ms (1000 Bytes/s)
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
(U-Boot hangs here)Can you please point me to where I can get an image to try this with? Also did you check with dm/next? There may be dependent patches, although the nature of the problem suggests not.
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
I use (a pretty old version of, but I doubt that matters) RPi Foundation's Raspbian image, and compiled the kernel and U-Boot according to:
http://elinux.org/index.php?title=RPi_Upstream_Kernel_Compilation&oldid=351104
Quoted 10 lines
Quoted 9 lines
Quoted 3 lines
I installed the Raspbian image but I don't get uImg.txt nor the same boot sequence. I am able to boot a kernel though.
Do you have your settings or images uploaded somewhere? Also please confirm you used dm/next.
Quoted 8 lines
FWIW, the content in the following branches does seem to work:
u-boot/master
5b3ee38 kbuild: clear VENDOR variable to fix build error on tcshu-boot-dm/master
c2ded96 serial: removeuniphier_serial_initialize()call
In what way?
Regards,
Simon
cover dm: rpi: Move Raspberry Pi to use driver model
Quoted 85 lines · Simon Glass
Hi Stephen,
Quoted 5 lines · On Oct 25, 2014 9:43 PM, "Stephen Warren" <[email protected]…
Quoted 3 lines · Simon Glass
Hi Stephen,
On 20 October 2014 20:23, Stephen Warren <[email protected]
Quoted 4 lines · <mailto:[email protected]>> wrote:
Quoted 4 lines
Quoted 4 lines · Simon Glass
Quoted 3 lines
Hi Stephen,
On 17 October 2014 20:51, Stephen Warren <[email protected]
Quoted 3 lines · <mailto:[email protected]>> wrote:
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines · Stephen Warren
Quoted 2 lines · Simon Glass
Quoted 1 line
This series adds driver model support to the GPIO and serial
drivers used
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
by Raspberry Pi, and moves Raspberry Pi over to driver model.
This requires adding driver model support to the pl01x serial
driver, and
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
replacing the bcm2835 GPIO driver with a driver model version
(since there
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 3 lines
are no longer clients that don't use driver model).
See u-boot-dm.git branch rpi-working for the tree this is based on.
The series,
Tested-by Stephen Warren <[email protected]<mailto:[email protected]>>
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Hmm. I take that back. Patch 4 causes a problem, at least when
applied
Quoted 32 lines
Quoted 32 lines
Quoted 32 lines
Quoted 31 lines
Quoted 16 lines
on top of u-boot/master from today.
Basic serial output works just fine, and I can interact with U-Boot without issue. However, when the boot scripts execute and load an extlinux.conf, U-Boot hangs. Up to patch 3, everything is fine.
U-Boot 2014.10-00004-g7830ed7 (Oct 17 2014 - 20:47:19)
DRAM: 480 MiB WARNING: Caches not enabled MMC: bcm2835_sdhci: 0Using default environment
In: serial Out: lcd Err: lcdQuoted 11 lines
reading /uEnv.txt
24 bytes read in 14 ms (1000 Bytes/s)
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
(U-Boot hangs here)Can you please point me to where I can get an image to try this with? Also did you check with dm/next? There may be dependent patches, although the nature of the problem suggests not.
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
I use (a pretty old version of, but I doubt that matters) RPi Foundation's Raspbian image, and compiled the kernel and U-Boot according to:
http://elinux.org/index.php?title=RPi_Upstream_Kernel_Compilation&oldid=351104
Quoted 12 lines
Quoted 9 lines
Quoted 3 lines
I installed the Raspbian image but I don't get uImg.txt nor the same boot sequence. I am able to boot a kernel though.
Do you have your settings or images uploaded somewhere? Also please confirm you used dm/next.
FWIW, the content in the following branches does seem to work:
Quoted 8 lines
Quoted 6 lines
u-boot/master
5b3ee38 kbuild: clear VENDOR variable to fix build error on tcshu-boot-dm/master
c2ded96 serial: removeuniphier_serial_initialize()callIn what way?
I ran U-Boot, and let it boot a kernel via extlinux.conf.
Note that I said it worked, not that it failed.
cover dm: rpi: Move Raspberry Pi to use driver model
Hi Stephen,
Quoted 23 lines · Stephen Warren
Quoted 21 lines · Simon Glass
Hi Stephen,
Quoted 5 lines · On Oct 25, 2014 9:43 PM, "Stephen Warren" <[email protected]…
Quoted 3 lines · Simon Glass
Hi Stephen,
On 20 October 2014 20:23, Stephen Warren <[email protected]
Quoted 4 lines · <mailto:[email protected]>> wrote:
Quoted 4 lines
Quoted 4 lines · Simon Glass
Quoted 3 lines
Hi Stephen,
On 17 October 2014 20:51, Stephen Warren <[email protected]
Quoted 3 lines · <mailto:[email protected]>> wrote:
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines · Stephen Warren
Quoted 2 lines · Simon Glass
Quoted 1 line
This series adds driver model support to the GPIO and serial
drivers used
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
by Raspberry Pi, and moves Raspberry Pi over to driver model.
Quoted 7 lines
Quoted 7 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
This requires adding driver model support to the pl01x serial
driver, and
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
replacing the bcm2835 GPIO driver with a driver model version
(since there
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
are no longer clients that don't use driver model).
See u-boot-dm.git branch rpi-working for the tree this is based
on.
Quoted 10 lines
Quoted 10 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
The series,
Tested-by Stephen Warren <[email protected]<mailto:[email protected]>>
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Hmm. I take that back. Patch 4 causes a problem, at least when
applied
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
on top of u-boot/master from today.
Basic serial output works just fine, and I can interact with
U-Boot
Quoted 25 lines
Quoted 25 lines
Quoted 25 lines
Quoted 25 lines
Quoted 25 lines
Quoted 25 lines
Quoted 24 lines
without issue. However, when the boot scripts execute and load an extlinux.conf, U-Boot hangs. Up to patch 3, everything is fine.
U-Boot 2014.10-00004-g7830ed7 (Oct 17 2014 - 20:47:19)
DRAM: 480 MiB WARNING: Caches not enabled MMC: bcm2835_sdhci: 0Using default environment
In: serial Out: lcd Err: lcdreading /uEnv.txt
24 bytes read in 14 ms (1000 Bytes/s)
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
(U-Boot hangs here)
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Can you please point me to where I can get an image to try this
with?
Quoted 9 lines
Quoted 9 lines
Quoted 8 lines
Quoted 8 lines
Quoted 8 lines
Quoted 2 lines
Also did you check with dm/next? There may be dependent patches, although the nature of the problem suggests not.
I use (a pretty old version of, but I doubt that matters) RPi Foundation's Raspbian image, and compiled the kernel and U-Boot according to:
http://elinux.org/index.php?title=RPi_Upstream_Kernel_Compilation&oldid=351104
Quoted 15 lines
Quoted 15 lines
Quoted 15 lines
Quoted 9 lines
Quoted 3 lines
I installed the Raspbian image but I don't get uImg.txt nor the same boot sequence. I am able to boot a kernel though.
Do you have your settings or images uploaded somewhere? Also please confirm you used dm/next.
FWIW, the content in the following branches does seem to work:
u-boot/master
5b3ee38 kbuild: clear VENDOR variable to fix build error on tcsh
Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
u-boot-dm/master
c2ded96 serial: removeuniphier_serial_initialize()callIn what way?
I ran U-Boot, and let it boot a kernel via extlinux.conf.
Ok that is probably just because I didn't pull in the patch you said was a problem.
Quoted 2 lines
Note that I said it worked, not that it failed.
I did misread this...
Regards,
Simon
cover dm: rpi: Move Raspberry Pi to use driver model
Hi,
Quoted 109 lines · Simon Glass
Hi Stephen,
Quoted 94 lines · Stephen Warren
Quoted 92 lines · Simon Glass
Hi Stephen,
Quoted 5 lines · On Oct 25, 2014 9:43 PM, "Stephen Warren" <[email protected]…
Quoted 3 lines · Simon Glass
Hi Stephen,
On 20 October 2014 20:23, Stephen Warren <[email protected]
Quoted 4 lines · <mailto:[email protected]>> wrote:
Quoted 4 lines
Quoted 4 lines · Simon Glass
Quoted 3 lines
Hi Stephen,
On 17 October 2014 20:51, Stephen Warren <[email protected]
Quoted 3 lines · <mailto:[email protected]>> wrote:
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines · Stephen Warren
Quoted 2 lines · Simon Glass
Quoted 1 line
This series adds driver model support to the GPIO and serial
drivers used
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
by Raspberry Pi, and moves Raspberry Pi over to driver model.
This requires adding driver model support to the pl01x serial
driver, and
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
replacing the bcm2835 GPIO driver with a driver model version
(since there
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 4 lines
are no longer clients that don't use driver model).
See u-boot-dm.git branch rpi-working for the tree this is based on.
The series,
Tested-by Stephen Warren <[email protected]<mailto:[email protected]>>
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Hmm. I take that back. Patch 4 causes a problem, at least when
applied
Quoted 34 lines
Quoted 34 lines
Quoted 34 lines
Quoted 33 lines
Quoted 17 lines
on top of u-boot/master from today.
Basic serial output works just fine, and I can interact with U-Boot
without issue. However, when the boot scripts execute and load an extlinux.conf, U-Boot hangs. Up to patch 3, everything is fine.U-Boot 2014.10-00004-g7830ed7 (Oct 17 2014 - 20:47:19)
DRAM: 480 MiB WARNING: Caches not enabled MMC: bcm2835_sdhci: 0Using default environment
In: serial Out: lcd Err: lcdQuoted 11 lines
reading /uEnv.txt
24 bytes read in 14 ms (1000 Bytes/s)
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
(U-Boot hangs here)Can you please point me to where I can get an image to try this with?
Also did you check with dm/next? There may be dependent patches, although the nature of the problem suggests not.Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
I use (a pretty old version of, but I doubt that matters) RPi Foundation's Raspbian image, and compiled the kernel and U-Boot according to:
http://elinux.org/index.php?title=RPi_Upstream_Kernel_Compilation&oldid=351104
Quoted 15 lines
Quoted 9 lines
Quoted 3 lines
I installed the Raspbian image but I don't get uImg.txt nor the same boot sequence. I am able to boot a kernel though.
Do you have your settings or images uploaded somewhere? Also please confirm you used dm/next.
FWIW, the content in the following branches does seem to work:
u-boot/master
5b3ee38 kbuild: clear VENDOR variable to fix build error on tcshQuoted 7 lines
Quoted 5 lines
Quoted 3 lines
u-boot-dm/master
c2ded96 serial: removeuniphier_serial_initialize()callIn what way?
I ran U-Boot, and let it boot a kernel via extlinux.conf.
Ok that is probably just because I didn't pull in the patch you said was a problem.
Quoted 1 line
Quoted 6 lines
Quoted 1 line
Note that I said it worked, not that it failed.
I did misread this...
Regards,
Simon
I started a new thread here:
http://u-boot.10912.n7.nabble.com/Raspberry-Pi-with-driver-model-td197255.html
Regards,
Simon