* [PATCH v4 0/5] Add DRM FIMD DT support for Exynos4 DT Machines @ 2013-02-15 7:09 Vikas Sajjan 2013-02-15 7:09 ` [PATCH v4 1/5] ARM: dts: Add FIMD node to exynos4 Vikas Sajjan ` (4 more replies) 0 siblings, 5 replies; 17+ messages in thread From: Vikas Sajjan @ 2013-02-15 7:09 UTC (permalink / raw) To: linux-samsung-soc; +Cc: kgene.kim, sachin.kamat, patches This patch series adds support for DRM FIMD DT for Exynos4 DT Machines, specifically for Exynos4412 SoC. 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 "for-next-next" http://git.kernel.org/?p=linux/kernel/git/kgene/linux-samsung.git;a=shortlog;h=refs/heads/for-next-next Sachin Kamat (1): ARM: dts: Add lcd pinctrl node entries for EXYNOS4412 SoC Vikas Sajjan (4): ARM: dts: Add FIMD node to exynos4 ARM: dts: Add FIMD node and display timing node to exynos4412-origen.dts ARM: dts: add FIMD AUXDATA node entry for exynos4 DT ARM: exynos: dts: Add FIMD DT binding Documentation .../devicetree/bindings/drm/exynos/fimd.txt | 37 ++++++++++++++++++++ arch/arm/boot/dts/exynos4.dtsi | 7 ++++ arch/arm/boot/dts/exynos4412-origen.dts | 22 ++++++++++++ arch/arm/boot/dts/exynos4x12-pinctrl.dtsi | 14 ++++++++ arch/arm/mach-exynos/mach-exynos4-dt.c | 2 ++ 5 files changed, 82 insertions(+) create mode 100644 Documentation/devicetree/bindings/drm/exynos/fimd.txt -- 1.7.9.5 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v4 1/5] ARM: dts: Add FIMD node to exynos4 2013-02-15 7:09 [PATCH v4 0/5] Add DRM FIMD DT support for Exynos4 DT Machines Vikas Sajjan @ 2013-02-15 7:09 ` Vikas Sajjan 2013-02-15 7:09 ` [PATCH v4 2/5] ARM: dts: Add lcd pinctrl node entries for EXYNOS4412 SoC Vikas Sajjan ` (3 subsequent siblings) 4 siblings, 0 replies; 17+ messages in thread From: Vikas Sajjan @ 2013-02-15 7:09 UTC (permalink / raw) To: linux-samsung-soc; +Cc: kgene.kim, sachin.kamat, patches This adds common FIMD device node for all Exynos4 SoCs. Signed-off-by: Vikas Sajjan <vikas.sajjan@linaro.org> --- arch/arm/boot/dts/exynos4.dtsi | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index 6581bb2..d73b9ee 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi @@ -297,4 +297,11 @@ interrupts = <0 34 0>; }; }; + + fimd: fimd@11c00000 { + compatible = "samsung,exynos4-fimd"; + interrupt-parent = <&combiner>; + reg = <0x11c00000 0x20000>; + interrupts = <11 1>, <11 0>, <11 2>; + }; }; -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v4 2/5] ARM: dts: Add lcd pinctrl node entries for EXYNOS4412 SoC 2013-02-15 7:09 [PATCH v4 0/5] Add DRM FIMD DT support for Exynos4 DT Machines Vikas Sajjan 2013-02-15 7:09 ` [PATCH v4 1/5] ARM: dts: Add FIMD node to exynos4 Vikas Sajjan @ 2013-02-15 7:09 ` Vikas Sajjan 2013-02-15 7:09 ` [PATCH v4 3/5] ARM: dts: Add FIMD node and display timing node to exynos4412-origen.dts Vikas Sajjan ` (2 subsequent siblings) 4 siblings, 0 replies; 17+ messages in thread From: Vikas Sajjan @ 2013-02-15 7:09 UTC (permalink / raw) To: linux-samsung-soc; +Cc: kgene.kim, sachin.kamat, patches From: Sachin Kamat <sachin.kamat@linaro.org> This patch adds the lcd panel related picntrl nodes for Exynos4412 SoC Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Vikas Sajjan <vikas.sajjan@linaro.org> --- arch/arm/boot/dts/exynos4x12-pinctrl.dtsi | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/arch/arm/boot/dts/exynos4x12-pinctrl.dtsi b/arch/arm/boot/dts/exynos4x12-pinctrl.dtsi index 099cec7..a59d69c 100644 --- a/arch/arm/boot/dts/exynos4x12-pinctrl.dtsi +++ b/arch/arm/boot/dts/exynos4x12-pinctrl.dtsi @@ -354,6 +354,20 @@ samsung,pin-drv = <0>; }; + lcd_sync: lcd-sync { + samsung,pins = "gpf0-0", "gpf0-1"; + samsung,pin-function = <2>; + samsung,pin-pud = <0>; + samsung,pin-drv = <0>; + }; + + lcd_en: lcd-en { + samsung,pins = "gpf0-3"; + samsung,pin-function = <2>; + samsung,pin-pud = <0>; + samsung,pin-drv = <0>; + }; + lcd_clk: lcd-clk { samsung,pins = "gpf0-0", "gpf0-1", "gpf0-2", "gpf0-3"; samsung,pin-function = <2>; -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v4 3/5] ARM: dts: Add FIMD node and display timing node to exynos4412-origen.dts 2013-02-15 7:09 [PATCH v4 0/5] Add DRM FIMD DT support for Exynos4 DT Machines Vikas Sajjan 2013-02-15 7:09 ` [PATCH v4 1/5] ARM: dts: Add FIMD node to exynos4 Vikas Sajjan 2013-02-15 7:09 ` [PATCH v4 2/5] ARM: dts: Add lcd pinctrl node entries for EXYNOS4412 SoC Vikas Sajjan @ 2013-02-15 7:09 ` Vikas Sajjan 2013-02-15 7:09 ` [PATCH v4 4/5] ARM: dts: add FIMD AUXDATA node entry for exynos4 DT Vikas Sajjan 2013-02-15 7:10 ` [PATCH v4 5/5] ARM: exynos: dts: Add FIMD DT binding Documentation Vikas Sajjan 4 siblings, 0 replies; 17+ messages in thread From: Vikas Sajjan @ 2013-02-15 7:09 UTC (permalink / raw) To: linux-samsung-soc; +Cc: kgene.kim, sachin.kamat, patches Adds FIMD DT support to Origen quad board Signed-off-by: Vikas Sajjan <vikas.sajjan@linaro.org> --- arch/arm/boot/dts/exynos4412-origen.dts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/arch/arm/boot/dts/exynos4412-origen.dts b/arch/arm/boot/dts/exynos4412-origen.dts index 31e14c4..a6fd41f 100644 --- a/arch/arm/boot/dts/exynos4412-origen.dts +++ b/arch/arm/boot/dts/exynos4412-origen.dts @@ -70,6 +70,28 @@ status = "okay"; }; + fimd@11c00000 { + samsung,power-domain = <&pd_lcd0>; + pinctrl-0 = <&lcd_sync &lcd_clk &lcd_en &lcd_data24 &pwm1_out>; + pinctrl-names = "default"; + status = "okay"; + }; + + display-timings { + native-mode = <&timing0>; + timing0: timing@0 { + 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"; }; -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v4 4/5] ARM: dts: add FIMD AUXDATA node entry for exynos4 DT 2013-02-15 7:09 [PATCH v4 0/5] Add DRM FIMD DT support for Exynos4 DT Machines Vikas Sajjan ` (2 preceding siblings ...) 2013-02-15 7:09 ` [PATCH v4 3/5] ARM: dts: Add FIMD node and display timing node to exynos4412-origen.dts Vikas Sajjan @ 2013-02-15 7:09 ` Vikas Sajjan 2013-02-15 7:10 ` [PATCH v4 5/5] ARM: exynos: dts: Add FIMD DT binding Documentation Vikas Sajjan 4 siblings, 0 replies; 17+ messages in thread From: Vikas Sajjan @ 2013-02-15 7:09 UTC (permalink / raw) To: linux-samsung-soc; +Cc: kgene.kim, sachin.kamat, patches Adds the FIMD AUXDATA node Signed-off-by: Vikas Sajjan <vikas.sajjan@linaro.org> --- arch/arm/mach-exynos/mach-exynos4-dt.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/mach-exynos/mach-exynos4-dt.c b/arch/arm/mach-exynos/mach-exynos4-dt.c index b68115a..779f151 100644 --- a/arch/arm/mach-exynos/mach-exynos4-dt.c +++ b/arch/arm/mach-exynos/mach-exynos4-dt.c @@ -84,6 +84,8 @@ static const struct of_dev_auxdata exynos4_auxdata_lookup[] __initconst = { OF_DEV_AUXDATA("samsung,exynos4210-tmu", EXYNOS4_PA_TMU, "exynos-tmu", NULL), OF_DEV_AUXDATA("samsung,mfc-v5", 0x13400000, "s5p-mfc", NULL), + OF_DEV_AUXDATA("samsung,exynos4-fimd", EXYNOS4_PA_FIMD0, + "exynos4-fb.0", NULL), {}, }; -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v4 5/5] ARM: exynos: dts: Add FIMD DT binding Documentation 2013-02-15 7:09 [PATCH v4 0/5] Add DRM FIMD DT support for Exynos4 DT Machines Vikas Sajjan ` (3 preceding siblings ...) 2013-02-15 7:09 ` [PATCH v4 4/5] ARM: dts: add FIMD AUXDATA node entry for exynos4 DT Vikas Sajjan @ 2013-02-15 7:10 ` Vikas Sajjan 2013-02-15 10:38 ` Sylwester Nawrocki 4 siblings, 1 reply; 17+ messages in thread From: Vikas Sajjan @ 2013-02-15 7:10 UTC (permalink / raw) To: linux-samsung-soc; +Cc: kgene.kim, sachin.kamat, patches Adds FIMD DT binding documentation both SoC and Board, with an example Signed-off-by: Vikas Sajjan <vikas.sajjan@linaro.org> --- .../devicetree/bindings/drm/exynos/fimd.txt | 37 ++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 Documentation/devicetree/bindings/drm/exynos/fimd.txt diff --git a/Documentation/devicetree/bindings/drm/exynos/fimd.txt b/Documentation/devicetree/bindings/drm/exynos/fimd.txt new file mode 100644 index 0000000..bec9d07 --- /dev/null +++ b/Documentation/devicetree/bindings/drm/exynos/fimd.txt @@ -0,0 +1,37 @@ +Device-Tree bindings for fimd driver + +FIMD stands for Fully Interactive Mobile Display, is the Display Controller for +the Exynos series of SoCs which transfers the image data from a video buffer +located in the system memory to an external LCD interface. + +Required properties: +- compatible := value should be "samsung,exynos5-fimd" or "samsung,exynos4-fimd" +- reg := physical base address of the fimd and length of memory mapped region +- interrupt-parent := reference to the interrupt combiner node with phandle +- interrupts := interrupt number from the combiner to the cpu +- pinctrl := property defining the pinctrl configurations with a phandle +- pinctrl-names := name of the pinctrl + +Optional Properties: +- samsung,power-domain := power domain property defined with a phandle +- status := property defining the status of the node + +Example: + +SoC specific DT Entry: + + fimd@11c00000 { + compatible = "samsung,exynos4-fimd"; + interrupt-parent = <&combiner>; + reg = <0x11c00000 0x20000>; + interrupts = <11 1>, <11 0>, <11 2>; + }; + +Board specific DT Entry: + + fimd@11c00000 { + samsung,power-domain = <&pd_lcd0>; + pinctrl-0 = <&lcd_sync &lcd_clk &lcd_en &lcd0_data &pwm1_out>; + pinctrl-names = "default"; + status = "okay"; + }; -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v4 5/5] ARM: exynos: dts: Add FIMD DT binding Documentation 2013-02-15 7:10 ` [PATCH v4 5/5] ARM: exynos: dts: Add FIMD DT binding Documentation Vikas Sajjan @ 2013-02-15 10:38 ` Sylwester Nawrocki 2013-02-18 10:51 ` Vikas Sajjan 0 siblings, 1 reply; 17+ messages in thread From: Sylwester Nawrocki @ 2013-02-15 10:38 UTC (permalink / raw) To: Vikas Sajjan; +Cc: linux-samsung-soc, kgene.kim, sachin.kamat, patches Hi, On 02/15/2013 08:10 AM, Vikas Sajjan wrote: > Adds FIMD DT binding documentation both SoC and Board, with an example > > Signed-off-by: Vikas Sajjan <vikas.sajjan@linaro.org> > --- > .../devicetree/bindings/drm/exynos/fimd.txt | 37 ++++++++++++++++++++ > 1 file changed, 37 insertions(+) > create mode 100644 Documentation/devicetree/bindings/drm/exynos/fimd.txt > > diff --git a/Documentation/devicetree/bindings/drm/exynos/fimd.txt b/Documentation/devicetree/bindings/drm/exynos/fimd.txt > new file mode 100644 > index 0000000..bec9d07 > --- /dev/null > +++ b/Documentation/devicetree/bindings/drm/exynos/fimd.txt > @@ -0,0 +1,37 @@ > +Device-Tree bindings for fimd driver > + > +FIMD stands for Fully Interactive Mobile Display, is the Display Controller for > +the Exynos series of SoCs which transfers the image data from a video buffer > +located in the system memory to an external LCD interface. > + > +Required properties: > +- compatible := value should be "samsung,exynos5-fimd" or "samsung,exynos4-fimd" What about older SoCs like S5Pv210 ? There is the FIMD IP block in those SoCs as well. There are also differences in the FIMD IP block across various SoC version, so either you need to list the quirks in the bindings or use an appropriate compatible properties if there are significant differences across FIMDs that make them not really compatible. > +- reg := physical base address of the fimd and length of memory mapped region > +- interrupt-parent := reference to the interrupt combiner node with phandle > +- interrupts := interrupt number from the combiner to the cpu These are actually 3 interrupts. Can you please document what they are and in what order should be listed in the interrupts property ? > +- pinctrl := property defining the pinctrl configurations with a phandle > +- pinctrl-names := name of the pinctrl > + > +Optional Properties: > +- samsung,power-domain := power domain property defined with a phandle > +- status := property defining the status of the node I don't think this standard property needs to be documented here. > + > +Example: > + > +SoC specific DT Entry: > + > + fimd@11c00000 { > + compatible = "samsung,exynos4-fimd"; > + interrupt-parent = <&combiner>; > + reg = <0x11c00000 0x20000>; > + interrupts = <11 1>, <11 0>, <11 2>; Why this order exactly ? Because currently the driver expects VSYNC interrupt specifier in the first entry and it won't work when you put any other interrupt specifier there ? The interrupts order really needs to be specified above, otherwise you need to look at the bindings implementation in the driver to figure out why it didn't work when you put the interrupt in different order... see confused and angry faces of developers ? ... :) If I'm not mistaken we have "Video Frame" (VSYNC), "I80 Interface" and "FIFO Level" interrupts here. > + }; Thanks, -- Sylwester Nawrocki Samsung Poland R&D Center ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 5/5] ARM: exynos: dts: Add FIMD DT binding Documentation 2013-02-15 10:38 ` Sylwester Nawrocki @ 2013-02-18 10:51 ` Vikas Sajjan 2013-02-18 21:46 ` Sylwester Nawrocki 0 siblings, 1 reply; 17+ messages in thread From: Vikas Sajjan @ 2013-02-18 10:51 UTC (permalink / raw) To: Sylwester Nawrocki Cc: linux-samsung-soc, kgene.kim, sachin.kamat, sunil joshi Hi Sylwester, thannks for the review. On 15 February 2013 16:08, Sylwester Nawrocki <s.nawrocki@samsung.com> wrote: > Hi, > > On 02/15/2013 08:10 AM, Vikas Sajjan wrote: >> Adds FIMD DT binding documentation both SoC and Board, with an example >> >> Signed-off-by: Vikas Sajjan <vikas.sajjan@linaro.org> >> --- >> .../devicetree/bindings/drm/exynos/fimd.txt | 37 ++++++++++++++++++++ >> 1 file changed, 37 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/drm/exynos/fimd.txt >> >> diff --git a/Documentation/devicetree/bindings/drm/exynos/fimd.txt b/Documentation/devicetree/bindings/drm/exynos/fimd.txt >> new file mode 100644 >> index 0000000..bec9d07 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/drm/exynos/fimd.txt >> @@ -0,0 +1,37 @@ >> +Device-Tree bindings for fimd driver >> + >> +FIMD stands for Fully Interactive Mobile Display, is the Display Controller for >> +the Exynos series of SoCs which transfers the image data from a video buffer >> +located in the system memory to an external LCD interface. >> + >> +Required properties: >> +- compatible := value should be "samsung,exynos5-fimd" or "samsung,exynos4-fimd" > > What about older SoCs like S5Pv210 ? There is the FIMD IP block in those SoCs > as well. There are also differences in the FIMD IP block across various SoC > version, so either you need to list the quirks in the bindings or use an > appropriate compatible properties if there are significant differences across > FIMDs that make them not really compatible. > as of now, I was working on Exynos4 and Exynos5 SoC. have to really see the differences in the previous SoC and how to handle all those FIMD IPs in the driver. if you know the differences between these FIMD IPs, please let me know. >> +- reg := physical base address of the fimd and length of memory mapped region >> +- interrupt-parent := reference to the interrupt combiner node with phandle >> +- interrupts := interrupt number from the combiner to the cpu > > These are actually 3 interrupts. Can you please document what they are > and in what order should be listed in the interrupts property ? > Sure, will mention the all the 3 interrupts and the order. >> +- pinctrl := property defining the pinctrl configurations with a phandle >> +- pinctrl-names := name of the pinctrl >> + >> +Optional Properties: >> +- samsung,power-domain := power domain property defined with a phandle >> +- status := property defining the status of the node > > I don't think this standard property needs to be documented here. > fine. will remove. >> + >> +Example: >> + >> +SoC specific DT Entry: >> + >> + fimd@11c00000 { >> + compatible = "samsung,exynos4-fimd"; >> + interrupt-parent = <&combiner>; >> + reg = <0x11c00000 0x20000>; >> + interrupts = <11 1>, <11 0>, <11 2>; > > Why this order exactly ? Because currently the driver expects VSYNC > interrupt specifier in the first entry and it won't work when you put > any other interrupt specifier there ? > > The interrupts order really needs to be specified above, otherwise > you need to look at the bindings implementation in the driver to > figure out why it didn't work when you put the interrupt in different > order... see confused and angry faces of developers ? ... :) > we have 3 interrupts and the Interrupt combiner order is FIFO Level , VSYNC and LCD_SYSTEM. since we only use VSYNC interrupt , In the driver to get the interrupt number res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); if (!res) { dev_err(dev, "irq request failed.\n"); return -ENXIO; } ctx->irq = res->start; I am passing the 3rd parameter as '0' , to get the VSYNC interrupt, and hence in the DTSI file i have it in the order VSYNC, FIFO LEVEL and LCD_SYSTEM. what I can do is the pass the 3rd parameter as '1' , and rectify the order in DTSI file as FIFO LEVEL, VSYNC and LCD_SYSTEM. > If I'm not mistaken we have "Video Frame" (VSYNC), "I80 Interface" > and "FIFO Level" interrupts here. > >> + }; > > > Thanks, > -- > Sylwester Nawrocki > Samsung Poland R&D Center -- Thanks and Regards Vikas Sajjan ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 5/5] ARM: exynos: dts: Add FIMD DT binding Documentation 2013-02-18 10:51 ` Vikas Sajjan @ 2013-02-18 21:46 ` Sylwester Nawrocki 2013-02-21 7:04 ` Vikas Sajjan 0 siblings, 1 reply; 17+ messages in thread From: Sylwester Nawrocki @ 2013-02-18 21:46 UTC (permalink / raw) To: Vikas Sajjan Cc: Sylwester Nawrocki, linux-samsung-soc, kgene.kim, sachin.kamat, sunil joshi, Inki Dae Hi, On 02/18/2013 11:51 AM, Vikas Sajjan wrote: > On 15 February 2013 16:08, Sylwester Nawrocki<s.nawrocki@samsung.com> wrote: >> On 02/15/2013 08:10 AM, Vikas Sajjan wrote: >>> Adds FIMD DT binding documentation both SoC and Board, with an example >>> >>> Signed-off-by: Vikas Sajjan<vikas.sajjan@linaro.org> >>> --- >>> .../devicetree/bindings/drm/exynos/fimd.txt | 37 ++++++++++++++++++++ >>> 1 file changed, 37 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/drm/exynos/fimd.txt >>> >>> diff --git a/Documentation/devicetree/bindings/drm/exynos/fimd.txt b/Documentation/devicetree/bindings/drm/exynos/fimd.txt >>> new file mode 100644 >>> index 0000000..bec9d07 >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/drm/exynos/fimd.txt Wouldn't Documentation/devicetree/bindings/video/exynos-fimd.txt be more appropriate location for this file ? There is also framebuffer driver for FIMD. Even if the framebuffer driver gets phased out it still feels like a more intuitive location for a display controller bindings. This is just my humble suggestion though. I think you should CC the device tree mailing list and the maintainers. >>> @@ -0,0 +1,37 @@ >>> +Device-Tree bindings for fimd driver >>> + >>> +FIMD stands for Fully Interactive Mobile Display, is the Display Controller for >>> +the Exynos series of SoCs which transfers the image data from a video buffer >>> +located in the system memory to an external LCD interface. >>> + >>> +Required properties: >>> +- compatible := value should be "samsung,exynos5-fimd" or "samsung,exynos4-fimd" >> >> What about older SoCs like S5Pv210 ? There is the FIMD IP block in those SoCs >> as well. There are also differences in the FIMD IP block across various SoC >> version, so either you need to list the quirks in the bindings or use an >> appropriate compatible properties if there are significant differences across >> FIMDs that make them not really compatible. >> > as of now, I was working on Exynos4 and Exynos5 SoC. have to really > see the differences in the previous SoC and how to handle all those > FIMD IPs in the driver. > if you know the differences between these FIMD IPs, please let me know. Please have a look at drivers/video/s3c-fb.c and all driver_data structures defined for various SoCs. [...] > we have 3 interrupts and the Interrupt combiner order is FIFO Level , > VSYNC and LCD_SYSTEM. > since we only use VSYNC interrupt , In the driver to get the interrupt number > > res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); > if (!res) { > dev_err(dev, "irq request failed.\n"); > return -ENXIO; > } > > ctx->irq = res->start; > > I am passing the 3rd parameter as '0' , to get the VSYNC interrupt, > and hence in the DTSI file i have it in the order VSYNC, FIFO > LEVEL and LCD_SYSTEM. Yes, I'm aware what's going on here. Since I had to change the interrupts order when I used one of the first version of patches adding device tree support for FIMD, when I needed working display to test the camera. > what I can do is the pass the 3rd parameter as '1' , and rectify the > order in DTSI file as FIFO LEVEL, VSYNC and LCD_SYSTEM. Then you would have to do it only for dt case. I guess it is okay to require VSYNC as the first interrupt. I'm fine with that, as long as it is properly documented. -- Regards, Sylwester ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 5/5] ARM: exynos: dts: Add FIMD DT binding Documentation 2013-02-18 21:46 ` Sylwester Nawrocki @ 2013-02-21 7:04 ` Vikas Sajjan 2013-02-22 7:06 ` Vikas Sajjan 0 siblings, 1 reply; 17+ messages in thread From: Vikas Sajjan @ 2013-02-21 7:04 UTC (permalink / raw) To: Sylwester Nawrocki Cc: Sylwester Nawrocki, linux-samsung-soc, kgene.kim, devicetree-discuss, sunil joshi, Inki Dae Hi, On 19 February 2013 03:16, Sylwester Nawrocki <sylvester.nawrocki@gmail.com> wrote: > Hi, > > > On 02/18/2013 11:51 AM, Vikas Sajjan wrote: >> >> On 15 February 2013 16:08, Sylwester Nawrocki<s.nawrocki@samsung.com> >> wrote: >>> >>> On 02/15/2013 08:10 AM, Vikas Sajjan wrote: >>> >>>> Adds FIMD DT binding documentation both SoC and Board, with an example >>>> >>>> Signed-off-by: Vikas Sajjan<vikas.sajjan@linaro.org> >>>> --- >>>> .../devicetree/bindings/drm/exynos/fimd.txt | 37 >>>> ++++++++++++++++++++ >>>> 1 file changed, 37 insertions(+) >>>> create mode 100644 >>>> Documentation/devicetree/bindings/drm/exynos/fimd.txt >>>> >>>> diff --git a/Documentation/devicetree/bindings/drm/exynos/fimd.txt >>>> b/Documentation/devicetree/bindings/drm/exynos/fimd.txt >>>> new file mode 100644 >>>> index 0000000..bec9d07 >>>> --- /dev/null >>>> +++ b/Documentation/devicetree/bindings/drm/exynos/fimd.txt > > > Wouldn't Documentation/devicetree/bindings/video/exynos-fimd.txt be more > appropriate location for this file ? There is also framebuffer driver for > FIMD. Even if the framebuffer driver gets phased out it still feels like > a more intuitive location for a display controller bindings. > This is just my humble suggestion though. > I think we can move it there. > I think you should CC the device tree mailing list and the maintainers. > > will do. >>>> @@ -0,0 +1,37 @@ >>>> +Device-Tree bindings for fimd driver >>>> + >>>> +FIMD stands for Fully Interactive Mobile Display, is the Display >>>> Controller for >>>> +the Exynos series of SoCs which transfers the image data from a video >>>> buffer >>>> +located in the system memory to an external LCD interface. >>>> + >>>> +Required properties: >>>> +- compatible := value should be "samsung,exynos5-fimd" or >>>> "samsung,exynos4-fimd" >>> >>> >>> What about older SoCs like S5Pv210 ? There is the FIMD IP block in those >>> SoCs >>> as well. There are also differences in the FIMD IP block across various >>> SoC >>> version, so either you need to list the quirks in the bindings or use an >>> appropriate compatible properties if there are significant differences >>> across >>> FIMDs that make them not really compatible. >>> >> as of now, I was working on Exynos4 and Exynos5 SoC. have to really >> see the differences in the previous SoC and how to handle all those >> FIMD IPs in the driver. >> if you know the differences between these FIMD IPs, please let me know. > > > Please have a look at drivers/video/s3c-fb.c and all driver_data structures > defined for various SoCs. > > [...] > I went through the driver_data structures define for s5p64x0,s3c2443, s5pv210, s5pc100 ad 64xx SoCs. there are some differences w.r.t number of windows, osd_stride length and regsiter offsets. but I dont have access to all the above mentioned Boards and so that I can modify and test on each one of them. >> we have 3 interrupts and the Interrupt combiner order is FIFO Level , >> VSYNC and LCD_SYSTEM. >> since we only use VSYNC interrupt , In the driver to get the interrupt >> number >> >> res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); >> if (!res) { >> dev_err(dev, "irq request failed.\n"); >> return -ENXIO; >> } >> >> ctx->irq = res->start; >> >> I am passing the 3rd parameter as '0' , to get the VSYNC interrupt, >> and hence in the DTSI file i have it in the order VSYNC, FIFO >> LEVEL and LCD_SYSTEM. > > > Yes, I'm aware what's going on here. Since I had to change the interrupts > order when I used one of the first version of patches adding device tree > support for FIMD, when I needed working display to test the camera. > > >> what I can do is the pass the 3rd parameter as '1' , and rectify the >> order in DTSI file as FIFO LEVEL, VSYNC and LCD_SYSTEM. > > > Then you would have to do it only for dt case. I guess it is okay to > require VSYNC as the first interrupt. I'm fine with that, as long as > it is properly documented. > So, I shall keep the logic as is, and just document it well. is it ok.? > -- > > Regards, > Sylwester -- Thanks and Regards Vikas Sajjan ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 5/5] ARM: exynos: dts: Add FIMD DT binding Documentation 2013-02-21 7:04 ` Vikas Sajjan @ 2013-02-22 7:06 ` Vikas Sajjan 2013-02-22 21:37 ` Sylwester Nawrocki 2013-02-22 22:10 ` Tomasz Figa 0 siblings, 2 replies; 17+ messages in thread From: Vikas Sajjan @ 2013-02-22 7:06 UTC (permalink / raw) To: Sylwester Nawrocki Cc: Sylwester Nawrocki, linux-samsung-soc, kgene.kim, devicetree-discuss, sunil joshi, Inki Dae On 21 February 2013 12:34, Vikas Sajjan <vikas.sajjan@linaro.org> wrote: > Hi, > > On 19 February 2013 03:16, Sylwester Nawrocki > <sylvester.nawrocki@gmail.com> wrote: >> Hi, >> >> >> On 02/18/2013 11:51 AM, Vikas Sajjan wrote: >>> >>> On 15 February 2013 16:08, Sylwester Nawrocki<s.nawrocki@samsung.com> >>> wrote: >>>> >>>> On 02/15/2013 08:10 AM, Vikas Sajjan wrote: >>>> >>>>> Adds FIMD DT binding documentation both SoC and Board, with an example >>>>> >>>>> Signed-off-by: Vikas Sajjan<vikas.sajjan@linaro.org> >>>>> --- >>>>> .../devicetree/bindings/drm/exynos/fimd.txt | 37 >>>>> ++++++++++++++++++++ >>>>> 1 file changed, 37 insertions(+) >>>>> create mode 100644 >>>>> Documentation/devicetree/bindings/drm/exynos/fimd.txt >>>>> >>>>> diff --git a/Documentation/devicetree/bindings/drm/exynos/fimd.txt >>>>> b/Documentation/devicetree/bindings/drm/exynos/fimd.txt >>>>> new file mode 100644 >>>>> index 0000000..bec9d07 >>>>> --- /dev/null >>>>> +++ b/Documentation/devicetree/bindings/drm/exynos/fimd.txt >> >> >> Wouldn't Documentation/devicetree/bindings/video/exynos-fimd.txt be more >> appropriate location for this file ? There is also framebuffer driver for >> FIMD. Even if the framebuffer driver gets phased out it still feels like >> a more intuitive location for a display controller bindings. >> This is just my humble suggestion though. >> > I think we can move it there. > >> I think you should CC the device tree mailing list and the maintainers. >> >> > will do. > >>>>> @@ -0,0 +1,37 @@ >>>>> +Device-Tree bindings for fimd driver >>>>> + >>>>> +FIMD stands for Fully Interactive Mobile Display, is the Display >>>>> Controller for >>>>> +the Exynos series of SoCs which transfers the image data from a video >>>>> buffer >>>>> +located in the system memory to an external LCD interface. >>>>> + >>>>> +Required properties: >>>>> +- compatible := value should be "samsung,exynos5-fimd" or >>>>> "samsung,exynos4-fimd" >>>> >>>> >>>> What about older SoCs like S5Pv210 ? There is the FIMD IP block in those >>>> SoCs >>>> as well. There are also differences in the FIMD IP block across various >>>> SoC >>>> version, so either you need to list the quirks in the bindings or use an >>>> appropriate compatible properties if there are significant differences >>>> across >>>> FIMDs that make them not really compatible. >>>> >>> as of now, I was working on Exynos4 and Exynos5 SoC. have to really >>> see the differences in the previous SoC and how to handle all those >>> FIMD IPs in the driver. >>> if you know the differences between these FIMD IPs, please let me know. >> >> >> Please have a look at drivers/video/s3c-fb.c and all driver_data structures >> defined for various SoCs. >> >> [...] >> > I went through the driver_data structures define for s5p64x0,s3c2443, > s5pv210, s5pc100 ad 64xx SoCs. > there are some differences w.r.t number of windows, osd_stride length > and regsiter offsets. > but I dont have access to all the above mentioned Boards and so that > I can modify and test on each one of them. > as far as i know this file exynos_drm_fimd.c is meant only for exynos4 onwards SoCs, ( I think Mr. Inki Dae can throw more light on this ) and also the previous boards based on s5p64x0,s3c2443,s5pv210, s5pc100 and 64xx, dont have DT support. also in the function drm_fimd_get_driver_data(), there is provision to get the NON-DT "driver data" as well. So somebody who wants to use this driver for the above mentioned SoCs can add the driver-data. so wanted to know how you want me to go about it. >>> we have 3 interrupts and the Interrupt combiner order is FIFO Level , >>> VSYNC and LCD_SYSTEM. >>> since we only use VSYNC interrupt , In the driver to get the interrupt >>> number >>> >>> res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); >>> if (!res) { >>> dev_err(dev, "irq request failed.\n"); >>> return -ENXIO; >>> } >>> >>> ctx->irq = res->start; >>> >>> I am passing the 3rd parameter as '0' , to get the VSYNC interrupt, >>> and hence in the DTSI file i have it in the order VSYNC, FIFO >>> LEVEL and LCD_SYSTEM. >> >> >> Yes, I'm aware what's going on here. Since I had to change the interrupts >> order when I used one of the first version of patches adding device tree >> support for FIMD, when I needed working display to test the camera. >> >> >>> what I can do is the pass the 3rd parameter as '1' , and rectify the >>> order in DTSI file as FIFO LEVEL, VSYNC and LCD_SYSTEM. >> >> >> Then you would have to do it only for dt case. I guess it is okay to >> require VSYNC as the first interrupt. I'm fine with that, as long as >> it is properly documented. >> > So, I shall keep the logic as is, and just document it well. is it ok.? >> -- >> >> Regards, >> Sylwester > > > > -- > Thanks and Regards > Vikas Sajjan -- Thanks and Regards Vikas Sajjan ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 5/5] ARM: exynos: dts: Add FIMD DT binding Documentation 2013-02-22 7:06 ` Vikas Sajjan @ 2013-02-22 21:37 ` Sylwester Nawrocki 2013-02-26 4:19 ` Vikas Sajjan 2013-02-22 22:10 ` Tomasz Figa 1 sibling, 1 reply; 17+ messages in thread From: Sylwester Nawrocki @ 2013-02-22 21:37 UTC (permalink / raw) To: Vikas Sajjan Cc: Sylwester Nawrocki, linux-samsung-soc, kgene.kim, devicetree-discuss, sunil joshi, Inki Dae Hi Vikas, On 02/22/2013 08:06 AM, Vikas Sajjan wrote: >>>>>> +++ b/Documentation/devicetree/bindings/drm/exynos/fimd.txt [...] >>>>>> @@ -0,0 +1,37 @@ >>>>>> +Device-Tree bindings for fimd driver Perhaps something like: Exynos SoC display controller (FIMD) would do ? Even though bindings are to be used by some driver we should be focusing on describing the actual hardware. >>>>>> +FIMD stands for Fully Interactive Mobile Display, is the Display >>>>>> Controller for >>>>>> +the Exynos series of SoCs which transfers the image data from a video >>>>>> buffer >>>>>> +located in the system memory to an external LCD interface. >>>>>> + >>>>>> +Required properties: >>>>>> +- compatible := value should be "samsung,exynos5-fimd" or >>>>>> "samsung,exynos4-fimd" >>>>> >>>>> >>>>> What about older SoCs like S5Pv210 ? There is the FIMD IP block in those >>>>> SoCs >>>>> as well. There are also differences in the FIMD IP block across various >>>>> SoC >>>>> version, so either you need to list the quirks in the bindings or use an >>>>> appropriate compatible properties if there are significant differences >>>>> across >>>>> FIMDs that make them not really compatible. >>>>> >>>> as of now, I was working on Exynos4 and Exynos5 SoC. have to really >>>> see the differences in the previous SoC and how to handle all those >>>> FIMD IPs in the driver. >>>> if you know the differences between these FIMD IPs, please let me know. >>> >>> >>> Please have a look at drivers/video/s3c-fb.c and all driver_data structures >>> defined for various SoCs. >>> >>> [...] >>> >> I went through the driver_data structures define for s5p64x0,s3c2443, >> s5pv210, s5pc100 ad 64xx SoCs. >> there are some differences w.r.t number of windows, osd_stride length >> and regsiter offsets. >> but I dont have access to all the above mentioned Boards and so that >> I can modify and test on each one of them. I don't ask you to add support for all existing FIMD variants. Please just make sure the bindings you're documenting here, with focus on the Exynos SoCs, are also usable for older SoC series. > as far as i know this file exynos_drm_fimd.c is meant only for exynos4 > onwards SoCs, Yes, but the bindings are for FIMD IP block and should possibly be consistent across all SoC series. I think we should bear in mind that eventually all these SoCs get device tree support. Actually I've seen already patches for s3c24xx and s3c64xx SoC series. > ( I think Mr. Inki Dae can throw more light on this ) > and also the previous boards based on s5p64x0,s3c2443,s5pv210, > s5pc100 and 64xx, dont have DT support. We can't tell for sure the SoC series listed above won't get device tree support sooner or later, as this is an open source project. > also in the function drm_fimd_get_driver_data(), there is provision to > get the NON-DT "driver data" as well. So somebody who wants to use > this driver for the above mentioned SoCs can add the driver-data. I'm not concerned about this particular driver, only about the DT bindings that are not supposed to change over time. So some care needs to be taken when designing the bindings. > so wanted to know how you want me to go about it. My concern was that you use "samsung,exynos4-fimd" for FIMD IP found on all Exynos4 SoC, whereas there could be some differences for Exynos4210 and Exynos4212/4412. It looks like both are shipped with FIMD rev. 6.0 though. Anyway, still there are some details that may need to be handled, e.g. maximum VCLK frequency is 80 MHz for Exynos4210 FIMD0 and Exynos4412 FIMD (there is only one there in Exynos4412 as opposed to two in Exynos4210), while for Exynos4210 FIMD1 it is only 50 MHz. When there are differences we really care about (and support for FIMD1 is added) I guess things like this could be handled through optional properties. I thought about something like: compatible = "samsung,exynos4210-fimd"; for Exynos4210 and compatible = "samsung,exynos4212-fimd", "samsung,exynos4210-fimd"; for Exynos4212 and Exynos412, but "samsung,exynos4-fimd" seems good enough, since the FIMD IP block appears nearly identical across Exynos4210...Exynos4412. -- Thanks, Sylwester ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 5/5] ARM: exynos: dts: Add FIMD DT binding Documentation 2013-02-22 21:37 ` Sylwester Nawrocki @ 2013-02-26 4:19 ` Vikas Sajjan 2013-02-26 21:57 ` Sylwester Nawrocki 0 siblings, 1 reply; 17+ messages in thread From: Vikas Sajjan @ 2013-02-26 4:19 UTC (permalink / raw) To: Sylwester Nawrocki Cc: Sylwester Nawrocki, linux-samsung-soc, kgene.kim, devicetree-discuss, sunil joshi, Inki Dae, Tom Gall Hi, On 23 February 2013 03:07, Sylwester Nawrocki <sylvester.nawrocki@gmail.com> wrote: > Hi Vikas, > > On 02/22/2013 08:06 AM, Vikas Sajjan wrote: >>>>>>> >>>>>>> +++ b/Documentation/devicetree/bindings/drm/exynos/fimd.txt > > [...] > >>>>>>> @@ -0,0 +1,37 @@ >>>>>>> +Device-Tree bindings for fimd driver > > > Perhaps something like: > > Exynos SoC display controller (FIMD) > > would do ? Even though bindings are to be used by some driver we should > be focusing on describing the actual hardware. > OK. will change. > >>>>>>> +FIMD stands for Fully Interactive Mobile Display, is the Display >>>>>>> Controller for >>>>>>> +the Exynos series of SoCs which transfers the image data from a >>>>>>> video >>>>>>> buffer >>>>>>> +located in the system memory to an external LCD interface. >>>>>>> + >>>>>>> +Required properties: >>>>>>> +- compatible := value should be "samsung,exynos5-fimd" or >>>>>>> "samsung,exynos4-fimd" >>>>>> >>>>>> >>>>>> >>>>>> What about older SoCs like S5Pv210 ? There is the FIMD IP block in >>>>>> those >>>>>> SoCs >>>>>> as well. There are also differences in the FIMD IP block across >>>>>> various >>>>>> SoC >>>>>> version, so either you need to list the quirks in the bindings or use >>>>>> an >>>>>> appropriate compatible properties if there are significant differences >>>>>> across >>>>>> FIMDs that make them not really compatible. >>>>>> >>>>> as of now, I was working on Exynos4 and Exynos5 SoC. have to really >>>>> see the differences in the previous SoC and how to handle all those >>>>> FIMD IPs in the driver. >>>>> if you know the differences between these FIMD IPs, please let me know. >>>> >>>> >>>> >>>> Please have a look at drivers/video/s3c-fb.c and all driver_data >>>> structures >>>> defined for various SoCs. >>>> >>>> [...] >>>> >>> I went through the driver_data structures define for s5p64x0,s3c2443, >>> s5pv210, s5pc100 ad 64xx SoCs. >>> there are some differences w.r.t number of windows, osd_stride length >>> and regsiter offsets. >>> but I dont have access to all the above mentioned Boards and so that >>> I can modify and test on each one of them. > > > I don't ask you to add support for all existing FIMD variants. Please just > make sure the bindings you're documenting here, with focus on the Exynos > SoCs, are also usable for older SoC series. > > >> as far as i know this file exynos_drm_fimd.c is meant only for exynos4 >> onwards SoCs, > > > Yes, but the bindings are for FIMD IP block and should possibly be > consistent > across all SoC series. I think we should bear in mind that eventually all > these SoCs get device tree support. Actually I've seen already patches for > s3c24xx and s3c64xx SoC series. > > >> ( I think Mr. Inki Dae can throw more light on this ) >> and also the previous boards based on s5p64x0,s3c2443,s5pv210, >> s5pc100 and 64xx, dont have DT support. > > > We can't tell for sure the SoC series listed above won't get device tree > support sooner or later, as this is an open source project. > > >> also in the function drm_fimd_get_driver_data(), there is provision to >> get the NON-DT "driver data" as well. So somebody who wants to use >> this driver for the above mentioned SoCs can add the driver-data. > > > I'm not concerned about this particular driver, only about the DT bindings > that are not supposed to change over time. So some care needs to be taken > when designing the bindings. > > >> so wanted to know how you want me to go about it. > > > My concern was that you use "samsung,exynos4-fimd" for FIMD IP found on all > Exynos4 SoC, whereas there could be some differences for Exynos4210 and > Exynos4212/4412. It looks like both are shipped with FIMD rev. 6.0 though. > Anyway, still there are some details that may need to be handled, e.g. > maximum > VCLK frequency is 80 MHz for Exynos4210 FIMD0 and Exynos4412 FIMD (there is > only one there in Exynos4412 as opposed to two in Exynos4210), while for > Exynos4210 FIMD1 it is only 50 MHz. When there are differences we really > care about (and support for FIMD1 is added) I guess things like this could > be handled through optional properties. > > I thought about something like: > > compatible = "samsung,exynos4210-fimd"; for Exynos4210 and > compatible = "samsung,exynos4212-fimd", "samsung,exynos4210-fimd"; for > Exynos4212 and Exynos412, > > but "samsung,exynos4-fimd" seems good enough, since the FIMD IP block > appears nearly identical across Exynos4210...Exynos4412. > ok thanks. Will modify the documentation as below. compatible = "samsung, exynos4-fimd"; for Exynos4 SoCs compatible = "samsung, exynos5-fimd" ; for Exynos5 SoCs compatible = "samsung, s3c64xx-fimd" ; for S3C64XX SoCs compatible = "samsung, s3c24xx-fimd" ; for S3C24XX SoCs compatible = "samsung, s5p64x0-fimd" ; for S5P64X0 SoCs compatible = "samsung, s5pc100-fimd" ; for S5PC100 SoCs compatible = "samsung, s5pv210-fimd" ; for S5PV210 SoCs > -- > > Thanks, > Sylwester -- Thanks and Regards Vikas Sajjan ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 5/5] ARM: exynos: dts: Add FIMD DT binding Documentation 2013-02-26 4:19 ` Vikas Sajjan @ 2013-02-26 21:57 ` Sylwester Nawrocki 2013-02-26 22:11 ` Tomasz Figa 0 siblings, 1 reply; 17+ messages in thread From: Sylwester Nawrocki @ 2013-02-26 21:57 UTC (permalink / raw) To: Vikas Sajjan Cc: Sylwester Nawrocki, linux-samsung-soc, kgene.kim, devicetree-discuss, sunil joshi, Inki Dae, Tom Gall On 02/26/2013 05:19 AM, Vikas Sajjan wrote: > ok thanks. Will modify the documentation as below. > > compatible = "samsung, exynos4-fimd"; for Exynos4 SoCs > compatible = "samsung, exynos5-fimd" ; for Exynos5 SoCs > compatible = "samsung, s3c64xx-fimd" ; for S3C64XX SoCs > compatible = "samsung, s3c24xx-fimd" ; for S3C24XX SoCs > compatible = "samsung, s5p64x0-fimd" ; for S5P64X0 SoCs There should be no wildcards in the compatible property. I guess we can just add the two first one above for now and leave other out for when someone actually adds support for these SoCs at the drivers. I suppose we could, for example, have something like: compatible = "samsung,s3c2410-fimd"; // for s3c2410 compatible = "samsung,s3c2440-fimd", "samsung,s3c2410-fimd"; // for s3c2440 etc. But this really needs to be checked with the documentation in each case. > compatible = "samsung, s5pc100-fimd" ; for S5PC100 SoCs > compatible = "samsung, s5pv210-fimd" ; for S5PV210 SoCs ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 5/5] ARM: exynos: dts: Add FIMD DT binding Documentation 2013-02-26 21:57 ` Sylwester Nawrocki @ 2013-02-26 22:11 ` Tomasz Figa 2013-02-26 22:48 ` Sylwester Nawrocki 0 siblings, 1 reply; 17+ messages in thread From: Tomasz Figa @ 2013-02-26 22:11 UTC (permalink / raw) To: Sylwester Nawrocki Cc: Vikas Sajjan, Sylwester Nawrocki, linux-samsung-soc, kgene.kim, devicetree-discuss, sunil joshi, Inki Dae, Tom Gall On Tuesday 26 of February 2013 22:57:15 Sylwester Nawrocki wrote: > On 02/26/2013 05:19 AM, Vikas Sajjan wrote: > > ok thanks. Will modify the documentation as below. > > > > compatible = "samsung, exynos4-fimd"; for Exynos4 SoCs > > compatible = "samsung, exynos5-fimd" ; for Exynos5 SoCs > > compatible = "samsung, s3c64xx-fimd" ; for S3C64XX SoCs > > compatible = "samsung, s3c24xx-fimd" ; for S3C24XX SoCs > > compatible = "samsung, s5p64x0-fimd" ; for S5P64X0 SoCs > > There should be no wildcards in the compatible property. I guess we can > just add the two first one above for now and leave other out for when > someone actually adds support for these SoCs at the drivers. > > I suppose we could, for example, have something like: > > compatible = "samsung,s3c2410-fimd"; // for > s3c2410 compatible = "samsung,s3c2440-fimd", "samsung,s3c2410-fimd"; // > for s3c2440 > > etc. But this really needs to be checked with the documentation > in each case. > > > compatible = "samsung, s5pc100-fimd" ; for S5PC100 SoCs > > compatible = "samsung, s5pv210-fimd" ; for S5PV210 SoCs We should stick to the rule that compatible value should be named after first specific SoC model in which this particular IP version was included. So this is what I would suggest: compatible = "samsung,s3c2443-fimd"; // for S3C24XX SoCs compatible = "samsung,s3c6400-fimd"; // for S3C64XX SoCs compatible = "samsung,s5p6440-fimd"; // for S5P64X0 SoCs compatible = "samsung,s5pc100-fimd"; // for S5PC100 SoC compatible = "samsung,s5pv210-fimd"; // for S5PV210 SoC compatible = "samsung,exynos4210-fimd"; // for Exynos4 SoCs compatible = "samsung,exynos5250-fimd"; // for Exynos5 SoCs (All the hardware variants are taken from s3c-fb driver.) Best regards, Tomasz ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 5/5] ARM: exynos: dts: Add FIMD DT binding Documentation 2013-02-26 22:11 ` Tomasz Figa @ 2013-02-26 22:48 ` Sylwester Nawrocki 0 siblings, 0 replies; 17+ messages in thread From: Sylwester Nawrocki @ 2013-02-26 22:48 UTC (permalink / raw) To: Tomasz Figa Cc: Vikas Sajjan, Sylwester Nawrocki, linux-samsung-soc, kgene.kim, devicetree-discuss, sunil joshi, Inki Dae, Tom Gall On 02/26/2013 11:11 PM, Tomasz Figa wrote: > We should stick to the rule that compatible value should be named after > first specific SoC model in which this particular IP version was included. > > So this is what I would suggest: > > compatible = "samsung,s3c2443-fimd"; // for S3C24XX SoCs > compatible = "samsung,s3c6400-fimd"; // for S3C64XX SoCs > compatible = "samsung,s5p6440-fimd"; // for S5P64X0 SoCs > compatible = "samsung,s5pc100-fimd"; // for S5PC100 SoC > compatible = "samsung,s5pv210-fimd"; // for S5PV210 SoC > compatible = "samsung,exynos4210-fimd"; // for Exynos4 SoCs > compatible = "samsung,exynos5250-fimd"; // for Exynos5 SoCs Yes, that looks good to me. I'm just not sure though if there is any reference to "fimd" in the s3c2443 SoC documentation. Or is it simply called lcd controller there ? ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v4 5/5] ARM: exynos: dts: Add FIMD DT binding Documentation 2013-02-22 7:06 ` Vikas Sajjan 2013-02-22 21:37 ` Sylwester Nawrocki @ 2013-02-22 22:10 ` Tomasz Figa 1 sibling, 0 replies; 17+ messages in thread From: Tomasz Figa @ 2013-02-22 22:10 UTC (permalink / raw) To: Vikas Sajjan Cc: Sylwester Nawrocki, Sylwester Nawrocki, linux-samsung-soc, kgene.kim, devicetree-discuss, sunil joshi, Inki Dae Hi, On Friday 22 of February 2013 12:36:22 Vikas Sajjan wrote: > On 21 February 2013 12:34, Vikas Sajjan <vikas.sajjan@linaro.org> wrote: > > Hi, > > > > On 19 February 2013 03:16, Sylwester Nawrocki > > > > <sylvester.nawrocki@gmail.com> wrote: > >> Hi, > >> > >> On 02/18/2013 11:51 AM, Vikas Sajjan wrote: > >>> On 15 February 2013 16:08, Sylwester > >>> Nawrocki<s.nawrocki@samsung.com> > >>> > >>> wrote: > >>>> On 02/15/2013 08:10 AM, Vikas Sajjan wrote: > >>>>> Adds FIMD DT binding documentation both SoC and Board, with an > >>>>> example > >>>>> > >>>>> Signed-off-by: Vikas Sajjan<vikas.sajjan@linaro.org> > >>>>> --- > >>>>> > >>>>> .../devicetree/bindings/drm/exynos/fimd.txt | 37 > >>>>> > >>>>> ++++++++++++++++++++ > >>>>> > >>>>> 1 file changed, 37 insertions(+) > >>>>> create mode 100644 > >>>>> > >>>>> Documentation/devicetree/bindings/drm/exynos/fimd.txt > >>>>> > >>>>> diff --git a/Documentation/devicetree/bindings/drm/exynos/fimd.txt > >>>>> b/Documentation/devicetree/bindings/drm/exynos/fimd.txt > >>>>> new file mode 100644 > >>>>> index 0000000..bec9d07 > >>>>> --- /dev/null > >>>>> +++ b/Documentation/devicetree/bindings/drm/exynos/fimd.txt > >> > >> Wouldn't Documentation/devicetree/bindings/video/exynos-fimd.txt be > >> more appropriate location for this file ? There is also framebuffer > >> driver for FIMD. Even if the framebuffer driver gets phased out it > >> still feels like a more intuitive location for a display controller > >> bindings. > >> This is just my humble suggestion though. > > > > I think we can move it there. > > > >> I think you should CC the device tree mailing list and the > >> maintainers. > > > > will do. > > > >>>>> @@ -0,0 +1,37 @@ > >>>>> +Device-Tree bindings for fimd driver > >>>>> + > >>>>> +FIMD stands for Fully Interactive Mobile Display, is the Display > >>>>> Controller for > >>>>> +the Exynos series of SoCs which transfers the image data from a > >>>>> video > >>>>> buffer > >>>>> +located in the system memory to an external LCD interface. > >>>>> + > >>>>> +Required properties: > >>>>> +- compatible := value should be "samsung,exynos5-fimd" or > >>>>> "samsung,exynos4-fimd" > >>>> > >>>> What about older SoCs like S5Pv210 ? There is the FIMD IP block in > >>>> those SoCs > >>>> as well. There are also differences in the FIMD IP block across > >>>> various > >>>> SoC > >>>> version, so either you need to list the quirks in the bindings or > >>>> use an appropriate compatible properties if there are significant > >>>> differences across > >>>> FIMDs that make them not really compatible. > >>> > >>> as of now, I was working on Exynos4 and Exynos5 SoC. have to really > >>> see the differences in the previous SoC and how to handle all those > >>> FIMD IPs in the driver. > >>> if you know the differences between these FIMD IPs, please let me > >>> know. > >> > >> Please have a look at drivers/video/s3c-fb.c and all driver_data > >> structures defined for various SoCs. > >> > >> [...] > > > > I went through the driver_data structures define for s5p64x0,s3c2443, > > s5pv210, s5pc100 ad 64xx SoCs. > > there are some differences w.r.t number of windows, osd_stride length > > and regsiter offsets. > > but I dont have access to all the above mentioned Boards and so that > > I can modify and test on each one of them. > > as far as i know this file exynos_drm_fimd.c is meant only for exynos4 > onwards SoCs, This is probably true, as even the name suggests that this is a DRM implementation for Exynos SoCs. However DRM is not the only driver which can handle FIMD. There is also the s3c-fb driver. Since it supports the same hardware, it is also affected by Device Tree bindings you are describing in this patch. > ( I think Mr. Inki Dae can throw more light on this ) > and also the previous boards based on s5p64x0,s3c2443,s5pv210, > s5pc100 and 64xx, dont have DT support. This is true only at the moment. S3C24xx (Heiko Stuebner is working on it) and S3C64xx (I'm working on it) are on good way to have DT support soon. Other S5P SoCs will have to be eventually moved to DT too (or dropped, whatever gets decided by maintainers). Best regards, Tomasz ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2013-02-26 22:48 UTC | newest] Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-02-15 7:09 [PATCH v4 0/5] Add DRM FIMD DT support for Exynos4 DT Machines Vikas Sajjan 2013-02-15 7:09 ` [PATCH v4 1/5] ARM: dts: Add FIMD node to exynos4 Vikas Sajjan 2013-02-15 7:09 ` [PATCH v4 2/5] ARM: dts: Add lcd pinctrl node entries for EXYNOS4412 SoC Vikas Sajjan 2013-02-15 7:09 ` [PATCH v4 3/5] ARM: dts: Add FIMD node and display timing node to exynos4412-origen.dts Vikas Sajjan 2013-02-15 7:09 ` [PATCH v4 4/5] ARM: dts: add FIMD AUXDATA node entry for exynos4 DT Vikas Sajjan 2013-02-15 7:10 ` [PATCH v4 5/5] ARM: exynos: dts: Add FIMD DT binding Documentation Vikas Sajjan 2013-02-15 10:38 ` Sylwester Nawrocki 2013-02-18 10:51 ` Vikas Sajjan 2013-02-18 21:46 ` Sylwester Nawrocki 2013-02-21 7:04 ` Vikas Sajjan 2013-02-22 7:06 ` Vikas Sajjan 2013-02-22 21:37 ` Sylwester Nawrocki 2013-02-26 4:19 ` Vikas Sajjan 2013-02-26 21:57 ` Sylwester Nawrocki 2013-02-26 22:11 ` Tomasz Figa 2013-02-26 22:48 ` Sylwester Nawrocki 2013-02-22 22:10 ` Tomasz Figa
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.