]> git.sur5r.net Git - u-boot/log
u-boot
6 years agoclk: rockchip: clk_rk3368: Implement "assign-clock-parent"
David Wu [Sat, 13 Jan 2018 06:07:04 +0000 (14:07 +0800)]
clk: rockchip: clk_rk3368: Implement "assign-clock-parent"

Implement the setting parent for gmac clock, and add internal
pll div set for mac clk.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agoclk: rockchip: clk_rk3288: Implement "assign-clock-parent" and "assign-clock-rate"
David Wu [Sat, 13 Jan 2018 06:06:33 +0000 (14:06 +0800)]
clk: rockchip: clk_rk3288: Implement "assign-clock-parent" and "assign-clock-rate"

The RK3288 CRU-node assigns rates to a number of clocks that are not
implemented in the RK3288 clock-driver (but which have been
sufficiently initialised from rkclk_init()): for these clocks, we
implement the gmac clock set parent, but simply ignore the
others' set_rate() operation and return 0 to signal success.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agoARM: dts: rk3288: Remove unused LCDC clock assigned
David Wu [Sat, 13 Jan 2018 06:06:16 +0000 (14:06 +0800)]
ARM: dts: rk3288: Remove unused LCDC clock assigned

The LCDC assigned rate is 0, it will make boot error,
error log:"pll_para_config: the frequency can not be
 0 Hz". Remove them, and the lcdc driver will do the
correct clock rate setting.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agoconfig: evb-rk3229: Enable rk gmac configs
David Wu [Sat, 13 Jan 2018 06:05:51 +0000 (14:05 +0800)]
config: evb-rk3229: Enable rk gmac configs

Add gmac config support for rk3229 evb.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agonet: gmac_rockchip: Add support for the RK3228 GMAC
David Wu [Sat, 13 Jan 2018 06:05:30 +0000 (14:05 +0800)]
net: gmac_rockchip: Add support for the RK3228 GMAC

The GMAC in the RK3228 once again is identical to the incarnation in
the RK3288 and the RK3399, except for where some of the configuration
and control registers are located in the GRF.

This adds the RK3368-specific logic necessary to reuse this driver.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agoclk: rockchip: Add rk322x gamc clock support
David Wu [Sat, 13 Jan 2018 06:05:12 +0000 (14:05 +0800)]
clk: rockchip: Add rk322x gamc clock support

Assuming mac_clk is fed by an external clock, set clk_rmii_src
clock select control register from IO for rgmii interface.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agorockchip: pinctrl: Add rk322x gmac pinctrl support
David Wu [Sat, 13 Jan 2018 06:04:51 +0000 (14:04 +0800)]
rockchip: pinctrl: Add rk322x gmac pinctrl support

Set gmac pins iomux and rgmii tx pins to 12ma drive-strength,
clean others to 2ma.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agorockchip: pinctrl: rk322x: Move the iomux definitions into pinctrl-driver
David Wu [Sat, 13 Jan 2018 06:04:26 +0000 (14:04 +0800)]
rockchip: pinctrl: rk322x: Move the iomux definitions into pinctrl-driver

Clean the iomux definitions at grf_rk322x.h, and move them into
pinctrl-driver for resolving the compiling error of redefinition.
After that, define the uart2 iomux at rk322x-board file.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agorockchip: dts: rk3328-evb: Enable gmac2io for rk3328-evb
David Wu [Sat, 13 Jan 2018 06:04:11 +0000 (14:04 +0800)]
rockchip: dts: rk3328-evb: Enable gmac2io for rk3328-evb

Add rk3328-evb gmac support.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agorockchip: dts: rk3328: Add gmac2io support
David Wu [Sat, 13 Jan 2018 06:03:56 +0000 (14:03 +0800)]
rockchip: dts: rk3328: Add gmac2io support

Add basic dts configuration for rk3328 gmac2io.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agorockchip: configs: Enable GMAC configs for evb-rk3328
David Wu [Sat, 13 Jan 2018 06:03:23 +0000 (14:03 +0800)]
rockchip: configs: Enable GMAC configs for evb-rk3328

Enable GMAC configs for evb-rk3328

Signed-off-by: David Wu <david.wu@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agonet: gmac_rockchip: Add rk3328 gmac support
David Wu [Sat, 13 Jan 2018 06:03:04 +0000 (14:03 +0800)]
net: gmac_rockchip: Add rk3328 gmac support

The GMAC2IO in the RK3328 once again is identical to the incarnation in
the RK3288 and the RK3399, except for where some of the configuration
and control registers are located in the GRF.

This adds the RK3328-specific logic necessary to reuse this driver.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agoclk: rockchip: Add rk3328 gamc clock support
David Wu [Sat, 13 Jan 2018 06:02:36 +0000 (14:02 +0800)]
clk: rockchip: Add rk3328 gamc clock support

The rk3328 soc has two gmac controllers, one is gmac2io,
the other is gmac2phy. We use the gmac2io rgmii interface
for 1000M phy here.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agorockchip: pinctrl: Add rk3328 gmac pinctrl support
David Wu [Sat, 13 Jan 2018 06:02:07 +0000 (14:02 +0800)]
rockchip: pinctrl: Add rk3328 gmac pinctrl support

Need to set gmac m1 pins iomux, gmac m0 tx pins, select bit2
and bit10 at com iomux register. After that, set rgmii m1 tx
pins to 12ma drive-strength, and clean others to 2ma.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agorockchip: pinctrl: rk3328: Move the iomux definitions into pinctrl-driver
David Wu [Sat, 13 Jan 2018 06:01:45 +0000 (14:01 +0800)]
rockchip: pinctrl: rk3328: Move the iomux definitions into pinctrl-driver

