Samsung 2410 Evaluation Board FAQ

Gold board front right
  1. The three S3C2410 provided serial ports do not have device nodes under linux?
  2. How are the nvram parameters changed from the default auto boot.
  3. Can the non volatile settings be overridden?
  4. When using serial console ABLE output stops at
  5. Are there any specific harddisk model / harddisk drives that cannot be recognised by ABLE?
  6. An ATX power supply is attached but the system will not power up.
  7. An ATX power supply is attached but the system is not stable or measured supply voltages are wrong.
  8. Using the SIL auxilary power connector to supply 3.3V and 5V the system is unstable or peripherals are not seen
  9. How is the JTAG chain configured on the EB2410ITX board?
  10. My JTAG solution does not detect the S3C2410 processor on the board?
  11. Where do I get an BSDL file for the XC9572XL-TQ100?
  12. Where do I get an BSDL file for the Samsung S3C2410?
  13. What other information is there on JTAG and S3C2410?
  14. Using the BDI1000 flash programmer, I get the error:
  15. What speed should be expected with an BDI1000?
  16. When compiling Linux from the simtec provided patches the build halts with the error "arch.c:42: `MACH_TYPE_BAST' undeclared here (not in a function)"
  17. Video output is not being used can It be disabled?
  18. The silver and bronze specification boards have no video, how is Debian installed?
  19. How do I use a non BDI jtag programmer to write the NOR flash?
  20. Audio recording does not work under Linux 2.4
  21. My audio recording or playback application cannot set the speed it wants
  22. My audio system has stopped and dmesg shows
  23. What support is there in Linux for sound with the EB2410ITX?
  24. What audio formats are supported by the Linux driver
  25. Is Linux 2.6 supported on the EB2410ITX
  26. Where is the BIOS?
  27. The S3C2410 SOC datasheet indicates it has two SPI ports are these available?
  28. How do I use a DHCP server?
  29. The S3C2410 has USB device capability how can it be used?
  30. The EB2410ITX has a Chrontel CH7006 attached to the LCD port on the S3C2410, how is this controlled?

  1. The three S3C2410 provided serial ports do not have device nodes under linux?

    These can be created using the mknod command as the root user

    This is specifically achieved by:

    bast:/#
    bast:/# cd /dev
    bast:/dev# mknod ttySAC0 c 204 64
    bast:/dev# mknod ttySAC1 c 204 65
    bast:/dev# mknod ttySAC2 c 204 66
    bast:/dev# ls -al ttySAC*
    crw-r--r--    1 root     root     204,  64 Dec 23 12:14 ttySAC0
    crw-r--r--    1 root     root     204,  65 Dec 23 16:50 ttySAC1
    crw-r--r--    1 root     root     204,  66 Dec 23 16:50 ttySAC2
    bast:/dev#

    You may wish to adjust the permissions depending on your requirements

  2. How are the nvram parameters changed from the default auto boot.

    The parameters are changed for the EB2410ITX as with any other platform using the non volatile memory commands to change the non volatile variables. The ABLE user guide has more on configuring ABLE as required.

    The default console output on this system is to use the s3c2410 first serial port and the video framebuffer at 640x480. Input comes from the serial port and any USB attached keyboards.

  3. Can the non volatile settings be overridden?

    The non volatile settings can be ignored when the system is powered up, factory default settings will be used. Usually the board will have a red link cap on the non volatile RAM jumper (LK14).

  4. When using serial console ABLE output stops at

    This entry is only applicable to ABLE versions prior to 2.20, later versions behave differently. The ABLE user guide has more on configuring the console.

    ABLE is configured to output to the VGA display by default, so when using the serial console the last item output is the detection of the VGA device and the switch of output to that device.

    typically this appears as ABLE output on the serial console which typically looks like

    Detecting SDRAM size
    SDRAM: BANK6 size 04000000
    SDRAM: BANK7 size 04000000
    ABLE: 1.95 (bast,s3c2410x) (vince@gerald) Tue Mar 9 16:43:24 GMT 2004
    System: Machine bast/s3c2410x, Linux id 0x014b
    Processor: Samsung S3C2410X (arm920) (0)
    S3C2410X RTC: 17:37:45, 00/01/2003
    NAND: configured boot slot is 0 (card slot)
    EEPROM: 24cXX, 1024 bytes, single byte addressed
    (nvram0) on (24cxx)
    NVRAM: crc does not match (d1 vs ff)
    sys.speed is unset, using default
    Setting CPU Speed to 203MHz
    no confiuration, defaulting to vga
    X/Y values invalid, configuring automatically
    Chrontel CH7006 detected
    screen mode is 640x480, ?Hz, ?Hz HSync
    video: video size 300K
    configuring ch7006: vga

    The telltale line in this output are

    no configuration, defaulting to vga

    To reconfigure output to the serial port the following commands may be used

    >nvset console-write serial
    >nvsave
    >reset

    Upon reset the the system will output to serial console instead of the VGA port.

    It should be noted that although output is directed to the VGA port the input defaults to the special "all" driver which allows the above commands to be entered from the serial console even if they cannot be seen.

  5. Are there any specific harddisk model / harddisk drives that cannot be recognised by ABLE?

    ABLE should recognise any IDE device that conforms to the ATA specification. ABLE is being continuously improved to work with as many different drives as possible.

    If you are experiencing problems in this area we would suggest you upgrade to the latest version of ABLE as shown in the resources page for the EB2410ITX.

    If this fails to fix your problem please detailing as much information about your configuration as possible.

  6. An ATX power supply is attached but the system will not power up.

    This is an increasingly common issue with modern ATX power supplies. It is usually caused by the small amount of power drawn by the system. A base board with memory and network card installed uses around 5W. Even with a hard disc attached, this may not be enough to reach the supply's required minimum current draw.

    The larger the supply the larger the required minimum power use. Typically, a 250W supply will require a minimum power usage of 10W to turn on and become stable, whereas a 400W supply may well require 20W, or more, to start.

    A system with no hard disc attached may well struggle to reach the minumum requirements of a 250W supply and, almost certainly, will not operate with a 400W supply.

    The only solution to this issue is to purchase the smallest rated supply possible and check it has a low minimum power rating.

  7. An ATX power supply is attached but the system is not stable or measured supply voltages are wrong.

    This typically means the board and peripherals are not using enough power to keep the supply stable and the supply does not have internal sense to shutdown. This is a similar issue to Q6 but may also have the addition issue that the system may need to draw enough power from a specific voltage rail from which the PSU derives all its other voltages e.g. the system may be drawing 100W from the 5V and 3.3V lines but little from the 12V line and still be unstable if the PSU regulates from the 12V line.

    The only solution is either draw more power from the correct voltage lines or replace the PSU.

  8. Using the SIL auxilary power connector to supply 3.3V and 5V the system is unstable or peripherals are not seen

    This is typically because the PMU is still trying to control the system as if an ATX PSU were attached, this can be defeated by fitting LK19 - ATX power always on.

  9. How is the JTAG chain configured on the EB2410ITX board?

    The chain has two devices, the S3C2410 followed by a Xilinx XC9572XL-TQ100.

    The Xilinx XC9572XL-TQ100 has an Instruction Register length of 4, and has a bypass command of 0xF

  10. My JTAG solution does not detect the S3C2410 processor on the board?

    The default settings often assume there is only device in the JTAG chain. Software should be configured to place the Xilinx XC9572XL-TQ100 into JTAG bypass mode to allow communication with the S3C2410.

    Examples are provided for some specific JTAG solutions on the Resources page (currently for the Abatron BDI1000).

  11. Where do I get an BSDL file for the XC9572XL-TQ100?

    Download from the Xilinx website. The files may be found by either searching for "CPLD BSDL Files" or go to the support section, select "software" from the titlebar, and follow the BSDL file link. The BSDL configuration file will be in the XC9500XL zip or tar package.

  12. Where do I get an BSDL file for the Samsung S3C2410?

    The file is available from the Samsung website section on the S3C2410.

  13. What other information is there on JTAG and S3C2410?

    The S3C2410 has a standard ARM9 JTAG core, as provided by ARM for debug purposes. It also has an additional JTAG scan chain for access to the external pins.

    ARM provide an TRM (Technical Reference Manual) for the ARM920T core used at the heart of the S3C2410. DDI0151C from the ARM Website provides information on the JTAG block and how it can be used to access the core debugging and control features.

    The S3C2410 external pins are accessed by selecting JTAG scan chain 3. Details of these pins can be found in the S3C2410 BSDL files.

  14. Using the BDI1000 flash programmer, I get the error:

    This is due to the ROM write area being at 0x0C000000, not at 0x0. Enter 0C000000 into the "Offset [ ] Hex" dialog box.

  15. What speed should be expected with an BDI1000?

    The write should be approximately 50Kbytes/sec with JTAG speed at 6MHz. Faster speeds have not been tested with the BDI1000.

  16. When compiling Linux from the simtec provided patches the build halts with the error "arch.c:42: `MACH_TYPE_BAST' undeclared here (not in a function)"

    The is caused because the arch/arm/tools/mach-types file is out of date. This file is an automatically generated and updated, the latest file should be retrieved from the ARM Linux machine registry

  17. Video output is not being used can It be disabled?

    To disable video output within ABLE configure fb.enable to false

    >nvset fb.enable false
    >nvsave
    >

    Linux will still use the video framebuffer unless it is started with the s3c2410fb_disable=yes parameter. An example is the "installs.sh" script that is used to perform debian installs using only the serial port.

    >setargs root=/dev/ram rw console=ttySAC0,115200 s3c2410fb_disable=yes
    >load (cd0)DISTS/WOODY/MAIN/DISKS_AR/3_0.24_/BAST/LINUX.BIN
    (cd0)DISTS/WOODY/MAIN/DISKS_AR/3_0.24_/BAST/IMAGES_1.44/ROOT.BIN
    >boot
    >
  18. The silver and bronze specification boards have no video, how is Debian installed?

    The default install script performs a video install, to perform a serial only install from the Simtec support CD use the installs.sh script. Typically use the command (cd0)installs.sh instead of the default.

    The parameters passed are documented in Question 17

  19. How do I use a non BDI jtag programmer to write the NOR flash?

    To alter the flash several operations need to be performed. If these are not done it is likely programming the flash will fail or write corrupted data.

    The secondary NOR flash mapping at 0xc000000 *must* be used for all programming, the lower mapping does not have any write enable capability.

    ABLE runs with the MMU on the JTAG programmer you are using needs to disable the MMU before it does its programming, this is typicaly achived by resetting the CPU completely and starting from a unconfigured system.

    If the CPU has been reset it *must* have its bank control registers reprogrammed (see page 5-14 of s3c2410 datasheet for details). BWSCON (0x48000000) must have DW1 set to 16bit width ie bit 4 must be set and bit 5 clear BANKCON1 (048000008) should be set to 0x3750

    To enable programming control register 3 at 0x0E800000 must have bit 0 set, writes will be allowed but simply ignored without this.

    The JTAG programmer flash utility should support CFI type 2 programming to erase/program at address 0xc000000

    All the setup registers *must* be written in their correct widths.

    The complete list of operations to perform to set up the flash for programming are presented in the following table. This demonstrates working values which should be written and their ordering. The operation is one of

    • WM32 which signifies a 32bit word write to the specified memory location.
    • WM8 which specifies a single 8bit write to a memory location.
    • DELAY waits for a given number of miliseconds.
    operationaddressvaluecomment
    WM325300000000000000Disable 3C2410 Watchdog Timer
    WM324A000008FFFFFFFFDisable all interupts
    WM324C00001000000000Configure clock divisor controls
    WM324C00000400070022Configure Main PLL (90MHz)
    WM324C00000800078023Configure USB PLL (48MHz)
    DELAY4C00000800000064PLL stabilise
    WM324800000022555412Initialise overall bus configuration (BWSCON)
    WM324800001800001550Setup BANK5
    WM324800001400001550Setup BANK4
    WM324800001000003F50Setup BANK3
    WM324800000C00003F50Setup BANK2
    WM324800000800003750Setup BANK1
    WM324800000400002D50Setup BANK0
    WM80E80000000000001Enable flash write area
  20. Audio recording does not work under Linux 2.4

    Release of the Linux kernel prior to 2.4.26-vrs1-bast3 did not support recording, and erroneously allowed /dev/dsp to be opened for reading.

    2.4.26-vrs1-bast3 now contains support for audio record

  21. My audio recording or playback application cannot set the speed it wants

    The S3C2410 does not support two different rates for audio playback and record. If an application is already using the audio system, then any new request to change the audio data-rate will be denied.

    Also note, that the audio driver may not support all speeds, see note on supported audio formats in this FAQ.

  22. My audio system has stopped and dmesg shows

    An error has occurred between the audio system and the DMA code. A bug in Linux pre 2.4.26-vrs1-bast3 caused the DMA generation to become locked.

    If this error occurs on 2.4.26-vrs1-bast3 or later, please report this to Simtec with the circumstances that cause it.

  23. What support is there in Linux for sound with the EB2410ITX?

    The current linux patches support the OSS sound driver model, and will provide audio record and playback support as well as control over the audio mixer.

    The mixer supports the following

    • Volume control of headphone output
    • Selection of record from line input (CD / External) or Microphone
    • Record level control of line input source
    • 20dB boost of microphone

    The mixer does not support volume control for the line output, which is fixed at standard line levels.

  24. What audio formats are supported by the Linux driver

    The driver currently supports the following audio rates:

    • 8000Hz
    • 8021Hz
    • 32000Hz
    • 44100Hz
    • 88200Hz
    • 96000Hz

    The only currently supported data format is 16bit, signed stereo linear samples.

  25. Is Linux 2.6 supported on the EB2410ITX

    Yes. The support for the EB2410ITX (BAST) and the S3C2410 in general has been developed by Simtec in harmony with the developer community and integrated into the mainline Kernel sources

    The mainline kernel source avilable from www.kernel.org has full support for the EB2410ITX. Additional drivers may be contained in the simtec peripheral patch available from the resourses section on the website.

  26. Where is the BIOS?

    The EB2410ITX, like all ARM boards, has a bootloader instead of an PC style BIOS.

  27. The S3C2410 SOC datasheet indicates it has two SPI ports are these available?

    The primary channel (channel 0) is brought out to the PL14 connector on pins 27-30

  28. How do I use a DHCP server?

    ABLE defaults to obtaining its network configuration information from a dhcp server.

    The default controller on the EB2410ITX is the Davicom (dm0), which is the socket nearest the edge of the board. This can be changed using the ifconfig command. This command can also be used to manually configure the interface.

  29. The S3C2410 has USB device capability how can it be used?

    The pins for the second USB host port (referred to as port 1 in the datasheet) are also wired to the USB device controller.

    The port is selected as a device port in the GPIO miscellaneous control register (MISCCR - 0x56000080). Bit 3 (the USBPAD bit) selects between host and device operation.

    The device port connector may be wired to pins 2 (data negative),3 (data positive) and 4 (ground) of PL6. Suitable ESD protection is provided on these lines.

  30. The EB2410ITX has a Chrontel CH7006 attached to the LCD port on the S3C2410, how is this controlled?

    The Chrontel is attached as outlined in the user guide. and is controlled using the I2C bus.

    If not using ABLE to configure the Chrontel a sequence similar to the following should be issued to place the CH7006 into simple VGA DAC mode.

    Register (hex)Value (hex)Notes
    Configure basic VGA settings
    0385D1->Both
    1C64
    1D45input clock ctrl
    1f85input data fmt
    5355
    2109vga sync, idf bit 3, direct dac connect
    2216output vga sync on buffclk
    2040
    Configure the lvds driver for pll settings
    7f10lvds fifo errlim
    76ADpll+fifo on, 1 ch
    6500not using OpenLDI
    6405lvds encoding 1
    71ADpll feedback ctrl
    72ADpll vco ctrl
    73C8outputs enable
    7880pll phase+filter
    74F6lvds drive 305mV
    750Cd7=shunt control
    4920tv/vga dacs on
    631Blvds powered

Other pages