Skip to contentSkip to conversation

ppc4xx: Add Io64 board support

PATCH New Dirk Eibach 2 participants 2 messages Oct 20, 2011 – Dec 1, 2011

lore
Share & tools
lore
#0 lore raw

PATCH v5 1/1 ppc4xx: Add Io64 board support

Board support for the Guntermann & Drunck Io64.

---
Changes for v2:
- Added MAINTAINERS entry
- Cleaned up issues reported by checkpatch
Changes for v3:
- migrated board specific init_func_fpga() to board_early_init_r()
Changes for v4:
- call dtt_init() to startup fans
Changes for v5:
- adapt to changes in pca9698 API

 MAINTAINERS                     |    1 +
 board/gdsys/405ex/405ex.c       |  250 +++++++++++++++++
 board/gdsys/405ex/405ex.h       |   10 +
 board/gdsys/405ex/Makefile      |   53 ++++
 board/gdsys/405ex/chip_config.c |   96 +++++++
 board/gdsys/405ex/io64.c        |  384 ++++++++++++++++++++++++++
 board/gdsys/common/Makefile     |    1 +
 board/gdsys/common/miiphybb.c   |   58 ++++-
 boards.cfg                      |    1 +
 include/configs/io64.h          |  566 +++++++++++++++++++++++++++++++++++++++
 include/gdsys_fpga.h            |   19 ++
 11 files changed, 1431 insertions(+), 8 deletions(-)
 create mode 100644 board/gdsys/405ex/405ex.c
 create mode 100644 board/gdsys/405ex/405ex.h
 create mode 100644 board/gdsys/405ex/Makefile
 create mode 100644 board/gdsys/405ex/chip_config.c
 create mode 100644 board/gdsys/405ex/io64.c
 create mode 100644 include/configs/io64.h
MAINTAINERS +1 -0
index 5b2fb57..d872343 100644
@@ -154,6 +154,7 @@ Dirk Eibach <[email protected]>
 	gdppc440etx	PPC440EP/GR
 	intip		PPC460EX
 	io		PPC405EP
+	io64		PPC405EX
 	iocon		PPC405EP
 	neo		PPC405EP
 
board/gdsys/405ex/405ex.c new file +250 -0

250 lines not on this page · raw message

board/gdsys/405ex/405ex.h new file +10 -0
new file mode 100644
index 0000000..b15623f
@@ -0,0 +1,10 @@
+#ifndef __405EX_H_
+#define __405EX_H_
+
+/* functions to be provided by board implementation */
+void gd405ex_init(void);
+void gd405ex_set_fpga_reset(unsigned state);
+void gd405ex_setup_hw(void);
+int gd405ex_get_fpga_done(unsigned fpga);
+
+#endif /* __405EX_H_ */
board/gdsys/405ex/Makefile new file +53 -0

53 lines not on this page · raw message

board/gdsys/405ex/chip_config.c new file +96 -0

96 lines not on this page · raw message

board/gdsys/405ex/io64.c new file +384 -0

384 lines not on this page · raw message

board/gdsys/common/Makefile +1 -0
index 4c7fc99..47f8c95 100644
@@ -30,6 +30,7 @@ endif
 LIB	= $(obj)lib$(VENDOR).o
 
 COBJS-$(CONFIG_IO) += miiphybb.o
+COBJS-$(CONFIG_IO64) += miiphybb.o
 COBJS-$(CONFIG_IOCON) += osd.o
 COBJS-$(CONFIG_DLVISION_10G) += osd.o
 
board/gdsys/common/miiphybb.c +50 -8

116 lines not on this page · raw message

boards.cfg +1 -0
index d32ff7e..57ea36f 100644
@@ -838,6 +838,7 @@ dlvision-10g                 powerpc     ppc4xx      405ep               gdsys
 gdppc440etx                  powerpc     ppc4xx      -                   gdsys
 intip                        powerpc     ppc4xx      intip               gdsys          -           intip:INTIB
 io                           powerpc     ppc4xx      405ep               gdsys
+io64                         powerpc     ppc4xx      405ex               gdsys
 iocon                        powerpc     ppc4xx      405ep               gdsys
 neo                          powerpc     ppc4xx      -                   gdsys
 icon                         powerpc     ppc4xx      -                   mosaixtech
include/configs/io64.h new file +566 -0

566 lines not on this page · raw message

include/gdsys_fpga.h +19 -0
index c0b1b5c..e7a072b 100644
@@ -24,9 +24,12 @@
 #ifndef __GDSYS_FPGA_H
 #define __GDSYS_FPGA_H
 
+int init_func_fpga(void);
+
 enum {
 	FPGA_STATE_DONE_FAILED = 1 << 0,
 	FPGA_STATE_REFLECTION_FAILED = 1 << 1,
+	FPGA_STATE_PLATFORM = 1 << 2,
 };
 
 int get_fpga_state(unsigned dev);
@@ -68,6 +71,22 @@ typedef struct ihs_fpga {
 } ihs_fpga_t;
 #endif
 
+#ifdef CONFIG_IO64
+typedef struct ihs_fpga {
+	u16 reflection_low;	/* 0x0000 */
+	u16 versions;		/* 0x0002 */
+	u16 fpga_features;	/* 0x0004 */
+	u16 fpga_version;	/* 0x0006 */
+	u16 reserved_0[5];	/* 0x0008 */
+	u16 quad_serdes_reset;	/* 0x0012 */
+	u16 reserved_1[502];	/* 0x0014 */
+	u16 ch0_status_int;	/* 0x0400 */
+	u16 ch0_config_int;	/* 0x0402 */
+	u16 reserved_2[7677];	/* 0x0404 */
+	u16 reflection_high;	/* 0x3ffe */
+} ihs_fpga_t;
+#endif
+
 #ifdef CONFIG_IOCON
 typedef struct ihs_fpga {
 	u16 reflection_low;	/* 0x0000 */
Signature · 1 line
1.5.6.5
#1 lore raw

PATCH v5 1/1 ppc4xx: Add Io64 board support

Quoted 1 line · On Thursday 20 October 2011 11:12:55 Dirk Eibach wrote:

Board support for the Guntermann & Drunck Io64.

Applied to u-boot-ppc4xx. Thanks.

Best regards,
Stefan

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office at denx.de