Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 08, 2014 04:01PM |
Admin Registered: 14 years ago Posts: 19,427 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 08, 2014 04:36PM |
Registered: 11 years ago Posts: 21 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 08, 2014 05:10PM |
Admin Registered: 14 years ago Posts: 19,427 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 08, 2014 05:15PM |
Registered: 11 years ago Posts: 21 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 11, 2014 06:24PM |
Registered: 12 years ago Posts: 232 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 12, 2014 12:01AM |
Admin Registered: 14 years ago Posts: 19,427 |
U-Boot 2013.10 (Feb 21 2014 - 20:02:23)-tld-2 Iomega iConnect SoC: Kirkwood 88F6281_A0 DRAM: 256 MiB WARNING: Caches not enabled NAND: 512 MiB
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 12, 2014 07:42AM |
Registered: 12 years ago Posts: 232 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 12, 2014 02:51PM |
Registered: 12 years ago Posts: 232 |
U-Boot 2013.10-g268e791 (Mar 07 2014 - 14:24:23) ZyXEL NSA320 2-Bay Power Media Server SoC: Kirkwood 88F6281_A1 DRAM: 512 MiB WARNING: Caches not enabled NAND: 128 MiB *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: egiga0 Warning: failed to set MAC address MV88E1318 PHY initialized on egiga0
PlanetEater
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 12, 2014 04:09PM |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 12, 2014 04:29PM |
Registered: 12 years ago Posts: 232 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 12, 2014 04:40PM |
Registered: 12 years ago Posts: 232 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 12, 2014 05:11PM |
Admin Registered: 14 years ago Posts: 19,427 |
PlanetEater
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 12, 2014 05:24PM |
#define CONFIG_ENV_ADDR 0x100000 #define CONFIG_ENV_OFFSET 0x100000 /* env starts here */instead of the current
#define CONFIG_ENV_ADDR 0x120000 #define CONFIG_ENV_OFFSET 0x120000 /* env starts here */
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 12, 2014 05:39PM |
Registered: 12 years ago Posts: 232 |
PlanetEater
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 12, 2014 06:05PM |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 13, 2014 12:30AM |
Admin Registered: 14 years ago Posts: 19,427 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 13, 2014 01:21PM |
Registered: 12 years ago Posts: 232 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 17, 2014 05:21PM |
Registered: 11 years ago Posts: 4 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 18, 2014 10:14AM |
Registered: 11 years ago Posts: 21 |
/******************************************************************************* * mvHddPowerCtrl - * * DESCRIPTION: * This function set HDD power on/off acording to env or wait for button push * INPUT: * None * OUTPUT: * None * RETURN: * None * *******************************************************************************/ static void mvHddPowerCtrl(void)It uses hddPowerCtrl=no from environment, so I'll further examine this.
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 18, 2014 11:49AM |
Admin Registered: 14 years ago Posts: 19,427 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 18, 2014 03:47PM |
Registered: 11 years ago Posts: 21 |
MV_REG_WRITE(MPP_CONTROL_REG2, mvBoardMppGet(2)); /* MPP_CONTROL_REG2 is 0x10008 */if this is called in mv_main.c (I added a while (1) udelay(1000); so this is actually the last [real] command executed!), the HDD will spin up. If this call is missing, the HDD won't spin up.
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 19, 2014 09:08AM |
Registered: 11 years ago Posts: 21 |
U-Boot 2014.01-pogoplugv4-dirty (Mar 19 2014 - 15:01:20) Pogoplug v4/Mobile SoC: Kirkwood 88F6281_A1 DRAM: 128 MiB WARNING: Caches not enabled NAND: 128 MiB MMC: kwsdio: 0 *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: egiga0 Warning: failed to set MAC address Hit any key to stop autoboot: 0 Pogov4> ide ide - IDE sub-system Usage: ide reset - reset IDE controller ide info - show available IDE devices ide device [dev] - show or set current device ide part [dev] - print partition table of one or all IDE devices ide read addr blk# cnt ide write addr blk# cnt - read/write `cnt' blocks starting at block `blk#' to/from memory address `addr' Pogov4> ide reset Reset IDE: Bus 0: OK Bus 1: not available Device 0: Model: SAMSUNG HN-M101MBB Firm: 2AR10001 Ser#: S2R8J1KBB00967 Type: Hard Disk Supports 48-bit addressing Capacity: 953869.7 MB = 931.5 GB (1953525168 x 512) Pogov4>HDD is directly plugged into Pogoplug, so no external power.
MV_REG_WRITE(MPP_CONTROL_REG2, mvBoardMppGet(2)); is fully expanded to *(volatile unsigned int*)(0xf1010008) = (unsigned int)0x00551100;However, kirkwood_mpp_conf(kwmpp_config, NULL); will override this and stop SATA power again, so I disabled it for now. Don't know about the effects yet. But at least I know exactly where I have to dig. And once I found the problem, it should be easy to convert this ugly pointer arithmetics into a nice u-boot writel() call.
diff --git a/board/cloudengines/pogo_v4/pogo_v4.c b/board/cloudengines/pogo_v4/pogo_ index 25f4ae3..1c99562 100644 --- a/board/cloudengines/pogo_v4/pogo_v4.c +++ b/board/cloudengines/pogo_v4/pogo_v4.c @@ -74,8 +74,8 @@ int board_early_init_f(void) MPP17_SD_D3, MPP18_NF_IO0, MPP19_NF_IO1, - MPP20_GPIO, - MPP21_GPIO, + MPP20_SATA1_ACTn, + MPP21_SATA0_ACTn, MPP22_GPIO, MPP23_GPIO, MPP24_GPIO,I think that should solve the SATA power problem once and for all.
sha1: c425285b3cb55607e51e1522a64887bcd137bbb8 md5: d5df1e7ab90b59c5b8e32e9ae1251ece
sha1: 64a1500259214f4c0f7989fcbe1479299e26519f md5: b96574b1ee60d525be7e3c8bceeb6fdaI pushed those patches to GitHub already.
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 19, 2014 04:49PM |
Admin Registered: 14 years ago Posts: 19,427 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 19, 2014 05:16PM |
Registered: 11 years ago Posts: 21 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 20, 2014 12:00AM |
Admin Registered: 14 years ago Posts: 19,427 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 20, 2014 05:26AM |
Registered: 11 years ago Posts: 21 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 20, 2014 12:37PM |
Registered: 12 years ago Posts: 149 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 21, 2014 05:35AM |
Registered: 11 years ago Posts: 21 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 21, 2014 08:43AM |
Registered: 12 years ago Posts: 232 |
Re: Kirkwood U-boot - Getting all supported Kirkwoods on-board March 21, 2014 12:00PM |
Registered: 11 years ago Posts: 21 |
static void setup_ce_tag (void) { unsigned int cpu = 0; #if defined(MV78200) && defined(DUAL_OS_SHARED_MEM_78200) cpu = whoAmI(); #endif params[cpu]->hdr.tag = ATAG_CE_UBOOT; params[cpu]->hdr.size = tag_size (tag_ce_uboot); params[cpu]->u.ce_uboot.ce_tagkey = 0x5843453A; params[cpu]->u.ce_uboot.ce_size = sizeof(struct tag_ce_uboot); strncpy(params[cpu]->u.ce_uboot.ce_boardid, CE_BOARDID, sizeof(params[cpu]->u.ce_uboot.ce_boardid)); params[cpu] = tag_next (params[cpu]); }So I guess Pogoplug's kernel needs some special information (CE_BOARDID etc) that mainline U-Boot does not provide. I think I'll have a look into that.