All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] ARM i.MX53 enable SMD and LOCO board bootup
@ 2011-01-11  6:23 yong.shen at freescale.com
  2011-01-11  6:23 ` [PATCH 1/2] ARM i.MX53 enable SMD " yong.shen at freescale.com
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: yong.shen at freescale.com @ 2011-01-11  6:23 UTC (permalink / raw)
  To: linux-arm-kernel

SMD and LOCO are newly developed boards of i.MX53. LOCO means "low cost", which is supposed to be widespread soon.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/2] ARM i.MX53 enable SMD board bootup
  2011-01-11  6:23 [PATCH 0/2] ARM i.MX53 enable SMD and LOCO board bootup yong.shen at freescale.com
@ 2011-01-11  6:23 ` yong.shen at freescale.com
  2011-01-11  6:23 ` [PATCH 2/2] ARM i.MX53 enable LOCO " yong.shen at freescale.com
  2011-01-11  7:23 ` [PATCH 0/2] ARM i.MX53 enable SMD and " Baruch Siach
  2 siblings, 0 replies; 10+ messages in thread
From: yong.shen at freescale.com @ 2011-01-11  6:23 UTC (permalink / raw)
  To: linux-arm-kernel

From: Yong Shen <yong.shen@freescale.com>

1. Add Kconfig and Makefile entries
2. Add board definition
3. enable uart and fec for SMD board

Signed-off-by: Yong Shen <yong.shen@freescale.com>
---
 arch/arm/mach-mx5/Kconfig          |    7 ++
 arch/arm/mach-mx5/Makefile         |    1 +
 arch/arm/mach-mx5/board-mx53_smd.c |  112 ++++++++++++++++++++++++++++++++++++
 3 files changed, 120 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-mx5/board-mx53_smd.c

diff --git a/arch/arm/mach-mx5/Kconfig b/arch/arm/mach-mx5/Kconfig
index 23b0e3f..09ac525 100644
--- a/arch/arm/mach-mx5/Kconfig
+++ b/arch/arm/mach-mx5/Kconfig
@@ -130,6 +130,13 @@ config MACH_MX53_EVK
 	  Include support for MX53 EVK platform. This includes specific
 	  configurations for the board and its peripherals.
 
+config MACH_MX53_SMD
+	bool "Support MX53 SMD platforms"
+	select SOC_IMX53
+	select IMX_HAVE_PLATFORM_IMX_UART
+	help
+	  Include support for MX53 SMD platform. This includes specific
+	  configurations for the board and its peripherals.
 
 config MACH_MX50_RDP
 	bool "Support MX50 reference design platform"
diff --git a/arch/arm/mach-mx5/Makefile b/arch/arm/mach-mx5/Makefile
index 0c398ba..895bfe3 100644
--- a/arch/arm/mach-mx5/Makefile
+++ b/arch/arm/mach-mx5/Makefile
@@ -10,6 +10,7 @@ obj-$(CONFIG_CPU_FREQ_IMX)    += cpu_op-mx51.o
 obj-$(CONFIG_MACH_MX51_BABBAGE) += board-mx51_babbage.o
 obj-$(CONFIG_MACH_MX51_3DS) += board-mx51_3ds.o
 obj-$(CONFIG_MACH_MX53_EVK) += board-mx53_evk.o
+obj-$(CONFIG_MACH_MX53_SMD) += board-mx53_smd.o
 obj-$(CONFIG_MACH_EUKREA_CPUIMX51) += board-cpuimx51.o
 obj-$(CONFIG_MACH_EUKREA_MBIMX51_BASEBOARD) += eukrea_mbimx51-baseboard.o
 obj-$(CONFIG_MACH_EUKREA_CPUIMX51SD) += board-cpuimx51sd.o
