summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* net: fec_mxc: add 1000 Mbps selectionTroy Kisky2012-02-273-2/+22
| | | | | | | | Define FEC_QUIRK_ENET_MAC and add to arch-mx6/imx-regs.h Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com> Acked-by: Dirk Behme <dirk.behme@de.bosch.com>
* integrator: update the Integrator/CP configLinus Walleij2012-02-271-34/+13
| | | | | | | | | | | | | | | | | | | The Integrator/CP config file was very outdated and gives a non functional U-Boot. So: - Set the CONFIG_ARCH_CINTEGRATOR arch flag correctly - Add proper core module configuration options - Skip cluttered command lista and just include <config_cmd_default.h> - Kill off #if 0 network section and insert some example configuration that simply just boots from the network using TFTP if available. - Delete flash control registers that have no business in this config file. These are already moved down to board/armltd/integrator/integrator-sc.h Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* integrator: rewrite the AP PCI driverLinus Walleij2012-02-273-392/+538
| | | | | | | | | | | | | | | | | | | | | | | | | The PCI support for the Integrator AP has apparently never been finished and I strongly suspect that it has never worked, so let's fix it. This is a list of the more or less un-splittable changes done in this driver rewrite: - Replace the register definitions stashed into the config file (!) with a copy if the register file from the Linux kernels arch/arm/include/asm/hardware/pci_v3.h - Delete the unreadable gigantic macros that perform the config accesses and replace them with copyedited code from Linux arch/arm/mach-integrator/pci_v3.c - Rewrite the rest of the setup code to use the v3_[read|write][lwb]() accessors. - Enable PCI by default in the AP board configuration. - Fix checkpatch warnings and make code more conformant. Tested-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* integrator: stop calling pci_init() twiceLinus Walleij2012-02-271-3/+0
| | | | | | | | The U-Boot startup infrastructure already makes sure pci_init() is called at a proper time, calling it again from within the board setup code will not make things better. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* mcx: Enable command line editingDetlev Zundel2012-02-271-0/+2
| | | | | Signed-off-by: Detlev Zundel <dzu@denx.de> CC: Stefano Babic <sbabic@denx.de>
* dm6467Tevm: Use a common configuration file for davinci_dm6467evm and ↵prabhakar.csengg@gmail.com2012-02-275-172/+4
| | | | | | | | | | | | | | | | | | | | davinci_dm6467Tevm In commit 2d575e46859dd9127a9cec731ace77523e6ea2ab a separate header file was introduced for the DM6467T EVM, include/configs/davinci_dm6467Tevm.h. The substantial difference between the davinci_dm6467evm and the davinci_dm6467Tevm configuration is a single bit in the hardware revision that is passed to the Linux kernel and davinci_dm6467evm has REFCLK_FREQ = 27000000 where as davinci_dm6467Tevm.h has a REFCLK_FREQ = 33000000. This patch removes include/configs/davinci_dm6467Tevm.h. Instead the include/configs/davinci_dm6467evm.h configuration is used for DM6467T EVMs and renamed CFG_REFCLK_FREQ to CONFIG_REFCLK_FREQ and CONFIG_REFCLK_FREQ is defined in boards.cfg. Signed-off-by: Prabhakar Lad <prabhakar.csengg@gmail.com> Cc: Tom Rini <trini@ti.com>
* OMAP3: Remove unused CONFIG_SYS_NAND_ECCSTEPS/TOTALThomas Weber2012-02-273-14/+0
| | | | Signed-off-by: Thomas Weber <weber@corscience.de>
* Tricorder: Switch env to generic mmc driverThomas Weber2012-02-271-3/+4
| | | | | | | | Because the tricorder uses the CONFIG_OMAP_HSMMC the initialization command is mmc rescan and not mmc init. Signed-off-by: Thomas Weber <weber@corscience.de> Signed-off-by: Tom Rini <trini@ti.com>
* omap3_beagle: Change MAINTAINERS entryTom Rini2012-02-271-4/+1
| | | | | | Cc: Dirk Behme <dirk.behme@gmail.com> Signed-off-by: Tom Rini <trini@ti.com> Acked-by: Dirk Behme<dirk.behme@gmail.com>
* am335x_evm: Change MAINTAINERS entryTom Rini2012-02-271-4/+1
| | | | Signed-off-by: Tom Rini <trini@ti.com>
* am33xx: ddr_defs.h: Change DDR timingsChase Maupin2012-02-271-1/+1
| | | | | | | | * For cold silicon the DDR timings need to be relaxed in order for the device to boot with DDR at 266MHz * Fix proposed by James Doublesin Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
* da850evm: read mac address from I2C EEPROM on AM18x EVMHadli, Manjunath2012-02-272-3/+34
| | | | | | | | | | | | | | | add support to read mac address for AM18x EVM manufactured from Spectrum digital which have mac address stored in I2C EEPROM manufactured by WINBOND. This patch reads mac address from I2C EEPROM and sets the environment variable if not set, If mac address is already present in environment compare it with the mac address in EEPROM and warn on mismatch.Introduced a config option CONFIG_MAC_ADDR_IN_EEPROM to where to look for the mac address. Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com> Cc: Tom Rini <trini@ti.com> Cc: Mike Frysinger <vapier@gentoo.org> Cc: Wolfgang Denk <wd@denx.de>
* da850evm: add support to read mac address from SPI flashHadli, Manjunath2012-02-272-1/+73
| | | | | | | | | | | | | | | add support to read mac address for da850/L138 evm manufactured by Logic PD which store mac address in SPI flash manufactured by ST Microelectronics. This patch adds support to read mac address from SPI flash and set the mac address if it hasn't been set in environment, If it has been set in the environment it compares the value one with SPI flash and warns on mismatch. Introduced a config option CONFIG_MAC_ADDR_IN_SPIFLASH indicating where to look mac address for. Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com> Cc: Tom Rini <trini@ti.com> Cc: Mike Frysinger <vapier@gentoo.org> Cc: Wolfgang Denk <wd@denx.de>
* beagle: enable DVI_PUPPeter Meerwald2012-02-271-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this patch addresses the issue that there is no DVI output on beagleboard-xm in u-boot; the TFP410 is not powered on, DVI_PUP needs to be set high this is done differently on beagleboard-xm rev. B/C versus earlier boards: beagleboard-xm B/C need to set GPIO2 of the TWL4030 earlier boards need to set GPIO170 note that the change occured somewhere inbetween beagleboard-xm rev. A2 and A3 note that beagleboard-xm rev. A and rev. B cannot be distinguished using get_board_revision(), REVISION_XM_A/REVISION_XM_B is bogus due to this glitch, the patch cannot work correctly on some beagleboard-xm rev A/B boards tested on beagleboard-xm rev. C (you should see orange color on a monitor) note that the framebuffer is NOT yet set up, this could be done along the lines below (for 800x480 resolution and RGB24) before calling omap3_dss_enable() static void configure_frame_buffer() { writel(0x80500000, (uint *) 0x48050480); // address writel(0x80500000, (uint *) 0x48050484); writel(0x01df031f, (uint *) 0x4805048c); // size writel(0x00000091, (uint *) 0x480504a0); // RGB24 } Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
* davinci: cleanup davinci_sync_env_enetaddr() fucntionHadli, Manjunath2012-02-271-3/+6
| | | | | | | | | | | | check for the return status for eth_getenv_enetaddr_by_index() and eth_setenv_enetaddr() functions and print appropriate message on failure. Signed-off-by: Manjunath Hadli <manjunath.hadli@ti.com> Cc: Tom Rini <trini@ti.com> Cc: Mike Frysinger <vapier@gentoo.org> Cc: Wolfgang Denk <wd@denx.de> Acked-by: Mike Frysinger <vapier@gentoo.org>
* common/image.c: align usage of fdt_high with initrd_highShawn Guo2012-02-272-7/+13
| | | | | | | | | | | | | | | | | | The commit message of a28afca (Add uboot "fdt_high" enviroment variable) states that fdt_high behaves similarly to the existing initrd_high. But fdt_high actually has an outstanding difference from initrd_high. The former specifies the start address, while the later specifies the end address. As fdt_high and initrd_high will likely be used together, it'd be nice to have them behave same. The patch changes the behavior of fdt_high to have it aligned with initrd_high. The document of fdt_high in README is updated with an example to demonstrate the usage of this environment variable. Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Acked-by: Simon Glass <sjg@chromium.org>
* mx35pdk: Remove duplicate CPU revision and reset cause informationFabio Estevam2012-02-271-26/+1
| | | | | | | MX35PDK board does not need to print CPU revision and reset cause in board file because this is printed by common code when CONFIG_DISPLAY_CPUINFO is selected Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx35: generic: Let get_reset_cause be defined only when ↵Fabio Estevam2012-02-271-1/+1
| | | | | | | | | CONFIG_DISPLAY_CPUINFO is selected get_reset_cause() function is only used inside print_cpuinfo(), so let it be defined only when CONFIG_DISPLAY_CPUINFO is selected. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx51evk: Use gpio_direction_input prior to gpio_get_valueFabio Estevam2012-02-271-0/+2
| | | | | | Use gpio_direction_input prior to gpio_get_value. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx53smd: Use gpio_direction_input prior to gpio_get_valueFabio Estevam2012-02-271-0/+1
| | | | | | Use gpio_direction_input prior to gpio_get_value. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx53evk: Use gpio_direction_input prior to gpio_get_valueFabio Estevam2012-02-271-0/+2
| | | | | | | | Use gpio_direction_input prior to gpio_get_value. Cc: Jason Liu <r64343@freescale.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Acked-by: Jason Liu <r64343@freescale.com>
* mx53ard: Use gpio_direction_input prior to gpio_get_valueFabio Estevam2012-02-271-0/+2
| | | | | | Use gpio_direction_input prior to gpio_get_value. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx53loco: Use gpio_direction_input prior to gpio_get_valueFabio Estevam2012-02-271-0/+2
| | | | | | | | | Use gpio_direction_input prior to gpio_get_value. Cc: Jason Liu <r64343@freescale.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Acked-by: Stefano Babic <sbabic@denx.de> Acked-by: Jason Liu <r64343@freescale.com>
* mx6q: mx6qsabrelite: Conditionally define macros for environment in serial flashEric Nelson2012-02-271-3/+15
| | | | | | | | | | | | | | | | | | | | | | The default settings store the persistent environment on SD card and not serial flash (SPI NOR). To use SPI NOR to save the environment instead of SD card, edit include/configs/mx6qsabrelite.h and - undefine CONFIG_ENV_IS_IN_MMC - define CONFIG_ENV_IS_IN_SPI_FLASH The SPI driver can take as chip select the controller's chip selects as well as an external GPIO. The LSB byte has the value of the internal chip select, the highest (thought as 16-bit value) contains the GPIO number. The GPIO used on Sabre Lite is GP3:19 == 83. Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> Acked-by: Jason Liu <jason.hui@linaro.org> Tested-by: Jason Liu <jason.hui@linaro.org>
* mx6q: mx6qsabrelite: Provide default serial flash bus and chip-selectEric Nelson2012-02-272-1/+3
| | | | | | | | Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> Acked-by: Dirk Behme <dirk.behme@de.bosch.com> Acked-by: Stefano Babic <sbabic@denx.de> Acked-by: Jason Liu <jason.hui@linaro.org> Tested-by: Jason Liu <jason.hui@linaro.org>
* mx6q: mx6qsabrelite: Add ECSPI support to the Sabrelite platformEric Nelson2012-02-273-1/+35
| | | | | | | | Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> Acked-by: Dirk Behme <dirk.behme@de.bosch.com> Acked-by: Stefano Babic <sbabic@denx.de> Acked-by: Jason Liu <jason.hui@linaro.org> Tested-by: Jason Liu <jason.hui@linaro.org>
* mx6q: Add support for ECSPI through mxc_spi driverEric Nelson2012-02-271-0/+44
| | | | | | | Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> Acked-by: Dirk Behme <dirk.behme@de.bosch.com> Acked-by: Stefano Babic <sbabic@denx.de> Acked-by: Jason Liu <jason.hui@linaro.org>
* mxc_spi: move machine specifics into CPU headersEric Nelson2012-02-274-87/+88
| | | | | | | | | | | | | | Move (E)CSPI register declarations into the imx-regs.h files for each supported CPU Introduce two new macros to control conditional setup MXC_CSPI - Used for processors with the Configurable Serial Peripheral Interface (MX3x) MXC_ECSPI - For processors with Enhanced Configurable... (MX5x, MX6x) Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> Acked-by: Dirk Behme <dirk.behme@de.bosch.com> Acked-by: Stefano Babic <sbabic@denx.de> Acked-by: Jason Liu <jason.hui@linaro.org> Tested-by: Jason Liu <jason.hui@linaro.org>
* mx6q: define GPIO macros for translating between ordinals and port:indexEric Nelson2012-02-271-0/+4
| | | | | | | | | | | | | | | | | The interface to the mxc_gpio driver uses integer (ordinal) values to refer to all GPIOs on the i.MX processors. The registers themselves and much of the i.MX documentation are banked in groups of 32, and these macros allow the use of the port:index numbering for clarity. GPIO_NUMBER() converts to ordinal value from port:index GPIO_PORT() returns the port of an ordinal value GPIO_INDEX() returns the index or offset of the ordinal. Discussion on the mailing list at http://lists.denx.de/pipermail/u-boot/2012-January/116927.html Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
* MX27: add missing get_tbclk()Stefano Babic2012-02-271-0/+5
| | | | Signed-off-by: Stefano Babic <sbabic@denx.de>
* MX28: Fix get_timer() / get_tbclk() issueMarek Vasut2012-02-271-2/+17
| | | | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Detlev Zundel <dzu@denx.de> Cc: Stefano Babic <sbabic@denx.de> Cc: Fabio Estevam <festevam@gmail.com>
* mx28: fix SPL code to make USB booting workMatthias Fuchs2012-02-271-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes booting i.MX28 CPUs via USB download. In this mode the CPU's bootrom implements a USB HID device that accepts a bootstream. When downloading the bootstream via USB, first the SPL code is received and executed. Then the u-boot image is received and called. The USB bootmode is interrupt driven. This patch fixes two things: 1) The ARM's fast interrupt mode is disabled when the SPL code has been run. So save and restore the CPSR register. 2) Save and restore c1 control register: the exception vector location needs to be set back to bootrom space to make the USB interrupts work again. The SPL code needs to change this option for the ram size probing. Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu> Acked-by: Marek Vasut <marek.vasut@gmail.com>
* i.MX28: Fix VDDIO and VDDA setupMarek Vasut2012-02-271-4/+12
| | | | | | | | | | | | The DC power STS shouldn't be checked if booting off 5V supply. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Detlev Zundel <dzu@denx.de> Cc: Stefano Babic <sbabic@denx.de> Cc: Robert Deliën <robert@delien.nl> Cc: Fabio Estevam <festevam@gmail.com> Cc: Matthias Fuchs <matthias.fuchs@esd.eu>
* MX5/MX6: add missing get_ticks() and get_tbclk()Stefano Babic2012-02-271-18/+57
| | | | | | | | | | | commit f31a911fe (arm, post: add missing post_time_ms for arm) enables get_ticks and get_tbclk for all arm based boards, MX5/MX6 have not yet implemented. Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Dirk Behme <dirk.behme@de.bosch.com> CC: Jason Liu <jason.hui@linaro.org> CC: Marek Vasut <marek.vasut@gmail.com>
* MX31: add missing get_tbclk()Stefano Babic2012-02-271-0/+9
| | | | | Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Helmut Raiger <helmut.raiger@hale.at>
* MX35: add missing get_ticks() and get_tbclk()Stefano Babic2012-02-271-39/+64
| | | | | | | | commit f31a911fe (arm, post: add missing post_time_ms for arm) enables get_ticks and get_tbclk for all arm based boards, MX5/MX6 have not yet implemented. Signed-off-by: Stefano Babic <sbabic@denx.de>
* mx28evk: add SPI supportMatthias Fuchs2012-02-272-3/+49
| | | | | | | | | | | | | This patch adds SPI support for the MX28EVK. Support for an optionally installed SPI flash is also added. An example configuration for redundant envrionment from SPI flash is also added but disabled by default. This patch has been tested on a MX28EVK Rev. D with an installed SST25VF032B 32Mbit SPI flash. Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu> Acked-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx28evk: add USB supportMatthias Fuchs2012-02-272-0/+19
| | | | | | | This patch enables USB host support on the MX28EVK board. Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu> Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx28evk: add RTC supportMatthias Fuchs2012-02-271-0/+8
| | | | | | | | This patch adds support for the MX28 internal RTC and enables u-boot's date command. Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu> Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
* Merge branch 'master' of git://git.denx.de/u-boot-microblazeWolfgang Denk2012-02-263-2/+21
|\ | | | | | | | | | | | | * 'master' of git://git.denx.de/u-boot-microblaze: microblaze: Enable TFTP put command microblaze: avoid interrupt race conditions microblaze: fix build failure due to undefined reference to `get_ticks'
| * microblaze: Enable TFTP put commandStephan Linz2012-02-231-0/+1
| | | | | | | | Signed-off-by: Stephan Linz <linz@li-pro.net>
| * microblaze: avoid interrupt race conditionsStephan Linz2012-02-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The interrupt acknowledge action have to run after the registered interrupt handler. So we have a chance to bear out the corresponding interrupt request in the corresponding controller hardware. With this reordering, we optain a proper interrupt handling for level triggered interrupt sources -- for example the new axi_timer v1.02.a introduced in ISE 13.2. Signed-off-by: Stephan Linz <linz@li-pro.net> Acked-by: Michal Simek <monstr@monstr.eu>
| * microblaze: fix build failure due to undefined reference to `get_ticks'Stephan Linz2012-02-231-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | after commit "common: add possibility for readline_into_buffer timeout" (sha1:9c34831) was applied. The Microblaze generic build fails with error below: common/libcommon.o: In function `cread_line': /devel/u-boot/common/main.c:717: undefined reference to `get_ticks' /devel/u-boot/common/main.c:717: undefined reference to `get_tbclk' /devel/u-boot/common/main.c:720: undefined reference to `get_ticks' Signed-off-by: Stephan Linz <linz@li-pro.net> Acked-by: Michal Simek <monstr@monstr.eu>
* | Revert "ARM: I2C: I2C Multi byte address support"Tom Rini2012-02-212-296/+173
| | | | | | | | | | | | | | | | | | | | This reverts commits 2faa76196af4b3e93bcb9e38ed9090cbd3b06db3 as this has introduced some large problems on all other platforms and have more changes in them than the commit message implies. Cc: Heiko Schocher <hs@denx.de> Cc: Patil, Rachna <rachna@ti.com> Signed-off-by: Tom Rini <trini@ti.com>
* | Revert "ARM: AM33XX: Add AM33XX I2C driver support"Tom Rini2012-02-211-13/+7
|/ | | | | | | | | This reverts commit 498cbdfe62a8330f6c89765bdd15e60328a26511 as we need to revert the i2c changes that add the support for the platform. Cc: Heiko Schocher <hs@denx.de> Cc: Patil, Rachna <rachna@ti.com> Signed-off-by: Tom Rini <trini@ti.com>
* Merge branch 'master' of git://git.denx.de/u-boot-mmcWolfgang Denk2012-02-178-22/+31
|\ | | | | | | | | | | | | | | * 'master' of git://git.denx.de/u-boot-mmc: mmc: make mmc_send_status() more reliable mmc: fix card busy polling Tegra: mmc: Fixed handling of interrupts in timeouts. omap_hsmmc: Wait for CMDI to be clear
| * mmc: make mmc_send_status() more reliableJan Kloetzke2012-02-152-8/+14
| | | | | | | | | | | | | | | | | | Align the card status polling with the Linux kernel and retry the command at least five times. Also some cards apparently mishandle the status bits, so make sure to check the card state too. Signed-off-by: Jan Kloetzke <jan.kloetzke@dspg.com> Cc: Andy Fleming <afleming@gmail.com>
| * mmc: fix card busy pollingJan Kloetzke2012-02-151-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | A MMC/SD card may always go into the programming state (and hence be busy) after a block write. Therefore always check the card state, even after single block writes. On the other hand there is no need to check the card status after a read. Also make sure that errors during busy polling are propagated upwards. Signed-off-by: Jan Kloetzke <jan.kloetzke@dspg.com> Cc: Andy Fleming <afleming@gmail.com>
| * Tegra: mmc: Fixed handling of interrupts in timeouts.Tom Warren2012-02-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | We are seeing occasional timeouts in the Tegra mmc code when we are reading from external MMC cards. These don't seem to be detrimental if they are handled properly. This CL properly clears the "normal interrupt status register" (norintsts) in error conditions. If we don't do this, when we come back into mmc_send_cmd() the register will still contain status from the last transaction. Signed-off-by: Doug Anderson <dianders@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
| * omap_hsmmc: Wait for CMDI to be clearTom Rini2012-02-155-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before we can send a command we need both the DATI (command inhibit on mmc_dat line) bit and CMDI (command inhibit on mmc_cmd line) are clear. The previous behavior of only checking on DATI was insufficient on some cards and incorrect behavior in any case. This makes the code check for both bits being clear and makes the error print more clear as to what happened. DATI_CMDDIS is removed as it was unused elsewhere in the code and stood for 'DATI is set, cmds are disabled still'. Fix originally spotted by Peter Bigot. Tested-by: Peter A. Bigot <bigotp@acm.org> Tested-by: Robert Nelson <robertcnelson@gmail.com> Signed-off-by: Tom Rini <trini@ti.com> Tested-by: Andreas Müller <schnitzeltony@googlemail.com>
OpenPOWER on IntegriCloud