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

Commit c073f31a authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'amlogic-dt64' of...

Merge tag 'amlogic-dt64' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt

Pull "Amlogic 64-bit DT updates for v4.17" from Kevin Hilman:

- AXG: add/enable UART_A, I2C, RMII, system controller, HW RNG
- accept MAC from u-boot environment
- misc. fixes

* tag 'amlogic-dt64' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  ARM64: dts: meson-gx: make efuse read-only
  ARM64: dts: meson: bump mali450 clk to 744MHz
  meson-gx-socinfo: Add package id for S905H
  ARM64: dts: meson-gxbb-wetek: add a wetek specific dtsi to cleanup hub and play2
  ARM64: dts: meson: reduce odroid-c2 eMMC maximum rate
  ARM64: dts: amlogic: Convert to new-style SPDX license identifiers
  ARM64: dts: meson-axg: fix pwm_AO_cd compatible
  ARM64: dts: meson-axg: add sec_AO system controller
  ARM64: dts: meson: accept MAC addr from u-boot environment
  ARM64: dts: meson s905x: accept MAC addr from u-boot environment
  ARM64: dts: meson-axg: enable the UART_A controller
  ARM64: dts: meson-axg: complete the pinctrl info for UART_AO_A
  ARM64: dts: meson-axg: uart: Add the pinctrl info description
  ARM64: dts: meson-axg: uart: drop legacy compatible name from EE UART
  ARM64: dts: meson-axg: add RMII pins for ethernet controller
  ARM64: dts: meson-axg: enable I2C Master-1 for the audio speaker
  ARM64: dts: meson-axg: describe pin DT info for I2C controller
  ARM64: dts: meson-axg: add I2C DT info for Meson-AXG SoC
  ARM64: meson-axg: enable hardware rng
parents 7c9e7cb3 c339f0e2
Loading
Loading
Loading
Loading
+16 −2
Original line number Diff line number Diff line
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2017 Amlogic, Inc. All rights reserved.
 *
 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 */

/dts-v1/;
@@ -14,6 +13,7 @@

	aliases {
		serial0 = &uart_AO;
		serial1 = &uart_A;
	};
};

@@ -24,8 +24,16 @@
	pinctrl-names = "default";
};

&uart_A {
	status = "okay";
	pinctrl-0 = <&uart_a_pins>;
	pinctrl-names = "default";
};

&uart_AO {
	status = "okay";
	pinctrl-0 = <&uart_ao_a_pins>;
	pinctrl-names = "default";
};

&ir {
@@ -33,3 +41,9 @@
	pinctrl-0 = <&remote_input_ao_pins>;
	pinctrl-names = "default";
};

&i2c1 {
	status = "okay";
	pinctrl-0 = <&i2c1_z_pins>;
	pinctrl-names = "default";
};
+270 −5
Original line number Diff line number Diff line
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2017 Amlogic, Inc. All rights reserved.
 *
 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 */

