Skip to contentSkip to conversation

ARM: mxs: Sort the mx23evk and mx23_olinuxino

PATCH New Marek Vasut 4 participants 21 messages Aug 31, 2013 – Sep 10, 2013

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/5 ARM: mxs: Sort the mx23evk and mx23_olinuxino

These boards were not sortes in the boards.cfg, fix this.

Cc Fabio Estevam <[email protected]>
Cc Stefano Babic <[email protected]>
Cc Otavio Salvador <[email protected]>
---
 boards.cfg |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
boards.cfg +2 -2
index 79d6cd8..5f961da 100644
@@ -197,10 +197,10 @@ tx25                         arm         arm926ejs   tx25                karo
 zmx25                        arm         arm926ejs   zmx25               syteco         mx25
 imx27lite                    arm         arm926ejs   imx27lite           logicpd        mx27
 magnesium                    arm         arm926ejs   imx27lite           logicpd        mx27
-mx23_olinuxino               arm         arm926ejs   mx23_olinuxino      olimex         mxs		mx23_olinuxino
 apx4devkit                   arm         arm926ejs   apx4devkit          bluegiga       mxs		apx4devkit
-mx23evk                      arm         arm926ejs   mx23evk             freescale      mxs		mx23evk
 m28evk                       arm         arm926ejs   m28evk              denx           mxs		m28evk
+mx23_olinuxino               arm         arm926ejs   mx23_olinuxino      olimex         mxs		mx23_olinuxino
+mx23evk                      arm         arm926ejs   mx23evk             freescale      mxs		mx23evk
 mx28evk                      arm         arm926ejs   mx28evk             freescale      mxs		mx28evk:ENV_IS_IN_MMC
 mx28evk_nand                 arm         arm926ejs   mx28evk             freescale      mxs		mx28evk:ENV_IS_IN_NAND
 mx28evk_auart_console        arm         arm926ejs   mx28evk             freescale      mxs		mx28evk:MXS_AUART,MXS_AUART_BASE=MXS_UARTAPP3_BASE,ENV_IS_IN_MMC
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH 2/5 ARM: mxs: Document the power block initialization

This patch adds documentation for the functions used during the initialization of MXS power block.

Cc Fabio Estevam <[email protected]>
Cc Stefano Babic <[email protected]>
---
 arch/arm/cpu/arm926ejs/mxs/spl_power_init.c |  208 +++++++++++++++++++++++++++
 1 file changed, 208 insertions(+)
arch/arm/cpu/arm926ejs/mxs/spl_power_init.c +208 -0
index e3b6cd9..32f6e53 100644
@@ -14,6 +14,13 @@
 
 #include "mxs_init.h"
 
+/**
+ * mxs_power_clock2xtal() - Switch CPU core clock source to 24MHz XTAL
+ *
+ * This function switches the CPU core clock from PLL to 24MHz XTAL
+ * oscilator. This is necessary if the PLL is being reconfigured to
+ * prevent crash of the CPU core.
+ */
 static void mxs_power_clock2xtal(void)
 {
 	struct mxs_clkctrl_regs *clkctrl_regs =
@@ -24,6 +31,13 @@ static void mxs_power_clock2xtal(void)
 		&clkctrl_regs->hw_clkctrl_clkseq_set);
 }
 
+/**
+ * mxs_power_clock2pll() - Switch CPU core clock source to PLL
+ *
+ * This function switches the CPU core clock from 24MHz XTAL oscilator
+ * to PLL. This can only be called once the PLL has re-locked and once
+ * the PLL is stable after reconfiguration.
+ */
 static void mxs_power_clock2pll(void)
 {
 	struct mxs_clkctrl_regs *clkctrl_regs =
@@ -36,6 +50,12 @@ static void mxs_power_clock2pll(void)
 			CLKCTRL_CLKSEQ_BYPASS_CPU);
 }
 
+/**
+ * mxs_power_clear_auto_restart() - Set the auto-restart bit
+ *
+ * This function ungates the RTC block and sets the AUTO_RESTART
+ * bit to work around a design bug on MX28EVK Rev. A .
+ */
 static void mxs_power_clear_auto_restart(void)
 {
 	struct mxs_rtc_regs *rtc_regs =
@@ -69,6 +89,14 @@ static void mxs_power_clear_auto_restart(void)
 		;
 }
 
+/**
+ * mxs_power_set_linreg() - Set linear regulators 25mV below DC-DC converter
+ *
+ * This function configures the VDDIO, VDDA and VDDD linear regulators output
+ * to be 25mV below the VDDIO, VDDA and VDDD output from the DC-DC switching
+ * converter. This is the recommended setting for the case where we use both
+ * linear regulators and DC-DC converter to power the VDDIO rail.
+ */
 static void mxs_power_set_linreg(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -88,6 +116,11 @@ static void mxs_power_set_linreg(void)
 			POWER_VDDIOCTRL_LINREG_OFFSET_1STEPS_BELOW);
 }
 
+/**
+ * mxs_get_batt_volt() - Measure battery input voltage
+ *
+ * This function retrieves the battery input voltage and returns it.
+ */
 static int mxs_get_batt_volt(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -99,11 +132,24 @@ static int mxs_get_batt_volt(void)
 	return volt;
 }
 
+/**
+ * mxs_is_batt_ready() - Test if the battery provides enough voltage to boot
+ *
+ * This function checks if the battery input voltage is higher than 3.6V and
+ * therefore allows the system to successfully boot using this power source.
+ */
 static int mxs_is_batt_ready(void)
 {
 	return (mxs_get_batt_volt() >= 3600);
 }
 
+/**
+ * mxs_is_batt_good() - Test if battery is operational at all
+ *
+ * This function starts recharging the battery and tests if the input current
+ * provided by the 5V input recharging the battery is also sufficient to power
+ * the DC-DC converter.
+ */
 static int mxs_is_batt_good(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -144,6 +190,15 @@ static int mxs_is_batt_good(void)
 	return 0;
 }
 
+/**
+ * mxs_power_setup_5v_detect() - Start the 5V input detection comparator
+ *
+ * This function enables the 5V detection comparator and sets the 5V valid
+ * threshold to 4.4V . We use 4.4V threshold here to make sure that even
+ * under high load, the voltage drop on the 5V input won't be so critical
+ * to cause undervolt on the 4P2 linear regulator supplying the DC-DC
+ * converter and thus making the system crash.
+ */
 static void mxs_power_setup_5v_detect(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -156,6 +211,12 @@ static void mxs_power_setup_5v_detect(void)
 			POWER_5VCTRL_PWRUP_VBUS_CMPS);
 }
 
+/**
+ * mxs_src_power_init() - Preconfigure the power block
+ *
+ * This function configures reasonable values for the DC-DC control loop
+ * and battery monitor.
+ */
 static void mxs_src_power_init(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -187,6 +248,12 @@ static void mxs_src_power_init(void)
 	clrbits_le32(&power_regs->hw_power_5vctrl, POWER_5VCTRL_DCDC_XFER);
 }
 
+/**
+ * mxs_power_init_4p2_params() - Configure the parameters of the 4P2 regulator
+ *
+ * This function configures the necessary parameters for the 4P2 linear
+ * regulator to supply the DC-DC converter from 5V input.
+ */
 static void mxs_power_init_4p2_params(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -211,6 +278,12 @@ static void mxs_power_init_4p2_params(void)
 		0x3f << POWER_5VCTRL_CHARGE_4P2_ILIMIT_OFFSET);
 }
 
+/**
+ * mxs_enable_4p2_dcdc_input() - Enable or disable the DCDC input from 4P2
+ * @xfer:	Select if the input shall be enabled or disabled
+ *
+ * This function enables or disables the 4P2 input into the DC-DC converter.
+ */
 static void mxs_enable_4p2_dcdc_input(int xfer)
 {
 	struct mxs_power_regs *power_regs =
@@ -307,6 +380,12 @@ static void mxs_enable_4p2_dcdc_input(int xfer)
 				POWER_CTRL_ENIRQ_VDD5V_DROOP);
 }
 
+/**
+ * mxs_power_init_4p2_regulator() - Start the 4P2 regulator
+ *
+ * This function enables the 4P2 regulator and switches the DC-DC converter
+ * to use the 4P2 input.
+ */
 static void mxs_power_init_4p2_regulator(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -391,6 +470,12 @@ static void mxs_power_init_4p2_regulator(void)
 	writel(POWER_CTRL_DCDC4P2_BO_IRQ, &power_regs->hw_power_ctrl_clr);
 }
 
+/**
+ * mxs_power_init_dcdc_4p2_source() - Switch DC-DC converter to 4P2 source
+ *
+ * This function configures the DC-DC converter to be supplied from the 4P2
+ * linear regulator.
+ */
 static void mxs_power_init_dcdc_4p2_source(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -413,6 +498,12 @@ static void mxs_power_init_dcdc_4p2_source(void)
 	}
 }
 
+/**
+ * mxs_power_enable_4p2() - Power up the 4P2 regulator
+ *
+ * This function drives the process of powering up the 4P2 linear regulator
+ * and switching the DC-DC converter input over to the 4P2 linear regulator.
+ */
 static void mxs_power_enable_4p2(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -472,6 +563,14 @@ static void mxs_power_enable_4p2(void)
 			&power_regs->hw_power_charge_clr);
 }
 
+/**
+ * mxs_boot_valid_5v() - Boot from 5V supply
+ *
+ * This function configures the power block to boot from valid 5V input.
+ * This is called only if the 5V is reliable and can properly supply the
+ * CPU. This function proceeds to configure the 4P2 converter to be supplied
+ * from the 5V input.
+ */
 static void mxs_boot_valid_5v(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -495,6 +594,11 @@ static void mxs_boot_valid_5v(void)
 	mxs_power_enable_4p2();
 }
 
+/**
+ * mxs_powerdown() - Shut down the system
+ *
+ * This function powers down the CPU completely.
+ */
 static void mxs_powerdown(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -504,6 +608,12 @@ static void mxs_powerdown(void)
 		&power_regs->hw_power_reset);
 }
 
+/**
+ * mxs_batt_boot() - Configure the power block to boot from battery input
+ *
+ * This function configures the power block to boot from the battery voltage
+ * supply.
+ */
 static void mxs_batt_boot(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -548,6 +658,14 @@ static void mxs_batt_boot(void)
 		0x8 << POWER_5VCTRL_CHARGE_4P2_ILIMIT_OFFSET);
 }
 
+/**
+ * mxs_handle_5v_conflict() - Test if the 5V input is reliable
+ *
+ * This function tests if the 5V input can reliably supply the system. If it
+ * can, then proceed to configuring the system to boot from 5V source, otherwise
+ * try booting from battery supply. If we can not boot from battery supply
+ * either, shut down the system.
+ */
 static void mxs_handle_5v_conflict(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -584,6 +702,12 @@ static void mxs_handle_5v_conflict(void)
 	}
 }
 
+/**
+ * mxs_5v_boot() - Configure the power block to boot from 5V input
+ *
+ * This function handles configuration of the power block when supplied by
+ * a 5V input.
+ */
 static void mxs_5v_boot(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -607,6 +731,12 @@ static void mxs_5v_boot(void)
 	mxs_handle_5v_conflict();
 }
 
