Re: [PATCH v2 2/2] drm/exynos: remove unused 'activated' field from exynos_drm_plane

2015-04-17 Thread Gustavo Padovan
2015-04-17 Tobias Jakobi :

> Hello Joonyoung,
> 
> On 2015-04-17 08:30, Joonyoung Shim wrote:
> >Hi Tobias,
> >
> >On 04/16/2015 04:54 AM, Tobias Jakobi wrote:
> >>No component of Exynos DRM uses this field. Perhaps it was
> >>once meant to provide more fine-grained information in
> >>addition to the status stored in the 'enabled' field.
> >>
> >>Reviewed-by: Gustavo Padovan 
> >>Signed-off-by: Tobias Jakobi 
> >>---
> >> drivers/gpu/drm/exynos/exynos_drm_drv.h | 2 --
> >> 1 file changed, 2 deletions(-)
> >>
> >>diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.h
> >>b/drivers/gpu/drm/exynos/exynos_drm_drv.h
> >>index 6a849cf..4c14a89 100644
> >>--- a/drivers/gpu/drm/exynos/exynos_drm_drv.h
> >>+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h
> >>@@ -77,7 +77,6 @@ extern void exynos4412_qos(u8 tm, u8 ac);
> >>  * @color_key: color key on or off.
> >>  * @local_path: in case of lcd type, local path mode on or off.
> >>  * @transparency: transparency on or off.
> >>- * @activated: activated or not.
> >>  * @enabled: enabled or not.
> >>  * @resume: to resume or not.
> >>  *
> >>@@ -112,7 +111,6 @@ struct exynos_drm_plane {
> >>bool color_key:1;
> >>bool local_path:1;
> >>bool transparency:1;
> >>-   bool activated:1;
> >>bool enabled:1;
> >>bool resume:1;
> >> };
> >>
> >
> >The following fields also are unused in exynos drm driver,
> >- default win, color_key, local_path, transparency
> Yeah, looks like it. I just stumbled upon 'activated' because I was
> wondering what the difference between 'enabled' and 'activated' was.
> Grepping than revealed that nothing was using that field. I didn't check any
> other fields.
> 
> Also I just noticed that due to how git formats the patches, this one
> doesn't apply to any of Inki's branches (due to the 'extern void
> exynos4412_qos(u8 tm, u8 ac);' line).
> 
> Should I respin this, and if yes, should I also drop the other fields
> mentioned? Question is more directed to Gustavo, since he's cleaning
> 'exynos_drm_plane' anyway.

Let's remove them now, that doesn't affect my work.

Gustavo
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v5 00/18] Exynos SYSMMU (IOMMU) integration with DT and DMA-mapping subsystem

2015-04-17 Thread Javier Martinez Canillas
Hello Marek,

On Fri, Apr 17, 2015 at 4:48 PM, Marek Szyprowski
 wrote:
> Hello,
>
>
> On 2015-04-17 16:33, Javier Martinez Canillas wrote:
>>
>> Hello Marek,
>>
>> On Wed, Feb 4, 2015 at 3:21 PM, Joerg Roedel  wrote:
>>>
>>> Hi Marek,
>>>
>>> On Fri, Jan 23, 2015 at 04:51:10PM +0100, Marek Szyprowski wrote:

 1. All iommu related patches (with 'iommu: exynos') can be merged to
 iommu tree. They don't have any direct dependencies on the DTS, DRM and
 power domain initialization change - without them the driver will simply
 not initialize, when no exynos,sysmmu nodes are provided in device tree.

 Joerg, could you merge those patches?
>>>
>>> Given the previous comments and tests on this patch set I am still
>>> waiting for some Acked-bys and/or Tested-bys on this. Can you collect
>>> these and resend then (probably after the v3.20 merge window)?
>>>
>> I rebased your patches on top of latest linux-next (next-20150415) and
>> tested it on my Exynos5420 Peach Pit. HDMI display is working
>> correctly (both console and X) when CONFIG_DRM_EXYNOS_IOMMU is
>> enabled. I also see that the mixer is attached to the IOMMU domain:
>>
>> exynos-mixer 1445.mixer: exynos_iommu_attach_device: Attached
>> IOMMU with pgtable 0x6e5e
>> ...
>> exynos-sysmmu 1465.sysmmu: Enabled
>>
>> As I mentioned before [0] on your v4 series, I still have the boot
>> hang when CONFIG_DRM_EXYNOS_FIMD is enabled. You said that the cause
>> is u-boot leaving the FIMD DMA engine enabled and so causing IOMMU
>> page faults on init [1].
>>
>> I tried disabling the display on u-boot but the system hangs remains.
>> But since I do a chain loading using the verified u-boot that comes
>> with the Chromebooks, I don't know if the RO boot-loader is leaving
>> something enabled.
>>
>> In any case since HDMI with sysmmu is working correctly, that issue is
>> orthogonal to your series and can be fixed as a followup so:
>>
>> Tested-by: Javier Martinez Canillas 
>
>
> In meantime I've managed to add UART adapter to our Chromebook Snow and
> finally found the issue with FIMD. It was really nasty to debug, because
> it causes a crash with console lock taken in register_framebuffer(), so
> there was no debug/crash message - only complete system freeze. All this

Yeah, that's why I was not able to find the cause yet. No output
message and just a complete system hang.

> was caused by fimd left enabled by bootloader, but with gate clock
> disabled, so any access to its register caused freeze.
>

Awesome, I'm glad that you figured it out.

Interface clocks being gated that are needed to access registers has
bitten us too many times, didn't it? :-)

> I need to cleanup the patches. I will rebase them and send once 4.1rc1 is
> out. I'm sorry that I didn't let you know earlier, but I'm terribly busy
> with other (internal) stuff right now.
>

No worries, I was also busy with other stuff and just took a look at
this issue again today. I hope my branch could save you some effort
for the rebase then.

>> NOTE: Most of the patches don't apply cleanly so I pushed a branch [2]
>> with my conflict resolution so you don't have to do the same. I also
>> did some small changes like using bool instead of int when were
>> assigning it to true and renaming some of the subject lines to match
>> the format used by the subsystem.
>>
>> What I didn't change is to re-order the sysmmu device nodes according
>> to the unit address that was asked by Andreas since the DTS patches
>> are likely to conflict with the work Krzysztof is doing to use labels
>> instead of overriding nodes in Exynos 4 and 5 DTS[i]. So you may need
>> to change those anyways once Krzysztof patches land.
>
>
> Thanks!
>
>
> Best regards
> --
> Marek Szyprowski, PhD
> Samsung R&D Institute Poland
>

Best regards,
Javier
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 2/2] ARM: dts: Fix pinctrl settings for S2MPS11 RTC alarm IRQ on Arndale Octa

2015-04-17 Thread Krzysztof Kozlowski
2015-04-02 23:36 GMT+09:00 Krzysztof Kozlowski :
> On Arndale Octa the S2MPS11 RTC alarm interrupt was not handled at all
> because of wrong configuration of interrupt and gpx3-2.
> 1. Interrupt is signaled by falling edge.
> 2. This GPIO line is hard-wired on the board to PVDD_APIO_1V8 through a
>resistor so pull-up/down must be disabled.
>
> Signed-off-by: Krzysztof Kozlowski 
> ---
>  arch/arm/boot/dts/exynos5420-arndale-octa.dts | 13 -
>  1 file changed, 12 insertions(+), 1 deletion(-)

Dear Kukjin,

Any comments  on this and other patches. A lot of emails waits for
your opinion. Is there anything I could do to help you in smooth
review or applying?

Best regards,
Krzysztof

>
> diff --git a/arch/arm/boot/dts/exynos5420-arndale-octa.dts 
> b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
> index d78fcd997ce6..97346df31d41 100644
> --- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts
> +++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
> @@ -87,7 +87,9 @@
> s2mps11,buck4-ramp-enable = <1>;
>
> interrupt-parent = <&gpx3>;
> -   interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
> +   interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
> +   pinctrl-names = "default";
> +   pinctrl-0 = <&s2mps11_irq>;
>
> s2mps11_osc: clocks {
> #clock-cells = <1>;
> @@ -379,3 +381,12 @@
> clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
> clock-names = "rtc", "rtc_src";
>  };
> +
> +&pinctrl_0 {
> +   s2mps11_irq: s2mps11-irq {
> +   samsung,pins = "gpx3-2";
> +   samsung,pin-function = <0xf>;
> +   samsung,pin-pud = <0>;
> +   samsung,pin-drv = <0>;
> +   };
> +};
> --
> 1.9.1
>
>
> ___
> linux-arm-kernel mailing list
> linux-arm-ker...@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v5 00/18] Exynos SYSMMU (IOMMU) integration with DT and DMA-mapping subsystem

2015-04-17 Thread Marek Szyprowski

Hello,

On 2015-04-17 16:33, Javier Martinez Canillas wrote:

Hello Marek,

On Wed, Feb 4, 2015 at 3:21 PM, Joerg Roedel  wrote:

Hi Marek,

On Fri, Jan 23, 2015 at 04:51:10PM +0100, Marek Szyprowski wrote:

1. All iommu related patches (with 'iommu: exynos') can be merged to
iommu tree. They don't have any direct dependencies on the DTS, DRM and
power domain initialization change - without them the driver will simply
not initialize, when no exynos,sysmmu nodes are provided in device tree.

Joerg, could you merge those patches?

Given the previous comments and tests on this patch set I am still
waiting for some Acked-bys and/or Tested-bys on this. Can you collect
these and resend then (probably after the v3.20 merge window)?


I rebased your patches on top of latest linux-next (next-20150415) and
tested it on my Exynos5420 Peach Pit. HDMI display is working
correctly (both console and X) when CONFIG_DRM_EXYNOS_IOMMU is
enabled. I also see that the mixer is attached to the IOMMU domain:

exynos-mixer 1445.mixer: exynos_iommu_attach_device: Attached
IOMMU with pgtable 0x6e5e
...
exynos-sysmmu 1465.sysmmu: Enabled

As I mentioned before [0] on your v4 series, I still have the boot
hang when CONFIG_DRM_EXYNOS_FIMD is enabled. You said that the cause
is u-boot leaving the FIMD DMA engine enabled and so causing IOMMU
page faults on init [1].

I tried disabling the display on u-boot but the system hangs remains.
But since I do a chain loading using the verified u-boot that comes
with the Chromebooks, I don't know if the RO boot-loader is leaving
something enabled.

In any case since HDMI with sysmmu is working correctly, that issue is
orthogonal to your series and can be fixed as a followup so:

Tested-by: Javier Martinez Canillas 


In meantime I've managed to add UART adapter to our Chromebook Snow and
finally found the issue with FIMD. It was really nasty to debug, because
it causes a crash with console lock taken in register_framebuffer(), so
there was no debug/crash message - only complete system freeze. All this
was caused by fimd left enabled by bootloader, but with gate clock
disabled, so any access to its register caused freeze.

I need to cleanup the patches. I will rebase them and send once 4.1rc1 is
out. I'm sorry that I didn't let you know earlier, but I'm terribly busy
with other (internal) stuff right now.


NOTE: Most of the patches don't apply cleanly so I pushed a branch [2]
with my conflict resolution so you don't have to do the same. I also
did some small changes like using bool instead of int when were
assigning it to true and renaming some of the subject lines to match
the format used by the subsystem.

What I didn't change is to re-order the sysmmu device nodes according
to the unit address that was asked by Andreas since the DTS patches
are likely to conflict with the work Krzysztof is doing to use labels
instead of overriding nodes in Exynos 4 and 5 DTS[i]. So you may need
to change those anyways once Krzysztof patches land.


Thanks!

Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v5 00/18] Exynos SYSMMU (IOMMU) integration with DT and DMA-mapping subsystem

2015-04-17 Thread Javier Martinez Canillas
Hello Marek,

On Wed, Feb 4, 2015 at 3:21 PM, Joerg Roedel  wrote:
> Hi Marek,
>
> On Fri, Jan 23, 2015 at 04:51:10PM +0100, Marek Szyprowski wrote:
>> 1. All iommu related patches (with 'iommu: exynos') can be merged to
>> iommu tree. They don't have any direct dependencies on the DTS, DRM and
>> power domain initialization change - without them the driver will simply
>> not initialize, when no exynos,sysmmu nodes are provided in device tree.
>>
>> Joerg, could you merge those patches?
>
> Given the previous comments and tests on this patch set I am still
> waiting for some Acked-bys and/or Tested-bys on this. Can you collect
> these and resend then (probably after the v3.20 merge window)?
>

I rebased your patches on top of latest linux-next (next-20150415) and
tested it on my Exynos5420 Peach Pit. HDMI display is working
correctly (both console and X) when CONFIG_DRM_EXYNOS_IOMMU is
enabled. I also see that the mixer is attached to the IOMMU domain:

exynos-mixer 1445.mixer: exynos_iommu_attach_device: Attached
IOMMU with pgtable 0x6e5e
...
exynos-sysmmu 1465.sysmmu: Enabled

As I mentioned before [0] on your v4 series, I still have the boot
hang when CONFIG_DRM_EXYNOS_FIMD is enabled. You said that the cause
is u-boot leaving the FIMD DMA engine enabled and so causing IOMMU
page faults on init [1].

I tried disabling the display on u-boot but the system hangs remains.
But since I do a chain loading using the verified u-boot that comes
with the Chromebooks, I don't know if the RO boot-loader is leaving
something enabled.

In any case since HDMI with sysmmu is working correctly, that issue is
orthogonal to your series and can be fixed as a followup so:

Tested-by: Javier Martinez Canillas 

NOTE: Most of the patches don't apply cleanly so I pushed a branch [2]
with my conflict resolution so you don't have to do the same. I also
did some small changes like using bool instead of int when were
assigning it to true and renaming some of the subject lines to match
the format used by the subsystem.

What I didn't change is to re-order the sysmmu device nodes according
to the unit address that was asked by Andreas since the DTS patches
are likely to conflict with the work Krzysztof is doing to use labels
instead of overriding nodes in Exynos 4 and 5 DTS[i]. So you may need
to change those anyways once Krzysztof patches land.

Best regards,
Javier

[0]: 
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-January/317727.html
[1]: 
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-January/319178.html
[2]: 
http://cgit.collabora.com/git/user/javier/linux.git/log/?h=next20150415-exynos-iommu
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 5/7] ARM: dts: exynos5: Use labels for overriding nodes in Exynos5420

2015-04-17 Thread Krzysztof Kozlowski
Usage of labels instead of full paths reduces possible mistakes when
overriding nodes. Additionally remove duplicated serial and uart labels
for serial

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos5420-peach-pit.dts |  2 +-
 arch/arm/boot/dts/exynos5420.dtsi  | 80 +++---
 arch/arm/boot/dts/exynos5800-peach-pi.dts  |  2 +-
 3 files changed, 42 insertions(+), 42 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts 
b/arch/arm/boot/dts/exynos5420-peach-pit.dts
index 0788d08fb43e..d5921ffe1e0e 100644
--- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
+++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
@@ -1026,7 +1026,7 @@
};
 };
 
-&uart_3 {
+&serial_3 {
status = "okay";
 };
 
diff --git a/arch/arm/boot/dts/exynos5420.dtsi 
b/arch/arm/boot/dts/exynos5420.dtsi
index f67b23f303c3..0ba0004aae44 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -328,13 +328,6 @@
interrupts = <0 47 0>;
};
 
-   rtc: rtc@101E {
-   clocks = <&clock CLK_RTC>;
-   clock-names = "rtc";
-   interrupt-parent = <&pmu_system_controller>;
-   status = "disabled";
-   };
-
amba {
#address-cells = <1>;
#size-cells = <1>;
@@ -496,26 +489,6 @@
status = "disabled";
};
 
-   uart_0: serial@12C0 {
-   clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
-   clock-names = "uart", "clk_uart_baud0";
-   };
-
-   uart_1: serial@12C1 {
-   clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
-   clock-names = "uart", "clk_uart_baud0";
-   };
-
-   uart_2: serial@12C2 {
-   clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
-   clock-names = "uart", "clk_uart_baud0";
-   };
-
-   uart_3: serial@12C3 {
-   clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
-   clock-names = "uart", "clk_uart_baud0";
-   };
-
pwm: pwm@12dd {
compatible = "samsung,exynos4210-pwm";
reg = <0x12dd 0x100>;
@@ -531,13 +504,6 @@
#phy-cells = <0>;
};
 
-   dp: dp-controller@145B {
-   clocks = <&clock CLK_DP1>;
-   clock-names = "dp";
-   phys = <&dp_phy>;
-   phy-names = "dp";
-   };
-
mipi_phy: video-phy@10040714 {
compatible = "samsung,s5pv210-mipi-video-phy";
reg = <0x10040714 12>;
@@ -557,12 +523,6 @@
status = "disabled";
};
 
-   fimd: fimd@1440 {
-   clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
-   clock-names = "sclk_fimd", "fimd";
-   power-domains = <&disp_pd>;
-   };
-
adc: adc@12D1 {
compatible = "samsung,exynos-adc-v2";
reg = <0x12D1 0x100>;
@@ -962,3 +922,43 @@
samsung,pmureg-phandle = <&pmu_system_controller>;
};
 };
+
+&dp {
+   clocks = <&clock CLK_DP1>;
+   clock-names = "dp";
+   phys = <&dp_phy>;
+   phy-names = "dp";
+};
+
+&fimd {
+   clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
+   clock-names = "sclk_fimd", "fimd";
+   power-domains = <&disp_pd>;
+};
+
+&rtc {
+   clocks = <&clock CLK_RTC>;
+   clock-names = "rtc";
+   interrupt-parent = <&pmu_system_controller>;
+   status = "disabled";
+};
+
+&serial_0 {
+   clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
+   clock-names = "uart", "clk_uart_baud0";
+};
+
+&serial_1 {
+   clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
+   clock-names = "uart", "clk_uart_baud0";
+};
+
+&serial_2 {
+   clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
+   clock-names = "uart", "clk_uart_baud0";
+};
+
+&serial_3 {
+   clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
+   clock-names = "uart", "clk_uart_baud0";
+};
diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts 
b/arch/arm/boot/dts/exynos5800-peach-pi.dts
index 412f41d62686..3a1c46378460 100644
--- a/arch/arm/boot/dts/exynos5800-peach-pi.dts
+++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts
@@ -989,7 +989,7 @@
};
 };
 