Clean the iomux definitions at grf_rk3328.h, and move them into
pinctrl-driver for resolving the compiling error of redefinition.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agonet: gmac_rockchip: Add support for the RV1108 GMAC
David Wu [Sat, 13 Jan 2018 06:01:12 +0000 (14:01 +0800)]
net: gmac_rockchip: Add support for the RV1108 GMAC

The rv1108 GMAC only support rmii interface, so need to add the
set_rmii() ops. Use the phy current interface to set rmii or
rgmii ops. At the same time, need to set the mac clock rate of
rmii with 50M, the clock rate of rgmii with 125M.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agorockchip: pinctrl: rv1108: Move the iomux definitions into pinctrl-driver
David Wu [Sat, 13 Jan 2018 05:53:57 +0000 (13:53 +0800)]
rockchip: pinctrl: rv1108: Move the iomux definitions into pinctrl-driver

If we include both the rk3288_grf.h and rv1108_grf.h, it will cause the
conflicts of redefinition. Clean the iomux definitions at grf_rv1108.h,
and move them into pinctrl-driver.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agorockchip: grf_rv1108.h: Fix the grf offsets
David Wu [Sat, 13 Jan 2018 05:53:56 +0000 (13:53 +0800)]
rockchip: grf_rv1108.h: Fix the grf offsets

The last 4 grf registers offset of rv1108 are wrong, fix them
for correct usage.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agorockchip: configs: Enable CONFIG_NET_RANDOM_ETHADDR for rk3288-evb
David Wu [Sat, 13 Jan 2018 05:53:55 +0000 (13:53 +0800)]
rockchip: configs: Enable CONFIG_NET_RANDOM_ETHADDR for rk3288-evb

If the Ethernet address is not set, the network can't work,
enable the random address config for default use.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agorockchip: dts: rk3399-evb: Change the tx/rx delay value for transmission quality
David Wu [Sat, 13 Jan 2018 05:53:54 +0000 (13:53 +0800)]
rockchip: dts: rk3399-evb: Change the tx/rx delay value for transmission quality

Give the mac controller the correct tx-delay and rx-delay value
for the rgmii mode transmission. If they are not matched, there
would be Ethernet packets lost, the net feature may not work.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
6 years agorockchip: clk: rk3399: accept all assigned-clocks from the 'cru'-node
Philipp Tomsich [Mon, 8 Jan 2018 13:00:27 +0000 (14:00 +0100)]
rockchip: clk: rk3399: accept all assigned-clocks from the 'cru'-node

The RK3399 CRU-node assigns rates to a number of clocks that are not
implemented in the RK3399 clock-driver (but which have been
sufficiently initialised from rkclk_init()): for these clocks, we
simply ignore the set_rate() operation and return 0 to signal success.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tested-by: David Wu <david.wu@rock-chips.com>
Series-changes: 2
- Fixed David's email address.

6 years agoclk: implement clk_set_defaults()
Philipp Tomsich [Mon, 8 Jan 2018 12:59:18 +0000 (13:59 +0100)]
clk: implement clk_set_defaults()

Linux uses the properties 'assigned-clocks', 'assigned-clock-parents'
and 'assigned-clock-rates' to configure the clock subsystem for use
with various peripheral nodes.

This implements clk_set_defaults() and hooks it up with the general
device probibin in drivers/core/device.c: when a new device is probed,
clk_set_defaults() will be called for it and will process the
properties mentioned above.

Note that this functionality is designed to fail gracefully (i.e. if a
clock-driver does not implement set_parent(), we simply accept this
and ignore the error) as not to break existing board-support.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tested-by: David Wu <david.wu@rock-chips.com>
Series-changes: 2
- Fixed David's email address.

Series-version: 2

Cover-letter:
clk: support assigned-clock, assigned-clock-parents, assigned-clock-rates

For various peripherals on Rockchip SoCs (e.g. for the Ethernet GMAC),
the parent-clock needs to be set via the DTS.  This adds the required
plumbing and implements the GMAC case for the RK3399.
END

6 years agorockchip: clk: rk3399: implement set_parent() operation
Philipp Tomsich [Mon, 8 Jan 2018 12:11:01 +0000 (13:11 +0100)]
rockchip: clk: rk3399: implement set_parent() operation

This implements the (newly added) set_parent() operation for the
RK3399 with a focus on allowing the RGMII clock parent to be
configured via the assigned-clock-parents property of the GMAC node.

This implementation supports only the GMAC (in fact only the RGMII
clock parent) and allows to set this clock's parent either to the
internal SCLK_GMAC or to an external clock input (identifiable by it
providing a 'clock-output-name' of "gmac_clkin").

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tested-by: David Wu <david.wu@rock-chips.com>
Series-changes: 2
- Fixed David's email address.

6 years agoclk: refactor clk_get_by_index() into clk_get_by_indexed_prop()
Philipp Tomsich [Mon, 8 Jan 2018 10:18:18 +0000 (11:18 +0100)]
clk: refactor clk_get_by_index() into clk_get_by_indexed_prop()

The logic in clk_get_by_index() may be useful for other properties
than 'clocks': e.g. 'assigned-clocks' and 'assigned-clock-parents'
follows the same model.

