-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'sh/sdio' into sh-latest
- Loading branch information
Showing
885 changed files
with
59,447 additions
and
34,662 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
Kernel driver gpio-i2cmux | ||
|
||
Author: Peter Korsgaard <peter.korsgaard@barco.com> | ||
|
||
Description | ||
----------- | ||
|
||
gpio-i2cmux is an i2c mux driver providing access to I2C bus segments | ||
from a master I2C bus and a hardware MUX controlled through GPIO pins. | ||
|
||
E.G.: | ||
|
||
---------- ---------- Bus segment 1 - - - - - | ||
| | SCL/SDA | |-------------- | | | ||
| |------------| | | ||
| | | | Bus segment 2 | | | ||
| Linux | GPIO 1..N | MUX |--------------- Devices | ||
| |------------| | | | | ||
| | | | Bus segment M | ||
| | | |---------------| | | ||
---------- ---------- - - - - - | ||
|
||
SCL/SDA of the master I2C bus is multiplexed to bus segment 1..M | ||
according to the settings of the GPIO pins 1..N. | ||
|
||
Usage | ||
----- | ||
|
||
gpio-i2cmux uses the platform bus, so you need to provide a struct | ||
platform_device with the platform_data pointing to a struct | ||
gpio_i2cmux_platform_data with the I2C adapter number of the master | ||
bus, the number of bus segments to create and the GPIO pins used | ||
to control it. See include/linux/gpio-i2cmux.h for details. | ||
|
||
E.G. something like this for a MUX providing 4 bus segments | ||
controlled through 3 GPIO pins: | ||
|
||
#include <linux/gpio-i2cmux.h> | ||
#include <linux/platform_device.h> | ||
|
||
static const unsigned myboard_gpiomux_gpios[] = { | ||
AT91_PIN_PC26, AT91_PIN_PC25, AT91_PIN_PC24 | ||
}; | ||
|
||
static const unsigned myboard_gpiomux_values[] = { | ||
0, 1, 2, 3 | ||
}; | ||
|
||
static struct gpio_i2cmux_platform_data myboard_i2cmux_data = { | ||
.parent = 1, | ||
.base_nr = 2, /* optional */ | ||
.values = myboard_gpiomux_values, | ||
.n_values = ARRAY_SIZE(myboard_gpiomux_values), | ||
.gpios = myboard_gpiomux_gpios, | ||
.n_gpios = ARRAY_SIZE(myboard_gpiomux_gpios), | ||
.idle = 4, /* optional */ | ||
}; | ||
|
||
static struct platform_device myboard_i2cmux = { | ||
.name = "gpio-i2cmux", | ||
.id = 0, | ||
.dev = { | ||
.platform_data = &myboard_i2cmux_data, | ||
}, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
PPC4xx Clock Power Management (CPM) node | ||
|
||
Required properties: | ||
- compatible : compatible list, currently only "ibm,cpm" | ||
- dcr-access-method : "native" | ||
- dcr-reg : < DCR register range > | ||
|
||
Optional properties: | ||
- er-offset : All 4xx SoCs with a CPM controller have | ||
one of two different order for the CPM | ||
registers. Some have the CPM registers | ||
in the following order (ER,FR,SR). The | ||
others have them in the following order | ||
(SR,ER,FR). For the second case set | ||
er-offset = <1>. | ||
- unused-units : specifier consist of one cell. For each | ||
bit in the cell, the corresponding bit | ||
in CPM will be set to turn off unused | ||
devices. | ||
- idle-doze : specifier consist of one cell. For each | ||
bit in the cell, the corresponding bit | ||
in CPM will be set to turn off unused | ||
devices. This is usually just CPM[CPU]. | ||
- standby : specifier consist of one cell. For each | ||
bit in the cell, the corresponding bit | ||
in CPM will be set on standby and | ||
restored on resume. | ||
- suspend : specifier consist of one cell. For each | ||
bit in the cell, the corresponding bit | ||
in CPM will be set on suspend (mem) and | ||
restored on resume. Note, for standby | ||
and suspend the corresponding bits can | ||
be different or the same. Usually for | ||
standby only class 2 and 3 units are set. | ||
However, the interface does not care. | ||
If they are the same, the additional | ||
power saving will be seeing if support | ||
is available to put the DDR in self | ||
refresh mode and any additional power | ||
saving techniques for the specific SoC. | ||
|
||
Example: | ||
CPM0: cpm { | ||
compatible = "ibm,cpm"; | ||
dcr-access-method = "native"; | ||
dcr-reg = <0x160 0x003>; | ||
er-offset = <0>; | ||
unused-units = <0x00000100>; | ||
idle-doze = <0x02000000>; | ||
standby = <0xfeff0000>; | ||
suspend = <0xfeff791d>; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
/* | ||
* include/asm-arm/arch-tegra/include/mach/sdhci.h | ||
* | ||
* Copyright (C) 2009 Palm, Inc. | ||
* Author: Yvonne Yip <y@palm.com> | ||
* | ||
* This software is licensed under the terms of the GNU General Public | ||
* License version 2, as published by the Free Software Foundation, and | ||
* may be copied, distributed, and modified under those terms. | ||
* | ||
* 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. | ||
* | ||
*/ | ||
#ifndef __ASM_ARM_ARCH_TEGRA_SDHCI_H | ||
#define __ASM_ARM_ARCH_TEGRA_SDHCI_H | ||
|
||
#include <linux/mmc/host.h> | ||
|
||
struct tegra_sdhci_platform_data { | ||
int cd_gpio; | ||
int wp_gpio; | ||
int power_gpio; | ||
int is_8bit; | ||
}; | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.