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

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

Merge tag 'sti-dt-for-v4.9-2' of...

Merge tag 'sti-dt-for-v4.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti into next/dt

Pull "STi dts update" from Patrice Chotard:

Update gpio-cells and gpio specifier for STiH415/416
Add PWM capture support for STiH416 and STiH407 family
Add USB3 support for B2260
Add HVA support for STiH410
Add clk_ignore_unused in bootargs of B2260
Add Flexible Direct Memory Access (FDMA) support for STiH407 family
Add internal audio codec IP spport for STiH407 family
Add uniperif player/reader IP blocks for STiH407 family

* tag 'sti-dt-for-v4.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti: (22 commits)
  ARM: DT: STi: stihxxx-b2120: Add DT nodes for STi audio card
  ARM: STi: DT: STiH407: Add uniperif reader dt nodes
  ARM: STi: DT: STiH407: Add uniperif player dt nodes
  ARM: STi: DT: STiH407: Add sti-sasg-codec dt node
  ARM: DT: STiH407: Add spdif_out pinctrl config
  ARM: DT: STiH407: Add i2s_in pinctrl configuration
  ARM: DT: STiH407: Add i2s_out pinctrl configuration
  ARM: STi: DT: STiH407: Add FDMA driver dt nodes.
  ARM: dts: STiH410: Add hva dt nodes
  ARM: dts: STiH410-b2260: add clk_ignore_unused in bootargs
  ARM: dts: STiH410-b2260: add USB3 node
  ARM: dts: STiH416: Define the number of PWM Capture channels
  ARM: dts: STiH416: Define PWM Capture clock
  ARM: dts: STiH416: Declare PWM Capture data lines via Pinctrl
  ARM: dts: STiH416: Supply PWM Capture IRQs
  ARM: dts: STiH407: Declare PWM Capture data lines via Pinctrl
  ARM: dts: STiH407: Supply PWM Capture IRQ
  ARM: dts: STiH416-b2020e: update gpio specifier
  ARM: dts: STiH41x-b2000: update gpio specifier
  ARM: dts: STiHxxx-b2120: update gpio specifier
  ...
parents e4077485 443fd7c9
Loading
Loading
Loading
Loading
+168 −0
Original line number Diff line number Diff line
@@ -670,6 +670,7 @@
			compatible	= "st,sti-pwm";
			#pwm-cells	= <2>;
			reg		= <0x9810000 0x68>;
			interrupts      = <GIC_SPI 128 IRQ_TYPE_NONE>;
			pinctrl-names	= "default";
			pinctrl-0	= <&pinctrl_pwm0_chan0_default>;
			clock-names	= "pwm";