+/**
+ * mxs_init_batt_bo() - Configure battery brownout threshold
+ *
+ * This function configures the battery input brownout threshold. The value
+ *@which the battery brownout happens is configured to 3.0V in the code.
+ */
 static void mxs_init_batt_bo(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -621,6 +751,12 @@ static void mxs_init_batt_bo(void)
 	writel(POWER_CTRL_ENIRQ_BATT_BO, &power_regs->hw_power_ctrl_clr);
 }
 
+/**
+ * mxs_switch_vddd_to_dcdc_source() - Switch VDDD rail to DC-DC converter
+ *
+ * This function turns off the VDDD linear regulator and therefore makes
+ * the VDDD rail be supplied only by the DC-DC converter.
+ */
 static void mxs_switch_vddd_to_dcdc_source(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -635,6 +771,15 @@ static void mxs_switch_vddd_to_dcdc_source(void)
 		POWER_VDDDCTRL_DISABLE_STEPPING);
 }
 
+/**
+ * mxs_power_configure_power_source() - Configure power block source
+ *
+ * This function is the core of the power configuration logic. The function
+ * selects the power block input source and configures the whole power block
+ * accordingly. After the configuration is complete and the system is stable
+ * again, the function switches the CPU clock source back to PLL. Finally,
+ * the function switches the voltage rails to DC-DC converter.
+ */
 static void mxs_power_configure_power_source(void)
 {
 	int batt_ready, batt_good;
@@ -679,6 +824,15 @@ static void mxs_power_configure_power_source(void)
 #endif
 }
 
+/**
+ * mxs_enable_output_rail_protection() - Enable power rail protection
+ *
+ * This function enables overload protection on the power rails. This is
+ * triggered if the power rails' voltage drops rapidly due to overload and
+ * in such case, the supply to the powerrail is cut-off, protecting the
+ * CPU from damage. Note that under such condition, the system will likely
+ * crash or misbehave.
+ */
 static void mxs_enable_output_rail_protection(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -697,6 +851,13 @@ static void mxs_enable_output_rail_protection(void)
 			POWER_VDDIOCTRL_PWDN_BRNOUT);
 }
 
+/**
+ * mxs_get_vddio_power_source_off() - Get VDDIO rail power source
+ *
+ * This function tests if the VDDIO rail is supplied by linear regulator
+ * or by the DC-DC converter. Returns 1 if powered by linear regulator,
+ * returns 0 if powered by the DC-DC converter.
+ */
 static int mxs_get_vddio_power_source_off(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -725,6 +886,13 @@ static int mxs_get_vddio_power_source_off(void)
 
 }
 
