hacking the kernel to pretend EEPROM contains my board id

diff --git a/arch/arm/mach-omap2/board-am335xevm.c
b/arch/arm/mach-omap2/board-am335xevm.c
index 3f17cf8..aad2738 100644
--- a/arch/arm/mach-omap2/board-am335xevm.c
+++ b/arch/arm/mach-omap2/board-am335xevm.c
@@ -4287,13 +4287,21 @@ static void am335x_evm_setup(struct memory_accessor
*mem_acc, void *context)
        if (ret != sizeof(config)) {
                pr_err("AM335X EVM config read fail, read %d bytes\n", ret);
                pr_err("This likely means that there either is no/or a
failed EEPROM\n");
-               goto out;
+               //goto out;
+               {
+                       char ar[] = {0xaa, 0x55, 0x33, 0xee, 'A', '3', '3',
'5', 'U', 'S', 'O', 'M', 0};
+                       memcpy((char *)&config, (char *)&ar, sizeof(ar));
+               }
        }

        if ((config.header != AM335X_EEPROM_HEADER) && (config.header !=
BONEA2_EEPROM_HEADER)) {
                pr_err("AM335X: wrong header 0x%x, expected 0x%x\n",
                        config.header, AM335X_EEPROM_HEADER);
-               goto out;
+               //goto out;
+               {
+                       char ar[] = {0xaa, 0x55, 0x33, 0xee, 'A', '3', '3',
'5', 'U', 'S', 'O', 'M', 0};
+                       memcpy((char *)&config, (char *)&ar, sizeof(ar));
+               }
        }

        /*



2014-02-19 8:27 GMT+04:00 Jason Kridner <[email protected]>:

>
>
>
> On Tue, Feb 18, 2014 at 7:07 PM, <[email protected]> wrote:
>
>> Hey guys,
>>
>> I'm working on a project which is using a clone of the BBB hardware and
>> I'm running into some issues with Device Trees. I wasn't involved with the
>> hardware design, but as far as I know, the BBB hardware has been duplicated
>> exactly. Specifically, the clone board will be directly connected to an LCD
>> using the LCD data pins on the AM335x. I've never worked with Device Trees
>> before, but after some initial research (mostly based on this 
>> summary<http://learn.adafruit.com/introduction-to-the-beaglebone-black-device-tree/overview>)
>> I'm thinking that they are the best way to accomplish what I'm looking for
>> (enabling the LCD pins and configuring the driver to use them). I'm not
>> concerned about the details of implementing this right now, since I'm
>> having issues with Device Trees in general that I need to address first.
>>
>> The board is booting from an SD card with two partitions: one for U-boot
>> and one for the Angstrom (v2012.12 with 3.8.13 kernel) image, both of which
>> are the standard images which ship with the Beaglebone. I'm not having
>> problems getting the board to boot. It has no problem running U-boot and it
>> can start Linux without any catastrophic failures using the default images.
>> Once Linux boots, if I go to /sys/devices/bone_capemgr.8, there are all the
>> files you'd find on a regular BBB *except *slots and the slots-* files.
>> As far as I know, without these files I can't add or modify device trees
>> for the board. I still could by rebuilding the kernel I suppose, but as far
>> as I know this is a deprecated approach.
>>
>> Here's a pastebin showing the serial output of the clone while it 
>> boots<http://pastebin.com/ZBmatVgk>
>>
>> I only have a basic understanding of U-Boot, so the output during the
>> boot sequence doesn't help me to much, but here are the main things I've
>> noticed while skimming through it:
>>
>> 1. Right at the start of the SPL process, the magic number check in
>> EEPROM fails. This makes sense since the cloned board has a blank EEPROM.
>> I'm not sure if this is a problem, but the assumption in the next lines
>> (Beaglebone LT/Black.musb-hdrc) seem to work. The board is able to get past
>> the SPL stage so I'd figure that this assumption is accurate enough.
>>
>
> There are some rather basic configuration components that require board
> detection to work. I suggest you hard-code it in the SPL/u-boot or program
> the EEPROM.
>
>
>>
>> 2. The main U-Boot process also checks the EEPROM and fails the ID check.
>> There is no reassuring message this time ("Assuming Beaglebone" or
>> something to that effect) so I'm not sure if this is a larger problem.
>>
>> 3. The PHY initialization fails. The only hardware difference I know of
>> between the clone and the BBB is the PHY, so this isn't very surprising.
>> I'm pretty sure the PHY uses a different address so I'll deal with this
>> when it becomes an issue.
>>
>> 4. The uEnv.txt is being read. I originally thought this might have been
>> a problem, but if I modify uEnv.txt U-boot reports the correct file size.
>> In this example I'm just using the default one though.
>>
>> 5. U-boot mentions the device tree addresses, but I don't know if there
>> is any significance to this.
>>
>> 6. While booting the kernel, U-boot throws some bone-capemgr errors
>> relating to the EEPROM. This makes me think that the EEPROM failure might
>> be messing up the device tree configuration through bone-capemgr but I'm
>> not sure. There are also some GPIO mux errors but I'm not sure that they
>> really matter for my problems right now.
>>
>> That's all I've got right now. As I said, this is my first time working
>> with anything related to the BBB and I don't really have any experience
>> with U-Boot, so unfortunately I'm mostly relying on support from you guys
>> at this point. If you need any more information just let me know.
>>
>
>> Thanks,
>>
>> --
>> For more options, visit http://beagleboard.org/discuss
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "BeagleBoard" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>  --
> For more options, visit http://beagleboard.org/discuss
> ---
> You received this message because you are subscribed to the Google Groups
> "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>



-- 
LinkedIn - http://www.linkedin.com/in/maximpodbereznyy
Company - http://www.linkedin.com/company/mentorel
Facebook - https://www.facebook.com/mentorel.company

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to