-&uart_3 {
+&serial_3 {
status = "okay";
 };
 
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 6/7] ARM: dts: exynos5: Use labels for overriding nodes in SMDK5420

2015-04-17 Thread Krzysztof Kozlowski
Usage of labels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos5420-smdk5420.dts | 645 +++---
 1 file changed, 323 insertions(+), 322 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5420-smdk5420.dts 
b/arch/arm/boot/dts/exynos5420-smdk5420.dts
index 9103f2381a6d..98871f972c8a 100644
--- a/arch/arm/boot/dts/exynos5420-smdk5420.dts
+++ b/arch/arm/boot/dts/exynos5420-smdk5420.dts
@@ -64,105 +64,6 @@
};
};
 
-   rtc@101E {
-   status = "okay";
-   };
-
-   codec@1100 {
-   samsung,mfc-r = <0x4300 0x80>;
-   samsung,mfc-l = <0x5100 0x80>;
-   };
-
-   mmc@1220 {
-   status = "okay";
-   broken-cd;
-   card-detect-delay = <200>;
-   samsung,dw-mshc-ciu-div = <3>;
-   samsung,dw-mshc-sdr-timing = <0 4>;
-   samsung,dw-mshc-ddr-timing = <0 2>;
-   samsung,dw-mshc-hs400-timing = <0 2>;
-   samsung,read-strobe-delay = <90>;
-   pinctrl-names = "default";
-   pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8
-&sd0_rclk>;
-   bus-width = <8>;
-   cap-mmc-highspeed;
-   };
-
-   mmc@1222 {
-   status = "okay";
-   card-detect-delay = <200>;
-   samsung,dw-mshc-ciu-div = <3>;
-   samsung,dw-mshc-sdr-timing = <2 3>;
-   samsung,dw-mshc-ddr-timing = <1 2>;
-   pinctrl-names = "default";
-   pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
-   bus-width = <4>;
-   cap-sd-highspeed;
-   };
-
-   dp-controller@145B {
-   pinctrl-names = "default";
-   pinctrl-0 = <&dp_hpd>;
-   samsung,color-space = <0>;
-   samsung,dynamic-range = <0>;
-   samsung,ycbcr-coeff = <0>;
-   samsung,color-depth = <1>;
-   samsung,link-rate = <0x0a>;
-   samsung,lane-count = <4>;
-   status = "okay";
-   };
-
-   fimd@1440 {
-   status = "okay";
-   display-timings {
-   native-mode = <&timing0>;
-   timing0: timing@0 {
-   clock-frequency = <5>;
-   hactive = <2560>;
-   vactive = <1600>;
-   hfront-porch = <48>;
-   hback-porch = <80>;
-   hsync-len = <32>;
-   vback-porch = <16>;
-   vfront-porch = <8>;
-   vsync-len = <6>;
-   };
-   };
-   };
-
-   pinctrl@1340 {
-   hdmi_hpd_irq: hdmi-hpd-irq {
-   samsung,pins = "gpx3-7";
-   samsung,pin-function = <0>;
-   samsung,pin-pud = <1>;
-   samsung,pin-drv = <0>;
-   };
-   };
-
-   pinctrl@1400 {
-   usb300_vbus_en: usb300-vbus-en {
-   samsung,pins = "gpg0-5";
-   samsung,pin-function = <1>;
-   samsung,pin-pud = <0>;
-   samsung,pin-drv = <0>;
-   };
-
-   usb301_vbus_en: usb301-vbus-en {
-   samsung,pins = "gpg1-4";
-   samsung,pin-function = <1>;
-   samsung,pin-pud = <0>;
-   samsung,pin-drv = <0>;
-   };
-   };
-
-   hdmi@1453 {
-   status = "okay";
-   hpd-gpio = <&gpx3 7 0>;
-   pinctrl-names = "default";
-   pinctrl-0 = <&hdmi_hpd_irq>;
-   };
-
usb300_vbus_reg: regulator-usb300 {
compatible = "regulator-fixed";
regulator-name = "VBUS0";
@@ -185,238 +86,338 @@
enable-active-high;
};
 
-   phy@1210 {
-   vbus-supply = <&usb300_vbus_reg>;
-   };
+};
 
-   phy@1250 {
-   vbus-supply = <&usb301_vbus_reg>;
+&dp {
+   pinctrl-names = "default";
+   pinctrl-0 = <&dp_hpd>;
+   samsung,color-space = <0>;
+   samsung,dynamic-range = <0>;
+   samsung,ycbcr-coeff = <0>;
+   samsung,color-depth = <1>;
+   samsung,link-rate = <0x0a>;
+   samsung,lane-count = <4>;
+   status = "okay";
+};
+
+&fimd {
+   status = "okay";
+   display-timings {
+   native-mode = <&timing0>;
+   timing0: timing@0 {
+   clock-frequency = <5>;
+   hactive = <2560>;
+   vactive = <1600>;
+   

[PATCH v2 7/7] ARM: dts: exynos5: Use labels for overriding nodes in Exynos5440 boards

2015-04-17 Thread Krzysztof Kozlowski
Usage of labels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos5440-sd5v1.dts| 10 ++--
 arch/arm/boot/dts/exynos5440-ssdk5440.dts | 85 +++
 2 files changed, 47 insertions(+), 48 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5440-sd5v1.dts 
b/arch/arm/boot/dts/exynos5440-sd5v1.dts
index 268609a42b2c..a98501bab6fc 100644
--- a/arch/arm/boot/dts/exynos5440-sd5v1.dts
+++ b/arch/arm/boot/dts/exynos5440-sd5v1.dts
@@ -27,13 +27,13 @@
};
};
 
-   gmac: ethernet@0023 {
-   fixed_phy;
-   phy_addr = <1>;
-   };
-
spi {
status = "disabled";
};
 
 };
+
+&gmac {
+   fixed_phy;
+   phy_addr = <1>;
+};
diff --git a/arch/arm/boot/dts/exynos5440-ssdk5440.dts 
b/arch/arm/boot/dts/exynos5440-ssdk5440.dts
index ff55dac6e219..e4443f4e6572 100644
--- a/arch/arm/boot/dts/exynos5440-ssdk5440.dts
+++ b/arch/arm/boot/dts/exynos5440-ssdk5440.dts
@@ -20,59 +20,58 @@
bootargs = "root=/dev/sda2 rw rootwait ignore_loglevel 
earlyprintk no_console_suspend mem=2048M@0x8000 mem=6144M@0x1 
console=ttySAC0,115200";
};
 
-   spi_0: spi@D {
-
-   flash: w25q128@0 {
-   #address-cells = <1>;
-   #size-cells = <1>;
-   compatible = "winbond,w25q128";
-   spi-max-frequency = <15625000>;
-   reg = <0>;
-   controller-data {
-   samsung,spi-feedback-delay = <0>;
-   };
+   fixed-rate-clocks {
+   xtal {
+   compatible = "samsung,clock-xtal";
+   clock-frequency = <5000>;
+   };
+   };
+};
 
-   partition@0 {
-   label = "BootLoader";
-   reg = <0x6 0x8>;
-   read-only;
-   };
+&pcie_0 {
+   reset-gpio = <&pin_ctrl 5 0>;
+   status = "okay";
+};
 
-   partition@e {
-   label = "Recovery-Kernel";
-   reg = <0xe 0x30>;
-   read-only;
-   };
+&pcie_1 {
+   reset-gpio = <&pin_ctrl 22 0>;
+   status = "okay";
+};
 
-   partition@3e {
-   label = "CRAM-FS";
-   reg = <0x3e 0x70>;
-   read-only;
-   };
+&spi_0 {
+   flash: w25q128@0 {
+   #address-cells = <1>;
+   #size-cells = <1>;
+   compatible = "winbond,w25q128";
+   spi-max-frequency = <15625000>;
+   reg = <0>;
+   controller-data {
+   samsung,spi-feedback-delay = <0>;
+   };
 
-   partition@ae {
-   label = "User-Data";
-   reg = <0xae 0x52>;
-   };
+   partition@0 {
+   label = "BootLoader";
+   reg = <0x6 0x8>;
+   read-only;
+   };
 
+   partition@e {
+   label = "Recovery-Kernel";
+   reg = <0xe 0x30>;
+   read-only;
};
 
-   };
+   partition@3e {
+   label = "CRAM-FS";
+   reg = <0x3e 0x70>;
+   read-only;
+   };
 
-   fixed-rate-clocks {
-   xtal {
-   compatible = "samsung,clock-xtal";
-   clock-frequency = <5000>;
+   partition@ae {
+   label = "User-Data";
+   reg = <0xae 0x52>;
};
-   };
 
-   pcie@29 {
-   reset-gpio = <&pin_ctrl 5 0>;
-   status = "okay";
};
 
-   pcie@2a {
-   reset-gpio = <&pin_ctrl 22 0>;
-   status = "okay";
-   };
 };
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 4/7] ARM: dts: exynos5: Use labels for overriding nodes in Arndale Octa

2015-04-17 Thread Krzysztof Kozlowski
Usage of labels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos5420-arndale-octa.dts | 634 +-
 1 file changed, 317 insertions(+), 317 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5420-arndale-octa.dts 
b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
index 97346df31d41..7eb0e6b703bf 100644
--- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts
+++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
@@ -39,323 +39,6 @@
};
};
 
-   codec@1100 {
-   samsung,mfc-r = <0x4300 0x80>;
-   samsung,mfc-l = <0x5100 0x80>;
-   };
-
-   mmc@1220 {
-   status = "okay";
-   broken-cd;
-   card-detect-delay = <200>;
-   samsung,dw-mshc-ciu-div = <3>;
-   samsung,dw-mshc-sdr-timing = <0 4>;
-   samsung,dw-mshc-ddr-timing = <0 2>;
-   pinctrl-names = "default";
-   pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
-   vmmc-supply = <&ldo10_reg>;
-   bus-width = <8>;
-   cap-mmc-highspeed;
-   };
-
-   mmc@1222 {
-   status = "okay";
-   card-detect-delay = <200>;
-   samsung,dw-mshc-ciu-div = <3>;
-   samsung,dw-mshc-sdr-timing = <2 3>;
-   samsung,dw-mshc-ddr-timing = <1 2>;
-   pinctrl-names = "default";
-   pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
-   vmmc-supply = <&ldo19_reg>;
-   vqmmc-supply = <&ldo13_reg>;
-   bus-width = <4>;
-   cap-sd-highspeed;
-   };
-
-   hsi2c_4: i2c@12CA {
-   status = "okay";
-
-   s2mps11_pmic@66 {
-   compatible = "samsung,s2mps11-pmic";
-   reg = <0x66>;
-   s2mps11,buck2-ramp-delay = <12>;
-   s2mps11,buck34-ramp-delay = <12>;
-   s2mps11,buck16-ramp-delay = <12>;
-   s2mps11,buck6-ramp-enable = <1>;
-   s2mps11,buck2-ramp-enable = <1>;
-   s2mps11,buck3-ramp-enable = <1>;
-   s2mps11,buck4-ramp-enable = <1>;
-
-   interrupt-parent = <&gpx3>;
-   interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
-   pinctrl-names = "default";
-   pinctrl-0 = <&s2mps11_irq>;
-
-   s2mps11_osc: clocks {
-   #clock-cells = <1>;
-   clock-output-names = "s2mps11_ap",
-   "s2mps11_cp", "s2mps11_bt";
-   };
-
-   regulators {
-   ldo1_reg: LDO1 {
-   regulator-name = "PVDD_ALIVE_1V0";
-   regulator-min-microvolt = <100>;
-   regulator-max-microvolt = <100>;
-   regulator-always-on;
-   };
-
-   ldo2_reg: LDO2 {
-   regulator-name = "PVDD_APIO_1V8";
-   regulator-min-microvolt = <180>;
-   regulator-max-microvolt = <180>;
-   };
-
-   ldo3_reg: LDO3 {
-   regulator-name = "PVDD_APIO_MMCON_1V8";
-   regulator-min-microvolt = <180>;
-   regulator-max-microvolt = <180>;
-   regulator-always-on;
-   };
-
-   ldo4_reg: LDO4 {
-   regulator-name = "PVDD_ADC_1V8";
-   regulator-min-microvolt = <180>;
-   regulator-max-microvolt = <180>;
-   };
-
-   ldo5_reg: LDO5 {
-   regulator-name = "PVDD_PLL_1V8";
-   regulator-min-microvolt = <180>;
-   regulator-max-microvolt = <180>;
-   regulator-always-on;
-   };
-
-   ldo6_reg: LDO6 {
-   regulator-name = "PVDD_ANAIP_1V0";
-   regulator-min-microvolt = <100>;
-   regulator-max-microvolt = <100>;
-   };
-
- 

[PATCH v2 3/7] ARM: dts: exynos5: Remove duplicated I2C7 nodes in Snow

2015-04-17 Thread Krzysztof Kozlowski
The i2c_7 node (i2c@12CD) with LVDS bridge child node was put in
Exynos5250 Snow DTS file twice. Move the LVDS bridge to proper existing
i2c_7 node.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos5250-snow.dts | 46 +--
 1 file changed, 22 insertions(+), 24 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5250-snow.dts 
b/arch/arm/boot/dts/exynos5250-snow.dts
index 2657e842e5a5..7ecdad0517e7 100644
--- a/arch/arm/boot/dts/exynos5250-snow.dts
+++ b/arch/arm/boot/dts/exynos5250-snow.dts
@@ -177,30 +177,6 @@
};
};
 
-   i2c@12CD {
-   ptn3460: lvds-bridge@20 {
-   compatible = "nxp,ptn3460";
-   reg = <0x20>;
-   powerdown-gpios = <&gpy2 5 GPIO_ACTIVE_HIGH>;
-   reset-gpios = <&gpx1 5 GPIO_ACTIVE_HIGH>;
-   edid-emulation = <5>;
-
-   ports {
-   port@0 {
-   bridge_out: endpoint {
-   remote-endpoint = <&panel_in>;
-   };
-   };
-
-   port@1 {
-   bridge_in: endpoint {
-   remote-endpoint = <&dp_out>;
-   };
-   };
-   };
-   };
-   };
-
sound {
compatible = "google,snow-audio-max98095";
 
@@ -507,6 +483,28 @@
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
 
+   ptn3460: lvds-bridge@20 {
+   compatible = "nxp,ptn3460";
+   reg = <0x20>;
+   powerdown-gpios = <&gpy2 5 GPIO_ACTIVE_HIGH>;
+   reset-gpios = <&gpx1 5 GPIO_ACTIVE_HIGH>;
+   edid-emulation = <5>;
+
+   ports {
+   port@0 {
+   bridge_out: endpoint {
+   remote-endpoint = <&panel_in>;
+   };
+   };
+
+   port@1 {
+   bridge_in: endpoint {
+   remote-endpoint = <&dp_out>;
+   };
+   };
+   };
+   };
+
max98095: codec@11 {
compatible = "maxim,max98095";
reg = <0x11>;
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 1/7] ARM: dts: Add labels to Exynos5 nodes

2015-04-17 Thread Krzysztof Kozlowski
Add new labels to certain nodes so they could be easily referenced by
Exynos5 board DTS files.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos5.dtsi| 6 +++---
 arch/arm/boot/dts/exynos5440.dtsi | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5.dtsi b/arch/arm/boot/dts/exynos5.dtsi
index 056251599c69..e0f00bde7b14 100644
--- a/arch/arm/boot/dts/exynos5.dtsi
+++ b/arch/arm/boot/dts/exynos5.dtsi
@@ -81,14 +81,14 @@
interrupts = <0 54 0>;
};
 
-   rtc@101E {
+   rtc: rtc@101E {
compatible = "samsung,s3c6410-rtc";
reg = <0x101E 0x100>;
interrupts = <0 43 0>, <0 44 0>;
status = "disabled";
};
 
-   fimd@1440 {
+   fimd: fimd@1440 {
compatible = "samsung,exynos5250-fimd";
interrupt-parent = <&combiner>;
reg = <0x1440 0x4>;
@@ -98,7 +98,7 @@
status = "disabled";
};
 
-   dp-controller@145B {
+   dp: dp-controller@145B {
compatible = "samsung,exynos5-dp";
reg = <0x145B 0x1000>;
interrupts = <10 3>;
diff --git a/arch/arm/boot/dts/exynos5440.dtsi 
b/arch/arm/boot/dts/exynos5440.dtsi
index 59d9416b3b03..f18b51f2eeaa 100644
--- a/arch/arm/boot/dts/exynos5440.dtsi
+++ b/arch/arm/boot/dts/exynos5440.dtsi
@@ -279,7 +279,7 @@
clock-names = "usbhost";
};
 
-   pcie@29 {
+   pcie_0: pcie@29 {
compatible = "samsung,exynos5440-pcie", "snps,dw-pcie";
reg = <0x29 0x1000
0x27 0x1000
@@ -300,7 +300,7 @@
status = "disabled";
};
 
-   pcie@2a {
+   pcie_1: pcie@2a {
compatible = "samsung,exynos5440-pcie", "snps,dw-pcie";
reg = <0x2a 0x1000
0x272000 0x1000
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 2/7] ARM: dts: exynos5: Use labels for overriding nodes in Exynos5250

2015-04-17 Thread Krzysztof Kozlowski
Usage of labels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos5250.dtsi | 82 +++
 1 file changed, 41 insertions(+), 41 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5250.dtsi 
b/arch/arm/boot/dts/exynos5250.dtsi
index 257e2f10525d..916871bb3f05 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -241,13 +241,6 @@
clock-names = "mfc";
};
 
-   rtc: rtc@101E {
-   clocks = <&clock CLK_RTC>;
-   clock-names = "rtc";
-   interrupt-parent = <&pmu_system_controller>;
-   status = "disabled";
-   };
-
tmu: tmu@1006 {
compatible = "samsung,exynos5250-tmu";
reg = <0x1006 0x100>;
@@ -276,26 +269,6 @@
};
};
 
-   serial@12C0 {
-   clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
-   clock-names = "uart", "clk_uart_baud0";
-   };
-
-   serial@12C1 {
-   clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
-   clock-names = "uart", "clk_uart_baud0";
-   };
-
-   serial@12C2 {
-   clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
-   clock-names = "uart", "clk_uart_baud0";
-   };
-
-   serial@12C3 {
-   clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
-   clock-names = "uart", "clk_uart_baud0";
-   };
-
sata: sata@122F {
compatible = "snps,dwc-ahci";
samsung,sata-freq = <66>;
@@ -778,20 +751,6 @@
#phy-cells = <0>;
};
 
-   dp: dp-controller@145B {
-   power-domains = <&pd_disp1>;
-   clocks = <&clock CLK_DP>;
-   clock-names = "dp";
-   phys = <&dp_phy>;
-   phy-names = "dp";
-   };
-
-   fimd: fimd@1440 {
-   power-domains = <&pd_disp1>;
-   clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
-   clock-names = "sclk_fimd", "fimd";
-   };
-
adc: adc@12D1 {
compatible = "samsung,exynos-adc-v1";
reg = <0x12D1 0x100>;
@@ -812,3 +771,44 @@
clock-names = "secss";
};
 };
+
+&dp {
+   power-domains = <&pd_disp1>;
+   clocks = <&clock CLK_DP>;
+   clock-names = "dp";
+   phys = <&dp_phy>;
+   phy-names = "dp";
+};
+
+&fimd {
+   power-domains = <&pd_disp1>;
+   clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
+   clock-names = "sclk_fimd", "fimd";
+};
+
+&rtc {
+   clocks = <&clock CLK_RTC>;
+   clock-names = "rtc";
+   interrupt-parent = <&pmu_system_controller>;
+   status = "disabled";
+};
+
+&serial_0 {
+   clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
+   clock-names = "uart", "clk_uart_baud0";
+};
+
+&serial_1 {
+   clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
+   clock-names = "uart", "clk_uart_baud0";
+};
+
+&serial_2 {
+   clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
+   clock-names = "uart", "clk_uart_baud0";
+};
+
+&serial_3 {
+   clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
+   clock-names = "uart", "clk_uart_baud0";
+};
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 0/7] ARM: dts: exynos5: labels for overriding nodes

2015-04-17 Thread Krzysztof Kozlowski
Hi,


Changes since v1

1. Re-phrased the description (phandle->label). Suggested by Arnd.

Description
===
The label-based notation reduces possible mistakes when overriding
nodes by child DTSI and board files and reduces duplication
of addresses.

The patchset refactors Exynos5 boards to use labels for overriding nodes.

Tested by comparison of decompiled DTB for each commit.


Patchset depends (to reduce conflicts) on following patches:
1. v2: ARM: dts: Enable S3C RTC on Trats2 and Arndale Octa
   http://www.spinics.net/lists/arm-kernel/msg410429.html
2. ARM: dts: Fix pinctrl settings for S2MPS11 RTC alarm IRQ on Arndale Octa
   http://www.spinics.net/lists/linux-samsung-soc/msg43435.html


Best regards,
Krzysztof

Krzysztof Kozlowski (7):
  ARM: dts: Add labels to Exynos5 nodes
  ARM: dts: exynos5: Use labels for overriding nodes in Exynos5250
  ARM: dts: exynos5: Remove duplicated I2C7 nodes in Snow
  ARM: dts: exynos5: Use labels for overriding nodes in Arndale Octa
  ARM: dts: exynos5: Use labels for overriding nodes in Exynos5420
  ARM: dts: exynos5: Use labels for overriding nodes in SMDK5420
  ARM: dts: exynos5: Use labels for overriding nodes in Exynos5440
boards

 arch/arm/boot/dts/exynos5.dtsi|   6 +-
 arch/arm/boot/dts/exynos5250-snow.dts |  46 +-
 arch/arm/boot/dts/exynos5250.dtsi |  82 ++--
 arch/arm/boot/dts/exynos5420-arndale-octa.dts | 634 -
 arch/arm/boot/dts/exynos5420-peach-pit.dts|   2 +-
 arch/arm/boot/dts/exynos5420-smdk5420.dts | 645 +-
 arch/arm/boot/dts/exynos5420.dtsi |  80 ++--
 arch/arm/boot/dts/exynos5440-sd5v1.dts|  10 +-
 arch/arm/boot/dts/exynos5440-ssdk5440.dts |  85 ++--
 arch/arm/boot/dts/exynos5440.dtsi |   4 +-
 arch/arm/boot/dts/exynos5800-peach-pi.dts |   2 +-
 11 files changed, 797 insertions(+), 799 deletions(-)

-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v3 05/11] ARM: dts: exynos4: Use labels for overriding nodes in Trats

2015-04-17 Thread Krzysztof Kozlowski
Usage of labels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4210-trats.dts | 592 -
 1 file changed, 296 insertions(+), 296 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4210-trats.dts 
b/arch/arm/boot/dts/exynos4210-trats.dts
index 32c5fd8f6269..98f3ce65cb9a 100644
--- a/arch/arm/boot/dts/exynos4210-trats.dts
+++ b/arch/arm/boot/dts/exynos4210-trats.dts
@@ -89,42 +89,6 @@
};
};
 
