Added support for the mgsuvd board from keymile.
PATCH 1/2 Added support for the mgsuvd board from keymile.
--- MAKEALL | 1 + Makefile | 3 + board/mgsuvd/Makefile | 44 ++++++ board/mgsuvd/config.mk | 28 ++++ board/mgsuvd/mgsuvd.c | 216 ++++++++++++++++++++++++++++++ board/mgsuvd/u-boot.lds | 144 ++++++++++++++++++++ cpu/mpc8xx/cpu.c | 16 +++ include/commproc.h | 26 ++++ include/configs/mgsuvd.h | 325 ++++++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 803 insertions(+), 0 deletions(-) create mode 100644 board/mgsuvd/Makefile create mode 100644 board/mgsuvd/config.mk create mode 100644 board/mgsuvd/mgsuvd.c create mode 100644 board/mgsuvd/u-boot.lds create mode 100644 include/configs/mgsuvd.h
MAKEALL +1 -0
@@ -107,6 +107,7 @@ LIST_8xx=" \ lwmon \ MBX \ MBX860T \ + mgsuvd \ MHPC \ MPC86xADS \ MPC885ADS \
Makefile +3 -0
@@ -846,6 +846,9 @@ MBX_config \ MBX860T_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc8xx mbx8xx +mgsuvd_config: unconfig + @$(MKCONFIG) $(@:_config=) ppc mpc8xx mgsuvd + MHPC_config: unconfig @$(MKCONFIG) $(@:_config=) ppc mpc8xx mhpc eltec
board/mgsuvd/Makefile new file +44 -0
44 lines not on this page · raw message
board/mgsuvd/config.mk new file +28 -0
@@ -0,0 +1,28 @@ +# +# (C) Copyright 2007 +# Heiko Schocher, DENX Software Engineering, hs at denx.de. +# +# 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 +# + +# +# mgsvud boards +# + +TEXT_BASE = 0xf0000000
board/mgsuvd/mgsuvd.c new file +216 -0
216 lines not on this page · raw message
board/mgsuvd/u-boot.lds new file +144 -0
144 lines not on this page · raw message
cpu/mpc8xx/cpu.c +16 -0
@@ -39,6 +39,12 @@#include <mpc8xx.h> #include <asm/cache.h> +#if defined(CONFIG_OF_LIBFDT ) +#include <libfdt.h> +#include <libfdt_env.h> +#include <fdt_support.h> +#endif +DECLARE_GLOBAL_DATA_PTR ;static char *cpu_warning ="\n " \
@@ -632,3 +638,13 @@ void reset_8xx_watchdog (volatile immap_t * immr)#endif /* CONFIG_WATCHDOG */ /* ------------------------------------------------------------------------- */ +#if defined(CONFIG_OF_LIBFDT ) +void ft_cpu_setup (void *blob,bd_t *bd) +{ +char * cpu_path ="/cpus/" OF_CPU ; + +do_fixup_by_path_u32 (blob, cpu_path,"bus-frequency" , bd->bi_busfreq,1 ); +do_fixup_by_path_u32 (blob, cpu_path,"timebase-frequency" ,OF_TBCLK ,1 ); +do_fixup_by_path_u32 (blob, cpu_path,"clock-frequency" , bd->bi_intfreq,1 ); +} +#endif /* CONFIG_OF_LIBFDT */
include/commproc.h +26 -0
@@ -1120,6 +1120,32 @@ typedef struct scc_enet {#define SICR_ENET_CLKRT ((uint)0x0000003d)#endif /* CONFIG_MBX */ +/*** MGSUVD *********************************************************/ + +/* The MGSUVD Service Module uses SCC3 for Ethernet */ + +#ifdef CONFIG_MGSUVD +#define PROFF_ENET PROFF_SCC3/* Ethernet on SCC3 */ +#define CPM_CR_ENET CPM_CR_CH_SCC3 +#define SCC_ENET 2 +#define PA_ENET_RXD ((ushort)0x0010)/* PA 11 */ +#define PA_ENET_TXD ((ushort)0x0020)/* PA 10 */ +#define PA_ENET_RCLK ((ushort)0x1000)/* PA 3 CLK 5 */ +#define PA_ENET_TCLK ((ushort)0x2000)/* PA 2 CLK 6 */ + +#define PC_ENET_TENA ((ushort)0x0004)/* PC 13 */ + +#define PC_ENET_RENA ((ushort)0x0200)/* PC 6 */ +#define PC_ENET_CLSN ((ushort)0x0100)/* PC 7 */ + +/* Control bits in the SICR to route TCLK (CLK6) and RCLK (CLK5) to +* SCC3. Also, make sure GR3 (bit 8) and SC3 (bit 9) are zero. +*/ +#define SICR_ENET_MASK ((uint)0x00FF0000) +#define SICR_ENET_CLKRT ((uint)0x00250000) +#endif /* CONFIG_MGSUVD */ + +/*** MHPC ********************************************************/ #if defined(CONFIG_MHPC )
include/configs/mgsuvd.h new file +325 -0
325 lines not on this page · raw message
Signature · 1 line
1.5.2.2
PATCH 2/2 Enable SMC microcode relocation patch for SMC1.
--- README | 4 ++ cpu/mpc8xx/cpu_init.c | 6 ++- cpu/mpc8xx/serial.c | 21 +++++++++++ cpu/mpc8xx/upatch.c | 94 ++++++++++++++++++++++++++++++++++++++++++++++++- include/commproc.h | 2 + 5 files changed, 124 insertions(+), 3 deletions(-)
README +4 -0
@@ -2269,6 +2269,10 @@ Low Level (hardware related) configuration options: enable I2C microcode relocation patch (MPC8xx); define relocation offset in DPRAM [DSP2] +- CFG_SMC_UCODE_PATCH, CFG_SMC_DPMEM_OFFSET [0x1FC0]: + enable SMC microcode relocation patch (MPC8xx); + define relocation offset in DPRAM [SMC1] + - CFG_SPI_UCODE_PATCH, CFG_SPI_DPMEM_OFFSET [0x1FC0]: enable SPI microcode relocation patch (MPC8xx); define relocation offset in DPRAM [SCC4]
cpu/mpc8xx/cpu_init.c +4 -2
@@ -31,7 +31,8 @@DECLARE_GLOBAL_DATA_PTR ;#endif -#if defined(CFG_I2C_UCODE_PATCH ) || defined(CFG_SPI_UCODE_PATCH ) +#if defined(CFG_I2C_UCODE_PATCH ) || defined(CFG_SPI_UCODE_PATCH ) || \ + defined(CFG_SMC_UCODE_PATCH )void cpm_load_patch (volatile immap_t * immr);#endif
@@ -253,7 +254,8 @@ void cpu_init_f (volatile immap_t * immr) immr->im_cpm.cp_rccr =CFG_RCCR ;#endif -#if defined(CFG_I2C_UCODE_PATCH ) || defined(CFG_SPI_UCODE_PATCH ) +#if defined(CFG_I2C_UCODE_PATCH ) || defined(CFG_SPI_UCODE_PATCH ) || \ + defined(CFG_SMC_UCODE_PATCH )cpm_load_patch (immr);/* load mpc8xx microcode patch */ #endif }
cpu/mpc8xx/serial.c +21 -0
@@ -124,6 +124,12 @@ static int smc_init (void) sp = (smc_t *) &(cp->cp_smc[SMC_INDEX ]); up = (smc_uart_t *) &cp->cp_dparam[PROFF_SMC ]; +#ifdef CFG_SMC_UCODE_PATCH + up = (smc_uart_t *) &cp->cp_dpmem[up->smc_rpbase]; +#else +/* Disable relocation */ + up->smc_rpbase =0 ; +#endif /* Disable transmitter/receiver. */
@@ -212,6 +218,12 @@ static int smc_init (void) up->smc_tbase = dpaddr+sizeof (cbd_t); up->smc_rfcr =SMC_EB ; up->smc_tfcr =SMC_EB ; +#if defined (CFG_SMC_UCODE_PATCH ) + up->smc_rbptr = up->smc_rbase; + up->smc_tbptr = up->smc_tbase; + up->smc_rstate =0 ; + up->smc_tstate =0 ; +#endif #if defined(CONFIG_MBX )board_serial_init ();
@@ -288,6 +300,9 @@ smc_putc(const char c)smc_putc ('\r' ); up = (smc_uart_t *)&cpmp->cp_dparam[PROFF_SMC ]; +#ifdef CFG_SMC_UCODE_PATCH + up = (smc_uart_t *) &cpmp->cp_dpmem[up->smc_rpbase]; +#endif tbdf = (cbd_t *)&cpmp->cp_dpmem[up->smc_tbase];
@@ -326,6 +341,9 @@ smc_getc(void)unsigned char c; up = (smc_uart_t *)&cpmp->cp_dparam[PROFF_SMC ]; +#ifdef CFG_SMC_UCODE_PATCH + up = (smc_uart_t *) &cpmp->cp_dpmem[up->smc_rpbase]; +#endif rbdf = (cbd_t *)&cpmp->cp_dpmem[up->smc_rbase];
@@ -351,6 +369,9 @@ smc_tstc(void)volatile cpm8xx_t *cpmp = &(im->im_cpm); up = (smc_uart_t *)&cpmp->cp_dparam[PROFF_SMC ]; +#ifdef CFG_SMC_UCODE_PATCH + up = (smc_uart_t *) &cpmp->cp_dpmem[up->smc_rpbase]; +#endif rbdf = (cbd_t *)&cpmp->cp_dpmem[up->smc_rbase];
cpu/mpc8xx/upatch.c +93 -1
119 lines not on this page · raw message
include/commproc.h +2 -0
@@ -159,6 +159,8 @@ typedef struct smc_uart {ushort smc_brkec;/* rcv'd break condition counter */ ushort smc_brkcr;/* xmt break count register */ ushort smc_rmask;/* Temporary bit mask */ +u_char res1[8 ]; +ushort smc_rpbase;/* Relocation pointer */ } smc_uart_t;/* Function code bits.
Signature · 1 line
1.5.2.2
PATCH 1/2 Added support for the mgcoge board from keymile.
--- MAKEALL | 1 + Makefile | 3 + board/mgcoge/Makefile | 50 +++++++ board/mgcoge/config.mk | 24 ++++ board/mgcoge/mgcoge.c | 345 ++++++++++++++++++++++++++++++++++++++++++++++ cpu/mpc8260/ether_scc.c | 9 +- include/configs/mgcoge.h | 317 ++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 745 insertions(+), 4 deletions(-) create mode 100644 board/mgcoge/Makefile create mode 100644 board/mgcoge/config.mk create mode 100644 board/mgcoge/mgcoge.c create mode 100644 include/configs/mgcoge.h
MAKEALL +1 -0
@@ -281,6 +281,7 @@ LIST_8260=" \ hymod \ IPHASE4539 \ ISPAN \ + mgcoge \ MPC8260ADS \ MPC8266ADS \ MPC8272ADS \
Makefile +3 -0
@@ -1539,6 +1539,9 @@ ISPAN_REVB_config: unconfig fi @$(MKCONFIG) -a ISPAN ppc mpc8260 ispan +mgcoge_config : unconfig + @$(MKCONFIG) mgcoge ppc mpc8260 mgcoge + MPC8260ADS_config \ MPC8260ADS_lowboot_config \ MPC8260ADS_33MHz_config \
board/mgcoge/Makefile new file +50 -0
50 lines not on this page · raw message
board/mgcoge/config.mk new file +24 -0
@@ -0,0 +1,24 @@ +# +# (C) Copyright 2007 +# Heiko Schocher, DENX Software Engineering, hs at denx.de. +# +# 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 +# + +TEXT_BASE = 0xFE000000
board/mgcoge/mgcoge.c new file +345 -0
345 lines not on this page · raw message
cpu/mpc8260/ether_scc.c +5 -4
@@ -77,7 +77,9 @@#define TX_BUF_CNT 2 -#define TOUT_LOOP 1000000 +#if !defined(CFG_SCC_TOUT_LOOP ) +#define CFG_SCC_TOUT_LOOP 1000000 +#endif static char txbuf[TX_BUF_CNT ][DBUF_LENGTH ];
@@ -109,7 +111,7 @@ int eth_send(volatile void *packet, int length) }for (i=0 ; rtx->txbd[txIdx].cbd_sc &BD_ENET_TX_READY ; i++) { -if (i >=TOUT_LOOP ) { +if (i >=CFG_SCC_TOUT_LOOP ) {puts ("scc: tx buffer not ready\n" ); goto out; }
@@ -121,7 +123,7 @@ int eth_send(volatile void *packet, int length) BD_ENET_TX_WRAP);for (i=0 ; rtx->txbd[txIdx].cbd_sc &BD_ENET_TX_READY ; i++) { -if (i >=TOUT_LOOP ) { +if (i >=CFG_SCC_TOUT_LOOP ) {puts ("scc: tx error\n" ); goto out; }
@@ -262,7 +264,6 @@ int eth_init(bd_t *bis) pram_ptr->sen_taddrm =0x0 ;/* Tmp Address (unused) */ pram_ptr->sen_taddrl =0x0 ;/* Tmp Address (LSB) (unused) */ -/* 24.21 - (19): Initialize RxBD */ for (i =0 ; i <PKTBUFSRX ; i++) {
include/configs/mgcoge.h new file +317 -0
317 lines not on this page · raw message
Signature · 1 line
1.5.2.2
PATCH 2/2 Fix defaultconfig for the mgcoge board.
--- include/configs/mgcoge.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
include/configs/mgcoge.h +1 -1
@@ -108,7 +108,7 @@"addmtd=setenv bootargs ${bootargs} ${mtdparts}\0" \"addip=setenv bootargs ${bootargs} " \"ip=${ipaddr}:${serverip}:${gatewayip}:" \ -"${netmask}:${hostname}:${netdev}:on panic=1 " \ +"${netmask}:${hostname}:${netdev}:off panic=1 " \"console=${console}\0" \"net_nfs=tftp ${kernel_addr} ${bootfile}; " \"tftp ${fdt_addr} ${fdt_file}; run nfsargs addip addcon;" \
Signature · 1 line
1.5.2.2
Wolfgang Denk
AppliedPATCH 2/2 Fix defaultconfig for the mgcoge board.
Quoted 4 lines · In message <[email protected]> you wrote:
Signed-off-by Heiko Schocher <[email protected]>--- include/configs/mgcoge.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
Applied, thanks.
Best regards,
Wolfgang Denk
Signature · 4 lines
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: wd at denx.de The speed of time is one second per second.
PATCH 1/2 Added support for the mgcoge board from keymile.
In reply to Heiko SchocherQuoted 4 lines · Heiko Schocher
Signed-off-by Heiko Schocher <[email protected]>--- MAKEALL | 1 + Makefile | 3 +
Again, MAINTAINER entry missing.
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
=====================================================================
PATCH 1/2 Added support for the mgcoge board from keymile.
Quoted 7 lines · In message <[email protected]> you wrote:
Quoted 4 lines · Heiko Schocher
Signed-off-by Heiko Schocher <[email protected]>--- MAKEALL | 1 + Makefile | 3 +Again, MAINTAINER entry missing.
I did this for Heiko.
Best regards,
Wolfgang Denk
Signature · 5 lines
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: wd at denx.de Doubt is a pain too lonely to know that faith is his twin brother. - Kahlil Gibran
Wolfgang Denk
AppliedPATCH 1/2 Added support for the mgcoge board from keymile.
In reply to Heiko SchocherQuoted 14 lines · In message <[email protected]> you wrote:
Signed-off-by Heiko Schocher <[email protected]>--- MAKEALL | 1 + Makefile | 3 + board/mgcoge/Makefile | 50 +++++++ board/mgcoge/config.mk | 24 ++++ board/mgcoge/mgcoge.c | 345 ++++++++++++++++++++++++++++++++++++++++++++++ cpu/mpc8260/ether_scc.c | 9 +- include/configs/mgcoge.h | 317 ++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 745 insertions(+), 4 deletions(-) create mode 100644 board/mgcoge/Makefile create mode 100644 board/mgcoge/config.mk create mode 100644 board/mgcoge/mgcoge.c create mode 100644 include/configs/mgcoge.h
Applied, thanks.
Best regards,
Wolfgang Denk
Signature · 5 lines
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: wd at denx.de Knowledge, sir, should be free to all! -- Harry Mudd, "I, Mudd", stardate 4513.3
Wolfgang Denk
AppliedPATCH 2/2 Enable SMC microcode relocation patch for SMC1.
In reply to Heiko SchocherQuoted 8 lines · In message <[email protected]> you wrote:
Signed-off-by Heiko Schocher <[email protected]>--- README | 4 ++ cpu/mpc8xx/cpu_init.c | 6 ++- cpu/mpc8xx/serial.c | 21 +++++++++++ cpu/mpc8xx/upatch.c | 94 ++++++++++++++++++++++++++++++++++++++++++++++++- include/commproc.h | 2 + 5 files changed, 124 insertions(+), 3 deletions(-)
Applied, thanks.
Best regards,
Wolfgang Denk
Signature · 6 lines
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: wd at denx.de ... bacteriological warfare ... hard to believe we were once foolish enough to play around with that. -- McCoy, "The Omega Glory", stardate unknown
PATCH 1/2 Added support for the mgsuvd board from keymile.
In reply to Heiko SchocherQuoted 4 lines · Heiko Schocher
Signed-off-by Heiko Schocher <[email protected]>--- MAKEALL | 1 + Makefile | 3 +
Please add an entry in MAINTAINERS too.
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
=====================================================================
PATCH 1/2 Added support for the mgsuvd board from keymile.
Quoted 7 lines · In message <[email protected]> you wrote:
Quoted 4 lines · Heiko Schocher
Signed-off-by Heiko Schocher <[email protected]>--- MAKEALL | 1 + Makefile | 3 +Please add an entry in
MAINTAINERStoo.
I did this for Heiko.
Best regards,
Wolfgang Denk
Signature · 5 lines
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: wd at denx.de Unsichtbar macht sich die Dummheit, indem sie immer gr??ere Ausma?e annimmt. -- Bertold Brecht: Der Tui-Roman
PATCH 1/2 Added support for the mgsuvd board from keymile.
Hello Wolfgang,
Quoted 9 lines · Wolfgang Denk
Quoted 6 lines · In message <[email protected]> you wrote:
Quoted 4 lines · Heiko Schocher
Signed-off-by Heiko Schocher <[email protected]>--- MAKEALL | 1 + Makefile | 3 +Please add an entry in
MAINTAINERStoo.I did this for Heiko.
Thanks! I mailed yesterday a Patch, but unfortunately I forgot the list :-(, so just Stefan got the EMail ... here the patch:
Wolfgang Denk
AppliedPATCH 1/2 Added support for the mgsuvd board from keymile.
Dear Heiko,
Quoted 6 lines · in message <[email protected]> you wrote:
Subject: [PATCH] [MAINTAINER] Added MAINTAINER entry for the
ids8247, jupiter, mgcoge, mgsuvd, municse, sc3 and uc101 boards.Signed-off-by Heiko Schocher <[email protected]>
Applied, thanks.
Best regards,
Wolfgang Denk
Signature · 6 lines
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: wd at denx.de
This all sounds complicated, but it mostly does excatly what you ex-
pect. It's just difficult for us to explain what you expect...
- L. Wall & R. L. Schwartz, _Programming Perl_Wolfgang Denk
AppliedPATCH 1/2 Added support for the mgsuvd board from keymile.
In reply to Heiko SchocherQuoted 17 lines · In message <[email protected]> you wrote:
Signed-off-by Heiko Schocher <[email protected]>--- MAKEALL | 1 + Makefile | 3 + board/mgsuvd/Makefile | 44 ++++++ board/mgsuvd/config.mk | 28 ++++ board/mgsuvd/mgsuvd.c | 216 ++++++++++++++++++++++++++++++ board/mgsuvd/u-boot.lds | 144 ++++++++++++++++++++ cpu/mpc8xx/cpu.c | 16 +++ include/commproc.h | 26 ++++ include/configs/mgsuvd.h | 325 ++++++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 803 insertions(+), 0 deletions(-) create mode 100644 board/mgsuvd/Makefile create mode 100644 board/mgsuvd/config.mk create mode 100644 board/mgsuvd/mgsuvd.c create mode 100644 board/mgsuvd/u-boot.lds create mode 100644 include/configs/mgsuvd.h
Applied, thanks.
Best regards,
Wolfgang Denk
Signature · 8 lines
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: wd at denx.de Mike's Law: For a lumber company employing two men and a cut-off saw, the marginal product of labor for any number of additional workers equals zero until the acquisition of another cut-off saw. Let's not even consider a chainsaw. - Mike Dennison [You could always schedule the saw, though - ed.]