summaryrefslogtreecommitdiffstats
path: root/tools/cpu/sh/sci.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2011-05-17 20:37:15 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2011-05-17 20:37:15 +0000
commitd305d75c7eac1018c13788954b6707261b5fd176 (patch)
treed39633ece1525958431236cd462163b4bf61356b /tools/cpu/sh/sci.c
parent2011-05-17 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-d305d75c7eac1018c13788954b6707261b5fd176.tar.bz2
2011-05-17 Joel Sherrill <joel.sherrill@oarcorp.com>
* tools/build/.cvsignore, tools/build/ChangeLog, tools/build/Makefile.am, tools/build/README, tools/build/binpatch.c, tools/build/cklength.c, tools/build/configure.ac, tools/build/cvsignore-add.sh, tools/build/doxy-filter, tools/build/eolstrip.c, tools/build/install-if-change.in, tools/build/multigen, tools/build/packhex.c, tools/build/rtems-bin2c.c, tools/build/search-id.sh, tools/build/unhex.c, tools/cpu/.cvsignore, tools/cpu/ChangeLog, tools/cpu/Makefile.am, tools/cpu/configure.ac, tools/cpu/generic/.cvsignore, tools/cpu/generic/ChangeLog, tools/cpu/generic/Makefile.am, tools/cpu/generic/configure.ac, tools/cpu/generic/size_rtems.in, tools/cpu/nios2/.cvsignore, tools/cpu/nios2/ChangeLog, tools/cpu/nios2/Makefile.am, tools/cpu/nios2/README, tools/cpu/nios2/bridges.c, tools/cpu/nios2/bridges.h, tools/cpu/nios2/clocks.c, tools/cpu/nios2/clocks.h, tools/cpu/nios2/configure.ac, tools/cpu/nios2/devices.c, tools/cpu/nios2/devices.h, tools/cpu/nios2/linkcmds.c, tools/cpu/nios2/linkcmds.h, tools/cpu/nios2/memory.c, tools/cpu/nios2/memory.h, tools/cpu/nios2/nios2gen.c, tools/cpu/nios2/output.c, tools/cpu/nios2/output.h, tools/cpu/nios2/ptf.c, tools/cpu/nios2/ptf.h, tools/cpu/nios2/sample.ptf, tools/cpu/sh/.cvsignore, tools/cpu/sh/AUTHORS, tools/cpu/sh/COPYING, tools/cpu/sh/ChangeLog, tools/cpu/sh/Makefile.am, tools/cpu/sh/TODO, tools/cpu/sh/configure.ac, tools/cpu/sh/sci.c, tools/cpu/sh/sci.h, tools/cpu/sh/shgen.c, tools/schedsim/.cvsignore, tools/schedsim/ChangeLog, tools/schedsim/Makefile.am, tools/schedsim/README, tools/schedsim/configure.ac, tools/schedsim/rtems/.cvsignore, tools/schedsim/rtems/ChangeLog, tools/schedsim/rtems/Makefile.am, tools/schedsim/rtems/interr.c, tools/schedsim/rtems/rtems_init.c, tools/schedsim/rtems/rtems_sched.h, tools/schedsim/rtems/wkspace.c, tools/schedsim/rtems/sched_cpu/cpu.c, tools/schedsim/rtems/sched_cpu/cpu_asm.c, tools/schedsim/rtems/sched_cpu/rtems/asm.h, tools/schedsim/rtems/sched_cpu/rtems/stringto.h, tools/schedsim/rtems/sched_cpu/rtems/score/cpu.h, tools/schedsim/rtems/sched_cpu/rtems/score/cpu_asm.h, tools/schedsim/rtems/sched_cpu/rtems/score/cpuopts.h, tools/schedsim/rtems/sched_cpu/rtems/score/no_cpu.h, tools/schedsim/rtems/sched_cpu/rtems/score/types.h, tools/schedsim/shell/.cvsignore, tools/schedsim/shell/ChangeLog, tools/schedsim/shell/Makefile.am, tools/schedsim/shell/schedsim_priority/.cvsignore, tools/schedsim/shell/schedsim_priority/Makefile.am, tools/schedsim/shell/schedsim_priority/config.c, tools/schedsim/shell/schedsim_priority/printheir_executing.c, tools/schedsim/shell/schedsim_priority/schedsim.cc, tools/schedsim/shell/schedsim_priority/wrap_thread_dispatch.c, tools/schedsim/shell/scripts/script01, tools/schedsim/shell/scripts/script02, tools/schedsim/shell/scripts/script03, tools/schedsim/shell/scripts/script04, tools/schedsim/shell/scripts/script05, tools/schedsim/shell/scripts/script06, tools/schedsim/shell/shared/.cvsignore, tools/schedsim/shell/shared/Makefile.am, tools/schedsim/shell/shared/commands.c, tools/schedsim/shell/shared/getopt.c, tools/schedsim/shell/shared/lookup_semaphore.c, tools/schedsim/shell/shared/lookup_task.c, tools/schedsim/shell/shared/main_clocktick.c, tools/schedsim/shell/shared/main_echo.c, tools/schedsim/shell/shared/main_executing.c, tools/schedsim/shell/shared/main_heir.c, tools/schedsim/shell/shared/main_help.c, tools/schedsim/shell/shared/main_rtemsinit.c, tools/schedsim/shell/shared/main_semcreate.c, tools/schedsim/shell/shared/main_semdelete.c, tools/schedsim/shell/shared/main_semflush.c, tools/schedsim/shell/shared/main_semobtain.c, tools/schedsim/shell/shared/main_semrelease.c, tools/schedsim/shell/shared/main_taskcreate.c, tools/schedsim/shell/shared/main_taskdelete.c, tools/schedsim/shell/shared/main_taskmode.c, tools/schedsim/shell/shared/main_taskpriority.c, tools/schedsim/shell/shared/main_taskresume.c, tools/schedsim/shell/shared/main_tasksuspend.c, tools/schedsim/shell/shared/main_taskwakeafter.c, tools/schedsim/shell/shared/schedsim_shell.h, tools/schedsim/shell/shared/shell_cmdset.c, tools/schedsim/shell/shared/shell_makeargs.c, tools/schedsim/shell/shared/include/shell.h, tools/schedsim/shell/shared/include/newlib/_ansi.h, tools/schedsim/shell/shared/include/newlib/getopt.h: Removed. * configure.ac: RTEMS Scheduler Simulator is now in its own CVS module named rtems-schedsim.
Diffstat (limited to 'tools/cpu/sh/sci.c')
-rw-r--r--tools/cpu/sh/sci.c165
1 files changed, 0 insertions, 165 deletions
diff --git a/tools/cpu/sh/sci.c b/tools/cpu/sh/sci.c
deleted file mode 100644
index bc7fdd83a8..0000000000
--- a/tools/cpu/sh/sci.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright (c) 1998 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
- *
- * See the file COPYING for copyright notice.
- */
-
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "sci.h"
-
-/*
- n .. baudrate generator source 0,1,2,3
-
- N .. BRR setting (0..255)
-
- Phi .. processor baud rate
-
- B .. bitrate
- */
-
-typedef struct sci_tab {
- unsigned int B ;
- unsigned int n ;
- int N ;
- double err ;
- } sci_tab_t ;
-
-static unsigned int bitrate [] = {
- 50,
- 75,
- 110,
- 134,
- 150,
- 200,
- 300,
- 600,
- 1200,
- 1800,
- 2400,
- 4800,
- 9600,
- 19200,
- 38400,
- 57600,
- 115200,
- 230400,
- 460800
-};
-
-static sci_tab_t test_array[4] ;
-
-static void Compute(
- unsigned int n,
- unsigned int B,
- double Phi,
- struct sci_tab *entry )
-{
- int a = ( 32 << ( 2 * n ) ) * B ;
-
- entry->n = n ;
- entry->B = B ;
- entry->N = rint( ( Phi / a ) - 1.0 ) ;
-
- if ( ( entry->N > 0 ) && ( entry->N < 256 ) )
- entry->err =
- ( ( Phi / ( (entry->N + 1) * a ) - 1.0 ) * 100.0 );
- else
- {
- entry->err = 100.0 ;
- entry->n = 255 ;
- entry->N = 0 ;
- }
-}
-
-static sci_tab_t *SelectN(
- unsigned int B,
- double Phi )
-{
- unsigned int i ;
- struct sci_tab* best = NULL ;
-
- for ( i = 0 ; i < 4 ; i++ )
- {
- double err ;
-
- Compute( i, B, Phi, &test_array[i] );
- err = fabs( test_array[i].err );
-
- if ( best )
- {
- if ( err < fabs( best->err ) )
- best = &test_array[i] ;
- }
- else
- best = &test_array[i] ;
- }
-
- return best ;
-}
-
-int shgen_gensci(
- FILE *file,
- double Phi ) /* Processor frequency [Hz] */
-{
- unsigned int i ;
-
- fprintf( file,
- "/*\n * Bitrate table for the serial devices (sci) of the SH at %.3f MHz\n"
- " */\n\n", Phi / 1000000.0 );
- fprintf( file,
- "/*\n"
- " * n .. SMR bits 0,1 : baud rate generator clock source\n"
- " * N .. BRR bits 0..7: setting for baud rate generator\n"
- " * error .. percentual error to nominal bitrate\n"
- " * Hitachi's HW manual recommends bitrates with an error less than 1%%\n"
- " * We experienced values less than 2%% to be stable\n"
- " */\n\n" );
- fprintf( file, "#include <termios.h>\n\n" );
- fprintf( file,
- "static struct sci_bitrate_t {\n"
- " unsigned char n ;\n"
- " unsigned char N ;\n"
- "} _sci_bitrates[] = {\n"
- "/* n N error */\n" );
-
- for ( i = 0 ; i < sizeof(bitrate)/sizeof(int) ; i++ )
- {
- struct sci_tab* best = SelectN( bitrate[i], Phi );
-
- if ( i > 0 )
- fprintf( file, ",\n" );
- fprintf( file, " { %1d, %3d } /* %+7.2f%% ; B%d ",
- best->n,
- best->N,
- best->err,
- best->B );
- if ( best->n > 3 )
- fprintf( file, "(unusable) " );
- fprintf( file, "*/" );
- }
-
- fprintf( file, "\n};\n\n" );
-
- fprintf( file,
- "int _sci_get_brparms( \n"
- " tcflag_t cflag,\n"
- " unsigned char *smr,\n"
- " unsigned char *brr )\n"
- "{\n"
- " unsigned int offset ;\n\n"
- " offset = ( cflag & ( CBAUD & ~CBAUDEX ) )\n"
- " + ( ( cflag & CBAUDEX ) ? B38400 : 0 );\n"
- " if ( offset == 0 ) return -1 ;\n"
- " offset-- ;\n\n"
- " if ( _sci_bitrates[offset].n > 3 ) return -1;\n\n"
- " *smr &= ~0x03;\n"
- " *smr |= _sci_bitrates[offset].n;\n"
- " *brr = _sci_bitrates[offset].N;\n\n"
- " return 0;\n"
- "}\n" );
-
- return 0 ;
-}