-   hsotg@1248 {
-   vusb_d-supply = <&vusb_reg>;
-   vusb_a-supply = <&vusbdac_reg>;
-   dr_mode = "peripheral";
-   status = "okay";
-   };
-
-   sdhci_emmc: sdhci@1251 {
-   bus-width = <8>;
-   non-removable;
-   pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
-   pinctrl-names = "default";
-   vmmc-supply = <&vemmc_reg>;
-   status = "okay";
-   };
-
-   exynos-usbphy@125B {
-   status = "okay";
-   };
-
-   serial@1380 {
-   status = "okay";
-   };
-
-   serial@1381 {
-   status = "okay";
-   };
-
-   serial@1382 {
-   status = "okay";
-   };
-
-   serial@1383 {
-   status = "okay";
-   };
-
gpio-keys {
compatible = "gpio-keys";
 
@@ -158,201 +122,6 @@
};
};
 
-   i2c@1389 {
-   samsung,i2c-sda-delay = <100>;
-   samsung,i2c-slave-addr = <0x10>;
-   samsung,i2c-max-bus-freq = <40>;
-   pinctrl-0 = <&i2c3_bus>;
-   pinctrl-names = "default";
-   status = "okay";
-
-   mms114-touchscreen@48 {
-   compatible = "melfas,mms114";
-   reg = <0x48>;
-   interrupt-parent = <&gpx0>;
-   interrupts = <4 2>;
-   x-size = <720>;
-   y-size = <1280>;
-   avdd-supply = <&tsp_reg>;
-   vdd-supply = <&tsp_reg>;
-   };
-   };
-
-   i2c@138B {
-   samsung,i2c-sda-delay = <100>;
-   samsung,i2c-slave-addr = <0x10>;
-   samsung,i2c-max-bus-freq = <10>;
-   pinctrl-0 = <&i2c5_bus>;
-   pinctrl-names = "default";
-   status = "okay";
-
-   max8997_pmic@66 {
-   compatible = "maxim,max8997-pmic";
-
-   reg = <0x66>;
-
-   max8997,pmic-buck1-uses-gpio-dvs;
-   max8997,pmic-buck2-uses-gpio-dvs;
-   max8997,pmic-buck5-uses-gpio-dvs;
-
-   max8997,pmic-ignore-gpiodvs-side-effect;
-   max8997,pmic-buck125-default-dvs-idx = <0>;
-
-   max8997,pmic-buck125-dvs-gpios = <&gpx0 5 0>,
-<&gpx0 6 0>,
-<&gpl0 0 0>;
-
-   max8997,pmic-buck1-dvs-voltage = <135>, <130>,
-<125>, <120>,
-<115>, <110>,
-<100>, <95>;
-
-   max8997,pmic-buck2-dvs-voltage = <110>, <100>,
-<95>,  <90>,
-<110>, <100>,
-<95>,  <90>;
-
-   max8997,pmic-buck5-dvs-voltage = <120>, <120>,
-<120>, <120>,
-<120>, <120>,
-<120>, <120>;
-
-   regulators {
-   valive_reg: LDO2 {
-regulator-name = "VALIVE_1.1V_C210";
-regulator-min-microvolt = <110>;
-regulator-max-microvolt = <110>;
-regulator-always-on;
-   };
-
-   vusb_reg: LDO3 {
-regulator-name = "VUSB_1.1V_C210";
-regulator-min-microvolt = <110>;
-regulator-max-microvolt = <110>;
-   };
-
-   vmipi_reg: LDO4 {
-regulator-name = "VMIPI_1.8V";
-   

[PATCH v3 10/11] ARM: dts: exynos4: Use labels for overriding nodes in SMDK4412

2015-04-17 Thread Krzysztof Kozlowski
Usage of labels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4412-smdk4412.dts | 210 +++---
 1 file changed, 105 insertions(+), 105 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4412-smdk4412.dts 
b/arch/arm/boot/dts/exynos4412-smdk4412.dts
index b9256afbcc68..c2421df1fa43 100644
--- a/arch/arm/boot/dts/exynos4412-smdk4412.dts
+++ b/arch/arm/boot/dts/exynos4412-smdk4412.dts
@@ -28,135 +28,135 @@
stdout-path = &serial_1;
};
 
-   g2d@1080 {
-   status = "okay";
-   };
-
-   pinctrl@1100 {
-   keypad_rows: keypad-rows {
-   samsung,pins = "gpx2-0", "gpx2-1", "gpx2-2";
-   samsung,pin-function = <3>;
-   samsung,pin-pud = <3>;
-   samsung,pin-drv = <0>;
+   fixed-rate-clocks {
+   xxti {
+   compatible = "samsung,clock-xxti";
+   clock-frequency = <0>;
};
 
-   keypad_cols: keypad-cols {
-   samsung,pins = "gpx1-0", "gpx1-1", "gpx1-2", "gpx1-3",
-  "gpx1-4", "gpx1-5", "gpx1-6", "gpx1-7";
-   samsung,pin-function = <3>;
-   samsung,pin-pud = <0>;
-   samsung,pin-drv = <0>;
+   xusbxti {
+   compatible = "samsung,clock-xusbxti";
+   clock-frequency = <2400>;
};
};
+};
 
-   keypad@100A {
-   samsung,keypad-num-rows = <3>;
-   samsung,keypad-num-columns = <8>;
-   linux,keypad-no-autorepeat;
-   linux,keypad-wakeup;
-   pinctrl-0 = <&keypad_rows &keypad_cols>;
-   pinctrl-names = "default";
-   status = "okay";
-
-   key_1 {
-   keypad,row = <1>;
-   keypad,column = <3>;
-   linux,code = <2>;
-   };
-
-   key_2 {
-   keypad,row = <1>;
-   keypad,column = <4>;
-   linux,code = <3>;
-   };
-
-   key_3 {
-   keypad,row = <1>;
-   keypad,column = <5>;
-   linux,code = <4>;
-   };
-
-   key_4 {
-   keypad,row = <1>;
-   keypad,column = <6>;
-   linux,code = <5>;
-   };
+&g2d {
+   status = "okay";
+};
 
-   key_5 {
-   keypad,row = <1>;
-   keypad,column = <7>;
-   linux,code = <6>;
-   };
+&keypad {
+   samsung,keypad-num-rows = <3>;
+   samsung,keypad-num-columns = <8>;
+   linux,keypad-no-autorepeat;
+   linux,keypad-wakeup;
+   pinctrl-0 = <&keypad_rows &keypad_cols>;
+   pinctrl-names = "default";
+   status = "okay";
+
+   key_1 {
+   keypad,row = <1>;
+   keypad,column = <3>;
+   linux,code = <2>;
+   };
 
-   key_A {
-   keypad,row = <2>;
-   keypad,column = <6>;
-   linux,code = <30>;
-   };
+   key_2 {
+   keypad,row = <1>;
+   keypad,column = <4>;
+   linux,code = <3>;
+   };
 
-   key_B {
-   keypad,row = <2>;
-   keypad,column = <7>;
-   linux,code = <48>;
-   };
+   key_3 {
+   keypad,row = <1>;
+   keypad,column = <5>;
+   linux,code = <4>;
+   };
 
-   key_C {
-   keypad,row = <0>;
-   keypad,column = <5>;
-   linux,code = <46>;
-   };
+   key_4 {
+   keypad,row = <1>;
+   keypad,column = <6>;
+   linux,code = <5>;
+   };
 
-   key_D {
-   keypad,row = <2>;
-   keypad,column = <5>;
-   linux,code = <32>;
-   };
+   key_5 {
+   keypad,row = <1>;
+   keypad,column = <7>;
+   linux,code = <6>;
+   };
 
-   key_E {
-   keypad,row = <0>;
-   keypad,column = <7>;
-   linux,code = <18>;
-   };
+   key_A {
+   keypad,row = <2>;
+   keypad,column = <6>;
+   linux,code = <30>;
};
 
-   sdhci@1253 {
-   bus-width = <4>;
-   pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
-   pinctrl-names = "default";
-   st

[PATCH v3 08/11] ARM: dts: exynos4: Use labels for overriding nodes in Exynos4412

2015-04-17 Thread Krzysztof Kozlowski
Usage of labels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4412.dtsi | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4412.dtsi 
b/arch/arm/boot/dts/exynos4412.dtsi
index 68ad43b391ae..b78ada70bd05 100644
--- a/arch/arm/boot/dts/exynos4412.dtsi
+++ b/arch/arm/boot/dts/exynos4412.dtsi
@@ -54,19 +54,19 @@
};
};
 
-   combiner: interrupt-controller@1044 {
-   samsung,combiner-nr = <20>;
-   };
-
pmu {
interrupts = <2 2>, <3 2>, <18 2>, <19 2>;
};
+};
 
-   gic: interrupt-controller@1049 {
-   cpu-offset = <0x4000>;
-   };
+&pmu_system_controller {
+   compatible = "samsung,exynos4412-pmu", "syscon";
+};
 
-   pmu_system_controller: system-controller@1002 {
-   compatible = "samsung,exynos4412-pmu", "syscon";
-   };
+&combiner {
+   samsung,combiner-nr = <20>;
+};
+
+&gic {
+   cpu-offset = <0x4000>;
 };
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v3 11/11] ARM: dts: exynos4: Use labels for overriding nodes in Trats2

2015-04-17 Thread Krzysztof Kozlowski
Usage of labels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4412-trats2.dts | 1331 ---
 1 file changed, 666 insertions(+), 665 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4412-trats2.dts 
b/arch/arm/boot/dts/exynos4412-trats2.dts
index 173ffa479ad3..e83929c2dc90 100644
--- a/arch/arm/boot/dts/exynos4412-trats2.dts
+++ b/arch/arm/boot/dts/exynos4412-trats2.dts
@@ -130,411 +130,6 @@
};
};
 
-   adc: adc@126C {
-   vdd-supply = <&ldo3_reg>;
-   status = "okay";
-   };
-
-   i2c@1389 {
-   samsung,i2c-sda-delay = <100>;
-   samsung,i2c-slave-addr = <0x10>;
-   samsung,i2c-max-bus-freq = <40>;
-   pinctrl-0 = <&i2c3_bus>;
-   pinctrl-names = "default";
-   status = "okay";
-
-   mms114-touchscreen@48 {
-   compatible = "melfas,mms114";
-   reg = <0x48>;
-   interrupt-parent = <&gpm2>;
-   interrupts = <3 2>;
-   x-size = <720>;
-   y-size = <1280>;
-   avdd-supply = <&ldo23_reg>;
-   vdd-supply = <&ldo24_reg>;
-   };
-   };
-
-   i2c_0: i2c@1386 {
-   samsung,i2c-sda-delay = <100>;
-   samsung,i2c-slave-addr = <0x10>;
-   samsung,i2c-max-bus-freq = <40>;
-   pinctrl-0 = <&i2c0_bus>;
-   pinctrl-names = "default";
-   status = "okay";
-
-   s5c73m3@3c {
-   compatible = "samsung,s5c73m3";
-   reg = <0x3c>;
-   standby-gpios = <&gpm0 1 1>;   /* ISP_STANDBY */
-   xshutdown-gpios = <&gpf1 3 1>; /* ISP_RESET */
-   vdd-int-supply = <&buck9_reg>;
-   vddio-cis-supply = <&ldo9_reg>;
-   vdda-supply = <&ldo17_reg>;
-   vddio-host-supply = <&ldo18_reg>;
-   vdd-af-supply = <&cam_af_reg>;
-   vdd-reg-supply = <&cam_io_reg>;
-   clock-frequency = <2400>;
-   /* CAM_A_CLKOUT */
-   clocks = <&camera 0>;
-   clock-names = "cis_extclk";
-   port {
-   s5c73m3_ep: endpoint {
-   remote-endpoint = <&csis0_ep>;
-   data-lanes = <1 2 3 4>;
-   };
-   };
-   };
-   };
-
-   i2c@138A {
-   samsung,i2c-sda-delay = <100>;
-   samsung,i2c-slave-addr = <0x10>;
-   samsung,i2c-max-bus-freq = <10>;
-   pinctrl-0 = <&i2c4_bus>;
-   pinctrl-names = "default";
-   status = "okay";
-
-   wm1811: wm1811@1a {
-   compatible = "wlf,wm1811";
-   reg = <0x1a>;
-   clocks = <&pmu_system_controller 0>;
-   clock-names = "MCLK1";
-   DCVDD-supply = <&ldo3_reg>;
-   DBVDD1-supply = <&ldo3_reg>;
-   wlf,ldo1ena = <&gpj0 4 0>;
-   };
-   };
-
-   i2c@138D {
-   samsung,i2c-sda-delay = <100>;
-   samsung,i2c-slave-addr = <0x10>;
-   samsung,i2c-max-bus-freq = <10>;
-   pinctrl-0 = <&i2c7_bus>;
-   pinctrl-names = "default";
-   status = "okay";
-
-   max77686_pmic@09 {
-   compatible = "maxim,max77686";
-   interrupt-parent = <&gpx0>;
-   interrupts = <7 0>;
-   reg = <0x09>;
-   #clock-cells = <1>;
-
-   voltage-regulators {
-   ldo1_reg: ldo1 {
-   regulator-compatible = "LDO1";
-   regulator-name = "VALIVE_1.0V_AP";
-   regulator-min-microvolt = <100>;
-   regulator-max-microvolt = <100>;
-   regulator-always-on;
-   };
-
-   ldo2_reg: ldo2 {
-   regulator-compatible = "LDO2";
-   regulator-name = "VM1M2_1.2V_AP";
-   regulator-min-microvolt = <120>;
-   regulator-max-microvolt = <120>;
-   regulator-always-on;
-  

[PATCH v3 03/11] ARM: dts: exynos4: Use labels for overriding nodes in Exynos4210 Origen

2015-04-17 Thread Krzysztof Kozlowski
Usage of labels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4210-origen.dts | 418 
 1 file changed, 209 insertions(+), 209 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4210-origen.dts 
b/arch/arm/boot/dts/exynos4210-origen.dts
index b81146141402..e0abfc3324d1 100644
--- a/arch/arm/boot/dts/exynos4210-origen.dts
+++ b/arch/arm/boot/dts/exynos4210-origen.dts
@@ -50,209 +50,6 @@
};
};
 
-   watchdog@1006 {
-   status = "okay";
-   };
-
-   rtc@1007 {
-   status = "okay";
-   };
-
-   tmu@100C {
-   status = "okay";
-   };
-
-   sdhci@1253 {
-   bus-width = <4>;
-   pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
-   pinctrl-names = "default";
-   vmmc-supply = <&mmc_reg>;
-   status = "okay";
-   };
-
-   sdhci@1251 {
-   bus-width = <4>;
-   pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_cd>;
-   pinctrl-names = "default";
-   vmmc-supply = <&mmc_reg>;
-   status = "okay";
-   };
-
-   g2d@1280 {
-   status = "okay";
-   };
-
-   codec@1340 {
-   samsung,mfc-r = <0x4300 0x80>;
-   samsung,mfc-l = <0x5100 0x80>;
-   status = "okay";
-   };
-
-   serial@1380 {
-   status = "okay";
-   };
-
-   serial@1381 {
-   status = "okay";
-   };
-
-   serial@1382 {
-   status = "okay";
-   };
-
-   serial@1383 {
-   status = "okay";
-   };
-
-   i2c@1386 {
-   status = "okay";
-   samsung,i2c-sda-delay = <100>;
-   samsung,i2c-max-bus-freq = <2>;
-   pinctrl-0 = <&i2c0_bus>;
-   pinctrl-names = "default";
-
-   max8997_pmic@66 {
-   compatible = "maxim,max8997-pmic";
-   reg = <0x66>;
-   interrupt-parent = <&gpx0>;
-   interrupts = <4 0>, <3 0>;
-
-   max8997,pmic-buck1-dvs-voltage = <135>;
-   max8997,pmic-buck2-dvs-voltage = <110>;
-   max8997,pmic-buck5-dvs-voltage = <120>;
-
-   regulators {
-   ldo1_reg: LDO1 {
-   regulator-name = "VDD_ABB_3.3V";
-   regulator-min-microvolt = <330>;
-   regulator-max-microvolt = <330>;
-   };
-
-   ldo2_reg: LDO2 {
-   regulator-name = "VDD_ALIVE_1.1V";
-   regulator-min-microvolt = <110>;
-   regulator-max-microvolt = <110>;
-   regulator-always-on;
-   };
-
-   ldo3_reg: LDO3 {
-   regulator-name = "VMIPI_1.1V";
-   regulator-min-microvolt = <110>;
-   regulator-max-microvolt = <110>;
-   };
-
-   ldo4_reg: LDO4 {
-   regulator-name = "VDD_RTC_1.8V";
-   regulator-min-microvolt = <180>;
-   regulator-max-microvolt = <180>;
-   regulator-always-on;
-   };
-
-   ldo6_reg: LDO6 {
-   regulator-name = "VMIPI_1.8V";
-   regulator-min-microvolt = <180>;
-   regulator-max-microvolt = <180>;
-   regulator-always-on;
-   };
-
-   ldo7_reg: LDO7 {
-   regulator-name = "VDD_AUD_1.8V";
-   regulator-min-microvolt = <180>;
-   regulator-max-microvolt = <180>;
-   };
-
-   ldo8_reg: LDO8 {
-   regulator-name = "VADC_3.3V";
-   regulator-min-microvolt = <330>;
-   regulator-max-microvolt = <330>;
-   };
-
-   ldo9_reg: LDO9 {
-   regulator-name = 

[PATCH v3 09/11] ARM: dts: exynos4: Use labels for overriding nodes in Odroid

2015-04-17 Thread Krzysztof Kozlowski
Usage of labels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 728 
 arch/arm/boot/dts/exynos4412-odroidx.dts|  16 +-
 2 files changed, 372 insertions(+), 372 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi 
b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
index 8de12af7c276..6801ee6c4449 100644
--- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
@@ -37,16 +37,6 @@
};
};
 
-   i2s0: i2s@0383 {
-   pinctrl-0 = <&i2s0_bus>;
-   pinctrl-names = "default";
-   status = "okay";
-   clocks = <&clock_audss EXYNOS_I2S_BUS>,
-<&clock_audss EXYNOS_DOUT_AUD_BUS>,
-<&clock_audss EXYNOS_SCLK_I2S>;
-   clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
-   };
-
sound: sound {
compatible = "simple-audio-card";
assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
@@ -82,425 +72,435 @@
reset-gpios = <&gpk1 2 1>;
};
 
-   mmc@1255 {
-   pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
-   pinctrl-names = "default";
-   vmmc-supply = <&ldo20_reg &buck8_reg>;
-   mmc-pwrseq = <&emmc_pwrseq>;
-   status = "okay";
-
-   num-slots = <1>;
-   broken-cd;
-   card-detect-delay = <200>;
-   samsung,dw-mshc-ciu-div = <3>;
-   samsung,dw-mshc-sdr-timing = <2 3>;
-   samsung,dw-mshc-ddr-timing = <1 2>;
-   bus-width = <8>;
-   cap-mmc-highspeed;
-   };
-
-   watchdog@1006 {
-   status = "okay";
-   };
-
-   rtc@1007 {
-   status = "okay";
-   };
-
-   g2d@1080 {
-   status = "okay";
-   };
-
camera {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <>;
+   };
 
-   fimc_0: fimc@1180 {
-   status = "okay";
-   assigned-clocks = <&clock CLK_MOUT_FIMC0>,
-   <&clock CLK_SCLK_FIMC0>;
-   assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
-   assigned-clock-rates = <0>, <17600>;
-   };
-
-   fimc_1: fimc@1181 {
-   status = "okay";
-   assigned-clocks = <&clock CLK_MOUT_FIMC1>,
-   <&clock CLK_SCLK_FIMC1>;
-   assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
-   assigned-clock-rates = <0>, <17600>;
+   fixed-rate-clocks {
+   xxti {
+   compatible = "samsung,clock-xxti";
+   clock-frequency = <0>;
};
 
-   fimc_2: fimc@1182 {
-   status = "okay";
-   assigned-clocks = <&clock CLK_MOUT_FIMC2>,
-   <&clock CLK_SCLK_FIMC2>;
-   assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
-   assigned-clock-rates = <0>, <17600>;
+   xusbxti {
+   compatible = "samsung,clock-xusbxti";
+   clock-frequency = <2400>;
};
+   };
 
-   fimc_3: fimc@1183 {
-   status = "okay";
-   assigned-clocks = <&clock CLK_MOUT_FIMC3>,
-   <&clock CLK_SCLK_FIMC3>;
-   assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
-   assigned-clock-rates = <0>, <17600>;
+   thermal-zones {
+   cpu_thermal: cpu-thermal {
+   cooling-maps {
+   map0 {
+/* Corresponds to 800MHz at freq_table */
+cooling-device = <&cpu0 7 7>;
+   };
+   map1 {
+/* Corresponds to 200MHz at freq_table */
+cooling-device = <&cpu0 13 13>;
+  };
+  };
};
};
+};
 
-   sdhci@1253 {
-   bus-width = <4>;
-   pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
-   pinctrl-names = "default";
-   vmmc-supply = <&ldo4_reg &ldo21_reg>;
-   cd-gpios = <&gpk2 2 0>;
-   cd-inverted;
-   status = "okay";
-   };
+/* RSTN signal for eMMC */
+&sd1_cd {
+  

[PATCH v3 02/11] ARM: dts: exynos4: Use labels for overriding nodes in Exynos4210

2015-04-17 Thread Krzysztof Kozlowski
Usage of labels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4210.dtsi | 43 +++
 1 file changed, 21 insertions(+), 22 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4210.dtsi 
b/arch/arm/boot/dts/exynos4210.dtsi
index 76b84852f29c..a9a55304e31a 100644
--- a/arch/arm/boot/dts/exynos4210.dtsi
+++ b/arch/arm/boot/dts/exynos4210.dtsi
@@ -52,16 +52,6 @@
};
};
 
-   pmu_system_controller: system-controller@1002 {
-   clock-names = "clkout0", "clkout1", "clkout2", "clkout3",
-   "clkout4", "clkout8", "clkout9";
-   clocks = <&clock CLK_OUT_DMC>, <&clock CLK_OUT_TOP>,
-   <&clock CLK_OUT_LEFTBUS>, <&clock CLK_OUT_RIGHTBUS>,
-   <&clock CLK_OUT_CPU>, <&clock CLK_XXTI>,
-   <&clock CLK_XUSBXTI>;
-   #clock-cells = <1>;
-   };
-
sysram: sysram@0202 {
compatible = "mmio-sram";
reg = <0x0202 0x2>;
@@ -95,18 +85,6 @@
arm,data-latency = <2 2 1>;
};
 
-   gic: interrupt-controller@1049 {
-   cpu-offset = <0x8000>;
-   };
-
-   combiner: interrupt-controller@1044 {
-   samsung,combiner-nr = <16>;
-   interrupts = <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>,
-<0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>,
-<0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>,
-<0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>;
-   };
-
mct: mct@1005 {
compatible = "samsung,exynos4210-mct";
reg = <0x1005 0x800>;
@@ -245,3 +223,24 @@
status = "disabled";
};
 };
+
+&gic {
+   cpu-offset = <0x8000>;
+};
+
+&combiner {
+   samsung,combiner-nr = <16>;
+   interrupts = <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>,
+<0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>,
+<0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>,
+<0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>;
+};
+
+&pmu_system_controller {
+   clock-names = "clkout0", "clkout1", "clkout2", "clkout3",
+   "clkout4", "clkout8", "clkout9";
+   clocks = <&clock CLK_OUT_DMC>, <&clock CLK_OUT_TOP>,
+   <&clock CLK_OUT_LEFTBUS>, <&clock CLK_OUT_RIGHTBUS>,
+   <&clock CLK_OUT_CPU>, <&clock CLK_XXTI>, <&clock CLK_XUSBXTI>;
+   #clock-cells = <1>;
+};
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v3 06/11] ARM: dts: exynos4: Use labels for overriding nodes in Exynos4212

2015-04-17 Thread Krzysztof Kozlowski
Usage of labels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4212.dtsi | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4212.dtsi 
b/arch/arm/boot/dts/exynos4212.dtsi
index 5be03288f1ee..d9c8efeef208 100644
--- a/arch/arm/boot/dts/exynos4212.dtsi
+++ b/arch/arm/boot/dts/exynos4212.dtsi
@@ -41,12 +41,12 @@
reg = <0xA01>;
};
};
+};
 
-   combiner: interrupt-controller@1044 {
-   samsung,combiner-nr = <18>;
-   };
+&combiner {
+   samsung,combiner-nr = <18>;
+};
 
-   gic: interrupt-controller@1049 {
-   cpu-offset = <0x8000>;
-   };
+&gic {
+   cpu-offset = <0x8000>;
 };
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v3 04/11] ARM: dts: exynos4: Use labels for overriding nodes in SMDKv310

2015-04-17 Thread Krzysztof Kozlowski
Usage of labels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4210-smdkv310.dts | 280 +++---
 1 file changed, 140 insertions(+), 140 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4210-smdkv310.dts 
b/arch/arm/boot/dts/exynos4210-smdkv310.dts
index 86216fff1b4f..043b03caff8f 100644
--- a/arch/arm/boot/dts/exynos4210-smdkv310.dts
+++ b/arch/arm/boot/dts/exynos4210-smdkv310.dts
@@ -30,181 +30,181 @@
stdout-path = &serial_1;
};
 
