Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
7ac63ac6
Commit
7ac63ac6
authored
Feb 08, 2013
by
Linus Walleij
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'allwinner-sunxi' into devel
parents
879029c7
a0d72094
Changes
10
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
2106 additions
and
1 deletion
+2106
-1
Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt
...n/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt
+60
-0
arch/arm/Kconfig
arch/arm/Kconfig
+1
-1
arch/arm/boot/dts/sun4i-a10.dtsi
arch/arm/boot/dts/sun4i-a10.dtsi
+30
-0
arch/arm/boot/dts/sun5i-a13-olinuxino.dts
arch/arm/boot/dts/sun5i-a13-olinuxino.dts
+2
-0
arch/arm/boot/dts/sun5i-a13.dtsi
arch/arm/boot/dts/sun5i-a13.dtsi
+23
-0
arch/arm/mach-sunxi/Kconfig
arch/arm/mach-sunxi/Kconfig
+1
-0
drivers/pinctrl/Kconfig
drivers/pinctrl/Kconfig
+5
-0
drivers/pinctrl/Makefile
drivers/pinctrl/Makefile
+1
-0
drivers/pinctrl/pinctrl-sunxi.c
drivers/pinctrl/pinctrl-sunxi.c
+1505
-0
drivers/pinctrl/pinctrl-sunxi.h
drivers/pinctrl/pinctrl-sunxi.h
+478
-0
No files found.
Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt
0 → 100644
View file @
7ac63ac6
* Allwinner A1X Pin Controller
The pins controlled by sunXi pin controller are organized in banks,
each bank has 32 pins. Each pin has 7 multiplexing functions, with
the first two functions being GPIO in and out. The configuration on
the pins includes drive strength and pull-up.
Required properties:
- compatible: "allwinner,<soc>-pinctrl". Supported SoCs for now are:
sun5i-a13.
- reg: Should contain the register physical address and length for the
pin controller.
Please refer to pinctrl-bindings.txt in this directory for details of the
common pinctrl bindings used by client devices.
A pinctrl node should contain at least one subnodes representing the
pinctrl groups available on the machine. Each subnode will list the
pins it needs, and how they should be configured, with regard to muxer
configuration, drive strength and pullups. If one of these options is
not set, its actual value will be unspecified.
Required subnode-properties:
- allwinner,pins: List of strings containing the pin name.
- allwinner,function: Function to mux the pins listed above to.
Optional subnode-properties:
- allwinner,drive: Integer. Represents the current sent to the pin
0: 10 mA
1: 20 mA
2: 30 mA
3: 40 mA
- allwinner,pull: Integer.
0: No resistor
1: Pull-up resistor
2: Pull-down resistor
Examples:
pinctrl@01c20800 {
compatible = "allwinner,sun5i-a13-pinctrl";
reg = <0x01c20800 0x400>;
#address-cells = <1>;
#size-cells = <0>;
uart1_pins_a: uart1@0 {
allwinner,pins = "PE10", "PE11";
allwinner,function = "uart1";
allwinner,drive = <0>;
allwinner,pull = <0>;
};
uart1_pins_b: uart1@1 {
allwinner,pins = "PG3", "PG4";
allwinner,function = "uart1";
allwinner,drive = <0>;
allwinner,pull = <0>;
};
};
arch/arm/Kconfig
View file @
7ac63ac6
...
@@ -1637,7 +1637,7 @@ config ARCH_NR_GPIO
...
@@ -1637,7 +1637,7 @@ config ARCH_NR_GPIO
default 355 if ARCH_U8500
default 355 if ARCH_U8500
default 264 if MACH_H4700
default 264 if MACH_H4700
default 512 if SOC_OMAP5
default 512 if SOC_OMAP5
default 288 if ARCH_VT8500
default 288 if ARCH_VT8500
|| ARCH_SUNXI
default 0
default 0
help
help
Maximum number of GPIOs in the system.
Maximum number of GPIOs in the system.
...
...
arch/arm/boot/dts/sun4i-a10.dtsi
View file @
7ac63ac6
...
@@ -16,4 +16,34 @@ / {
...
@@ -16,4 +16,34 @@ / {
memory {
memory {
reg = <0x40000000 0x80000000>;
reg = <0x40000000 0x80000000>;
};
};
soc {
pinctrl@01c20800 {
compatible = "allwinner,sun4i-a10-pinctrl";
reg = <0x01c20800 0x400>;
#address-cells = <1>;
#size-cells = <0>;
uart0_pins_a: uart0@0 {
allwinner,pins = "PB22", "PB23";
allwinner,function = "uart0";
allwinner,drive = <0>;
allwinner,pull = <0>;
};
uart0_pins_b: uart0@1 {
allwinner,pins = "PF2", "PF4";
allwinner,function = "uart0";
allwinner,drive = <0>;
allwinner,pull = <0>;
};
uart1_pins_a: uart1@0 {
allwinner,pins = "PA10", "PA11";
allwinner,function = "uart1";
allwinner,drive = <0>;
allwinner,pull = <0>;
};
};
};
};
};
arch/arm/boot/dts/sun5i-a13-olinuxino.dts
View file @
7ac63ac6
...
@@ -24,6 +24,8 @@ chosen {
...
@@ -24,6 +24,8 @@ chosen {
soc
{
soc
{
uart1
:
uart
@
01
c28400
{
uart1
:
uart
@
01
c28400
{
pinctrl
-
names
=
"default"
;
pinctrl
-
0
=
<&
uart1_pins_b
>;
status
=
"okay"
;
status
=
"okay"
;
};
};
};
};
...
...
arch/arm/boot/dts/sun5i-a13.dtsi
View file @
7ac63ac6
...
@@ -17,4 +17,27 @@ / {
...
@@ -17,4 +17,27 @@ / {
memory {
memory {
reg = <0x40000000 0x20000000>;
reg = <0x40000000 0x20000000>;
};
};
soc {
pinctrl@01c20800 {
compatible = "allwinner,sun5i-a13-pinctrl";
reg = <0x01c20800 0x400>;
#address-cells = <1>;
#size-cells = <0>;
uart1_pins_a: uart1@0 {
allwinner,pins = "PE10", "PE11";
allwinner,function = "uart1";
allwinner,drive = <0>;
allwinner,pull = <0>;
};
uart1_pins_b: uart1@1 {
allwinner,pins = "PG3", "PG4";
allwinner,function = "uart1";
allwinner,drive = <0>;
allwinner,pull = <0>;
};
};
};
};
};
arch/arm/mach-sunxi/Kconfig
View file @
7ac63ac6
...
@@ -7,3 +7,4 @@ config ARCH_SUNXI
...
@@ -7,3 +7,4 @@ config ARCH_SUNXI
select PINCTRL
select PINCTRL
select SPARSE_IRQ
select SPARSE_IRQ
select SUNXI_TIMER
select SUNXI_TIMER
select PINCTRL_SUNXI
\ No newline at end of file
drivers/pinctrl/Kconfig
View file @
7ac63ac6
...
@@ -174,6 +174,11 @@ config PINCTRL_SIRF
...
@@ -174,6 +174,11 @@ config PINCTRL_SIRF
depends on ARCH_SIRF
depends on ARCH_SIRF
select PINMUX
select PINMUX
config PINCTRL_SUNXI
bool
select PINMUX
select GENERIC_PINCONF
config PINCTRL_TEGRA
config PINCTRL_TEGRA
bool
bool
select PINMUX
select PINMUX
...
...
drivers/pinctrl/Makefile
View file @
7ac63ac6
...
@@ -35,6 +35,7 @@ obj-$(CONFIG_PINCTRL_PXA168) += pinctrl-pxa168.o
...
@@ -35,6 +35,7 @@ obj-$(CONFIG_PINCTRL_PXA168) += pinctrl-pxa168.o
obj-$(CONFIG_PINCTRL_PXA910)
+=
pinctrl-pxa910.o
obj-$(CONFIG_PINCTRL_PXA910)
+=
pinctrl-pxa910.o
obj-$(CONFIG_PINCTRL_SINGLE)
+=
pinctrl-single.o
obj-$(CONFIG_PINCTRL_SINGLE)
+=
pinctrl-single.o
obj-$(CONFIG_PINCTRL_SIRF)
+=
pinctrl-sirf.o
obj-$(CONFIG_PINCTRL_SIRF)
+=
pinctrl-sirf.o
obj-$(CONFIG_PINCTRL_SUNXI)
+=
pinctrl-sunxi.o
obj-$(CONFIG_PINCTRL_TEGRA)
+=
pinctrl-tegra.o
obj-$(CONFIG_PINCTRL_TEGRA)
+=
pinctrl-tegra.o
obj-$(CONFIG_PINCTRL_TEGRA20)
+=
pinctrl-tegra20.o
obj-$(CONFIG_PINCTRL_TEGRA20)
+=
pinctrl-tegra20.o
obj-$(CONFIG_PINCTRL_TEGRA30)
+=
pinctrl-tegra30.o
obj-$(CONFIG_PINCTRL_TEGRA30)
+=
pinctrl-tegra30.o
...
...
drivers/pinctrl/pinctrl-sunxi.c
0 → 100644
View file @
7ac63ac6
This diff is collapsed.
Click to expand it.
drivers/pinctrl/pinctrl-sunxi.h
0 → 100644
View file @
7ac63ac6
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment