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

Commit 8408e650 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'armsoc-versatile-drm-dts' of...

Merge tag 'armsoc-versatile-drm-dts' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/dt

Pull "DTS changes for RealView+Versatile" from Linus Walleij:

This augments the RealView and Versatile device trees to properly
define the VGA and panel connectors in preparation for DRM.

* tag 'armsoc-versatile-drm-dts' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: dts: Augment panel setting for Versatile
  ARM: dts: Add Versatile IB2 device tree
  ARM: dts: Augment VGA connector bridge on Realview PBX
  ARM: dts: Augment VGA connector bridge on Realview EB
  ARM: dts: Augment VGA connector bridge on PB1176
  ARM: dts: Augment VGA connector bridge on PB11MPcore
parents c073f31a e65857a6
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1064,6 +1064,7 @@ dtb-$(CONFIG_ARCH_UNIPHIER) += \
	uniphier-sld8-ref.dtb
dtb-$(CONFIG_ARCH_VERSATILE) += \
	versatile-ab.dtb \
	versatile-ab-ib2.dtb \
	versatile-pb.dtb
dtb-$(CONFIG_ARCH_VEXPRESS) += \
	vexpress-v2p-ca5s.dtb \
+40 −24
Original line number Diff line number Diff line
@@ -143,6 +143,43 @@
		port1-otg;
	};

	bridge {
		compatible = "ti,ths8134a", "ti,ths8134";
		#address-cells = <1>;
		#size-cells = <0>;

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

			port@0 {
				reg = <0>;

				vga_bridge_in: endpoint {
					remote-endpoint = <&clcd_pads>;
				};
			};

			port@1 {
				reg = <1>;

				vga_bridge_out: endpoint {
					remote-endpoint = <&vga_con_in>;
				};
			};
		};
	};

	vga {
		compatible = "vga-connector";

		port {
			vga_con_in: endpoint {
				remote-endpoint = <&vga_bridge_out>;
			};
		};
	};

	/* These peripherals are inside the FPGA */
	fpga {
		#address-cells = <1>;
@@ -409,36 +446,15 @@
			interrupt-names = "combined";
			clocks = <&oscclk0>, <&pclk>;
			clock-names = "clcdclk", "apb_pclk";
			/* 1024x768 16bpp @65MHz works fine */
			max-memory-bandwidth = <95000000>;

			port {
				clcd_pads: endpoint {
					remote-endpoint = <&clcd_panel>;
					remote-endpoint = <&vga_bridge_in>;
					arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
				};
			};

			panel {
				compatible = "panel-dpi";

				port {
					clcd_panel: endpoint {
						remote-endpoint = <&clcd_pads>;
					};
				};

				/* Standard 640x480 VGA timings */
				panel-timing {
					clock-frequency = <25175000>;
					hactive = <640>;
					hback-porch = <48>;
					hfront-porch = <16>;
					hsync-len = <96>;
					vactive = <480>;
					vback-porch = <33>;
					vfront-porch = <10>;
					vsync-len = <2>;
				};
			};
		};
	};
};
+40 −26
Original line number Diff line number Diff line
@@ -161,6 +161,43 @@
		port1-otg;
	};

	bridge {
		compatible = "ti,ths8134a", "ti,ths8134";
		#address-cells = <1>;
		#size-cells = <0>;

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

			port@0 {
				reg = <0>;

				vga_bridge_in: endpoint {
					remote-endpoint = <&clcd_pads>;
				};
			};

			port@1 {
				reg = <1>;

				vga_bridge_out: endpoint {
					remote-endpoint = <&vga_con_in>;
				};
			};
		};
	};

	vga {
		compatible = "vga-connector";

		port {
			vga_con_in: endpoint {
				remote-endpoint = <&vga_bridge_out>;
			};
		};
	};

	soc {
		#address-cells = <1>;
		#size-cells = <1>;
@@ -403,36 +440,15 @@
			interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&oscclk0>, <&pclk>;
			clock-names = "clcdclk", "apb_pclk";
			/* 1024x768 16bpp @65MHz works fine */
			max-memory-bandwidth = <95000000>;

			port {
				clcd_pads: endpoint {
					remote-endpoint = <&clcd_panel>;
					remote-endpoint = <&vga_bridge_in>;
					arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
				};
			};

			panel {
				compatible = "panel-dpi";

				port {
					clcd_panel: endpoint {
						remote-endpoint = <&clcd_pads>;
					};
				};

				/* Standard 640x480 VGA timings */
				panel-timing {
					clock-frequency = <25175000>;
					hactive = <640>;
					hback-porch = <48>;
					hfront-porch = <16>;
					hsync-len = <96>;
					vactive = <480>;
					vback-porch = <33>;
					vfront-porch = <10>;
					vsync-len = <2>;
				};
			};
		};
	};