+/**
+ * mxs_get_vddd_power_source_off() - Get VDDD rail power source
+ *
+ * This function tests if the VDDD rail is supplied by linear regulator
+ * or by the DC-DC converter. Returns 1 if powered by linear regulator,
+ * returns 0 if powered by the DC-DC converter.
+ */
 static int mxs_get_vddd_power_source_off(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -813,6 +981,18 @@ static const struct mxs_vddx_cfg mxs_vddmem_cfg = {
 };
 #endif
 
+/**
+ * mxs_power_set_vddx() - Configure voltage on DC-DC converter rail
+ * @cfg:		Configuration data of the DC-DC converter rail
+ * @new_target:		New target voltage of the DC-DC converter rail
+ * @new_brownout:	New brownout trigger voltage
+ *
+ * This function configures the output voltage on the DC-DC converter rail.
+ * The rail is selected by the @cfg argument. The new voltage target is
+ * selected by the @new_target and the voltage is specified in mV. The
+ * new brownout value is selected by the @new_brownout argument and the
+ * value is also in mV.
+ */
 static void mxs_power_set_vddx(const struct mxs_vddx_cfg *cfg,
 				uint32_t new_target, uint32_t new_brownout)
 {
@@ -886,6 +1066,14 @@ static void mxs_power_set_vddx(const struct mxs_vddx_cfg *cfg,
 	}
 }
 
+/**
+ * mxs_setup_batt_detect() - Start the battery voltage measurement logic
+ *
+ * This function starts and configures the LRADC block. This allows the
+ * power initialization code to measure battery voltage and based on this
+ * knowledge, decide whether to boot at all, boot from battery or boot
+ * from 5V input.
+ */
 static void mxs_setup_batt_detect(void)
 {
 	mxs_lradc_init();
@@ -893,6 +1081,14 @@ static void mxs_setup_batt_detect(void)
 	early_delay(10);
 }
 
+/**
+ * mxs_ungate_power() - Ungate the POWER block
+ *
+ * This function ungates clock to the power block. In case the power block
+ * was still gated at this point, it will not be possible to configure the
+ * block and therefore the power initialization would fail. This function
+ * is only needed on i.MX233, on i.MX28 the power block is always ungated.
+ */
 static void mxs_ungate_power(void)
 {
 #ifdef CONFIG_MX23
@@ -903,6 +1099,12 @@ static void mxs_ungate_power(void)
 #endif
 }
 
+/**
+ * mxs_power_init() - The power block init main function
+ *
+ * This function calls all the power block initialization functions in
+ * proper sequence to start the power block.
+ */
 void mxs_power_init(void)
 {
 	struct mxs_power_regs *power_regs =
@@ -936,6 +1138,12 @@ void mxs_power_init(void)
 }
 
 #ifdef	CONFIG_SPL_MXS_PSWITCH_WAIT
+/**
+ * mxs_power_wait_pswitch() - Wait for power switch to be pressed
+ *
+ * This function waits until the power-switch was pressed to start booting
+ * the board.
+ */
 void mxs_power_wait_pswitch(void)
 {
 	struct mxs_power_regs *power_regs =
Signature · 1 line
1.7.10.4
#2 lore raw

PATCH 2/5 ARM: mxs: Document the power block initialization

Quoted 7 lines · Marek Vasut

This patch adds documentation for the functions used during the initialization of MXS power block.

Cc Fabio Estevam <[email protected]>
Cc Stefano Babic <[email protected]>

---

We have already changed the name of mxs_power_clear_auto_restart() into mxs_power_set_auto_restart()

Applied after changing the name of the function to u-boot-imx, thanks !

Best regards,
Stefano Babic

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
#3 lore raw

PATCH 3/5 ARM: mxs: Receive r0 and r1 passed from BootROM

In reply to Marek Vasut

Make sure value in register r0 and r1 is preserved and passed to the board_init_ll() and mxs_common_spl_init() where it can be processed further. The value in r0 can be configured during the BootStream generation to arbitary value, r1 contains pointer to return value from CALL'd function.

This patch also clears the value in r0 before returning to BootROM to make sure the BootROM is not confused by this value.

Finally, this patch cleans up some comments in the start.S file.

Cc Fabio Estevam <[email protected]>
Cc Stefano Babic <[email protected]>
---
 arch/arm/cpu/arm926ejs/mxs/spl_boot.c     |    5 +--
 arch/arm/cpu/arm926ejs/mxs/start.S        |   50 +++++++++++++++++------------
 arch/arm/include/asm/arch-mxs/sys_proto.h |    5 +--
 board/bluegiga/apx4devkit/spl_boot.c      |    4 +--
 board/denx/m28evk/spl_boot.c              |    4 +--
 board/freescale/mx23evk/spl_boot.c        |    4 +--
 board/freescale/mx28evk/iomux.c           |    4 +--
 board/olimex/mx23_olinuxino/spl_boot.c    |    4 +--
 board/schulercontrol/sc_sps_1/spl_boot.c  |    4 +--
 9 files changed, 48 insertions(+), 36 deletions(-)
arch/arm/cpu/arm926ejs/mxs/spl_boot.c +3 -2
index 0392afd..68c30af 100644
@@ -102,8 +102,9 @@ static uint8_t mxs_get_bootmode_index(void)
 	return i;
 }
 
-void mxs_common_spl_init(const iomux_cfg_t *iomux_setup,
-			const unsigned int iomux_size)
+void mxs_common_spl_init(const uint32_t arg, const uint32_t *resptr,
+			 const iomux_cfg_t *iomux_setup,
+			 const unsigned int iomux_size)
 {
 	struct mxs_spl_data *data = (struct mxs_spl_data *)
 		((CONFIG_SYS_TEXT_BASE - sizeof(struct mxs_spl_data)) & ~0xf);
arch/arm/cpu/arm926ejs/mxs/start.S +30 -20

69 lines not on this page · raw message

arch/arm/include/asm/arch-mxs/sys_proto.h +3 -2
index 1038592..43c7dd6 100644
@@ -28,8 +28,9 @@ int mxsmmc_initialize(bd_t *bis, int id, int (*wp)(int), int (*cd)(int));
 #include <asm/arch/iomux-mx28.h>
 #endif
 
-void mxs_common_spl_init(const iomux_cfg_t *iomux_setup,
-			const unsigned int iomux_size);
+void mxs_common_spl_init(const uint32_t arg, const uint32_t *resptr,
+			 const iomux_cfg_t *iomux_setup,
+			 const unsigned int iomux_size);
 #endif
 
 struct mxs_pair {
board/bluegiga/apx4devkit/spl_boot.c +2 -2
index 3b05baa..81419f9 100644
@@ -132,9 +132,9 @@ const iomux_cfg_t iomux_setup[] = {
 	MX28_PAD_EMI_CKE__EMI_CKE | MUX_CONFIG_EMI,
 };
 
-void board_init_ll(void)
+void board_init_ll(const uint32_t arg, const uint32_t *resptr)
 {
-	mxs_common_spl_init(iomux_setup, ARRAY_SIZE(iomux_setup));
+	mxs_common_spl_init(arg, resptr, iomux_setup, ARRAY_SIZE(iomux_setup));
 
 	/* switch LED on */
 	gpio_direction_output(MX28_PAD_PWM3__GPIO_3_28, 0);
board/denx/m28evk/spl_boot.c +2 -2
index 525ba6a..5a1010e 100644
@@ -200,7 +200,7 @@ const iomux_cfg_t iomux_setup[] = {
 		(MXS_PAD_3V3 | MXS_PAD_8MA | MXS_PAD_PULLUP),
 };
 
-void board_init_ll(void)
+void board_init_ll(const uint32_t arg, const uint32_t *resptr)
 {
-	mxs_common_spl_init(iomux_setup, ARRAY_SIZE(iomux_setup));
+	mxs_common_spl_init(arg, resptr, iomux_setup, ARRAY_SIZE(iomux_setup));
 }
board/freescale/mx23evk/spl_boot.c +2 -2
index 054ca0a..603f4dc 100644
@@ -129,7 +129,7 @@ void mxs_adjust_memory_params(uint32_t *dram_vals)
 	dram_vals[HW_DRAM_CTL14] = HW_DRAM_CTL14_CONFIG;
 }
 
-void board_init_ll(void)
+void board_init_ll(const uint32_t arg, const uint32_t *resptr)
 {
-	mxs_common_spl_init(iomux_setup, ARRAY_SIZE(iomux_setup));
+	mxs_common_spl_init(arg, resptr, iomux_setup, ARRAY_SIZE(iomux_setup));
 }
board/freescale/mx28evk/iomux.c +2 -2
index 6ca842b..97c2376 100644
@@ -200,7 +200,7 @@ void mxs_adjust_memory_params(uint32_t *dram_vals)
 	dram_vals[HW_DRAM_CTL29] = HW_DRAM_CTL29_CONFIG;
 }
 
-void board_init_ll(void)
+void board_init_ll(const uint32_t arg, const uint32_t *resptr)
 {
-	mxs_common_spl_init(iomux_setup, ARRAY_SIZE(iomux_setup));
+	mxs_common_spl_init(arg, resptr, iomux_setup, ARRAY_SIZE(iomux_setup));
 }
board/olimex/mx23_olinuxino/spl_boot.c +2 -2
index 0a66303..5272dfa 100644
@@ -85,7 +85,7 @@ const iomux_cfg_t iomux_setup[] = {
 		(MXS_PAD_3V3 | MXS_PAD_12MA | MXS_PAD_NOPULL),
 };
 
-void board_init_ll(void)
+void board_init_ll(const uint32_t arg, const uint32_t *resptr)
 {
-	mxs_common_spl_init(iomux_setup, ARRAY_SIZE(iomux_setup));
+	mxs_common_spl_init(arg, resptr, iomux_setup, ARRAY_SIZE(iomux_setup));
 }
board/schulercontrol/sc_sps_1/spl_boot.c +2 -2
index 1fe9224..60195c3 100644
@@ -138,9 +138,9 @@ const iomux_cfg_t iomux_setup[] = {
 	MX28_PAD_GPMI_D06__GPIO_0_6 | MUX_CONFIG_LED,
 };
 
-void board_init_ll(void)
+void board_init_ll(const uint32_t arg, const uint32_t *resptr)
 {
-	mxs_common_spl_init(iomux_setup, ARRAY_SIZE(iomux_setup));
+	mxs_common_spl_init(arg, resptr, iomux_setup, ARRAY_SIZE(iomux_setup));
 }
 
 void mxs_adjust_memory_params(uint32_t *dram_vals)
Signature · 1 line
1.7.10.4
#4 lore raw

PATCH 3/5 ARM: mxs: Receive r0 and r1 passed from BootROM

Quoted 9 lines · Marek Vasut

Make sure value in register r0 and r1 is preserved and passed to the board_init_ll() and mxs_common_spl_init() where it can be processed further. The value in r0 can be configured during the BootStream generation to arbitary value, r1 contains pointer to return value from CALL'd function.

This patch also clears the value in r0 before returning to BootROM to make sure the BootROM is not confused by this value.

Quoted 6 lines

Finally, this patch cleans up some comments in the start.S file.

Cc Fabio Estevam <[email protected]>
Cc Stefano Babic <[email protected]>

---

Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
#5 lore raw

PATCH 4/5 ARM: mxs: Add Creative ZEN XFi3 board

In reply to Marek Vasut

Add STMP3780-based XFi3 board. This board is a small PMP device sporting a CPU which was later rebranded to i.MX233 . Currently supported is USB gadget mode and both external SD and internal Phison SD-NAND bridge .

Cc Fabio Estevam <[email protected]>
Cc Otavio Salvador <[email protected]>
Cc Stefano Babic <[email protected]>
---
 MAINTAINERS                    |    1 +
 board/creative/xfi3/Makefile   |   31 ++++++
 board/creative/xfi3/spl_boot.c |  134 ++++++++++++++++++++++++
 board/creative/xfi3/xfi3.c     |  224 ++++++++++++++++++++++++++++++++++++++++
 boards.cfg                     |    1 +
 include/configs/xfi3.h         |   69 +++++++++++++
 6 files changed, 460 insertions(+)
 create mode 100644 board/creative/xfi3/Makefile
 create mode 100644 board/creative/xfi3/spl_boot.c
 create mode 100644 board/creative/xfi3/xfi3.c
 create mode 100644 include/configs/xfi3.h
MAINTAINERS +1 -0
index 0a900dc..84c1f61 100644
@@ -968,6 +968,7 @@ Marek Vasut <[email protected]>
 	vpac270		xscale/pxa
 	zipitz2		xscale/pxa
 	mx23_olinuxino	i.MX23
+	xfi3		i.MX23
 	m28evk		i.MX28
 	sc_sps_1	i.MX28
 	m53evk		i.MX53
board/creative/xfi3/Makefile new file +31 -0
new file mode 100644
index 0000000..4dc2b48
@@ -0,0 +1,31 @@
+#
+# (C) Copyright 2000-2006
+# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+include $(TOPDIR)/config.mk
+
+LIB	= $(obj)lib$(BOARD).o
+
+ifndef	CONFIG_SPL_BUILD
+COBJS	:= xfi3.o
+else
+COBJS	:= spl_boot.o
+endif
+
+SRCS	:= $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS))
+
+$(LIB):	$(obj).depend $(OBJS)
+	$(call cmd_link_o_target, $(OBJS))
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
board/creative/xfi3/spl_boot.c new file +134 -0

