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

Commit 9d8a71ff authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'ux500-v4.2-dt' of...

Merge tag 'ux500-v4.2-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/dt

Merge "Ux500 Device Tree changes for the v4.2 series" form Linus Walleij:

Define CPU topology, connect that with CoreSight blocks,
add sensor information to DT boards.

* tag 'ux500-v4.2-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  ARM: ux500: add the sensors to the STUIB board
  ARM: ux500: assign the sensor trigger IRQs
  ARM: ux500: fix lsm303dlh magnetometer compat string
  ARM: ux500: add CoreSight blocks to DTS file
  ARM: ux500: define CPU topology
parents 58d2bc7b df44ad87
Loading
Loading
Loading
Loading
+154 −0
Original line number Diff line number Diff line
@@ -22,6 +22,160 @@
		interrupt-parent = <&intc>;
		ranges;

		cpus {
			#address-cells = <1>;
			#size-cells = <0>;

			cpu-map {
				cluster0 {
					core0 {
						cpu = <&CPU0>;
					};
					core1 {
						cpu = <&CPU1>;
					};
				};
			};
			CPU0: cpu@0 {
				device_type = "cpu";
				compatible = "arm,cortex-a9";
				reg = <0>;
			};
			CPU1: cpu@1 {
				device_type = "cpu";
				compatible = "arm,cortex-a9";
				reg = <1>;
			};
		};

		ptm@801ae000 {
			compatible = "arm,coresight-etm3x", "arm,primecell";
			reg = <0x801ae000 0x1000>;

			clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
			clock-names = "apb_pclk", "atclk";
			cpu = <&CPU0>;
			port {
				ptm0_out_port: endpoint {
					remote-endpoint = <&funnel_in_port0>;
				};
			};
		};

		ptm@801af000 {
			compatible = "arm,coresight-etm3x", "arm,primecell";
			reg = <0x801af000 0x1000>;

			clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
			clock-names = "apb_pclk", "atclk";
			cpu = <&CPU1>;
			port {
				ptm1_out_port: endpoint {
					remote-endpoint = <&funnel_in_port1>;
				};
			};
		};

		funnel@801a6000 {
			compatible = "arm,coresight-funnel", "arm,primecell";
			reg = <0x801a6000 0x1000>;

			clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
			clock-names = "apb_pclk", "atclk";
			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				/* funnel output ports */
				port@0 {
					reg = <0>;
					funnel_out_port: endpoint {
						remote-endpoint =
							<&replicator_in_port0>;
					};
				};

				/* funnel input ports */
				port@1 {
					reg = <0>;
					funnel_in_port0: endpoint {
						slave-mode;
						remote-endpoint = <&ptm0_out_port>;
					};
				};

				port@2 {
					reg = <1>;
					funnel_in_port1: endpoint {
						slave-mode;
						remote-endpoint = <&ptm1_out_port>;
					};
				};
			};
		};

		replicator {
			compatible = "arm,coresight-replicator";
			clocks = <&prcmu_clk PRCMU_APEATCLK>;
			clock-names = "atclk";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				/* replicator output ports */
				port@0 {
					reg = <0>;
					replicator_out_port0: endpoint {
						remote-endpoint = <&tpiu_in_port>;
					};
				};
				port@1 {
					reg = <1>;
					replicator_out_port1: endpoint {
						remote-endpoint = <&etb_in_port>;
					};
				};

				/* replicator input port */
				port@2 {
					reg = <0>;
					replicator_in_port0: endpoint {
						slave-mode;
						remote-endpoint = <&funnel_out_port>;
					};
				};
			};
		};

		tpiu@80190000 {
			compatible = "arm,coresight-tpiu", "arm,primecell";
			reg = <0x80190000 0x1000>;

			clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
			clock-names = "apb_pclk", "atclk";
			port {
				tpiu_in_port: endpoint {
					slave-mode;
					remote-endpoint = <&replicator_out_port0>;
				};
			};
		};

		etb@801a4000 {
			compatible = "arm,coresight-etb10", "arm,primecell";
			reg = <0x801a4000 0x1000>;

			clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
			clock-names = "apb_pclk", "atclk";
			port {
				etb_in_port: endpoint {
					slave-mode;
					remote-endpoint = <&replicator_out_port1>;
				};
			};
		};

		intc: interrupt-controller@a0411000 {
			compatible = "arm,cortex-a9-gic";
			#interrupt-cells = <3>;
+50 −0
Original line number Diff line number Diff line
@@ -77,6 +77,34 @@
			};
		};

		/* Sensors mounted on this board variant */
		i2c@80128000 {
			lis331dl@1c {
				/* Accelerometer */
				compatible = "st,lis331dl-accel";
				st,drdy-int-pin = <1>;
				reg = <0x1c>;
				vdd-supply = <&ab8500_ldo_aux1_reg>;
				vddio-supply = <&db8500_vsmps2_reg>;
				pinctrl-names = "default";
				pinctrl-0 = <&accel_stuib_mode>;
				interrupt-parent = <&gpio2>;
				interrupts = <18 IRQ_TYPE_EDGE_RISING>,
					     <19 IRQ_TYPE_EDGE_RISING>;
			};
			ak8974@0f {
				/* Magnetometer */
				compatible = "asahi-kasei,ak8974";
				reg = <0x0f>;
				vdd-supply = <&ab8500_ldo_aux1_reg>;
				vddio-supply = <&db8500_vsmps2_reg>;
				pinctrl-names = "default";
				pinctrl-0 = <&magneto_stuib_mode>;
				interrupt-parent = <&gpio1>;
				interrupts = <0 IRQ_TYPE_EDGE_RISING>;
			};
		};

		i2c@80110000 {
			bu21013_tp@5c {
				compatible = "rohm,bu21013_tp";
@@ -116,6 +144,28 @@
					};
				};
			};
			accelerometer {
				accel_stuib_mode: accel_stuib {
					/* Accelerometer interrupt lines 1 & 2 */
					stuib_cfg {
						pins = "GPIO82_C1", "GPIO83_D3";
						ste,config = <&gpio_in_pu>;
					};
				};
			};
			magnetometer {
				magneto_stuib_mode: magneto_stuib {
					/* Magnetometer uses GPIO 31 and 32, pull these up/down respectively */
					stuib_cfg1 {
						pins = "GPIO31_V3";
						ste,config = <&gpio_in_pu>;
					};
					stuib_cfg2 {
						pins = "GPIO32_V2";
						ste,config = <&gpio_in_pd>;
					};
				};
			};
		};
	};
};
+5 −2
Original line number Diff line number Diff line
@@ -99,10 +99,13 @@
				vddio-supply = <&db8500_vsmps2_reg>;
				pinctrl-names = "default";
				pinctrl-0 = <&accel_tvk_mode>;
				interrupt-parent = <&gpio2>;
				interrupts = <18 IRQ_TYPE_EDGE_RISING>,
					     <19 IRQ_TYPE_EDGE_RISING>;
			};
			lsm303dlm@1e {
			lsm303dlh@1e {
				/* Magnetometer */
				compatible = "st,lsm303dlm-magn";
				compatible = "st,lsm303dlh-magn";
				reg = <0x1e>;
				vdd-supply = <&ab8500_ldo_aux1_reg>;
				vddio-supply = <&db8500_vsmps2_reg>;
+21 −2
Original line number Diff line number Diff line
@@ -262,15 +262,19 @@
				vddio-supply = <&db8500_vsmps2_reg>;
				pinctrl-names = "default";
				pinctrl-0 = <&accel_snowball_mode>;
				interrupt-parent = <&gpio5>;
				interrupts = <3 IRQ_TYPE_EDGE_RISING>, /* INT1 */
					     <4 IRQ_TYPE_EDGE_RISING>; /* INT2 */
			};
			lsm303dlm@1e {
			lsm303dlh@1e {
				/* Magnetometer */
				compatible = "st,lsm303dlm-magn";
				compatible = "st,lsm303dlh-magn";
				reg = <0x1e>;
				vdd-supply = <&ab8500_ldo_aux1_reg>;
				vddio-supply = <&db8500_vsmps2_reg>;
				pinctrl-names = "default";
				pinctrl-0 = <&magneto_snowball_mode>;
				gpios = <&gpio5 5 0x4>; /* DRDY line */
			};
			l3g4200d@68 {
				/* Gyroscope */
@@ -279,6 +283,11 @@
				reg = <0x68>;
				vdd-supply = <&ab8500_ldo_aux1_reg>;
				vddio-supply = <&db8500_vsmps2_reg>;
				pinctrl-names = "default";
				pinctrl-0 = <&gyro_snowball_mode>;
				gpios = <&gpio5 6 0x4>; /* DRDY line */
				interrupt-parent = <&gpio5>;
				interrupts = <9 IRQ_TYPE_EDGE_RISING>; /* INT1 */
			};
			lsp001wm@5c {
				/* Barometer/pressure sensor */
@@ -489,6 +498,16 @@
					};
				};
			};
			gyro {
				gyro_snowball_mode: gyro_snowball {
					snowball_cfg1 {
						pins =
						"GPIO166_A22", /* DRDY */
						"GPIO169_D22"; /* INT */
						ste,config = <&gpio_in_pu>;
					};
				};
			};
			magnetometer {
				magneto_snowball_mode: magneto_snowball {
					snowball_cfg1 {