Skip to contentSkip to conversation

[PATCH, RFC]

RFC PATCH In review Eddie Dawydiuk 4 participants 12 messages Mar 6, 2009 – Mar 8, 2009 PowerPC

lore
Share & tools
lore
#0 lore raw

RFC PATCH 1/1 [PATCH, RFC]

Hello,

The patch below resolves the following issues. The build system for the AMCC Yosemite eval board is not including the proper fixups(e.g. RAM initialization, timer initialization). In addition the wrapper script was not using the fixed-head.S source(e.g. add branch instruction so one can jump into the image at offset 0).

Any feedback appreciated..

arch/powerpc/boot/Makefile 2009-03-05 17:35:53.000000000 -0700 renamed from arch/powerpc/boot/Makefile 2008-12-24 16:26:37.000000000 -0700 +0 -0
diff -urN linux-2.6.28.orig/arch/powerpc/boot/Makefile linux-2.6.28/arch/powerpc/boot/Makefile
@@ -70,7 +70,7 @@
                cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \
                cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c 

simpleboot.c \
virtex405-head.S virtex.c redboot-83xx.c
cuboot-sam440ep.c \
- cuboot-acadia.c
+ cuboot-acadia.c simpleboot-yosemite.c
src-boot := $(src-wlib) $(src-plat) empty.c

src-boot := $(addprefix $(obj)/, $(src-boot))
@@ -224,7 +224,7 @@
image-$(CONFIG_TAISHAN) += cuImage.taishan

 image-$(CONFIG_KATMAI)                 += cuImage.katmai
 image-$(CONFIG_WARP)                   += cuImage.warp
-image-$(CONFIG_YOSEMITE)               += cuImage.yosemite
+image-$(CONFIG_YOSEMITE)               += cuImage.yosemite simpleImage.yosemite

# Board ports in arch/powerpc/platform/8xx/Kconfig
image-$(CONFIG_MPC86XADS) += cuImage.mpc866ads

arch/powerpc/boot/wrapper 2009-03-05 17:36:10.000000000 -0700 renamed from arch/powerpc/boot/wrapper 2008-12-24 16:26:37.000000000 -0700 +5 -1
diff -urN linux-2.6.28.orig/arch/powerpc/boot/wrapper linux-2.6.28/arch/powerpc/boot/wrapper
@@ -214,8 +214,12 @@
     platformo="$object/simpleboot.o $object/virtex.o"
     binary=y
     ;;
+simpleboot-yosemite)
+    platformo="$object/fixed-head.o $object/simpleboot.o $object/simpleboot-yosemite.o"
+    binary=y
+    ;;
 simpleboot-*)
-    platformo="$object/simpleboot.o"
+    platformo="$object/fixed-head.o $object/simpleboot.o"
     binary=y
     ;;
 asp834x-redboot)
arch/powerpc/boot/simpleboot-yosemite.c 2009-03-06 10:48:19.000000000 -0700 renamed from arch/powerpc/boot/simpleboot-yosemite.c 1969-12-31 17:00:00.000000000 -0700 +27 -0
diff -urN linux-2.6.28.orig/arch/powerpc/boot/simpleboot-yosemite.c linux-2.6.28/arch/powerpc/boot/simpleboot-yosemite.c
@@ -0,0 +1,27 @@
+#include "ops.h"
+#include "stdio.h"
+#include "4xx.h"
+#include "44x.h"
+
+#define TARGET_4xx
+#define TARGET_44x
+#include "ppcboot.h"
+
+static unsigned char eth0adr[] = { 0x0, 0xd0, 0x69, 0x41, 0x12, 0x34 };
+static unsigned char eth1adr[] = { 0x0, 0xd0, 0x69, 0x41, 0x12, 0x56 };
+
+static void yosemite_fixups(void)
+{
+       unsigned long sysclk = 50000000;
+
+       ibm440ep_fixup_clocks(sysclk, 11059200, 400000000);
+       ibm4xx_sdram_fixup_memsize();
+       dt_fixup_mac_address_by_alias("ethernet0", eth0adr);
+       dt_fixup_mac_address_by_alias("ethernet1", eth1adr);
+}
+
+void platform_specific_init(void)
+{
+       platform_ops.fixups = yosemite_fixups;
+       platform_ops.exit = ibm44x_dbcr_reset;
+}
Signature · 5 lines
Best Regards,
________________________________________________________________
 Eddie Dawydiuk, Technologic Systems | voice:  (480) 837-5200
 16525 East Laser Drive 	     | fax:    (480) 837-5300
 Fountain Hills, AZ 85268            | web: www.embeddedARM.com
