Re: [PATCH v2 2/2] drm/exynos: remove unused 'activated' field from exynos_drm_plane
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
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-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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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()
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
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
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
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
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
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
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
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
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
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
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
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
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
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