Re: [U-Boot] [PATCH 5/7] Add basic support for Freescale's mc9sdz60

2011-01-18 Thread Wolfgang Denk
Dear Stefano Babic,

In message <1295012124-15551-5-git-send-email-sba...@denx.de> you wrote:
> The patch adds helper funtions for basic access to the registers
> of the MC9sdz60 chip (multifunctional device with RTC and CAN) via
> I2C interface.
> 
> Signed-off-by: Stefano Babic 
> ---
>  drivers/misc/Makefile   |1 +
>  drivers/misc/mc9sdz60.c |   51 
>  include/mc9sdz60.h  |   84 
> +++
>  3 files changed, 136 insertions(+), 0 deletions(-)
>  create mode 100644 drivers/misc/mc9sdz60.c
>  create mode 100644 include/mc9sdz60.h
> 
> diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
> index a76bd4e..311c373 100644
> --- a/drivers/misc/Makefile
> +++ b/drivers/misc/Makefile
> @@ -32,6 +32,7 @@ COBJS-$(CONFIG_GPIO_LED) += gpio_led.o
>  COBJS-$(CONFIG_NS87308) += ns87308.o
>  COBJS-$(CONFIG_STATUS_LED) += status_led.o
>  COBJS-$(CONFIG_TWL4030_LED) += twl4030_led.o
> +COBJS-$(CONFIG_FSL_MC9SDZ60) += mc9sdz60.o
>  COBJS-$(CONFIG_FSL_PMIC) += fsl_pmic.o
>  COBJS-$(CONFIG_PDSP188x) += pdsp188x.o

I know it's not your fault, but could you please sort this list?

Thanks.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
What the gods would destroy they first submit to  an  IEEE  standards
committee.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 5/7] Add basic support for Freescale's mc9sdz60

2011-01-14 Thread Stefano Babic
The patch adds helper funtions for basic access to the registers
of the MC9sdz60 chip (multifunctional device with RTC and CAN) via
I2C interface.

Signed-off-by: Stefano Babic 
---
 drivers/misc/Makefile   |1 +
 drivers/misc/mc9sdz60.c |   51 
 include/mc9sdz60.h  |   84 +++
 3 files changed, 136 insertions(+), 0 deletions(-)
 create mode 100644 drivers/misc/mc9sdz60.c
 create mode 100644 include/mc9sdz60.h

diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index a76bd4e..311c373 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -32,6 +32,7 @@ COBJS-$(CONFIG_GPIO_LED) += gpio_led.o
 COBJS-$(CONFIG_NS87308) += ns87308.o
 COBJS-$(CONFIG_STATUS_LED) += status_led.o
 COBJS-$(CONFIG_TWL4030_LED) += twl4030_led.o
+COBJS-$(CONFIG_FSL_MC9SDZ60) += mc9sdz60.o
 COBJS-$(CONFIG_FSL_PMIC) += fsl_pmic.o
 COBJS-$(CONFIG_PDSP188x) += pdsp188x.o
 
diff --git a/drivers/misc/mc9sdz60.c b/drivers/misc/mc9sdz60.c
new file mode 100644
index 000..439d5a6
--- /dev/null
+++ b/drivers/misc/mc9sdz60.c
@@ -0,0 +1,51 @@
+/*
+ * (C) Copyright 2010 Stefano Babic 
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#ifndef CONFIG_SYS_FSL_MC9SDZ60_I2C_ADDR
+#error "You have to configure I2C address for MC9SDZ60"
+#endif
+
+
+u8 mc9sdz60_reg_read(enum mc9sdz60_reg reg)
+{
+   u8 val;
+
+   if (i2c_read(CONFIG_SYS_FSL_MC9SDZ60_I2C_ADDR, reg, 1, &val, 1)) {
+   puts("Error reading MC9SDZ60 register\n");
+   return -1;
+   }
+
+   return val;
+}
+
+void mc9sdz60_reg_write(enum mc9sdz60_reg reg, u8 val)
+{
+   i2c_write(CONFIG_SYS_FSL_MC9SDZ60_I2C_ADDR, reg, 1, &val, 1);
+}
diff --git a/include/mc9sdz60.h b/include/mc9sdz60.h
new file mode 100644
index 000..31b894c
--- /dev/null
+++ b/include/mc9sdz60.h
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2009 Marc Kleine-Budde 
+ *
+ * Copyright 2004-2009 Freescale Semiconductor, Inc. All Rights Reserved.
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ */
+
+#ifndef __ASM_ARCH_MC9SDZ60_H
+#define __ASM_ARCH_MC9SDZ60_H
+
+/**
+ * Register addresses for the MC9SDZ60
+ *
+ * @note: these match those in the kernel drivers/mxc/mcu_pmic/mc9s08dz60.h
+ * but not include/linux/mfd/mc9s08dz60/pmic.h
+ *
+ */
+enum mc9sdz60_reg {
+   MC9SDZ60_REG_VERSION= 0x00,
+   /* reserved   0x01 */
+   MC9SDZ60_REG_SECS   = 0x02,
+   MC9SDZ60_REG_MINS   = 0x03,
+   MC9SDZ60_REG_HRS= 0x04,
+   MC9SDZ60_REG_DAY= 0x05,
+   MC9SDZ60_REG_DATE   = 0x06,
+   MC9SDZ60_REG_MONTH  = 0x07,
+   MC9SDZ60_REG_YEAR   = 0x08,
+   MC9SDZ60_REG_ALARM_SECS = 0x09,
+   MC9SDZ60_REG_ALARM_MINS = 0x0a,
+   MC9SDZ60_REG_ALARM_HRS  = 0x0b,
+   /* reserved   0x0c */
+   /* reserved   0x0d */
+   MC9SDZ60_REG_TS_CONTROL = 0x0e,
+   MC9SDZ60_REG_X_LOW  = 0x0f,
+   MC9SDZ60_REG_Y_LOW  = 0x10,
+   MC9SDZ60_REG_XY_HIGH= 0x11,
+   MC9SDZ60_REG_X_LEFT_LOW = 0x12,
+   MC9SDZ60_REG_X_LEFT_HIGH= 0x13,
+   MC9SDZ60_REG_X_RIGHT= 0x14,
+   MC9SDZ60_REG_Y_TOP_LOW  = 0x15,
+   MC9S