aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data/coda.h
blob: 6ad4410d9e20c474efdd72d254a5f37c40b77d8e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/*
 * Copyright (C) 2013 Philipp Zabel, Pengutronix
 *
 * 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.
 */
#ifndef PLATFORM_CODA_H
#define PLATFORM_CODA_H

struct device;

struct coda_platform_data {
	struct device *iram_dev;
};

#endif
>= switch closed, 1 = switch open) S3 S2 S1 Base-address 0 0 0 0x300 0 0 1 0x310 0 1 0 0x320 (Default for isdn4linux) 0 1 1 0x330 1 0 0 0x340 1 0 1 0x350 1 1 0 0x360 1 1 1 NOT ALLOWED! 2. Setting for the card with dip-switches: (0 = switch closed, 1 = switch open) S1 S2 S3 S4 Base-Address 0 0 0 0 0x300 0 0 0 1 0x310 0 0 1 0 0x320 (Default for isdn4linux) 0 0 1 1 0x330 0 1 0 0 0x340 0 1 0 1 0x350 0 1 1 0 0x360 0 1 1 1 NOT ALLOWED! 1 0 0 0 0x308 1 0 0 1 0x318 1 0 1 0 0x328 1 0 1 1 0x338 1 1 0 0 0x348 1 1 0 1 0x358 1 1 1 0 0x368 1 1 1 1 NOT ALLOWED! The ICN driver may be built into the kernel or as a module. Initialization depends on how the driver is built: Driver built into the kernel: The ICN driver can be configured using the commandline-feature while loading the kernel with LILO or LOADLIN. It accepts the following syntax: icn=p,m[,idstring1[,idstring2]] where p = portbase (default: 0x320) m = shared memory (default: 0xd0000) When using the ICN double card (4B), you MUST define TWO idstrings. idstring must start with a character! There is no way for the driver to distinguish between a 2B and 4B type card. Therefore, by supplying TWO idstrings, you tell the driver that you have a 4B installed. If you like to use more than one card, you can use the program "icnctrl" from the utility-package to configure additional cards. You need to configure shared memory only once, since the icn-driver maps all cards into the same address-space. Using the "icnctrl"-utility, portbase and shared memory can also be changed during runtime. The D-channel protocol is configured by loading different firmware into the card's memory using the "icnctrl"-utility. Driver built as module: The module icn.o can be configured during "insmod'ing" it by appending its parameters to the insmod-commandline. The following syntax is accepted: portbase=p membase=m icn_id=idstring [icn_id2=idstring2] where p, m, idstring1 and idstring2 have the same meanings as the parameters described for the kernel-version above. When using the ICN double card (4B), you MUST define TWO idstrings. idstring must start with a character! There is no way for the driver to distinguish between a 2B and 4B type card. Therefore, by supplying TWO idstrings, you tell the driver that you have a 4B installed. Using the "icnctrl"-utility, the same features apply to the modularized version like to the kernel-builtin one. The D-channel protocol is configured by loading different firmware into the card's memory using the "icnctrl"-utility. Loading the firmware into the card: The firmware is supplied together with the isdn4k-utils package. It can be found in the subdirectory icnctrl/firmware/ There are 3 files: loadpg.bin - Image of the bootstrap loader. pc_1t_ca.bin - Image of firmware for german 1TR6 protocol. pc_eu_ca.bin - Image if firmware for EDSS1 (Euro-ISDN) protocol. Assuming you have installed the utility-package correctly, the firmware will be downloaded into the 2B-card using the following command: icnctrl -d Idstring load /etc/isdn/loadpg.bin /etc/isdn/pc_XX_ca.bin where XX is either "1t" or "eu", depending on the D-Channel protocol used on your S0-bus and Idstring is the Name of the card, given during insmod-time or (for kernel-builtin driver) on the kernel commandline. To load a 4B-card, the same command is used, except a second firmware file is appended to the commandline of icnctrl. -> After downloading firmware, the two LEDs at the back cover of the card (ICN-4B: 4 LEDs) must be blinking intermittently now. If a connection is up, the corresponding led is lit continuously. For further documentation (adding more ICN-cards), refer to the manpage icnctrl.8 which is included in the isdn4k-utils package.