diff --git a/arch/arm/mach-mx5/board-mx53_smd.c b/arch/arm/mach-mx5/board-mx53_smd.c
new file mode 100644
index 0000000..2d36348
--- /dev/null
+++ b/arch/arm/mach-mx5/board-mx53_smd.c
@@ -0,0 +1,112 @@
+/*
+ * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <linux/init.h>
+#include <linux/clk.h>
+#include <linux/fec.h>
+#include <linux/delay.h>
+#include <linux/gpio.h>
+
+#include <mach/common.h>
+#include <mach/hardware.h>
+#include <mach/imx-uart.h>
+#include <mach/iomux-mx53.h>
+
+#include <asm/mach-types.h>
+#include <asm/mach/arch.h>
+#include <asm/mach/time.h>
+
+#include "crm_regs.h"
+#include "devices-imx53.h"
+
+#define SMD_FEC_PHY_RST		IMX_GPIO_NR(7, 6)
+
+static iomux_v3_cfg_t mx53_smd_pads[] = {
+	MX53_PAD_CSI0_D10__UART1_TXD,
+	MX53_PAD_CSI0_D11__UART1_RXD,
+	MX53_PAD_ATA_DIOW__UART1_TXD,
+	MX53_PAD_ATA_DMACK__UART1_RXD,
+
+	MX53_PAD_ATA_BUFFER_EN__UART2_RXD,
+	MX53_PAD_ATA_DMARQ__UART2_TXD,
+	MX53_PAD_ATA_DIOR__UART2_RTS,
+	MX53_PAD_ATA_INTRQ__UART2_CTS,
+
+	MX53_PAD_ATA_CS_0__UART3_TXD,
+	MX53_PAD_ATA_CS_1__UART3_RXD,
+	MX53_PAD_ATA_DA_1__UART3_CTS,
+	MX53_PAD_ATA_DA_2__UART3_RTS,
+};
+
+static const struct imxuart_platform_data mx53_smd_uart_data __initconst = {
+	.flags = IMXUART_HAVE_RTSCTS,
+};
+
+static inline void mx53_smd_init_uart(void)
+{
+	imx53_add_imx_uart(0, &mx53_smd_uart_data);
+	imx53_add_imx_uart(1, &mx53_smd_uart_data);
+	imx53_add_imx_uart(2, &mx53_smd_uart_data);
+}
+
+static inline void mx53_smd_fec_reset(void)
+{
+	int ret;
+
+	/* reset FEC PHY */
+	ret = gpio_request(SMD_FEC_PHY_RST, "fec-phy-reset");
+	if (ret) {
+		printk(KERN_ERR"failed to get GPIO_FEC_PHY_RESET: %d\n", ret);
+		return;
+	}
+	gpio_direction_output(SMD_FEC_PHY_RST, 0);
+	gpio_set_value(SMD_FEC_PHY_RST, 0);
+	msleep(1);
+	gpio_set_value(SMD_FEC_PHY_RST, 1);
+}
+
+static struct fec_platform_data mx53_smd_fec_data = {
+	.phy = PHY_INTERFACE_MODE_RMII,
+};
+
+static void __init mx53_smd_board_init(void)
+{
+	mxc_iomux_v3_setup_multiple_pads(mx53_smd_pads,
+					ARRAY_SIZE(mx53_smd_pads));
+	mx53_smd_init_uart();
+	mx53_smd_fec_reset();
+	imx53_add_fec(&mx53_smd_fec_data);
+}
+
+static void __init mx53_smd_timer_init(void)
+{
+	mx53_clocks_init(32768, 24000000, 22579200, 0);
+}
+
+static struct sys_timer mx53_smd_timer = {
+	.init	= mx53_smd_timer_init,
+};
+
+MACHINE_START(MX53_SMD, "Freescale MX53 SMD Board")
+	.map_io = mx53_map_io,
+	.init_irq = mx53_init_irq,
+	.init_machine = mx53_smd_board_init,
+	.timer = &mx53_smd_timer,
+MACHINE_END
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2] ARM i.MX53 enable LOCO board bootup
  2011-01-11  6:23 [PATCH 0/2] ARM i.MX53 enable SMD and LOCO board bootup yong.shen at freescale.com
  2011-01-11  6:23 ` [PATCH 1/2] ARM i.MX53 enable SMD " yong.shen at freescale.com
@ 2011-01-11  6:23 ` yong.shen at freescale.com
  2011-01-11 14:39   ` Fabio Estevam
  2011-01-11  7:23 ` [PATCH 0/2] ARM i.MX53 enable SMD and " Baruch Siach
  2 siblings, 1 reply; 10+ messages in thread