#include <dt-bindings/gpio/gpio.h>
@@ -163,18 +162,70 @@
				status = "disabled";
			};

			i2c0: i2c@1f000 {
				compatible = "amlogic,meson-axg-i2c";
				status = "disabled";
				reg = <0x0 0x1f000 0x0 0x20>;
				interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>,
					<GIC_SPI 47 IRQ_TYPE_EDGE_RISING>;
				#address-cells = <1>;
				#size-cells = <0>;
				clocks = <&clkc CLKID_I2C>;
				clock-names = "clk_i2c";
			};

			i2c1: i2c@1e000 {
				compatible = "amlogic,meson-axg-i2c";
				#address-cells = <1>;
				#size-cells = <0>;
				reg = <0x0 0x1e000 0x0 0x20>;
				status = "disabled";
				interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>,
					<GIC_SPI 48 IRQ_TYPE_EDGE_RISING>;
				clocks = <&clkc CLKID_I2C>;
				clock-names = "clk_i2c";
			};

			i2c2: i2c@1d000 {
				compatible = "amlogic,meson-axg-i2c";
				status = "disabled";
				reg = <0x0 0x1d000 0x0 0x20>;
				interrupts = <GIC_SPI 215 IRQ_TYPE_EDGE_RISING>,
					<GIC_SPI 49 IRQ_TYPE_EDGE_RISING>;
				#address-cells = <1>;
				#size-cells = <0>;
				clocks = <&clkc CLKID_I2C>;
				clock-names = "clk_i2c";
			};

			i2c3: i2c@1c000 {
				compatible = "amlogic,meson-axg-i2c";
				status = "disabled";
				reg = <0x0 0x1c000 0x0 0x20>;
				interrupts = <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>,
					<GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
				#address-cells = <1>;
				#size-cells = <0>;
				clocks = <&clkc CLKID_I2C>;
				clock-names = "clk_i2c";
			};

			uart_A: serial@24000 {
				compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart";
				compatible = "amlogic,meson-gx-uart";
				reg = <0x0 0x24000 0x0 0x18>;
				interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
				status = "disabled";
				clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
				clock-names = "xtal", "pclk", "baud";
			};

			uart_B: serial@23000 {
				compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart";
				compatible = "amlogic,meson-gx-uart";
				reg = <0x0 0x23000 0x0 0x18>;
				interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
				status = "disabled";
				clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>;
				clock-names = "xtal", "pclk", "baud";
			};
		};

@@ -234,6 +285,13 @@
			#size-cells = <2>;
			ranges = <0x0 0x0 0x0 0xff634000 0x0 0x2000>;

			hwrng: rng {
				compatible = "amlogic,meson-rng";
				reg = <0x0 0x18 0x0 0x4>;
				clocks = <&clkc CLKID_RNG0>;
				clock-names = "core";
			};

			pinctrl_periphs: pinctrl@480 {
				compatible = "amlogic,meson-axg-periphs-pinctrl";
				#address-cells = <2>;
@@ -251,6 +309,36 @@
					gpio-ranges = <&pinctrl_periphs 0 0 86>;
				};

				eth_rmii_x_pins: eth-x-rmii {
					mux {
						groups = "eth_mdio_x",
						       "eth_mdc_x",
						       "eth_rgmii_rx_clk_x",
						       "eth_rx_dv_x",
						       "eth_rxd0_x",
						       "eth_rxd1_x",
						       "eth_txen_x",
						       "eth_txd0_x",
						       "eth_txd1_x";
						function = "eth";
					};
				};

				eth_rmii_y_pins: eth-y-rmii {
					mux {
						groups = "eth_mdio_y",
						       "eth_mdc_y",
						       "eth_rgmii_rx_clk_y",
						       "eth_rx_dv_y",
						       "eth_rxd0_y",
						       "eth_rxd1_y",
						       "eth_txen_y",
						       "eth_txd0_y",
						       "eth_txd1_y";
						function = "eth";
					};
				};

				eth_rgmii_x_pins: eth-x-rgmii {
					mux {
						groups = "eth_mdio_x",
@@ -444,6 +532,134 @@
						function = "spi1";
					};
				};

				i2c0_pins: i2c0 {
					mux {
						groups = "i2c0_sck",
							"i2c0_sda";
						function = "i2c0";
					};
				};

				i2c1_z_pins: i2c1_z {
					mux {
						groups = "i2c1_sck_z",
							"i2c1_sda_z";
						function = "i2c1";
					};
				};

				i2c1_x_pins: i2c1_x {
					mux {
						groups = "i2c1_sck_x",
							"i2c1_sda_x";
						function = "i2c1";
					};
				};

				i2c2_x_pins: i2c2_x {
					mux {
						groups = "i2c2_sck_x",
							"i2c2_sda_x";
						function = "i2c2";
					};
				};

				i2c2_a_pins: i2c2_a {
					mux {
						groups = "i2c2_sck_a",
							"i2c2_sda_a";
						function = "i2c2";
					};
				};

				i2c3_a6_pins: i2c3_a6 {
					mux {
						groups = "i2c3_sda_a6",
							"i2c3_sck_a7";
						function = "i2c3";
					};
				};

				i2c3_a12_pins: i2c3_a12 {
					mux {
						groups = "i2c3_sda_a12",
							"i2c3_sck_a13";
						function = "i2c3";
					};
				};

				i2c3_a19_pins: i2c3_a19 {
					mux {
						groups = "i2c3_sda_a19",
							"i2c3_sck_a20";
						function = "i2c3";
					};
				};

				uart_a_pins: uart_a {
					mux {
						groups = "uart_tx_a",
							"uart_rx_a";
						function = "uart_a";
					};
				};

				uart_a_cts_rts_pins: uart_a_cts_rts {
					mux {
						groups = "uart_cts_a",
							"uart_rts_a";
						function = "uart_a";
					};
				};

				uart_b_x_pins: uart_b_x {
					mux {
						groups = "uart_tx_b_x",
							"uart_rx_b_x";
						function = "uart_b";
					};
				};

				uart_b_x_cts_rts_pins: uart_b_x_cts_rts {
					mux {
						groups = "uart_cts_b_x",
							"uart_rts_b_x";
						function = "uart_b";
					};
				};

				uart_b_z_pins: uart_b_z {
					mux {
						groups = "uart_tx_b_z",
							"uart_rx_b_z";
						function = "uart_b";
					};
				};

				uart_b_z_cts_rts_pins: uart_b_z_cts_rts {
					mux {
						groups = "uart_cts_b_z",
							"uart_rts_b_z";
						function = "uart_b";
					};
				};

				uart_ao_b_z_pins: uart_ao_b_z {
					mux {
						groups = "uart_ao_tx_b_z",
							"uart_ao_rx_b_z";
						function = "uart_ao_b_z";
					};
				};

				uart_ao_b_z_cts_rts_pins: uart_ao_b_z_cts_rts {
					mux {
						groups = "uart_ao_cts_b_z",
							"uart_ao_rts_b_z";
						function = "uart_ao_b_z";
					};
				};
			};
		};

