Prior to this commit, to enable PCI, you had to go manually
edit the board config header, and if you had 33MHz PCI, you
had to manually change CONFIG_SYS_NS16550_CLK too, which was
not real user friendly,

This adds the typical PCI and clock speed make targets to the
toplevel Makefile in accordance with what is being done with
other boards.

Signed-off-by: Paul Gortmaker <paul.gortma...@windriver.com>
---
 MAKEALL                   |    4 ++++
 Makefile                  |   26 ++++++++++++++++++++++++--
 include/configs/sbc8548.h |   13 ++++++++-----
 3 files changed, 36 insertions(+), 7 deletions(-)

diff --git a/MAKEALL b/MAKEALL
index 1d50c34..b394adb 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -399,6 +399,10 @@ LIST_85xx="                \
        PM856           \
        sbc8540         \
        sbc8548         \
+       sbc8548_PCI_33  \
+       sbc8548_PCI_66  \
+       sbc8548_PCI_33_PCIE \
+       sbc8548_PCI_66_PCIE \
        sbc8560         \
        socrates        \
        stxgp3          \
diff --git a/Makefile b/Makefile
index 0b61d05..28b20af 100644
--- a/Makefile
+++ b/Makefile
@@ -2570,8 +2570,30 @@ sbc8540_66_config:       unconfig
        fi
        @$(MKCONFIG) -a SBC8540 ppc mpc85xx sbc8560
 
-sbc8548_config:                unconfig
-       @$(MKCONFIG) $(@:_config=) ppc mpc85xx sbc8548
+sbc8548_config \
+sbc8548_PCI_33_config \
+sbc8548_PCI_66_config \
+sbc8548_PCI_33_PCIE_config \
+sbc8548_PCI_66_PCIE_config: unconfig
+       @mkdir -p $(obj)include
+       @if [ "$(findstring _PCI_,$@)" ] ; then \
+               $(XECHO) -n "... PCI HOST at " ; \
+               echo "#define CONFIG_PCI" >>$(obj)include/config.h ; \
+               echo "#define CONFIG_PCI1" >>$(obj)include/config.h ; \
+       fi ; \
+       if [ "$(findstring _33_,$@)" ] ; then \
+               $(XECHO) -n "33MHz ..." ; \
+               echo "#define CONFIG_SYS_CLK_DIV 2" >>$(obj)include/config.h ; \
+       fi ; \
+       if [ "$(findstring _66_,$@)" ] ; then \
+               $(XECHO) -n "66MHz...." ; \
+               echo "#define CONFIG_SYS_CLK_DIV 1" >>$(obj)include/config.h ; \
+       fi ; \
+       if [ "$(findstring _PCIE_,$@)" ] ; then \
+               $(XECHO) -n " with PCI-e ... " ; \
+               echo "#define CONFIG_PCIE1" >>$(obj)include/config.h ; \
+       fi
+       @$(MKCONFIG) -a sbc8548 ppc mpc85xx sbc8548
 
 sbc8560_config \
 sbc8560_33_config \
diff --git a/include/configs/sbc8548.h b/include/configs/sbc8548.h
index e77e9e9..8eb5b4c 100644
--- a/include/configs/sbc8548.h
+++ b/include/configs/sbc8548.h
@@ -38,9 +38,6 @@
 #define CONFIG_MPC8548         1       /* MPC8548 specific */
 #define CONFIG_SBC8548         1       /* SBC8548 board specific */
 
-#undef CONFIG_PCI              /* enable any pci type devices */
-#undef CONFIG_PCI1             /* PCI controller 1 */
-#undef CONFIG_PCIE1            /* PCIE controler 1 (slot 1) */
 #undef CONFIG_RIO
 
 #ifdef CONFIG_PCI
@@ -58,7 +55,13 @@
 
 #define CONFIG_FSL_LAW         1       /* Use common FSL init code */
 
-#define CONFIG_SYS_CLK_FREQ    66000000 /* SBC8548 default SYSCLK */
+/*
+ * Below assumes that CCB:SYSCLK remains unchanged at 6:1 via SW2:[1-4]
+ */
+#ifndef CONFIG_SYS_CLK_DIV
+#define CONFIG_SYS_CLK_DIV     1       /* 2, if 33MHz PCI card installed */
+#endif
+#define CONFIG_SYS_CLK_FREQ    (66000000 / CONFIG_SYS_CLK_DIV)
 
 /*
  * These can be toggled for performance analysis, otherwise use default.
@@ -315,7 +318,7 @@
 #define CONFIG_SYS_NS16550
 #define CONFIG_SYS_NS16550_SERIAL
 #define CONFIG_SYS_NS16550_REG_SIZE    1
-#define CONFIG_SYS_NS16550_CLK         400000000 /* get_bus_freq(0) */
+#define CONFIG_SYS_NS16550_CLK         (400000000 / CONFIG_SYS_CLK_DIV)
 
 #define CONFIG_SYS_BAUDRATE_TABLE \
        {300, 600, 1200, 2400, 4800, 9600, 19200, 38400,115200}
-- 
1.6.4.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to