@@ -564,7 +580,5 @@
			clocks = <&pclk>;
			clock-names = "apb_pclk";
		};


	};
};
+53 −25
Original line number Diff line number Diff line
@@ -242,6 +242,49 @@
		bank-width = <4>;
	};

	bridge {
		compatible = "ti,ths8134a", "ti,ths8134";
		#address-cells = <1>;
		#size-cells = <0>;

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

			port@0 {
				reg = <0>;

				vga_bridge_in: endpoint {
					remote-endpoint = <&clcd_pads>;
				};
			};

			port@1 {
				reg = <1>;

				vga_bridge_out: endpoint {
					remote-endpoint = <&vga_con_in>;
				};
			};
		};
	};

	vga {
		/*
		 * This DDC I2C is connected directly to the DVI portions
		 * of the connector, so it's not really working when the
		 * monitor is connected to the VGA connector.
		 */
		compatible = "vga-connector";
		ddc-i2c-bus = <&i2c1>;

		port {
			vga_con_in: endpoint {
				remote-endpoint = <&vga_bridge_out>;
			};
		};
	};

	soc {
		#address-cells = <1>;
		#size-cells = <1>;
@@ -575,6 +618,13 @@
			clock-names = "apb_pclk";
		};

		i2c1: i2c@10016000 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "arm,versatile-i2c";
			reg = <0x10016000 0x1000>;
		};

		rtc: rtc@10017000 {
			compatible = "arm,pl031", "arm,primecell";
			reg = <0x10017000 0x1000>;
@@ -609,37 +659,15 @@
			interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&oscclk4>, <&pclk>;
			clock-names = "clcdclk", "apb_pclk";
			max-memory-bandwidth = <130000000>; /* 16bpp @ 63.5MHz */
			/* 1024x768 16bpp @65MHz works fine */
			max-memory-bandwidth = <95000000>;

			port {
				clcd_pads: endpoint {
					remote-endpoint = <&clcd_panel>;
					remote-endpoint = <&vga_bridge_in>;
					arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
				};
			};

			panel {
				compatible = "panel-dpi";

				port {
					clcd_panel: endpoint {
						remote-endpoint = <&clcd_pads>;
					};
				};

				/* Standard 640x480 VGA timings */
				panel-timing {
					clock-frequency = <25175000>;
					hactive = <640>;
					hback-porch = <48>;
					hfront-porch = <16>;
					hsync-len = <96>;
					vactive = <480>;
					vback-porch = <33>;
					vfront-porch = <10>;
					vsync-len = <2>;
				};
			};
		};

		/*
+55 −27
Original line number Diff line number Diff line
@@ -34,7 +34,8 @@
		serial1 = &serial1;
		serial2 = &serial2;
		serial3 = &serial3;
		i2c0 = &i2c;
		i2c0 = &i2c0;
		i2c1 = &i2c1;
	};

	memory {
@@ -158,6 +159,49 @@
		port1-otg;
	};

	bridge {
		compatible = "ti,ths8134a", "ti,ths8134";
		#address-cells = <1>;
		#size-cells = <0>;

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

			port@0 {
				reg = <0>;

				vga_bridge_in: endpoint {
					remote-endpoint = <&clcd_pads>;
				};
			};

			port@1 {
				reg = <1>;

				vga_bridge_out: endpoint {
					remote-endpoint = <&vga_con_in>;
				};
			};
		};
	};

	vga {
		/*
		 * This DDC I2C is connected directly to the DVI portions
		 * of the connector, so it's not really working when the
		 * monitor is connected to the VGA connector.
		 */
		compatible = "vga-connector";
		ddc-i2c-bus = <&i2c1>;

		port {
			vga_con_in: endpoint {
				remote-endpoint = <&vga_bridge_out>;
			};
		};
	};

	soc: soc@0 {
		compatible = "arm,realview-pbx-soc", "simple-bus";
		#address-cells = <1>;
@@ -285,7 +329,7 @@
					       <&timclk>;
		};

		i2c: i2c@10002000 {
		i2c0: i2c@10002000 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "arm,versatile-i2c";
@@ -396,7 +440,12 @@
			clock-names = "apb_pclk";
		};

		/* DVI serial bus control is at 10016000 */
		i2c1: i2c@10016000 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "arm,versatile-i2c";
			reg = <0x10016000 0x1000>;
		};

		rtc: rtc@10017000 {
			compatible = "arm,pl031", "arm,primecell";
@@ -506,36 +555,15 @@
			interrupt-names = "combined";
			clocks = <&oscclk4>, <&pclk>;
			clock-names = "clcdclk", "apb_pclk";
			/* 1024x768 16bpp @65MHz works fine */
			max-memory-bandwidth = <95000000>;

			port {
				clcd_pads: endpoint {
					remote-endpoint = <&clcd_panel>;
					remote-endpoint = <&vga_bridge_in>;
					arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
				};
			};

			panel {
				compatible = "panel-dpi";

				port {
					clcd_panel: endpoint {
						remote-endpoint = <&clcd_pads>;
					};
				};

				/* Standard 640x480 VGA timings */
				panel-timing {
					clock-frequency = <25175000>;
					hactive = <640>;
					hback-porch = <48>;
					hfront-porch = <16>;
					hsync-len = <96>;
					vactive = <480>;
					vback-porch = <33>;
					vfront-porch = <10>;
					vsync-len = <2>;
				};
			};
		};
	};
};
Loading