#1 lore raw
Quoted 9 lines · Eddie Dawydiuk

Hello,

The patch below resolves the following issues. The build system for the AMCC Yosemite eval board is not including the proper fixups(e.g. RAM initialization, timer initialization). In addition the wrapper script was not using the fixed-head.S source(e.g. add branch instruction so one can jump into the image at offset 0).

Any feedback appreciated..

Your patch is word-wrapped. It also lacks the Signed-off-by tag, which is required.

The changelog sounds as if there are bugs being fixed here, but really you're adding support for something entirely new. The yosemite board comes with U-Boot, which uses uImages. You seem to be adding support for using simpleboot on the Yosemite board. Is that correct?

See below for further comments.

Quoted 41 lines

diff -urN linux-2.6.28.orig/arch/powerpc/boot/Makefile linux-2.6.28/arch/powerpc/boot/Makefile
--- linux-2.6.28.orig/arch/powerpc/boot/Makefile 2008-12-24
16:26:37.000000000 -0700
+++ linux-2.6.28/arch/powerpc/boot/Makefile 2009-03-05
17:35:53.000000000 -0700

(quoted diff) +1 -1
@@ -70,7 +70,7 @@
                cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \
                cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c  
 simpleboot.c \
                virtex405-head.S virtex.c redboot-83xx.c  
 cuboot-sam440ep.c \
-               cuboot-acadia.c
+               cuboot-acadia.c simpleboot-yosemite.c
 src-boot := $(src-wlib) $(src-plat) empty.c

src-boot := $(addprefix $(obj)/, $(src-boot))

(quoted diff) +1 -1
@@ -224,7 +224,7 @@
 image-$(CONFIG_TAISHAN)                        += cuImage.taishan
 image-$(CONFIG_KATMAI)                 += cuImage.katmai
 image-$(CONFIG_WARP)                   += cuImage.warp
-image-$(CONFIG_YOSEMITE)               += cuImage.yosemite
+image-$(CONFIG_YOSEMITE)               += cuImage.yosemite  

simpleImage.yosemite

# Board ports in arch/powerpc/platform/8xx/Kconfig
image-$(CONFIG_MPC86XADS) += cuImage.mpc866ads

diff -urN linux-2.6.28.orig/arch/powerpc/boot/wrapper linux-2.6.28/arch/powerpc/boot/wrapper
--- linux-2.6.28.orig/arch/powerpc/boot/wrapper 2008-12-24 16:26:37.000000000 -0700
+++ linux-2.6.28/arch/powerpc/boot/wrapper 2009-03-05
17:36:10.000000000 -0700

arch/powerpc/boot/wrapper 2009-03-05 17:36:10.000000000 -0700 renamed from arch/powerpc/boot/wrapper 2008-12-24 16:26:37.000000000 -0700 +2 -0
@@ -214,8 +214,12 @@
     platformo="$object/simpleboot.o $object/virtex.o"
     binary=y
     ;;
+simpleboot-yosemite)
+    platformo="$object/fixed-head.o $object/simpleboot.o  

$object/simpleboot-yosemite.o"

arch/powerpc/boot/wrapper 2009-03-05 17:36:10.000000000 -0700 line 222

Quoted 5 lines
arch/powerpc/boot/wrapper 2009-03-05 17:36:10.000000000 -0700 renamed from arch/powerpc/boot/wrapper 2008-12-24 16:26:37.000000000 -0700 +3 -1
+    binary=y
+    ;;
 simpleboot-*)
-    platformo="$object/simpleboot.o"
+    platformo="$object/fixed-head.o $object/simpleboot.o"

Does this break other boards, or should it have always been there?

Quoted 12 lines
     binary=y
     ;;

asp834x-redboot)