@@ -824,5 +825,172 @@
			clock-frequency	= <600000000>;
			st,syscfg	= <&syscfg_core 0x224>;
		};

		/* fdma audio */
		fdma0: dma-controller@8e20000 {
			compatible = "st,stih407-fdma-mpe31-11", "st,slim-rproc";
			reg = <0x8e20000 0x8000>,
			      <0x8e30000 0x3000>,
			      <0x8e37000 0x1000>,
			      <0x8e38000 0x8000>;
			reg-names = "slimcore", "dmem", "peripherals", "imem";
			clocks = <&clk_s_c0_flexgen CLK_FDMA>,
				 <&clk_s_c0_flexgen CLK_EXT2F_A9>,
				 <&clk_s_c0_flexgen CLK_EXT2F_A9>,
				 <&clk_s_c0_flexgen CLK_EXT2F_A9>;
			interrupts = <GIC_SPI 5 IRQ_TYPE_NONE>;
			dma-channels = <16>;
			#dma-cells = <3>;
		};

		/* fdma app */
		fdma1: dma-controller@8e40000 {
			compatible = "st,stih407-fdma-mpe31-12", "st,slim-rproc";
			reg = <0x8e40000 0x8000>,
			      <0x8e50000 0x3000>,
			      <0x8e57000 0x1000>,
			      <0x8e58000 0x8000>;
			reg-names = "slimcore", "dmem", "peripherals", "imem";
			clocks = <&clk_s_c0_flexgen CLK_FDMA>,
				<&clk_s_c0_flexgen CLK_TX_ICN_DMU>,
				<&clk_s_c0_flexgen CLK_TX_ICN_DMU>,
				<&clk_s_c0_flexgen CLK_EXT2F_A9>;

			interrupts = <GIC_SPI 7 IRQ_TYPE_NONE>;
			dma-channels = <16>;
			#dma-cells = <3>;
		};

		/* fdma free running */
		fdma2: dma-controller@8e60000 {
			compatible = "st,stih407-fdma-mpe31-13", "st,slim-rproc";
			reg = <0x8e60000 0x8000>,
			      <0x8e70000 0x3000>,
			      <0x8e77000 0x1000>,
			      <0x8e78000 0x8000>;
			reg-names = "slimcore", "dmem", "peripherals", "imem";
			interrupts = <GIC_SPI 9 IRQ_TYPE_NONE>;
			dma-channels = <16>;
			#dma-cells = <3>;
			clocks = <&clk_s_c0_flexgen CLK_FDMA>,
				<&clk_s_c0_flexgen CLK_EXT2F_A9>,
				<&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
				<&clk_s_c0_flexgen CLK_EXT2F_A9>;
		};

		sti_sasg_codec: sti-sasg-codec {
			compatible = "st,stih407-sas-codec";
			#sound-dai-cells = <1>;
			status = "disabled";
			st,syscfg = <&syscfg_core>;
		};

		sti_uni_player0: sti-uni-player@8d80000 {
			compatible = "st,sti-uni-player";
			#sound-dai-cells = <0>;
			st,syscfg = <&syscfg_core>;
			clocks = <&clk_s_d0_flexgen CLK_PCM_0>;
			assigned-clocks = <&clk_s_d0_quadfs 0>, <&clk_s_d0_flexgen CLK_PCM_0>;
			assigned-clock-parents = <0>, <&clk_s_d0_quadfs 0>;
			assigned-clock-rates = <50000000>;
			reg = <0x8d80000 0x158>;
			interrupts = <GIC_SPI 84 IRQ_TYPE_NONE>;
			dmas = <&fdma0 2 0 1>;
			dai-name = "Uni Player #0 (HDMI)";
			dma-names = "tx";
			st,uniperiph-id = <0>;
			st,version = <5>;
			st,mode = "HDMI";

			status		= "disabled";
		};

		sti_uni_player1: sti-uni-player@8d81000 {
			compatible = "st,sti-uni-player";
			#sound-dai-cells = <0>;
			st,syscfg = <&syscfg_core>;
			clocks = <&clk_s_d0_flexgen CLK_PCM_1>;
			assigned-clocks = <&clk_s_d0_quadfs 1>, <&clk_s_d0_flexgen CLK_PCM_1>;
			assigned-clock-parents = <0>, <&clk_s_d0_quadfs 1>;
			assigned-clock-rates = <50000000>;
			reg = <0x8d81000 0x158>;
			interrupts = <GIC_SPI 85 IRQ_TYPE_NONE>;
			dmas = <&fdma0 3 0 1>;
			dai-name = "Uni Player #1 (PIO)";
			dma-names = "tx";
			st,uniperiph-id = <1>;
			st,version = <5>;
			st,mode = "PCM";

			status = "disabled";
		};

		sti_uni_player2: sti-uni-player@8d82000 {
			compatible = "st,sti-uni-player";
			#sound-dai-cells = <0>;
			st,syscfg = <&syscfg_core>;
			clocks = <&clk_s_d0_flexgen CLK_PCM_2>;
			assigned-clocks = <&clk_s_d0_quadfs 2>, <&clk_s_d0_flexgen CLK_PCM_2>;
			assigned-clock-parents = <0>, <&clk_s_d0_quadfs 2>;
			assigned-clock-rates = <50000000>;
			reg = <0x8d82000 0x158>;
			interrupts = <GIC_SPI 86 IRQ_TYPE_NONE>;
			dmas = <&fdma0 4 0 1>;
			dai-name = "Uni Player #1 (DAC)";
			dma-names = "tx";
			st,uniperiph-id = <2>;
			st,version = <5>;
			st,mode = "PCM";

			status = "disabled";
		};

		sti_uni_player3: sti-uni-player@8d85000 {
			compatible = "st,sti-uni-player";
			#sound-dai-cells = <0>;
			st,syscfg = <&syscfg_core>;
			clocks = <&clk_s_d0_flexgen CLK_SPDIFF>;
			assigned-clocks = <&clk_s_d0_quadfs 3>, <&clk_s_d0_flexgen CLK_SPDIFF>;
			assigned-clock-parents = <0>, <&clk_s_d0_quadfs 3>;
			assigned-clock-rates = <50000000>;
			reg = <0x8d85000 0x158>;
			interrupts = <GIC_SPI 89 IRQ_TYPE_NONE>;
			dmas = <&fdma0 7 0 1>;
			dma-names = "tx";
			dai-name = "Uni Player #1 (PIO)";
			st,uniperiph-id = <3>;
			st,version = <5>;
			st,mode = "SPDIF";

			status = "disabled";
		};

		sti_uni_reader0: sti-uni-reader@8d83000 {
			compatible = "st,sti-uni-reader";
			#sound-dai-cells = <0>;
			st,syscfg = <&syscfg_core>;
			reg = <0x8d83000 0x158>;
			interrupts = <GIC_SPI 87 IRQ_TYPE_NONE>;
			dmas = <&fdma0 5 0 1>;
			dma-names = "rx";
			dai-name = "Uni Reader #0 (PCM IN)";
			st,version = <3>;

			status = "disabled";
		};

		sti_uni_reader1: sti-uni-reader@8d84000 {
			compatible = "st,sti-uni-reader";
			#sound-dai-cells = <0>;
			st,syscfg = <&syscfg_core>;
			reg = <0x8d84000 0x158>;
			interrupts = <GIC_SPI 88 IRQ_TYPE_NONE>;
			dmas = <&fdma0 6 0 1>;
			dma-names = "rx";
			dai-name = "Uni Reader #1 (HDMI RX)";
			st,version = <3>;

			status = "disabled";
		};
	};
};
+58 −0
Original line number Diff line number Diff line
@@ -296,10 +296,12 @@
				pinctrl_pwm1_chan0_default: pwm1-0-default {
					st,pins {
						pwm-out = <&pio3 0 ALT1 OUT>;
						pwm-capturein = <&pio3 2 ALT1 IN>;
					};
				};
				pinctrl_pwm1_chan1_default: pwm1-1-default {
					st,pins {
						pwm-capturein = <&pio4 3 ALT1 IN>;
						pwm-out = <&pio4 4 ALT1 OUT>;
					};
				};
