diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-20 10:35:35 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-20 13:52:14 +0200 |
commit | 99648958668d3a33ee57974479b36201fe303f34 (patch) | |
tree | 6f27ea790e2823c6156e71219a4f54680263fac6 /c/src/lib/libbsp/powerpc/beatnik | |
parent | bsps: Move start files to bsps (diff) | |
download | rtems-99648958668d3a33ee57974479b36201fe303f34.tar.bz2 |
bsps: Move startup files to bsps
Adjust build support files to new directory layout.
This patch is a part of the BSP source reorganization.
Update #3285.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/beatnik')
-rw-r--r-- | c/src/lib/libbsp/powerpc/beatnik/Makefile.am | 24 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/beatnik/startup/bsp_specs | 9 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/beatnik/startup/bspclean.c | 25 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/beatnik/startup/bspreset.c | 18 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/beatnik/startup/bspstart.c | 387 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/beatnik/startup/i2c_init.c | 131 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/beatnik/startup/linkcmds | 5 |
7 files changed, 12 insertions, 587 deletions
diff --git a/c/src/lib/libbsp/powerpc/beatnik/Makefile.am b/c/src/lib/libbsp/powerpc/beatnik/Makefile.am index ecd7f6a8a4..a2910c7fbb 100644 --- a/c/src/lib/libbsp/powerpc/beatnik/Makefile.am +++ b/c/src/lib/libbsp/powerpc/beatnik/Makefile.am @@ -6,7 +6,7 @@ noinst_PROGRAMS = include $(top_srcdir)/../../../../automake/compile.am include $(top_srcdir)/../../bsp.am -dist_project_lib_DATA = startup/bsp_specs +dist_project_lib_DATA = ../../../../../../bsps/powerpc/beatnik/start/bsp_specs project_lib_DATA = @@ -36,23 +36,23 @@ project_lib_DATA += motld_start.$(OBJEXT) #startup project_lib_DATA += linkcmds -dist_project_lib_DATA += ../shared/startup/linkcmds.share +dist_project_lib_DATA += ../../../../../../bsps/powerpc/shared/start/linkcmds.share project_lib_LIBRARIES = librtemsbsp.a librtemsbsp_a_SOURCES = -librtemsbsp_a_SOURCES += startup/bspstart.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/beatnik/start/bspstart.c librtemsbsp_a_SOURCES += ../shared/motorola/vpd.c -librtemsbsp_a_SOURCES += startup/bspreset.c -librtemsbsp_a_SOURCES += startup/i2c_init.c -librtemsbsp_a_SOURCES += ../shared/startup/bspgetworkarea.c -librtemsbsp_a_SOURCES += ../shared/startup/probeMemEnd.c -librtemsbsp_a_SOURCES += ../shared/startup/zerobss.c -librtemsbsp_a_SOURCES += ../shared/startup/pgtbl_setup.c -librtemsbsp_a_SOURCES += ../shared/startup/pgtbl_activate.c -librtemsbsp_a_SOURCES += ../shared/startup/sbrk.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/beatnik/start/bspreset.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/beatnik/start/i2c_init.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/shared/start/bspgetworkarea.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/shared/start/probeMemEnd.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/shared/start/zerobss.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/shared/start/pgtbl_setup.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/shared/start/pgtbl_activate.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/shared/start/sbrk.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/dev/getentropy/getentropy-cpucounter.c -librtemsbsp_a_SOURCES += startup/bspclean.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/beatnik/start/bspclean.c #pclock librtemsbsp_a_SOURCES +=../../../../../../bsps/powerpc/shared/clock/p_clock.c diff --git a/c/src/lib/libbsp/powerpc/beatnik/startup/bsp_specs b/c/src/lib/libbsp/powerpc/beatnik/startup/bsp_specs deleted file mode 100644 index 99ca0adb61..0000000000 --- a/c/src/lib/libbsp/powerpc/beatnik/startup/bsp_specs +++ /dev/null @@ -1,9 +0,0 @@ -%rename endfile old_endfile -%rename startfile old_startfile - -*startfile: -%{!qrtems: %(old_startfile)} \ -%{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s}} - -*endfile: -%{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s ecrtn.o%s} diff --git a/c/src/lib/libbsp/powerpc/beatnik/startup/bspclean.c b/c/src/lib/libbsp/powerpc/beatnik/startup/bspclean.c deleted file mode 100644 index 251d47a46d..0000000000 --- a/c/src/lib/libbsp/powerpc/beatnik/startup/bspclean.c +++ /dev/null @@ -1,25 +0,0 @@ -#include <bsp.h> -#include <bsp/bootcard.h> -#include <rtems/bspIo.h> - -void bsp_fatal_extension( - rtems_fatal_source source, - bool always_set_to_false, - rtems_fatal_code error -) -{ - printk("fatal source: %s\n", rtems_fatal_source_text(source)); - - if (source == RTEMS_FATAL_SOURCE_EXCEPTION) { - rtems_exception_frame_print((const rtems_exception_frame *) error); - } - - /* We can't go back to MotLoad since we blew it's memory area - * and vectors. Just pull the reset line... - */ - printk( - "bsp_fatal_extension(): RTEMS terminated -- no way back to MotLoad " - "so I reset the card\n" - ); - bsp_reset(); -} diff --git a/c/src/lib/libbsp/powerpc/beatnik/startup/bspreset.c b/c/src/lib/libbsp/powerpc/beatnik/startup/bspreset.c deleted file mode 100644 index 68540847ee..0000000000 --- a/c/src/lib/libbsp/powerpc/beatnik/startup/bspreset.c +++ /dev/null @@ -1,18 +0,0 @@ -#include <rtems.h> -#include <bsp.h> -#include <bsp/bootcard.h> -#include <rtems/bspIo.h> -#include <libcpu/io.h> -#include <libcpu/stackTrace.h> -#include <stdint.h> - -void bsp_reset() -{ - - printk("Printing a stack trace for your convenience :-)\n"); - CPU_print_stack(); - - printk("RTEMS terminated; Rebooting ...\n"); - /* Mvme5500 board reset : 2004 S. Kate Feng <feng1@bnl.gov> */ - out_8((volatile uint8_t*) (BSP_MV64x60_DEV1_BASE +2), 0x80); -} diff --git a/c/src/lib/libbsp/powerpc/beatnik/startup/bspstart.c b/c/src/lib/libbsp/powerpc/beatnik/startup/bspstart.c deleted file mode 100644 index c3f2c0ceda..0000000000 --- a/c/src/lib/libbsp/powerpc/beatnik/startup/bspstart.c +++ /dev/null @@ -1,387 +0,0 @@ -/* - * This routine does the bulk of the system initialization. - */ - -/* - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * Modified to support the MCP750. - * Modifications Copyright (C) 1999 Eric Valette. valette@crf.canon.fr - * - * Modified to support the Synergy VGM & Motorola PowerPC boards. - * (C) by Till Straumann, <strauman@slac.stanford.edu>, 2002, 2004, 2005 - * - * Modified to support the mvme5500 BSP - * (C) by Kate Feng <feng1@bnl.gov>, 2003, 2004 - * under the contract DE-AC02-98CH10886 with the Deaprtment of Energy - * - * T. Straumann: 2005-2007; stolen again for 'beatnik'... - */ -#include <string.h> -#include <stdlib.h> -#include <ctype.h> - -#include <rtems/system.h> -#include <rtems/libio.h> -#include <rtems/libcsupport.h> -#include <rtems/bspIo.h> -#include <rtems/counter.h> -#include <rtems/powerpc/powerpc.h> -#include <rtems/sysinit.h> -/*#include <bsp/consoleIo.h>*/ -#include <libcpu/spr.h> /* registers.h is included here */ -#include <bsp.h> -#include <bsp/bootcard.h> -#include <bsp/uart.h> -#include <bsp/pci.h> -#include <bsp/gtreg.h> -#include <bsp/gt_timer.h> -#include <libcpu/bat.h> -#include <libcpu/pte121.h> -#include <libcpu/cpuIdent.h> -#include <bsp/vectors.h> -#include <bsp/VME.h> -#include <bsp/vpd.h> - -#define SHOW_MORE_INIT_SETTINGS - -BSP_output_char_function_type BSP_output_char = BSP_output_char_via_serial; -BSP_polling_getchar_function_type BSP_poll_char = NULL; - -extern Triv121PgTbl BSP_pgtbl_setup(unsigned int *); -extern void BSP_pgtbl_activate(Triv121PgTbl); -extern void BSP_motload_pci_fixup(void); - -extern unsigned long __rtems_end[]; - -/* We really shouldn't use these since MMUoff also sets IP; - * nevertheless, during early init I don't care for now - */ -extern void MMUoff(void); -extern void MMUon(void); - -extern uint32_t probeMemoryEnd(void); - -SPR_RW(SPRG0) -SPR_RW(SPRG1) -SPR_RO(HID1) - -/* Table of PLL multipliers for 7455/7457: -01000 2 00010 7.5 00000 11.5 00001 17 -10000 3 11000 8 10111 12 00101 18 -10100 4 01100 8.5 11111 12.5 00111 20 -10110 5 01111 9 01011 13 01001 21 -10010 5.5 01110 9.5 11100 13.5 01101 24 -11010 6 10101 10 11001 14 11101 28 -01010 6.5 10001 10.5 00011 15 00110 bypass -00100 7 10011 11 11011 16 11110 off -*/ - -/* Sorted according to CFG bits and multiplied by 2 it looks - * like this (note that this is in sequential order, not - * tabulated as above) - */ -signed char mpc7450PllMultByTwo[32] = { -23, 34, 15, 30, -14, 36, 2/*bypass*/, 40, -4, 42, 13, 26, -17, 48, 19, 18, -6, 21, 11, 22, -8, 20, 10, 24, -16, 28, 12, 32, -27, 56, 0/*off*/, 25, -}; - -uint32_t bsp_clicks_per_usec = 0; - -/* - * Total memory using probing. - */ -unsigned int BSP_mem_size; - -/* - * PCI Bus Frequency - */ -unsigned int BSP_bus_frequency = 0xdeadbeef; -/* - * processor clock frequency - */ -unsigned int BSP_processor_frequency = 0xdeadbeef; - -/* - * Time base divisior (bus freq / TB clock) - */ -unsigned int BSP_time_base_divisor = 4000; /* most 604+ CPUs seem to use this */ - -/* Board identification string */ -char BSP_productIdent[20] = {0}; -char BSP_serialNumber[20] = {0}; - -/* VPD appends an extra char -- what for ? */ -char BSP_enetAddr0[7] = {0}; -char BSP_enetAddr1[7] = {0}; - -char *rtems_progname; - -#define CMDLINE_BUF_SIZE 2048 - -static char cmdline_buf[CMDLINE_BUF_SIZE]; -char *BSP_commandline_string = cmdline_buf; - -/* this routine is called early and must be safe with a not properly - * aligned stack - */ -char *save_boot_params( - void *r3, - void *r4, - void *r5, - char *cmdline_start, - char *cmdline_end -) -{ -int i=cmdline_end-cmdline_start; - if ( i >= CMDLINE_BUF_SIZE ) - i = CMDLINE_BUF_SIZE-1; - else if ( i < 0 ) - i = 0; - memmove(cmdline_buf, cmdline_start, i); - cmdline_buf[i]=0; - return cmdline_buf; -} - -static BSP_BoardType board_type = Unknown; - -BSP_BoardType -BSP_getBoardType( void ) -{ - return board_type; -} - -/* - * bsp_start - * - * This routine does the bulk of the system initialization. - */ - -void bsp_start( void ) -{ - unsigned char *stack; - char *chpt; - uint32_t intrStackStart; - uint32_t intrStackSize; - - Triv121PgTbl pt=0; - - VpdBufRec vpdData [] = { - { key: ProductIdent, instance: 0, buf: BSP_productIdent, buflen: sizeof(BSP_productIdent) - 1 }, - { key: SerialNumber, instance: 0, buf: BSP_serialNumber, buflen: sizeof(BSP_serialNumber) - 1 }, - { key: CpuClockHz, instance: 0, buf: &BSP_processor_frequency, buflen: sizeof(BSP_processor_frequency) }, - { key: BusClockHz, instance: 0, buf: &BSP_bus_frequency, buflen: sizeof(BSP_bus_frequency) }, - { key: EthernetAddr, instance: 0, buf: BSP_enetAddr0, buflen: sizeof(BSP_enetAddr0) }, - { key: EthernetAddr, instance: 1, buf: BSP_enetAddr1, buflen: sizeof(BSP_enetAddr1) }, - VPD_END - }; - - /* T. Straumann: 4/2005 - * - * Need to map the system registers early, so we can printk... - * (otherwise we silently die) - */ - /* map the PCI 0, 1 Domain I/O space, GT64260B registers - * and the reserved area so that the size is the power of 2. - */ - setdbat(7, BSP_DEV_AND_PCI_IO_BASE, BSP_DEV_AND_PCI_IO_BASE, BSP_DEV_AND_PCI_IO_SIZE, IO_PAGE); - - /* Intersperse messages with actions to help locate problems */ - printk("-----------------------------------------\n"); - - /* - * Get CPU identification dynamically. Note that the get_ppc_cpu_type() & friends functions - * store the result in global variables so that it can be used latter... - * This also verifies that we run on a known CPU. - */ - get_ppc_cpu_type(); - get_ppc_cpu_revision(); - - /* Make sure we detect a known host bridge */ - BSP_getDiscoveryVersion(/* assert detection */ 1); - - printk("Welcome to RTEMS %s\n", _RTEMS_version ); - - /* Leave all caches as MotLoad left them. Seems to be fine */ - - /* - * the initial stack has aready been set to this value in start.S - * so there is no need to set it in r1 again... It is just for info - * so that it can be printed without accessing R1. - */ - __asm__ volatile("mr %0, 1":"=r"(stack)); - - /* tag the bottom (T. Straumann 6/36/2001 <strauman@slac.stanford.edu>) */ - - *((uint32_t *)stack) = 0; - - /* - * Initialize the interrupt related settings - * SPRG0 = interrupt nesting level count - * SPRG1 = software managed IRQ stack - * - * This could be done latter (e.g in IRQ_INIT) but it helps to understand - * some settings below... - */ - intrStackStart = (uint32_t)__rtems_end; - intrStackSize = rtems_configuration_get_interrupt_stack_size(); - - /* - * Initialize default raw exception handlers. See vectors/vectors_init.c - */ - ppc_exc_initialize(intrStackStart, intrStackSize); - - printk("CPU: %s\n", get_ppc_cpu_type_name(current_ppc_cpu)); - - /* - * Initialize RTEMS IRQ system - */ - BSP_rtems_irq_mng_init(0); - - BSP_vpdRetrieveFields(vpdData); - - if ( !strncmp(BSP_productIdent,"MVME5500",8) ) - board_type = MVME5500; - else if ( !strncmp(BSP_productIdent,"MVME6100",8) ) - board_type = MVME6100; - - printk("Board Type: %s (S/N %s)\n", - BSP_productIdent[0] ? BSP_productIdent : "n/a", - BSP_serialNumber[0] ? BSP_serialNumber : "n/a"); - - if ( 0xdeadbeef == BSP_bus_frequency ) { - BSP_bus_frequency = 133333333; - printk("Bus Clock Freq NOT FOUND in VPD; using %10u Hz\n", - BSP_bus_frequency); - } else { - printk("Bus Clock Freq: %10u Hz\n", - BSP_bus_frequency); - } - - if ( 0xdeadbeef == BSP_processor_frequency ) { - BSP_processor_frequency = BSP_bus_frequency/2; - BSP_processor_frequency *= mpc7450PllMultByTwo[ (_read_HID1() >> (31-19)) & 31 ]; - } - printk("CPU Clock Freq: %10u Hz\n", BSP_processor_frequency); - - /* probe real memory size; if it's more than 256M we can't currently access it - * since at this point only BAT-0 maps 0..256M - */ - BSP_mem_size = probeMemoryEnd(); - - if ( (chpt = strstr(BSP_commandline_string,"MEMSZ=")) ) { - char *endp; - uint32_t sz; - chpt+=6 /* strlen("MEMSZ=") */; - sz = strtoul(chpt, &endp, 0); - if ( endp != chpt ) - BSP_mem_size = sz; - } - - printk("Memory: %10u bytes\n", BSP_mem_size); - - if ( BSP_mem_size > 0x10000000 ) { - uint32_t s; - if ( BSP_mem_size > 0x80000000 ) { - BSP_mem_size = 0x80000000; - printk("Memory clipped to 0x%08x for now, sorry\n", BSP_mem_size); - } - for ( s = 0x20000000; s < BSP_mem_size ; s<<=1) - ; - MMUoff(); - /* since it's currently in use we must first surrender it */ - setdbat(0, 0, 0, 0, 0); - setdbat(0, 0, 0, s, _PAGE_RW); - MMUon(); - } - - printk("-----------------------------------------\n"); - - /* Maybe not setup yet because of the warning message */ - - /* Allocate and set up the page table mappings - * This is only available on >604 CPUs. - * - * NOTE: This setup routine may modify the available memory - * size. It is essential to call it before - * calculating the workspace etc. - */ - pt = BSP_pgtbl_setup(&BSP_mem_size); - if (!pt) - printk("WARNING: unable to setup page tables.\n"); - -#ifdef SHOW_MORE_INIT_SETTINGS - printk("Now BSP_mem_size = 0x%x\n",BSP_mem_size); -#endif - - /* - * Set up our hooks - */ - - bsp_clicks_per_usec = BSP_bus_frequency/(BSP_time_base_divisor * 1000); - rtems_counter_initialize_converter( - BSP_bus_frequency / (BSP_time_base_divisor / 1000) - ); - -#ifdef SHOW_MORE_INIT_SETTINGS - printk( - "Configuration.work_space_size = %x\n", - rtems_configuration_get_work_space_size() - ); -#endif - - /* Activate the page table mappings only after - * initializing interrupts because the irq_mng_init() - * routine needs to modify the text - */ - if ( pt ) { -#ifdef SHOW_MORE_INIT_SETTINGS - printk("Page table setup finished; will activate it NOW...\n"); -#endif - BSP_pgtbl_activate(pt); - } - -#ifdef SHOW_MORE_INIT_SETTINGS - printk("Going to start PCI buses scanning and initialization\n"); -#endif - BSP_pci_initialize(); - - /* need to tweak the motload setup */ - BSP_motload_pci_fixup(); - - /* map 512M, 256 for PCI 256 for VME */ - setdbat(5,BSP_PCI_HOSE0_MEM_BASE, BSP_PCI_HOSE0_MEM_BASE, BSP_PCI_HOSE0_MEM_SIZE, IO_PAGE); - setdbat(6,BSP_PCI_HOSE1_MEM_BASE, BSP_PCI_HOSE1_MEM_BASE, 0x10000000, IO_PAGE); - -#ifdef SHOW_MORE_INIT_SETTINGS - printk("Number of PCI buses found is : %d\n", pci_bus_count()); -#endif - - /* - * Initialize hardware timer facility (not used by BSP itself) - * Needs PCI to identify discovery version... - */ - BSP_timers_initialize(); - -#ifdef SHOW_MORE_INIT_SETTINGS - printk("MSR 0x%lx \n", _read_MSR()); - printk("Exit from bspstart\n"); -#endif -} - -RTEMS_SYSINIT_ITEM( - BSP_vme_config, - RTEMS_SYSINIT_BSP_PRE_DRIVERS, - RTEMS_SYSINIT_ORDER_MIDDLE -); diff --git a/c/src/lib/libbsp/powerpc/beatnik/startup/i2c_init.c b/c/src/lib/libbsp/powerpc/beatnik/startup/i2c_init.c deleted file mode 100644 index bc5c5ead02..0000000000 --- a/c/src/lib/libbsp/powerpc/beatnik/startup/i2c_init.c +++ /dev/null @@ -1,131 +0,0 @@ -#include <rtems.h> -#include <bsp.h> -#include <rtems/libi2c.h> -#include <libchip/i2c-2b-eeprom.h> -#include <libchip/i2c-ds1621.h> -#include <bsp/gti2c_busdrv.h> -#include <rtems/libio.h> - -#include <stdio.h> -#include <sys/stat.h> - -/* Register i2c bus driver & devices */ - -/* - * Authorship - * ---------- - * This software ('beatnik' RTEMS BSP for MVME6100 and MVME5500) was - * created by Till Straumann <strauman@slac.stanford.edu>, 2005-2007, - * Stanford Linear Accelerator Center, Stanford University. - * - * Acknowledgement of sponsorship - * ------------------------------ - * The 'beatnik' BSP was produced by - * the Stanford Linear Accelerator Center, Stanford University, - * under Contract DE-AC03-76SFO0515 with the Department of Energy. - * - * Government disclaimer of liability - * ---------------------------------- - * Neither the United States nor the United States Department of Energy, - * nor any of their employees, makes any warranty, express or implied, or - * assumes any legal liability or responsibility for the accuracy, - * completeness, or usefulness of any data, apparatus, product, or process - * disclosed, or represents that its use would not infringe privately owned - * rights. - * - * Stanford disclaimer of liability - * -------------------------------- - * Stanford University makes no representations or warranties, express or - * implied, nor assumes any liability for the use of this software. - * - * Stanford disclaimer of copyright - * -------------------------------- - * Stanford University, owner of the copyright, hereby disclaims its - * copyright and all other rights in this software. Hence, anyone may - * freely use it for any purpose without restriction. - * - * Maintenance of notices - * ---------------------- - * In the interest of clarity regarding the origin and status of this - * SLAC software, this and all the preceding Stanford University notices - * are to remain affixed to any copy or derivative of this software made - * or distributed by the recipient and are to be affixed to any copy of - * software made or distributed by the recipient that contains a copy or - * derivative of this software. - * - * ------------------ SLAC Software Notices, Set 4 OTT.002a, 2004 FEB 03 - */ - -int -BSP_i2c_initialize( void ) -{ -int busno; - /* Initialize the library */ - if ( rtems_libi2c_initialize() ) { - fprintf(stderr,"Initializing I2C library failed\n"); - return -1; - } - - /* Register our bus driver */ - if ( (busno=rtems_libi2c_register_bus( - BSP_I2C_BUS0_NAME, - BSP_I2C_BUS_DESCRIPTOR) ) < 0 ) { - perror("Registering gt64260 i2c bus driver"); - return -1; - } - - /* Now register higher level drivers; note that - * the i2c address in the manual is actually left-shifted - * by one bit, i.e., as it would go on the bus. - */ - - /* Use read-only driver for VPD */ - if ( rtems_libi2c_register_drv( - BSP_I2C_VPD_EEPROM_NAME, - i2c_2b_eeprom_ro_driver_descriptor, - busno, - BSP_VPD_I2C_ADDR) < 0 ) { - perror("Registering i2c VPD eeprom driver failed"); - return -1; - } - - /* Use read-write driver for user eeprom -- you still might - * have to disable HW write-protection on your board. - */ - if ( rtems_libi2c_register_drv( - BSP_I2C_USR_EEPROM_NAME, - i2c_2b_eeprom_driver_descriptor, - busno, - BSP_USR_I2C_ADDR) < 0 ) { - perror("Registering i2c USR eeprom driver failed"); - return -1; - } - - /* The thermostat */ - if ( rtems_libi2c_register_drv( - BSP_I2C_DS1621_NAME, - i2c_ds1621_driver_descriptor, - busno, - BSP_THM_I2C_ADDR) < 0 ) { - perror("Registering i2c ds1621 temp sensor. driver failed"); - return -1; - } - - /* Finally, as an example, register raw access to the - * ds1621. The driver above just reads the 8 msb of the - * temperature but doesn't support anything else. Using - * the raw device node you can write/read individual - * control bytes yourself and e.g., program the thermostat... - */ - - if ( mknod( - BSP_I2C_DS1621_RAW_DEV_NAME, - 0666 | S_IFCHR, - rtems_filesystem_make_dev_t(rtems_libi2c_major, - RTEMS_LIBI2C_MAKE_MINOR(busno,BSP_THM_I2C_ADDR))) ) { - perror("Creating device node for raw ds1621 access failed"); - return -1; - } - printf("I2C devices registered\n"); - return 0; -} diff --git a/c/src/lib/libbsp/powerpc/beatnik/startup/linkcmds b/c/src/lib/libbsp/powerpc/beatnik/startup/linkcmds deleted file mode 100644 index b30fb91277..0000000000 --- a/c/src/lib/libbsp/powerpc/beatnik/startup/linkcmds +++ /dev/null @@ -1,5 +0,0 @@ -STARTUP(motld_start.o) -ENTRY(__rtems_entry_point) -EXTERN(__vectors) - -INCLUDE linkcmds.share |