- May 19, 2015
-
-
Hans de Goede authored
Make DRAM_ODT_EN Kconfig setting a bool, add a separate DRAM_ODT_CORRECTION setting for A23 SoCs and use DRAM_ODT_EN Kconfig everywhere instead of only in dram_sun4i.c and hardcoding odt_en elsewhere. Note this commit makes no functional changes for existing boards, its purpose is to allow changing the odt_en value on future A33 boards. For sun4i/sun5i/sun7i boards which set DRAM_ODT_EN=y (which no defconfigs currently do) this patch turns on odt for both the DQ and the DQS lines, whereas previously it was possibly (but not desirable) to turn odt on only for one of them by setting the in DRAM_ODT_EN option to 1 or 2 instead of 3. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Siarhei Siamashka <siarhei.siamashka@gmail.com>
-
Laurent Itti authored
Add support for UART2 (2-pin version but note that RTS/CTS pins are available pn that port for possible future use), can be selected in config by using CONFIG_CONS_INDEX=3 Signed-off-by:
Laurent Itti <laurentitti@gmail.com> Reviewed-by:
Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Hans de Goede <hdegoede@redhat.com>
-
- May 15, 2015
-
-
Fabio Estevam authored
Having bit 22 cleared in the PL310 Auxiliary Control register (shared attribute override enable) has the side effect of transforming Normal Shared Non-cacheable reads into Cacheable no-allocate reads. Coherent DMA buffers in Linux always have a Cacheable alias via the kernel linear mapping and the processor can speculatively load cache lines into the PL310 controller. With bit 22 cleared, Non-cacheable reads would unexpectedly hit such cache lines leading to buffer corruption. This was inspired by a patch from Catalin Marinas [1] and also from recent discussions in the linux-arm-kernel list [2] where Russell King and Rob Herring suggested that bootloaders should initialize the cache. [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2010-November/031810.html [2] https://lkml.org/lkml/2015/2/20/199 Signed-off-by:
Fabio Estevam <fabio.estevam@freescale.com> Acked-by:
Catalin Marinas <catalin.marinas@arm.com>
-
Peng Fan authored
1. Introduce a new structure `struct mxc_i2c_bus`, this structure will used for non-DM and DM. 2. Remove `struct mxc_i2c_regs` structure, but use register offset to access registers based on `base` entry of `struct mxc_i2c_bus`. 3. Remove most `#ifdef I2C_QUIRK_REG`. Using driver_data to contain platform flags. A new flag is introduced, I2C_QUIRK_FLAG. 4. Most functions use `struct mxc_i2c_bus` as one of the parameters. Make most functions common to DM and non-DM, try to avoid duplicated code. 5. Support DM, but pinctrl is not included. Pinmux setting is still set by setup_i2c, but we do not need bus_i2c_init for DM. 6. struct i2c_parms and struct sram_data are removed. 7. Remove bus_i2c_read bus_i2c_write prototype in header file. The frist paramter of bus_i2c_init is modified to i2c index. Add new prototype i2c_idle_bus and force_bus_idle. Since bus_i2c_init is not good for DM I2C and pinctrl is missed, we use a weak function for i2c_idle_bus. Board file take the responsibility to implement this function, like this: " int i2c_idle_bus(struct mxc_i2c_bus *i2c_bus) { if (i2c_bus->index == 0) force_bus_idle(i2c_pads_info0); else if (i2c_bus->index == 1) force_bus_idle(i2c_pads_info1); else xxxxxx } " 8. Introduce a weak function, enable_i2c_clk 9. Tested on an i.MX7 platform. Log info: => dm tree Class Probed Name ---------------------------------------- root [ + ] root_driver simple_bus [ ] |-- soc simple_bus [ ] | |-- aips-bus@30000000 simple_bus [ ] | | |-- anatop@30360000 simple_bus [ ] | | `-- snvs@30370000 simple_bus [ ] | |-- aips-bus@30400000 simple_bus [ ] | `-- aips-bus@30800000 i2c [ ] | |-- i2c@30a20000 i2c [ ] | `-- i2c@30a40000 simple_bus [ ] `-- regulators => i2c dev 0 Setting bus to 0 => i2c probe Valid chip addresses: 08 50 => i2c md 8 31 0031: 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 Signed-off-by:
Peng Fan <Peng.Fan@freescale.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Peng Fan authored
These GPIO_PORTx macros should be in gpio.h, but not in imx-regs.h. Also, imx-regs.h and iomux-v3.h has same macro defintion for GPIO_PORTx, and both of them are included in mxc_i2c.c(include mxc_i2c.h). This will incur build warnings with macro redefinition. Since iomux-v3.h is not compatible with mx27, we can not simply include iomux-v3.h for mx27, so move the GPIO_PORTx to gpio.h to fix the build warning. Signed-off-by:
Peng Fan <Peng.Fan@freescale.com>
-
Simon Glass authored
It is convenient for some boards to implement save_boot_params() in C rather than assembler. Provide a way to return in this case. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Joe Hershberger <joe.hershberger@ni.com>
-
Hans de Goede authored
This commit adds support for the OHCI companion controller, which makes usb-1 devices directly plugged into to usb root port work. Note for now this switches usb-keyboard support for sunxi back from int-queue support to the old interrupt polling method. Adding int-queue support to the ohci code and switching back to int-queue support is in the works. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Marek Vasut <marex@denx.de> Acked-by:
Ian Campbell <ijc@hellion.org.uk>
-
- May 13, 2015
-
-
Thierry Reding authored
Make sure to enable the SMMU when booting the kernel in non-secure mode. This is necessary because some of the SMMU registers are restricted to TrustZone-secured requestors, hence the kernel wouldn't be able to turn the SMMU on. At the same time, enable translation for all memory clients for the same reasons. The kernel will still be able to control SMMU IOVA translation using the per-SWGROUP enable bits. Signed-off-by:
Thierry Reding <treding@nvidia.com> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
Ian Campbell authored
These registers can be used to prevent non-secure world from accessing a megabyte aligned region of RAM, use them to protect the u-boot secure monitor code. At first I tried to do this from s_init(), however this inexplicably causes u-boot's networking (e.g. DHCP) to fail, while networking under Linux was fine. So instead I have added a new weak arch function protect_secure_section() called from relocate_secure_section() and reserved the region there. This is better overall since it defers the reservation until after the sec vs. non-sec decision (which can be influenced by an envvar) has been made when booting the os. Signed-off-by:
Ian Campbell <ijc@hellion.org.uk> [Jan: tiny style adjustment] Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Reviewed-by:
Tom Rini <trini@konsulko.com> Reviewed-by:
Thierry Reding <treding@nvidia.com> Tested-by:
Thierry Reding <treding@nvidia.com> Tested-by:
Ian Campbell <ijc@hellion.org.uk> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
Jan Kiszka authored
This is based on Thierry Reding's work and uses Ian Campell's preparatory patches. It comes with full support for CPU_ON/OFF PSCI services. The algorithm used in this version for turning CPUs on and off was proposed by Peter De Schrijver and Thierry Reding in http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/210881 . It consists of first enabling CPU1..3 via the PMC, just to powergate them again with the help of the Flow Controller. Once the Flow Controller is in place, we can leave the PMC alone while processing CPU_ON and CPU_OFF PSCI requests. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
Jan Kiszka authored
Tegra boards will have to initialize power management for the PSCI support this way. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
Jan Kiszka authored
Will be used for unpowergating CPUs. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Reviewed-by:
Tom Rini <trini@konsulko.com> Reviewed-by:
Thierry Reding <treding@nvidia.com> Tested-by:
Thierry Reding <treding@nvidia.com> Tested-by:
Ian Campbell <ijc@hellion.org.uk> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
Jan Kiszka authored
In this case the secure code lives in RAM, and hence the memory node in the device tree needs to be adjusted. This avoids that the OS will map and possibly access the reservation. Add support for setting CONFIG_ARMV7_SECURE_RESERVE_SIZE to carve out such a region. We only support cutting off memory from the beginning or the end of a RAM bank as we do not want to increase their number (which would happen if punching a hole) for simplicity reasons This will be used in a subsequent patch for Jetson-TK1. Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
Ian Campbell authored
I will need mc_security_cfg0/1 in a future patch and I added the rest while debugging, so thought I might as well commit them. Signed-off-by:
Ian Campbell <ijc@hellion.org.uk> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Reviewed-by:
Tom Rini <trini@konsulko.com> Reviewed-by:
Thierry Reding <treding@nvidia.com> Tested-by:
Thierry Reding <treding@nvidia.com> Tested-by:
Ian Campbell <ijc@hellion.org.uk> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
Jan Kiszka authored
CONFIG_ARMV7_VIRT depends on CONFIG_ARMV7_NONSEC, thus doesn't need to be taken into account additionally. CONFIG_ARMV7_PSCI is only set on boards that support CONFIG_ARMV7_NONSEC, and it only works on those. CC: Tang Yuantian <Yuantian.Tang@freescale.com> CC: York Sun <yorksun@freescale.com> CC: Steve Rae <srae@broadcom.com> CC: Andre Przywara <andre.przywara@linaro.org> Signed-off-by:
Jan Kiszka <jan.kiszka@siemens.com> Tested-by:
Alison Wang <alison.wang@freescale.com> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
Simon Glass authored
Add full link training as a fallback in case the fast link training fails. Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Anatolij Gustschin <agust@denx.de> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
Simon Glass authored
Connect up the clocks and the eDP driver to make these displays work with Tegra124-based devices. Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Anatolij Gustschin <agust@denx.de> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
Simon Glass authored
Allow this to be used by other Tegra SoCs. Signed-off-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
Simon Glass authored
Add functions to provide access to the display clocks on Tegra124 including setting the clock rate for an EDP display. Signed-off-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
Simon Glass authored
Create a function which sets the source clock for a peripheral, given the number of mux bits to adjust. This can then be used more generally. For now, don't export it. Signed-off-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
Simon Glass authored
The get_pll() function can do the wrong thing if passed values that are out of range. Add checks for this and add a function which can return a 'simple' PLL. This can be defined by SoCs with their own clocks. Signed-off-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
Simon Glass authored
Some LCDs require a PMIC to be set up - add a function for this. Signed-off-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
Simon Glass authored
Add a way of displaying a numeric board ID on start-up. Signed-off-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
Simon Glass authored
When enabling a PWM, allow the existing clock rate and source to stand unchanged. Signed-off-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
Simon Glass authored
This is needed for tegra124 also, so make it common and add a header file for tegra124. Signed-off-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Tom Warren <twarren@nvidia.com>
-
- May 10, 2015
-
-
kunhuahuang authored
Add the stm32F4 board's serial ports support. User can use it easily. The user only need to edit the number of the usart. The patch also fix the serial print out. Last, this version of patch fix the first patch checkpatch.pl error. Thanks to Kamil Lulko. Signed-off-by:
kunhuahuang <huangkunhua@gmail.com>
-
- May 07, 2015
-
-
Masahiro Yamada authored
Move headers to mach-socfpga as well. Signed-off-by:
Masahiro Yamada <yamada.masahiro@socionext.com>
-
- May 05, 2015
-
-
Stefan Roese authored
Move arch/arm/include/asm/arch-armada-xp/* -> arch/arm/mach-mvebu/include/mach/* Additionally the SYS_SOC is renamed from "armada-xp" to "mvebu". With this change all these files can better be shared with other, newer Mavell MVEBU SoC's. Like the upcoming Armada 38x support. Signed-off-by:
Stefan Roese <sr@denx.de> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Tested-by:
Kevin Smith <kevin.smith@elecsyscorp.com> Tested-by:
Dirk Eibach <dirk.eibach@gdsys.cc>
-
- May 04, 2015
-
-
Hans de Goede authored
The 2/3 usb-phys on the sunxi SoCs are really a single separate functional block, and are modelled as such in devicetree. So once we've moved all the sunxi usb code to the driver-model then phy_probe will be called once for the entire block from the driver-model enumeration code. Move to this now as this also avoids problems with phy_probe being called multiple times once we introduce ohci support. This also allows us to get rid of the sunxi_usb_phy_enabled_count variable as phy_probe now is guaranteed to be called only once. Since we're effectively rewriting the probe / remove functions, move them to the end of the file while we are at it, as that is the most logical place for them. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Ian Campbell <ijc@hellion.org.uk>
-
Hans de Goede authored
The usbc.? files now only contain usb-phy related code, rename them to make this clear. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Ian Campbell <ijc@hellion.org.uk>
-
Hans de Goede authored
Rename the sunxi_usbc_foo functions to sunxi_usb_phy_bar to make it clear that these are usb-phy functions. Also change the verbs & nouns in the suffix to match the verbs & nouns used in the Linux kernels generic phy framework. This patch purely renames things, it contains no functional changes. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Ian Campbell <ijc@hellion.org.uk>
-
Hans de Goede authored
This is the only function left in sunxi/usbc.c which is not phy related, so remove it. This is a preparation patch for turning the usbc.c code into a proper usb phy driver. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Ian Campbell <ijc@hellion.org.uk>
-
Hans de Goede authored
Now that all sunxi boards are using driver-model for gpio (*), we can remove the non driver-model support from the axp gpio code, and the glue to call into the axp gpio code from the sunxi_gpio non driver-model code. *) For the regular u-boot build, SPL still uses non driver-model gpio for now, but the SPL never uses axp gpios support and we were already not building axp-gpio support for the SPL. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Acked-by:
Ian Campbell <ijc@hellion.org.uk>
-
Hans de Goede authored
netdev.h should not be included in driver-model enabled builds (doing so causes compiler warnings about struct eth_driver not being declared), but we do use sunxi_gmac_initialize in the driver-model case, so move it out of netdev.h . Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Acked-by:
Ian Campbell <ijc@hellion.org.uk>
-
Hans de Goede authored
Add driver-model support to the axp_gpio code, note that this needs a small tweak to the driver-model version of sunxi_name_to_gpio to deal with the vbus detect and enable pins which are not standard numbered gpios. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Acked-by:
Ian Campbell <ijc@hellion.org.uk>
-
Hans de Goede authored
Move the axp-gpio code out of the drivers/power/axp*.c code, and into a new separate axpi-gpio driver. This change drops supports for the gpio3 pin on the axp209, as that requires special handling, and no boards are using it. Besides cleaning things up by moving the code to a separate driver, as a bonus this change also adds support for the (non vusb) gpio pins on the axp221 and the gpio pins on the axp152. The new axp-gpio driver gets its own Kconfig option, and is only enabled on boards which need it. Besides that it only gets enabled in the regular u-boot build and not for the SPL as we never need it in the SPL. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Acked-by:
Ian Campbell <ijc@hellion.org.uk>
-
Hans de Goede authored
Move the register helpers used to access the registers via p2wi resp. rsb bus on the otherwise identical axp221 and axp223 pmics to a separate file, so that they can be used by the upcoming standalone axp gpio driver too. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Acked-by:
Ian Campbell <ijc@hellion.org.uk>
-
Vishnu Patekar authored
Based on Allwinner dram init code from the a33 bsp: https://github.com/allwinner-zh/bootloader/blob/master/basic_loader/bsp/bsp_for_a33/init_dram/mctl_hal.c Initial u-boot port by Vishnu Patekar, major cleanup / rewrite by Hans de Goede. Signed-off-by:
Vishnu Patekar <vishnupatekar0510@gmail.com> Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Ian Campbell <ijc@hellion.org.uk>
-
Hans de Goede authored
Add support for the new second DRAM PLL found on the A33 SoC. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Ian Campbell <ijc@hellion.org.uk>
-
Hans de Goede authored
This is a preparation patch for adding A33 support, which will have a mach name of sun8i-a33. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Ian Campbell <ijc@hellion.org.uk>
-