diff -urN linux-2.6.28.orig/arch/powerpc/boot/simpleboot-yosemite.c linux-2.6.28/arch/powerpc/boot/simpleboot-yosemite.c
--- linux-2.6.28.orig/arch/powerpc/boot/simpleboot-yosemite.c 1969-12-31 17:00:00.000000000 -0700
+++ linux-2.6.28/arch/powerpc/boot/simpleboot-yosemite.c 2009-03-06 10:48:19.000000000 -0700

arch/powerpc/boot/simpleboot-yosemite.c 2009-03-06 10:48:19.000000000 -0700 renamed from arch/powerpc/boot/simpleboot-yosemite.c 1969-12-31 17:00:00.000000000 -0700 +1 -0
@@ -0,0 +1,27 @@
+#include "ops.h"

arch/powerpc/boot/simpleboot-yosemite.c 2009-03-06 10:48:19.000000000 -0700 line 11

Quoted 10 lines
arch/powerpc/boot/simpleboot-yosemite.c 2009-03-06 10:48:19.000000000 -0700 renamed from arch/powerpc/boot/simpleboot-yosemite.c 1969-12-31 17:00:00.000000000 -0700 +10 -0
+#include "stdio.h"
+#include "4xx.h"
+#include "44x.h"
+
+#define TARGET_4xx
+#define TARGET_44x
+#include "ppcboot.h"
+
+static unsigned char eth0adr[] = { 0x0, 0xd0, 0x69, 0x41, 0x12, 0x34 };
+static unsigned char eth1adr[] = { 0x0, 0xd0, 0x69, 0x41, 0x12, 0x56 };

You can't do this. If you hard code the MAC address of whatever board you are using in the kernel, everyone will have to edit it. You need to specify this in your board DTS file or via some other configurable mechansim.

Quoted 6 lines
arch/powerpc/boot/simpleboot-yosemite.c 2009-03-06 10:48:19.000000000 -0700 renamed from arch/powerpc/boot/simpleboot-yosemite.c 1969-12-31 17:00:00.000000000 -0700 +6 -0
+
+static void yosemite_fixups(void)
+{
+       unsigned long sysclk = 50000000;
+
+       ibm440ep_fixup_clocks(sysclk, 11059200, 400000000);

arch/powerpc/boot/simpleboot-yosemite.c 2009-03-06 10:48:19.000000000 -0700 line 27

Quoted 10 lines
arch/powerpc/boot/simpleboot-yosemite.c 2009-03-06 10:48:19.000000000 -0700 renamed from arch/powerpc/boot/simpleboot-yosemite.c 1969-12-31 17:00:00.000000000 -0700 +10 -0
+       ibm4xx_sdram_fixup_memsize();
+       dt_fixup_mac_address_by_alias("ethernet0", eth0adr);
+       dt_fixup_mac_address_by_alias("ethernet1", eth1adr);
+}
+
+void platform_specific_init(void)
+{
+       platform_ops.fixups = yosemite_fixups;
+       platform_ops.exit = ibm44x_dbcr_reset;
+}

josh

#2 lore raw

On Fri, Mar 6, 2009 at 11:40 AM, Josh Boyer <[email protected]> wr= ote:

Quoted 7 lines · Eddie Dawydiuk
Quoted 6 lines
(quoted diff) +0 -0
@@ -214,8 +214,12 @@

=A0 =A0 =A0platformo=3D"$object/simpleboot.o $object/virtex.o" =A0 =A0 =A0binary=3Dy
=A0 =A0 =A0;;
+simpleboot-yosemite)
+ =A0 =A0platformo=3D"$object/fixed-head.o $object/simpleboot.o

Quoted 8 lines
Quoted 6 lines

$object/simpleboot-yosemite.o"
+ =A0 =A0binary=3Dy
+ =A0 =A0;;
=A0simpleboot-*)
- =A0 =A0platformo=3D"$object/simpleboot.o"
+ =A0 =A0platformo=3D"$object/fixed-head.o $object/simpleboot.o"

Does this break other boards, or should it have always been there?

This probably should have always been there. Same for the simpleboot virtex targets, but I'll need to test to be sure.

g.

--=20
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

#3 lore raw
In reply to Josh Boyer

Hello,

Quoted 2 lines

Your patch is word-wrapped. It also lacks the Signed-off-by tag, which is required.

