ppc: Move mpc5xxx clocks to arch_global_data
authorSimon Glass <sjg@chromium.org>
Thu, 13 Dec 2012 20:48:53 +0000 (20:48 +0000)
committerTom Rini <trini@ti.com>
Mon, 4 Feb 2013 14:05:43 +0000 (09:05 -0500)
Move ipb_clk and pci_clk into arch_global_data and tidy up.

Signed-off-by: Simon Glass <sjg@chromium.org>
arch/powerpc/cpu/mpc5xxx/i2c.c
arch/powerpc/cpu/mpc5xxx/ide.c
arch/powerpc/cpu/mpc5xxx/serial.c
arch/powerpc/cpu/mpc5xxx/speed.c
arch/powerpc/cpu/mpc8220/fec.c
arch/powerpc/include/asm/global_data.h
arch/powerpc/lib/board.c
board/inka4x0/inkadiag.c
drivers/input/ps2ser.c
drivers/net/mpc5xxx_fec.c

index b423d2fe3416a0bfde16ccb9b33f54330f0e9b36..8d5f47b1bba78eaed2125bed82ba4e07693890fd 100644 (file)
@@ -310,7 +310,7 @@ static int mpc_get_fdr(int speed)
                        {126, 128}
                };
 
-               ipb = gd->ipb_clk;
+               ipb = gd->arch.ipb_clk;
                for (i = 7; i >= 0; i--) {
                        for (j = 7; j >= 0; j--) {
                                scl = 2 * (scltap[j].scl2tap +
index d337abb1c9f637e723eda56f57e280f59db3ef64..094f62b6bab82a03384fee5c36d7f9c619ea9a86 100644 (file)
@@ -75,7 +75,7 @@ int ide_preinit (void)
        psdma->PtdCntrl |= 1;
 
        /* Init timings : we use PIO mode 0 timings */
-       period = 1000000000 / gd->ipb_clk;      /* period in ns */
+       period = 1000000000 / gd->arch.ipb_clk; /* period in ns */
 
        t0 = CALC_TIMING (600);
        t2_8 = CALC_TIMING (290);
index eb141619b87448a8aa45c5794ddb8db1d54047d0..1ccb4e35def93f5083e44203956cf9b96edf21ae 100644 (file)
@@ -89,7 +89,7 @@ int serial_init_dev (unsigned long dev_base)
 
        /* select clock sources */
        psc->psc_clock_select = 0;
-       baseclk = (gd->ipb_clk + 16) / 32;
+       baseclk = (gd->arch.ipb_clk + 16) / 32;
 
        /* switch to UART mode */
        psc->sicr = 0;
@@ -169,7 +169,7 @@ void serial_setbrg_dev (unsigned long dev_base)
        volatile struct mpc5xxx_psc *psc = (struct mpc5xxx_psc *)dev_base;
        unsigned long baseclk, div;
 
-       baseclk = (gd->ipb_clk + 16) / 32;
+       baseclk = (gd->arch.ipb_clk + 16) / 32;
 
        /* set up UART divisor */
        div = (baseclk + (gd->baudrate/2)) / gd->baudrate;
index 8027d3e08a2c8054a97bbcd00d0200389fccdfa0..5353e3d535071718ac18b1dffcc82f31eecd7456 100644 (file)
@@ -66,14 +66,20 @@ int get_clocks (void)
 
        val = *(vu_long *)MPC5XXX_CDM_CFG;
        if (val & (1 << 8)) {
-               gd->ipb_clk = gd->bus_clk / 2;
+               gd->arch.ipb_clk = gd->bus_clk / 2;
        } else {
-               gd->ipb_clk = gd->bus_clk;
+               gd->arch.ipb_clk = gd->bus_clk;
        }
        switch (val & 3) {
-               case 0: gd->pci_clk = gd->ipb_clk; break;
-               case 1: gd->pci_clk = gd->ipb_clk / 2; break;
-               default: gd->pci_clk = gd->bus_clk / 4; break;
+       case 0:
+               gd->pci_clk = gd->arch.ipb_clk;
+               break;
+       case 1:
+               gd->pci_clk = gd->arch.ipb_clk / 2;
+               break;
+       default:
+               gd->pci_clk = gd->bus_clk / 4;
+               break;
        }
 
        return (0);
@@ -85,7 +91,7 @@ int prt_mpc5xxx_clks (void)
 
        printf ("       Bus %s MHz, IPB %s MHz, PCI %s MHz\n",
                strmhz(buf1, gd->bus_clk),
-               strmhz(buf2, gd->ipb_clk),
+               strmhz(buf2, gd->arch.ipb_clk),
                strmhz(buf3, gd->pci_clk)
        );
        return (0);
index aaf9be107af83fbdd7c1b6963b84ab2c76c7452b..43fa802ca96db0a5a4e6f0542fb5873877d3ecd5 100644 (file)
@@ -288,9 +288,11 @@ static int mpc8220_fec_init (struct eth_device *dev, bd_t * bis)
                 * Set MII_SPEED = (1/(mii_speed * 2)) * System Clock
                 * and do not drop the Preamble.
                 */
-               /* tbd - rtm */
-               /*fec->eth->mii_speed = (((gd->ipb_clk >> 20) / 5) << 1); */
-               /* No MII for 7-wire mode */
+               /*
+                * tbd - rtm
+                * fec->eth->mii_speed = (((gd->arch.ipb_clk >> 20) / 5) << 1);
+                * No MII for 7-wire mode
+                */
                fec->eth->mii_speed = 0x00000030;
        }
 
index ca36ca3332896e558d9a6c26031547b7d8a3d496..423e792ec021c2fb6887ff9641cbb71057ddcd3a 100644 (file)
@@ -94,6 +94,9 @@ struct arch_global_data {
 #if defined(CONFIG_E500)
        u32 used_tlb_cams[(CONFIG_SYS_NUM_TLBCAMS+31)/32];
 #endif
+#if defined(CONFIG_MPC5xxx)
+       unsigned long ipb_clk;
+#endif
 };
 
 /*
@@ -116,9 +119,6 @@ typedef     struct  global_data {
 #if defined(CONFIG_FSL_ESDHC)
        u32 sdhc_clk;
 #endif
-#if defined(CONFIG_MPC5xxx)
-       unsigned long   ipb_clk;
-#endif
 #if defined(CONFIG_MPC512X)
        u32 ips_clk;
        u32 csb_clk;
index 22bd713d625a110ba47cd43a0066c33cd074f6e0..63118a382863568799ca8bca57be150f7526fc1e 100644 (file)
@@ -589,7 +589,7 @@ void board_init_f(ulong bootflag)
        bd->bi_ipsfreq = gd->ips_clk;
 #endif /* CONFIG_MPC512X */
 #if defined(CONFIG_MPC5xxx)
-       bd->bi_ipbfreq = gd->ipb_clk;
+       bd->bi_ipbfreq = gd->arch.ipb_clk;
        bd->bi_pcifreq = gd->pci_clk;
 #endif /* CONFIG_MPC5xxx */
        bd->bi_baudrate = gd->baudrate; /* Console Baudrate     */
index cf82f61ef70e01ec12c1517f15423844c7dfca0d..1c01bb45b55bb185363d8a8b343fa1d90564392d 100644 (file)
@@ -187,7 +187,7 @@ static int ser_init(volatile struct mpc5xxx_psc *psc, int baudrate)
        /* select clock sources */
 
        out_be16(&psc->psc_clock_select, 0);
-       baseclk = (gd->ipb_clk + 16) / 32;
+       baseclk = (gd->arch.ipb_clk + 16) / 32;
 
        /* switch to UART mode */
        out_be32(&psc->sicr, 0);
@@ -369,7 +369,7 @@ static void buzzer_turn_on(unsigned int freq)
 {
        volatile struct mpc5xxx_gpt *gpt = (struct mpc5xxx_gpt *)(BUZZER_GPT);
 
-       const u32 prescale = gd->ipb_clk / freq / 128;
+       const u32 prescale = gd->arch.ipb_clk / freq / 128;
        const u32 count = 128;
        const u32 width = 64;
 
@@ -405,9 +405,9 @@ static int do_inkadiag_buzzer(cmd_tbl_t *cmdtp, int flag, int argc,
 
        freq = simple_strtol(argv[0], NULL, 0);
        /* avoid zero prescale in buzzer_turn_on() */
-       if (freq > gd->ipb_clk / 128) {
+       if (freq > gd->arch.ipb_clk / 128) {
                printf("%dHz exceeds maximum (%ldHz)\n", freq,
-                      gd->ipb_clk / 128);
+                      gd->arch.ipb_clk / 128);
        } else if (!freq)
                printf("Zero frequency is senseless\n");
        else
index a655a16d7555b4955faae01c53bcaf066c11366f..bcbe52af154c5cd18674caa1a671bc5bf41471a1 100644 (file)
@@ -80,7 +80,7 @@ int ps2ser_init(void)
 
        /* select clock sources */
        psc->psc_clock_select = 0;
-       baseclk = (gd->ipb_clk + 16) / 32;
+       baseclk = (gd->arch.ipb_clk + 16) / 32;
 
        /* switch to UART mode */
        psc->sicr = 0;
index 3d180db7498b7d0f9bf186035c6f11d4ef6d0437..1093ba59dac1e4d4ffd7228573315e88814224a7 100644 (file)
@@ -440,8 +440,9 @@ static int mpc5xxx_fec_init_phy(struct eth_device *dev, bd_t * bis)
                /*
                 * Set MII_SPEED = (1/(mii_speed * 2)) * System Clock
                 * and do not drop the Preamble.
+                * No MII for 7-wire mode
                 */
-               fec->eth->mii_speed = (((gd->ipb_clk >> 20) / 5) << 1); /* No MII for 7-wire mode */
+               fec->eth->mii_speed = (((gd->arch.ipb_clk >> 20) / 5) << 1);
        }
 
        if (fec->xcv_type != SEVENWIRE) {
@@ -644,8 +645,9 @@ static void mpc5xxx_fec_halt(struct eth_device *dev)
                /*
                 * Set MII_SPEED = (1/(mii_speed * 2)) * System Clock
                 * and do not drop the Preamble.
+                * No MII for 7-wire mode
                 */
-               fec->eth->mii_speed = (((gd->ipb_clk >> 20) / 5) << 1); /* No MII for 7-wire mode */
+               fec->eth->mii_speed = (((gd->arch.ipb_clk >> 20) / 5) << 1);
        }
 
 #if (DEBUG & 0x3)
@@ -909,8 +911,9 @@ int mpc5xxx_fec_initialize(bd_t * bis)
                /*
                 * Set MII_SPEED = (1/(mii_speed * 2)) * System Clock
                 * and do not drop the Preamble.
+                * No MII for 7-wire mode
                 */
-               fec->eth->mii_speed = (((gd->ipb_clk >> 20) / 5) << 1); /* No MII for 7-wire mode */
+               fec->eth->mii_speed = (((gd->arch.ipb_clk >> 20) / 5) << 1);
        }
 
        dev->priv = (void *)fec;