134 lines not on this page · raw message

board/creative/xfi3/xfi3.c new file +224 -0

224 lines not on this page · raw message

boards.cfg +1 -0
index 5f961da..c951633 100644
@@ -205,6 +205,7 @@ mx28evk                      arm         arm926ejs   mx28evk             freesca
 mx28evk_nand                 arm         arm926ejs   mx28evk             freescale      mxs		mx28evk:ENV_IS_IN_NAND
 mx28evk_auart_console        arm         arm926ejs   mx28evk             freescale      mxs		mx28evk:MXS_AUART,MXS_AUART_BASE=MXS_UARTAPP3_BASE,ENV_IS_IN_MMC
 sc_sps_1                     arm         arm926ejs   sc_sps_1            schulercontrol mxs
+xfi3                         arm         arm926ejs   xfi3                creative       mxs		xfi3
 nhk8815                      arm         arm926ejs   nhk8815             st             nomadik
 nhk8815_onenand              arm         arm926ejs   nhk8815             st             nomadik       nhk8815:BOOT_ONENAND
 omap5912osk                  arm         arm926ejs   -                   ti             omap
include/configs/xfi3.h new file +69 -0

69 lines not on this page · raw message

Signature · 1 line
1.7.10.4
#6 lore raw

PATCH 4/5 ARM: mxs: Add Creative ZEN XFi3 board

