This patch series adds support for DRM FIMD DT for Exynos4 DT Machines, specifically for Exynos4412 SoC.
changes since v10: - addressed comments from Sylwester Nawrocki sylvester.nawrocki@gmail.com
changes since v9: - dropped the patch "ARM: dts: Add lcd pinctrl node entries for EXYNOS4412 SoC" as the gpios in the newly added nodes "lcd_en" and "lcd_sync" in this patch were already PULLed high by existing "lcd_clk" node. - addressed comments from Sylwester Nawrocki sylvester.nawrocki@gmail.com and Thomas Abraham thomas.abraham@linaro.org
changes since v8: - addressed comments to add missing documentation for clock and clock-names properties as pointed out by Sachin Kamat sachin.kamat@linaro.org
changes since v7: - rebased to kgene's "for-next" - Migrated to Common Clock Framework - removed the patch "ARM: dts: Add FIMD AUXDATA node entry for exynos4 DT", as migration to Common Clock Framework will NOT need this. - addressed the comments raised by Sachin Kamat sachin.kamat@linaro.org
changes since v6: - addressed comments and added interrupt-names = "fifo", "vsync", "lcd_sys" in exynos4.dtsi and re-ordered the interrupt numbering to match the order in interrupt combiner IP as suggested by Sylwester Nawrocki sylvester.nawrocki@gmail.com.
changes since v5: - renamed the fimd binding documentation file name as "samsung-fimd.txt", since it not only talks about exynos display controller but also about previous samsung display controllers. - rephrased an abmigious statement about the interrupt combiner in the fimd binding documentation as pointed out by Sachin Kamat sachin.kamat@linaro.org
changes since v4: - moved the fimd binding documentation to Documentation/devicetree/bindings/video/ as suggested by Sylwester Nawrocki sylvester.nawrocki@gmail.com
- added more fimd compatiblity strings in fimd documentation as discussed at https://patchwork.kernel.org/patch/2144861/ with Sylwester Nawrocki sylvester.nawrocki@gmail.com and Tomasz Figa tomasz.figa@gmail.com
- modified compatible string for exynos4 fimd as "exynos4210-fimd" exynos5 fimd as "exynos5250-fimd" to stick to the rule that compatible value should be named after first specific SoC model in which this particular IP version was included as discussed at https://patchwork.kernel.org/patch/2144861/
- documented more about the interrupt combiner and their order as suggested by Sylwester Nawrocki sylvester.nawrocki@gmail.com
changes since v3: - rebased on http://git.kernel.org/?p=linux/kernel/git/kgene/linux-samsung.git%3Ba=shortl...
changes since v2: - added alias to 'fimd@11c00000' node (reported by: Rahul Sharma r.sh.open@gmail.com) - removed 'lcd0_data' node as there was already a similar node lcd_data24 (reported by: Jingoo Han jg1.han@samsung.com - replaced spaces with tabs in display-timing node
changes since v1: - added new patch to add FIMD DT binding Documentation - removed patch enabling SAMSUNG_DEV_BACKLIGHT and SAMSUNG_DEV_PMW for mach-exynos4 DT - added 'status' property to fimd DT node
Is based on branch kgene's "for-next" https://git.kernel.org/cgit/linux/kernel/git/kgene/linux-samsung.git/log/?h=...
Vikas Sajjan (3): ARM: dts: Add FIMD node to exynos4 ARM: dts: Add FIMD node and display timing node to exynos4412-origen.dts ARM: dts: Add FIMD DT binding Documentation
.../devicetree/bindings/video/samsung-fimd.txt | 65 ++++++++++++++++++++ arch/arm/boot/dts/exynos4.dtsi | 12 ++++ arch/arm/boot/dts/exynos4412-origen.dts | 21 +++++++ 3 files changed, 98 insertions(+) create mode 100644 Documentation/devicetree/bindings/video/samsung-fimd.txt
This patch adds a common FIMD device node for all Exynos4 SoCs.
Signed-off-by: Vikas Sajjan vikas.sajjan@linaro.org Reviewed-by: Sylwester Nawrocki s.nawrocki@samsung.com --- arch/arm/boot/dts/exynos4.dtsi | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index 800ff11..b8771c5 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi @@ -371,4 +371,16 @@ #dma-requests = <1>; }; }; + + fimd: fimd@11c00000 { + compatible = "samsung,exynos4210-fimd"; + interrupt-parent = <&combiner>; + reg = <0x11c00000 0x20000>; + interrupt-names = "fifo", "vsync", "lcd_sys"; + interrupts = <11 0>, <11 1>, <11 2>; + clocks = <&clock 140>, <&clock 283>; + clock-names = "sclk_fimd", "fimd"; + samsung,power-domain = <&pd_lcd0>; + status = "disabled"; + }; };
This patch adds FIMD related nodes for the Origen Quad board.
Signed-off-by: Vikas Sajjan vikas.sajjan@linaro.org Reviewed-by: Sylwester Nawrocki s.nawrocki@samsung.com --- arch/arm/boot/dts/exynos4412-origen.dts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)
diff --git a/arch/arm/boot/dts/exynos4412-origen.dts b/arch/arm/boot/dts/exynos4412-origen.dts index a5478bd..b39bffc 100644 --- a/arch/arm/boot/dts/exynos4412-origen.dts +++ b/arch/arm/boot/dts/exynos4412-origen.dts @@ -70,6 +70,27 @@ status = "okay"; };
+ fimd@11c00000 { + pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>; + pinctrl-names = "default"; + status = "okay"; + }; + + display-timings { + native-mode = <&timing0>; + timing0: timing { + clock-frequency = <50000>; + hactive = <1024>; + vactive = <600>; + hfront-porch = <64>; + hback-porch = <16>; + hsync-len = <48>; + vback-porch = <64>; + vfront-porch = <16>; + vsync-len = <3>; + }; + }; + serial@13800000 { status = "okay"; };
Add DT binding documentation for the FIMD IP block found in Samsung SoCs.
Signed-off-by: Vikas Sajjan vikas.sajjan@linaro.org Reviewed-by: Sylwester Nawrocki s.nawrocki@samsung.com --- .../devicetree/bindings/video/samsung-fimd.txt | 65 ++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 Documentation/devicetree/bindings/video/samsung-fimd.txt
diff --git a/Documentation/devicetree/bindings/video/samsung-fimd.txt b/Documentation/devicetree/bindings/video/samsung-fimd.txt new file mode 100644 index 0000000..1984dbb --- /dev/null +++ b/Documentation/devicetree/bindings/video/samsung-fimd.txt @@ -0,0 +1,65 @@ +Device-Tree bindings for Samsung SoC display controller (FIMD) + +FIMD (Fully Interactive Mobile Display) is the Display Controller for the +Samsung series of SoCs which transfers the image data from a video memory +buffer to an external LCD interface. + +Required properties: +- compatible: value should be one of the following + "samsung,s3c2443-fimd"; /* for S3C24XX SoCs */ + "samsung,s3c6400-fimd"; /* for S3C64XX SoCs */ + "samsung,s5p6440-fimd"; /* for S5P64X0 SoCs */ + "samsung,s5pc100-fimd"; /* for S5PC100 SoC */ + "samsung,s5pv210-fimd"; /* for S5PV210 SoC */ + "samsung,exynos4210-fimd"; /* for Exynos4 SoCs */ + "samsung,exynos5250-fimd"; /* for Exynos5 SoCs */ + +- reg: physical base address and length of the FIMD registers set. + +- interrupt-parent: should be the phandle of the fimd controller's + parent interrupt controller. + +- interrupts: should contain a list of all FIMD IP block interrupts in the + order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier + format depends on the interrupt controller used. + +- interrupt-names: should contain the interrupt names: "fifo", "vsync", + "lcd_sys", in the same order as they were listed in the interrupts + property. + +- pinctrl-0: pin control group to be used for this controller. + +- pinctrl-names: must contain a "default" entry. + +- clocks: must include clock specifiers corresponding to entries in the + clock-names property. + +- clock-names: list of clock names sorted in the same order as the clocks + property. Must contain "sclk_fimd" and "fimd". + +Optional Properties: +- samsung,power-domain: a phandle to FIMD power domain node. + +Example: + +SoC specific DT entry: + + fimd@11c00000 { + compatible = "samsung,exynos4210-fimd"; + interrupt-parent = <&combiner>; + reg = <0x11c00000 0x20000>; + interrupt-names = "fifo", "vsync", "lcd_sys"; + interrupts = <11 0>, <11 1>, <11 2>; + clocks = <&clock 140>, <&clock 283>; + clock-names = "sclk_fimd", "fimd"; + samsung,power-domain = <&pd_lcd0>; + status = "disabled"; + }; + +Board specific DT entry: + + fimd@11c00000 { + pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>; + pinctrl-names = "default"; + status = "okay"; + };
Vikas Sajjan wrote:
This patch series adds support for DRM FIMD DT for Exynos4 DT Machines, specifically for Exynos4412 SoC.
changes since v10:
- addressed comments from Sylwester Nawrocki
changes since v9:
- dropped the patch "ARM: dts: Add lcd pinctrl node entries for
EXYNOS4412 SoC" as the gpios in the newly added nodes "lcd_en" and "lcd_sync" in this patch were already PULLed high by existing "lcd_clk" node.
- addressed comments from Sylwester Nawrocki
sylvester.nawrocki@gmail.com and Thomas Abraham thomas.abraham@linaro.org
changes since v8:
- addressed comments to add missing documentation for clock and
clock-names properties as pointed out by Sachin Kamat sachin.kamat@linaro.org
changes since v7:
- rebased to kgene's "for-next"
- Migrated to Common Clock Framework
- removed the patch "ARM: dts: Add FIMD AUXDATA node entry for
exynos4 DT", as migration to Common Clock Framework will NOT need this.
- addressed the comments raised by Sachin Kamat
changes since v6:
- addressed comments and added interrupt-names = "fifo", "vsync",
"lcd_sys" in exynos4.dtsi and re-ordered the interrupt numbering to match the order in interrupt combiner IP as suggested by Sylwester Nawrocki sylvester.nawrocki@gmail.com.
changes since v5:
- renamed the fimd binding documentation file name as "samsung-
fimd.txt", since it not only talks about exynos display controller but also about previous samsung display controllers.
- rephrased an abmigious statement about the interrupt combiner in
the fimd binding documentation as pointed out by Sachin Kamat sachin.kamat@linaro.org
changes since v4:
- moved the fimd binding documentation to
Documentation/devicetree/bindings/video/ as suggested by Sylwester Nawrocki sylvester.nawrocki@gmail.com
- added more fimd compatiblity strings in fimd documentation as
discussed at https://patchwork.kernel.org/patch/2144861/ with Sylwester Nawrocki sylvester.nawrocki@gmail.com and Tomasz Figa tomasz.figa@gmail.com
- modified compatible string for exynos4 fimd as "exynos4210-fimd"
exynos5 fimd as "exynos5250-fimd" to stick to the rule that compatible value should be named after first specific SoC model in which this particular IP version was included as discussed at https://patchwork.kernel.org/patch/2144861/
- documented more about the interrupt combiner and their order as
suggested by Sylwester Nawrocki sylvester.nawrocki@gmail.com
changes since v3:
- rebased on
http://git.kernel.org/?p=linux/kernel/git/kgene/linux- samsung.git;a=shortlog;h=refs/heads/for-next-next
changes since v2:
- added alias to 'fimd@11c00000' node (reported by: Rahul Sharma r.sh.open@gmail.com)
- removed 'lcd0_data' node as there was already a similar node
lcd_data24 (reported by: Jingoo Han jg1.han@samsung.com
- replaced spaces with tabs in display-timing node
changes since v1:
- added new patch to add FIMD DT binding Documentation
- removed patch enabling SAMSUNG_DEV_BACKLIGHT and SAMSUNG_DEV_PMW
for mach-exynos4 DT
- added 'status' property to fimd DT node
Is based on branch kgene's "for-next" https://git.kernel.org/cgit/linux/kernel/git/kgene/linux- samsung.git/log/?h=for-next
Vikas Sajjan (3): ARM: dts: Add FIMD node to exynos4 ARM: dts: Add FIMD node and display timing node to exynos4412-origen.dts ARM: dts: Add FIMD DT binding Documentation
.../devicetree/bindings/video/samsung-fimd.txt | 65 ++++++++++++++++++++ arch/arm/boot/dts/exynos4.dtsi | 12 ++++ arch/arm/boot/dts/exynos4412-origen.dts | 21 +++++++ 3 files changed, 98 insertions(+) create mode 100644 Documentation/devicetree/bindings/video/samsung- fimd.txt
-- 1.7.9.5
Looks good to me, applied.
Thanks.
- Kukjin
linaro-kernel@lists.linaro.org