@@ -1044,6 +1046,7 @@
			pwm0 {
				pinctrl_pwm0_chan0_default: pwm0-0-default {
					st,pins {
						pwm-capturein = <&pio31 0 ALT1 IN>;
						pwm-out = <&pio31 1 ALT1 OUT>;
					};
				};
@@ -1081,6 +1084,61 @@
				};
			};

			i2s_out {
				pinctrl_i2s_8ch_out: i2s_8ch_out{
					st,pins {
						mclk = <&pio33 5 ALT1 OUT>;
						lrclk = <&pio33 7 ALT1 OUT>;
						sclk = <&pio33 6 ALT1 OUT>;
						data0 = <&pio33 4 ALT1 OUT>;
						data1 = <&pio34 0 ALT1 OUT>;
						data2 = <&pio34 1 ALT1 OUT>;
						data3 = <&pio34 2 ALT1 OUT>;
					};
				};

				pinctrl_i2s_2ch_out: i2s_2ch_out{
					st,pins {
						mclk = <&pio33 5 ALT1 OUT>;
						lrclk = <&pio33 7 ALT1 OUT>;
						sclk = <&pio33 6 ALT1 OUT>;
						data0 = <&pio33 4 ALT1 OUT>;
					};
				};
			};

			i2s_in {
				pinctrl_i2s_8ch_in: i2s_8ch_in{
					st,pins {
						mclk = <&pio32 5 ALT1 IN>;
						lrclk = <&pio32 7 ALT1 IN>;
						sclk = <&pio32 6 ALT1 IN>;
						data0 = <&pio32 4 ALT1 IN>;
						data1 = <&pio33 0 ALT1 IN>;
						data2 = <&pio33 1 ALT1 IN>;
						data3 = <&pio33 2 ALT1 IN>;
						data4 = <&pio33 3 ALT1 IN>;
					};
				};

				pinctrl_i2s_2ch_in: i2s_2ch_in{
					st,pins {
						mclk = <&pio32 5 ALT1 IN>;
						lrclk = <&pio32 7 ALT1 IN>;
						sclk = <&pio32 6 ALT1 IN>;
						data0 = <&pio32 4 ALT1 IN>;
					};
				};
			};

			spdif_out {
				pinctrl_spdif_out: spdif_out{
					st,pins {
						spdif_out = <&pio34 7 ALT1 OUT>;
					};
				};
			};

			serial3 {
				pinctrl_serial3: serial3-0 {
					st,pins {
+5 −1
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@
	compatible = "st,stih410-b2260", "st,stih410";

	chosen {
		bootargs = "console=ttyAS1,115200";
		bootargs = "console=ttyAS1,115200 clk_ignore_unused";
		linux,stdout-path = &uart1;
	};

@@ -147,6 +147,10 @@
			status = "okay";
		};

		st_dwc3: dwc3@8f94000 {
			status = "okay";
		};

		ethernet0: dwmac@9630000 {
			phy-mode = "rgmii";
			pinctrl-0 = <&pinctrl_rgmii1 &pinctrl_rgmii1_mdio_1>;
+10 −0
Original line number Diff line number Diff line
@@ -228,6 +228,16 @@
			clocks = <&clk_s_c0_flexgen CLK_IC_BDISP_0>;
		};

		hva@8c85000 {
			compatible = "st,st-hva";
			reg = <0x8c85000 0x400>, <0x6000000 0x40000>;
			reg-names = "hva_registers", "hva_esram";
			interrupts = <GIC_SPI 58 IRQ_TYPE_NONE>,
				     <GIC_SPI 59 IRQ_TYPE_NONE>;
			clock-names = "clk_hva";
			clocks = <&clk_s_c0_flexgen CLK_HVA>;
		};

		thermal@91a0000 {
			compatible = "st,stih407-thermal";
			reg = <0x91a0000 0x28>;
+27 −27
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@

			pio0: gpio@fe610000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0 0x100>;
@@ -62,7 +62,7 @@
			};
			pio1: gpio@fe611000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x1000 0x100>;
@@ -70,7 +70,7 @@
			};
			pio2: gpio@fe612000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x2000 0x100>;
@@ -78,7 +78,7 @@
			};
			pio3: gpio@fe613000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x3000 0x100>;
@@ -86,7 +86,7 @@
			};
			pio4: gpio@fe614000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x4000 0x100>;
@@ -208,7 +208,7 @@

			pio5: gpio@fee00000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0 0x100>;
@@ -216,7 +216,7 @@
			};
			pio6: gpio@fee01000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x1000 0x100>;
@@ -224,7 +224,7 @@
			};
			pio7: gpio@fee02000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x2000 0x100>;
@@ -232,7 +232,7 @@
			};
			pio8: gpio@fee03000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x3000 0x100>;
@@ -240,7 +240,7 @@
			};
			pio9: gpio@fee04000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x4000 0x100>;
@@ -248,7 +248,7 @@
			};
			pio10: gpio@fee05000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x5000 0x100>;
@@ -256,7 +256,7 @@
			};
			pio11: gpio@fee06000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x6000 0x100>;
@@ -264,7 +264,7 @@
			};
			pio12: gpio@fee07000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x7000 0x100>;
@@ -303,7 +303,7 @@

			pio13: gpio@fe820000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0 0x100>;
@@ -311,7 +311,7 @@
			};
			pio14: gpio@fe821000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x1000 0x100>;
@@ -319,7 +319,7 @@
			};
			pio15: gpio@fe822000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x2000 0x100>;
@@ -327,7 +327,7 @@
			};
			pio16: gpio@fe823000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x3000 0x100>;
@@ -335,7 +335,7 @@
			};
			pio17: gpio@fe824000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x4000 0x100>;
@@ -343,7 +343,7 @@
			};
			pio18: gpio@fe825000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x5000 0x100>;
@@ -465,7 +465,7 @@

			pio100: gpio@fd6b0000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0 0x100>;
@@ -473,7 +473,7 @@
			};
			pio101: gpio@fd6b1000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x1000 0x100>;
@@ -481,7 +481,7 @@
			};
			pio102: gpio@fd6b2000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x2000 0x100>;
@@ -502,7 +502,7 @@

			pio103: gpio@fd330000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0 0x100>;
@@ -510,7 +510,7 @@
			};
			pio104: gpio@fd331000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x1000 0x100>;
@@ -518,7 +518,7 @@
			};
			pio105: gpio@fd332000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x2000 0x100>;
@@ -526,7 +526,7 @@
			};
			pio106: gpio@fd333000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x3000 0x100>;
@@ -534,7 +534,7 @@
			};
			pio107: gpio@fd334000 {
				gpio-controller;
				#gpio-cells	= <1>;
				#gpio-cells	= <2>;
				interrupt-controller;
				#interrupt-cells = <2>;
				reg		= <0x4000 0x100>;
Loading