Quoted 10 lines · Marek Vasut

Add STMP3780-based XFi3 board. This board is a small PMP device sporting a CPU which was later rebranded to i.MX233 . Currently supported is USB gadget mode and both external SD and internal Phison SD-NAND bridge .

Cc Fabio Estevam <[email protected]>
Cc Otavio Salvador <[email protected]>
Cc Stefano Babic <[email protected]>

---

Applied after fixing (line too long) checkpatch warning, thanks !

Best regards,
Stefano Babic

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
#7 lore raw

PATCH 5/5 ARM: mxs: Add SanDisk Sansa Fuze+ board

In reply to Marek Vasut

Add STMP3780-based Sansa Fuze+ board. This board is a small PMP device sporting a CPU which was later rebranded to i.MX233 . Currently supported is USB gadget mode and MMC .

Cc Fabio Estevam <[email protected]>
Cc Otavio Salvador <[email protected]>
Cc Stefano Babic <[email protected]>
---
 MAINTAINERS                              |    1 +
 board/sandisk/sansa_fuze_plus/Makefile   |   31 +++
 board/sandisk/sansa_fuze_plus/sfp.c      |  388 ++++++++++++++++++++++++++++++
 board/sandisk/sansa_fuze_plus/spl_boot.c |  139 +++++++++++
 boards.cfg                               |    1 +
 include/configs/sansa_fuze_plus.h        |   70 ++++++
 6 files changed, 630 insertions(+)
 create mode 100644 board/sandisk/sansa_fuze_plus/Makefile
 create mode 100644 board/sandisk/sansa_fuze_plus/sfp.c
 create mode 100644 board/sandisk/sansa_fuze_plus/spl_boot.c
 create mode 100644 include/configs/sansa_fuze_plus.h
MAINTAINERS +1 -0
index 84c1f61..750d6ec 100644
@@ -969,6 +969,7 @@ Marek Vasut <[email protected]>
 	zipitz2		xscale/pxa
 	mx23_olinuxino	i.MX23
 	xfi3		i.MX23
+	sansa_fuze_plus	i.MX23
 	m28evk		i.MX28
 	sc_sps_1	i.MX28
 	m53evk		i.MX53
board/sandisk/sansa_fuze_plus/Makefile new file +31 -0
new file mode 100644
index 0000000..571cc07
@@ -0,0 +1,31 @@
+#
+# (C) Copyright 2000-2006
+# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+#
+# SPDX-License-Identifier:	GPL-2.0+
+#
+
+include $(TOPDIR)/config.mk
+
+LIB	= $(obj)lib$(BOARD).o
+
+ifndef	CONFIG_SPL_BUILD
+COBJS	:= sfp.o
+else
+COBJS	:= spl_boot.o
+endif
+
+SRCS	:= $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS))
+
+$(LIB):	$(obj).depend $(OBJS)
+	$(call cmd_link_o_target, $(OBJS))
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+#########################################################################
board/sandisk/sansa_fuze_plus/sfp.c new file +388 -0

388 lines not on this page · raw message

board/sandisk/sansa_fuze_plus/spl_boot.c new file +139 -0

139 lines not on this page · raw message

boards.cfg +1 -0
index c951633..1fbf2cb 100644
@@ -204,6 +204,7 @@ mx23evk                      arm         arm926ejs   mx23evk             freesca
 mx28evk                      arm         arm926ejs   mx28evk             freescale      mxs		mx28evk:ENV_IS_IN_MMC
 mx28evk_nand                 arm         arm926ejs   mx28evk             freescale      mxs		mx28evk:ENV_IS_IN_NAND
 mx28evk_auart_console        arm         arm926ejs   mx28evk             freescale      mxs		mx28evk:MXS_AUART,MXS_AUART_BASE=MXS_UARTAPP3_BASE,ENV_IS_IN_MMC
+sansa_fuze_plus              arm         arm926ejs   sansa_fuze_plus     sandisk        mxs		sansa_fuze_plus
 sc_sps_1                     arm         arm926ejs   sc_sps_1            schulercontrol mxs
 xfi3                         arm         arm926ejs   xfi3                creative       mxs		xfi3
 nhk8815                      arm         arm926ejs   nhk8815             st             nomadik
include/configs/sansa_fuze_plus.h new file +70 -0

70 lines not on this page · raw message

Signature · 1 line
1.7.10.4
#8 lore raw

PATCH 5/5 ARM: mxs: Add SanDisk Sansa Fuze+ board

Quoted 9 lines · Marek Vasut

Add STMP3780-based Sansa Fuze+ board. This board is a small PMP device sporting a CPU which was later rebranded to i.MX233 . Currently supported is USB gadget mode and MMC .

Cc Fabio Estevam <[email protected]>
Cc Otavio Salvador <[email protected]>
Cc Stefano Babic <[email protected]>