From: yong.shen at freescale.com @ 2011-01-11  6:23 UTC (permalink / raw)
  To: linux-arm-kernel

From: Yong Shen <yong.shen@freescale.com>

1. Add Kconfig and Makefile entries
2. Add board definition
3. enable uart and fec for LOCO board

Signed-off-by: Yong Shen <yong.shen@freescale.com>
---
 arch/arm/mach-mx5/Kconfig           |    8 +++
 arch/arm/mach-mx5/Makefile          |    1 +
 arch/arm/mach-mx5/board-mx53_loco.c |  112 +++++++++++++++++++++++++++++++++++
 3 files changed, 121 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-mx5/board-mx53_loco.c

diff --git a/arch/arm/mach-mx5/Kconfig b/arch/arm/mach-mx5/Kconfig
index 09ac525..982f798 100644
--- a/arch/arm/mach-mx5/Kconfig
+++ b/arch/arm/mach-mx5/Kconfig
@@ -138,6 +138,14 @@ config MACH_MX53_SMD
 	  Include support for MX53 SMD platform. This includes specific
 	  configurations for the board and its peripherals.
 
+config MACH_MX53_LOCO
+	bool "Support MX53 LOCO platforms"
+	select SOC_IMX53
+	select IMX_HAVE_PLATFORM_IMX_UART
+	help
+	  Include support for MX53 LOCO platform. This includes specific
+	  configurations for the board and its peripherals.
+
 config MACH_MX50_RDP
 	bool "Support MX50 reference design platform"
 	depends on BROKEN
diff --git a/arch/arm/mach-mx5/Makefile b/arch/arm/mach-mx5/Makefile
index 895bfe3..0d43be9 100644
--- a/arch/arm/mach-mx5/Makefile
+++ b/arch/arm/mach-mx5/Makefile
@@ -11,6 +11,7 @@ obj-$(CONFIG_MACH_MX51_BABBAGE) += board-mx51_babbage.o
 obj-$(CONFIG_MACH_MX51_3DS) += board-mx51_3ds.o
 obj-$(CONFIG_MACH_MX53_EVK) += board-mx53_evk.o
 obj-$(CONFIG_MACH_MX53_SMD) += board-mx53_smd.o
+obj-$(CONFIG_MACH_MX53_LOCO) += board-mx53_loco.o
 obj-$(CONFIG_MACH_EUKREA_CPUIMX51) += board-cpuimx51.o
 obj-$(CONFIG_MACH_EUKREA_MBIMX51_BASEBOARD) += eukrea_mbimx51-baseboard.o
 obj-$(CONFIG_MACH_EUKREA_CPUIMX51SD) += board-cpuimx51sd.o
