* [PATCH 1/2] xymodem: select CRC16 from lib
@ 2014-11-12 7:41 Jan Weitzel
2014-11-12 7:41 ` [PATCH 2/2] ARM: omap: Add bootsource serial to xload Jan Weitzel
2014-11-12 8:23 ` [PATCH 1/2] xymodem: select CRC16 from lib Sascha Hauer
0 siblings, 2 replies; 9+ messages in thread
From: Jan Weitzel @ 2014-11-12 7:41 UTC (permalink / raw)
To: barebox
Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
---
commands/Kconfig | 1 -
lib/Kconfig | 1 +
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/commands/Kconfig b/commands/Kconfig
index bef5847..494a019 100644
--- a/commands/Kconfig
+++ b/commands/Kconfig
@@ -481,7 +481,6 @@ config CMD_LOADS
Load S-Record file over serial line with offset OFFS.
config CMD_LOADY
- select CRC16
select XYMODEM
depends on !CONSOLE_NONE
tristate
diff --git a/lib/Kconfig b/lib/Kconfig
index d4095fd..62695f1 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -41,6 +41,7 @@ config QSORT
config XYMODEM
bool
+ select CRC16
config LIBSCAN
bool
--
1.9.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/2] ARM: omap: Add bootsource serial to xload
2014-11-12 7:41 [PATCH 1/2] xymodem: select CRC16 from lib Jan Weitzel
@ 2014-11-12 7:41 ` Jan Weitzel
2014-11-12 8:22 ` Sascha Hauer
2014-11-12 8:23 ` [PATCH 1/2] xymodem: select CRC16 from lib Sascha Hauer
1 sibling, 1 reply; 9+ messages in thread
From: Jan Weitzel @ 2014-11-12 7:41 UTC (permalink / raw)
To: barebox
If booted from serial via xmodem, also get barebox.bin per xmodem
For first stage you need the .pblx file instead of MLO.
Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
---
arch/arm/mach-omap/Kconfig | 7 +++++++
arch/arm/mach-omap/xload.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 53 insertions(+)
diff --git a/arch/arm/mach-omap/Kconfig b/arch/arm/mach-omap/Kconfig
index f9b5ec3..953dd8f 100644
--- a/arch/arm/mach-omap/Kconfig
+++ b/arch/arm/mach-omap/Kconfig
@@ -118,6 +118,13 @@ config OMAP4_USBBOOT
You need the utility program omap4_usbboot to boot from USB.
Please read omap4_usb_booting.txt for more information.
+config OMAP_SERIALBOOT
+ bool
+ default y
+ select XYMODEM
+ select FS_RAMFS
+ depends on ARCH_AM33XX && SHELL_NONE
+
config OMAP_MULTI_BOARDS
bool "Allow multiple boards to be selected"
select HAVE_DEFAULT_ENVIRONMENT_NEW
diff --git a/arch/arm/mach-omap/xload.c b/arch/arm/mach-omap/xload.c
index e9d7bbb..8d9d84c 100644
--- a/arch/arm/mach-omap/xload.c
+++ b/arch/arm/mach-omap/xload.c
@@ -11,6 +11,7 @@
#include <sizes.h>
#include <malloc.h>
#include <filetype.h>
+#include <xymodem.h>
#include <mach/generic.h>
struct omap_barebox_part *barebox_part;
@@ -184,6 +185,45 @@ static void *omap4_xload_boot_usb(void){
return buf;
}
+static void *omap_serial_boot(void){
+ struct console_device *cdev;
+ int ret;
+ void *buf;
+ int len;
+ int fd;
+
+ /* need temporary place to store file */
+ ret = mount("none", "ramfs", "/", NULL);
+ if (ret < 0) {
+ printf("failed to mount ramfs\n");
+ return NULL;
+ }
+
+ cdev = console_get_first_active();
+ if (!cdev) {
+ printf("failed to get console\n");
+ return NULL;
+ }
+
+ fd = open("/barebox.bin", O_WRONLY | O_CREAT);
+ if (fd < 0) {
+ printf("could not create barebox.bin\n");
+ return NULL;
+ }
+
+ ret = do_load_serial_xmodem(cdev, fd);
+ if (ret < 0) {
+ printf("loadx failed\n");
+ return NULL;
+ }
+
+ buf = read_file("/barebox.bin", &len);
+ if (!buf)
+ printf("could not read barebox.bin from serial\n");
+
+ return buf;
+}
+
/*
* Replaces the default shell in xload configuration
*/
@@ -218,6 +258,12 @@ static __noreturn int omap_xload(void)
func = omap_xload_boot_spi(barebox_part->nor_offset,
barebox_part->nor_size);
break;
+ case BOOTSOURCE_SERIAL:
+ if (IS_ENABLED(CONFIG_OMAP_SERIALBOOT)) {
+ printf("booting from serial\n");
+ func = omap_serial_boot();
+ break;
+ }
default:
printf("unknown boot source. Fall back to nand\n");
func = omap_xload_boot_nand(barebox_part->nand_offset,
--
1.9.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] ARM: omap: Add bootsource serial to xload
2014-11-12 7:41 ` [PATCH 2/2] ARM: omap: Add bootsource serial to xload Jan Weitzel
@ 2014-11-12 8:22 ` Sascha Hauer
2014-11-12 9:24 ` Jan Weitzel
0 siblings, 1 reply; 9+ messages in thread
From: Sascha Hauer @ 2014-11-12 8:22 UTC (permalink / raw)
To: Jan Weitzel; +Cc: barebox
Hi Jan,
On Wed, Nov 12, 2014 at 08:41:54AM +0100, Jan Weitzel wrote:
> If booted from serial via xmodem, also get barebox.bin per xmodem
> For first stage you need the .pblx file instead of MLO.
>
> Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
> ---
> arch/arm/mach-omap/Kconfig | 7 +++++++
> arch/arm/mach-omap/xload.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 53 insertions(+)
>
> diff --git a/arch/arm/mach-omap/Kconfig b/arch/arm/mach-omap/Kconfig
> index f9b5ec3..953dd8f 100644
> --- a/arch/arm/mach-omap/Kconfig
> +++ b/arch/arm/mach-omap/Kconfig
> @@ -118,6 +118,13 @@ config OMAP4_USBBOOT
> You need the utility program omap4_usbboot to boot from USB.
> Please read omap4_usb_booting.txt for more information.
>
> +config OMAP_SERIALBOOT
> + bool
> + default y
No default y please. Better keep it disabled by default because the
OMAP4 xload configs are quiet tight I think.
Sascha
> + select XYMODEM
> + select FS_RAMFS
> + depends on ARCH_AM33XX && SHELL_NONE
> +
> config OMAP_MULTI_BOARDS
> bool "Allow multiple boards to be selected"
> select HAVE_DEFAULT_ENVIRONMENT_NEW
> diff --git a/arch/arm/mach-omap/xload.c b/arch/arm/mach-omap/xload.c
> index e9d7bbb..8d9d84c 100644
> --- a/arch/arm/mach-omap/xload.c
> +++ b/arch/arm/mach-omap/xload.c
> @@ -11,6 +11,7 @@
> #include <sizes.h>
> #include <malloc.h>
> #include <filetype.h>
> +#include <xymodem.h>
> #include <mach/generic.h>
>
> struct omap_barebox_part *barebox_part;
> @@ -184,6 +185,45 @@ static void *omap4_xload_boot_usb(void){
> return buf;
> }
>
> +static void *omap_serial_boot(void){
> + struct console_device *cdev;
> + int ret;
> + void *buf;
> + int len;
> + int fd;
> +
> + /* need temporary place to store file */
> + ret = mount("none", "ramfs", "/", NULL);
> + if (ret < 0) {
> + printf("failed to mount ramfs\n");
> + return NULL;
> + }
> +
> + cdev = console_get_first_active();
> + if (!cdev) {
> + printf("failed to get console\n");
> + return NULL;
> + }
> +
> + fd = open("/barebox.bin", O_WRONLY | O_CREAT);
> + if (fd < 0) {
> + printf("could not create barebox.bin\n");
> + return NULL;
> + }
> +
> + ret = do_load_serial_xmodem(cdev, fd);
> + if (ret < 0) {
> + printf("loadx failed\n");
> + return NULL;
> + }
> +
> + buf = read_file("/barebox.bin", &len);
> + if (!buf)
> + printf("could not read barebox.bin from serial\n");
> +
> + return buf;
> +}
> +
> /*
> * Replaces the default shell in xload configuration
> */
> @@ -218,6 +258,12 @@ static __noreturn int omap_xload(void)
> func = omap_xload_boot_spi(barebox_part->nor_offset,
> barebox_part->nor_size);
> break;
> + case BOOTSOURCE_SERIAL:
> + if (IS_ENABLED(CONFIG_OMAP_SERIALBOOT)) {
> + printf("booting from serial\n");
> + func = omap_serial_boot();
> + break;
> + }
> default:
> printf("unknown boot source. Fall back to nand\n");
> func = omap_xload_boot_nand(barebox_part->nand_offset,
> --
> 1.9.1
>
>
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] xymodem: select CRC16 from lib
2014-11-12 7:41 [PATCH 1/2] xymodem: select CRC16 from lib Jan Weitzel
2014-11-12 7:41 ` [PATCH 2/2] ARM: omap: Add bootsource serial to xload Jan Weitzel
@ 2014-11-12 8:23 ` Sascha Hauer
1 sibling, 0 replies; 9+ messages in thread
From: Sascha Hauer @ 2014-11-12 8:23 UTC (permalink / raw)
To: Jan Weitzel; +Cc: barebox
On Wed, Nov 12, 2014 at 08:41:53AM +0100, Jan Weitzel wrote:
> Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
> ---
> commands/Kconfig | 1 -
> lib/Kconfig | 1 +
> 2 files changed, 1 insertion(+), 1 deletion(-)
Applied this one, thanks
Sascha
>
> diff --git a/commands/Kconfig b/commands/Kconfig
> index bef5847..494a019 100644
> --- a/commands/Kconfig
> +++ b/commands/Kconfig
> @@ -481,7 +481,6 @@ config CMD_LOADS
> Load S-Record file over serial line with offset OFFS.
>
> config CMD_LOADY
> - select CRC16
> select XYMODEM
> depends on !CONSOLE_NONE
> tristate
> diff --git a/lib/Kconfig b/lib/Kconfig
> index d4095fd..62695f1 100644
> --- a/lib/Kconfig
> +++ b/lib/Kconfig
> @@ -41,6 +41,7 @@ config QSORT
>
> config XYMODEM
> bool
> + select CRC16
>
> config LIBSCAN
> bool
> --
> 1.9.1
>
>
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] ARM: omap: Add bootsource serial to xload
2014-11-12 8:22 ` Sascha Hauer
@ 2014-11-12 9:24 ` Jan Weitzel
2014-11-13 7:37 ` Sascha Hauer
0 siblings, 1 reply; 9+ messages in thread
From: Jan Weitzel @ 2014-11-12 9:24 UTC (permalink / raw)
To: Sascha Hauer; +Cc: barebox
Am 12.11.2014 um 09:22 schrieb Sascha Hauer:
> Hi Jan,
>
> On Wed, Nov 12, 2014 at 08:41:54AM +0100, Jan Weitzel wrote:
>> If booted from serial via xmodem, also get barebox.bin per xmodem
>> For first stage you need the .pblx file instead of MLO.
>>
>> Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
>> ---
>> arch/arm/mach-omap/Kconfig | 7 +++++++
>> arch/arm/mach-omap/xload.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
>> 2 files changed, 53 insertions(+)
>>
>> diff --git a/arch/arm/mach-omap/Kconfig b/arch/arm/mach-omap/Kconfig
>> index f9b5ec3..953dd8f 100644
>> --- a/arch/arm/mach-omap/Kconfig
>> +++ b/arch/arm/mach-omap/Kconfig
>> @@ -118,6 +118,13 @@ config OMAP4_USBBOOT
>> You need the utility program omap4_usbboot to boot from USB.
>> Please read omap4_usb_booting.txt for more information.
>>
>> +config OMAP_SERIALBOOT
>> + bool
>> + default y
> No default y please. Better keep it disabled by default because the
> OMAP4 xload configs are quiet tight I think.
Is adding it to am335x_mlo_defconfig ok? Because of the size I added the
ARCH_AM33XX dependency.
Jan
>
> Sascha
>
>
>> + select XYMODEM
>> + select FS_RAMFS
>> + depends on ARCH_AM33XX && SHELL_NONE
>> +
>> config OMAP_MULTI_BOARDS
>> bool "Allow multiple boards to be selected"
>> select HAVE_DEFAULT_ENVIRONMENT_NEW
>> diff --git a/arch/arm/mach-omap/xload.c b/arch/arm/mach-omap/xload.c
>> index e9d7bbb..8d9d84c 100644
>> --- a/arch/arm/mach-omap/xload.c
>> +++ b/arch/arm/mach-omap/xload.c
>> @@ -11,6 +11,7 @@
>> #include <sizes.h>
>> #include <malloc.h>
>> #include <filetype.h>
>> +#include <xymodem.h>
>> #include <mach/generic.h>
>>
>> struct omap_barebox_part *barebox_part;
>> @@ -184,6 +185,45 @@ static void *omap4_xload_boot_usb(void){
>> return buf;
>> }
>>
>> +static void *omap_serial_boot(void){
>> + struct console_device *cdev;
>> + int ret;
>> + void *buf;
>> + int len;
>> + int fd;
>> +
>> + /* need temporary place to store file */
>> + ret = mount("none", "ramfs", "/", NULL);
>> + if (ret < 0) {
>> + printf("failed to mount ramfs\n");
>> + return NULL;
>> + }
>> +
>> + cdev = console_get_first_active();
>> + if (!cdev) {
>> + printf("failed to get console\n");
>> + return NULL;
>> + }
>> +
>> + fd = open("/barebox.bin", O_WRONLY | O_CREAT);
>> + if (fd < 0) {
>> + printf("could not create barebox.bin\n");
>> + return NULL;
>> + }
>> +
>> + ret = do_load_serial_xmodem(cdev, fd);
>> + if (ret < 0) {
>> + printf("loadx failed\n");
>> + return NULL;
>> + }
>> +
>> + buf = read_file("/barebox.bin", &len);
>> + if (!buf)
>> + printf("could not read barebox.bin from serial\n");
>> +
>> + return buf;
>> +}
>> +
>> /*
>> * Replaces the default shell in xload configuration
>> */
>> @@ -218,6 +258,12 @@ static __noreturn int omap_xload(void)
>> func = omap_xload_boot_spi(barebox_part->nor_offset,
>> barebox_part->nor_size);
>> break;
>> + case BOOTSOURCE_SERIAL:
>> + if (IS_ENABLED(CONFIG_OMAP_SERIALBOOT)) {
>> + printf("booting from serial\n");
>> + func = omap_serial_boot();
>> + break;
>> + }
>> default:
>> printf("unknown boot source. Fall back to nand\n");
>> func = omap_xload_boot_nand(barebox_part->nand_offset,
>> --
>> 1.9.1
>>
>>
>> _______________________________________________
>> barebox mailing list
>> barebox@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/barebox
>>
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] ARM: omap: Add bootsource serial to xload
2014-11-12 9:24 ` Jan Weitzel
@ 2014-11-13 7:37 ` Sascha Hauer
2014-11-13 12:31 ` [PATCH v2] " Jan Weitzel
2014-11-13 12:34 ` [PATCH 2/2] " Jan Weitzel
0 siblings, 2 replies; 9+ messages in thread
From: Sascha Hauer @ 2014-11-13 7:37 UTC (permalink / raw)
To: Jan Weitzel; +Cc: barebox
On Wed, Nov 12, 2014 at 10:24:48AM +0100, Jan Weitzel wrote:
> Am 12.11.2014 um 09:22 schrieb Sascha Hauer:
> >Hi Jan,
> >
> >On Wed, Nov 12, 2014 at 08:41:54AM +0100, Jan Weitzel wrote:
> >>If booted from serial via xmodem, also get barebox.bin per xmodem
> >>For first stage you need the .pblx file instead of MLO.
> >>
> >>Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
> >>---
> >> arch/arm/mach-omap/Kconfig | 7 +++++++
> >> arch/arm/mach-omap/xload.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
> >> 2 files changed, 53 insertions(+)
> >>
> >>diff --git a/arch/arm/mach-omap/Kconfig b/arch/arm/mach-omap/Kconfig
> >>index f9b5ec3..953dd8f 100644
> >>--- a/arch/arm/mach-omap/Kconfig
> >>+++ b/arch/arm/mach-omap/Kconfig
> >>@@ -118,6 +118,13 @@ config OMAP4_USBBOOT
> >> You need the utility program omap4_usbboot to boot from USB.
> >> Please read omap4_usb_booting.txt for more information.
> >>+config OMAP_SERIALBOOT
> >>+ bool
> >>+ default y
> >No default y please. Better keep it disabled by default because the
> >OMAP4 xload configs are quiet tight I think.
>
> Is adding it to am335x_mlo_defconfig ok? Because of the size I added the
> ARCH_AM33XX dependency.
I overlooked this dependency. So the dependency is only because of the
binary size and it's otherwise usable on Omap aswell? In this case I
suggest to drop the dependency. And yes, ok to add it to the
am335x_mlo_defconfig.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2] ARM: omap: Add bootsource serial to xload
2014-11-13 7:37 ` Sascha Hauer
@ 2014-11-13 12:31 ` Jan Weitzel
2014-11-17 7:34 ` Sascha Hauer
2014-11-13 12:34 ` [PATCH 2/2] " Jan Weitzel
1 sibling, 1 reply; 9+ messages in thread
From: Jan Weitzel @ 2014-11-13 12:31 UTC (permalink / raw)
To: barebox
If booted from serial via xmodem, also get barebox.bin per xmodem
For first stage you need the .pblx file instead of MLO.
Add serial boot to am335x_mlo_defconfig introduce some cleanups
by savedefconfig
Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
---
v2: make serialboot configurable
select it in am335x_mlo_defconfig
arch/arm/configs/am335x_mlo_defconfig | 4 +--
arch/arm/mach-omap/Kconfig | 9 +++++++
arch/arm/mach-omap/xload.c | 46 +++++++++++++++++++++++++++++++++++
3 files changed, 56 insertions(+), 3 deletions(-)
diff --git a/arch/arm/configs/am335x_mlo_defconfig b/arch/arm/configs/am335x_mlo_defconfig
index d691570..9734da6 100644
--- a/arch/arm/configs/am335x_mlo_defconfig
+++ b/arch/arm/configs/am335x_mlo_defconfig
@@ -1,12 +1,12 @@
CONFIG_ARCH_OMAP=y
CONFIG_OMAP_BUILD_IFT=y
+CONFIG_OMAP_SERIALBOOT=y
CONFIG_OMAP_MULTI_BOARDS=y
CONFIG_MACH_AFI_GF=y
CONFIG_MACH_BEAGLEBONE=y
CONFIG_MACH_PCM051=y
CONFIG_MACH_PFLA03=y
CONFIG_THUMB2_BAREBOX=y
-# CONFIG_CMD_ARM_CPUINFO is not set
# CONFIG_MEMINFO is not set
CONFIG_MMU=y
CONFIG_TEXT_BASE=0x0
@@ -37,10 +37,8 @@ CONFIG_NAND_OMAP_GPMC=y
CONFIG_MCI=y
# CONFIG_MCI_WRITE is not set
CONFIG_MCI_OMAP_HSMMC=y
-CONFIG_PINCTRL=y
CONFIG_PINCTRL_SINGLE=y
CONFIG_BUS_OMAP_GPMC=y
-# CONFIG_FS_RAMFS is not set
# CONFIG_FS_DEVFS is not set
CONFIG_FS_FAT=y
CONFIG_FS_FAT_LFN=y
diff --git a/arch/arm/mach-omap/Kconfig b/arch/arm/mach-omap/Kconfig
index f9b5ec3..0996ed9 100644
--- a/arch/arm/mach-omap/Kconfig
+++ b/arch/arm/mach-omap/Kconfig
@@ -118,6 +118,15 @@ config OMAP4_USBBOOT
You need the utility program omap4_usbboot to boot from USB.
Please read omap4_usb_booting.txt for more information.
+config OMAP_SERIALBOOT
+ bool "enable booting from serial"
+ select XYMODEM
+ select FS_RAMFS
+ depends on ARCH_AM33XX && SHELL_NONE
+ help
+ Say Y here if you want to load the 2nd stage barebox.bin with
+ xmodem after booting from serial line.
+
config OMAP_MULTI_BOARDS
bool "Allow multiple boards to be selected"
select HAVE_DEFAULT_ENVIRONMENT_NEW
diff --git a/arch/arm/mach-omap/xload.c b/arch/arm/mach-omap/xload.c
index e9d7bbb..8d9d84c 100644
--- a/arch/arm/mach-omap/xload.c
+++ b/arch/arm/mach-omap/xload.c
@@ -11,6 +11,7 @@
#include <sizes.h>
#include <malloc.h>
#include <filetype.h>
+#include <xymodem.h>
#include <mach/generic.h>
struct omap_barebox_part *barebox_part;
@@ -184,6 +185,45 @@ static void *omap4_xload_boot_usb(void){
return buf;
}
+static void *omap_serial_boot(void){
+ struct console_device *cdev;
+ int ret;
+ void *buf;
+ int len;
+ int fd;
+
+ /* need temporary place to store file */
+ ret = mount("none", "ramfs", "/", NULL);
+ if (ret < 0) {
+ printf("failed to mount ramfs\n");
+ return NULL;
+ }
+
+ cdev = console_get_first_active();
+ if (!cdev) {
+ printf("failed to get console\n");
+ return NULL;
+ }
+
+ fd = open("/barebox.bin", O_WRONLY | O_CREAT);
+ if (fd < 0) {
+ printf("could not create barebox.bin\n");
+ return NULL;
+ }
+
+ ret = do_load_serial_xmodem(cdev, fd);
+ if (ret < 0) {
+ printf("loadx failed\n");
+ return NULL;
+ }
+
+ buf = read_file("/barebox.bin", &len);
+ if (!buf)
+ printf("could not read barebox.bin from serial\n");
+
+ return buf;
+}
+
/*
* Replaces the default shell in xload configuration
*/
@@ -218,6 +258,12 @@ static __noreturn int omap_xload(void)
func = omap_xload_boot_spi(barebox_part->nor_offset,
barebox_part->nor_size);
break;
+ case BOOTSOURCE_SERIAL:
+ if (IS_ENABLED(CONFIG_OMAP_SERIALBOOT)) {
+ printf("booting from serial\n");
+ func = omap_serial_boot();
+ break;
+ }
default:
printf("unknown boot source. Fall back to nand\n");
func = omap_xload_boot_nand(barebox_part->nand_offset,
--
1.9.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/2] ARM: omap: Add bootsource serial to xload
2014-11-13 7:37 ` Sascha Hauer
2014-11-13 12:31 ` [PATCH v2] " Jan Weitzel
@ 2014-11-13 12:34 ` Jan Weitzel
1 sibling, 0 replies; 9+ messages in thread
From: Jan Weitzel @ 2014-11-13 12:34 UTC (permalink / raw)
To: Sascha Hauer; +Cc: barebox
Am 13.11.2014 um 08:37 schrieb Sascha Hauer:
> On Wed, Nov 12, 2014 at 10:24:48AM +0100, Jan Weitzel wrote:
>> Am 12.11.2014 um 09:22 schrieb Sascha Hauer:
>>> Hi Jan,
>>>
>>> On Wed, Nov 12, 2014 at 08:41:54AM +0100, Jan Weitzel wrote:
>>>> If booted from serial via xmodem, also get barebox.bin per xmodem
>>>> For first stage you need the .pblx file instead of MLO.
>>>>
>>>> Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
>>>> ---
>>>> arch/arm/mach-omap/Kconfig | 7 +++++++
>>>> arch/arm/mach-omap/xload.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
>>>> 2 files changed, 53 insertions(+)
>>>>
>>>> diff --git a/arch/arm/mach-omap/Kconfig b/arch/arm/mach-omap/Kconfig
>>>> index f9b5ec3..953dd8f 100644
>>>> --- a/arch/arm/mach-omap/Kconfig
>>>> +++ b/arch/arm/mach-omap/Kconfig
>>>> @@ -118,6 +118,13 @@ config OMAP4_USBBOOT
>>>> You need the utility program omap4_usbboot to boot from USB.
>>>> Please read omap4_usb_booting.txt for more information.
>>>> +config OMAP_SERIALBOOT
>>>> + bool
>>>> + default y
>>> No default y please. Better keep it disabled by default because the
>>> OMAP4 xload configs are quiet tight I think.
>> Is adding it to am335x_mlo_defconfig ok? Because of the size I added the
>> ARCH_AM33XX dependency.
> I overlooked this dependency. So the dependency is only because of the
> binary size and it's otherwise usable on Omap aswell? In this case I
> suggest to drop the dependency. And yes, ok to add it to the
> am335x_mlo_defconfig.
Only AM335x set BOOTSOURCE_SERIAL by now
Jan
>
> Sascha
>
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] ARM: omap: Add bootsource serial to xload
2014-11-13 12:31 ` [PATCH v2] " Jan Weitzel
@ 2014-11-17 7:34 ` Sascha Hauer
0 siblings, 0 replies; 9+ messages in thread
From: Sascha Hauer @ 2014-11-17 7:34 UTC (permalink / raw)
To: Jan Weitzel; +Cc: barebox
On Thu, Nov 13, 2014 at 01:31:46PM +0100, Jan Weitzel wrote:
> If booted from serial via xmodem, also get barebox.bin per xmodem
> For first stage you need the .pblx file instead of MLO.
>
> Add serial boot to am335x_mlo_defconfig introduce some cleanups
> by savedefconfig
>
> Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
Applied, thanks
Sascha
> ---
> v2: make serialboot configurable
> select it in am335x_mlo_defconfig
>
> arch/arm/configs/am335x_mlo_defconfig | 4 +--
> arch/arm/mach-omap/Kconfig | 9 +++++++
> arch/arm/mach-omap/xload.c | 46 +++++++++++++++++++++++++++++++++++
> 3 files changed, 56 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/configs/am335x_mlo_defconfig b/arch/arm/configs/am335x_mlo_defconfig
> index d691570..9734da6 100644
> --- a/arch/arm/configs/am335x_mlo_defconfig
> +++ b/arch/arm/configs/am335x_mlo_defconfig
> @@ -1,12 +1,12 @@
> CONFIG_ARCH_OMAP=y
> CONFIG_OMAP_BUILD_IFT=y
> +CONFIG_OMAP_SERIALBOOT=y
> CONFIG_OMAP_MULTI_BOARDS=y
> CONFIG_MACH_AFI_GF=y
> CONFIG_MACH_BEAGLEBONE=y
> CONFIG_MACH_PCM051=y
> CONFIG_MACH_PFLA03=y
> CONFIG_THUMB2_BAREBOX=y
> -# CONFIG_CMD_ARM_CPUINFO is not set
> # CONFIG_MEMINFO is not set
> CONFIG_MMU=y
> CONFIG_TEXT_BASE=0x0
> @@ -37,10 +37,8 @@ CONFIG_NAND_OMAP_GPMC=y
> CONFIG_MCI=y
> # CONFIG_MCI_WRITE is not set
> CONFIG_MCI_OMAP_HSMMC=y
> -CONFIG_PINCTRL=y
> CONFIG_PINCTRL_SINGLE=y
> CONFIG_BUS_OMAP_GPMC=y
> -# CONFIG_FS_RAMFS is not set
> # CONFIG_FS_DEVFS is not set
> CONFIG_FS_FAT=y
> CONFIG_FS_FAT_LFN=y
> diff --git a/arch/arm/mach-omap/Kconfig b/arch/arm/mach-omap/Kconfig
> index f9b5ec3..0996ed9 100644
> --- a/arch/arm/mach-omap/Kconfig
> +++ b/arch/arm/mach-omap/Kconfig
> @@ -118,6 +118,15 @@ config OMAP4_USBBOOT
> You need the utility program omap4_usbboot to boot from USB.
> Please read omap4_usb_booting.txt for more information.
>
> +config OMAP_SERIALBOOT
> + bool "enable booting from serial"
> + select XYMODEM
> + select FS_RAMFS
> + depends on ARCH_AM33XX && SHELL_NONE
> + help
> + Say Y here if you want to load the 2nd stage barebox.bin with
> + xmodem after booting from serial line.
> +
> config OMAP_MULTI_BOARDS
> bool "Allow multiple boards to be selected"
> select HAVE_DEFAULT_ENVIRONMENT_NEW
> diff --git a/arch/arm/mach-omap/xload.c b/arch/arm/mach-omap/xload.c
> index e9d7bbb..8d9d84c 100644
> --- a/arch/arm/mach-omap/xload.c
> +++ b/arch/arm/mach-omap/xload.c
> @@ -11,6 +11,7 @@
> #include <sizes.h>
> #include <malloc.h>
> #include <filetype.h>
> +#include <xymodem.h>
> #include <mach/generic.h>
>
> struct omap_barebox_part *barebox_part;
> @@ -184,6 +185,45 @@ static void *omap4_xload_boot_usb(void){
> return buf;
> }
>
> +static void *omap_serial_boot(void){
> + struct console_device *cdev;
> + int ret;
> + void *buf;
> + int len;
> + int fd;
> +
> + /* need temporary place to store file */
> + ret = mount("none", "ramfs", "/", NULL);
> + if (ret < 0) {
> + printf("failed to mount ramfs\n");
> + return NULL;
> + }
> +
> + cdev = console_get_first_active();
> + if (!cdev) {
> + printf("failed to get console\n");
> + return NULL;
> + }
> +
> + fd = open("/barebox.bin", O_WRONLY | O_CREAT);
> + if (fd < 0) {
> + printf("could not create barebox.bin\n");
> + return NULL;
> + }
> +
> + ret = do_load_serial_xmodem(cdev, fd);
> + if (ret < 0) {
> + printf("loadx failed\n");
> + return NULL;
> + }
> +
> + buf = read_file("/barebox.bin", &len);
> + if (!buf)
> + printf("could not read barebox.bin from serial\n");
> +
> + return buf;
> +}
> +
> /*
> * Replaces the default shell in xload configuration
> */
> @@ -218,6 +258,12 @@ static __noreturn int omap_xload(void)
> func = omap_xload_boot_spi(barebox_part->nor_offset,
> barebox_part->nor_size);
> break;
> + case BOOTSOURCE_SERIAL:
> + if (IS_ENABLED(CONFIG_OMAP_SERIALBOOT)) {
> + printf("booting from serial\n");
> + func = omap_serial_boot();
> + break;
> + }
> default:
> printf("unknown boot source. Fall back to nand\n");
> func = omap_xload_boot_nand(barebox_part->nand_offset,
> --
> 1.9.1
>
>
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2014-11-17 7:34 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-12 7:41 [PATCH 1/2] xymodem: select CRC16 from lib Jan Weitzel
2014-11-12 7:41 ` [PATCH 2/2] ARM: omap: Add bootsource serial to xload Jan Weitzel
2014-11-12 8:22 ` Sascha Hauer
2014-11-12 9:24 ` Jan Weitzel
2014-11-13 7:37 ` Sascha Hauer
2014-11-13 12:31 ` [PATCH v2] " Jan Weitzel
2014-11-17 7:34 ` Sascha Hauer
2014-11-13 12:34 ` [PATCH 2/2] " Jan Weitzel
2014-11-12 8:23 ` [PATCH 1/2] xymodem: select CRC16 from lib Sascha Hauer
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.