---

Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
#9 lore raw

PATCH 1/5 ARM: mxs: Sort the mx23evk and mx23_olinuxino

In reply to Marek Vasut
Quoted 3 lines · Marek Vasut

These boards were not sortes in the boards.cfg, fix this.

I think this patch is not need as boards.cfg is being reworked.

Signature · 3 lines
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
#10 lore raw

PATCH 1/5 ARM: mxs: Sort the mx23evk and mx23_olinuxino

Dear Otavio Salvador,

Quoted 6 lines · Marek Vasut
Quoted 3 lines

These boards were not sortes in the boards.cfg, fix this.

I think this patch is not need as boards.cfg is being reworked.

This patch is needed as it fixes inconsistency your previous patch introduced.

Best regards,
Marek Vasut

#11 lore raw

PATCH 1/5 ARM: mxs: Sort the mx23evk and mx23_olinuxino

Quoted 10 lines · Marek Vasut

Dear Otavio Salvador,

Quoted 6 lines · Marek Vasut
Quoted 3 lines

These boards were not sortes in the boards.cfg, fix this.

I think this patch is not need as boards.cfg is being reworked.

This patch is needed as it fixes inconsistency your previous patch introduced.

I agree with the patch; I just think we must get the boards file rework merged as soon as possible or we'll keep generating conflicts for it.

Signature · 3 lines
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
#12 lore raw

PATCH 1/5 ARM: mxs: Sort the mx23evk and mx23_olinuxino

Dear Otavio Salvador,

Quoted 8 lines · Marek Vasut
Quoted 7 lines

Dear Otavio Salvador,

Quoted 5 lines · Marek Vasut
Quoted 3 lines

These boards were not sortes in the boards.cfg, fix this.

Quoted 8 lines
Quoted 4 lines
Quoted 1 line

I think this patch is not need as boards.cfg is being reworked.

This patch is needed as it fixes inconsistency your previous patch introduced.

I agree with the patch; I just think we must get the boards file rework merged as soon as possible or we'll keep generating conflicts for it.

What rework are you talking about ?

Best regards,
Marek Vasut

#13 lore raw

PATCH 1/5 ARM: mxs: Sort the mx23evk and mx23_olinuxino

Quoted 12 lines · Marek Vasut

Dear Otavio Salvador,

Quoted 10 lines · Marek Vasut
Quoted 9 lines

Dear Otavio Salvador,

Quoted 6 lines · Marek Vasut
Quoted 3 lines

These boards were not sortes in the boards.cfg, fix this.

I think this patch is not need as boards.cfg is being reworked.

Quoted 8 lines
Quoted 6 lines
Quoted 2 lines

This patch is needed as it fixes inconsistency your previous patch introduced.

I agree with the patch; I just think we must get the boards file rework merged as soon as possible or we'll keep generating conflicts for it.

What rework are you talking about ?

The maintainers file merge with the boards.

Signature · 3 lines
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
#14 lore raw

PATCH 1/5 ARM: mxs: Sort the mx23evk and mx23_olinuxino

Dear Otavio Salvador,

Quoted 16 lines · Marek Vasut
Quoted 15 lines

Dear Otavio Salvador,

Quoted 13 lines · Marek Vasut
Quoted 11 lines

Dear Otavio Salvador,

Quoted 6 lines · Marek Vasut
Quoted 3 lines

These boards were not sortes in the boards.cfg, fix this.

I think this patch is not need as boards.cfg is being reworked.

This patch is needed as it fixes inconsistency your previous patch introduced.

Quoted 7 lines
Quoted 5 lines
Quoted 3 lines

I agree with the patch; I just think we must get the boards file rework merged as soon as possible or we'll keep generating conflicts for it.

What rework are you talking about ?

The maintainers file merge with the boards.

I suppose there will be not much problem with this reorder ... it would be nice if you provided link for a patch or discussion.

Best regards,
Marek Vasut

#15 lore raw

PATCH 1/5 ARM: mxs: Sort the mx23evk and mx23_olinuxino

Am 31/08/2013 22:03, schrieb Marek Vasut:

Quoted 3 lines

I suppose there will be not much problem with this reorder ... it would be nice if you provided link for a patch or discussion.

http://patchwork.ozlabs.org/patch/266253/

Of course, each change in boards.cfg or MAINTAINER will generate a conflict, as Otavio stated. I hope this patch will be merged soon.

I propose we postpone this single patch until Albert's flow into mainline - if we need then some clean up, we will do at that time.

Best regards,
Stefano

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
#16 lore raw

PATCH 1/5 ARM: mxs: Sort the mx23evk and mx23_olinuxino

Dear Stefano Babic,

Quoted 11 lines

Am 31/08/2013 22:03, schrieb Marek Vasut:

Quoted 2 lines

I suppose there will be not much problem with this reorder ... it would be nice if you provided link for a patch or discussion.

http://patchwork.ozlabs.org/patch/266253/

Of course, each change in boards.cfg or MAINTAINER will generate a conflict, as Otavio stated. I hope this patch will be merged soon.

I propose we postpone this single patch until Albert's flow into mainline - if we need then some clean up, we will do at that time.

Either way WFM. But where did the tartlette-devourer disappear anyway ? I haven't seen albert around for a while now ...

Best regards,
Marek Vasut

#17 lore raw

PATCH 1/5 ARM: mxs: Sort the mx23evk and mx23_olinuxino

In reply to Stefano Babic
Quoted 6 lines · Stefano Babic

Am 31/08/2013 22:03, schrieb Marek Vasut:

Quoted 3 lines

