Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 309fdeb5 authored by Kevin Hilman's avatar Kevin Hilman
Browse files

Merge tag 'meson8-dt-fix' of https://github.com/carlocaione/linux-meson 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
parents e6cc3be5 11ca8735
Loading
Loading
Loading
Loading
+7 −31
Original line number Diff line number Diff line
== 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
@@ -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
@@ -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>;
@@ -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",
@@ -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;
			};
		};
	};
+32 −25
Original line number Diff line number Diff line
@@ -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>;
@@ -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";
@@ -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 / */
+10 −2
Original line number Diff line number Diff line
@@ -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>;
@@ -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>,