I apologize please see an updated patch below.

Quoted 4 lines

The changelog sounds as if there are bugs being fixed here, but really you're adding support for something entirely new. The yosemite board comes with U-Boot, which uses uImages. You seem to be adding support for using simpleboot on the Yosemite board. Is that correct?

Yes, the patch ensures the simpleboot image works on the Yosemite board. I was under the impression the code was broken as one can build a simpleImage for the Yosemite board as described in Documentation/powerpc/bootwrapper.txt without any modification on a vanilla kernel, although the resulting image does not work without the following patches.

Quoted 4 lines

You can't do this. If you hard code the MAC address of whatever board you are using in the kernel, everyone will have to edit it. You need to specify this in your board DTS file or via some other configurable mechansim.

Oops, sorry I forgot to pull out the debug code...

arch/powerpc/boot/Makefile 2009-03-05 17:35:53.000000000 -0700 renamed from arch/powerpc/boot/Makefile 2008-12-24 16:26:37.000000000 -0700 +2 -2
diff -urN linux-2.6.28.orig/arch/powerpc/boot/Makefile linux-2.6.28/arch/powerpc/boot/Makefile
@@ -70,7 +70,7 @@
                cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \
                cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \
                virtex405-head.S virtex.c redboot-83xx.c cuboot-sam440ep.c \
-               cuboot-acadia.c
+               cuboot-acadia.c simpleboot-yosemite.c
 src-boot := $(src-wlib) $(src-plat) empty.c
 
 src-boot := $(addprefix $(obj)/, $(src-boot))
@@ -224,7 +224,7 @@
 image-$(CONFIG_TAISHAN)                        += cuImage.taishan
 image-$(CONFIG_KATMAI)                 += cuImage.katmai
 image-$(CONFIG_WARP)                   += cuImage.warp
-image-$(CONFIG_YOSEMITE)               += cuImage.yosemite
+image-$(CONFIG_YOSEMITE)               += cuImage.yosemite simpleImage.yosemite
 
 # Board ports in arch/powerpc/platform/8xx/Kconfig
 image-$(CONFIG_MPC86XADS)
arch/powerpc/boot/wrapper 2009-03-05 17:36:10.000000000 -0700 renamed from arch/powerpc/boot/wrapper 2008-12-24 16:26:37.000000000 -0700 +5 -1
diff -urN linux-2.6.28.orig/arch/powerpc/boot/wrapper linux-2.6.28/arch/powerpc/boot/wrapper
@@ -214,8 +214,12 @@
     platformo="$object/simpleboot.o $object/virtex.o"
     binary=y
     ;;
+simpleboot-yosemite)
+    platformo="$object/fixed-head.o $object/simpleboot.o $object/simpleboot-yosemite.o"
+    binary=y
+    ;;
 simpleboot-*)
-    platformo="$object/simpleboot.o"
+    platformo="$object/fixed-head.o $object/simpleboot.o"
     binary=y
     ;;
 asp834x-redboot)
arch/powerpc/boot/simpleboot-yosemite.c 2009-03-06 14:55:46.000000000 -0700 renamed from arch/powerpc/boot/simpleboot-yosemite.c 1969-12-31 17:00:00.000000000 -0700 +24 -0
diff -urN linux-2.6.28.orig/arch/powerpc/boot/simpleboot-yosemite.c linux-2.6.28/arch/powerpc/boot/simpleboot-yosemite.c
@@ -0,0 +1,24 @@
+#include "ops.h"
+#include "stdio.h"
+#include "4xx.h"
+#include "44x.h"
+
+#define TARGET_4xx
+#define TARGET_44x
+#include "ppcboot.h"
+
+static void yosemite_fixups(void)
+{
+       unsigned long sysclk = 50000000;
+
+       ibm440ep_fixup_clocks(sysclk, 11059200, 400000000);
+       ibm4xx_sdram_fixup_memsize();
+       dt_fixup_mac_address_by_alias("ethernet0", eth0adr);
+       dt_fixup_mac_address_by_alias("ethernet1", eth1adr);
+}
+
+void platform_specific_init(void)
+{
+       platform_ops.fixups = yosemite_fixups;
+       platform_ops.exit = ibm44x_dbcr_reset;
+}
Signature · 5 lines
Best Regards,
________________________________________________________________
 Eddie Dawydiuk, Technologic Systems | voice:  (480) 837-5200
 16525 East Laser Drive 	     | fax:    (480) 837-5300
 Fountain Hills, AZ 85268            | web: www.embeddedARM.com