I suppose there will be not much problem with this reorder ... it would be nice if you provided link for a patch or discussion.

Quoted 7 lines

http://patchwork.ozlabs.org/patch/266253/

Of course, each change in boards.cfg or MAINTAINER will generate a conflict, as Otavio stated. I hope this patch will be merged soon.

I propose we postpone this single patch until Albert's flow into mainline - if we need then some clean up, we will do at that time.

I am adding Albert and Tom in Cc.

Anyone knows what is holding the MAINTAINER file rework from merge?

Signature · 3 lines
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
#18 lore raw

PATCH 1/5 ARM: mxs: Sort the mx23evk and mx23_olinuxino

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Quoted 12 lines · Otavio Salvador
Quoted 11 lines · Stefano Babic

Am 31/08/2013 22:03, schrieb Marek Vasut:

Quoted 3 lines

I suppose there will be not much problem with this reorder ... it would be nice if you provided link for a patch or discussion.

http://patchwork.ozlabs.org/patch/266253/

Of course, each change in boards.cfg or MAINTAINER will generate a conflict, as Otavio stated. I hope this patch will be merged soon.

Quoted 6 lines
Quoted 2 lines

I propose we postpone this single patch until Albert's flow into mainline - if we need then some clean up, we will do at that time.

I am adding Albert and Tom in Cc.

Anyone knows what is holding the MAINTAINER file rework from merge?

I like it, but given the current high conflict rate it has, I'm waiting for Albert to decide he's ready to re-generate things, probably after he gets back and re-syncs all the ARM trees.

- --
Tom
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJSJRhzAAoJENk4IS6UOR1WVdEP/R4pr9E2sq90mIV6Qx1JIWw6 DIvXqa5tiQfEvkWXveiqOxZwEsAUIBeS7xsMKKQo5yyd3/kIQjoSZUbQt1QNLJVx mDTXJIKfLEc43cbX5ywDhmmmNS7jB47cvrrAmOBN3L8EAn+GlpHYM0ZHKR9OLSRV tP5WQ2zgpTKL3c5rNRqL073sxLFOoPaXJgh461OlESjcxm/FlJLvUpIYJtPZdKpB ZJRbsqqeJbmFEKs4rf+//M4tVQwAtyqHPzLeAU1/fZ3Sx6s2A+aPeMOWuqYlpvik o8CJ6H/1wkPmSYKZNpItu0jFJSonRq/bKMeC7izbPNODHbiZgLL4qbWqQ+v4Jo2w l1S15brWNdIiUlLfvMLr4g1K0WObcBAaRwpL3EXd/sS7HSe4hCqTi5Se6bKKysEa D0FLHRbcGEpsdbyqCi9DoCHEGViO+qon/nxpFWtxeNYSVcumHTVs0+Q/cx2W9qVV WY6b8zkjnaj4QOgEIIDfRWcVQ3oQIFrSfPf8G/heAwqxyjEtg48baFpA9xk9wBRH bvB32twE26yTmBKii4pT6Xhl2S1rJDVCPuHIpgHzsJmNT1uPla0gqkrIRHFWCJ2t Rg+7IxfHvA8cee369M6dwvjsOvQN7oF0xenRaS7KrwgDdWAmzQ4umi+wbmU3CRzU Jbqj3a7Wccsqqkm7pEdF
=KBB7
-----END PGP SIGNATURE-----

#19 lore raw

PATCH 1/5 ARM: mxs: Sort the mx23evk and mx23_olinuxino

Quoted 19 lines · Tom Rini

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Quoted 15 lines · Otavio Salvador
Quoted 13 lines · Stefano Babic

Am 31/08/2013 22:03, schrieb Marek Vasut:

Quoted 3 lines

I suppose there will be not much problem with this reorder ... it would be nice if you provided link for a patch or discussion.

http://patchwork.ozlabs.org/patch/266253/

Of course, each change in boards.cfg or MAINTAINER will generate a conflict, as Otavio stated. I hope this patch will be merged soon.

I propose we postpone this single patch until Albert's flow into mainline - if we need then some clean up, we will do at that time.

Quoted 7 lines
Quoted 3 lines

I am adding Albert and Tom in Cc.

Anyone knows what is holding the MAINTAINER file rework from merge?

I like it, but given the current high conflict rate it has, I'm waiting for Albert to decide he's ready to re-generate things, probably after he gets back and re-syncs all the ARM trees.

In this case, this patch could be applied to imx tree than.

Signature · 3 lines
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
#20 lore raw

PATCH 1/5 ARM: mxs: Sort the mx23evk and mx23_olinuxino

Quoted 22 lines · Otavio Salvador
Quoted 21 lines · Tom Rini

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Quoted 17 lines · Otavio Salvador
Quoted 6 lines · Stefano Babic

Am 31/08/2013 22:03, schrieb Marek Vasut:

Quoted 3 lines

I suppose there will be not much problem with this reorder ... it would be nice if you provided link for a patch or discussion.

Quoted 7 lines

http://patchwork.ozlabs.org/patch/266253/

Of course, each change in boards.cfg or MAINTAINER will generate a conflict, as Otavio stated. I hope this patch will be merged soon.

I propose we postpone this single patch until Albert's flow into mainline - if we need then some clean up, we will do at that time.

I am adding Albert and Tom in Cc.

Quoted 8 lines
Quoted 5 lines
Quoted 1 line

Anyone knows what is holding the MAINTAINER file rework from merge?

I like it, but given the current high conflict rate it has, I'm waiting for Albert to decide he's ready to re-generate things, probably after he gets back and re-syncs all the ARM trees.

In this case, this patch could be applied to imx tree than.

Agree.

Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================