@@ -494,6 +710,44 @@
						function = "remote_input_ao";
					};
				};

				uart_ao_a_pins: uart_ao_a {
					mux {
						groups = "uart_ao_tx_a",
							"uart_ao_rx_a";
						function = "uart_ao_a";
					};
				};

				uart_ao_a_cts_rts_pins: uart_ao_a_cts_rts {
					mux {
						groups = "uart_ao_cts_a",
							"uart_ao_rts_a";
						function = "uart_ao_a";
					};
				};

				uart_ao_b_pins: uart_ao_b {
					mux {
						groups = "uart_ao_tx_b",
							"uart_ao_rx_b";
						function = "uart_ao_b";
					};
				};

				uart_ao_b_cts_rts_pins: uart_ao_b_cts_rts {
					mux {
						groups = "uart_ao_cts_b",
							"uart_ao_rts_b";
						function = "uart_ao_b";
					};
				};
			};

			sec_AO: ao-secure@140 {
				compatible = "amlogic,meson-gx-ao-secure", "syscon";
				reg = <0x0 0x140 0x0 0x140>;
				amlogic,has-chip-id;
			};

			pwm_AO_ab: pwm@7000 {
@@ -504,12 +758,23 @@
			};

			pwm_AO_cd: pwm@2000 {
				compatible = "amlogic,axg-ao-pwm";
				compatible = "amlogic,meson-axg-ao-pwm";
				reg = <0x0 0x02000  0x0 0x20>;
				#pwm-cells = <3>;
				status = "disabled";
			};

			i2c_AO: i2c@5000 {
				compatible = "amlogic,meson-axg-i2c";
				status = "disabled";
				reg = <0x0 0x05000 0x0 0x20>;
				interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>;
				#address-cells = <1>;
				#size-cells = <0>;
				clocks = <&clkc CLKID_I2C>;
				clock-names = "clk_i2c";
			};

			uart_AO: serial@3000 {
				compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
				reg = <0x0 0x3000 0x0 0x18>;
+2 −38
Original line number Diff line number Diff line
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2016 Endless Computers, Inc.
 * Author: Carlo Caione <carlo@endlessm.com>
 *
 * This file is dual-licensed: you can use it either under the terms
 * of the GPL or the X11 license, at your option. Note that this dual
 * licensing only applies to this file, and not this project as a
 * whole.
 *
 *  a) This library is free software; you can redistribute it and/or
 *     modify it under the terms of the GNU General Public License as
 *     published by the Free Software Foundation; either version 2 of the
 *     License, or (at your option) any later version.
 *
 *     This library 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.
 *
 * Or, alternatively,
 *
 *  b) Permission is hereby granted, free of charge, to any person
 *     obtaining a copy of this software and associated documentation
 *     files (the "Software"), to deal in the Software without
 *     restriction, including without limitation the rights to use,
 *     copy, modify, merge, publish, distribute, sublicense, and/or
 *     sell copies of the Software, and to permit persons to whom the
 *     Software is furnished to do so, subject to the following
 *     conditions:
 *
 *     The above copyright notice and this permission notice shall be
 *     included in all copies or substantial portions of the Software.
 *
 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 *     OTHER DEALINGS IN THE SOFTWARE.
 */