This commit refactors clk_get_by_index() by introducing an internal
function clk_get_by_indexed_prop() that allows to specify the name
of the property to process.  The original clk_get_by_index() call
is simply directed through this helper function with the property
name fixed to "clocks".

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tested-by: David Wu <david.wu@rock-chips.com>
Series-changes: 2
- Fixed David's email address.

6 years agoclk: add clk_set_parent()
Philipp Tomsich [Mon, 8 Jan 2018 10:15:08 +0000 (11:15 +0100)]
clk: add clk_set_parent()

Clocks may support multiple parents: this change introduces an
optional operation on the clk-uclass to set a clock's parent.

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tested-by: David Wu <david.wu@rock-chips.com>
Series-changes: 2
- Fixed David's email address.

6 years agoclk: clk_stm32f: Fix PLLSAICFGR_PLLSAIP_4 divider value
Patrice Chotard [Fri, 19 Jan 2018 17:02:40 +0000 (18:02 +0100)]
clk: clk_stm32f: Fix PLLSAICFGR_PLLSAIP_4 divider value

PLLSAIP divider uses 2 bits (bits 16 and 17) into RCC_PLLSAICFGR
register, available combination are :
  00: PLLSAIP = 2
  01: PLLSAIP = 4
  10: PLLSAIP = 6
  11: PLLSAIP = 8

Previously, the divider value was incorrectly set to 6.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
6 years agoARM: AM43XX: Call hw_data_init() again after relocation to update *ctrl
Faiz Abbas [Fri, 19 Jan 2018 10:02:48 +0000 (15:32 +0530)]
ARM: AM43XX: Call hw_data_init() again after relocation to update *ctrl

hw_data_init() is called before relocation to initialise hardware data.
Since ctrl is initialized to OMAP_SRAM_SCRATCH_SYS_CTRL in
arch/arm/mach-omap2/am33xx/hw_data.c, the pointer *ctrl will not be
updated during relocation and will hold a stale value.

Therefore call hw_data_init() again after relocation to
reinitialize *ctrl.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
6 years agoconfigs: Replace CONFIG_ISW_ENTRY_ADDR with CONFIG_SYS_TEXT_BASE
Faiz Abbas [Fri, 19 Jan 2018 10:02:47 +0000 (15:32 +0530)]
configs: Replace CONFIG_ISW_ENTRY_ADDR with CONFIG_SYS_TEXT_BASE