-   sdhci@1253 {
-   bus-width = <4>;
-   pinctrl-names = "default";
-   pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
-   status = "okay";
-   };
+   fixed-rate-clocks {
+   xxti {
+   compatible = "samsung,clock-xxti";
+   clock-frequency = <1200>;
+   };
 
-   g2d@1280 {
-   status = "okay";
+   xusbxti {
+   compatible = "samsung,clock-xusbxti";
+   clock-frequency = <2400>;
+   };
};
+};
 
-   codec@1340 {
-   samsung,mfc-r = <0x4300 0x80>;
-   samsung,mfc-l = <0x5100 0x80>;
-   status = "okay";
-   };
+&g2d {
+   status = "okay";
+};
 
-   serial@1380 {
-   status = "okay";
-   };
+&i2c_0 {
+   #address-cells = <1>;
+   #size-cells = <0>;
+   samsung,i2c-sda-delay = <100>;
+   samsung,i2c-max-bus-freq = <10>;
+   status = "okay";
 
-   serial@1381 {
-   status = "okay";
+   eeprom@50 {
+   compatible = "samsung,24ad0xd1";
+   reg = <0x50>;
};
 
-   serial@1382 {
-   status = "okay";
+   eeprom@52 {
+   compatible = "samsung,24ad0xd1";
+   reg = <0x52>;
};
+};
 
-   serial@1383 {
-   status = "okay";
+&keypad {
+   samsung,keypad-num-rows = <2>;
+   samsung,keypad-num-columns = <8>;
+   linux,keypad-no-autorepeat;
+   linux,keypad-wakeup;
+   pinctrl-names = "default";
+   pinctrl-0 = <&keypad_rows &keypad_cols>;
+   status = "okay";
+
+   key_1 {
+   keypad,row = <0>;
+   keypad,column = <3>;
+   linux,code = <2>;
};
 
-   pinctrl@1100 {
-   keypad_rows: keypad-rows {
-   samsung,pins = "gpx2-0", "gpx2-1";
-   samsung,pin-function = <3>;
-   samsung,pin-pud = <3>;
-   samsung,pin-drv = <0>;
-   };
-
-   keypad_cols: keypad-cols {
-   samsung,pins = "gpx1-0", "gpx1-1", "gpx1-2", "gpx1-3",
-  "gpx1-4", "gpx1-5", "gpx1-6", "gpx1-7";
-   samsung,pin-function = <3>;
-   samsung,pin-pud = <0>;
-   samsung,pin-drv = <0>;
-   };
+   key_2 {
+   keypad,row = <0>;
+   keypad,column = <4>;
+   linux,code = <3>;
};
 
-   keypad@100A {
-   samsung,keypad-num-rows = <2>;
-   samsung,keypad-num-columns = <8>;
-   linux,keypad-no-autorepeat;
-   linux,keypad-wakeup;
-   pinctrl-names = "default";
-   pinctrl-0 = <&keypad_rows &keypad_cols>;
-   status = "okay";
+   key_3 {
+   keypad,row = <0>;
+   keypad,column = <5>;
+   linux,code = <4>;
+   };
 
-   key_1 {
-   keypad,row = <0>;
-   keypad,column = <3>;
-   linux,code = <2>;
-   };
+   key_4 {
+   keypad,row = <0>;
+   keypad,column = <6>;
+   linux,code = <5>;
+   };
 
-   key_2 {
-   keypad,row = <0>;
-   keypad,column = <4>;
-   linux,code = <3>;
-   };
+   key_5 {
+   keypad,row = <0>;
+   keypad,column = <7>;
+   linux,code = <6>;
+   };
 
-   key_3 {
-   keypad,row = <0>;
-   keypad,column = <5>;
-   linux,code = <4>;
-   };
+   key_a {
+   keypad,row = <1>;
+   keypad,column = <3>;
+   linux,code = <30>;
+   };
 
-   key_4 {
-   keypad,row = <0>;
-   keypad,column = <6>;
-   linux,code = <5>;
-   };
+   key_b {
+   keypad,row = <1>;
+   keypad,column = <4>;
+   linux,code = <48>;
+   };
 
-   key_5 {
-   

[PATCH v3 01/11] ARM: dts: Add labels to Exynos4 nodes

2015-04-17 Thread Krzysztof Kozlowski
Add new labels to certain nodes so they could be easily referenced by
Exynos4 board DTS files.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4.dtsi| 22 +++---
 arch/arm/boot/dts/exynos4210-pinctrl.dtsi |  6 +++---
 arch/arm/boot/dts/exynos4210.dtsi |  6 +++---
 arch/arm/boot/dts/exynos4x12-pinctrl.dtsi |  8 
 arch/arm/boot/dts/exynos4x12.dtsi |  2 +-
 5 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi
index e20cdc24c3bb..ef944e4f42d0 100644
--- a/arch/arm/boot/dts/exynos4.dtsi
+++ b/arch/arm/boot/dts/exynos4.dtsi
@@ -257,7 +257,7 @@
};
};
 
-   watchdog@1006 {
+   watchdog: watchdog@1006 {
compatible = "samsung,s3c2410-wdt";
reg = <0x1006 0x100>;
interrupts = <0 43 0>;
@@ -266,7 +266,7 @@
status = "disabled";
};
 
-   rtc@1007 {
+   rtc: rtc@1007 {
compatible = "samsung,s3c6410-rtc";
reg = <0x1007 0x100>;
interrupt-parent = <&pmu_system_controller>;
@@ -276,7 +276,7 @@
status = "disabled";
};
 
-   keypad@100A {
+   keypad: keypad@100A {
compatible = "samsung,s5pv210-keypad";
reg = <0x100A 0x100>;
interrupts = <0 109 0>;
@@ -285,7 +285,7 @@
status = "disabled";
};
 
-   sdhci@1251 {
+   sdhci_0: sdhci@1251 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x1251 0x100>;
interrupts = <0 73 0>;
@@ -294,7 +294,7 @@
status = "disabled";
};
 
-   sdhci@1252 {
+   sdhci_1: sdhci@1252 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x1252 0x100>;
interrupts = <0 74 0>;
@@ -303,7 +303,7 @@
status = "disabled";
};
 
-   sdhci@1253 {
+   sdhci_2: sdhci@1253 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x1253 0x100>;
interrupts = <0 75 0>;
@@ -312,7 +312,7 @@
status = "disabled";
};
 
-   sdhci@1254 {
+   sdhci_3: sdhci@1254 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x1254 0x100>;
interrupts = <0 76 0>;
@@ -331,7 +331,7 @@
status = "disabled";
};
 
-   hsotg@1248 {
+   hsotg: hsotg@1248 {
compatible = "samsung,s3c6400-hsotg";
reg = <0x1248 0x2>;
interrupts = <0 71 0>;
@@ -342,7 +342,7 @@
status = "disabled";
};
 
-   ehci@1258 {
+   ehci: ehci@1258 {
compatible = "samsung,exynos4210-ehci";
reg = <0x1258 0x100>;
interrupts = <0 70 0>;
@@ -368,7 +368,7 @@
};
};
 
-   ohci@1259 {
+   ohci: ohci@1259 {
compatible = "samsung,exynos4210-ohci";
reg = <0x1259 0x100>;
interrupts = <0 70 0>;
@@ -621,7 +621,7 @@
status = "disabled";
};
 
-   pwm@139D {
+   pwm: pwm@139D {
compatible = "samsung,exynos4210-pwm";
reg = <0x139D 0x1000>;
interrupts = <0 37 0>, <0 38 0>, <0 39 0>, <0 40 0>, <0 41 0>;
diff --git a/arch/arm/boot/dts/exynos4210-pinctrl.dtsi 
b/arch/arm/boot/dts/exynos4210-pinctrl.dtsi
index a7c212891674..4704e7bb2628 100644
--- a/arch/arm/boot/dts/exynos4210-pinctrl.dtsi
+++ b/arch/arm/boot/dts/exynos4210-pinctrl.dtsi
@@ -15,7 +15,7 @@
 */
 
 / {
-   pinctrl@1140 {
+   pinctrl_0: pinctrl@1140 {
gpa0: gpa0 {
gpio-controller;
#gpio-cells = <2>;
@@ -421,7 +421,7 @@
};
};
 
-   pinctrl@1100 {
+   pinctrl_1: pinctrl@1100 {
gpj0: gpj0 {
gpio-controller;
#gpio-cells = <2>;
@@ -822,7 +822,7 @@
};
};
 
-   pinctrl@0386 {
+   pinctrl_3: pinctrl@0386 {
gpz: gpz {
gpio-controller;
#gpio-cells = <2>;
diff --git a/arch/arm/boot/dts/exynos4210.dtsi 
b/arch/arm/boot/dts/exynos4210.dtsi
index be89f83f70e7..76b84852f29c 100644
--- a/arch/arm/boot/dts/exynos4210.dtsi
+++ b/arch/arm/boot/dts/exynos4210.dtsi
@@ -62,7 +62,7 @@
#clock-cells = <1>;
};
 
-   sysram@0202 {
+   sysram: sysram@0202 {
compatible = "mmio-sram";
reg = <0x0202 0x2>;
#address-cells = <1>;
@@ -107,7 +107,7 @@
  

[PATCH v3 07/11] ARM: dts: exynos4: Use labels for overriding nodes in Exynos4x12

2015-04-17 Thread Krzysztof Kozlowski
Usage of labels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4x12.dtsi | 210 +++---
 1 file changed, 105 insertions(+), 105 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4x12.dtsi 
b/arch/arm/boot/dts/exynos4x12.dtsi
index 657b5ca39ce8..04812b842290 100644
--- a/arch/arm/boot/dts/exynos4x12.dtsi
+++ b/arch/arm/boot/dts/exynos4x12.dtsi
@@ -96,32 +96,6 @@
};
};
 
-   combiner: interrupt-controller@1044 {
-   interrupts = <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>,
-<0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>,
-<0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>,
-<0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>,
-<0 107 0>, <0 108 0>, <0 48 0>, <0 42 0>;
-   };
-
-   pinctrl_0: pinctrl@1140 {
-   compatible = "samsung,exynos4x12-pinctrl";
-   reg = <0x1140 0x1000>;
-   interrupts = <0 47 0>;
-   };
-
-   pinctrl_1: pinctrl@1100 {
-   compatible = "samsung,exynos4x12-pinctrl";
-   reg = <0x1100 0x1000>;
-   interrupts = <0 46 0>;
-
-   wakup_eint: wakeup-interrupt-controller {
-   compatible = "samsung,exynos4210-wakeup-eint";
-   interrupt-parent = <&gic>;
-   interrupts = <0 32 0>;
-   };
-   };
-
adc: adc@126C {
compatible = "samsung,exynos-adc-v1";
reg = <0x126C 0x100>;
@@ -135,30 +109,6 @@
status = "disabled";
};
 
-   pinctrl_2: pinctrl@0386 {
-   compatible = "samsung,exynos4x12-pinctrl";
-   reg = <0x0386 0x1000>;
-   interrupt-parent = <&combiner>;
-   interrupts = <10 0>;
-   };
-
-   pinctrl_3: pinctrl@106E {
-   compatible = "samsung,exynos4x12-pinctrl";
-   reg = <0x106E 0x1000>;
-   interrupts = <0 72 0>;
-   };
-
-   pmu_system_controller: system-controller@1002 {
-   compatible = "samsung,exynos4212-pmu", "syscon";
-   clock-names = "clkout0", "clkout1", "clkout2", "clkout3",
-   "clkout4", "clkout8", "clkout9";
-   clocks = <&clock CLK_OUT_DMC>, <&clock CLK_OUT_TOP>,
-   <&clock CLK_OUT_LEFTBUS>, <&clock CLK_OUT_RIGHTBUS>,
-   <&clock CLK_OUT_CPU>, <&clock CLK_XXTI>,
-   <&clock CLK_XUSBXTI>;
-   #clock-cells = <1>;
-   };
-
g2d: g2d@1080 {
compatible = "samsung,exynos4212-g2d";
reg = <0x1080 0x1000>;
@@ -173,40 +123,7 @@
 <&clock CLK_PIXELASYNCM0>, <&clock CLK_PIXELASYNCM1>;
clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0", 
"pxl_async1";
 
-   fimc_0: fimc@1180 {
-   compatible = "samsung,exynos4212-fimc";
-   samsung,pix-limits = <4224 8192 1920 4224>;
-   samsung,mainscaler-ext;
-   samsung,isp-wb;
-   samsung,cam-if;
-   };
-
-   fimc_1: fimc@1181 {
-   compatible = "samsung,exynos4212-fimc";
-   samsung,pix-limits = <4224 8192 1920 4224>;
-   samsung,mainscaler-ext;
-   samsung,isp-wb;
-   samsung,cam-if;
-   };
-
-   fimc_2: fimc@1182 {
-   compatible = "samsung,exynos4212-fimc";
-   samsung,pix-limits = <4224 8192 1920 4224>;
-   samsung,mainscaler-ext;
-   samsung,isp-wb;
-   samsung,lcd-wb;
-   samsung,cam-if;
-   };
-
-   fimc_3: fimc@1183 {
-   compatible = "samsung,exynos4212-fimc";
-   samsung,pix-limits = <1920 8192 1366 1920>;
-   samsung,rotators = <0>;
-   samsung,mainscaler-ext;
-   samsung,isp-wb;
-   samsung,lcd-wb;
-   };
-
+   /* fimc_[0-3] are configured outside, under phandles */
fimc_lite_0: fimc-lite@1239 {
compatible = "samsung,exynos4212-fimc-lite";
reg = <0x1239 0x1000>;
@@ -283,30 +200,113 @@
clock-names = "biu", "ciu";
status = "disabled";
};
+};
 
-   exynos-usbphy@125B {
-   compatible = "samsung,exynos4x12-usb2-phy";
-   samsung,sysreg-phandle = <&sys_reg>;
-   };
+&combiner {
+   interrupts = <0 0 0>, <0 1 0>

[PATCH v3 00/11] ARM: dts: exynos4: labels for overriding nodes

2015-04-17 Thread Krzysztof Kozlowski

Hi,

Changes since v2

1. Fix typo in commit msg (lablels -> labels).

Changes since v1

1. Re-phrased the description (phandle->label). Suggested by Arnd.

Description
===

The label-based notation reduces possible mistakes when overriding
nodes by child DTSI and board files and reduces duplication
of addresses.

The patchset refactors Exynos4 boards to use labels for overriding nodes.

Tested by comparison of decompiled DTB for each commit.

Best regards,
Krzysztof


Krzysztof Kozlowski (11):
  ARM: dts: Add labels to Exynos4 nodes
  ARM: dts: exynos4: Use labels for overriding nodes in Exynos4210
  ARM: dts: exynos4: Use labels for overriding nodes in Exynos4210
Origen
  ARM: dts: exynos4: Use labels for overriding nodes in SMDKv310
  ARM: dts: exynos4: Use labels for overriding nodes in Trats
  ARM: dts: exynos4: Use labels for overriding nodes in Exynos4212
  ARM: dts: exynos4: Use labels for overriding nodes in Exynos4x12
  ARM: dts: exynos4: Use labels for overriding nodes in Exynos4412
  ARM: dts: exynos4: Use labels for overriding nodes in Odroid
  ARM: dts: exynos4: Use labels for overriding nodes in SMDK4412
  ARM: dts: exynos4: Use labels for overriding nodes in Trats2

 arch/arm/boot/dts/exynos4.dtsi  |   22 +-
 arch/arm/boot/dts/exynos4210-origen.dts |  418 +++
 arch/arm/boot/dts/exynos4210-pinctrl.dtsi   |6 +-
 arch/arm/boot/dts/exynos4210-smdkv310.dts   |  280 ++---
 arch/arm/boot/dts/exynos4210-trats.dts  |  592 +-
 arch/arm/boot/dts/exynos4210.dtsi   |   49 +-
 arch/arm/boot/dts/exynos4212.dtsi   |   12 +-
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi |  728 ++---
 arch/arm/boot/dts/exynos4412-odroidx.dts|   16 +-
 arch/arm/boot/dts/exynos4412-smdk4412.dts   |  210 ++--
 arch/arm/boot/dts/exynos4412-trats2.dts | 1331 ---
 arch/arm/boot/dts/exynos4412.dtsi   |   20 +-
 arch/arm/boot/dts/exynos4x12-pinctrl.dtsi   |8 +-
 arch/arm/boot/dts/exynos4x12.dtsi   |  212 ++--
 14 files changed, 1952 insertions(+), 1952 deletions(-)

-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCHv2 02/11] ARM: dts: exynos4: Use labels for overriding nodes in Exynos4210

2015-04-17 Thread Krzysztof Kozlowski
Usage of lablels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4210.dtsi | 43 +++
 1 file changed, 21 insertions(+), 22 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4210.dtsi 
b/arch/arm/boot/dts/exynos4210.dtsi
index 76b84852f29c..a9a55304e31a 100644
--- a/arch/arm/boot/dts/exynos4210.dtsi
+++ b/arch/arm/boot/dts/exynos4210.dtsi
@@ -52,16 +52,6 @@
};
};
 
-   pmu_system_controller: system-controller@1002 {
-   clock-names = "clkout0", "clkout1", "clkout2", "clkout3",
-   "clkout4", "clkout8", "clkout9";
-   clocks = <&clock CLK_OUT_DMC>, <&clock CLK_OUT_TOP>,
-   <&clock CLK_OUT_LEFTBUS>, <&clock CLK_OUT_RIGHTBUS>,
-   <&clock CLK_OUT_CPU>, <&clock CLK_XXTI>,
-   <&clock CLK_XUSBXTI>;
-   #clock-cells = <1>;
-   };
-
sysram: sysram@0202 {
compatible = "mmio-sram";
reg = <0x0202 0x2>;
@@ -95,18 +85,6 @@
arm,data-latency = <2 2 1>;
};
 
-   gic: interrupt-controller@1049 {
-   cpu-offset = <0x8000>;
-   };
-
-   combiner: interrupt-controller@1044 {
-   samsung,combiner-nr = <16>;
-   interrupts = <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>,
-<0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>,
-<0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>,
-<0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>;
-   };
-
mct: mct@1005 {
compatible = "samsung,exynos4210-mct";
reg = <0x1005 0x800>;
@@ -245,3 +223,24 @@
status = "disabled";
};
 };
+
+&gic {
+   cpu-offset = <0x8000>;
+};
+
+&combiner {
+   samsung,combiner-nr = <16>;
+   interrupts = <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>,
+<0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>,
+<0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>,
+<0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>;
+};
+
+&pmu_system_controller {
+   clock-names = "clkout0", "clkout1", "clkout2", "clkout3",
+   "clkout4", "clkout8", "clkout9";
+   clocks = <&clock CLK_OUT_DMC>, <&clock CLK_OUT_TOP>,
+   <&clock CLK_OUT_LEFTBUS>, <&clock CLK_OUT_RIGHTBUS>,
+   <&clock CLK_OUT_CPU>, <&clock CLK_XXTI>, <&clock CLK_XUSBXTI>;
+   #clock-cells = <1>;
+};
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCHv2 01/11] ARM: dts: Add labels to Exynos4 nodes

2015-04-17 Thread Krzysztof Kozlowski
Add new labels to certain nodes so they could be easily referenced by
Exynos4 board DTS files.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4.dtsi| 22 +++---
 arch/arm/boot/dts/exynos4210-pinctrl.dtsi |  6 +++---
 arch/arm/boot/dts/exynos4210.dtsi |  6 +++---
 arch/arm/boot/dts/exynos4x12-pinctrl.dtsi |  8 
 arch/arm/boot/dts/exynos4x12.dtsi |  2 +-
 5 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi
index e20cdc24c3bb..ef944e4f42d0 100644
--- a/arch/arm/boot/dts/exynos4.dtsi
+++ b/arch/arm/boot/dts/exynos4.dtsi
@@ -257,7 +257,7 @@
};
};
 
-   watchdog@1006 {
+   watchdog: watchdog@1006 {
compatible = "samsung,s3c2410-wdt";
reg = <0x1006 0x100>;
interrupts = <0 43 0>;
@@ -266,7 +266,7 @@
status = "disabled";
};
 
-   rtc@1007 {
+   rtc: rtc@1007 {
compatible = "samsung,s3c6410-rtc";
reg = <0x1007 0x100>;
interrupt-parent = <&pmu_system_controller>;
@@ -276,7 +276,7 @@
status = "disabled";
};
 
-   keypad@100A {
+   keypad: keypad@100A {
compatible = "samsung,s5pv210-keypad";
reg = <0x100A 0x100>;
interrupts = <0 109 0>;
@@ -285,7 +285,7 @@
status = "disabled";
};
 
-   sdhci@1251 {
+   sdhci_0: sdhci@1251 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x1251 0x100>;
interrupts = <0 73 0>;
@@ -294,7 +294,7 @@
status = "disabled";
};
 
-   sdhci@1252 {
+   sdhci_1: sdhci@1252 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x1252 0x100>;
interrupts = <0 74 0>;
@@ -303,7 +303,7 @@
status = "disabled";
};
 
-   sdhci@1253 {
+   sdhci_2: sdhci@1253 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x1253 0x100>;
interrupts = <0 75 0>;
@@ -312,7 +312,7 @@
status = "disabled";
};
 
-   sdhci@1254 {
+   sdhci_3: sdhci@1254 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x1254 0x100>;
interrupts = <0 76 0>;
@@ -331,7 +331,7 @@
status = "disabled";
};
 
-   hsotg@1248 {
+   hsotg: hsotg@1248 {
compatible = "samsung,s3c6400-hsotg";
reg = <0x1248 0x2>;
interrupts = <0 71 0>;
@@ -342,7 +342,7 @@
status = "disabled";
};
 
-   ehci@1258 {
+   ehci: ehci@1258 {
compatible = "samsung,exynos4210-ehci";
reg = <0x1258 0x100>;
interrupts = <0 70 0>;
@@ -368,7 +368,7 @@
};
};
 
-   ohci@1259 {
+   ohci: ohci@1259 {
compatible = "samsung,exynos4210-ohci";
reg = <0x1259 0x100>;
interrupts = <0 70 0>;
@@ -621,7 +621,7 @@
status = "disabled";
};
 
-   pwm@139D {
+   pwm: pwm@139D {
compatible = "samsung,exynos4210-pwm";
reg = <0x139D 0x1000>;
interrupts = <0 37 0>, <0 38 0>, <0 39 0>, <0 40 0>, <0 41 0>;
diff --git a/arch/arm/boot/dts/exynos4210-pinctrl.dtsi 
b/arch/arm/boot/dts/exynos4210-pinctrl.dtsi
index a7c212891674..4704e7bb2628 100644
--- a/arch/arm/boot/dts/exynos4210-pinctrl.dtsi
+++ b/arch/arm/boot/dts/exynos4210-pinctrl.dtsi
@@ -15,7 +15,7 @@
 */
 
 / {
-   pinctrl@1140 {
+   pinctrl_0: pinctrl@1140 {
gpa0: gpa0 {
gpio-controller;
#gpio-cells = <2>;
@@ -421,7 +421,7 @@
};
};
 
-   pinctrl@1100 {
+   pinctrl_1: pinctrl@1100 {
gpj0: gpj0 {
gpio-controller;
#gpio-cells = <2>;
@@ -822,7 +822,7 @@
};
};
 
-   pinctrl@0386 {
+   pinctrl_3: pinctrl@0386 {
gpz: gpz {
gpio-controller;
#gpio-cells = <2>;
diff --git a/arch/arm/boot/dts/exynos4210.dtsi 
b/arch/arm/boot/dts/exynos4210.dtsi
index be89f83f70e7..76b84852f29c 100644
--- a/arch/arm/boot/dts/exynos4210.dtsi
+++ b/arch/arm/boot/dts/exynos4210.dtsi
@@ -62,7 +62,7 @@
#clock-cells = <1>;
};
 
-   sysram@0202 {
+   sysram: sysram@0202 {
compatible = "mmio-sram";
reg = <0x0202 0x2>;
#address-cells = <1>;
@@ -107,7 +107,7 @@
  

[PATCHv2 04/11] ARM: dts: exynos4: Use labels for overriding nodes in SMDKv310

2015-04-17 Thread Krzysztof Kozlowski
Usage of lablels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4210-smdkv310.dts | 280 +++---
 1 file changed, 140 insertions(+), 140 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4210-smdkv310.dts 
b/arch/arm/boot/dts/exynos4210-smdkv310.dts
index 86216fff1b4f..043b03caff8f 100644
--- a/arch/arm/boot/dts/exynos4210-smdkv310.dts
+++ b/arch/arm/boot/dts/exynos4210-smdkv310.dts
@@ -30,181 +30,181 @@
stdout-path = &serial_1;
};
 
-   sdhci@1253 {
-   bus-width = <4>;
-   pinctrl-names = "default";
-   pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
-   status = "okay";
-   };
+   fixed-rate-clocks {
+   xxti {
+   compatible = "samsung,clock-xxti";
+   clock-frequency = <1200>;
+   };
 
-   g2d@1280 {
-   status = "okay";
+   xusbxti {
+   compatible = "samsung,clock-xusbxti";
+   clock-frequency = <2400>;
+   };
};
+};
 
-   codec@1340 {
-   samsung,mfc-r = <0x4300 0x80>;
-   samsung,mfc-l = <0x5100 0x80>;
-   status = "okay";
-   };
+&g2d {
+   status = "okay";
+};
 
-   serial@1380 {
-   status = "okay";
-   };
+&i2c_0 {
+   #address-cells = <1>;
+   #size-cells = <0>;
+   samsung,i2c-sda-delay = <100>;
+   samsung,i2c-max-bus-freq = <10>;
+   status = "okay";
 
-   serial@1381 {
-   status = "okay";
+   eeprom@50 {
+   compatible = "samsung,24ad0xd1";
+   reg = <0x50>;
};
 
-   serial@1382 {
-   status = "okay";
+   eeprom@52 {
+   compatible = "samsung,24ad0xd1";
+   reg = <0x52>;
};
+};
 
-   serial@1383 {
-   status = "okay";
+&keypad {
+   samsung,keypad-num-rows = <2>;
+   samsung,keypad-num-columns = <8>;
+   linux,keypad-no-autorepeat;
+   linux,keypad-wakeup;
+   pinctrl-names = "default";
+   pinctrl-0 = <&keypad_rows &keypad_cols>;
+   status = "okay";
+
+   key_1 {
+   keypad,row = <0>;
+   keypad,column = <3>;
+   linux,code = <2>;
};
 
-   pinctrl@1100 {
-   keypad_rows: keypad-rows {
-   samsung,pins = "gpx2-0", "gpx2-1";
-   samsung,pin-function = <3>;
-   samsung,pin-pud = <3>;
-   samsung,pin-drv = <0>;
-   };
-
-   keypad_cols: keypad-cols {
-   samsung,pins = "gpx1-0", "gpx1-1", "gpx1-2", "gpx1-3",
-  "gpx1-4", "gpx1-5", "gpx1-6", "gpx1-7";
-   samsung,pin-function = <3>;
-   samsung,pin-pud = <0>;
-   samsung,pin-drv = <0>;
-   };
+   key_2 {
+   keypad,row = <0>;
+   keypad,column = <4>;
+   linux,code = <3>;
};
 
-   keypad@100A {
-   samsung,keypad-num-rows = <2>;
-   samsung,keypad-num-columns = <8>;
-   linux,keypad-no-autorepeat;
-   linux,keypad-wakeup;
-   pinctrl-names = "default";
-   pinctrl-0 = <&keypad_rows &keypad_cols>;
-   status = "okay";
+   key_3 {
+   keypad,row = <0>;
+   keypad,column = <5>;
+   linux,code = <4>;
+   };
 
-   key_1 {
-   keypad,row = <0>;
-   keypad,column = <3>;
-   linux,code = <2>;
-   };
+   key_4 {
+   keypad,row = <0>;
+   keypad,column = <6>;
+   linux,code = <5>;
+   };
 
-   key_2 {
-   keypad,row = <0>;
-   keypad,column = <4>;
-   linux,code = <3>;
-   };
+   key_5 {
+   keypad,row = <0>;
+   keypad,column = <7>;
+   linux,code = <6>;
+   };
 
-   key_3 {
-   keypad,row = <0>;
-   keypad,column = <5>;
-   linux,code = <4>;
-   };
+   key_a {
+   keypad,row = <1>;
+   keypad,column = <3>;
+   linux,code = <30>;
+   };
 
-   key_4 {
-   keypad,row = <0>;
-   keypad,column = <6>;
-   linux,code = <5>;
-   };
+   key_b {
+   keypad,row = <1>;
+   keypad,column = <4>;
+   linux,code = <48>;
+   };
 
-   key_5 {
-  

[PATCHv2 05/11] ARM: dts: exynos4: Use labels for overriding nodes in Trats

2015-04-17 Thread Krzysztof Kozlowski
Usage of lablels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4210-trats.dts | 592 -
 1 file changed, 296 insertions(+), 296 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4210-trats.dts 
b/arch/arm/boot/dts/exynos4210-trats.dts
index 32c5fd8f6269..98f3ce65cb9a 100644
--- a/arch/arm/boot/dts/exynos4210-trats.dts
+++ b/arch/arm/boot/dts/exynos4210-trats.dts
@@ -89,42 +89,6 @@
};
};
 
-   hsotg@1248 {
-   vusb_d-supply = <&vusb_reg>;
-   vusb_a-supply = <&vusbdac_reg>;
-   dr_mode = "peripheral";
-   status = "okay";
-   };
-
-   sdhci_emmc: sdhci@1251 {
-   bus-width = <8>;
-   non-removable;
-   pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
-   pinctrl-names = "default";
-   vmmc-supply = <&vemmc_reg>;
-   status = "okay";
-   };
-
-   exynos-usbphy@125B {
-   status = "okay";
-   };
-
-   serial@1380 {
-   status = "okay";
-   };
-
-   serial@1381 {
-   status = "okay";
-   };
-
-   serial@1382 {
-   status = "okay";
-   };
-
-   serial@1383 {
-   status = "okay";
-   };
-
gpio-keys {
compatible = "gpio-keys";
 
@@ -158,201 +122,6 @@
};
};
 
-   i2c@1389 {
-   samsung,i2c-sda-delay = <100>;
-   samsung,i2c-slave-addr = <0x10>;
-   samsung,i2c-max-bus-freq = <40>;
-   pinctrl-0 = <&i2c3_bus>;
-   pinctrl-names = "default";
-   status = "okay";
-
-   mms114-touchscreen@48 {
-   compatible = "melfas,mms114";
-   reg = <0x48>;
-   interrupt-parent = <&gpx0>;
-   interrupts = <4 2>;
-   x-size = <720>;
-   y-size = <1280>;
-   avdd-supply = <&tsp_reg>;
-   vdd-supply = <&tsp_reg>;
-   };
-   };
-
-   i2c@138B {
-   samsung,i2c-sda-delay = <100>;
-   samsung,i2c-slave-addr = <0x10>;
-   samsung,i2c-max-bus-freq = <10>;
-   pinctrl-0 = <&i2c5_bus>;
-   pinctrl-names = "default";
-   status = "okay";
-
-   max8997_pmic@66 {
-   compatible = "maxim,max8997-pmic";
-
-   reg = <0x66>;
-
-   max8997,pmic-buck1-uses-gpio-dvs;
-   max8997,pmic-buck2-uses-gpio-dvs;
-   max8997,pmic-buck5-uses-gpio-dvs;
-
-   max8997,pmic-ignore-gpiodvs-side-effect;
-   max8997,pmic-buck125-default-dvs-idx = <0>;
-
-   max8997,pmic-buck125-dvs-gpios = <&gpx0 5 0>,
-<&gpx0 6 0>,
-<&gpl0 0 0>;
-
-   max8997,pmic-buck1-dvs-voltage = <135>, <130>,
-<125>, <120>,
-<115>, <110>,
-<100>, <95>;
-
-   max8997,pmic-buck2-dvs-voltage = <110>, <100>,
-<95>,  <90>,
-<110>, <100>,
-<95>,  <90>;
-
-   max8997,pmic-buck5-dvs-voltage = <120>, <120>,
-<120>, <120>,
-<120>, <120>,
-<120>, <120>;
-
-   regulators {
-   valive_reg: LDO2 {
-regulator-name = "VALIVE_1.1V_C210";
-regulator-min-microvolt = <110>;
-regulator-max-microvolt = <110>;
-regulator-always-on;
-   };
-
-   vusb_reg: LDO3 {
-regulator-name = "VUSB_1.1V_C210";
-regulator-min-microvolt = <110>;
-regulator-max-microvolt = <110>;
-   };
-
-   vmipi_reg: LDO4 {
-regulator-name = "VMIPI_1.8V";
-  

Re: [PATCH] ASoC: samsung: s3c24xx-i2s: Fix return value check in s3c24xx_iis_dev_probe()

2015-04-17 Thread Mark Brown
On Thu, Apr 16, 2015 at 08:18:02PM +0800, weiyj...@163.com wrote:
> From: Wei Yongjun 
> 
> In case of error, the function devm_ioremap_resource() returns
> ERR_PTR() and never returns NULL. The NULL test in the return
> value check should be replaced with IS_ERR().

Applied, thanks.


signature.asc
Description: Digital signature


[PATCHv2 03/11] ARM: dts: exynos4: Use labels for overriding nodes in Exynos4210 Origen

2015-04-17 Thread Krzysztof Kozlowski
Usage of lablels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4210-origen.dts | 418 
 1 file changed, 209 insertions(+), 209 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4210-origen.dts 
b/arch/arm/boot/dts/exynos4210-origen.dts
index b81146141402..e0abfc3324d1 100644
--- a/arch/arm/boot/dts/exynos4210-origen.dts
+++ b/arch/arm/boot/dts/exynos4210-origen.dts
@@ -50,209 +50,6 @@
};
};
 
-   watchdog@1006 {
-   status = "okay";
-   };
-
-   rtc@1007 {
-   status = "okay";
-   };
-
-   tmu@100C {
-   status = "okay";
-   };
-
-   sdhci@1253 {
-   bus-width = <4>;
-   pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
-   pinctrl-names = "default";
-   vmmc-supply = <&mmc_reg>;
-   status = "okay";
-   };
-
-   sdhci@1251 {
-   bus-width = <4>;
-   pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_cd>;
-   pinctrl-names = "default";
-   vmmc-supply = <&mmc_reg>;
-   status = "okay";
-   };
-
-   g2d@1280 {
-   status = "okay";
-   };
-
-   codec@1340 {
-   samsung,mfc-r = <0x4300 0x80>;
-   samsung,mfc-l = <0x5100 0x80>;
-   status = "okay";
-   };
-
-   serial@1380 {
-   status = "okay";
-   };
-
-   serial@1381 {
-   status = "okay";
-   };
-
-   serial@1382 {
-   status = "okay";
-   };
-
-   serial@1383 {
-   status = "okay";
-   };
-
-   i2c@1386 {
-   status = "okay";
-   samsung,i2c-sda-delay = <100>;
-   samsung,i2c-max-bus-freq = <2>;
-   pinctrl-0 = <&i2c0_bus>;
-   pinctrl-names = "default";
-
-   max8997_pmic@66 {
-   compatible = "maxim,max8997-pmic";
-   reg = <0x66>;
-   interrupt-parent = <&gpx0>;
-   interrupts = <4 0>, <3 0>;
-
-   max8997,pmic-buck1-dvs-voltage = <135>;
-   max8997,pmic-buck2-dvs-voltage = <110>;
-   max8997,pmic-buck5-dvs-voltage = <120>;
-
-   regulators {
-   ldo1_reg: LDO1 {
-   regulator-name = "VDD_ABB_3.3V";
-   regulator-min-microvolt = <330>;
-   regulator-max-microvolt = <330>;
-   };
-
-   ldo2_reg: LDO2 {
-   regulator-name = "VDD_ALIVE_1.1V";
-   regulator-min-microvolt = <110>;
-   regulator-max-microvolt = <110>;
-   regulator-always-on;
-   };
-
-   ldo3_reg: LDO3 {
-   regulator-name = "VMIPI_1.1V";
-   regulator-min-microvolt = <110>;
-   regulator-max-microvolt = <110>;
-   };
-
-   ldo4_reg: LDO4 {
-   regulator-name = "VDD_RTC_1.8V";
-   regulator-min-microvolt = <180>;
-   regulator-max-microvolt = <180>;
-   regulator-always-on;
-   };
-
-   ldo6_reg: LDO6 {
-   regulator-name = "VMIPI_1.8V";
-   regulator-min-microvolt = <180>;
-   regulator-max-microvolt = <180>;
-   regulator-always-on;
-   };
-
-   ldo7_reg: LDO7 {
-   regulator-name = "VDD_AUD_1.8V";
-   regulator-min-microvolt = <180>;
-   regulator-max-microvolt = <180>;
-   };
-
-   ldo8_reg: LDO8 {
-   regulator-name = "VADC_3.3V";
-   regulator-min-microvolt = <330>;
-   regulator-max-microvolt = <330>;
-   };
-
-   ldo9_reg: LDO9 {
-   regulator-name =

[PATCHv2 06/11] ARM: dts: exynos4: Use labels for overriding nodes in Exynos4212

2015-04-17 Thread Krzysztof Kozlowski
Usage of lablels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4212.dtsi | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4212.dtsi 
b/arch/arm/boot/dts/exynos4212.dtsi
index 5be03288f1ee..d9c8efeef208 100644
--- a/arch/arm/boot/dts/exynos4212.dtsi
+++ b/arch/arm/boot/dts/exynos4212.dtsi
@@ -41,12 +41,12 @@
reg = <0xA01>;
};
};
+};
 
-   combiner: interrupt-controller@1044 {
-   samsung,combiner-nr = <18>;
-   };
+&combiner {
+   samsung,combiner-nr = <18>;
+};
 
-   gic: interrupt-controller@1049 {
-   cpu-offset = <0x8000>;
-   };
+&gic {
+   cpu-offset = <0x8000>;
 };
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCHv2 07/11] ARM: dts: exynos4: Use labels for overriding nodes in Exynos4x12

2015-04-17 Thread Krzysztof Kozlowski
Usage of lablels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4x12.dtsi | 210 +++---
 1 file changed, 105 insertions(+), 105 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4x12.dtsi 
b/arch/arm/boot/dts/exynos4x12.dtsi
index 657b5ca39ce8..04812b842290 100644
--- a/arch/arm/boot/dts/exynos4x12.dtsi
+++ b/arch/arm/boot/dts/exynos4x12.dtsi
@@ -96,32 +96,6 @@
};
};
 
-   combiner: interrupt-controller@1044 {
-   interrupts = <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>,
-<0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>,
-<0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>,
-<0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>,
-<0 107 0>, <0 108 0>, <0 48 0>, <0 42 0>;
-   };
-
-   pinctrl_0: pinctrl@1140 {
-   compatible = "samsung,exynos4x12-pinctrl";
-   reg = <0x1140 0x1000>;
-   interrupts = <0 47 0>;
-   };
-
-   pinctrl_1: pinctrl@1100 {
-   compatible = "samsung,exynos4x12-pinctrl";
-   reg = <0x1100 0x1000>;
-   interrupts = <0 46 0>;
-
-   wakup_eint: wakeup-interrupt-controller {
-   compatible = "samsung,exynos4210-wakeup-eint";
-   interrupt-parent = <&gic>;
-   interrupts = <0 32 0>;
-   };
-   };
-
adc: adc@126C {
compatible = "samsung,exynos-adc-v1";
reg = <0x126C 0x100>;
@@ -135,30 +109,6 @@
status = "disabled";
};
 
-   pinctrl_2: pinctrl@0386 {
-   compatible = "samsung,exynos4x12-pinctrl";
-   reg = <0x0386 0x1000>;
-   interrupt-parent = <&combiner>;
-   interrupts = <10 0>;
-   };
-
-   pinctrl_3: pinctrl@106E {
-   compatible = "samsung,exynos4x12-pinctrl";
-   reg = <0x106E 0x1000>;
-   interrupts = <0 72 0>;
-   };
-
-   pmu_system_controller: system-controller@1002 {
-   compatible = "samsung,exynos4212-pmu", "syscon";
-   clock-names = "clkout0", "clkout1", "clkout2", "clkout3",
-   "clkout4", "clkout8", "clkout9";
-   clocks = <&clock CLK_OUT_DMC>, <&clock CLK_OUT_TOP>,
-   <&clock CLK_OUT_LEFTBUS>, <&clock CLK_OUT_RIGHTBUS>,
-   <&clock CLK_OUT_CPU>, <&clock CLK_XXTI>,
-   <&clock CLK_XUSBXTI>;
-   #clock-cells = <1>;
-   };
-
g2d: g2d@1080 {
compatible = "samsung,exynos4212-g2d";
reg = <0x1080 0x1000>;
@@ -173,40 +123,7 @@
 <&clock CLK_PIXELASYNCM0>, <&clock CLK_PIXELASYNCM1>;
clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0", 
"pxl_async1";
 
-   fimc_0: fimc@1180 {
-   compatible = "samsung,exynos4212-fimc";
-   samsung,pix-limits = <4224 8192 1920 4224>;
-   samsung,mainscaler-ext;
-   samsung,isp-wb;
-   samsung,cam-if;
-   };
-
-   fimc_1: fimc@1181 {
-   compatible = "samsung,exynos4212-fimc";
-   samsung,pix-limits = <4224 8192 1920 4224>;
-   samsung,mainscaler-ext;
-   samsung,isp-wb;
-   samsung,cam-if;
-   };
-
-   fimc_2: fimc@1182 {
-   compatible = "samsung,exynos4212-fimc";
-   samsung,pix-limits = <4224 8192 1920 4224>;
-   samsung,mainscaler-ext;
-   samsung,isp-wb;
-   samsung,lcd-wb;
-   samsung,cam-if;
-   };
-
-   fimc_3: fimc@1183 {
-   compatible = "samsung,exynos4212-fimc";
-   samsung,pix-limits = <1920 8192 1366 1920>;
-   samsung,rotators = <0>;
-   samsung,mainscaler-ext;
-   samsung,isp-wb;
-   samsung,lcd-wb;
-   };
-
+   /* fimc_[0-3] are configured outside, under phandles */
fimc_lite_0: fimc-lite@1239 {
compatible = "samsung,exynos4212-fimc-lite";
reg = <0x1239 0x1000>;
@@ -283,30 +200,113 @@
clock-names = "biu", "ciu";
status = "disabled";
};
+};
 
-   exynos-usbphy@125B {
-   compatible = "samsung,exynos4x12-usb2-phy";
-   samsung,sysreg-phandle = <&sys_reg>;
-   };
+&combiner {
+   interrupts = <0 0 0>, <0 1 0

[PATCHv2 08/11] ARM: dts: exynos4: Use labels for overriding nodes in Exynos4412

2015-04-17 Thread Krzysztof Kozlowski
Usage of lablels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4412.dtsi | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4412.dtsi 
b/arch/arm/boot/dts/exynos4412.dtsi
index 68ad43b391ae..b78ada70bd05 100644
--- a/arch/arm/boot/dts/exynos4412.dtsi
+++ b/arch/arm/boot/dts/exynos4412.dtsi
@@ -54,19 +54,19 @@
};
};
 
-   combiner: interrupt-controller@1044 {
-   samsung,combiner-nr = <20>;
-   };
-
pmu {
interrupts = <2 2>, <3 2>, <18 2>, <19 2>;
};
+};
 
-   gic: interrupt-controller@1049 {
-   cpu-offset = <0x4000>;
-   };
+&pmu_system_controller {
+   compatible = "samsung,exynos4412-pmu", "syscon";
+};
 
-   pmu_system_controller: system-controller@1002 {
-   compatible = "samsung,exynos4412-pmu", "syscon";
-   };
+&combiner {
+   samsung,combiner-nr = <20>;
+};
+
+&gic {
+   cpu-offset = <0x4000>;
 };
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCHv2 09/11] ARM: dts: exynos4: Use labels for overriding nodes in Odroid

2015-04-17 Thread Krzysztof Kozlowski
Usage of lablels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 728 
 arch/arm/boot/dts/exynos4412-odroidx.dts|  16 +-
 2 files changed, 372 insertions(+), 372 deletions(-)

diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi 
b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
index 8de12af7c276..6801ee6c4449 100644
--- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
@@ -37,16 +37,6 @@
};
};
 
-   i2s0: i2s@0383 {
-   pinctrl-0 = <&i2s0_bus>;
-   pinctrl-names = "default";
-   status = "okay";
-   clocks = <&clock_audss EXYNOS_I2S_BUS>,
-<&clock_audss EXYNOS_DOUT_AUD_BUS>,
-<&clock_audss EXYNOS_SCLK_I2S>;
-   clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
-   };
-
sound: sound {
compatible = "simple-audio-card";
assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
@@ -82,425 +72,435 @@
reset-gpios = <&gpk1 2 1>;
};
 
-   mmc@1255 {
-   pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
-   pinctrl-names = "default";
-   vmmc-supply = <&ldo20_reg &buck8_reg>;
-   mmc-pwrseq = <&emmc_pwrseq>;
-   status = "okay";
-
-   num-slots = <1>;
-   broken-cd;
-   card-detect-delay = <200>;
-   samsung,dw-mshc-ciu-div = <3>;
-   samsung,dw-mshc-sdr-timing = <2 3>;
-   samsung,dw-mshc-ddr-timing = <1 2>;
-   bus-width = <8>;
-   cap-mmc-highspeed;
-   };
-
-   watchdog@1006 {
-   status = "okay";
-   };
-
-   rtc@1007 {
-   status = "okay";
-   };
-
-   g2d@1080 {
-   status = "okay";
-   };
-
camera {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <>;
+   };
 
-   fimc_0: fimc@1180 {
-   status = "okay";
-   assigned-clocks = <&clock CLK_MOUT_FIMC0>,
-   <&clock CLK_SCLK_FIMC0>;
-   assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
-   assigned-clock-rates = <0>, <17600>;
-   };
-
-   fimc_1: fimc@1181 {
-   status = "okay";
-   assigned-clocks = <&clock CLK_MOUT_FIMC1>,
-   <&clock CLK_SCLK_FIMC1>;
-   assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
-   assigned-clock-rates = <0>, <17600>;
+   fixed-rate-clocks {
+   xxti {
+   compatible = "samsung,clock-xxti";
+   clock-frequency = <0>;
};
 
-   fimc_2: fimc@1182 {
-   status = "okay";
-   assigned-clocks = <&clock CLK_MOUT_FIMC2>,
-   <&clock CLK_SCLK_FIMC2>;
-   assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
-   assigned-clock-rates = <0>, <17600>;
+   xusbxti {
+   compatible = "samsung,clock-xusbxti";
+   clock-frequency = <2400>;
};
+   };
 
-   fimc_3: fimc@1183 {
-   status = "okay";
-   assigned-clocks = <&clock CLK_MOUT_FIMC3>,
-   <&clock CLK_SCLK_FIMC3>;
-   assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
-   assigned-clock-rates = <0>, <17600>;
+   thermal-zones {
+   cpu_thermal: cpu-thermal {
+   cooling-maps {
+   map0 {
+/* Corresponds to 800MHz at freq_table */
+cooling-device = <&cpu0 7 7>;
+   };
+   map1 {
+/* Corresponds to 200MHz at freq_table */
+cooling-device = <&cpu0 13 13>;
+  };
+  };
};
};
+};
 
-   sdhci@1253 {
-   bus-width = <4>;
-   pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
-   pinctrl-names = "default";
-   vmmc-supply = <&ldo4_reg &ldo21_reg>;
-   cd-gpios = <&gpk2 2 0>;
-   cd-inverted;
-   status = "okay";
-   };
+/* RSTN signal for eMMC */
+&sd1_cd {
+ 

[PATCHv2 00/11] ARM: dts: exynos4: labels for overriding nodes

2015-04-17 Thread Krzysztof Kozlowski

Hi,

Changes since v1

1. Re-phrased the description (phandle->label). Suggested by Arnd.

Description
===

The label-based notation reduces possible mistakes when overriding
nodes by child DTSI and board files and reduces duplication
of addresses.

The patchset refactors Exynos4 boards to use labels for overriding nodes.

Tested by comparison of decompiled DTB for each commit.

Best regards,
Krzysztof


Krzysztof Kozlowski (11):
  ARM: dts: Add labels to Exynos4 nodes
  ARM: dts: exynos4: Use labels for overriding nodes in Exynos4210
  ARM: dts: exynos4: Use labels for overriding nodes in Exynos4210
Origen
  ARM: dts: exynos4: Use labels for overriding nodes in SMDKv310
  ARM: dts: exynos4: Use labels for overriding nodes in Trats
  ARM: dts: exynos4: Use labels for overriding nodes in Exynos4212
  ARM: dts: exynos4: Use labels for overriding nodes in Exynos4x12
  ARM: dts: exynos4: Use labels for overriding nodes in Exynos4412
  ARM: dts: exynos4: Use labels for overriding nodes in Odroid
  ARM: dts: exynos4: Use labels for overriding nodes in SMDK4412
  ARM: dts: exynos4: Use labels for overriding nodes in Trats2

 arch/arm/boot/dts/exynos4.dtsi  |   22 +-
 arch/arm/boot/dts/exynos4210-origen.dts |  418 +++
 arch/arm/boot/dts/exynos4210-pinctrl.dtsi   |6 +-
 arch/arm/boot/dts/exynos4210-smdkv310.dts   |  280 ++---
 arch/arm/boot/dts/exynos4210-trats.dts  |  592 +-
 arch/arm/boot/dts/exynos4210.dtsi   |   49 +-
 arch/arm/boot/dts/exynos4212.dtsi   |   12 +-
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi |  728 ++---
 arch/arm/boot/dts/exynos4412-odroidx.dts|   16 +-
 arch/arm/boot/dts/exynos4412-smdk4412.dts   |  210 ++--
 arch/arm/boot/dts/exynos4412-trats2.dts | 1331 ---
 arch/arm/boot/dts/exynos4412.dtsi   |   20 +-
 arch/arm/boot/dts/exynos4x12-pinctrl.dtsi   |8 +-
 arch/arm/boot/dts/exynos4x12.dtsi   |  212 ++--
 14 files changed, 1952 insertions(+), 1952 deletions(-)

-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Fw: Re: [PATCH 3/3] drm/exynos: enable/disable blend based on pixel format

2015-04-17 Thread Ville Syrjälä
On Fri, Apr 17, 2015 at 02:55:57PM +0200, Tobias Jakobi wrote:
> Hello Joonyoung,
> 
> I thought about this some more.
> 
> 
> > Gesendet: Freitag, 17. April 2015 um 08:16 Uhr
> > Von: "Joonyoung Shim" 
> > An: "Gustavo Padovan" , 
> > linux-samsung-soc@vger.kernel.org
> > Cc: dri-de...@lists.freedesktop.org, inki@samsung.com, "Gustavo
> > Padovan" 
> > Betreff: Re: [PATCH 3/3] drm/exynos: enable/disable blend based on 
> > pixel format
> > Hi Gustavo,
> > 
> > On 03/19/2015 11:27 PM, Gustavo Padovan wrote:
> >> From: Gustavo Padovan 
> >> 
> >> Change the switch to use the pixel_format instead of bpp to figure out
> >> if we need to enable or disable the layer blending.
> >> 
> > 
> > The default concept is ok about enable or disable of pixel blending
> > feature by pixel_format, but it will make to possible blending with
> > background layer. I'm not sure whether it's proper or not.
> I think one of the reasons why this is currently causing confusion is 
> because the background layer is not exposed to userspace. So an idea 
> would be to expose BG as a normal DRM plane, with a background_rgb 
> propery.

Is it just a color? The plan is to expose that simply as a crtc
property. There have been some patches floating around for intel.
Not sure if those were cc:d to dri-devel properly.

> 
> Then we just need to keep track which planes are enabled.
> 
> E.g. if just the primary plane is enabled, then we ignore any alpha 
> pixelformat (in the sense that we map it to its non-alpha counterpart). 
> If another plane, which is located 'underneath', is enabled, then we 
> honor the alpha. This could then be the background plane.
> 
> 
> With best wishes,
> Tobias
> 
> 
> 
> > 
> > Thanks.
> > 
> >> Signed-off-by: Gustavo Padovan 
> >> ---
> >> drivers/gpu/drm/exynos/exynos_mixer.c | 29 
> >> +
> >> 1 file changed, 25 insertions(+), 4 deletions(-)
> >> 
> >> diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c 
> >> b/drivers/gpu/drm/exynos/exynos_mixer.c
> >> index 7aff88f..0c54098 100644
> >> --- a/drivers/gpu/drm/exynos/exynos_mixer.c
> >> +++ b/drivers/gpu/drm/exynos/exynos_mixer.c
> >> @@ -529,7 +529,7 @@ static void mixer_graph_buffer(struct 
> >> mixer_context *ctx, int win)
> >> unsigned int x_ratio, y_ratio;
> >> unsigned int src_x_offset, src_y_offset, dst_x_offset, dst_y_offset;
> >> dma_addr_t dma_addr;
> >> - unsigned int fmt;
> >> + unsigned int fmt, blend;
> >> u32 val;
> >> 
> >> win_data = &ctx->win_data[win];
> >> @@ -539,15 +539,26 @@ static void mixer_graph_buffer(struct 
> >> mixer_context *ctx, int win)
> >> #define ARGB 6
> >> #define ARGB 7
> >> 
> >> - switch (win_data->bpp) {
> >> - case 16:
> >> + switch (win_data->pixel_format) {
> >> + case DRM_FORMAT_ARGB:
> >> fmt = ARGB;
> >> + blend = 1;
> >> break;
> >> - case 32:
> >> +
> >> + case DRM_FORMAT_ARGB:
> >> + fmt = ARGB;
> >> + blend = 1;
> >> + break;
> >> +
> >> + case DRM_FORMAT_XRGB:
> >> fmt = ARGB;
> >> + blend = 0;
> >> break;
> >> +
> >> default:
> >> fmt = ARGB;
> >> + blend = 0;
> >> + break;
> >> }
> >> 
> >> if (win_data->crtc_width != win_data->src_width ||
> >> @@ -586,6 +597,16 @@ static void mixer_graph_buffer(struct 
> >> mixer_context *ctx, int win)
> >> mixer_reg_write(res, MXR_GRAPHIC_SPAN(win),
> >> win_data->fb_pitch / (win_data->bpp >> 3));
> >> 
> >> + if (blend) {
> >> + val = MXR_GRP_CFG_BLEND_PRE_MUL;
> >> + val |= MXR_GRP_CFG_PIXEL_BLEND_EN;
> >> + } else {
> >> + val = 0;
> >> + }
> >> + mixer_reg_writemask(res, MXR_GRAPHIC_CFG(win), val,
> >> + MXR_GRP_CFG_BLEND_PRE_MUL
> >> + | MXR_GRP_CFG_PIXEL_BLEND_EN);
> >> +
> >> /* setup display size */
> >> if (ctx->mxr_ver == MXR_VER_128_0_0_184 &&
> >> win == MIXER_DEFAULT_WIN) {
> >> 
> > 
> > --
> > To unsubscribe from this list: send the line "unsubscribe 
> > linux-samsung-soc" in
> > the body of a message to majord...@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> 
> ___
> dri-devel mailing list
> dri-de...@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Ville Syrjälä
Intel OTC
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2/2] ARM: dts: s3c2416: Use labels for overriding nodes in SMDK2416

2015-04-17 Thread Krzysztof Kozlowski
Usage of labels instead of full paths reduces possible mistakes when
overriding nodes.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/s3c2416-smdk2416.dts | 86 +-
 1 file changed, 43 insertions(+), 43 deletions(-)

diff --git a/arch/arm/boot/dts/s3c2416-smdk2416.dts 
b/arch/arm/boot/dts/s3c2416-smdk2416.dts
index ea92fd69529a..f257926c13b7 100644
--- a/arch/arm/boot/dts/s3c2416-smdk2416.dts
+++ b/arch/arm/boot/dts/s3c2416-smdk2416.dts
@@ -31,55 +31,55 @@
#clock-cells = <0>;
};
};
+};
 
-   serial@5000 {
-   status = "okay";
-   pinctrl-names = "default";
-   pinctrl-0 = <&uart0_data>, <&uart0_fctl>;
-   };
+&rtc {
+   status = "okay";
+};
 
-   serial@50004000 {
-   status = "okay";
-   pinctrl-names = "default";
-   pinctrl-0 = <&uart1_data>, <&uart1_fctl>;
-   };
+&sdhci_0 {
+   pinctrl-names = "default";
+   pinctrl-0 = <&sd1_clk>, <&sd1_cmd>,
+   <&sd1_bus1>, <&sd1_bus4>;
+   bus-width = <4>;
+   broken-cd;
+   status = "okay";
+};
 
-   serial@50008000 {
-   status = "okay";
-   pinctrl-names = "default";
-   pinctrl-0 = <&uart2_data>;
-   };
+&sdhci_1 {
+   pinctrl-names = "default";
+   pinctrl-0 = <&sd0_clk>, <&sd0_cmd>,
+   <&sd0_bus1>, <&sd0_bus4>;
+   bus-width = <4>;
+   cd-gpios = <&gpf 1 0>;
+   cd-inverted;
+   status = "okay";
+};
 
-   serial@5000C000 {
-   status = "okay";
-   pinctrl-names = "default";
-   pinctrl-0 = <&uart3_data>;
-   };
+&uart_0 {
+   status = "okay";
+   pinctrl-names = "default";
+   pinctrl-0 = <&uart0_data>, <&uart0_fctl>;
+};
 
-   watchdog@5300 {
-   status = "okay";
-   };
+&uart_1 {
+   status = "okay";
+   pinctrl-names = "default";
+   pinctrl-0 = <&uart1_data>, <&uart1_fctl>;
+};
 
-   rtc@5700 {
-   status = "okay";
-   };
+&uart_2 {
+   status = "okay";
+   pinctrl-names = "default";
+   pinctrl-0 = <&uart2_data>;
+};
 
-   sdhci@4AC0 {
-   pinctrl-names = "default";
-   pinctrl-0 = <&sd0_clk>, <&sd0_cmd>,
-   <&sd0_bus1>, <&sd0_bus4>;
-   bus-width = <4>;
-   cd-gpios = <&gpf 1 0>;
-   cd-inverted;
-   status = "okay";
-   };
+&uart_3 {
+   status = "okay";
+   pinctrl-names = "default";
+   pinctrl-0 = <&uart3_data>;
+};
 
-   sdhci@4A80 {
-   pinctrl-names = "default";
-   pinctrl-0 = <&sd1_clk>, <&sd1_cmd>,
-   <&sd1_bus1>, <&sd1_bus4>;
-   bus-width = <4>;
-   broken-cd;
-   status = "okay";
-   };
+&watchdog {
+   status = "okay";
 };
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] ARM: dts: s3c2416: Add labels to S3C2416 nodes

2015-04-17 Thread Krzysztof Kozlowski
Add new labels to certain nodes on S3C2416 so they could be easily
referenced by board DTS files.

Signed-off-by: Krzysztof Kozlowski 
---
 arch/arm/boot/dts/s3c2416.dtsi | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/arch/arm/boot/dts/s3c2416.dtsi b/arch/arm/boot/dts/s3c2416.dtsi
index 30b8f7e47454..a5184ff56933 100644
--- a/arch/arm/boot/dts/s3c2416.dtsi
+++ b/arch/arm/boot/dts/s3c2416.dtsi
@@ -17,7 +17,7 @@
compatible = "samsung,s3c2416";
 
aliases {
-   serial3 = &uart3;
+   serial3 = &uart_3;
};
 
cpus {
@@ -48,7 +48,7 @@
clock-names = "timers";
};
 
-   serial@5000 {
+   uart_0: serial@5000 {
compatible = "samsung,s3c2440-uart";
clock-names = "uart", "clk_uart_baud2",
"clk_uart_baud3";
@@ -56,7 +56,7 @@
<&clocks SCLK_UART>;
};
 
-   serial@50004000 {
+   uart_1: serial@50004000 {
compatible = "samsung,s3c2440-uart";
clock-names = "uart", "clk_uart_baud2",
"clk_uart_baud3";
@@ -64,7 +64,7 @@
<&clocks SCLK_UART>;
};
 
-   serial@50008000 {
+   uart_2: serial@50008000 {
compatible = "samsung,s3c2440-uart";
clock-names = "uart", "clk_uart_baud2",
"clk_uart_baud3";
@@ -72,7 +72,7 @@
<&clocks SCLK_UART>;
};
 
-   uart3: serial@5000C000 {
+   uart_3: serial@5000C000 {
compatible = "samsung,s3c2440-uart";
reg = <0x5000C000 0x4000>;
interrupts = <1 18 24 4>, <1 18 25 4>;
@@ -83,7 +83,7 @@
status = "disabled";
};
 
-   sdhci@4AC0 {
+   sdhci_1: sdhci@4AC0 {
compatible = "samsung,s3c6410-sdhci";
reg = <0x4AC0 0x100>;
interrupts = <0 0 21 3>;
@@ -94,7 +94,7 @@
status = "disabled";
};
 
-   sdhci@4A80 {
+   sdhci_0: sdhci@4A80 {
compatible = "samsung,s3c6410-sdhci";
reg = <0x4A80 0x100>;
interrupts = <0 0 20 3>;
@@ -105,13 +105,13 @@
status = "disabled";
};
 
-   watchdog@5300 {
+   watchdog: watchdog@5300 {
interrupts = <1 9 27 3>;
clocks = <&clocks PCLK_WDT>;
clock-names = "watchdog";
};
 
-   rtc@5700 {
+   rtc: rtc@5700 {
compatible = "samsung,s3c2416-rtc";
clocks = <&clocks PCLK_RTC>;
clock-names = "rtc";
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Fw: Re: [PATCH 3/3] drm/exynos: enable/disable blend based on pixel format

2015-04-17 Thread Tobias Jakobi

Hello Joonyoung,

I thought about this some more.



Gesendet: Freitag, 17. April 2015 um 08:16 Uhr
Von: "Joonyoung Shim" 
An: "Gustavo Padovan" , 
linux-samsung-soc@vger.kernel.org

Cc: dri-de...@lists.freedesktop.org, inki@samsung.com, "Gustavo
Padovan" 
Betreff: Re: [PATCH 3/3] drm/exynos: enable/disable blend based on 
pixel format

Hi Gustavo,

On 03/19/2015 11:27 PM, Gustavo Padovan wrote:

From: Gustavo Padovan 

Change the switch to use the pixel_format instead of bpp to figure out
if we need to enable or disable the layer blending.



The default concept is ok about enable or disable of pixel blending
feature by pixel_format, but it will make to possible blending with
background layer. I'm not sure whether it's proper or not.
I think one of the reasons why this is currently causing confusion is 
because the background layer is not exposed to userspace. So an idea 
would be to expose BG as a normal DRM plane, with a background_rgb 
propery.


Then we just need to keep track which planes are enabled.

E.g. if just the primary plane is enabled, then we ignore any alpha 
pixelformat (in the sense that we map it to its non-alpha counterpart). 
If another plane, which is located 'underneath', is enabled, then we 
honor the alpha. This could then be the background plane.



With best wishes,
Tobias





Thanks.


Signed-off-by: Gustavo Padovan 
---
drivers/gpu/drm/exynos/exynos_mixer.c | 29 
+

1 file changed, 25 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c 
b/drivers/gpu/drm/exynos/exynos_mixer.c

index 7aff88f..0c54098 100644
--- a/drivers/gpu/drm/exynos/exynos_mixer.c
+++ b/drivers/gpu/drm/exynos/exynos_mixer.c
@@ -529,7 +529,7 @@ static void mixer_graph_buffer(struct 
mixer_context *ctx, int win)

unsigned int x_ratio, y_ratio;
unsigned int src_x_offset, src_y_offset, dst_x_offset, dst_y_offset;
dma_addr_t dma_addr;
- unsigned int fmt;
+ unsigned int fmt, blend;
u32 val;

win_data = &ctx->win_data[win];
@@ -539,15 +539,26 @@ static void mixer_graph_buffer(struct 
mixer_context *ctx, int win)

#define ARGB 6
#define ARGB 7

- switch (win_data->bpp) {
- case 16:
+ switch (win_data->pixel_format) {
+ case DRM_FORMAT_ARGB:
fmt = ARGB;
+ blend = 1;
break;
- case 32:
+
+ case DRM_FORMAT_ARGB:
+ fmt = ARGB;
+ blend = 1;
+ break;
+
+ case DRM_FORMAT_XRGB:
fmt = ARGB;
+ blend = 0;
break;
+
default:
fmt = ARGB;
+ blend = 0;
+ break;
}

if (win_data->crtc_width != win_data->src_width ||
@@ -586,6 +597,16 @@ static void mixer_graph_buffer(struct 
mixer_context *ctx, int win)

mixer_reg_write(res, MXR_GRAPHIC_SPAN(win),
win_data->fb_pitch / (win_data->bpp >> 3));

+ if (blend) {
+ val = MXR_GRP_CFG_BLEND_PRE_MUL;
+ val |= MXR_GRP_CFG_PIXEL_BLEND_EN;
+ } else {
+ val = 0;
+ }
+ mixer_reg_writemask(res, MXR_GRAPHIC_CFG(win), val,
+ MXR_GRP_CFG_BLEND_PRE_MUL
+ | MXR_GRP_CFG_PIXEL_BLEND_EN);
+
/* setup display size */
if (ctx->mxr_ver == MXR_VER_128_0_0_184 &&
win == MIXER_DEFAULT_WIN) {



--
To unsubscribe from this list: send the line "unsubscribe 
linux-samsung-soc" in

the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] thermal: exynos: Reorder exynos_map_dt_data() function

2015-04-17 Thread Lukasz Majewski
Hi Joonyoung,

> Hi Lukasz,
> 
> On 04/15/2015 08:05 PM, Lukasz Majewski wrote:
> > Hi Joonyoung,
> > 
> >> Hi Lukasz,
> >>
> >> On 01/30/2015 05:14 PM, Lukasz Majewski wrote:
> >>> Hi Eduardo, Abhilash,
> >>>
>  On Thu, Jan 22, 2015 at 06:02:07PM +0530, Abhilash Kesavan wrote:
> > Hi Lukasz,
> >
> > On Thu, Jan 22, 2015 at 2:31 PM, Lukasz Majewski
> >  wrote:
> >> Hi Abhilash,
> >>
> >>> Hi Lukasz,
> >>>
> >>> On Mon, Jan 19, 2015 at 5:14 PM, Lukasz Majewski
> >>>  wrote:
>  The exynos_map_dt_data() function must be called before
>  thermal_zone_of_sensor_register(), and hence provide
>  tmu_read() function, before it is needed.
> 
>  This change is driven by adding support for enabling
>  thermal_zoneX when it is properly initialized.
> 
>  One can read the mode of operation
>  at /sys/class/thermal/thermal_zone0/mode Such functionality
>  was missing in the of-thermal.c code.
> 
>  Reported-by: Abhilash Kesavan 
>  Signed-off-by: Lukasz Majewski 
>  ---
>   drivers/thermal/samsung/exynos_tmu.c | 7 ---
>   1 file changed, 4 insertions(+), 3 deletions(-)
> 
>  diff --git a/drivers/thermal/samsung/exynos_tmu.c
>  b/drivers/thermal/samsung/exynos_tmu.c index 9d2d685..5d946ab
>  100644 --- a/drivers/thermal/samsung/exynos_tmu.c
>  +++ b/drivers/thermal/samsung/exynos_tmu.c
>  @@ -975,15 +975,16 @@ static int exynos_tmu_probe(struct
>  platform_device *pdev) platform_set_drvdata(pdev, data);
>  mutex_init(&data->lock);
> 
>  +   ret = exynos_map_dt_data(pdev);
>  +   if (ret)
>  +   goto err_sensor;
> >>
> >> It's enough to just return ret.
> >>
> >> One more, i think to need to take out regulator enable codes from
> >> exynos_map_dt_data. If not, can't restore about regulator when
> >> error occurs.
> >>
>  +
>  data->tzd =
>  thermal_zone_of_sensor_register(&pdev->dev, 0, data,
>  &exynos_sensor_ops); if (IS_ERR(data->tzd)) {
>  pr_err("thermal: tz: %p ERROR\n", data->tzd);
>  return PTR_ERR(data->tzd);
>  }
>  -   ret = exynos_map_dt_data(pdev);
>  -   if (ret)
>  -   goto err_sensor;
> 
>  pdata = data->pdata;
> >>>
> >>> I have been testing this along with your v5 patch set and am
> >>> seeing incorrect temperature being reported at boot-up on
> >>> exynos7.
> >>
> >> Does it show a maximal temperature value (0x1FF)?
> >
> > I did not print the current temperature register, but I remember
> > the message showing ~105C. Will give you the register value when
> > I test with more debug prints tomorrow.
> >
> >>
> >>>  It looks
> >>> like exynos_tmu_read gets called from
> >>> thermal_zone_of_device_update during boot-up, now that we have
> >>> it populated early. However, as the tmu initialization
> >>> function has not been called yet it returns a wrong value.
> >>> Does that sound correct ?
> >>
> >> No, this is a mistake. However, I'm wondering why on Exynos4/5
> >> this error didn't show up...
> >
> > I have been lowering the software trip point temperature in the
> > exynos7 dts file (to 55C) for testing purposes. Hence, when the
> > temperature is read incorrectly as ~105C the board trips at
> > boot-up
> >>>
> >>>    this is a very
> >>> unusual value - I had problems with
> >>>   reading 0xFF values with
> >>>   similar symptom (but this
> >>> was caused by lack of vtmu).
> >>>
> > itself. Maybe for exynos4/5 the incorrect value read during
> > boot-up is in the non-tripping range and once the tmu is
> > initialized later it continues to function properly thereafter ?
> >
> >>
> >> The reordering is needed to be able to call set_mode callback
> >> at of-thermal.c to set the mode.
> >>
> >> If this change causes problems, then another solution (probably
> >> not so neat) must be found.
> >
> > Please let me know if you need any further details.
> >>>
> >>> Abhilash, could you provide more details (like relevant output
> >>> from dmesg) and point me a list of patches which shall I apply to
> >>> test this issue on Exynos4/5?
> >>>
> 
>  What is the status of this patch? Is it still required?
> >>>
> >>> It is strange, since on Exynos4/5 this works and some problems
> >>> show up when run on Exynos7.
> >>>
> >>
> >> I'm also wondering the status of this patch.
> > 
> > This patch has been dropped.
> > 
> >>
> >> I get below errors when boots odroidxu3 board without this patch.
> > 
> 

Re: Fw: Re: [PATCH 3/3] drm/exynos: enable/disable blend based on pixel format

2015-04-17 Thread Tobias Jakobi

Hello Joonyoung,


Gesendet: Freitag, 17. April 2015 um 08:16 Uhr
Von: "Joonyoung Shim" 
An: "Gustavo Padovan" , 
linux-samsung-soc@vger.kernel.org

Cc: dri-de...@lists.freedesktop.org, inki@samsung.com, "Gustavo
Padovan" 
Betreff: Re: [PATCH 3/3] drm/exynos: enable/disable blend based on 
pixel format

Hi Gustavo,

On 03/19/2015 11:27 PM, Gustavo Padovan wrote:

From: Gustavo Padovan 

Change the switch to use the pixel_format instead of bpp to figure out
if we need to enable or disable the layer blending.



The default concept is ok about enable or disable of pixel blending
feature by pixel_format, but it will make to possible blending with
background layer. I'm not sure whether it's proper or not.
Wouldn't this be solved by only allowing non-alpha formats for the 
primary plane, or am I confusing the plane ordering?



With best wishes,
Tobias





Thanks.


Signed-off-by: Gustavo Padovan 
---
drivers/gpu/drm/exynos/exynos_mixer.c | 29 
+

1 file changed, 25 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_mixer.c 
b/drivers/gpu/drm/exynos/exynos_mixer.c

index 7aff88f..0c54098 100644
--- a/drivers/gpu/drm/exynos/exynos_mixer.c
+++ b/drivers/gpu/drm/exynos/exynos_mixer.c
@@ -529,7 +529,7 @@ static void mixer_graph_buffer(struct 
mixer_context *ctx, int win)

unsigned int x_ratio, y_ratio;
unsigned int src_x_offset, src_y_offset, dst_x_offset, dst_y_offset;
dma_addr_t dma_addr;
- unsigned int fmt;
+ unsigned int fmt, blend;
u32 val;

win_data = &ctx->win_data[win];
@@ -539,15 +539,26 @@ static void mixer_graph_buffer(struct 
mixer_context *ctx, int win)

#define ARGB 6
#define ARGB 7

- switch (win_data->bpp) {
- case 16:
+ switch (win_data->pixel_format) {
+ case DRM_FORMAT_ARGB:
fmt = ARGB;
+ blend = 1;
break;
- case 32:
+
+ case DRM_FORMAT_ARGB:
+ fmt = ARGB;
+ blend = 1;
+ break;
+
+ case DRM_FORMAT_XRGB:
fmt = ARGB;
+ blend = 0;
break;
+
default:
fmt = ARGB;
+ blend = 0;
+ break;
}

if (win_data->crtc_width != win_data->src_width ||
@@ -586,6 +597,16 @@ static void mixer_graph_buffer(struct 
mixer_context *ctx, int win)

mixer_reg_write(res, MXR_GRAPHIC_SPAN(win),
win_data->fb_pitch / (win_data->bpp >> 3));

+ if (blend) {
+ val = MXR_GRP_CFG_BLEND_PRE_MUL;
+ val |= MXR_GRP_CFG_PIXEL_BLEND_EN;
+ } else {
+ val = 0;
+ }
+ mixer_reg_writemask(res, MXR_GRAPHIC_CFG(win), val,
+ MXR_GRP_CFG_BLEND_PRE_MUL
+ | MXR_GRP_CFG_PIXEL_BLEND_EN);
+
/* setup display size */
if (ctx->mxr_ver == MXR_VER_128_0_0_184 &&
win == MIXER_DEFAULT_WIN) {



--
To unsubscribe from this list: send the line "unsubscribe 
linux-samsung-soc" in

the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 2/2] drm/exynos: remove unused 'activated' field from exynos_drm_plane

2015-04-17 Thread Tobias Jakobi

Hello Joonyoung,

On 2015-04-17 08:30, Joonyoung Shim wrote:

Hi Tobias,

On 04/16/2015 04:54 AM, Tobias Jakobi wrote:

No component of Exynos DRM uses this field. Perhaps it was
once meant to provide more fine-grained information in
addition to the status stored in the 'enabled' field.

Reviewed-by: Gustavo Padovan 
Signed-off-by: Tobias Jakobi 
---
 drivers/gpu/drm/exynos/exynos_drm_drv.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.h 
b/drivers/gpu/drm/exynos/exynos_drm_drv.h

index 6a849cf..4c14a89 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.h
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.h
@@ -77,7 +77,6 @@ extern void exynos4412_qos(u8 tm, u8 ac);
  * @color_key: color key on or off.
  * @local_path: in case of lcd type, local path mode on or off.
  * @transparency: transparency on or off.
- * @activated: activated or not.
  * @enabled: enabled or not.
  * @resume: to resume or not.
  *
@@ -112,7 +111,6 @@ struct exynos_drm_plane {
bool color_key:1;
bool local_path:1;
bool transparency:1;
-   bool activated:1;
bool enabled:1;
bool resume:1;
 };



The following fields also are unused in exynos drm driver,
- default win, color_key, local_path, transparency
Yeah, looks like it. I just stumbled upon 'activated' because I was 
wondering what the difference between 'enabled' and 'activated' was. 
Grepping than revealed that nothing was using that field. I didn't check 
any other fields.


Also I just noticed that due to how git formats the patches, this one 
doesn't apply to any of Inki's branches (due to the 'extern void 
exynos4412_qos(u8 tm, u8 ac);' line).


Should I respin this, and if yes, should I also drop the other fields 
mentioned? Question is more directed to Gustavo, since he's cleaning 
'exynos_drm_plane' anyway.




Inki, how about remove unused fields?

Thanks.



With best wishes,
Tobias


--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html