/* Common DTSI for same Amlogic Q200/Q201 and P230/P231 boards using either
@@ -48,6 +11,7 @@
/ {
	aliases {
		serial0 = &uart_AO;
		ethernet0 = &ethmac;
	};

	chosen {
+2 −38
Original line number Diff line number Diff line
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2016 Andreas Färber
 *
@@ -6,44 +7,6 @@
 *
 * Copyright (c) 2016 Endless Computers, Inc.
 * Author: Carlo Caione <carlo@endlessm.com>
 *
 * This file is dual-licensed: you can use it either under the terms
 * of the GPL or the X11 license, at your option. Note that this dual
 * licensing only applies to this file, and not this project as a
 * whole.
 *
 *  a) This library is free software; you can redistribute it and/or
 *     modify it under the terms of the GNU General Public License as
 *     published by the Free Software Foundation; either version 2 of the
 *     License, or (at your option) any later version.
 *
 *     This library 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.
 *
 * Or, alternatively,
 *
 *  b) Permission is hereby granted, free of charge, to any person
 *     obtaining a copy of this software and associated documentation
 *     files (the "Software"), to deal in the Software without
 *     restriction, including without limitation the rights to use,
 *     copy, modify, merge, publish, distribute, sublicense, and/or
 *     sell copies of the Software, and to permit persons to whom the
 *     Software is furnished to do so, subject to the following
 *     conditions:
 *
 *     The above copyright notice and this permission notice shall be
 *     included in all copies or substantial portions of the Software.
 *
 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 *     OTHER DEALINGS IN THE SOFTWARE.
 */

#include <dt-bindings/gpio/gpio.h>
@@ -169,6 +132,7 @@
		compatible = "amlogic,meson-gx-efuse", "amlogic,meson-gxbb-efuse";
		#address-cells = <1>;
		#size-cells = <1>;
		read-only;

		sn: sn@14 {
			reg = <0x14 0x10>;
+2 −40
Original line number Diff line number Diff line
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2017 Andreas Färber
 *
 * This file is dual-licensed: you can use it either under the terms
 * of the GPL or the X11 license, at your option. Note that this dual
 * licensing only applies to this file, and not this project as a
 * whole.
 *
 *  a) This library is free software; you can redistribute it and/or
 *     modify it under the terms of the GNU General Public License as
 *     published by the Free Software Foundation; either version 2 of the
 *     License, or (at your option) any later version.
 *
 *     This library 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.
 *
 * Or, alternatively,
 *
 *  b) Permission is hereby granted, free of charge, to any person
 *     obtaining a copy of this software and associated documentation
 *     files (the "Software"), to deal in the Software without
 *     restriction, including without limitation the rights to use,
 *     copy, modify, merge, publish, distribute, sublicense, and/or
 *     sell copies of the Software, and to permit persons to whom the
 *     Software is furnished to do so, subject to the following
 *     conditions:
 *
 *     The above copyright notice and this permission notice shall be
 *     included in all copies or substantial portions of the Software.
 *
 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 *     OTHER DEALINGS IN THE SOFTWARE.
 *
 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 */

/dts-v1/;
@@ -52,6 +13,7 @@

	aliases {
		serial0 = &uart_AO;
		ethernet0 = &ethmac;
	};

	chosen {
Loading