Re: [PATCH 4/4] ARM: DTS: AM43x: Add DSS node

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




* Sathya Prakash M R <sathyap@xxxxxx> [131203 00:35]:
> Add device node for DSS module for AM4372. Both the
> AM437x-Gp evm and Am43x-Epos evm use the same LCD panel.
> The lcd timings are added in respective dts files.
> Adds display pinctrl and enables required gpio.
> Also set the right parent clock to the DSS clock.

This seems to depend on Tomi's patches for the bindings, so it seems
like we need to wait on this a bit. I'll untag this for now, please
repost when the dependencies are merged.

Regards,

Tony

 
> Signed-off-by: Sathya Prakash M R <sathyap@xxxxxx>
> ---
>  arch/arm/boot/dts/am4372.dtsi        |   28 ++++++++++++++
>  arch/arm/boot/dts/am437x-gp-evm.dts  |   68 ++++++++++++++++++++++++++++++++++
>  arch/arm/boot/dts/am43x-epos-evm.dts |   64 ++++++++++++++++++++++++++++++++
>  arch/arm/boot/dts/am43xx-clocks.dtsi |    2 +
>  4 files changed, 162 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
> index ea55a4e..b72a7df 100644
> --- a/arch/arm/boot/dts/am4372.dtsi
> +++ b/arch/arm/boot/dts/am4372.dtsi
> @@ -684,6 +684,34 @@
>  			num-cs = <4>;
>                          status = "disabled";
>                  };
> +
> +		dss: dss@4832A000 {
> +			compatible = "ti,omap3-dss", "simple-bus";
> +			reg = <0x4832A000 0x200>;
> +			ti,hwmods = "dss_core";
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			ranges;
> +
> +			dispc@4832A400 {
> +				compatible = "ti,omap3-dispc";
> +				reg = <0x4832A400 0x400>;
> +				interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
> +				ti,hwmods = "dss_dispc";
> +			};
> +
> +			dpi: encoder@0 {
> +				compatible = "ti,omap3-dpi";
> +			};
> +
> +			rfbi: rfbi@4832A800 {
> +				compatible = "ti,omap3-rfbi";
> +			reg = <0x4832A800 0x100>;
> +				ti,hwmods = "dss_rfbi";
> +			};
> +
> +		};
> +
>  	};
>  
>  	clocks {
> diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts b/arch/arm/boot/dts/am437x-gp-evm.dts
> index 2e79bda..e58652c6 100644
> --- a/arch/arm/boot/dts/am437x-gp-evm.dts
> +++ b/arch/arm/boot/dts/am437x-gp-evm.dts
> @@ -24,6 +24,31 @@
>  		brightness-levels = <0 51 53 56 62 75 101 152 255>;
>  		default-brightness-level = <8>;
>  	};
> +
> +	aliases {
> +		display0 = &lcd0;
> +	};
> +
> +	lcd0: display@0 {
> +		compatible = "osddisplays,osd057T0559-34ts", "panel-dpi";
> +		video-source = <&dpi>;
> +		data-lines = <24>;
> +		panel-timing {
> +			clock-frequency = <33000000>;
> +			hactive = <800>;
> +			vactive = <480>;
> +			hfront-porch = <210>;
> +			hback-porch = <16>;
> +			hsync-len = <30>;
> +			vback-porch = <10>;
> +			vfront-porch = <22>;
> +			vsync-len = <13>;
> +			hsync-active = <0>;
> +			vsync-active = <0>;
> +			de-active = <1>;
> +			pixelclk-active = <1>;
> +		};
> +	};
>  };
>  
>  &am43xx_pinmux {
> @@ -46,6 +71,40 @@
>  			0x164 MUX_MODE0       /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
>  		>;
>  	};
> +
> +	dss_pinctrl: dss_pinctrl {
> +		pinctrl-single,pins = <
> +			0x020 (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 8 -> DSS DATA 23 */
> +			0x024 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> +			0x028 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> +			0x02C (PIN_OUTPUT_PULLUP | MUX_MODE1)
> +			0x030 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> +			0x034 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> +			0x038 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> +			0x03C (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 15 -> DSS DATA 16 */
> +			0x0A0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 0 */
> +			0x0A4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0A8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0AC (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0B0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0B4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0B8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0BC (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0C0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0C4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0C8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0CC (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0D0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0D4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0D8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0DC (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 15 */
> +			0x0E0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS VSYNC */
> +			0x0E4 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS HSYNC */
> +			0x0E8 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS PCLK */
> +			0x0EC (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS AC BIAS EN */
> +			0x238 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* GPIO 5_8 to select LCD / HDMI */
> +		>;
> +	};
>  };
>  
>  &i2c0 {
> @@ -69,3 +128,12 @@
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&ecap0_pins>;
>  };
> +
> +&gpio5 {
> +	status = "okay";
> +};
> +
> +&dpi {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&dss_pinctrl>;
> +};
> diff --git a/arch/arm/boot/dts/am43x-epos-evm.dts b/arch/arm/boot/dts/am43x-epos-evm.dts
> index 2ebcde6..20e5415 100644
> --- a/arch/arm/boot/dts/am43x-epos-evm.dts
> +++ b/arch/arm/boot/dts/am43x-epos-evm.dts
> @@ -27,6 +27,31 @@
>  		enable-active-high;
>  	};
>  
> +	aliases {
> +		display0 = &lcd0;
> +	};
> +
> +	lcd0: display@0 {
> +		compatible = "osddisplays,osd057T0559-34ts", "panel-dpi";
> +		video-source = <&dpi>;
> +		data-lines = <24>;
> +		panel-timing {
> +			clock-frequency = <33000000>;
> +			hactive = <800>;
> +			vactive = <480>;
> +			hfront-porch = <210>;
> +			hback-porch = <16>;
> +			hsync-len = <30>;
> +			vback-porch = <10>;
> +			vfront-porch = <22>;
> +			vsync-len = <13>;
> +			hsync-active = <0>;
> +			vsync-active = <0>;
> +			de-active = <1>;
> +			pixelclk-active = <1>;
> +		};
> +	};
> +
>  	am43xx_pinmux: pinmux@44e10800 {
>  		cpsw_default: cpsw_default {
>  			pinctrl-single,pins = <
> @@ -122,6 +147,40 @@
>  				0x19c (PIN_OUTPUT | MUX_MODE3)          /* mcasp0_ahclkr.spi1_cs0 */
>  			>;
>  		};
> +
> +		dss_pinctrl: dss_pinctrl {
> +		pinctrl-single,pins = <
> +			0x020 (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 8 -> DSS DATA 23 */
> +			0x024 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> +			0x028 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> +			0x02C (PIN_OUTPUT_PULLUP | MUX_MODE1)
> +			0x030 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> +			0x034 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> +			0x038 (PIN_OUTPUT_PULLUP | MUX_MODE1)
> +			0x03C (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 15 -> DSS DATA 16 */
> +			0x0A0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 0 */
> +			0x0A4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0A8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0AC (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0B0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0B4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0B8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0BC (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0C0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0C4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0C8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0CC (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0D0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0D4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0D8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
> +			0x0DC (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 15 */
> +			0x0E0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS VSYNC */
> +			0x0E4 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS HSYNC */
> +			0x0E8 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS PCLK */
> +			0x0EC (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS AC BIAS EN */
> +			0x08C (PIN_OUTPUT_PULLUP | MUX_MODE7) /* GPMC CLK -> GPIO 2_1 to select LCD / HDMI */
> +			>;
> +		};
>  	};
>  
>  	matrix_keypad: matrix_keypad@0 {
> @@ -279,3 +338,8 @@
>  	pinctrl-0 = <&spi1_pins>;
>  	status = "okay";
>  };
> +
> +&dpi {
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&dss_pinctrl>;
> +};
> diff --git a/arch/arm/boot/dts/am43xx-clocks.dtsi b/arch/arm/boot/dts/am43xx-clocks.dtsi
> index 85e7d4b..b20e192 100644
> --- a/arch/arm/boot/dts/am43xx-clocks.dtsi
> +++ b/arch/arm/boot/dts/am43xx-clocks.dtsi
> @@ -512,6 +512,8 @@ disp_clk: disp_clk@44df4244 {
>  	compatible = "ti,mux-clock";
>  	clocks = <&dpll_disp_m2_ck>, <&dpll_core_m5_ck>, <&dpll_per_m2_ck>;
>  	reg = <0x44df4244 0x4>;
> +	bit-mask = <0x3>;
> +	set-rate-parent;
>  };
>  
>  dpll_extdev_ck: dpll_extdev_ck@44df2e60 {
> -- 
> 1.7.9.5
> 
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux