diff options
Diffstat (limited to '')
-rw-r--r-- | bsps/sh/gensh1/console/sci.c | 8 | ||||
-rw-r--r-- | bsps/sh/gensh1/console/scitab.c | 38 | ||||
-rw-r--r-- | bsps/sh/gensh1/include/bsp.h | 4 | ||||
-rw-r--r-- | bsps/sh/gensh2/console/sci.c | 3 | ||||
-rw-r--r-- | bsps/sh/gensh2/console/scitab.c | 38 | ||||
-rw-r--r-- | bsps/sh/gensh2/include/bsp.h | 5 | ||||
-rw-r--r-- | c/src/lib/libbsp/sh/gensh1/Makefile.am | 9 | ||||
-rw-r--r-- | c/src/lib/libbsp/sh/gensh1/configure.ac | 7 | ||||
-rw-r--r-- | c/src/lib/libbsp/sh/gensh2/Makefile.am | 9 | ||||
-rw-r--r-- | c/src/lib/libbsp/sh/gensh2/configure.ac | 6 | ||||
-rw-r--r-- | tools/cpu/configure.ac | 1 | ||||
-rw-r--r-- | tools/cpu/sh/AUTHORS | 3 | ||||
-rw-r--r-- | tools/cpu/sh/COPYING | 340 | ||||
-rw-r--r-- | tools/cpu/sh/Makefile.am | 14 | ||||
-rw-r--r-- | tools/cpu/sh/TODO | 13 | ||||
-rw-r--r-- | tools/cpu/sh/configure.ac | 25 | ||||
-rw-r--r-- | tools/cpu/sh/sci.c | 177 | ||||
-rw-r--r-- | tools/cpu/sh/sci.h | 11 | ||||
-rw-r--r-- | tools/cpu/sh/shgen.c | 114 |
19 files changed, 87 insertions, 738 deletions
diff --git a/bsps/sh/gensh1/console/sci.c b/bsps/sh/gensh1/console/sci.c index 04d9ca5c70..fedfa30b51 100644 --- a/bsps/sh/gensh1/console/sci.c +++ b/bsps/sh/gensh1/console/sci.c @@ -18,7 +18,7 @@ * http://www.rtems.org/license/LICENSE. */ -#include <rtems.h> +#include <bsp.h> #include <stdlib.h> @@ -53,12 +53,6 @@ struct scidev_t { { "/dev/sci1", SH_SCI_BASE_1, 1, 0, CS8, B9600 } } ; -/* imported from scitab.rel */ -extern int _sci_get_brparms( - speed_t spd, - unsigned char *smr, - unsigned char *brr ); - /* Translate termios' tcflag_t into sci settings */ static int _sci_set_cflags( struct scidev_t *sci_dev, diff --git a/bsps/sh/gensh1/console/scitab.c b/bsps/sh/gensh1/console/scitab.c new file mode 100644 index 0000000000..3c698f8100 --- /dev/null +++ b/bsps/sh/gensh1/console/scitab.c @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2018 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Dornierstr. 4 + * 82178 Puchheim + * Germany + * <info@embedded-brains.de> + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +/* + * The content of this file was previously generated by the GPL licensed shgen + * tool during the BSP build for a configured clock frequency + * (CPU_CLOCK_RATE_HZ). All tools were removed from the RTEMS source repository + * at some point in time. Tools with a BSD-style license were moved to the + * RTEMS tools repository. + */ + +#include <bsp.h> + +int _sci_get_brparms( + unsigned int spd, + unsigned char *smr, + unsigned char *brr +) +{ + if (spd != 9600) { + return -1; + } + + *smr = 0x00; + *brr = 0x40; + return 0; +} diff --git a/bsps/sh/gensh1/include/bsp.h b/bsps/sh/gensh1/include/bsp.h index f3f7c028cd..b757a010d6 100644 --- a/bsps/sh/gensh1/include/bsp.h +++ b/bsps/sh/gensh1/include/bsp.h @@ -60,8 +60,8 @@ extern void *CPU_Interrupt_stack_high; */ void bsp_hw_init(void); -extern int _sci_get_brparms( - tcflag_t cflag, +int _sci_get_brparms( + unsigned int spd, unsigned char *smr, unsigned char *brr ); diff --git a/bsps/sh/gensh2/console/sci.c b/bsps/sh/gensh2/console/sci.c index 143fc1bb94..e02049cbf3 100644 --- a/bsps/sh/gensh2/console/sci.c +++ b/bsps/sh/gensh2/console/sci.c @@ -73,8 +73,7 @@ #define SH_SCI_BASE_1 SCI_SMR1 #define SH_SCI_DEF_COMM_0 CS8, B9600 -#define SH_SCI_DEF_COMM_1 CS8, B38400 -/* #define SH_SCI_DEF_COMM_1 CS8, B9600 */ +#define SH_SCI_DEF_COMM_1 CS8, B9600 struct scidev_t { char * name; diff --git a/bsps/sh/gensh2/console/scitab.c b/bsps/sh/gensh2/console/scitab.c new file mode 100644 index 0000000000..ca253df573 --- /dev/null +++ b/bsps/sh/gensh2/console/scitab.c @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2018 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Dornierstr. 4 + * 82178 Puchheim + * Germany + * <info@embedded-brains.de> + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +/* + * The content of this file was previously generated by the GPL licensed shgen + * tool during the BSP build for a configured clock frequency + * (CPU_CLOCK_RATE_HZ). All tools were removed from the RTEMS source repository + * at some point in time. Tools with a BSD-style license were moved to the + * RTEMS tools repository. + */ + +#include <bsp.h> + +int _sci_get_brparms( + unsigned int spd, + unsigned char *smr, + unsigned char *brr +) +{ + if (spd != 9600) { + return -1; + } + + *smr = 0x00; + *brr = 0x5f; + return 0; +} diff --git a/bsps/sh/gensh2/include/bsp.h b/bsps/sh/gensh2/include/bsp.h index 221137ad81..1a08df9a43 100644 --- a/bsps/sh/gensh2/include/bsp.h +++ b/bsps/sh/gensh2/include/bsp.h @@ -72,8 +72,9 @@ extern void *CPU_Interrupt_stack_high; * BSP methods that cross file boundaries. */ void bsp_hw_init(void); -extern int _sci_get_brparms( - tcflag_t cflag, + +int _sci_get_brparms( + unsigned int spd, unsigned char *smr, unsigned char *brr ); diff --git a/c/src/lib/libbsp/sh/gensh1/Makefile.am b/c/src/lib/libbsp/sh/gensh1/Makefile.am index 3ebc5ad678..ca2c0f9d72 100644 --- a/c/src/lib/libbsp/sh/gensh1/Makefile.am +++ b/c/src/lib/libbsp/sh/gensh1/Makefile.am @@ -16,13 +16,6 @@ project_lib_DATA += linkcmds project_lib_LIBRARIES = librtemsbsp.a librtemsbsp_a_SOURCES = -SHGEN = $(PROJECT_TOPdir)/tools/cpu/sh/shgen - -scitab.c: $(SHGEN) - $(SHGEN) -H @CPU_CLOCK_RATE_HZ@ sci > $@ -BUILT_SOURCES = scitab.c -CLEANFILES = scitab.c - # startup librtemsbsp_a_SOURCES += ../../../../../../bsps/sh/shared/start/bspstart.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspfatal-default.c @@ -37,7 +30,7 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/sh/gensh1/start/cpu_asm.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sh/gensh1/start/ispsh7032.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sh/gensh1/btimer/btimer.c # scitab -librtemsbsp_a_SOURCES += scitab.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/sh/gensh1/console/scitab.c # console librtemsbsp_a_SOURCES += ../../../../../../bsps/sh/shared/console/console.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sh/gensh1/console/sci.c diff --git a/c/src/lib/libbsp/sh/gensh1/configure.ac b/c/src/lib/libbsp/sh/gensh1/configure.ac index 44b2e047eb..d336f9e094 100644 --- a/c/src/lib/libbsp/sh/gensh1/configure.ac +++ b/c/src/lib/libbsp/sh/gensh1/configure.ac @@ -13,17 +13,12 @@ RTEMS_BSP_CONFIGURE ## bsp-specific options -RTEMS_BSPOPTS_SET([CPU_CLOCK_RATE_HZ],[*],[20000000]) -RTEMS_BSPOPTS_HELP([CPU_CLOCK_RATE_HZ],[cpu clock rate in HZ]) - RTEMS_BSPOPTS_SET([START_HW_INIT],[*],[]) RTEMS_BSPOPTS_HELP([START_HW_INIT], [If defined, selects whether 'early_hw_init()' is called from 'start.S'; 'bsp_hw_init()' is always called from 'bspstart.c']) -## Used in scitab/Makefile.am -AC_SUBST(CPU_CLOCK_RATE_HZ) - +AC_DEFINE(CPU_CLOCK_RATE_HZ, 20000000, [cpu clock rate in HZ]) RTEMS_BSP_CLEANUP_OPTIONS # Explicitly list all Makefiles here diff --git a/c/src/lib/libbsp/sh/gensh2/Makefile.am b/c/src/lib/libbsp/sh/gensh2/Makefile.am index 2d964dc9e7..96c30a985e 100644 --- a/c/src/lib/libbsp/sh/gensh2/Makefile.am +++ b/c/src/lib/libbsp/sh/gensh2/Makefile.am @@ -18,13 +18,6 @@ dist_project_lib_DATA += ../../../../../../bsps/sh/gensh2/start/linkcmds.rom project_lib_LIBRARIES = librtemsbsp.a librtemsbsp_a_SOURCES = -SHGEN = $(PROJECT_TOPdir)/tools/cpu/sh/shgen - -scitab.c: $(SHGEN) - $(SHGEN) -H @CPU_CLOCK_RATE_HZ@ sci > $@ -BUILT_SOURCES = scitab.c -CLEANFILES = scitab.c - # startup librtemsbsp_a_SOURCES += ../../../../../../bsps/sh/gensh2/start/hw_init.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sh/shared/start/bspstart.c @@ -39,7 +32,7 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/sh/gensh2/start/cpu_asm.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sh/gensh2/start/ispsh7045.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sh/gensh2/btimer/btimer.c # scitab -librtemsbsp_a_SOURCES += scitab.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/sh/gensh2/console/scitab.c # console librtemsbsp_a_SOURCES += ../../../../../../bsps/sh/shared/console/console.c librtemsbsp_a_SOURCES += ../../../../../../bsps/sh/gensh2/console/config.c diff --git a/c/src/lib/libbsp/sh/gensh2/configure.ac b/c/src/lib/libbsp/sh/gensh2/configure.ac index 55232320fe..97203eeceb 100644 --- a/c/src/lib/libbsp/sh/gensh2/configure.ac +++ b/c/src/lib/libbsp/sh/gensh2/configure.ac @@ -13,11 +13,7 @@ RTEMS_BSP_CONFIGURE ## bsp-specific options -RTEMS_BSPOPTS_SET([CPU_CLOCK_RATE_HZ],[*],[29491200]) -RTEMS_BSPOPTS_HELP([CPU_CLOCK_RATE_HZ],[cpu clock rate in HZ]) - -## Used in scitab/Makefile.am -AC_SUBST(CPU_CLOCK_RATE_HZ) +AC_DEFINE(CPU_CLOCK_RATE_HZ, 29491200, [cpu clock rate in HZ]) RTEMS_BSPOPTS_SET([START_HW_INIT],[*],[]) RTEMS_BSPOPTS_HELP([START_HW_INIT], diff --git a/tools/cpu/configure.ac b/tools/cpu/configure.ac index 69ac4d89dd..8e96cf9c13 100644 --- a/tools/cpu/configure.ac +++ b/tools/cpu/configure.ac @@ -19,7 +19,6 @@ AC_SUBST(program_prefix) AC_CONFIG_SUBDIRS(generic) case "$RTEMS_CPU" in -sh ) AC_CONFIG_SUBDIRS(sh);; nios2 ) AC_CONFIG_SUBDIRS(nios2);; esac diff --git a/tools/cpu/sh/AUTHORS b/tools/cpu/sh/AUTHORS deleted file mode 100644 index 225c2fa974..0000000000 --- a/tools/cpu/sh/AUTHORS +++ /dev/null @@ -1,3 +0,0 @@ -Ralf Corsepius (corsepiu@faw.uni-ulm.de) - * Initial implementation - * generator for sci bitrate table diff --git a/tools/cpu/sh/COPYING b/tools/cpu/sh/COPYING deleted file mode 100644 index 8cc2ef7f9c..0000000000 --- a/tools/cpu/sh/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - Appendix: How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) 19yy <name of author> - - 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 - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/tools/cpu/sh/Makefile.am b/tools/cpu/sh/Makefile.am deleted file mode 100644 index e72f37dd77..0000000000 --- a/tools/cpu/sh/Makefile.am +++ /dev/null @@ -1,14 +0,0 @@ -ACLOCAL_AMFLAGS = -I ../../../aclocal - -noinst_PROGRAMS = shgen - -shgen_SOURCES = sci.h sci.c shgen.c - -if HELP2MAN -man_MANS = shgen.1 - -shgen.1: shgen$(EXEEXT) - $(HELP2MAN) -N ./shgen >$@ -endif - -include $(top_srcdir)/../../../automake/host.am diff --git a/tools/cpu/sh/TODO b/tools/cpu/sh/TODO deleted file mode 100644 index bcdd1bf6df..0000000000 --- a/tools/cpu/sh/TODO +++ /dev/null @@ -1,13 +0,0 @@ -* Add support for more drivers to shgen !!!! - -* shgen relies on having a gnu-compatible getopt, which should be - available on all hosts using gcc/egcs/binutils. - Using other getopt-variants may produce faulty results or shgen may also - refuse to compile. Probably the easiest solution to this problem would be - to integrate libiberty into rtems. - -* shgen uses floating point mathematics. Therefore Makefile.in contains a - reference to libm. In case the host doesn't have its floating point - support in libm, shgen will fail to compile. If we should ever meet such - a host, checks for floating point libraries have to be added to rtems' - autoconf support. diff --git a/tools/cpu/sh/configure.ac b/tools/cpu/sh/configure.ac deleted file mode 100644 index fd368e6001..0000000000 --- a/tools/cpu/sh/configure.ac +++ /dev/null @@ -1,25 +0,0 @@ -## Process this file with autoconf to produce a configure script. - -AC_PREREQ([2.69]) -AC_INIT([rtems-tools-cpu-sh],[_RTEMS_VERSION],[https://devel.rtems.org/newticket]) -AC_CONFIG_SRCDIR([shgen.c]) -RTEMS_TOP(../../..) -RTEMS_SOURCE_TOP -RTEMS_BUILD_TOP - -RTEMS_CANONICAL_TARGET_CPU - -AM_INIT_AUTOMAKE([foreign subdir-objects 1.12.2]) -AM_MAINTAINER_MODE - -AC_PROG_CC -AC_CHECK_LIB(m,fabs) -AC_CHECK_FUNCS(getopt_long) -AC_CHECK_PROGS(HELP2MAN,help2man) -AM_CONDITIONAL(HELP2MAN,test -n "$HELP2MAN" ) - -RTEMS_TOOLPATHS - -# Explicitly list all Makefiles here -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT diff --git a/tools/cpu/sh/sci.c b/tools/cpu/sh/sci.c deleted file mode 100644 index 2b68612f2c..0000000000 --- a/tools/cpu/sh/sci.c +++ /dev/null @@ -1,177 +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, - 7200, - 14400, - 28800, - 57600, - 76800, - 115200, - 230400, - 460800, - 921600 -}; - -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 <bsp.h>\n" ); - fprintf( file, "#include <termios.h>\n\n" ); - fprintf( file, - "static struct sci_bitrate_t {\n" - " unsigned char n ;\n" - " unsigned char N ;\n" - " speed_t B ;\n" - "} _sci_bitrates[] = {\n" - "/* n N B 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, %d } /* %+7.2f%% ; B%d ", - best->n, - best->N, - best->B, - 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" - " speed_t spd,\n" - " unsigned char *smr,\n" - " unsigned char *brr )\n" - "{\n" - " int offset = -1;\n" - " int i;\n\n" - " for(i = 0; i < sizeof(_sci_bitrates)/sizeof(_sci_bitrates[0]); i++) {\n" - " if( _sci_bitrates[i].B == spd ) {\n" - " offset = i;\n" - " break;\n" - " }\n" - " }\n" - " if ( offset == -1 ) return -1 ;\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 ; -} diff --git a/tools/cpu/sh/sci.h b/tools/cpu/sh/sci.h deleted file mode 100644 index b55bbfb670..0000000000 --- a/tools/cpu/sh/sci.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef _shgen_sci_h -#define _shgen_sci_h - -#include <stdio.h> - -extern int shgen_gensci( - FILE *file, - double Phi /* Processor frequency [Hz] */ - ); - -#endif diff --git a/tools/cpu/sh/shgen.c b/tools/cpu/sh/shgen.c deleted file mode 100644 index 57f9120e39..0000000000 --- a/tools/cpu/sh/shgen.c +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (c) 1998,1999,2000, 2006 Ralf Corsepius, Ulm Germany. - * - * See the file COPYING for copyright notice. - */ - -#include <stdio.h> -#include <string.h> /* strcmp, strerror */ -#include <stdlib.h> /* exit */ -#include <errno.h> -#include <getopt.h> - -#include "sci.h" - -static void usage( FILE* ofile, char *prog ) -{ - fprintf( ofile, "Usage: %s [options] driver\n", prog ); - fprintf( ofile, "\nOptions:\n" ); - fprintf( ofile, "Processor frequency (default 20MHz):\n") ; - fprintf( ofile, "\t-M Phi .. processor frequency [MHz]\n" ); - fprintf( ofile, "\t-K Phi .. processor frequency [KHz]\n" ); - fprintf( ofile, "\t-H Phi .. processor frequency [Hz]\n" ); - fprintf( ofile, "Driver:\n" ); - fprintf( ofile, "\tsci .. bitrate table for sci\n" ); - - fprintf( ofile, "\nWritten by Ralf Corsepius <corsepiu@faw.uni-ulm.de>\n" ); - fprintf( ofile, "\nCopyright (c) 1998,1999,2000\tRalf Corsepius\n" ); -} - -#if HAVE_GETOPT_LONG -#define NOARG 0 -#define HASARG 1 -#define OPTARG 2 - -static struct option long_options[] = -{ - { "version", NOARG, NULL, 'v' }, - { "help", NOARG, NULL, 'h' }, - { "mega-hertz", HASARG, NULL, 'M' }, - { "kilo-hertz", HASARG, NULL, 'K' }, - { "hertz", HASARG, NULL, 'H' }, - { 0, 0, 0, 0 } -}; -#endif - -static void shgen_header( FILE *file ) -{ - fprintf( file, - "/*\n * DO NOT EDIT - this file is automatically generated by shgen %s\n", - VERSION ); - fprintf( file, - " * Copyright (c) 1998,1999,2000 Ralf Corsepius (corsepiu@faw.uni-ulm.de)\n */\n" ); - fprintf( file, - "\n/* This file is not copyrighted */\n\n" ); -} - -int main( int argc, char *argv[] ) -{ - double Phi = 20000000.0 ; - -#if HAVE_GETOPT_LONG - int option_index = 0 ; - while( ( optopt = getopt_long( argc, argv, "M:K:H:hv", - long_options, &option_index ) ) > 0 ) -#else - while ( ( optopt = getopt( argc, argv, "M:K:H:hv" ) ) > 0 ) -#endif - { - switch ( optopt ) - { - case 'M' : - sscanf( optarg, "%lf", &Phi ); - Phi = Phi * 1000000.0; - break ; - case 'K' : - sscanf( optarg, "%lf", &Phi ); - Phi = Phi * 1000.0; - break ; - case 'H' : - sscanf( optarg, "%lf", &Phi ); - break ; - case 'h' : - usage( stdout, argv[0] ); - exit(0); - case 'v' : - fprintf( stdout, "%s version %s\n", argv[0], VERSION ); - exit(0); - default : - usage( stderr, argv[0] ); - exit(1); - break ; - } - } - - if ( argc - optind != 1 ) - { - fprintf( stderr, "%s: Missing argument: driver\n", argv[0] ); - exit(1); - } - - shgen_header( stdout ); - - if ( strcmp( argv[optind], "sci" ) == 0 ) - { - shgen_gensci( stdout, Phi ); - } - else - { - fprintf( stderr, "%s: Invalid argument: driver\n", argv[0] ); - exit(1); - } - - return 0 ; -} |