Since 7e0ed13 ("Convert ARCH_OMAP2PLUS boards' CONFIG_SYS_TEXT_BASE to
Kconfig"), a default SYS_TEXT_BASE was set for all ARCH_OMAP2PLUS devices.
CONFIG_ISW_ENTRY_ADDR is used to set SYS_TEXT_BASE in qspi boot.

Simplify this by directly assigning SYS_TEXT_BASE in the defconfig.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
6 years agotools: remove unused ret
Jelle van der Waa [Thu, 18 Jan 2018 19:19:43 +0000 (20:19 +0100)]
tools: remove unused ret

Remove unused ret from fw_env_flush.

Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agoclk: clk_stm32f: Move SYSCFG clock setup into configure_clocks()
Patrice Chotard [Thu, 18 Jan 2018 13:10:05 +0000 (14:10 +0100)]
clk: clk_stm32f: Move SYSCFG clock setup into configure_clocks()

Move SYSCFG clock setup into configure_clocks() instead of calling
clock_setup() from board file.

As this clock is only needed in case of ethernet enabled and as
both stm32f4 and stm32f7 are using the Designware ethernet IP,
we use CONFIG_ETH_DESIGNWARE to only enable this clock if needed.

Move the RMII setup from board_early_init_f() to board_init()
to insure that RMII bit is set only when clock driver is initialized.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
6 years agoclk: clk_stm32f: Remove STMMAC clock setup
Patrice Chotard [Thu, 18 Jan 2018 13:10:04 +0000 (14:10 +0100)]
clk: clk_stm32f: Remove STMMAC clock setup

Thanks to 'commit ba1f96672522 ("net: designware: add clock support")'
we don't need anymore to setup the STMMAC clock in board.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Vikas Manocha <vikas.manocha@st.com>
6 years agoARM: dts: stm32: Add STMMAC clocks for stm32f746
Patrice Chotard [Thu, 18 Jan 2018 13:10:03 +0000 (14:10 +0100)]
ARM: dts: stm32: Add STMMAC clocks for stm32f746

Add ETHMAC, ETHMACRX and ETHMACTX clocks for STMMAC.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Vikas Manocha <vikas.manocha@st.com>
6 years agoatomic-long: Fix warnings on arm64
Bradley Bolen [Sat, 27 Jan 2018 03:11:04 +0000 (22:11 -0500)]
atomic-long: Fix warnings on arm64

Several inline functions in this file reference undefined functions in
U-Boot.  For example:

atomic-long.h:73:9: warning: implicit declaration of function
'atomic64_sub_and_test'
atomic-long.h:80:9: warning: implicit declaration of function
'atomic64_dec_and_test'
atomic-long.h:87:9: warning: implicit declaration of function
'atomic64_inc_and_test'

Handle this the same as the 32 bit build by wrapping these functions in
a __UBOOT__ check.

Signed-off-by: Bradley Bolen <bradleybolen@gmail.com>
6 years agoARM: dts: stm32: add stm32429-eval-u-boot dts file
Patrice Chotard [Thu, 18 Jan 2018 12:39:34 +0000 (13:39 +0100)]
ARM: dts: stm32: add stm32429-eval-u-boot dts file

   _ Add gpio compatible and aliases for stm32f469
   _ Add FMC sdram node
   _ Add "u-boot,dm-pre-reloc" for rcc, fmc, fixed-clock, pinctrl,
     pwrcfg and gpio nodes.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
6 years agoARM: dts: stm32: Add STM32F429 Evaluation board support
Patrice Chotard [Thu, 18 Jan 2018 12:39:33 +0000 (13:39 +0100)]
ARM: dts: stm32: Add STM32F429 Evaluation board support

This DT file comes from kernel v4.15, this board offers :

   _ STM32F429NIH6 microcontroller
   _ 4.3” color TFT LCD with resistive touchscreen (480 x 272 pixels)
   _ Six 5 V power supply options:
        Power jack
        ST-LINK/V2 USB connector
        User USB HS connector
        User USB FS1 connector
        User USB FS2 connector
        Daughterboard
   _ SAI Audio DAC, stereo audio jack which supports headset with
     microphone
   _ Stereo digital microphone, audio terminal connector used to connect
     external speakers
   _ 2 GBytes (or more) SDIO interface MicroSD card
   _ RF EEPROM on I2 C compatible serial interface
   _ RS-232 communication
   _ IrDA transceiver
   _ JTAG/SWD and ETM trace debug support, ST-LINK/V2 embedded
   _ IEEE-802.3-2002 compliant Ethernet connector
   _ Camera module
   _ 8M x 32-bit SDRAM, 1M x 16-bit SRAM and 8M x 16-bit NOR Flash
   _ Joystick with 4-directional control and selector
   _ Reset, Wakeup and Tamper buttons
   _ 4 color user LEDs
   _ Extension connectors & memory connectors for daughterboard or
     wrapping board
   _ USB OTG HS and FS with Micro-AB connectors
   _ RTC with backup battery
   _ CAN2.0A/B compliant connection
   _ Potentiometer
   _ Motor control connector

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
6 years agoboard: stm32: Add stm32f429-evaluation board support
Patrice Chotard [Thu, 18 Jan 2018 12:39:32 +0000 (13:39 +0100)]
board: stm32: Add stm32f429-evaluation board support

Add stm32f429-evaluation board support.
For more information, please visit:
http://www.st.com/en/evaluation-tools/stm32429i-eval.html

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
6 years agoconfigs: stm32f: Remove STM32_HSE_HZ for all STM32F series
Patrice Chotard [Thu, 18 Jan 2018 12:39:31 +0000 (13:39 +0100)]
configs: stm32f: Remove STM32_HSE_HZ for all STM32F series

As clk_stm32f driver is able to retrieve HSE frequency from DT,
CONFIG_STM32_HSE_HZ becomes useless.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
6 years agoclk: stm32: retrieve external oscillator frequency from DT
Patrice Chotard [Thu, 18 Jan 2018 12:39:30 +0000 (13:39 +0100)]
clk: stm32: retrieve external oscillator frequency from DT

All current STM32F4 supported boards uses a 8MHz external oscillator.
All current STM32F7 supported boards uses a 25MHz external oscillator.

In order to introduce the new stm32f429-evaluation board which uses a
25MHz external oscillator without creating a dedicated struct
stm32_clk_info for this board, retrieve the external oscillator
frequency from DT and set pll_m accordingly to obtain 1MHz for the VCO.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
6 years agoARM: dts: stm32: add "u-boot, dm-pre-reloc" for clk_hse in stm32f7-u-boot
Patrice Chotard [Thu, 18 Jan 2018 12:39:29 +0000 (13:39 +0100)]
ARM: dts: stm32: add "u-boot, dm-pre-reloc" for clk_hse in stm32f7-u-boot

In order to retrieve the clk_hse fixed clock phandle in clk_stm32f driver,
add "u-boot,dm-pre-reloc" property in Uboot specific DT file.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
6 years agoarm: bootm-fdt.c: fix compiler warning
Heiko Schocher [Wed, 17 Jan 2018 06:00:37 +0000 (07:00 +0100)]
arm: bootm-fdt.c: fix compiler warning

compiling U-Boot with bosch_mpcxxxxd_sd_defconfig
drops warning:

arch/arm/lib/bootm-fdt.c: In function ‘arch_fixup_fdt’:
arch/arm/lib/bootm-fdt.c:37:6: warning: unused variable ‘ret’ [-Wunused-variable]
  int ret = 0;
      ^~~

Fix it.

Signed-off-by: Heiko Schocher <hs@denx.de>
6 years agoarm: mach-omap2: Pass args to secure ROM in SRAM in SPL
Andrew F. Davis [Tue, 16 Jan 2018 20:25:48 +0000 (14:25 -0600)]
arm: mach-omap2: Pass args to secure ROM in SRAM in SPL

When in early SPL we make some secure ROM calls that can effect
DRAM, due to this it is more stable to store the args for these
calls in SRAM, but uninitialized and zero'd globals are placed
in BSS, located in DRAM. Force our args into the data section
which is in SRAM during SPL.

Signed-off-by: Andrew F. Davis <afd@ti.com>
6 years agocommon: board_r: Fix style violations
Mario Six [Mon, 15 Jan 2018 10:10:30 +0000 (11:10 +0100)]
common: board_r: Fix style violations

Fix some style violations in the board_r file.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agocommon: board_f: Fix style violations
Mario Six [Mon, 15 Jan 2018 10:10:02 +0000 (11:10 +0100)]
common: board_f: Fix style violations

Fix some style violations in the board_f file.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agoserial: ns16550: Fix style violation
Mario Six [Mon, 15 Jan 2018 10:09:49 +0000 (11:09 +0100)]
serial: ns16550: Fix style violation

Clarify the computation precedence in two ternary operator
constructions.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agoinclude: dm: Fix 'devioe'/'devuce' typos
Mario Six [Mon, 15 Jan 2018 10:09:36 +0000 (11:09 +0100)]
include: dm: Fix 'devioe'/'devuce' typos

There are some typos in the documentation of some functions in read.h;
fix those.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 years agogpio: mpc8xxx: Make live-tree compatible
Mario Six [Mon, 15 Jan 2018 10:07:50 +0000 (11:07 +0100)]
gpio: mpc8xxx: Make live-tree compatible

Make the MPC8xxx GPIO driver compatible with a live device tree.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agogpio: mpc8xxx: Make compatible with more SoCs
Mario Six [Mon, 15 Jan 2018 10:07:49 +0000 (11:07 +0100)]
gpio: mpc8xxx: Make compatible with more SoCs

Finally, make the mpc8xxx driver capable of handling more GPIO devices;
this entails adding a special case for the MPC5121 SoC, and adding a set
of new compatible strings.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agogpio: mpc8xxx: Rename Kconfig option, structures, and functions
Mario Six [Mon, 15 Jan 2018 10:07:48 +0000 (11:07 +0100)]
gpio: mpc8xxx: Rename Kconfig option, structures, and functions

Rename the Kconfig option, structures (and their members), as well as
functions of the mpc85xx driver to include mpc8xxx to reflect the more
generic usage.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agogpio: mpc85xx: Rename driver file to mpc8xxx
Mario Six [Mon, 15 Jan 2018 10:07:47 +0000 (11:07 +0100)]
gpio: mpc85xx: Rename driver file to mpc8xxx

In preparation to making the MPC85xx GPIO driver useable for a broader
range of SoCs, rename the driver file.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agogpio: mpc85xx_gpio: Fix style violations
Mario Six [Mon, 15 Jan 2018 10:07:46 +0000 (11:07 +0100)]
gpio: mpc85xx_gpio: Fix style violations

Fix some style violations in the MPC85XX GPIO driver.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agogpio: pca953x_gpio: Make live-tree compatible
Mario Six [Mon, 15 Jan 2018 10:07:45 +0000 (11:07 +0100)]
gpio: pca953x_gpio: Make live-tree compatible

Make the pca953x_gpio driver compatible with a live device tree.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agogpio: pca953x_gpio: Fix style violations
Mario Six [Mon, 15 Jan 2018 10:07:44 +0000 (11:07 +0100)]
gpio: pca953x_gpio: Fix style violations

Fix some style violations in the pca953x_gpio driver.

Signed-off-by: Mario Six <mario.six@gdsys.cc>
6 years agoInitialize SHA buffer size var in passwd_abort
Martin Etnestad [Fri, 12 Jan 2018 08:04:38 +0000 (09:04 +0100)]
Initialize SHA buffer size var in passwd_abort

The call to hash_block in passwd_abort fails with error ENOSPC on some
systems. The reason is that the variable which specifies the size of the
buffer to contain the computed hash does not get initialized.

This patch initializes the variable with the size of the buffer.

Signed-off-by: Martin Etnestad <martin.etnestad@appeartv.com>
6 years agoMerge git://git.denx.de/u-boot-usb
Tom Rini [Sun, 28 Jan 2018 14:21:53 +0000 (09:21 -0500)]
Merge git://git.denx.de/u-boot-usb

6 years agousb: host: Drop unused hcd_name from r8a66597-hcd.c
Tom Rini [Sat, 27 Jan 2018 20:22:56 +0000 (15:22 -0500)]
usb: host: Drop unused hcd_name from r8a66597-hcd.c

The variable hcd_name is unsued, drop.

Cc: Marek Vasut <marex@denx.de>
Cc: Chris Brandt <chris.brandt@renesas.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agousb: Remove isp116x-hcd support
Tom Rini [Sat, 27 Jan 2018 20:21:47 +0000 (15:21 -0500)]
usb: Remove isp116x-hcd support

The isp116x-hcd driver is extremely long unused, so just remove it.

Cc: Marek Vasut <marex@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agoMerge git://git.denx.de/u-boot-uniphier
Tom Rini [Sun, 28 Jan 2018 02:55:04 +0000 (21:55 -0500)]
Merge git://git.denx.de/u-boot-uniphier

6 years agoMerge branch 'rmobile-mx' of git://git.denx.de/u-boot-sh
Tom Rini [Sat, 27 Jan 2018 19:50:52 +0000 (14:50 -0500)]
Merge branch 'rmobile-mx' of git://git.denx.de/u-boot-sh

6 years agoARM: uniphier: enable HS200 support for uniphier_v8_defconfig
Masahiro Yamada [Thu, 25 Jan 2018 04:43:19 +0000 (13:43 +0900)]
ARM: uniphier: enable HS200 support for uniphier_v8_defconfig

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
6 years agoMerge git://git.denx.de/u-boot-usb
Tom Rini [Sat, 27 Jan 2018 19:48:52 +0000 (14:48 -0500)]
Merge git://git.denx.de/u-boot-usb

6 years agoMerge git://git.denx.de/u-boot-socfpga
Tom Rini [Sat, 27 Jan 2018 19:48:41 +0000 (14:48 -0500)]
Merge git://git.denx.de/u-boot-socfpga

6 years agoARM: rmobile: Convert R8A7791 Porter board to DM and DT
Marek Vasut [Sun, 7 Jan 2018 18:32:56 +0000 (19:32 +0100)]
ARM: rmobile: Convert R8A7791 Porter board to DM and DT

Convert the R8A7791 Porter board to DM and DT. This implies mostly
enabling the necessary configuration options and plucking out the
ad-hoc configuration from the board file. Moreover, the pre-reloc
malloc size was increased to allow the clock driver to start up
early without running out of malloc space and the early stack was
moved further up in the DRAM to avoid rewriting U-Boot itself.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
6 years agoARM: rmobile: Enable OF_CONTROL on RCar Gen2
Marek Vasut [Sun, 7 Jan 2018 19:26:04 +0000 (20:26 +0100)]
ARM: rmobile: Enable OF_CONTROL on RCar Gen2

Since the DTs are now in place, enable OF control so that they get
bundled into the U-Boot.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
6 years agoARM: dts: rmobile: Add SoC and board U-Boot DT extras
Marek Vasut [Wed, 17 Jan 2018 21:47:21 +0000 (22:47 +0100)]
ARM: dts: rmobile: Add SoC and board U-Boot DT extras

Add U-Boot DT extras for each SoC and board. This marks the required
nodes with u-boot,dm-pre-reloc to start clock and PRR early on while
avoiding modification of the DTs imported from Linux.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
6 years agoARM: dts: rmobile: Add rudimentary R8A7790 Stout DT
Marek Vasut [Wed, 24 Jan 2018 14:52:56 +0000 (15:52 +0100)]
ARM: dts: rmobile: Add rudimentary R8A7790 Stout DT

The Stout board is not supported in Linux, so add a rudimentary DTS
for H2 Stout as a placeholder for when a proper DTS is available.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
---
NOTE: The Stout is already being shipped over, so proper DTS for both
      U-Boot and Linux will happen once it's delivered :-)

6 years agoARM: dts: rmobile: Import R8A7794 DTS from Linux 4.15-rc8
Marek Vasut [Sun, 7 Jan 2018 19:18:28 +0000 (20:18 +0100)]
ARM: dts: rmobile: Import R8A7794 DTS from Linux 4.15-rc8

Import the Renesas R8A7794 DTS and headers from upstream Linux kernel v4.15-rc8,
commit bebc6082da0a9f5d47a1ea2edc099bf671058bd4 .

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
6 years agoARM: dts: rmobile: Import R8A7793 DTS from Linux 4.15-rc8
Marek Vasut [Sun, 7 Jan 2018 19:18:11 +0000 (20:18 +0100)]
ARM: dts: rmobile: Import R8A7793 DTS from Linux 4.15-rc8

Import the Renesas R8A7793 DTS and headers from upstream Linux kernel v4.15-rc8,
commit bebc6082da0a9f5d47a1ea2edc099bf671058bd4 .

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
6 years agoARM: dts: rmobile: Import R8A7792 DTS from Linux 4.15-rc8
Marek Vasut [Sun, 7 Jan 2018 19:17:53 +0000 (20:17 +0100)]
ARM: dts: rmobile: Import R8A7792 DTS from Linux 4.15-rc8

Import the Renesas R8A7792 DTS and headers from upstream Linux kernel v4.15-rc8,
commit bebc6082da0a9f5d47a1ea2edc099bf671058bd4 .

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
6 years agoARM: dts: rmobile: Import R8A7791 DTS from Linux 4.15-rc8
Marek Vasut [Sun, 7 Jan 2018 19:17:39 +0000 (20:17 +0100)]
ARM: dts: rmobile: Import R8A7791 DTS from Linux 4.15-rc8

Import the Renesas R8A7791 DTS and headers from upstream Linux kernel v4.15-rc8,
commit bebc6082da0a9f5d47a1ea2edc099bf671058bd4 .

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
6 years agoARM: dts: rmobile: Import R8A7790 DTS from Linux 4.15-rc8
Marek Vasut [Sun, 7 Jan 2018 19:17:23 +0000 (20:17 +0100)]
ARM: dts: rmobile: Import R8A7790 DTS from Linux 4.15-rc8

Import the Renesas R8A7790 DTS and headers from upstream Linux kernel v4.15-rc8,
commit bebc6082da0a9f5d47a1ea2edc099bf671058bd4 .

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
6 years agonet: sh_eth: Add DM and DT support
Marek Vasut [Fri, 19 Jan 2018 17:57:17 +0000 (18:57 +0100)]
net: sh_eth: Add DM and DT support

Add DM capable code into the SH ethernet driver and support probing
both from DT and pdata. The legacy non-DM, non-DT support is retained
as there are still systems in the tree which are not DM or DT capable.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: sh_eth: Clump legacy functions together
Marek Vasut [Sun, 21 Jan 2018 14:31:48 +0000 (15:31 +0100)]
net: sh_eth: Clump legacy functions together

Move the legacy functions around, so that they can be wrapped in a
massive ifdef CONFIG_DM_ETH once DM support is added. No functional
change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: sh_eth: Split sh_eth_init
Marek Vasut [Sun, 21 Jan 2018 14:10:21 +0000 (15:10 +0100)]
net: sh_eth: Split sh_eth_init

Split sh_eth_init() function into smaller chunks, which can
be called from both DM and non-DM code while handling the
specifics of both configurations.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: sh_eth: Separate out MAC address programming
Marek Vasut [Sun, 21 Jan 2018 13:55:44 +0000 (14:55 +0100)]
net: sh_eth: Separate out MAC address programming

Pull out the code for writing MAC address into the NIC into a
separate function, so it can be reused by both DM and non-DM
code. This is done in preparation for DM support, which handles
MAC address programming separately.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: sh_eth: Split sh_eth_recv
Marek Vasut [Sun, 21 Jan 2018 14:39:50 +0000 (15:39 +0100)]
net: sh_eth: Split sh_eth_recv

Split sh_eth_recv into two functions, one which checks whether
a packet was received and one which handles the received packet.
This is done in preparation for DM support, which handles these
two parts separately.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: sh_eth: Pass sh_eth_dev around
Marek Vasut [Sun, 21 Jan 2018 13:27:51 +0000 (14:27 +0100)]
net: sh_eth: Pass sh_eth_dev around

Pass sh_eth_dev structure around instead of eth_device, since the
later is specific to the legacy networking support. This change is
done in preparation for the DM addition.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: sh_eth: Unify CONFIG_R8A779[01234] as CONFIG_RCAR_GEN2
Marek Vasut [Mon, 22 Jan 2018 00:42:32 +0000 (01:42 +0100)]
net: sh_eth: Unify CONFIG_R8A779[01234] as CONFIG_RCAR_GEN2

Use the common RCAR_GEN2 config option instead of enumerating
each SoC and having a lengthy ifdef clause. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Joe Hershberger <joe.hershberger@ni.com>
6 years agonet: ravb: staticize ravb_start
Marek Vasut [Fri, 19 Jan 2018 22:58:32 +0000 (23:58 +0100)]
net: ravb: staticize ravb_start

Cosmetic fix, make ravb_start() static.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
Cc: Joe Hershberger <joe.hershberger@ni.com>
6 years agopci: rmobile: Add RCar Gen2 PCIe controller driver
Marek Vasut [Thu, 18 Jan 2018 13:35:35 +0000 (14:35 +0100)]
pci: rmobile: Add RCar Gen2 PCIe controller driver

Add driver for the Renesas RCar PCIe controller present on Gen2 SoCs.
The PCIe on Gen2 is used both to connect external PCIe peripherals as
well as access the on-SoC USB EHCI controller.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
6 years agogpio: rmobile: Add RCar Gen2 compatible string
Marek Vasut [Wed, 17 Jan 2018 23:52:15 +0000 (00:52 +0100)]
gpio: rmobile: Add RCar Gen2 compatible string

Add DT compatible string for RCar Gen2.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
6 years agoenv: sunxi: Enable FAT-based environment support by default
Maxime Ripard [Tue, 23 Jan 2018 20:17:04 +0000 (21:17 +0100)]
env: sunxi: Enable FAT-based environment support by default

Now that we have everything in place to implement the transition scheme,
let's enable it by default.

Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
6 years agosunxi: Transition from the MMC to a FAT-based environment
Maxime Ripard [Tue, 23 Jan 2018 20:17:03 +0000 (21:17 +0100)]
sunxi: Transition from the MMC to a FAT-based environment

The current environment has been hardcoded to an offset that starts to be
an issue given the current size of our main U-Boot binary.

By implementing a custom environment location routine, we can always favor
the FAT-based environment, and fallback to the MMC if we don't find
something in the FAT partition. We also implement the same order when
saving the environment, so that hopefully we can slowly migrate the users
over to FAT-based environment and away from the raw MMC one.

Eventually, and hopefully before we reach that limit again, we will have
most of our users using that setup, and we'll be able to retire the raw
environment, and gain more room for the U-Boot binary.

Reviewed-by: Lukasz Majewski <lukma@denx.de>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
6 years agoenv: Mark env_get_location as weak
Maxime Ripard [Tue, 23 Jan 2018 20:17:02 +0000 (21:17 +0100)]
env: Mark env_get_location as weak

Allow boards and architectures to override the default environment lookup
code by overriding env_get_location.

Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
6 years agoenv: Allow to build multiple environments in Kconfig
Maxime Ripard [Tue, 23 Jan 2018 20:17:01 +0000 (21:17 +0100)]
env: Allow to build multiple environments in Kconfig

Now that we have everything in place in the code, let's allow to build
multiple environments backend through Kconfig.

Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
6 years agoenv: mmc: depends on the MMC framework
Maxime Ripard [Tue, 23 Jan 2018 20:17:00 +0000 (21:17 +0100)]
env: mmc: depends on the MMC framework

The raw MMC environment directly calls into the MMC framework. Make sure
it's enabled before we can select it.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
6 years agoenv: Initialise all the environments
Maxime Ripard [Tue, 23 Jan 2018 20:16:59 +0000 (21:16 +0100)]
env: Initialise all the environments

Since we want to have multiple environments, we will need to initialise
all the environments since we don't know at init time what drivers might
fail when calling load.

Let's init all of them, and only consider for further operations the ones
that have not reported any errors at init time.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
6 years agoenv: Support multiple environments
Maxime Ripard [Tue, 23 Jan 2018 20:16:58 +0000 (21:16 +0100)]
env: Support multiple environments

Now that we have everything in place to support multiple environment, let's
make sure the current code can use it.

The priority used between the various environment is the same one that was
used in the code previously.

At read / init times, the highest priority environment is going to be
detected, and we'll use the same one without lookup during writes. This
should implement the same behaviour than we currently have.

Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
6 years agoenv: common: Make the debug messages play a little nicer
Maxime Ripard [Tue, 23 Jan 2018 20:16:57 +0000 (21:16 +0100)]
env: common: Make the debug messages play a little nicer

Since we have global messages to indicate what's going on, the custom
messages in the environment drivers only make the output less readable.

Make the common code play a little nicer by removing all the extra output
in the standard case.

Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
6 years agoenv: mmc: Make the debug messages play a little nicer
Maxime Ripard [Tue, 23 Jan 2018 20:16:56 +0000 (21:16 +0100)]
env: mmc: Make the debug messages play a little nicer

Since we have global messages to indicate what's going on, the custom
messages in the environment drivers only make the output less readable.

Make MMC play a little nicer by removing all the extra \n and formatting
that is redundant with the global output.

Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
6 years agoenv: fat: Make the debug messages play a little nicer
Maxime Ripard [Tue, 23 Jan 2018 20:16:55 +0000 (21:16 +0100)]
env: fat: Make the debug messages play a little nicer

Since we have global messages to indicate what's going on, the custom
messages in the environment drivers only make the output less readable.

Make FAT play a little nicer by removing all the extra \n and formatting
that is redundant with the global output.

Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
6 years agoenv: Make it explicit where we're loading our environment from
Maxime Ripard [Tue, 23 Jan 2018 20:16:54 +0000 (21:16 +0100)]
env: Make it explicit where we're loading our environment from

Since we can have multiple environments now, it's better to provide a
decent indication on what environments were tried and which were the one to
fail and succeed.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
6 years agoenv: Make the env save message a bit more explicit
Maxime Ripard [Tue, 23 Jan 2018 20:16:53 +0000 (21:16 +0100)]
env: Make the env save message a bit more explicit

Since we'll soon have support for multiple environments, the environment
saving message might end up being printed multiple times if the higher
priority environment cannot be used.

That might confuse the user, so let's make it explicit if the operation
failed or not.

Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
6 years agoenv: Pass additional parameters to the env lookup function
Maxime Ripard [Tue, 23 Jan 2018 20:16:52 +0000 (21:16 +0100)]
env: Pass additional parameters to the env lookup function

In preparation for the multiple environment support, let's introduce two
new parameters to the environment driver lookup function: the priority and
operation.

The operation parameter is meant to identify, obviously, the operation you
might want to perform on the environment.

The priority is a number passed to identify the environment priority you
want to retrieve. The lowest priority parameter (0) will be the primary
source.

Combining the two parameters allow you to support multiple environments
through different priorities, and to change those priorities between read
and writes operations.

This is especially useful to implement migration mechanisms where you want
to always use the same environment first, be it to read or write, while the
common case is more likely to use the same environment it has read from to
write it to.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
6 years agoenv: Rename env_driver_lookup_default and env_get_default_location
Maxime Ripard [Tue, 23 Jan 2018 20:16:51 +0000 (21:16 +0100)]
env: Rename env_driver_lookup_default and env_get_default_location

The env_driver_lookup_default and env_get_default_location functions are
about to get refactored to support loading from multiple environment.

The name is therefore not really well suited anymore. Drop the default
part to be a bit more relevant.

Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
6 years agocmd: nvedit: Get rid of the env lookup
Maxime Ripard [Tue, 23 Jan 2018 20:16:50 +0000 (21:16 +0100)]
cmd: nvedit: Get rid of the env lookup

The nvedit command is the only user of env_driver_lookup_default outside of
the environment code itself, and it uses it only to print the environment
it's about to save to during env save.

As we're about to rework the environment to be able to handle multiple
environment sources, we might not have an idea of what environment backend
is going to be used before trying (and possibly failing for some).

Therefore, it makes sense to remove that message and move it to the
env_save function itself. As a side effect, we also can get rid of the call
to env_driver_lookup_default that is also about to get refactored.

Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
6 years agoMerge git://git.denx.de/u-boot-sunxi
Tom Rini [Fri, 26 Jan 2018 18:22:40 +0000 (13:22 -0500)]
Merge git://git.denx.de/u-boot-sunxi

6 years agoARM: socfpga: Convert callers of cm_write_with_phase for wait_for_bit_le32
Tom Rini [Fri, 26 Jan 2018 16:24:04 +0000 (11:24 -0500)]
ARM: socfpga: Convert callers of cm_write_with_phase for wait_for_bit_le32

Now that we have and use wait_for_bit_le32() available, the callers of
cm_write_with_phase() should not be casting values to u32 and instead we
expect a const void *, so provide that directly.

Fixes: 48263504c8d5 ("wait_bit: use wait_for_bit_le32 and remove wait_for_bit")
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
6 years agogpio: sunxi: Add compatible string for H5 PIO
Chris Blake [Mon, 15 Jan 2018 22:28:18 +0000 (16:28 -0600)]
gpio: sunxi: Add compatible string for H5 PIO

Add allwinner,sun50i-h5-pinctrl compatible for H5 boards.

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
[jagan: remove external link and format commit message]
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
6 years agosunxi: Add limit with the MMC environment
Maxime Ripard [Tue, 16 Jan 2018 08:44:24 +0000 (09:44 +0100)]
sunxi: Add limit with the MMC environment

The MMC environment offset is getting very close to the end of the U-Boot
binary now. Since we want to make sure this will not overflow, add a size
limit in the board for arm64. arm32 has already that limit enforced in our
custom image generation.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
6 years agoMakefile: Add size check to the u-boot.itb make target
Maxime Ripard [Tue, 16 Jan 2018 08:44:23 +0000 (09:44 +0100)]
Makefile: Add size check to the u-boot.itb make target

The make macro to check if the binary exceeds the board size limit is not
called. Make sure that is the case.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>