#4 lore raw

Hello,

Let's try this one more time. The last patch was using the clocks for a custom board based on the Yosemite board and was referencing a non-existent ethNadr( I forgot to pull out this code out).

arch/powerpc/boot/simpleboot-yosemite.c 2009-03-06 15:33:24.000000000 -0700 renamed from arch/powerpc/boot/simpleboot-yosemite.c 1969-12-31 17:00:00.000000000 -0700 +22 -0
diff -urN linux-2.6.28.orig/arch/powerpc/boot/simpleboot-yosemite.c linux-2.6.28/arch/powerpc/boot/simpleboot-yosemite.c
@@ -0,0 +1,23 @@
+#include "ops.h"
+#include "stdio.h"
+#include "4xx.h"
+#include "44x.h"
+
+#define TARGET_4xx
+#define TARGET_44x
+#include "ppcboot.h"
+
+static void yosemite_fixups(void)
+{
+       unsigned long sysclk = 66666666;
+
+       ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
+       ibm4xx_sdram_fixup_memsize();
+}
+
+void platform_specific_init(void)
+{
+       platform_ops.fixups = yosemite_fixups;
+       platform_ops.exit = ibm44x_dbcr_reset;
+}
Quoted 31 lines

diff -urN linux-2.6.28.orig/arch/powerpc/boot/simpleboot-yosemite.c linux-2.6.28/arch/powerpc/boot/simpleboot-yosemite.c --- linux-2.6.28.orig/arch/powerpc/boot/simpleboot-yosemite.c

1969-12-31 17:00:00.000000000 -0700
+++ linux-2.6.28/arch/powerpc/boot/simpleboot-yosemite.c        
2009-03-06 14:55:46.000000000 -0700
(quoted diff) +24 -0
@@ -0,0 +1,24 @@
+#include "ops.h"
+#include "stdio.h"
+#include "4xx.h"
+#include "44x.h"
+
+#define TARGET_4xx
+#define TARGET_44x
+#include "ppcboot.h"
+
+static void yosemite_fixups(void)
+{
+       unsigned long sysclk = 50000000;
+
+       ibm440ep_fixup_clocks(sysclk, 11059200, 400000000);
+       ibm4xx_sdram_fixup_memsize();
+       dt_fixup_mac_address_by_alias("ethernet0", eth0adr);
+       dt_fixup_mac_address_by_alias("ethernet1", eth1adr);
+}
+
+void platform_specific_init(void)
+{
+       platform_ops.fixups = yosemite_fixups;
+       platform_ops.exit = ibm44x_dbcr_reset;
+}
Signature · 5 lines
Best Regards,
________________________________________________________________
 Eddie Dawydiuk, Technologic Systems | voice:  (480) 837-5200
 16525 East Laser Drive 	     | fax:    (480) 837-5300
 Fountain Hills, AZ 85268            | web: www.embeddedARM.com
#5 lore raw

On Fri, Mar 6, 2009 at 3:32 PM, Eddie Dawydiuk <[email protected]> wrot= e:

Quoted 4 lines

Hello,

Let's try this one more time. The last patch was using the clocks for a custom board based on the Yosemite board and was referencing a non-existe=

nt

Quoted 1 line

ethNadr( I forgot to pull out this code out).

But the question remains: Why do you need simpleboot support for Yosemite when you can use a uImage or cuImage with u-boot?

g.

Quoted 6 lines

diff -urN linux-2.6.28.orig/arch/powerpc/boot/simpleboot-yosemite.c linux-2.6.28/arch/powerpc/boot/simpleboot-yosemite.c
--- linux-2.6.28.orig/arch/powerpc/boot/simpleboot-yosemite.c =A0 1969-12=

-31

Quoted 2 lines

17:00:00.000000000 -0700
+++ linux-2.6.28/arch/powerpc/boot/simpleboot-yosemite.c =A0 =A0 =A0 =A02=

009-03-06

Quoted 25 lines

15:33:24.000000000 -0700

arch/powerpc/boot/simpleboot-yosemite.c 2009-03-06 15:33:24.000000000 -0700 renamed from arch/powerpc/boot/simpleboot-yosemite.c 1969-12-31 17:00:00.000000000 -0700 +22 -0
@@ -0,0 +1,23 @@
+#include "ops.h"
+#include "stdio.h"
+#include "4xx.h"
+#include "44x.h"
+
+#define TARGET_4xx
+#define TARGET_44x
+#include "ppcboot.h"
+
+static void yosemite_fixups(void)
+{
+ =A0 =A0 =A0 unsigned long sysclk =3D 66666666;
+
+ =A0 =A0 =A0 ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
+ =A0 =A0 =A0 ibm4xx_sdram_fixup_memsize();
+}
+
+void platform_specific_init(void)
+{
+ =A0 =A0 =A0 platform_ops.fixups =3D yosemite_fixups;
+ =A0 =A0 =A0 platform_ops.exit =3D ibm44x_dbcr_reset;
+}
Quoted 3 lines
Quoted 3 lines

diff -urN linux-2.6.28.orig/arch/powerpc/boot/simpleboot-yosemite.c linux-2.6.28/arch/powerpc/boot/simpleboot-yosemite.c
--- linux-2.6.28.orig/arch/powerpc/boot/simpleboot-yosemite.c =A0 1969-1=

2-31

Quoted 2 lines
Quoted 2 lines

17:00:00.000000000 -0700
+++ linux-2.6.28/arch/powerpc/boot/simpleboot-yosemite.c =A0 =A0 =A0 =A0=

2009-03-06

Quoted 26 lines
Quoted 26 lines

14:55:46.000000000 -0700

arch/powerpc/boot/simpleboot-yosemite.c 2009-03-06 15:33:24.000000000 -0700 renamed from arch/powerpc/boot/simpleboot-yosemite.c 1969-12-31 17:00:00.000000000 -0700 +24 -0
@@ -0,0 +1,24 @@
+#include "ops.h"
+#include "stdio.h"
+#include "4xx.h"
+#include "44x.h"
+
+#define TARGET_4xx
+#define TARGET_44x
+#include "ppcboot.h"
+
+static void yosemite_fixups(void)
+{
+ =A0 =A0 =A0 unsigned long sysclk =3D 50000000;
+
+ =A0 =A0 =A0 ibm440ep_fixup_clocks(sysclk, 11059200, 400000000);
+ =A0 =A0 =A0 ibm4xx_sdram_fixup_memsize();
+ =A0 =A0 =A0 dt_fixup_mac_address_by_alias("ethernet0", eth0adr);
+ =A0 =A0 =A0 dt_fixup_mac_address_by_alias("ethernet1", eth1adr);
+}
+
+void platform_specific_init(void)
+{
+ =A0 =A0 =A0 platform_ops.fixups =3D yosemite_fixups;
+ =A0 =A0 =A0 platform_ops.exit =3D ibm44x_dbcr_reset;
+}
Quoted 8 lines
Quoted 1 line

--
Best Regards,
________________________________________________________________
=A0Eddie Dawydiuk, Technologic Systems | voice: =A0(480) 837-5200 =A016525 East Laser Drive =A0 =A0 =A0 =A0 =A0 =A0 =A0| fax: =A0 =A0(480) =

837-5300

Quoted 1 line

=A0Fountain Hills, AZ 85268 =A0 =A0 =A0 =A0 =A0 =A0| web: www.embeddedARM=

.com

Quoted 5 lines

_______________________________________________
Linuxppc-dev mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-dev

--=20
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

#6 lore raw
Quoted 9 lines · Grant Likely
Quoted 5 lines · Eddie Dawydiuk

Hello,

Let's try this one more time. The last patch was using the clocks for a custom board based on the Yosemite board and was referencing a non-existent ethNadr( I forgot to pull out this code out).

But the question remains: Why do you need simpleboot support for Yosemite when you can use a uImage or cuImage with u-boot?

On a more general note; this patch also diverges from the original model for simple image. The idea behind simpleimage was that it would contain a fully formed device tree, with no fixups necessary. I want to think carefully before diverging from that.

Cheers,
g.