diff --git a/arch/arm/mach-mx5/board-mx53_loco.c b/arch/arm/mach-mx5/board-mx53_loco.c
new file mode 100644
index 0000000..76896cc
--- /dev/null
+++ b/arch/arm/mach-mx5/board-mx53_loco.c
@@ -0,0 +1,112 @@
+/*
+ * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved.
+ */
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <linux/init.h>
+#include <linux/clk.h>
+#include <linux/fec.h>
+#include <linux/delay.h>
+#include <linux/gpio.h>
+
+#include <mach/common.h>
+#include <mach/hardware.h>
+#include <mach/imx-uart.h>
+#include <mach/iomux-mx53.h>
+
+#include <asm/mach-types.h>
+#include <asm/mach/arch.h>
+#include <asm/mach/time.h>
+
+#include "crm_regs.h"
+#include "devices-imx53.h"
+
+#define LOCO_FEC_PHY_RST		IMX_GPIO_NR(7, 6)
+
+static iomux_v3_cfg_t mx53_loco_pads[] = {
+	MX53_PAD_CSI0_D10__UART1_TXD,
+	MX53_PAD_CSI0_D11__UART1_RXD,
+	MX53_PAD_ATA_DIOW__UART1_TXD,
+	MX53_PAD_ATA_DMACK__UART1_RXD,
+
+	MX53_PAD_ATA_BUFFER_EN__UART2_RXD,
+	MX53_PAD_ATA_DMARQ__UART2_TXD,
+	MX53_PAD_ATA_DIOR__UART2_RTS,
+	MX53_PAD_ATA_INTRQ__UART2_CTS,
+
+	MX53_PAD_ATA_CS_0__UART3_TXD,
+	MX53_PAD_ATA_CS_1__UART3_RXD,
+	MX53_PAD_ATA_DA_1__UART3_CTS,
+	MX53_PAD_ATA_DA_2__UART3_RTS,
+};
+
+static const struct imxuart_platform_data mx53_loco_uart_data __initconst = {
+	.flags = IMXUART_HAVE_RTSCTS,
+};
+
+static inline void mx53_loco_init_uart(void)
+{
+	imx53_add_imx_uart(0, &mx53_loco_uart_data);
+	imx53_add_imx_uart(1, &mx53_loco_uart_data);
+	imx53_add_imx_uart(2, &mx53_loco_uart_data);
+}
+
+static inline void mx53_loco_fec_reset(void)
+{
+	int ret;
+
+	/* reset FEC PHY */
+	ret = gpio_request(LOCO_FEC_PHY_RST, "fec-phy-reset");
+	if (ret) {
+		printk(KERN_ERR"failed to get GPIO_FEC_PHY_RESET: %d\n", ret);
+		return;
+	}
+	gpio_direction_output(LOCO_FEC_PHY_RST, 0);
+	gpio_set_value(LOCO_FEC_PHY_RST, 0);
+	msleep(1);
+	gpio_set_value(LOCO_FEC_PHY_RST, 1);
+}
+
+static struct fec_platform_data mx53_loco_fec_data = {
+	.phy = PHY_INTERFACE_MODE_RMII,
+};
+
+static void __init mx53_loco_board_init(void)
+{
+	mxc_iomux_v3_setup_multiple_pads(mx53_loco_pads,
+					ARRAY_SIZE(mx53_loco_pads));
+	mx53_loco_init_uart();
+	mx53_loco_fec_reset();
+	imx53_add_fec(&mx53_loco_fec_data);
+}
+
+static void __init mx53_loco_timer_init(void)
+{
+	mx53_clocks_init(32768, 24000000, 0, 0);
+}
+
+static struct sys_timer mx53_loco_timer = {
+	.init	= mx53_loco_timer_init,
+};
+
+MACHINE_START(MX53_LOCO, "Freescale MX53 LOCO Board")
+	.map_io = mx53_map_io,
+	.init_irq = mx53_init_irq,
+	.init_machine = mx53_loco_board_init,
+	.timer = &mx53_loco_timer,
+MACHINE_END
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 0/2] ARM i.MX53 enable SMD and LOCO board bootup
  2011-01-11  6:23 [PATCH 0/2] ARM i.MX53 enable SMD and LOCO board bootup yong.shen at freescale.com
  2011-01-11  6:23 ` [PATCH 1/2] ARM i.MX53 enable SMD " yong.shen at freescale.com
  2011-01-11  6:23 ` [PATCH 2/2] ARM i.MX53 enable LOCO " yong.shen at freescale.com
@ 2011-01-11  7:23 ` Baruch Siach
  2011-01-11  7:54   ` Yong Shen
  2 siblings, 1 reply; 10+ messages in thread
From: Baruch Siach @ 2011-01-11  7:23 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Yong,

On Tue, Jan 11, 2011 at 02:23:16PM +0800, yong.shen at freescale.com wrote:
> SMD and LOCO are newly developed boards of i.MX53. LOCO means "low cost", 
> which is supposed to be widespread soon.

These two patches seem almost identical. Can't both board support code share 
the same file?

baruch

