mirror of
https://github.com/AetherDroid/android_kernel_samsung_on5xelte.git
synced 2025-09-07 08:48:05 -04:00
Fixed MTP to work with TWRP
This commit is contained in:
commit
f6dfaef42e
50820 changed files with 20846062 additions and 0 deletions
113
Documentation/devicetree/bindings/soc/samsung/usi.txt
Normal file
113
Documentation/devicetree/bindings/soc/samsung/usi.txt
Normal file
|
@ -0,0 +1,113 @@
|
|||
* EXYNOS - USI(Universal Serial Interface) devicetree making guide
|
||||
|
||||
The USI can operate as UART, HSI2C and SPI.
|
||||
So the configuration for one specific function
|
||||
should be needed with SYSREG(System Registers).
|
||||
|
||||
To configure USI port as one specific function,
|
||||
function string(ex, "spi" or "hsi2c0" or "hsi2c1" or "spi" or "uart" or
|
||||
"hsi2c0_hsi2c1" or "uart_hsi2c1")
|
||||
should be declared in "usi_mode" property in board devicetree file.
|
||||
|
||||
Becuase USI configuration can differ from board schematic.
|
||||
|
||||
* Required SoC Specific Properties:
|
||||
|
||||
- compatible: should be one of the following.
|
||||
- samsung,exynos-usi: for exynos7, exynos8 platforms.
|
||||
|
||||
- reg: physical base address of the SYSREG for specific USI port
|
||||
and length of memory mapped region.
|
||||
|
||||
* Required Board Specific Properties:
|
||||
- usi_mode: function string for one specific IP operation.
|
||||
hsi2c0: for HSI2C0
|
||||
hsi2c1: for HSI2C1
|
||||
spi: for SPI
|
||||
uart: for UART
|
||||
hsi2c0_hsi2c1: for HSI2C0 and HSI2C1
|
||||
uart_hsi2c1: for UART(without hardware flow control) and HSI2C1
|
||||
|
||||
In case of HSI2C function of USI,
|
||||
hsi2c0 and hsi2c1 should be declared in according to board schemetic.
|
||||
If shemetic describes USI pin as "XUSI##_SDA0" and XUSI##_SCL0",
|
||||
we need to use "hsi2c0" for usi_mode.
|
||||
If shemetic describes USI pin as "XUSI##_SDA1" and XUSI##_SCL1",
|
||||
we need to use "hsi2c1" for usi_mode.
|
||||
If shemetic describes USI pin as "XUSI##_SDA0" and XUSI##_SCL0",
|
||||
and there is also "XUSI##_SDA1" and XUSI##_SCL1",
|
||||
we need to use "hsi2c0_hsi2c1" for usi_mode.
|
||||
|
||||
* Exsamples:
|
||||
|
||||
- SoC Specific Portion
|
||||
|
||||
/* USI_0 */
|
||||
usi_0: usi@10421000 {
|
||||
compatible = "samsung,exynos-usi";
|
||||
reg = <0x0 0x10421000 0x4>;
|
||||
/* usi_mode = "hsi2c0" or "hsi2c1" or "spi" or "uart"
|
||||
or "hsi2c0_hsi2c1" or "uart_hsi2c1" */
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* USI_1 */
|
||||
usi_1: usi@10421004 {
|
||||
compatible = "samsung,exynos-usi";
|
||||
reg = <0x0 0x10421004 0x4>;
|
||||
/* usi_mode = "hsi2c0" or "hsi2c1" or "spi" or "uart"
|
||||
or "hsi2c0_hsi2c1" or "uart_hsi2c1" */
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* USI_2 */
|
||||
usi_2: usi@10421008 {
|
||||
compatible = "samsung,exynos-usi";
|
||||
reg = <0x0 0x10421008 0x4>;
|
||||
/* usi_mode = "hsi2c0" or "hsi2c1" or "spi" or "uart"
|
||||
or "hsi2c0_hsi2c1" or "uart_hsi2c1" */
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
- Board Specific Portion
|
||||
|
||||
/* USI MODE SETTINGS
|
||||
|
||||
usi_mode = "hsi2c0" or "hsi2c1" or "spi" or "uart"
|
||||
or "hsi2c0_hsi2c1" or "uart_hsi2c1"
|
||||
*/
|
||||
|
||||
usi_0: usi@10421000 {
|
||||
usi_mode = "spi";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usi_1: usi@10421004 {
|
||||
usi_mode = "spi";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usi_2: usi@10421008 {
|
||||
usi_mode = "hsi2c0";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
If USI configuration was done successfully, the booting log will be shown as below.
|
||||
|
||||
[ 0.700485] [1: swapper/0: 1] usi 10421000.usi: usi_probe() mode:4
|
||||
[ 0.702369] [1: swapper/0: 1] usi 10421004.usi: usi_probe() mode:4
|
||||
[ 0.704134] [1: swapper/0: 1] usi 10421008.usi: usi_probe() mode:1
|
||||
|
||||
This means the usi_0 was set as "spi" and usi_1 was set as "spi" and
|
||||
usi_2 was set as "hsi2c0".
|
||||
|
||||
The mode values are as below.
|
||||
|
||||
/* USI mode */
|
||||
#define USI_HSI2C0_SINGLE_MODE 0x1
|
||||
#define USI_HSI2C1_SINGLE_MODE 0x2
|
||||
#define USI_HSI2C0_HSI2C1_DUAL_MODE 0x3
|
||||
#define USI_SPI_SINGLE_MODE 0x4
|
||||
#define USI_UART_SINGLE_MODE 0x8
|
||||
#define USI_UART_HSI2C1_DUAL_MODE 0xA
|
Loading…
Add table
Add a link
Reference in a new issue