Signature · 2 lines
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
#7 lore raw

Hello,

Quoted 4 lines

On a more general note; this patch also diverges from the original model for simple image. The idea behind simpleimage was that it would contain a fully formed device tree, with no fixups necessary. I want to think carefully before diverging from that.

I wasn't aware of these design goals... I believe one can also modify the default dts file such that the RAM size is not dynamically detected so the fixups aren't required(although keep in mind I haven't tested this). Although it is quite convenient to add the fixed-head.o so one can jump into the simpleImage at offset 0 rather than having to check what the offset should be each time a change is made.

//Eddie

#8 lore raw

On Sat, Mar 7, 2009 at 8:21 AM, Eddie Dawydiuk <[email protected]> wrot= e:

Quoted 9 lines

Hello,

Quoted 4 lines

On a more general note; this patch also diverges from the original model for simple image. =A0The idea behind simpleimage was that it would contain a fully formed device tree, with no fixups necessary. =A0I want to think carefully before diverging from that.

I wasn't aware of these design goals... I believe one can also modify the default dts file such that the RAM size is not dynamically detected so th=

e

Quoted 1 line

fixups aren't required(although keep in mind I haven't tested this).

Just to be clear, I'm not saying 'no'. I'm just not saying 'yes' yet either. However, if you can fully form the dts file then that is definitely my preference.

Quoted 3 lines

Although it is quite convenient to add the fixed-head.o so one can jump into the simpleImage at offset 0 rather than having to check what the offset should be each time a change is made.

The missing fixed-head thing is a bug. I have no issue with that change.

g.

--=20
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.

#9 lore raw
In reply to Grant Likely

Hello,

Quoted 2 lines

But the question remains: Why do you need simpleboot support for Yosemite when you can use a uImage or cuImage with u-boot?

We are developing a new board based upon the Yosemite board. Seeing as though the Yosemite board was supported in the mainline kernel I decided to start with that code base. After looking at what different options/images were available for device trees vs open firmware I decided the simpleImage would be the ideal format for our new board. I then read how to build a simpleImage for the Yosemite board, which build without any compiler errors. Although I found the image didn't work, so I figured it might be helpful for others if the image just worked without modifications. Although shortly I will be submitting support for our custom board using this same approach. So if you have any suggestions on this approach using the simpleImage please let me know.

On another note, can you tell me/point me to some documentation on how to get a unique machine ID for a new board?

--
Best Regards,
________________________________________________________________
 Eddie Dawydiuk, Technologic Systems | voice:  (480) 837-5200 16525 East Laser Drive              | fax:    (480) 837-5300 Fountain Hills, AZ 85268            | web: www.embeddedARM.com

#10 lore raw
Quoted 5 lines · Eddie Dawydiuk

Hello,

Quoted 2 lines

But the question remains: Why do you need simpleboot support for Yosemite when you can use a uImage or cuImage with u-boot?

Quoted 11 lines

We are developing a new board based upon the Yosemite board. Seeing as though the Yosemite board was supported in the mainline kernel I decided to start with that code base. After looking at what different options/images were available for device trees vs open firmware I decided the simpleImage would be the ideal format for our new board. I then read how to build a simpleImage for the Yosemite board, which build without any compiler errors. Although I found the image didn't work, so I figured it might be helpful for others if the image just worked without modifications. Although shortly I will be submitting support for our custom board using this same approach. So if you have any suggestions on this approach using the simpleImage please let me know.

Before I answer this, what bootloader are you using?

Quoted 2 lines

On another note, can you tell me/point me to some documentation on how to get a unique machine ID for a new board?

What do you mean? Are you referring to the top level compatible and model properties?

g.

Signature · 2 lines
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
#11 lore raw
In reply to Eddie Dawydiuk
Quoted 2 lines · On Sat, 7 Mar 2009 08:14:41 -0700 (MST) "Eddie Dawydiuk"…

On another note, can you tell me/point me to some documentation on how to get a unique machine ID for a new board?

Do you mean the model in the dts, like "amcc,yosemite"? You just pick one.

It is just company name, board name. We based the Pika Warp on the yosemite board but our model name is pika,warp since it is too far removed to use the stock yosemite to use the same DTS.

Cheers,
Sean