-- 
                                                     ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 0/2] ARM i.MX53 enable SMD and LOCO board bootup
  2011-01-11  7:23 ` [PATCH 0/2] ARM i.MX53 enable SMD and " Baruch Siach
@ 2011-01-11  7:54   ` Yong Shen
  2011-01-11  8:25     ` Baruch Siach
  0 siblings, 1 reply; 10+ messages in thread
From: Yong Shen @ 2011-01-11  7:54 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Baruch,

So far they are similar, but as more code and features are added in,
they are going to be different. We had registered different mach id to
distinguish these two boards.

Thanks
Yong

On Tue, Jan 11, 2011 at 3:23 PM, Baruch Siach <baruch@tkos.co.il> wrote:
> Hi Yong,
>
> On Tue, Jan 11, 2011 at 02:23:16PM +0800, yong.shen at freescale.com wrote:
>> SMD and LOCO are newly developed boards of i.MX53. LOCO means "low cost",
>> which is supposed to be widespread soon.
>
> These two patches seem almost identical. Can't both board support code share
> the same file?
>
> baruch
>
> --
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ~. .~ ? Tk Open Systems
> =}------------------------------------------------ooO--U--Ooo------------{=
> ? - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 0/2] ARM i.MX53 enable SMD and LOCO board bootup
  2011-01-11  7:54   ` Yong Shen
@ 2011-01-11  8:25     ` Baruch Siach
  2011-01-11  8:58       ` Yong Shen
  0 siblings, 1 reply; 10+ messages in thread
From: Baruch Siach @ 2011-01-11  8:25 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Yong,

On Tue, Jan 11, 2011 at 03:54:43PM +0800, Yong Shen wrote:
> So far they are similar, but as more code and features are added in,
> they are going to be different. We had registered different mach id to
> distinguish these two boards.

Code for two (or more) different machines can be shared in the same file. See 
for example the code in arch/arm/mach-at91/board-stamp9g20.c which supports 
both taskit PortuxG20 and taskit Stamp9G20, and 
arch/arm/mach-at91/board-pcontrol-g20.c which is reusing code from these 
boards for a third board (PControl G20).

We should avoid code duplication as much as possible, IMO.

baruch

> On Tue, Jan 11, 2011 at 3:23 PM, Baruch Siach <baruch@tkos.co.il> wrote:
> > On Tue, Jan 11, 2011 at 02:23:16PM +0800, yong.shen at freescale.com wrote:
> >> SMD and LOCO are newly developed boards of i.MX53. LOCO means "low cost",
> >> which is supposed to be widespread soon.
> >
> > These two patches seem almost identical. Can't both board support code share
> > the same file?

-- 
                                                     ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 0/2] ARM i.MX53 enable SMD and LOCO board bootup
  2011-01-11  8:25     ` Baruch Siach
@ 2011-01-11  8:58       ` Yong Shen
  0 siblings, 0 replies; 10+ messages in thread
From: Yong Shen @ 2011-01-11  8:58 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Baruch,

>
> Code for two (or more) different machines can be shared in the same file. See
> for example the code in arch/arm/mach-at91/board-stamp9g20.c which supports
> both taskit PortuxG20 and taskit Stamp9G20, and
> arch/arm/mach-at91/board-pcontrol-g20.c which is reusing code from these
> boards for a third board (PControl G20).
>
> We should avoid code duplication as much as possible, IMO.
>
I agree the rule you mentioned about: avoid code duplication, and I
also know that one file can hold multiple board definitions. However,
in this case, these two boards were designed for different purpose.
For example, SMD is for smart mobile device, while LOCO is more
generic for multiple usage. As time goes on, the code for each boards
are supposed to be much more different than it is now.
So I still stick on my opinion, hope you can understand.

