Re: [U-Boot] mx6: spl: Rename ncs as ranks and move it to mx6_ddr3_cfg
On Sat, Aug 9, 2014 at 7:08 AM, Nikolay Dimitrov picmas...@mail.bg wrote: Hi guys, I'm working on adding SO-DIMM SPL support on a custom imx6 board, so I'm thinking on the idea of which DDR3 settings belong to the controller and which belong to the DDR3 memory module/chips. My proposal is to rename the struct member ncs to ranks (as per JEDEC) and to move it as part of the DDR3 module description (be it an external so-dimm module or on-board DDR ICs), and not part of the MMDC description. This way the ranks value can be loaded from the SO-DIMM SPD or hard-coded as in Tim's case for the Ventana board. The code for my board is out of the official tree, so I'm showing my idea on Tim's Ventana SPL code: diff --git a/arch/arm/cpu/armv7/mx6/ddr.c b/arch/arm/cpu/armv7/mx6/ddr.c index 0434211..0d3580b 100644 --- a/arch/arm/cpu/armv7/mx6/ddr.c +++ b/arch/arm/cpu/armv7/mx6/ddr.c @@ -340,7 +340,7 @@ void mx6_dram_cfg(const struct mx6_ddr_sysinfo *i, debug(trrd=%d\n, trrd); debug(txpr=%d\n, txpr); debug(CS0_END=%d\n, CS0_END); - debug(ncs=%d\n, i-ncs); + debug(ranks=%d\n, m-ranks); debug(Rtt_wr=%d\n, i-rtt_wr); debug(Rtt_nom=%d\n, i-rtt_nom); debug(SRT=%d\n, m-SRT); @@ -437,11 +437,11 @@ void mx6_dram_cfg(const struct mx6_ddr_sysinfo *i, /* Step 7: Enable MMDC with desired chip select */ reg = mmdc0-mdctl | (1 31) | /* SDE_0 for CS0 */ - ((i-ncs == 2) ? 1 : 0) 30;/* SDE_1 for CS1 */ + ((m-ranks == 2) ? 1 : 0) 30; /* SDE_1 for CS1 */ mmdc0-mdctl = reg; /* Step 8: Write Mode Registers to Init DDR3 devices */ - for (cs = 0; cs i-ncs; cs++) { + for (cs = 0; cs m-ranks; cs++) { /* MR2 */ reg = (i-rtt_wr 3) 9 | (m-SRT 1) 7 | ((tcwl - 3) 3) 3; diff --git a/arch/arm/include/asm/arch-mx6/mx6-ddr.h b/arch/arm/include/asm/arch-mx6/mx6-ddr.h index 5ebabfa..2b9649c 100644 --- a/arch/arm/include/asm/arch-mx6/mx6-ddr.h +++ b/arch/arm/include/asm/arch-mx6/mx6-ddr.h @@ -191,13 +191,13 @@ struct mx6_ddr3_cfg { u16 trcmin; /* tRC min (ns*100) */ u16 trasmin;/* tRAS min (ns*100) */ u8 SRT; /* self-refresh temperature: 0=normal, 1=extended */ + u8 ranks; /* ranks (chip-selects) of the DDR3 memory (1,2) */ }; /* System Information: Varies per board design, layout, and term choices */ struct mx6_ddr_sysinfo { u8 dsize; /* size of bus (in dwords: 0=16bit,1=32bit,2=64bit) */ u8 cs_density; /* density per chip select (Gb) */ - u8 ncs; /* number chip selects used (1|2) */ char cs1_mirror;/* enable address mirror (0|1) */ char bi_on; /* Bank interleaving enable */ u8 rtt_nom; /* Rtt_Nom (DDR3_RTT_*) */ diff --git a/board/gateworks/gw_ventana/gw_ventana_spl.c b/board/gateworks/gw_ventana/gw_ventana_spl.c index e943879..93be270 100644 --- a/board/gateworks/gw_ventana/gw_ventana_spl.c +++ b/board/gateworks/gw_ventana/gw_ventana_spl.c @@ -199,6 +199,7 @@ static struct mx6_ddr3_cfg mt41k128m16jt_125 = { .trcd = 1375, .trcmin = 4875, .trasmin = 3500, + .ranks = 1 }; /* GW54xx specific calibration */ @@ -309,8 +310,6 @@ static void spl_dram_init(int width, int size, int board_model) .dsize = width/32, /* config for full 4GB range so that get_mem_size() works */ .cs_density = 32, /* 32Gb per CS */ - /* single chip select */ - .ncs = 1, .cs1_mirror = 0, .rtt_wr = 1 /*DDR3_RTT_60_OHM*/,/* RTT_Wr = RZQ/4 */ #ifdef RTT_NOM_120OHM Please excuse me if this way to show ideas is not the appropriate one, just tell me how to do it better and I'll do my best. Kind regards, Nikolay Hi Nikolay, The ncs field is a 'system' property detailing how many chip selects your board supports. I suppose in your case you are saying you have a SO-DIMM that you route both chip selects to and the SO-DIMM SPD tells you whether it uses 1 or 2 of them. Nikita may have comments on this as he's using board configurations with multiple chip selects - I haven't needed that myself yet (but will soon) so I've cc'd him. Tim ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [RFC PATCH v2 0/2] Make Python scripts compatible with older versions
On 08/07/14 20:33, Stephen Warren wrote: On 08/07/2014 10:57 AM, Tom Rini wrote: On Thu, Aug 07, 2014 at 04:17:21PM +0300, Igor Grinberg wrote: On 08/07/14 13:57, Tom Rini wrote: .. we just need /usr/bin/env python2 as how we invoke our scripts. This means impose python version dependency for U-Boot source build? Correct me if you think I'm wrong, but I don't think this is a good practice... I think that for tools like buildman, patman, etc. - this is perfectly fine to impose an interpreter/compiler version, but not for the basic source builds. I agree. You don't need MAKEALL or buildman to do basic source builds. Doing 'make foo_defconfig' doesn't require re-creating boards.cfg. To me, the gray area is people doing SoC level (or higher) changes that want to be good and test more areas. That's when MAKEALL or buildman become handy and some sort of win over a shell forloop. Why on earth isn't relying specifically on either Python2 (with the current script code) or Python3 (after porting the code) a good practice? Because I think (I can think this way, right?) it is not a good practice to bring another host machine dependency (moreover, version dependency) for the simple source code build (now it also backfired in OE). Banning or replacing the use of Python just because they cleaned up their language seems like poking your eye out to spite your nose (or whatever the expression is). The same thing will happen with Perl, and happened with dtc, etc. Did I say ban python or something? No, I did not say that. What I'm saying is: Right now, we have compiler dependency (a must as you can't practically produce any code without it), and we have dtc (a must if you want to compile dts), and we have make, and we have shell (this one is found on every host, although windows users have to use cygwin or such, but who cares, so no problem), and now we also add python to the soup? Don't get me wrong, I don't have any problem with python... I can have any number of python versions I want (I think gentoo is the best at supporting this kind of stuff...). I just don't think that basic code compile should depend on even more stuff being added. I've compiled various bootloaders and have seen huge dependencies on tools and after all the build time and complexity got worth and worth. I don't really want U-Boot to go that direction, but more to keep it simple and stupid. -- Regards, Igor. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 0/25] Introduce driver model support for SPI, SPI flash, cros_ec
On Sun, Aug 10, 2014 at 2:59 AM, Simon Glass s...@chromium.org wrote: Hi, On 14 July 2014 18:56, Simon Glass s...@chromium.org wrote: Up until now driver model has not been used for any type of bus. Buses have some unique properties and needs, so we cannot claim that driver model can cover all the common cases unless we have converted a bus over to driver model. SPI is a reasonable choice for this next step. It has a fairly simple API and not too many dependencies. The main one is SPI flash so we may as well convert that also. Since the boards I test with have cros_ec I have also included that, for SPI only. The technique used is make use of driver model's supported data structures to hold information currently kept by each subsystem in a private data structure. Since 'struct spi_slave' relates to the slave device on the bus it is stored in the 'parent' data with each child device of the bus. Since 'struct spi_flash' is a standard interface used for each SPI flash driver, it is stored in the SPI FLash uclass's private data for each device. New defines are created to enable driver model for each subsystem. These are: CONFIG_DM_SPI CONFIG_DM_SPI_FLASH CONFIG_DM_CROS_EC This allows us to move some boards and drivers to driver model, while leaving others behind. A 'big bang' conversion of everything to driver model, event at a subsystem level, is never going to work. On the other hand, we change the driver at the same time as the CONFIG option is enabled. Keeping both version of the driver around involves a flock of #ifdefs, the benefit of which is not apparent to me, since the old code is removed anyway. There is some cost in changing the uclass interface after it is created, so if you have limited time, please spend it reviewing the uclass interfaces in spi.h and spi_flash.h. These need to be supported by each driver, so changing them later may involve changing multiple drivers. To help with conversion of SPI drivers to driver model, documentation is provided which takes the happy camper through the process with an example. As always, driver model patches are available at u-boot-dm.git branch 'working'. Note: This series is not fully ready - e.g. some header files are missing comments. But I wanted to get it out for review early since some SPI work is ongoing which might depend on it. Are there any comments on this series please? I'd like to apply these to dm/master early next week, excluding the exynos ones. I will be busy in next full week, give me 2 more weeks. Probably I will give my comments on next to next weekend. thanks! -- Jagan. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] mx6: spl: Rename ncs as ranks and move it to mx6_ddr3_cfg
Hi Tim, On 08/10/2014 10:47 AM, Tim Harvey wrote: On Sat, Aug 9, 2014 at 7:08 AM, Nikolay Dimitrov picmas...@mail.bg wrote: Hi guys, I'm working on adding SO-DIMM SPL support on a custom imx6 board, so I'm thinking on the idea of which DDR3 settings belong to the controller and which belong to the DDR3 memory module/chips. My proposal is to rename the struct member ncs to ranks (as per JEDEC) and to move it as part of the DDR3 module description (be it an external so-dimm module or on-board DDR ICs), and not part of the MMDC description. This way the ranks value can be loaded from the SO-DIMM SPD or hard-coded as in Tim's case for the Ventana board. The code for my board is out of the official tree, so I'm showing my idea on Tim's Ventana SPL code: diff --git a/arch/arm/cpu/armv7/mx6/ddr.c b/arch/arm/cpu/armv7/mx6/ddr.c index 0434211..0d3580b 100644 --- a/arch/arm/cpu/armv7/mx6/ddr.c +++ b/arch/arm/cpu/armv7/mx6/ddr.c @@ -340,7 +340,7 @@ void mx6_dram_cfg(const struct mx6_ddr_sysinfo *i, debug(trrd=%d\n, trrd); debug(txpr=%d\n, txpr); debug(CS0_END=%d\n, CS0_END); - debug(ncs=%d\n, i-ncs); + debug(ranks=%d\n, m-ranks); debug(Rtt_wr=%d\n, i-rtt_wr); debug(Rtt_nom=%d\n, i-rtt_nom); debug(SRT=%d\n, m-SRT); @@ -437,11 +437,11 @@ void mx6_dram_cfg(const struct mx6_ddr_sysinfo *i, /* Step 7: Enable MMDC with desired chip select */ reg = mmdc0-mdctl | (1 31) | /* SDE_0 for CS0 */ - ((i-ncs == 2) ? 1 : 0) 30;/* SDE_1 for CS1 */ + ((m-ranks == 2) ? 1 : 0) 30; /* SDE_1 for CS1 */ mmdc0-mdctl = reg; /* Step 8: Write Mode Registers to Init DDR3 devices */ - for (cs = 0; cs i-ncs; cs++) { + for (cs = 0; cs m-ranks; cs++) { /* MR2 */ reg = (i-rtt_wr 3) 9 | (m-SRT 1) 7 | ((tcwl - 3) 3) 3; diff --git a/arch/arm/include/asm/arch-mx6/mx6-ddr.h b/arch/arm/include/asm/arch-mx6/mx6-ddr.h index 5ebabfa..2b9649c 100644 --- a/arch/arm/include/asm/arch-mx6/mx6-ddr.h +++ b/arch/arm/include/asm/arch-mx6/mx6-ddr.h @@ -191,13 +191,13 @@ struct mx6_ddr3_cfg { u16 trcmin; /* tRC min (ns*100) */ u16 trasmin;/* tRAS min (ns*100) */ u8 SRT; /* self-refresh temperature: 0=normal, 1=extended */ + u8 ranks; /* ranks (chip-selects) of the DDR3 memory (1,2) */ }; /* System Information: Varies per board design, layout, and term choices */ struct mx6_ddr_sysinfo { u8 dsize; /* size of bus (in dwords: 0=16bit,1=32bit,2=64bit) */ u8 cs_density; /* density per chip select (Gb) */ - u8 ncs; /* number chip selects used (1|2) */ char cs1_mirror;/* enable address mirror (0|1) */ char bi_on; /* Bank interleaving enable */ u8 rtt_nom; /* Rtt_Nom (DDR3_RTT_*) */ diff --git a/board/gateworks/gw_ventana/gw_ventana_spl.c b/board/gateworks/gw_ventana/gw_ventana_spl.c index e943879..93be270 100644 --- a/board/gateworks/gw_ventana/gw_ventana_spl.c +++ b/board/gateworks/gw_ventana/gw_ventana_spl.c @@ -199,6 +199,7 @@ static struct mx6_ddr3_cfg mt41k128m16jt_125 = { .trcd = 1375, .trcmin = 4875, .trasmin = 3500, + .ranks = 1 }; /* GW54xx specific calibration */ @@ -309,8 +310,6 @@ static void spl_dram_init(int width, int size, int board_model) .dsize = width/32, /* config for full 4GB range so that get_mem_size() works */ .cs_density = 32, /* 32Gb per CS */ - /* single chip select */ - .ncs = 1, .cs1_mirror = 0, .rtt_wr = 1 /*DDR3_RTT_60_OHM*/,/* RTT_Wr = RZQ/4 */ #ifdef RTT_NOM_120OHM Please excuse me if this way to show ideas is not the appropriate one, just tell me how to do it better and I'll do my best. Kind regards, Nikolay Hi Nikolay, The ncs field is a 'system' property detailing how many chip selects your board supports. I suppose in your case you are saying you have a SO-DIMM that you route both chip selects to and the SO-DIMM SPD tells you whether it uses 1 or 2 of them. Yes, my board is routed to support all the required SO-DIMM signals, including the 2x CS signals. Actually, thinking more about your explanation, it starts to look like keeping ncs is actually a good idea. But in the case where the board supports 2x CS but the plugged SO-DIMM memory supports only 1x CS (single rank), then it also makes sense to have the additional ranks struct member, so we can describe the capabilities of both memory and MMDC, and configure MMDC accordingly. Nikita may have comments on this as he's using board configurations with multiple chip selects - I haven't needed that myself yet (but will soon) so I've cc'd him. I'm definitely looking for input from more knowledgeable people than me. Kind regards,
Re: [U-Boot] [RFC PATCH v2 0/2] Make Python scripts compatible with older versions
On Sun, Aug 10, 2014 at 11:49:12AM +0300, Igor Grinberg wrote: On 08/07/14 20:33, Stephen Warren wrote: On 08/07/2014 10:57 AM, Tom Rini wrote: On Thu, Aug 07, 2014 at 04:17:21PM +0300, Igor Grinberg wrote: On 08/07/14 13:57, Tom Rini wrote: .. we just need /usr/bin/env python2 as how we invoke our scripts. This means impose python version dependency for U-Boot source build? Correct me if you think I'm wrong, but I don't think this is a good practice... I think that for tools like buildman, patman, etc. - this is perfectly fine to impose an interpreter/compiler version, but not for the basic source builds. I agree. You don't need MAKEALL or buildman to do basic source builds. Doing 'make foo_defconfig' doesn't require re-creating boards.cfg. To me, the gray area is people doing SoC level (or higher) changes that want to be good and test more areas. That's when MAKEALL or buildman become handy and some sort of win over a shell forloop. Why on earth isn't relying specifically on either Python2 (with the current script code) or Python3 (after porting the code) a good practice? Because I think (I can think this way, right?) it is not a good practice to bring another host machine dependency (moreover, version dependency) for the simple source code build (now it also backfired in OE). Banning or replacing the use of Python just because they cleaned up their language seems like poking your eye out to spite your nose (or whatever the expression is). The same thing will happen with Perl, and happened with dtc, etc. Did I say ban python or something? No, I did not say that. What I'm saying is: Right now, we have compiler dependency (a must as you can't practically produce any code without it), and we have dtc (a must if you want to compile dts), and we have make, and we have shell (this one is found on every host, although windows users have to use cygwin or such, but who cares, so no problem), and now we also add python to the soup? Maybe I'm being thick then. What's the use case you need MAKEALL or buildman for? -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH v2] Makefile: remove generated boards.cfg within make distclean
Signed-off-by: Roger Meier ro...@bufferoverflow.ch CC: Masahiro Yamada yamad...@jp.panasonic.com CC: Tom Rini tr...@ti.com CC: Wolfgang Denk w...@denx.de --- Changes for v2: - remove boards.cfg within make distclean instead of mrproper - use mrproper instead of distclean within MAKEALL --- MAKEALL |2 +- Makefile |3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/MAKEALL b/MAKEALL index 929fe88..392ea8d 100755 --- a/MAKEALL +++ b/MAKEALL @@ -658,7 +658,7 @@ build_target() { MAKE=${MAKE} O=${output_dir} fi - ${MAKE} distclean /dev/null + ${MAKE} mrproper /dev/null echo Building ${target} board... ${MAKE} -s ${target}_defconfig /dev/null diff --git a/Makefile b/Makefile index 666d291..067a301 100644 --- a/Makefile +++ b/Makefile @@ -1285,7 +1285,8 @@ distclean: mrproper -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \ -o -name '.*.rej' -o -name '*%' -o -name 'core' \ -o -name '*.pyc' \) \ - -type f -print | xargs rm -f + -type f -print | xargs rm -f \ + rm -f boards.cfg backup: F=`basename $(srctree)` ; cd .. ; \ -- 1.7.10.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V2 1/9] spl: replace CONFIG_SPL_SPI_* with CONFIG_SF_DEFAULT_*
On 07/08/14 16:49, Marek Vasut wrote: On Thursday, August 07, 2014 at 03:05:28 PM, Nikita Kiryanov wrote: Currently, CONFIG_SPL_SPI_* #defines are used for controlling SPI boot in SPL. These #defines do not allow the user to select SPI mode for the SPI flash (there's no CONFIG_SPL_SPI_MODE, so the SPI mode is hardcoded in spi_spl_load.c), and duplicate information already provided by CONFIG_SF_DEFAULT_* #defines. Kill CONFIG_SPL_SPI_*, and use CONFIG_SF_DEFAULT_* instead. Cc: Jagannadha Sutradharudu Teki jagannadh.t...@gmail.com Cc: Tom Rini tr...@ti.com Cc: Sudhakar Rajashekhara sudhakar@ti.com Cc: Lokesh Vutla lokeshvu...@ti.com Cc: Vitaly Andrianov vita...@ti.com Cc: Lars Poeschel poesc...@lemonage.de Cc: Bo Shen voice.s...@atmel.com Cc: Hannes Petermaier hannes.peterma...@br-automation.com Cc: Michal Simek mon...@monstr.eu Cc: Marek Vasut ma...@denx.de Signed-off-by: Nikita Kiryanov nik...@compulab.co.il Oh, right. This doesn't collide with the Kconfig work, does it ? It does not. (No config CONFIG_SPL_SPI_*, nor config CONFIG_SF_DEFAULT_* in any Kconfig files) Otherwise, I see this as OK, Reviewed-by: Marek Vasut ma...@denx.de Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 12/18] arm: mx6: add support for Compulab cm-fx6 CoM
On 08/08/14 10:19, Tim Harvey wrote: On Wed, Aug 6, 2014 at 10:29 AM, Nikita Kiryanov nik...@compulab.co.il wrote: On 04/08/14 16:36, Nikita Kiryanov wrote: On 04/08/14 07:45, Tim Harvey wrote: On Sun, Aug 3, 2014 at 12:34 AM, Nikita Kiryanov nik...@compulab.co.il wrote: Add initial support for Compulab CM-FX6 CoM. Support includes MMC, SPI flash, and SPL with dynamic DRAM detection. snip + +static void spl_mx6s_dram_init(enum ddr_config dram_config, int reset) +{ + struct mx6_mmdc_calibration calib; + struct mx6_ddr_sysinfo sysinfo; + struct mx6_ddr3_cfg ddr3_cfg; + + if (reset) + ((struct mmdc_p_regs *)MX6_MMDC_P0_MDCTL)-mdmisc = 2; + + calib.p0_mpwldectrl0= 0x005B0061; + calib.p0_mpwldectrl1= 0x004F0055; + calib.p0_mpdgctrl0 = 0x0314030C; + calib.p0_mpdgctrl1 = 0x025C0268; + calib.p0_mprddlctl = 0x42464646; + calib.p0_mpwrdlctl = 0x36322C34; + ddr3_cfg.mem_speed = 800; + ddr3_cfg.density= 4; + ddr3_cfg.rowaddr= 14; + ddr3_cfg.coladdr= 10; + ddr3_cfg.pagesz = 2; + ddr3_cfg.trcd = 1800; + ddr3_cfg.trcmin = 5200; + ddr3_cfg.trasmin= 3600; + ddr3_cfg.SRT= 0; + sysinfo.cs1_mirror = 1; + sysinfo.cs_density = 16; + sysinfo.bi_on = 1; + sysinfo.rtt_nom = 1; + sysinfo.rtt_wr = 0; + sysinfo.ralat = 5; + sysinfo.walat = 1; + sysinfo.mif3_mode = 3; + sysinfo.rst_to_cke = 0x23; + sysinfo.sde_to_rst = 0x10; + switch (dram_config) { + case DDR_16BIT_256MB: + sysinfo.dsize = 0; + sysinfo.ncs = 1; + break; + case DDR_32BIT_512MB: + sysinfo.dsize = 1; + sysinfo.ncs = 1; + break; + case DDR_32BIT_1GB: + sysinfo.dsize = 1; + sysinfo.ncs = 2; + break; + default: + puts(Tried to setup invalid DDR configuration\n); + hang(); + } + + mx6_dram_cfg(sysinfo, calib, ddr3_cfg); + udelay(100); +} Nikita, I'm curious why you add an extra udelay(100) here? There is an mdelay(1) before the return of mx6_dram_cfg() to wait for auto-ZQ calibration to complete (I never found a way to determine when it was complete via registers). Yes you're right. This udelay can probably be removed (unless I catch the board misbehaving during multiple resets). Caught the DRAM config failing during multiple resets when udelay(100) is removed, so I guess they stay.. Nikita, What exactly was failing? Was the subsequent to get_ram_size() failing? Yes. If the extra delay is really needed we should add it to the mx6_dram_cfg() function. The issue I ran into before I added the mdelay(1) there to wait for auto-ZQ calib to complete was that SDRAM operations immediately following the call to mx6_dram_cfg() would be un-reliable, specifically a memset to 0 would fail to clear memory where GD was which caused some interesting failures down the line. In my case the failures appeared after the board had been operational long enough for the soc to heat up. I'm curious to hear what kind of temperatures you tested your board under. If a warm temperature that is within reasonable limits can cause failures on your board as well, that would be a clear indication that the 1 msec delay is a borderline value and needs to be increased. Maybe I'll open up an issue with Freescale and ask them if there is a way to know when auto-ZQ calibration is complete because it isn't clear to me how to do that. The 1ms delay was because the 0 value we set to MPZQHWCTRL ZQ_HW_PER configures it for a 1ms ZQ calibration cycle maybe we simply need a little more headroom. Maybe. If a Freescale representative can provide an analytical reason like the one you're proposing, that would be great. The question is what to do if a good explanation is not given. We can simply increase the mdelay tentatively in mx6_dram_cfg(), or we can keep the udelay() for cm_fx6 and wait to see if someone else complains. I'm fine with both options. Tim ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [GIT] Pull request: u-boot-dfu
On Wed, 06 Aug 2014 09:54:23 -0600 Stephen Warren swar...@wwwdotorg.org wrote: On 07/23/2014 12:15 PM, Marek Vasut wrote: On Wednesday, July 16, 2014 at 09:18:56 AM, Lukasz Majewski wrote: Dear Marek, The following changes since commit 5ba95541b700d2edecb4d97d4b905f51ed8551b3: usb: phy: omap_usb_phy: implement usb_phy_power() for AM437x (2014-07-09 22:11:51 +0200) are available in the git repository at: ssh://gu-...@git.denx.de/u-boot-dfu/master for you to fetch changes up to 24b109300c6e6a35792bc804846d7753baba7a69: dfu: fix readback buffer overflow test (2014-07-16 08:47:01 +0200) Fixed up one merge conflict and applied, thanks! These changes don't seem to have made it into u-boot/master yet. I assume they will for the v2014.10 release? Those patches are now in the u-boot-usb Marek's tree. I hoped that Marek would send PR to Tom and those changes had been merged in the ongoing merge window. Marek do you plan to send PR to Tom in a near future? ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot signature.asc Description: PGP signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/3] config: introduce a generic $bootcmd
Hello Stephan, On 10-08-14 05:11, Stephen Warren wrote: The entire point of this series is to prevent distros from having to install bootloader-specific boot configuration files. I fail to see why this is something to pursue. Since the distro knows the boot path, why should u-boot be polling all possible options? As such, relying exclusively on boot.scr wouldn't be useful. Seems like a logical thing to me, as long as the scripts itself does not have to bother about board details, but is handed those info. If we need to support other OSs, I think it'd be best to extend extlinux.conf to allow it to support booting OSs besides Linux. It is not an OS issue. FWIW, if extlinux.conf isn't found on the media, this patch does fall back to searching for boot.scr (a uImage of a U-Boot script) so it's certainly possible to make custom things happen if you want. Yes, and the order is wrong in my mind. If anything, it should fallback to extlinux, but at least use a general boot.scr first. (or /boot/u-boot.conf or whatever) Regards, Jeroen ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH] mx6: Fix ECSPI typo in soc_boot_modes
From: Nikolay Dimitrov picmas...@mail.bg Signed-off-by: Nikolay Dimitrov picmas...@mail.bg Cc: Stefano Babic sba...@denx.de --- arch/arm/cpu/armv7/mx6/soc.c |8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm/cpu/armv7/mx6/soc.c b/arch/arm/cpu/armv7/mx6/soc.c index f2dee76..99b7c86 100644 --- a/arch/arm/cpu/armv7/mx6/soc.c +++ b/arch/arm/cpu/armv7/mx6/soc.c @@ -318,10 +318,10 @@ const struct boot_mode soc_boot_modes[] = { /* reserved value should start rom usb */ {usb, MAKE_CFGVAL(0x01, 0x00, 0x00, 0x00)}, {sata,MAKE_CFGVAL(0x20, 0x00, 0x00, 0x00)}, - {escpi1:0,MAKE_CFGVAL(0x30, 0x00, 0x00, 0x08)}, - {escpi1:1,MAKE_CFGVAL(0x30, 0x00, 0x00, 0x18)}, - {escpi1:2,MAKE_CFGVAL(0x30, 0x00, 0x00, 0x28)}, - {escpi1:3,MAKE_CFGVAL(0x30, 0x00, 0x00, 0x38)}, + {ecspi1:0,MAKE_CFGVAL(0x30, 0x00, 0x00, 0x08)}, + {ecspi1:1,MAKE_CFGVAL(0x30, 0x00, 0x00, 0x18)}, + {ecspi1:2,MAKE_CFGVAL(0x30, 0x00, 0x00, 0x28)}, + {ecspi1:3,MAKE_CFGVAL(0x30, 0x00, 0x00, 0x38)}, /* 4 bit bus width */ {esdhc1, MAKE_CFGVAL(0x40, 0x20, 0x00, 0x00)}, {esdhc2, MAKE_CFGVAL(0x40, 0x28, 0x00, 0x00)}, -- 1.7.10.4 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH V2 16/18] arm: mx6: cm_fx6: add i2c support
Add support for all 3 I2C busses on Compulab CM-FX6 CoM. Cc: Igor Grinberg grinb...@compulab.co.il Cc: Stefano Babic sba...@denx.de Cc: Tom Rini tr...@ti.com Signed-off-by: Nikita Kiryanov nik...@compulab.co.il --- Changes in V2: - No changes board/compulab/cm_fx6/cm_fx6.c | 42 ++ include/configs/cm_fx6.h | 11 +++ 2 files changed, 53 insertions(+) diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c index 28c54b4..1b967e5 100644 --- a/board/compulab/cm_fx6/cm_fx6.c +++ b/board/compulab/cm_fx6/cm_fx6.c @@ -15,12 +15,53 @@ #include asm/arch/crm_regs.h #include asm/arch/sys_proto.h #include asm/arch/iomux.h +#include asm/imx-common/mxc_i2c.h #include asm/io.h #include asm/gpio.h #include common.h DECLARE_GLOBAL_DATA_PTR; +#ifdef CONFIG_SYS_I2C_MXC +#define I2C_PAD_CTRL (PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \ + PAD_CTL_DSE_40ohm | PAD_CTL_HYS | \ + PAD_CTL_ODE | PAD_CTL_SRE_FAST) + +I2C_PADS(i2c0_pads, +PAD_EIM_D21__I2C1_SCL | MUX_PAD_CTRL(I2C_PAD_CTRL), +PAD_EIM_D21__GPIO3_IO21 | MUX_PAD_CTRL(I2C_PAD_CTRL), +IMX_GPIO_NR(3, 21), +PAD_EIM_D28__I2C1_SDA | MUX_PAD_CTRL(I2C_PAD_CTRL), +PAD_EIM_D28__GPIO3_IO28 | MUX_PAD_CTRL(I2C_PAD_CTRL), +IMX_GPIO_NR(3, 28)); + +I2C_PADS(i2c1_pads, +PAD_KEY_COL3__I2C2_SCL | MUX_PAD_CTRL(I2C_PAD_CTRL), +PAD_KEY_COL3__GPIO4_IO12 | MUX_PAD_CTRL(I2C_PAD_CTRL), +IMX_GPIO_NR(4, 12), +PAD_KEY_ROW3__I2C2_SDA | MUX_PAD_CTRL(I2C_PAD_CTRL), +PAD_KEY_ROW3__GPIO4_IO13 | MUX_PAD_CTRL(I2C_PAD_CTRL), +IMX_GPIO_NR(4, 13)); + +I2C_PADS(i2c2_pads, +PAD_GPIO_3__I2C3_SCL | MUX_PAD_CTRL(I2C_PAD_CTRL), +PAD_GPIO_3__GPIO1_IO03 | MUX_PAD_CTRL(I2C_PAD_CTRL), +IMX_GPIO_NR(1, 3), +PAD_GPIO_6__I2C3_SDA | MUX_PAD_CTRL(I2C_PAD_CTRL), +PAD_GPIO_6__GPIO1_IO06 | MUX_PAD_CTRL(I2C_PAD_CTRL), +IMX_GPIO_NR(1, 6)); + + +static void cm_fx6_setup_i2c(void) +{ + setup_i2c(0, CONFIG_SYS_I2C_SPEED, 0x7f, I2C_PADS_INFO(i2c0_pads)); + setup_i2c(1, CONFIG_SYS_I2C_SPEED, 0x7f, I2C_PADS_INFO(i2c1_pads)); + setup_i2c(2, CONFIG_SYS_I2C_SPEED, 0x7f, I2C_PADS_INFO(i2c2_pads)); +} +#else +static void cm_fx6_setup_i2c(void) { } +#endif + #ifdef CONFIG_USB_EHCI_MX6 #define WEAK_PULLDOWN (PAD_CTL_PUS_100K_DOWN |\ PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | \ @@ -245,6 +286,7 @@ int board_init(void) { gd-bd-bi_boot_params = PHYS_SDRAM_1 + 0x100; cm_fx6_setup_gpmi_nand(); + cm_fx6_setup_i2c(); return 0; } diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h index f463cd1..0aa88fd 100644 --- a/include/configs/cm_fx6.h +++ b/include/configs/cm_fx6.h @@ -213,6 +213,17 @@ #define CONFIG_USB_MAX_CONTROLLER_COUNT2 #define CONFIG_EHCI_HCD_INIT_AFTER_RESET /* For OTG port */ +/* I2C */ +#define CONFIG_CMD_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_MXC +#define CONFIG_SYS_I2C_SPEED 10 +#define CONFIG_SYS_MXC_I2C3_SPEED 40 + +#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 +#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 +#define CONFIG_SYS_I2C_EEPROM_BUS 2 + /* GPIO */ #define CONFIG_MXC_GPIO -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH V2 15/18] arm: mx6: cm_fx6: add usb support
Add USB and USB OTG host support for Compulab CM-FX6 CoM. Cc: Igor Grinberg grinb...@compulab.co.il Cc: Stefano Babic sba...@denx.de Cc: Tom Rini tr...@ti.com Signed-off-by: Nikita Kiryanov nik...@compulab.co.il --- Changes in V2: - No changes board/compulab/cm_fx6/cm_fx6.c | 75 ++ board/compulab/cm_fx6/common.h | 3 ++ include/configs/cm_fx6.h | 10 ++ 3 files changed, 88 insertions(+) diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c index e993de2..28c54b4 100644 --- a/board/compulab/cm_fx6/cm_fx6.c +++ b/board/compulab/cm_fx6/cm_fx6.c @@ -14,12 +14,87 @@ #include fdt_support.h #include asm/arch/crm_regs.h #include asm/arch/sys_proto.h +#include asm/arch/iomux.h #include asm/io.h #include asm/gpio.h #include common.h DECLARE_GLOBAL_DATA_PTR; +#ifdef CONFIG_USB_EHCI_MX6 +#define WEAK_PULLDOWN (PAD_CTL_PUS_100K_DOWN |\ + PAD_CTL_SPEED_MED | PAD_CTL_DSE_40ohm | \ + PAD_CTL_HYS | PAD_CTL_SRE_SLOW) + +static int cm_fx6_usb_hub_reset(void) +{ + int err; + + err = gpio_request(CM_FX6_USB_HUB_RST, usb hub rst); + if (err) { + printf(USB hub rst gpio request failed: %d\n, err); + return -1; + } + + SETUP_IOMUX_PAD(PAD_SD3_RST__GPIO7_IO08 | MUX_PAD_CTRL(NO_PAD_CTRL)); + gpio_direction_output(CM_FX6_USB_HUB_RST, 0); + udelay(10); + gpio_direction_output(CM_FX6_USB_HUB_RST, 1); + mdelay(1); + + return 0; +} + +static void cm_fx6_init_usb_otg(void) +{ + int ret; + struct iomuxc *iomux = (struct iomuxc *)IOMUXC_BASE_ADDR; + + ret = gpio_request(SB_FX6_USB_OTG_PWR, usb-pwr); + if (ret) + printf(USB OTG pwr gpio request failed: %d\n, ret); + + SETUP_IOMUX_PAD(PAD_EIM_D22__GPIO3_IO22 | MUX_PAD_CTRL(NO_PAD_CTRL)); + SETUP_IOMUX_PAD(PAD_ENET_RX_ER__USB_OTG_ID | + MUX_PAD_CTRL(WEAK_PULLDOWN)); + clrbits_le32(iomux-gpr[1], IOMUXC_GPR1_OTG_ID_MASK); + /* disable ext. charger detect, or it'll affect signal quality at dp. */ + gpio_direction_output(SB_FX6_USB_OTG_PWR, 0); +} + +#define MX6_USBNC_BASEADDR 0x2184800 +#define USBNC_USB_H1_PWR_POL (1 9) +int board_ehci_hcd_init(int port) +{ + u32 *usbnc_usb_uh1_ctrl = (u32 *)(MX6_USBNC_BASEADDR + 4); + u32 val; + + switch (port) { + case 0: + cm_fx6_init_usb_otg(); + break; + case 1: + SETUP_IOMUX_PAD(PAD_GPIO_0__USB_H1_PWR | + MUX_PAD_CTRL(NO_PAD_CTRL)); + + /* Set PWR polarity to match power switch's enable polarity */ + val = __raw_readl(usbnc_usb_uh1_ctrl); + val |= USBNC_USB_H1_PWR_POL; + __raw_writel(val, usbnc_usb_uh1_ctrl); + return cm_fx6_usb_hub_reset(); + default: + break; + } + + return 0; +} + +int board_ehci_power(int port, int on) +{ + return port ? 0 : gpio_direction_output(SB_FX6_USB_OTG_PWR, on); +} +#endif + #ifdef CONFIG_FEC_MXC #define ENET_PAD_CTRL (PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \ PAD_CTL_DSE_40ohm | PAD_CTL_HYS) diff --git a/board/compulab/cm_fx6/common.h b/board/compulab/cm_fx6/common.h index 94ff39e..bd04d62 100644 --- a/board/compulab/cm_fx6/common.h +++ b/board/compulab/cm_fx6/common.h @@ -16,6 +16,9 @@ #define CM_FX6_ECSPI_BUS0_CS0 IMX_GPIO_NR(2, 30) #define CM_FX6_GREEN_LED IMX_GPIO_NR(2, 31) #define CM_FX6_ENET_NRST IMX_GPIO_NR(2, 8) +#define CM_FX6_ENET_NRST IMX_GPIO_NR(2, 8) +#define CM_FX6_USB_HUB_RST IMX_GPIO_NR(7, 8) +#define SB_FX6_USB_OTG_PWR IMX_GPIO_NR(3, 22) #if defined(CONFIG_FSL_ESDHC) #include fsl_esdhc.h diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h index dbe8a19..f463cd1 100644 --- a/include/configs/cm_fx6.h +++ b/include/configs/cm_fx6.h @@ -203,6 +203,16 @@ #define CONFIG_NETMASK 255.255.255.0 #define CONFIG_NET_RETRY_COUNT 5 +/* USB */ +#define CONFIG_CMD_USB +#define CONFIG_USB_EHCI +#define CONFIG_USB_EHCI_MX6 +#define CONFIG_USB_STORAGE +#define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW) +#define CONFIG_MXC_USB_FLAGS 0 +#define CONFIG_USB_MAX_CONTROLLER_COUNT2 +#define CONFIG_EHCI_HCD_INIT_AFTER_RESET /* For OTG port */ + /* GPIO */ #define CONFIG_MXC_GPIO -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH V2 17/18] arm: mx6: cm_fx6: use eeprom
Use Compulab eeprom module to obtain revision number, serial number, and mac address from the EEPROM. Cc: Igor Grinberg grinb...@compulab.co.il Cc: Stefano Babic sba...@denx.de Cc: Tom Rini tr...@ti.com Signed-off-by: Nikita Kiryanov nik...@compulab.co.il --- Changes in V2: - No changes board/compulab/cm_fx6/cm_fx6.c | 26 +- include/configs/cm_fx6.h | 2 ++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c index 1b967e5..76d7430 100644 --- a/board/compulab/cm_fx6/cm_fx6.c +++ b/board/compulab/cm_fx6/cm_fx6.c @@ -19,6 +19,7 @@ #include asm/io.h #include asm/gpio.h #include common.h +#include ../common/eeprom.h DECLARE_GLOBAL_DATA_PTR; @@ -207,8 +208,31 @@ static iomux_v3_cfg_t const enet_pads[] = { MUX_PAD_CTRL(ENET_PAD_CTRL)), }; +static int handle_mac_address(void) +{ + unsigned char enetaddr[6]; + int rc; + + rc = eth_getenv_enetaddr(ethaddr, enetaddr); + if (rc) + return 0; + + rc = cl_eeprom_read_mac_addr(enetaddr); + if (rc) + return rc; + + if (!is_valid_ether_addr(enetaddr)) + return -1; + + return eth_setenv_enetaddr(ethaddr, enetaddr); +} + int board_eth_init(bd_t *bis) { + int res = handle_mac_address(); + if (res) + puts(No MAC address found\n); + SETUP_IOMUX_PADS(enet_pads); /* phy reset */ gpio_direction_output(CM_FX6_ENET_NRST, 0); @@ -348,5 +372,5 @@ int dram_init(void) u32 get_board_rev(void) { - return 100; + return cl_eeprom_get_board_rev(); } diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h index 0aa88fd..adfd55e 100644 --- a/include/configs/cm_fx6.h +++ b/include/configs/cm_fx6.h @@ -236,6 +236,8 @@ #define CONFIG_SYS_BOOTMAPSZ (8 20) #define CONFIG_SETUP_MEMORY_TAGS #define CONFIG_INITRD_TAG +#define CONFIG_REVISION_TAG +#define CONFIG_SERIAL_TAG /* misc */ #define CONFIG_SYS_GENERIC_BOARD -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH V2 10/18] arm: mx6: ddr: configure MMDC for slow_pd
According to MX6 TRM, both MMDC and DRAM should be configured to the same powerdown precharge. Currently, mx6_dram_cfg() configures MMDC for fast pd (MDPDC[7] = 0), and the DRAM for 'slow exit (DLL off)' (MR0[12] = 0). Configure MMDC for slow pd. Cc: Stefano Babic sba...@denx.de Cc: Tim Harvey thar...@gateworks.com Signed-off-by: Nikita Kiryanov nik...@compulab.co.il --- Changes in V2: - Updated commit message to explain what bits in what registers correspond to what settings. arch/arm/cpu/armv7/mx6/ddr.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/cpu/armv7/mx6/ddr.c b/arch/arm/cpu/armv7/mx6/ddr.c index 70ce38f..c0fb749 100644 --- a/arch/arm/cpu/armv7/mx6/ddr.c +++ b/arch/arm/cpu/armv7/mx6/ddr.c @@ -463,6 +463,7 @@ void mx6_dram_cfg(const struct mx6_ddr_sysinfo *sysinfo, mmdc0-mdpdc = (tcke 0x7) 16 | 5 12 | /* PWDT_1: 256 cycles */ 5 8 | /* PWDT_0: 256 cycles */ + 1 7 | /* SLOW_PD */ 1 6 | /* BOTH_CS_PD */ (tcksrx 0x7) 3 | (tcksre 0x7); -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH V2 18/18] arm: mx6: cm_fx6: add sata support
Add support for SATA. Cc: Igor Grinberg grinb...@compulab.co.il Cc: Stefano Babic sba...@denx.de Cc: Tom Rini tr...@ti.com Signed-off-by: Nikita Kiryanov nik...@compulab.co.il --- Changes in V2: - No changes board/compulab/cm_fx6/cm_fx6.c | 90 ++ board/compulab/cm_fx6/common.h | 13 ++ include/configs/cm_fx6.h | 36 - 3 files changed, 138 insertions(+), 1 deletion(-) diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c index 76d7430..8a48f9d 100644 --- a/board/compulab/cm_fx6/cm_fx6.c +++ b/board/compulab/cm_fx6/cm_fx6.c @@ -12,10 +12,12 @@ #include miiphy.h #include netdev.h #include fdt_support.h +#include sata.h #include asm/arch/crm_regs.h #include asm/arch/sys_proto.h #include asm/arch/iomux.h #include asm/imx-common/mxc_i2c.h +#include asm/imx-common/sata.h #include asm/io.h #include asm/gpio.h #include common.h @@ -23,6 +25,94 @@ DECLARE_GLOBAL_DATA_PTR; +#ifdef CONFIG_DWC_AHSATA +static int cm_fx6_issd_gpios[] = { + /* The order of the GPIOs in the array is important! */ + CM_FX6_SATA_PHY_SLP, + CM_FX6_SATA_NRSTDLY, + CM_FX6_SATA_PWREN, + CM_FX6_SATA_NSTANDBY1, + CM_FX6_SATA_NSTANDBY2, + CM_FX6_SATA_LDO_EN, +}; + +static void cm_fx6_sata_power(int on) +{ + int i; + + if (!on) { /* tell the iSSD that the power will be removed */ + gpio_direction_output(CM_FX6_SATA_PWLOSS_INT, 1); + mdelay(10); + } + + for (i = 0; i ARRAY_SIZE(cm_fx6_issd_gpios); i++) { + gpio_direction_output(cm_fx6_issd_gpios[i], on); + udelay(100); + } + + if (!on) /* for compatibility lower the power loss interrupt */ + gpio_direction_output(CM_FX6_SATA_PWLOSS_INT, 0); +} + +static iomux_v3_cfg_t const sata_pads[] = { + /* SATA PWR */ + IOMUX_PADS(PAD_ENET_TX_EN__GPIO1_IO28 | MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_EIM_A22__GPIO2_IO16| MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_EIM_D20__GPIO3_IO20| MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_EIM_A25__GPIO5_IO02| MUX_PAD_CTRL(NO_PAD_CTRL)), + /* SATA CTRL */ + IOMUX_PADS(PAD_ENET_TXD0__GPIO1_IO30 | MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_EIM_D23__GPIO3_IO23| MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_EIM_D29__GPIO3_IO29| MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_EIM_A23__GPIO6_IO06| MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_EIM_BCLK__GPIO6_IO31 | MUX_PAD_CTRL(NO_PAD_CTRL)), + +}; + +static void cm_fx6_setup_issd(void) +{ + SETUP_IOMUX_PADS(sata_pads); + /* Make sure this gpio has logical 0 value */ + gpio_direction_output(CM_FX6_SATA_PWLOSS_INT, 0); + udelay(100); + + cm_fx6_sata_power(0); + mdelay(250); + cm_fx6_sata_power(1); +} + +#define CM_FX6_SATA_INIT_RETRIES 10 +int sata_initialize(void) +{ + int err, i; + + cm_fx6_setup_issd(); + for (i = 0; i CM_FX6_SATA_INIT_RETRIES; i++) { + err = setup_sata(); + if (err) { + printf(SATA setup failed: %d\n, err); + return err; + } + + udelay(100); + + err = __sata_initialize(); + if (!err) + break; + + /* There is no device on the SATA port */ + if (sata_port_status(0, 0) == 0) + break; + + /* There's a device, but link not established. Retry */ + } + + return err; +} +#else +static void cm_fx6_setup_issd(void) {} +#endif + #ifdef CONFIG_SYS_I2C_MXC #define I2C_PAD_CTRL (PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \ PAD_CTL_DSE_40ohm | PAD_CTL_HYS | \ diff --git a/board/compulab/cm_fx6/common.h b/board/compulab/cm_fx6/common.h index bd04d62..ddccffb 100644 --- a/board/compulab/cm_fx6/common.h +++ b/board/compulab/cm_fx6/common.h @@ -19,6 +19,19 @@ #define CM_FX6_ENET_NRST IMX_GPIO_NR(2, 8) #define CM_FX6_USB_HUB_RST IMX_GPIO_NR(7, 8) #define SB_FX6_USB_OTG_PWR IMX_GPIO_NR(3, 22) +#define CM_FX6_ENET_NRST IMX_GPIO_NR(2, 8) +#define CM_FX6_USB_HUB_RST IMX_GPIO_NR(7, 8) +#define SB_FX6_USB_OTG_PWR IMX_GPIO_NR(3, 22) +#define CM_FX6_SATA_PWREN IMX_GPIO_NR(1, 28) +#define CM_FX6_SATA_VDDC_CTRL IMX_GPIO_NR(1, 30) +#define CM_FX6_SATA_LDO_EN IMX_GPIO_NR(2, 16) +#define CM_FX6_SATA_NSTANDBY1 IMX_GPIO_NR(3, 20) +#define CM_FX6_SATA_PHY_SLPIMX_GPIO_NR(3, 23) +#define CM_FX6_SATA_STBY_REQ IMX_GPIO_NR(3, 29) +#define CM_FX6_SATA_NSTANDBY2 IMX_GPIO_NR(5, 2) +#define CM_FX6_SATA_NRSTDLYIMX_GPIO_NR(6, 6) +#define CM_FX6_SATA_PWLOSS_INT IMX_GPIO_NR(6, 31) + #if defined(CONFIG_FSL_ESDHC) #include fsl_esdhc.h diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h index adfd55e..88925cd 100644 ---
[U-Boot] [PATCH V2 00/18] Introduce cm-fx6 board (partial V2 cont.)
This partial V2 completes the previous partial V2. It contains some final preparational steps, and the introduction of cm-fx6 board. Changes in V2: - Update commit message of arm: mx6: ddr: configure MMDC for slow_pd - Remove unnecessary line removal from arch/arm/cpu/armv7/mx6/ddr.c - Move probe_mmdc_config() code straight to dram_init() - Use imx6_spl.h - Use imx_ddr_size() NOTE: the correction of this patch now depends on https://patchwork.ozlabs.org/patch/376095/ Cc: Igor Grinberg grinb...@compulab.co.il Cc: Stefano Babic sba...@denx.de Cc: Tom Rini tr...@ti.com Cc: Marek Vasut ma...@denx.de Cc: Tim Harvey thar...@gateworks.com Nikita Kiryanov (9): arm: mx6: ddr: configure MMDC for slow_pd arm: mx6: ddr: fix cs0_end calculation arm: mx6: add support for Compulab cm-fx6 CoM arm: mx6: cm_fx6: add nand support arm: mx6: cm_fx6: add ethernet support arm: mx6: cm_fx6: add usb support arm: mx6: cm_fx6: add i2c support arm: mx6: cm_fx6: use eeprom arm: mx6: cm_fx6: add sata support arch/arm/cpu/armv7/mx6/ddr.c | 5 +- board/compulab/cm_fx6/Makefile | 12 + board/compulab/cm_fx6/cm_fx6.c | 466 + board/compulab/cm_fx6/common.c | 83 +++ board/compulab/cm_fx6/common.h | 53 + board/compulab/cm_fx6/imximage.cfg | 8 + board/compulab/cm_fx6/spl.c| 409 boards.cfg | 2 + include/configs/cm_fx6.h | 295 +++ 9 files changed, 1330 insertions(+), 3 deletions(-) create mode 100644 board/compulab/cm_fx6/Makefile create mode 100644 board/compulab/cm_fx6/cm_fx6.c create mode 100644 board/compulab/cm_fx6/common.c create mode 100644 board/compulab/cm_fx6/common.h create mode 100644 board/compulab/cm_fx6/imximage.cfg create mode 100644 board/compulab/cm_fx6/spl.c create mode 100644 include/configs/cm_fx6.h -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH V2 12/18] arm: mx6: add support for Compulab cm-fx6 CoM
Add initial support for Compulab CM-FX6 CoM. Support includes MMC, SPI flash, and SPL with dynamic DRAM detection. Cc: Igor Grinberg grinb...@compulab.co.il Cc: Stefano Babic sba...@denx.de Cc: Tom Rini tr...@ti.com Cc: Marek Vasut ma...@denx.de Signed-off-by: Nikita Kiryanov nik...@compulab.co.il --- Changes in V2: - Remove unnecessary line removal from arch/arm/cpu/armv7/mx6/ddr.c - Move probe_mmdc_config() code straight to dram_init() - Use imx6_spl.h - Use imx_ddr_size() NOTE: the correction of this patch now depends on https://patchwork.ozlabs.org/patch/376095/ board/compulab/cm_fx6/Makefile | 12 ++ board/compulab/cm_fx6/cm_fx6.c | 98 + board/compulab/cm_fx6/common.c | 83 board/compulab/cm_fx6/common.h | 36 board/compulab/cm_fx6/imximage.cfg | 8 + board/compulab/cm_fx6/spl.c| 400 + boards.cfg | 2 + include/configs/cm_fx6.h | 212 8 files changed, 851 insertions(+) create mode 100644 board/compulab/cm_fx6/Makefile create mode 100644 board/compulab/cm_fx6/cm_fx6.c create mode 100644 board/compulab/cm_fx6/common.c create mode 100644 board/compulab/cm_fx6/common.h create mode 100644 board/compulab/cm_fx6/imximage.cfg create mode 100644 board/compulab/cm_fx6/spl.c create mode 100644 include/configs/cm_fx6.h diff --git a/board/compulab/cm_fx6/Makefile b/board/compulab/cm_fx6/Makefile new file mode 100644 index 000..3e5c903 --- /dev/null +++ b/board/compulab/cm_fx6/Makefile @@ -0,0 +1,12 @@ +# +# (C) Copyright 2014 CompuLab, Ltd. www.compulab.co.il +# +# Authors: Nikita Kiryanov nik...@compulab.co.il +# +# SPDX-License-Identifier: GPL-2.0+ +# +ifdef CONFIG_SPL_BUILD +obj-y = common.o spl.o +else +obj-y = common.o cm_fx6.o +endif diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c new file mode 100644 index 000..47d17bb --- /dev/null +++ b/board/compulab/cm_fx6/cm_fx6.c @@ -0,0 +1,98 @@ +/* + * Board functions for Compulab CM-FX6 board + * + * Copyright (C) 2014, Compulab Ltd - http://compulab.co.il/ + * + * Author: Nikita Kiryanov nik...@compulab.co.il + * + * SPDX-License-Identifier:GPL-2.0+ + */ + +#include common.h +#include asm/arch/sys_proto.h +#include common.h + +DECLARE_GLOBAL_DATA_PTR; + +#ifdef CONFIG_FSL_ESDHC +int board_mmc_init(bd_t *bis) +{ + int i; + + cm_fx6_set_usdhc_iomux(); + for (i = 0; i CONFIG_SYS_FSL_USDHC_NUM; i++) { + usdhc_cfg[i].sdhc_clk = mxc_get_clock(usdhc_clk[i]); + usdhc_cfg[i].max_bus_width = 4; + fsl_esdhc_initialize(bis, usdhc_cfg[i]); + enable_usdhc_clk(1, i); + } + + return 0; +} +#endif + +int board_init(void) +{ + gd-bd-bi_boot_params = PHYS_SDRAM_1 + 0x100; + return 0; +} + +int checkboard(void) +{ + puts(Board: CM-FX6\n); + return 0; +} + +static ulong bank1_size; +static ulong bank2_size; + +void dram_init_banksize(void) +{ + gd-bd-bi_dram[0].start = PHYS_SDRAM_1; + gd-bd-bi_dram[0].size = bank1_size; + gd-bd-bi_dram[1].start = PHYS_SDRAM_2; + gd-bd-bi_dram[1].size = bank2_size; +} + +int dram_init(void) +{ + gd-ram_size = imx_ddr_size(); + switch (gd-ram_size) { + case 0x1000: /* DDR_16BIT_256MB */ + bank1_size = 0x1000; + bank2_size = 0; + break; + case 0x2000: /* DDR_32BIT_512MB */ + bank1_size = 0x2000; + bank2_size = 0; + break; + case 0x4000: + if (is_cpu_type(MXC_CPU_MX6SOLO)) { /* DDR_32BIT_1GB */ + bank1_size = 0x2000; + bank2_size = 0x2000; + } else { /* DDR_64BIT_1GB */ + bank1_size = 0x4000; + bank2_size = 0; + } + break; + case 0x8000: /* DDR_64BIT_2GB */ + bank1_size = 0x4000; + bank2_size = 0x4000; + break; + case 0xF000: /* DDR_64BIT_4GB */ + bank1_size = 0x7000; + bank2_size = 0x7FF0; + gd-ram_size -= 0x10; + break; + default: + printf(ERROR: Unsupported DRAM size 0x%lx\n, gd-ram_size); + return -1; + } + + return 0; +} + +u32 get_board_rev(void) +{ + return 100; +} diff --git a/board/compulab/cm_fx6/common.c b/board/compulab/cm_fx6/common.c new file mode 100644 index 000..a2d9ca4 --- /dev/null +++ b/board/compulab/cm_fx6/common.c @@ -0,0 +1,83 @@ +/* + * Code used by both U-Boot and SPL for Compulab CM-FX6 + * + * Copyright (C) 2014, Compulab Ltd - http://compulab.co.il/ + * + * Author: Nikita Kiryanov nik...@compulab.co.il + * + * SPDX-License-Identifier:GPL-2.0+ + */ + +#include common.h
[U-Boot] [PATCH V2 11/18] arm: mx6: ddr: fix cs0_end calculation
Current way of calculation CS0_END field for MMDCx_MDASP register is problematic because in most cases the user is forced to define cs_density in an unnatural way: as value - 2, instead of value. This breaks the abstraction provided by struct mx6_ddr_sysinfo because the user is forced to be aware of the way the calculation is performed. Refactor the calculation. Cc: Stefano Babic sba...@denx.de Cc: Tim Harvey thar...@gateworks.com Signed-off-by: Nikita Kiryanov nik...@compulab.co.il --- Changes in V2: - No changes arch/arm/cpu/armv7/mx6/ddr.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/arch/arm/cpu/armv7/mx6/ddr.c b/arch/arm/cpu/armv7/mx6/ddr.c index c0fb749..d3891dc 100644 --- a/arch/arm/cpu/armv7/mx6/ddr.c +++ b/arch/arm/cpu/armv7/mx6/ddr.c @@ -308,9 +308,7 @@ void mx6_dram_cfg(const struct mx6_ddr_sysinfo *sysinfo, twtr = ROUND(MAX(4 * clkper, 7500) / clkper, 1) - 1; trcd = trp; trtp = twtr; - cs0_end = (4 * sysinfo-cs_density = 120) ? - 4 * sysinfo-cs_density + 7 : - 127; + cs0_end = 4 * sysinfo-cs_density - 1; debug(density:%d Gb (%d Gb per chip)\n, sysinfo-cs_density, ddr3_cfg-density); -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH V2 13/18] arm: mx6: cm_fx6: add nand support
Add NAND support for Compulab CM-FX6 CoM. Cc: Igor Grinberg grinb...@compulab.co.il Cc: Stefano Babic sba...@denx.de Cc: Tom Rini tr...@ti.com Signed-off-by: Nikita Kiryanov nik...@compulab.co.il --- Changes in V2: - No changes board/compulab/cm_fx6/cm_fx6.c | 37 + board/compulab/cm_fx6/spl.c| 9 + include/configs/cm_fx6.h | 14 ++ 3 files changed, 60 insertions(+) diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c index 47d17bb..ac7940b 100644 --- a/board/compulab/cm_fx6/cm_fx6.c +++ b/board/compulab/cm_fx6/cm_fx6.c @@ -9,11 +9,46 @@ */ #include common.h +#include asm/arch/crm_regs.h #include asm/arch/sys_proto.h +#include asm/io.h #include common.h DECLARE_GLOBAL_DATA_PTR; +#ifdef CONFIG_NAND_MXS +static iomux_v3_cfg_t const nand_pads[] = { + IOMUX_PADS(PAD_NANDF_CLE__NAND_CLE | MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_NANDF_ALE__NAND_ALE | MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_NANDF_CS0__NAND_CE0_B | MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_NANDF_RB0__NAND_READY_B | MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_NANDF_D0__NAND_DATA00 | MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_NANDF_D1__NAND_DATA01 | MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_NANDF_D2__NAND_DATA02 | MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_NANDF_D3__NAND_DATA03 | MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_NANDF_D4__NAND_DATA04 | MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_NANDF_D5__NAND_DATA05 | MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_NANDF_D6__NAND_DATA06 | MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_NANDF_D7__NAND_DATA07 | MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_SD4_CMD__NAND_RE_B | MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_SD4_CLK__NAND_WE_B | MUX_PAD_CTRL(NO_PAD_CTRL)), +}; + +static void cm_fx6_setup_gpmi_nand(void) +{ + SETUP_IOMUX_PADS(nand_pads); + /* Enable clock roots */ + enable_usdhc_clk(1, 3); + enable_usdhc_clk(1, 4); + + setup_gpmi_io_clk(MXC_CCM_CS2CDR_ENFC_CLK_PODF(0xf) | + MXC_CCM_CS2CDR_ENFC_CLK_PRED(1) | + MXC_CCM_CS2CDR_ENFC_CLK_SEL(0)); +} +#else +static void cm_fx6_setup_gpmi_nand(void) {} +#endif + #ifdef CONFIG_FSL_ESDHC int board_mmc_init(bd_t *bis) { @@ -34,6 +69,8 @@ int board_mmc_init(bd_t *bis) int board_init(void) { gd-bd-bi_boot_params = PHYS_SDRAM_1 + 0x100; + cm_fx6_setup_gpmi_nand(); + return 0; } diff --git a/board/compulab/cm_fx6/spl.c b/board/compulab/cm_fx6/spl.c index 9f9e5f8..5c432b4 100644 --- a/board/compulab/cm_fx6/spl.c +++ b/board/compulab/cm_fx6/spl.c @@ -15,6 +15,7 @@ #include asm/arch/mx6-ddr.h #include asm/arch/clock.h #include asm/arch/sys_proto.h +#include asm/arch/crm_regs.h #include asm/imx-common/iomux-v3.h #include fsl_esdhc.h #include common.h @@ -355,7 +356,15 @@ static void cm_fx6_setup_ecspi(void) { } void board_init_f(ulong dummy) { + struct mxc_ccm_reg *mxc_ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR; + gd = gdata; + /* +* We don't use DMA in SPL, but we do need it in U-Boot. U-Boot +* initializes DMA very early (before all board code), so the only +* opportunity we have to initialize APBHDMA clocks is in SPL. +*/ + setbits_le32(mxc_ccm-CCGR0, MXC_CCM_CCGR0_APBHDMA_MASK); enable_usdhc_clk(1, 2); arch_cpu_init(); timer_init(); diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h index fa88898..345d715 100644 --- a/include/configs/cm_fx6.h +++ b/include/configs/cm_fx6.h @@ -178,6 +178,20 @@ #define CONFIG_SPI_FLASH_SST #define CONFIG_SPI_FLASH_WINBOND +/* NAND */ +#ifndef CONFIG_SPL_BUILD +#define CONFIG_CMD_NAND +#define CONFIG_SYS_NAND_BASE 0x4000 +#define CONFIG_SYS_NAND_MAX_CHIPS 1 +#define CONFIG_SYS_MAX_NAND_DEVICE 1 +#define CONFIG_NAND_MXS +#define CONFIG_SYS_NAND_ONFI_DETECTION +/* APBH DMA is required for NAND support */ +#define CONFIG_APBH_DMA +#define CONFIG_APBH_DMA_BURST +#define CONFIG_APBH_DMA_BURST8 +#endif + /* GPIO */ #define CONFIG_MXC_GPIO -- 1.9.1 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH V2 14/18] arm: mx6: cm_fx6: add ethernet support
Add ethernet support for Compulab CM-FX6 CoM Cc: Igor Grinberg grinb...@compulab.co.il Cc: Stefano Babic sba...@denx.de Cc: Tom Rini tr...@ti.com Signed-off-by: Nikita Kiryanov nik...@compulab.co.il --- Changes in V2: - No changes board/compulab/cm_fx6/cm_fx6.c | 100 + board/compulab/cm_fx6/common.h | 1 + include/configs/cm_fx6.h | 16 ++- 3 files changed, 115 insertions(+), 2 deletions(-) diff --git a/board/compulab/cm_fx6/cm_fx6.c b/board/compulab/cm_fx6/cm_fx6.c index ac7940b..e993de2 100644 --- a/board/compulab/cm_fx6/cm_fx6.c +++ b/board/compulab/cm_fx6/cm_fx6.c @@ -9,13 +9,100 @@ */ #include common.h +#include miiphy.h +#include netdev.h +#include fdt_support.h #include asm/arch/crm_regs.h #include asm/arch/sys_proto.h #include asm/io.h +#include asm/gpio.h #include common.h DECLARE_GLOBAL_DATA_PTR; +#ifdef CONFIG_FEC_MXC +#define ENET_PAD_CTRL (PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \ +PAD_CTL_DSE_40ohm | PAD_CTL_HYS) + +static int mx6_rgmii_rework(struct phy_device *phydev) +{ + unsigned short val; + + /* Ar8031 phy SmartEEE feature cause link status generates glitch, +* which cause ethernet link down/up issue, so disable SmartEEE +*/ + phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x3); + phy_write(phydev, MDIO_DEVAD_NONE, 0xe, 0x805d); + phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x4003); + val = phy_read(phydev, MDIO_DEVAD_NONE, 0xe); + val = ~(0x1 8); + phy_write(phydev, MDIO_DEVAD_NONE, 0xe, val); + + /* To enable AR8031 ouput a 125MHz clk from CLK_25M */ + phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x7); + phy_write(phydev, MDIO_DEVAD_NONE, 0xe, 0x8016); + phy_write(phydev, MDIO_DEVAD_NONE, 0xd, 0x4007); + + val = phy_read(phydev, MDIO_DEVAD_NONE, 0xe); + val = 0xffe3; + val |= 0x18; + phy_write(phydev, MDIO_DEVAD_NONE, 0xe, val); + + /* introduce tx clock delay */ + phy_write(phydev, MDIO_DEVAD_NONE, 0x1d, 0x5); + val = phy_read(phydev, MDIO_DEVAD_NONE, 0x1e); + val |= 0x0100; + phy_write(phydev, MDIO_DEVAD_NONE, 0x1e, val); + + return 0; +} + +int board_phy_config(struct phy_device *phydev) +{ + mx6_rgmii_rework(phydev); + + if (phydev-drv-config) + return phydev-drv-config(phydev); + + return 0; +} + +static iomux_v3_cfg_t const enet_pads[] = { + IOMUX_PADS(PAD_ENET_MDIO__ENET_MDIO | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_ENET_MDC__ENET_MDC | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_TXC__RGMII_TXC | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_TD0__RGMII_TD0 | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_TD1__RGMII_TD1 | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_TD2__RGMII_TD2 | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_TD3__RGMII_TD3 | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_RXC__RGMII_RXC | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_RD0__RGMII_RD0 | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_RD1__RGMII_RD1 | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_RD2__RGMII_RD2 | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_RD3__RGMII_RD3 | MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_GPIO_0__CCM_CLKO1| MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_GPIO_3__CCM_CLKO2| MUX_PAD_CTRL(NO_PAD_CTRL)), + IOMUX_PADS(PAD_SD4_DAT0__GPIO2_IO08 | MUX_PAD_CTRL(0x84)), + IOMUX_PADS(PAD_ENET_REF_CLK__ENET_TX_CLK | + MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_TX_CTL__RGMII_TX_CTL | + MUX_PAD_CTRL(ENET_PAD_CTRL)), + IOMUX_PADS(PAD_RGMII_RX_CTL__RGMII_RX_CTL | + MUX_PAD_CTRL(ENET_PAD_CTRL)), +}; + +int board_eth_init(bd_t *bis) +{ + SETUP_IOMUX_PADS(enet_pads); + /* phy reset */ + gpio_direction_output(CM_FX6_ENET_NRST, 0); + udelay(500); + gpio_set_value(CM_FX6_ENET_NRST, 1); + enable_enet_clk(1); + return cpu_eth_init(bis); +} +#endif + #ifdef CONFIG_NAND_MXS static iomux_v3_cfg_t const nand_pads[] = { IOMUX_PADS(PAD_NANDF_CLE__NAND_CLE | MUX_PAD_CTRL(NO_PAD_CTRL)), @@ -66,6 +153,19 @@ int board_mmc_init(bd_t *bis) } #endif +#ifdef CONFIG_OF_BOARD_SETUP +void ft_board_setup(void *blob, bd_t *bd) +{ + uint8_t enetaddr[6]; + + /* MAC addr */ + if (eth_getenv_enetaddr(ethaddr, enetaddr)) { + fdt_find_and_setprop(blob, /fec, local-mac-address, +enetaddr, 6, 1); + } +} +#endif + int board_init(void) { gd-bd-bi_boot_params = PHYS_SDRAM_1 + 0x100; diff --git a/board/compulab/cm_fx6/common.h b/board/compulab/cm_fx6/common.h
Re: [U-Boot] [PATCH V2 2/9] mx6: add clock enabling functions
On 07/08/14 17:11, Igor Grinberg wrote: Hi Nikita, On 08/07/14 16:05, Nikita Kiryanov wrote: Add functions to enable/disable clocks for UART, SPI, ENET, and MMC. Cc: Stefano Babic sba...@denx.de Signed-off-by: Nikita Kiryanov nik...@compulab.co.il --- Changes in V2: - No changes. arch/arm/cpu/armv7/mx6/clock.c| 99 +++ arch/arm/include/asm/arch-mx6/clock.h | 5 ++ 2 files changed, 104 insertions(+) diff --git a/arch/arm/cpu/armv7/mx6/clock.c b/arch/arm/cpu/armv7/mx6/clock.c index 7dd83ec..696dc98 100644 --- a/arch/arm/cpu/armv7/mx6/clock.c +++ b/arch/arm/cpu/armv7/mx6/clock.c @@ -36,6 +36,35 @@ void enable_ocotp_clk(unsigned char enable) } #endif [...] +#ifdef CONFIG_FEC_MXC +void enable_enet_clk(unsigned char enable) +{ + u32 reg; + + reg = __raw_readl(imx_ccm-CCGR1); + if (enable) + reg |= MXC_CCM_CCGR1_ENET_CLK_ENABLE_MASK; + else + reg = ~(MXC_CCM_CCGR1_ENET_CLK_ENABLE_MASK); + __raw_writel(reg, imx_ccm-CCGR1); +} +#endif + +#ifdef CONFIG_MXC_UART +void enable_uart_clk(unsigned char enable) +{ + u32 reg, mask; + + reg = __raw_readl(imx_ccm-CCGR5); + mask = MXC_CCM_CCGR5_UART_MASK | MXC_CCM_CCGR5_UART_SERIAL_MASK; + if (enable) + reg |= mask; + else + reg = ~mask; + __raw_writel(reg, imx_ccm-CCGR5); +} +#endif + +#ifdef CONFIG_SPI +/* spi_num can be from 0 - 4 */ +int enable_cspi_clock(unsigned char enable, unsigned spi_num) +{ + u32 reg, mask; + + if (spi_num 4) + return -EINVAL; + + mask = MXC_CCM_CCGR_CG_MASK (spi_num * 2); + reg = readl(imx_ccm-CCGR1); + if (enable) + reg |= mask; + else + reg = ~mask; + + __raw_writel(reg, imx_ccm-CCGR1); + return 0; +} +#endif + +#ifdef CONFIG_MMC +int enable_usdhc_clk(unsigned char enable, unsigned bus_num) +{ + u32 reg, mask; + + if (bus_num 3) + return -EINVAL; + + mask = MXC_CCM_CCGR_CG_MASK (bus_num * 2 + 2); + reg = readl(imx_ccm-CCGR6); + if (enable) + reg |= mask; + else + reg = ~mask; + + __raw_writel(reg, imx_ccm-CCGR6); + return 0; +} +#endif In all the above functions, can we use the clrsetbits_le32() helpers? We can. V3 coming up.. [...] ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V2 1/9] spl: replace CONFIG_SPL_SPI_* with CONFIG_SF_DEFAULT_*
On Sunday, August 10, 2014 at 05:19:38 PM, Nikita Kiryanov wrote: On 07/08/14 16:49, Marek Vasut wrote: On Thursday, August 07, 2014 at 03:05:28 PM, Nikita Kiryanov wrote: Currently, CONFIG_SPL_SPI_* #defines are used for controlling SPI boot in SPL. These #defines do not allow the user to select SPI mode for the SPI flash (there's no CONFIG_SPL_SPI_MODE, so the SPI mode is hardcoded in spi_spl_load.c), and duplicate information already provided by CONFIG_SF_DEFAULT_* #defines. Kill CONFIG_SPL_SPI_*, and use CONFIG_SF_DEFAULT_* instead. Cc: Jagannadha Sutradharudu Teki jagannadh.t...@gmail.com Cc: Tom Rini tr...@ti.com Cc: Sudhakar Rajashekhara sudhakar@ti.com Cc: Lokesh Vutla lokeshvu...@ti.com Cc: Vitaly Andrianov vita...@ti.com Cc: Lars Poeschel poesc...@lemonage.de Cc: Bo Shen voice.s...@atmel.com Cc: Hannes Petermaier hannes.peterma...@br-automation.com Cc: Michal Simek mon...@monstr.eu Cc: Marek Vasut ma...@denx.de Signed-off-by: Nikita Kiryanov nik...@compulab.co.il Oh, right. This doesn't collide with the Kconfig work, does it ? It does not. (No config CONFIG_SPL_SPI_*, nor config CONFIG_SF_DEFAULT_* in any Kconfig files) Coolness, now it's up to Jagan to pick this stuff up I guess :) Thanks, Acked-by: Marek Vasut ma...@denx.de Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v4 4/5] usb/gadget: fastboot: add sparse image definitions
On Saturday, August 09, 2014 at 06:53:24 PM, Steve Rae wrote: ( Google agreed to submit a patch with BSD3 license stay tuned!!! ) Thank you for your work and perseverance, really ! Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V2 12/18] arm: mx6: add support for Compulab cm-fx6 CoM
On Sunday, August 10, 2014 at 07:12:54 PM, Nikita Kiryanov wrote: Add initial support for Compulab CM-FX6 CoM. Support includes MMC, SPI flash, and SPL with dynamic DRAM detection. Cc: Igor Grinberg grinb...@compulab.co.il Cc: Stefano Babic sba...@denx.de Cc: Tom Rini tr...@ti.com Cc: Marek Vasut ma...@denx.de Signed-off-by: Nikita Kiryanov nik...@compulab.co.il Acked-by: Marek Vasut ma...@denx.de Thanks! Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH] pci: mx6: fix occasional link failures
On Saturday, August 09, 2014 at 09:11:49 PM, Fabio Estevam wrote: On Sat, Aug 9, 2014 at 12:37 PM, Fabio Estevam feste...@gmail.com wrote: Ok, so with the debug patch applied I let it running overnight and it ran 39k+ times without PCI linkup failures. I agree with your comments and now I am doing as you suggested: Running top of tree u-boot-imx with only Tim's patch applied. Then I do: sudo minicom | tee pci.txt to collect the logs. After one hour of testing: /tmp$ cat pci.txt | grep CPU | wc -l 2251 /tmp$ cat pci.txt | grep Bridge | wc -l 2251 The test has been running more than 11k times without a failure. Will finish the tests now and let my board to rest a little bit :-) Thanks! Acked-by: Marek Vasut ma...@denx.de Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [GIT] Pull request: u-boot-dfu
On Sunday, August 10, 2014 at 06:10:11 PM, Lukasz Majewski wrote: On Wed, 06 Aug 2014 09:54:23 -0600 Stephen Warren swar...@wwwdotorg.org wrote: On 07/23/2014 12:15 PM, Marek Vasut wrote: On Wednesday, July 16, 2014 at 09:18:56 AM, Lukasz Majewski wrote: Dear Marek, The following changes since commit 5ba95541b700d2edecb4d97d4b905f51ed8551b3: usb: phy: omap_usb_phy: implement usb_phy_power() for AM437x (2014-07-09 22:11:51 +0200) are available in the git repository at: ssh://gu-...@git.denx.de/u-boot-dfu/master for you to fetch changes up to 24b109300c6e6a35792bc804846d7753baba7a69: dfu: fix readback buffer overflow test (2014-07-16 08:47:01 +0200) Fixed up one merge conflict and applied, thanks! These changes don't seem to have made it into u-boot/master yet. I assume they will for the v2014.10 release? Those patches are now in the u-boot-usb Marek's tree. I hoped that Marek would send PR to Tom and those changes had been merged in the ongoing merge window. Marek do you plan to send PR to Tom in a near future? Should be applied now I believe, It might be just that Tom is slowed down by some bug which prevents parallel builds. Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PULL] u-boot/master
On Friday, August 08, 2014 at 11:08:56 PM, Tom Rini wrote: On Thu, Aug 07, 2014 at 04:37:06PM +0200, Marek Vasut wrote: [..] 28 files changed, 626 insertions(+), 90 deletions(-) create mode 100644 drivers/dfu/dfu_sf.c create mode 100644 test/dfu/README create mode 100755 test/dfu/dfu_gadget_test.sh create mode 100755 test/dfu/dfu_gadget_test_init.sh Applied to u-boot/master, thanks! Thanks! Best regards, Marek Vasut ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot, 2/3] pxe: detect image format before calling bootm/bootz
On Thu, Jul 31, 2014 at 05:39:59PM -0700, Bryan Wu wrote: Trying bootm for zImage will print out several error message which is not necessary for this case. So detect image format firstly, only try bootm for legacy and FIT format image then try bootz for others. This patch needs new function genimg_get_kernel_addr(). Signed-off-by: Bryan Wu pe...@nvidia.com Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot, 1/3] image: introduce genimg_get_kernel_addr()
On Thu, Jul 31, 2014 at 05:39:58PM -0700, Bryan Wu wrote: Kernel address is normally stored as a string argument of bootm or bootz. This function is taken out from boot_get_kernel() of bootm.c, which can be reused by others. Signed-off-by: Bryan Wu pe...@nvidia.com After doing the following to fix warnings: diff --git a/common/image.c b/common/image.c index 4e2816a..a2999c0 100644 --- a/common/image.c +++ b/common/image.c @@ -668,13 +668,13 @@ ulong genimg_get_kernel_addr(char * const img_addr) load_addr); #if defined(CONFIG_FIT) } else if (fit_parse_conf(img_addr, load_addr, kernel_addr, - fit_uname_config)) { + fit_uname_config)) { debug(* kernel: config '%s' from image at 0x%08lx\n, - *fit_uname_config, kernel_addr); + fit_uname_config, kernel_addr); } else if (fit_parse_subimage(img_addr, load_addr, kernel_addr, -fit_uname_kernel)) { +fit_uname_kernel)) { debug(* kernel: subimage '%s' from image at 0x%08lx\n, - *fit_uname_kernel, kernel_addr); + fit_uname_kernel, kernel_addr); #endif } else { kernel_addr = simple_strtoul(img_addr, NULL, 16); Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot,3/3] bootm: use genimg_get_kernel_addr()
On Thu, Jul 31, 2014 at 05:40:00PM -0700, Bryan Wu wrote: Use the new API which is originally taken out from boot_get_kernel of bootm.c Signed-off-by: Bryan Wu pe...@nvidia.com Tested-by: Stephen Warren swar...@nvidia.com Reviewed-by: Stephen Warren swar...@nvidia.com After doing the following to fix warnings: diff --git a/common/bootm.c b/common/bootm.c index aee68cd..76d811c 100644 --- a/common/bootm.c +++ b/common/bootm.c @@ -789,9 +789,9 @@ static const void *boot_get_kernel(cmd_tbl_t *cmdtp, int flag, int argc, #if defined(CONFIG_FIT) case IMAGE_FORMAT_FIT: if (!fit_parse_conf(argv[0], load_addr, img_addr, - fit_uname_config)) + fit_uname_config)) fit_parse_subimage(argv[0], load_addr, img_addr, - fit_uname_kernel); + fit_uname_kernel); os_noffset = fit_image_load(images, img_addr, fit_uname_kernel, fit_uname_config, IH_ARCH_DEFAULT, IH_TYPE_KERNEL, Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot, v2] Makefile: use $(shell ...) for determining file_size
On Thu, Jul 24, 2014 at 12:44:25PM +1200, Chris Packham wrote: file_size was being calculated using back-ticks but map_size uses $(shell ...). Update the file_size calculation to use $(shell ...). From: Jeroen Hofstee jer...@myspectrum.nl The binary_size_check target relies on stat -c %s to return the size of u-boot.bin. This only works with GNU stat though. Use wc instead. Signed-off-by: Chris Packham judge.pack...@gmail.com Acked-by: Simon Glass s...@chromium.org Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot, v3] Implement generalised RSA public exponents for verified boot
On Wed, Jul 02, 2014 at 10:17:26AM +0200, Michael van der Westhuizen wrote: From: Michael van der Westhuizen mich...@smart-africa.com Remove the verified boot limitation that only allows a single RSA public exponent of 65537 (F4). This change allows use with existing PKI infrastructure and has been tested with HSM-based PKI. Change the configuration OF tree format to store the RSA public exponent as a 64 bit integer and implement backward compatibility for verified boot configuration trees without this extra field. Parameterise vboot_test.sh to test different public exponents. Mathematics and other hard work by Andrew Bott. Tested with the following public exponents: 3, 5, 17, 257, 39981, 50457, 65537 and 4294967297. Signed-off-by: Andrew Bott andrew.b...@ipaccess.com Signed-off-by: Andrew Wishart andrew.wish...@ipaccess.com Signed-off-by: Neil Piercy neil.pie...@ipaccess.com Signed-off-by: Michael van der Westhuizen mich...@smart-africa.com Cc: Simon Glass s...@chromium.org Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] pxe: clear Bootfile before returning
On Tue, Jul 22, 2014 at 06:06:46PM -0600, Stephen Warren wrote: From: Stephen Warren swar...@nvidia.com When pxe boot downloads the initrd/kernel/DTB, netboot_common() saves the downloaded filename to global variable BootFile. If the boot operation is aborted, this global state is not cleared. If dhcp is executed later without any arguments, BootFile is not cleared, and when the DHCP response is received, BootpCopyNetParams() writes the value into environment variable bootfile. This causes the following scenario: * Boot script executes dhcp; pxe get; pxe boot * User CTRL-C's the PXE menu, which causes the first menu item to be booted, which causes some file to be downloaded. (This boot-on-CTRL-C behaviour is arguably a bug too, but it's a separate bug and the bug this patch fixes would still exist if the user simply waited to press CTRL-C until pxe boot started downloading files) * User CTRL-C's the file downloads, but the filename is still written to the bootfile environment variable. * User re-runs the boot command, which in my case executes dhcp; pxe get; pxe boot again, and dhcp picks up the saved bootfile environment variable and proceeds to download a file that it shouldn't. To solve this, modify the implementation of pxe get to clear BootFile if the whole boot operation fails, which avoids this whole mess. An alternative would be to modify netboot_common() such that the no- arguments case explicitly clears the global variable BootFile. However, that would prevent the following command sequences from working: $ dhcp filename # downloads filename $ dhcp # downloads $bootfile, i.e. filename or: $ setenv bootfile filename $ dhcp # downloads $bootfile, i.e. filename ... and I assume someone relies on U-Boot working that way. Signed-off-by: Stephen Warren swar...@nvidia.com Acked-by: Joe Hershberger joe.hershber...@ni.com Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] doc: README.android-fastboot: Add note about vendor ID
On Tue, Jul 22, 2014 at 11:23:56AM -0400, Barnes, Clifton A. wrote: The Android fastboot client only communicates with specific vendor IDs. This addition to the documentation points out that fact so everyone is aware that not just any vendor ID will work and where to find the IDs that will. Signed-off-by: Clifton Barnes cabar...@indesign-llc.com Cc: Rob Herring r...@kernel.org Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] ext4: trats: trats2: Modify dfu_alt_info's file names to have absolute path
On Tue, Jul 22, 2014 at 10:17:06AM +0200, Ćukasz Majewski wrote: After the clean up performed in the commit 1151b7ac10b81ecbb the DFU subsystem requires absolute patch for correct operation. Signed-off-by: Lukasz Majewski l.majew...@samsung.com Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Makefile: use u-boot.map for binary_size_check
On Thu, Jul 24, 2014 at 05:27:07PM +1200, Chris Packham wrote: u-boot.map is generated automatically by the compiler and more importantly can handle addresses 4GB. Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] net: BOOTP retry timeout improvements
On Fri, Jul 25, 2014 at 05:30:48PM -0600, Stephen Warren wrote: From: Stephen Warren swar...@nvidia.com Currently, the BOOTP code sends out its initial request as soon as the Ethernet driver indicates link up. If this packet is lost or not replied to for some reason, the code waits for a 1s timeout before retrying. For some reason, such early packets are often lost on my system, so this causes an annoying delay. To optimize this, modify the BOOTP code to have very short timeouts for the first packet transmitted, but gradually increase the timeout each time a timeout occurs. This way, if the first packet is lost, the second packet is transmitted quite quickly and hence the overall delay is low. However, if there's still no response, we don't keep spewing out packets at an insane speed. It's arguably more correct to try and find out why the first packet is lost. However, it seems to disappear inside my Ethenet chip; the TX chip indicates no error during TX (not that it has much in the way of reporting...), yet wireshark on the RX side doesn't see any packet. FWIW, I'm using an ASIX USB Ethernet adapter. Perhaps link up is reported too early or based on the wrong condition in HW, and we should add some fixed extra delay into the driver. However, this would slow down every link up event even if it ends up not being needed in some cases. Having BOOTP retry quickly applies the fix/WAR to every possible Ethernet device, and is quite simple to implement, so seems a better solution. Signed-off-by: Stephen Warren swar...@nvidia.com Acked-by: Joe Hershberger joe.hershber...@ni.com Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot,1/2] git-mailrc: Change fdt maintainer
On Tue, Jul 29, 2014 at 12:03:11AM -0600, Simon Glass wrote: Add myself as fdt maintainer. Signed-off-by: Simon Glass s...@chromium.org Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] emif.h: remove duplicated argument to |
On Thu, Jul 24, 2014 at 02:09:05PM +0200, maxin.j...@enea.com wrote: Remove the duplicated argument to | in two places. Reported by Coccinelle (http://coccinelle.lip6.fr/). Signed-off-by: Maxin B. John maxin.j...@enea.com Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot,v2] board_r: Add missing return to initr_doc
On Thu, Jul 24, 2014 at 09:29:57AM +0100, Ian Campbell wrote: I happened to spot this while working in the area. Signed-off-by: Ian Campbell i...@hellion.org.uk Acked-by: Simon Glass s...@chromium.org Cc: Simon Glass s...@chromium.org Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] vitesse: remove duplicated argument to ||
On Thu, Jul 24, 2014 at 12:26:05PM +0200, maxin.j...@enea.com wrote: Remove the duplicated argument to || check Signed-off-by: Maxin B. John maxin.j...@enea.com Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot,2/2] git-mailrc: Add myself as dm maintainer
On Tue, Jul 29, 2014 at 12:03:12AM -0600, Simon Glass wrote: Add a subsystem entry for dm with myself as maintainer. Signed-off-by: Simon Glass s...@chromium.org Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] ext4load: fix help text
On Tue, Jul 29, 2014 at 12:37:25PM +0200, Pavel Machek wrote: Fix ext4load help text. Signed-off-by: Pavel Machek pa...@denx.de Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] cosmetic: update doc/README.scrapyard
On Tue, Jul 29, 2014 at 07:41:24PM +0900, Masahiro Yamada wrote: - Add 'p1023rds' to the list since commit d0bc5140 dropped the board support but missed to update this file - Fill the Commit and Removed Date fields for boards removed by earlier commits - Move 'incaip' to keep the list sorted in reverse chronological order - Describe the soring rule in the comment block: The list should be sorted in reverse chronological order. - Fix typos in the comment block Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot,1/3] config: introduce a generic $bootcmd
On Wed, Jul 30, 2014 at 04:37:14PM -0600, Stephen Warren wrote: From: Dennis Gilmore den...@ausil.us This generic $bootcmd, and associated support macros, automatically searches a defined set of storage devices (or network protocols) for an extlinux configuration file or U-Boot boot script in various standardized locations. Distros that install such a boot config file/script in those standard locations will get easy-to-set-up booting on HW that enables this generic $bootcmd. Boards can define the set of devices from which boot is attempted, and the order in which they are attempted. Users may later customize this set/order by edting $boot_targets. Users may interrupt the boot process and boot from a specific device simply by executing e.g.: $ run bootcmd_mmc1 or: $ run bootcmd_pxe This patch was originally written by Dennis Gilmore based on Tegra and rpi_b boot scripts. I have made the following modifications since then: * Boards must define the BOOT_TARGET_DEVICES macro in order to specify the set of devices (and order) from which to attempt boot. If needed, we can define a default directly in config_distro_bootcmd.h. * Removed $env_import and related variables; nothing used them, and I think it's better for boards to pre-load an environment customization file using CONFIG_PREBOOT if they need. * Renamed a bunch of variables to suit my whims:-) Signed-off-by: Dennis Gilmore den...@ausil.us Signed-off-by: Stephen Warren swar...@nvidia.com Reviewed-by: Marek Vasut ma...@denx.de Acked-by: Simon Glass s...@chromium.org Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] rsa: Fix two errors in the implementation
On Wed, Jul 30, 2014 at 10:00:17AM -0600, Simon Glass wrote: 1. Failure to set the return code correctly 2. Failure to detect the loop end condition when the value is equal to the modulus. Reported-by: Jeroen Hofstee jer...@myspectrum.nl Signed-off-by: Simon Glass s...@chromium.org Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot, 1/2] fdt: Rename fdt_resize() to fdt_shrink_to_minimum()
On Wed, Jul 30, 2014 at 03:59:02AM -0600, Simon Glass wrote: Since libfdt now has an fdt_resize() function, we need to rename the U-Boot one. Signed-off-by: Simon Glass s...@chromium.org Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] omap: clean-up dead configs
On Wed, Jul 30, 2014 at 07:11:41PM +0900, Masahiro Yamada wrote: The following configs are not defined at all. - CONFIG_OMAP1510 - CONFIG_OMAP_1510P1 - CONFIG_OMAP_SX1 - CONFIG_OMAP3_DMA - CONFIG_OMAP3_ZOOM2 - CONFIG_OMAP_INNOVATOR Signed-off-by: Masahiro Yamada yamad...@jp.panasonic.com Cc: Tom Rini tr...@ti.com Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot,2/2] fdt: Sync up with libfdt
On Wed, Jul 30, 2014 at 03:59:03AM -0600, Simon Glass wrote: This brings in changes up to commit f9e91a48 in the libfdt repo. Mostly this is whitespace/minor changes. But there are a few new features: - fdt_size_cells() and fdt_address_cells() - fdt_resize() Signed-off-by: Simon Glass s...@chromium.org Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot,v3,1/4] MAINTAINERS: add initial version
On Fri, Aug 01, 2014 at 02:24:08AM +0200, Daniel Schwierzeck wrote: MAINTAINERS contains all currently known custodians based on infos from wiki [1] and u-boot git forks [2]. [1] http://www.denx.de/wiki/U-Boot/Custodians [2] http://git.denx.de/?p=u-boot.git;a=forks Signed-off-by: Daniel Schwierzeck daniel.schwierz...@gmail.com Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot, v3, 3/4] get_maintainer.pl: adapt to U-Boot tree
On Fri, Aug 01, 2014 at 02:24:10AM +0200, Daniel Schwierzeck wrote: Switch core maintainer to Tom Rini. Adapt directory layout for git tree detection. Signed-off-by: Daniel Schwierzeck daniel.schwierz...@gmail.com Acked-by: Simon Glass s...@chromium.org Tested-by: Simon Glass s...@chromium.org Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] lib: lmb: fix overflow in __lmb_alloc_base w/ large RAM
On Thu, Jul 31, 2014 at 01:40:07PM -0600, Stephen Warren wrote: From: Stephen Warren swar...@nvidia.com If a 32-bit system has 2GB of RAM, and the base address of that RAM is 2GB, then start+size will overflow a 32-bit value (to a value of 0). __lmb_alloc_base is affected by this; it calculates the minimum of (start+size of RAM) and max_addr. However, when start+size is 0, it is always less than max_addr, which causes the value of max_addr not to be taken into account when restricting the allocation's location. Fix this by calculating start+size separately, and if that calculation underflows, using -1 (interpreted as the max unsigned value) as the value instead, and then taking the min of that and max_addr. Now that start+size doesn't overflow, it's typically large, and max_addr dominates the min() call, and is taken into account. The user-visible symptom of this bug is that CONFIG_BOOTMAP_SZ is ignored on Tegra124 systems with 2GB of RAM, which in turn causes the DT to be relocated at the very end of RAM, which the ARM Linux kernel doesn't map during early boot, and which causes boot failures. With this fix, CONFIG_BOOTMAP_SZ correctly restricts the relocated DT to a much lower address, and everything works. Signed-off-by: Stephen Warren swar...@nvidia.com Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot, v3, 2/4] get_maintainer.pl: import script from linux 3.15
On Fri, Aug 01, 2014 at 02:24:09AM +0200, Daniel Schwierzeck wrote: Signed-off-by: Daniel Schwierzeck daniel.schwierz...@gmail.com Acked-by: Simon Glass s...@chromium.org Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot,3/3] ARM: rpi_b: use new generic $bootcmd
On Wed, Jul 30, 2014 at 04:37:16PM -0600, Stephen Warren wrote: From: Stephen Warren swar...@nvidia.com Replace the custom $bootcmd with that from config_distro_bootcmd.h. There should be no functional change, since the new generic $bootcmd was derived strongly from tegra-common-post.h, after which this part of rpi_b.h was modelled. The #defines to enable/disable U-Boot commands/features were moved earlier in rpi_b.h, so they are set up before config_distro_bootcmd.h is included, since it tests whether certain features should be included based on those defines. Signed-off-by: Stephen Warren swar...@nvidia.com Acked-by: Simon Glass s...@chromium.org Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot,2/3] ARM: tegra: use new generic $bootcmd
On Wed, Jul 30, 2014 at 04:37:15PM -0600, Stephen Warren wrote: From: Stephen Warren swar...@nvidia.com Replace the custom $bootcmd with that from config_distro_bootcmd.h. There should be no functional change, since the new generic $bootcmd was derived strongly from tegra-common-post.h. Signed-off-by: Stephen Warren swar...@nvidia.com Acked-by: Simon Glass s...@chromium.org Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] env_fat.c: Make sure our buffer is cache aligned
On Fri, Aug 01, 2014 at 01:59:10PM -0400, Tom Rini wrote: We must ensure the buffer we read the env into is aligned or we may get warnings later on. Signed-off-by: Tom Rini tr...@ti.com Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [U-Boot, v3, 4/4] get_maintainer.pl: add support for scanning multiple MAINTAINERS files
On Fri, Aug 01, 2014 at 02:24:11AM +0200, Daniel Schwierzeck wrote: Signed-off-by: Daniel Schwierzeck daniel.schwierz...@gmail.com Applied to u-boot/master, thanks! -- Tom signature.asc Description: Digital signature ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH V2 00/18] Introduce cm-fx6 board (partial V2 cont.)
Hi Nikita, On 10 August 2014 11:12, Nikita Kiryanov nik...@compulab.co.il wrote: This partial V2 completes the previous partial V2. It contains some final preparational steps, and the introduction of cm-fx6 board. Changes in V2: - Update commit message of arm: mx6: ddr: configure MMDC for slow_pd - Remove unnecessary line removal from arch/arm/cpu/armv7/mx6/ddr.c - Move probe_mmdc_config() code straight to dram_init() - Use imx6_spl.h - Use imx_ddr_size() NOTE: the correction of this patch now depends on https://patchwork.ozlabs.org/patch/376095/ Does this series support the dual core Utilite machine? If so I'm not sure how to enable dual core instead of quad core - any ideas please? Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 1/2 v2] arm: BeagleBone Black: enable fastboot support
Enable Android Fastboot support on am335x_evm board Signed-off-by: Dileep Katta dileep.ka...@linaro.org --- Changes for v2: -None include/configs/am335x_evm.h | 10 ++ 1 file changed, 10 insertions(+) diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h index 35ae0e6..3999405 100644 --- a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@ -291,6 +291,11 @@ #define CONFIG_AM335X_USB0_MODEMUSB_PERIPHERAL #define CONFIG_AM335X_USB1 #define CONFIG_AM335X_USB1_MODE MUSB_HOST +/* Fastboot */ +#define CONFIG_CMD_FASTBOOT +#define CONFIG_ANDROID_BOOT_IMAGE +#define CONFIG_USB_FASTBOOT_BUF_ADDR CONFIG_SYS_LOAD_ADDR +#define CONFIG_USB_FASTBOOT_BUF_SIZE 0x0700 #ifdef CONFIG_MUSB_HOST #define CONFIG_CMD_USB @@ -303,8 +308,13 @@ #define CONFIG_USBNET_HOST_ADDRde:ad:be:af:00:00 /* USB TI's IDs */ +#ifdef CONFIG_CMD_FASTBOOT +#define CONFIG_G_DNL_VENDOR_NUM 0x0451 +#define CONFIG_G_DNL_PRODUCT_NUM 0xd022 /* TI fastboot PID */ +#else #define CONFIG_G_DNL_VENDOR_NUM 0x0403 #define CONFIG_G_DNL_PRODUCT_NUM 0xBD00 +#endif #define CONFIG_G_DNL_MANUFACTURER Texas Instruments #endif /* CONFIG_MUSB_GADGET */ -- 1.8.3.2 ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 2/2 v2] fastboot: Flash command support
Flash command internally uses DFU, and Fastboot command initialization is modified to add DFU and partition initialization Added oem format functionality for GPT table creation partitioning code is added as disk/part_fastboot.c for better usability Fastboot flash command code is enabled and being tested on BeagleBone Black. OMAP3 Beagle configuration is modified to fix the build errors, but this configuration needs to be updated as per the flash functionality. Signed-off-by: Dileep Katta dileep.ka...@linaro.org --- Changes for v2: - Fixed coding style issues common/cmd_fastboot.c | 5 + common/cmd_mmc.c| 2 +- common/cmd_nvedit.c | 2 +- disk/Makefile | 1 + disk/part_fastboot.c| 379 doc/README.android-fastboot | 26 +++ drivers/usb/gadget/f_fastboot.c | 178 ++- include/configs/am335x_evm.h| 23 ++- include/configs/omap3_beagle.h | 12 ++ include/usb/fastboot.h | 182 +++ 10 files changed, 796 insertions(+), 14 deletions(-) create mode 100644 disk/part_fastboot.c create mode 100644 include/usb/fastboot.h diff --git a/common/cmd_fastboot.c b/common/cmd_fastboot.c index 83fa7bd..6d0d0a4 100644 --- a/common/cmd_fastboot.c +++ b/common/cmd_fastboot.c @@ -10,11 +10,15 @@ #include common.h #include command.h #include g_dnl.h +#include dfu.h +#include usb/fastboot.h static int do_fastboot(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) { int ret; + board_partition_init(); + dfu_init_env_entities(mmc, CONFIG_FB_MMCDEV); ret = g_dnl_register(usb_dnl_fastboot); if (ret) return ret; @@ -26,6 +30,7 @@ static int do_fastboot(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) } g_dnl_unregister(); + dfu_free_entities(); return CMD_RET_SUCCESS; } diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c index 1e40983..dd7170d 100644 --- a/common/cmd_mmc.c +++ b/common/cmd_mmc.c @@ -612,7 +612,7 @@ static cmd_tbl_t cmd_mmc[] = { U_BOOT_CMD_MKENT(setdsr, 2, 0, do_mmc_setdsr, , ), }; -static int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +int do_mmcops(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { cmd_tbl_t *cp; diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c index 855808c..a100109 100644 --- a/common/cmd_nvedit.c +++ b/common/cmd_nvedit.c @@ -686,7 +686,7 @@ ulong getenv_ulong(const char *name, int base, ulong default_val) #ifndef CONFIG_SPL_BUILD #if defined(CONFIG_CMD_SAVEENV) !defined(CONFIG_ENV_IS_NOWHERE) -static int do_env_save(cmd_tbl_t *cmdtp, int flag, int argc, +int do_env_save(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { printf(Saving Environment to %s...\n, env_name_spec); diff --git a/disk/Makefile b/disk/Makefile index 6970cec..4b7a9ef 100644 --- a/disk/Makefile +++ b/disk/Makefile @@ -13,3 +13,4 @@ obj-$(CONFIG_DOS_PARTITION) += part_dos.o obj-$(CONFIG_ISO_PARTITION) += part_iso.o obj-$(CONFIG_AMIGA_PARTITION) += part_amiga.o obj-$(CONFIG_EFI_PARTITION) += part_efi.o +obj-$(CONFIG_CMD_FASTBOOT)+= part_fastboot.o diff --git a/disk/part_fastboot.c b/disk/part_fastboot.c new file mode 100644 index 000..4fa9f85 --- /dev/null +++ b/disk/part_fastboot.c @@ -0,0 +1,379 @@ +/* + * Copyright (C) 2013 Texas Instruments + * + * Author : Pankaj Bharadiya pankaj.bharad...@ti.com + * + * Tom Rix tom@windriver.com and Sitara 2011 u-boot by + * Mohammed Afzal M A af...@ti.com + * + * Copyright (C) 2008 The Android Open Source Project + * All rights reserved. + * + * Copyright 2014 Linaro, Ltd. + * Dileep Katta dileep.ka...@linaro.org + * + * SPDX-License-Identifier:GPL-2.0+ + */ + +#include common.h +#include command.h +#include usb/fastboot.h +#include linux/usb/ch9.h +#include linux/usb/gadget.h +#include environment.h +#include mmc.h +#include dfu.h + +#define EFI_VERSION 0x0001 +#define EFI_ENTRIES 128 +#define EFI_NAMELEN 36 + +struct partition_emmc { + const char *name; + unsigned size_kb; +}; + +/* eMMC partition layout (All sizes are in kB) + * Modify the below partition table to change the GPT configuration. + * The entry for each partition can be modified as per the requirement. + */ +static struct partition_emmc partitions[] = { + { -, 128 }, /* Master Boot Record and GUID Partition Table */ + { spl, 128 }, /* First stage bootloader */ + { bootloader, 512 }, /* Second stage bootloader */ + { misc, 128 },/* Rserved for internal purpose */ + { -, 128 }, /* Reserved */ + { recovery, 8*1024 }, /* Recovery partition */ + { boot, 8*1024 }, /* Partition contains kernel + ramdisk images */ + { system, 256*1024 }, /* Android file system */ + { cache, 256*1024 },
Re: [U-Boot] Removing the need for boards.cfg
Hi Tom, On 8 August 2014 05:59, Tom Rini tr...@ti.com wrote: On Fri, Aug 08, 2014 at 05:06:03AM -0600, Simon Glass wrote: Hi Masahiro, On 1 August 2014 06:22, Masahiro Yamada yamad...@jp.panasonic.com wrote: Hi. On Fri, 1 Aug 2014 12:48:44 +0100 Simon Glass s...@chromium.org wrote: Hi, At present, as a work-around, we generate boards.cfg if needed. This is quite a slow process since each board config must be fully processed. What can we do to improve this? We only need a small number of options in order to start buildman - things like CONFIG_SYS_ARCH, CONFIG_SYS_CPU, etc. I wonder if we could run a script which adds these to the defconfigs for each board and then apply a patch to mainline? Would that require removing the options from the config.h files? Or could we do that later as a separate step? We cannot add CONFIG_SYS_ARCH, CONFIG_SYS_CPU, etc. to defconfigs because they are not user-editable options. (They must be always selected in correct combination.) This is already discussed when I posted the RFC version of the Kconfig series. My understanding is that if you have a 'select' option in Kconfig then it will be selected always, but it will still appear in the defconfig. I think that is the way the kernel works. So there are options that cannot be changed, and don't appear in the menu, but they are selected just the same. Maybe we came up with the wrong answer during RFC on Kconfig then. It's good if selecting say CONFIG_TARGET_AM335X_EVM results in CONFIG_SYS_ARCH=arm, CONFIG_SYS_CPU=armv7, etc. I _think_ the problem here is what I ran into with doing CONS_INDEX patches. You cannot do 'select SYS_CPU=armv7'. So we would instead need to get rid of CONFIG_SYS_CPU and instead do CONFIG_SYS_CPU_ARMV7, etc, etc. -- Tom ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Removing the need for boards.cfg
Hi Tom, On 8 August 2014 05:59, Tom Rini tr...@ti.com wrote: On Fri, Aug 08, 2014 at 05:06:03AM -0600, Simon Glass wrote: Hi Masahiro, On 1 August 2014 06:22, Masahiro Yamada yamad...@jp.panasonic.com wrote: Hi. On Fri, 1 Aug 2014 12:48:44 +0100 Simon Glass s...@chromium.org wrote: Hi, At present, as a work-around, we generate boards.cfg if needed. This is quite a slow process since each board config must be fully processed. What can we do to improve this? We only need a small number of options in order to start buildman - things like CONFIG_SYS_ARCH, CONFIG_SYS_CPU, etc. I wonder if we could run a script which adds these to the defconfigs for each board and then apply a patch to mainline? Would that require removing the options from the config.h files? Or could we do that later as a separate step? We cannot add CONFIG_SYS_ARCH, CONFIG_SYS_CPU, etc. to defconfigs because they are not user-editable options. (They must be always selected in correct combination.) This is already discussed when I posted the RFC version of the Kconfig series. My understanding is that if you have a 'select' option in Kconfig then it will be selected always, but it will still appear in the defconfig. I think that is the way the kernel works. So there are options that cannot be changed, and don't appear in the menu, but they are selected just the same. Maybe we came up with the wrong answer during RFC on Kconfig then. It's good if selecting say CONFIG_TARGET_AM335X_EVM results in CONFIG_SYS_ARCH=arm, CONFIG_SYS_CPU=armv7, etc. I _think_ the problem here is what I ran into with doing CONS_INDEX patches. You cannot do 'select SYS_CPU=armv7'. So we would instead need to get rid of CONFIG_SYS_CPU and instead do CONFIG_SYS_CPU_ARMV7, etc, etc. Well I think we should run this one to ground first - if a 'select' item doesn't appear in Kconfig then I think we have a bit of a problem. Will await Masahiro's thoughts. Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] Removing the need for boards.cfg
Hi Tom, On 8 August 2014 07:04, Tom Rini tr...@ti.com wrote: On Fri, Aug 01, 2014 at 12:48:44PM +0100, Simon Glass wrote: Hi, At present, as a work-around, we generate boards.cfg if needed. This is quite a slow process since each board config must be fully processed. What can we do to improve this? We only need a small number of options in order to start buildman - things like CONFIG_SYS_ARCH, CONFIG_SYS_CPU, etc. I wonder if we could run a script which adds these to the defconfigs for each board and then apply a patch to mainline? Would that require removing the options from the config.h files? Or could we do that later as a separate step? I wonder (and I haven't had my coffee nor dug into this much more yet) about using say https://github.com/ulfalizer/Kconfiglib to have buildman parse all configs/ and then use that information to build what's been asked (depending on how long the reading+parsing takes). If it's relatively quick, that would be a big argument in favour of dropping MAKEALL. Well I've had my wine but it seems to parse the Kconfig files rather than the #includes that are part of U-Boot's system. Unless I'm missing something, we would still need to find out things like the CPU type, even with that tool. Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] Pull request v2: u-boot-blackfin
Hi Tom, Please pull the following patches for Blackfin from u-boot-blackfin into your tree. Thanks Sonic Zhang The following changes since commit e76b933e02e1b38e48754c435e9dba1c0deeb3c6: Prepare v2014.10-rc1 (2014-08-06 09:12:58 -0400) are available in the git repository at: git://git.denx.de/u-boot-blackfin.git master for you to fetch changes up to d54d7eb965e96fc451beaac58cd79efdcf848fd9: support blackfin board initialization in generic board_f (2014-08-07 15:15:19 +0800) Aaron Wu (1): bfin: add register define required by core B on dual core BF609 processor Scott Jiang (1): blackfin: spi clock is in sysclk1 domain instead of sysclk0 Sonic Zhang (2): blackfin: convert blackfin board_f and board_r to use generic board init functions support blackfin board initialization in generic board_f arch/blackfin/config.mk | 3 + arch/blackfin/cpu/cpu.c | 334 +++-- arch/blackfin/cpu/start.S| 14 +- arch/blackfin/cpu/u-boot.lds | 4 +- arch/blackfin/include/asm/clock.h| 2 +- arch/blackfin/include/asm/config.h | 4 + arch/blackfin/include/asm/mach-bf609/BF609_def.h | 2 + arch/blackfin/include/asm/u-boot.h | 3 + arch/blackfin/lib/Makefile | 7 +- arch/blackfin/lib/board.c| 443 --- arch/blackfin/lib/sections.c | 11 + common/board_f.c | 45 ++- include/configs/bf506f-ezkit.h | 5 +- include/configs/bf533-stamp.h| 3 +- include/configs/bf538f-ezkit.h | 3 +- include/watchdog.h | 3 +- 16 files changed, 380 insertions(+), 506 deletions(-) delete mode 100644 arch/blackfin/lib/board.c create mode 100644 arch/blackfin/lib/sections.c ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/3] config: introduce a generic $bootcmd
On Wed, 06 Aug 2014 10:01:09 -0600 Stephen Warren swar...@wwwdotorg.org wrote: On 07/30/2014 04:37 PM, Stephen Warren wrote: From: Dennis Gilmore den...@ausil.us This generic $bootcmd, and associated support macros, automatically searches a defined set of storage devices (or network protocols) for an extlinux configuration file or U-Boot boot script in various standardized locations. Distros that install such a boot config file/script in those standard locations will get easy-to-set-up booting on HW that enables this generic $bootcmd. Simon, are you OK with these patches following the discussion? Dennis, I assume you're OK with the new version of this patch? I am okay with this version. Dennis I assume that your acks would go a long way towards Tom applying this series. Thanks. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH v2 17/25] i2c: mvtwsi: Add support for Marvell Armada XP
Hello Stefan, Am 05.08.2014 09:10, schrieb Stefan Roese: To support the Armada XP SoC, we just need to include the correct header. Signed-off-by: Stefan Roeses...@denx.de Cc: Heiko Schocherh...@denx.de --- Changes in v2: None drivers/i2c/mvtwsi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Acked-by: Heiko Schocher h...@denx.de bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot