Skip to content

Commit

Permalink
Merge tag 'meson8-dt-fix' of https://github.com/carlocaione/linux-meson
Browse files Browse the repository at this point in the history
… into fixes

With http://www.spinics.net/lists/devicetree/msg116771.html we split / refactor
the pinctrl driver to have two different pinctrl devices for each bus on the
Amlogic Meson8 / Meson8b SoCs.
These are the missing patches for documentation and DT that weren't pulled into
mainline with the driver changes.

* tag 'meson8-dt-fix' of https://github.com/carlocaione/linux-meson:
  documentation: Fix pinctrl documentation for Meson8 / Meson8b
  ARM: dts: amlogic: Split pinctrl device for Meson8 / Meson8b
  • Loading branch information
khilman committed Apr 8, 2016
2 parents e6cc3be + 11ca873 commit 309fdeb
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 58 deletions.
38 changes: 7 additions & 31 deletions Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
== Amlogic Meson pinmux controller ==

Required properties for the root node:
- compatible: "amlogic,meson8-pinctrl" or "amlogic,meson8b-pinctrl"
- compatible: one of "amlogic,meson8-cbus-pinctrl"
"amlogic,meson8b-cbus-pinctrl"
"amlogic,meson8-aobus-pinctrl"
"amlogic,meson8b-aobus-pinctrl"
- reg: address and size of registers controlling irq functionality

=== GPIO sub-nodes ===

The 2 power domains of the controller (regular and always-on) are
represented as sub-nodes and each of them acts as a GPIO controller.
The GPIO bank for the controller is represented as a sub-node and it acts as a
GPIO controller.

Required properties for sub-nodes are:
- reg: should contain address and size for mux, pull-enable, pull and
Expand All @@ -18,10 +21,6 @@ Required properties for sub-nodes are:
- gpio-controller: identifies the node as a gpio controller
- #gpio-cells: must be 2

Valid sub-node names are:
- "banks" for the regular domain
- "ao-bank" for the always-on domain

=== Other sub-nodes ===

Child nodes without the "gpio-controller" represent some desired
Expand All @@ -45,7 +44,7 @@ pinctrl-bindings.txt
=== Example ===

pinctrl: pinctrl@c1109880 {
compatible = "amlogic,meson8-pinctrl";
compatible = "amlogic,meson8-cbus-pinctrl";
reg = <0xc1109880 0x10>;
#address-cells = <1>;
#size-cells = <1>;
Expand All @@ -61,15 +60,6 @@ pinctrl-bindings.txt
#gpio-cells = <2>;
};

gpio_ao: ao-bank@c1108030 {
reg = <0xc8100014 0x4>,
<0xc810002c 0x4>,
<0xc8100024 0x8>;
reg-names = "mux", "pull", "gpio";
gpio-controller;
#gpio-cells = <2>;
};

nand {
mux {
groups = "nand_io", "nand_io_ce0", "nand_io_ce1",
Expand All @@ -79,18 +69,4 @@ pinctrl-bindings.txt
function = "nand";
};
};

uart_ao_a {
mux {
groups = "uart_tx_ao_a", "uart_rx_ao_a",
"uart_cts_ao_a", "uart_rts_ao_a";
function = "uart_ao";
};

conf {
pins = "GPIOAO_0", "GPIOAO_1",
"GPIOAO_2", "GPIOAO_3";
bias-disable;
};
};
};
57 changes: 32 additions & 25 deletions arch/arm/boot/dts/meson8.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,8 @@
clock-frequency = <141666666>;
};

pinctrl: pinctrl@c1109880 {
compatible = "amlogic,meson8-pinctrl";
pinctrl_cbus: pinctrl@c1109880 {
compatible = "amlogic,meson8-cbus-pinctrl";
reg = <0xc1109880 0x10>;
#address-cells = <1>;
#size-cells = <1>;
Expand All @@ -108,29 +108,6 @@
#gpio-cells = <2>;
};

gpio_ao: ao-bank@c1108030 {
reg = <0xc8100014 0x4>,
<0xc810002c 0x4>,
<0xc8100024 0x8>;
reg-names = "mux", "pull", "gpio";
gpio-controller;
#gpio-cells = <2>;
};

uart_ao_a_pins: uart_ao_a {
mux {
groups = "uart_tx_ao_a", "uart_rx_ao_a";
function = "uart_ao";
};
};

i2c_ao_pins: i2c_mst_ao {
mux {
groups = "i2c_mst_sck_ao", "i2c_mst_sda_ao";
function = "i2c_mst_ao";
};
};

spi_nor_pins: nor {
mux {
groups = "nor_d", "nor_q", "nor_c", "nor_cs";
Expand All @@ -157,4 +134,34 @@
};
};

pinctrl_aobus: pinctrl@c8100084 {
compatible = "amlogic,meson8-aobus-pinctrl";
reg = <0xc8100084 0xc>;
#address-cells = <1>;
#size-cells = <1>;
ranges;

gpio_ao: ao-bank@c1108030 {
reg = <0xc8100014 0x4>,
<0xc810002c 0x4>,
<0xc8100024 0x8>;
reg-names = "mux", "pull", "gpio";
gpio-controller;
#gpio-cells = <2>;
};

uart_ao_a_pins: uart_ao_a {
mux {
groups = "uart_tx_ao_a", "uart_rx_ao_a";
function = "uart_ao";
};
};

i2c_ao_pins: i2c_mst_ao {
mux {
groups = "i2c_mst_sck_ao", "i2c_mst_sda_ao";
function = "i2c_mst_ao";
};
};
};
}; /* end of / */
12 changes: 10 additions & 2 deletions arch/arm/boot/dts/meson8b.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -155,8 +155,8 @@
reg = <0xc1108000 0x4>, <0xc1104000 0x460>;
};

pinctrl: pinctrl@c1109880 {
compatible = "amlogic,meson8b-pinctrl";
pinctrl_cbus: pinctrl@c1109880 {
compatible = "amlogic,meson8b-cbus-pinctrl";
reg = <0xc1109880 0x10>;
#address-cells = <1>;
#size-cells = <1>;
Expand All @@ -171,6 +171,14 @@
gpio-controller;
#gpio-cells = <2>;
};
};

pinctrl_aobus: pinctrl@c8100084 {
compatible = "amlogic,meson8b-aobus-pinctrl";
reg = <0xc8100084 0xc>;
#address-cells = <1>;
#size-cells = <1>;
ranges;

gpio_ao: ao-bank@c1108030 {
reg = <0xc8100014 0x4>,
Expand Down

0 comments on commit 309fdeb

Please sign in to comment.