thanks
Yong

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 2/2] ARM i.MX53 enable LOCO board bootup
  2011-01-11  6:23 ` [PATCH 2/2] ARM i.MX53 enable LOCO " yong.shen at freescale.com
@ 2011-01-11 14:39   ` Fabio Estevam
  2011-01-12  2:46     ` Yong Shen
  0 siblings, 1 reply; 10+ messages in thread
From: Fabio Estevam @ 2011-01-11 14:39 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Yong,

On Tue, Jan 11, 2011 at 4:23 AM,  <yong.shen@freescale.com> wrote:
> From: Yong Shen <yong.shen@freescale.com>
>
> 1. Add Kconfig and Makefile entries
> 2. Add board definition
> 3. enable uart and fec for LOCO board
>
> Signed-off-by: Yong Shen <yong.shen@freescale.com>
> ---
....

> + ? ? ? }
> + ? ? ? gpio_direction_output(LOCO_FEC_PHY_RST, 0);
> + ? ? ? gpio_set_value(LOCO_FEC_PHY_RST, 0);

As Baruch pointed out on a previous post, you can remove the
gpio_set_value line here.

Regards,

Fabio Estevam

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 2/2] ARM i.MX53 enable LOCO board bootup
  2011-01-11 14:39   ` Fabio Estevam
@ 2011-01-12  2:46     ` Yong Shen
  2011-01-12  7:29       ` Uwe Kleine-König
  0 siblings, 1 reply; 10+ messages in thread
From: Yong Shen @ 2011-01-12  2:46 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Fabio,

Below is my reply to Baruch, I meant to keep this code here to show
the reset process clearly.
>> +     if (ret) {
>> +             printk(KERN_ERR"failed to get GPIO_FEC_PHY_RESET: %d\n", ret);
>> +             return;
>> +     }
>> +     gpio_direction_output(SMD_FEC_PHY_RST, 0);
>> +     gpio_set_value(SMD_FEC_PHY_RST, 0);
>
> This seems to be redundant. gpio_direction_output() has already set the value
> to 0.

You are right. But, gpio_set_value is meant to be here to show the
process of fec reset: first pull low and then pull high. And
gpio_direction_output here is for direction configuration although it
has the ability of configure output value.

thanks
Yong

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 2/2] ARM i.MX53 enable LOCO board bootup
  2011-01-12  2:46     ` Yong Shen
@ 2011-01-12  7:29       ` Uwe Kleine-König
  0 siblings, 0 replies; 10+ messages in thread
From: Uwe Kleine-König @ 2011-01-12  7:29 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Jan 12, 2011 at 10:46:24AM +0800, Yong Shen wrote:
> Hi Fabio,
> 
> Below is my reply to Baruch, I meant to keep this code here to show
> the reset process clearly.
> >> +     if (ret) {
> >> +             printk(KERN_ERR"failed to get GPIO_FEC_PHY_RESET: %d\n", ret);
> >> +             return;
> >> +     }
> >> +     gpio_direction_output(SMD_FEC_PHY_RST, 0);
> >> +     gpio_set_value(SMD_FEC_PHY_RST, 0);
> >
> > This seems to be redundant. gpio_direction_output() has already set the value
> > to 0.
> 
> You are right. But, gpio_set_value is meant to be here to show the
> process of fec reset: first pull low and then pull high. And
> gpio_direction_output here is for direction configuration although it
> has the ability of configure output value.
If you care about it:  I'd vote for removing the call to gpio_set_value,
too.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2011-01-12  7:29 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-11  6:23 [PATCH 0/2] ARM i.MX53 enable SMD and LOCO board bootup yong.shen at freescale.com
2011-01-11  6:23 ` [PATCH 1/2] ARM i.MX53 enable SMD " yong.shen at freescale.com
2011-01-11  6:23 ` [PATCH 2/2] ARM i.MX53 enable LOCO " yong.shen at freescale.com
2011-01-11 14:39   ` Fabio Estevam
2011-01-12  2:46     ` Yong Shen
2011-01-12  7:29       ` Uwe Kleine-König
2011-01-11  7:23 ` [PATCH 0/2] ARM i.MX53 enable SMD and " Baruch Siach
2011-01-11  7:54   ` Yong Shen
2011-01-11  8:25     ` Baruch Siach
2011-01-11  8:58       ` Yong Shen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.