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

Commit c0d2792b authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'atmel-hlcdc-drm-3.20' of https://github.com/bbrezillon/linux-at91 into drm-next

Add atmel HLCDC driver.

* tag 'atmel-hlcdc-drm-3.20' of https://github.com/bbrezillon/linux-at91:
  drm: add DT bindings documentation for atmel-hlcdc-dc driver
  drm: add Atmel HLCDC Display Controller support
  drm: panel: simple-panel: add bus format information for foxlink panel
  drm: panel: simple-panel: add support for bus_format retrieval
  drm: add bus_formats and num_bus_formats fields to drm_display_info
parents ca1130de 5b7e944e
Loading
Loading
Loading
Loading
+53 −0
Original line number Diff line number Diff line
Device-Tree bindings for Atmel's HLCDC (High LCD Controller) DRM driver

The Atmel HLCDC Display Controller is subdevice of the HLCDC MFD device.
See ../mfd/atmel-hlcdc.txt for more details.

Required properties:
 - compatible: value should be "atmel,hlcdc-display-controller"
 - pinctrl-names: the pin control state names. Should contain "default".
 - pinctrl-0: should contain the default pinctrl states.
 - #address-cells: should be set to 1.
 - #size-cells: should be set to 0.

Required children nodes:
 Children nodes are encoding available output ports and their connections
 to external devices using the OF graph reprensentation (see ../graph.txt).
 At least one port node is required.

Example:

	hlcdc: hlcdc@f0030000 {
		compatible = "atmel,sama5d3-hlcdc";
		reg = <0xf0030000 0x2000>;
		interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
		clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
		clock-names = "periph_clk","sys_clk", "slow_clk";
		status = "disabled";

		hlcdc-display-controller {
			compatible = "atmel,hlcdc-display-controller";
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>;
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				#address-cells = <1>;
				#size-cells = <0>;
				reg = <0>;

				hlcdc_panel_output: endpoint@0 {
					reg = <0>;
					remote-endpoint = <&panel_input>;
				};
			};
		};

		hlcdc_pwm: hlcdc-pwm {
			compatible = "atmel,hlcdc-pwm";
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_lcd_pwm>;
			#pwm-cells = <3>;
		};
	};
+2 −0
Original line number Diff line number Diff line
@@ -183,6 +183,8 @@ source "drivers/gpu/drm/cirrus/Kconfig"

source "drivers/gpu/drm/armada/Kconfig"

source "drivers/gpu/drm/atmel-hlcdc/Kconfig"

source "drivers/gpu/drm/rcar-du/Kconfig"

source "drivers/gpu/drm/shmobile/Kconfig"
+1 −0
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ obj-$(CONFIG_DRM_GMA500) += gma500/
obj-$(CONFIG_DRM_UDL) += udl/
obj-$(CONFIG_DRM_AST) += ast/
obj-$(CONFIG_DRM_ARMADA) += armada/
obj-$(CONFIG_DRM_ATMEL_HLCDC)	+= atmel-hlcdc/
obj-$(CONFIG_DRM_RCAR_DU) += rcar-du/
obj-$(CONFIG_DRM_SHMOBILE) +=shmobile/
obj-$(CONFIG_DRM_OMAP)	+= omapdrm/
+11 −0
Original line number Diff line number Diff line
config DRM_ATMEL_HLCDC
	tristate "DRM Support for ATMEL HLCDC Display Controller"
	depends on DRM && OF && COMMON_CLK && MFD_ATMEL_HLCDC
	select DRM_GEM_CMA_HELPER
	select DRM_KMS_HELPER
	select DRM_KMS_FB_HELPER
	select DRM_KMS_CMA_HELPER
	select DRM_PANEL
	help
	  Choose this option if you have an ATMEL SoC with an HLCDC display
	  controller (i.e. at91sam9n12, at91sam9x5 family or sama5d3 family).
+7 −0
Original line number Diff line number Diff line
atmel-hlcdc-dc-y := atmel_hlcdc_crtc.o \
		atmel_hlcdc_dc.o \
		atmel_hlcdc_layer.o \
		atmel_hlcdc_output.o \
		atmel_hlcdc_plane.o

obj-$(CONFIG_DRM_ATMEL_HLCDC)	+= atmel-hlcdc-dc.o
Loading