Commit 7d5a0ff5 authored by Kevin Hilman's avatar Kevin Hilman

Merge tag 'samsung-dt-4' of...

Merge tag 'samsung-dt-4' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt

Samsung another DT udpates for v4.2

- use labels for overriding nodes for all of exynos stuff
  (by Krzysztof Kozlowski)

- add sysmmu nodes for exynos SoCs (by Marek Szyprowski)

- for exynos5422-odroidxu3
  : enalbe wake alarm of S2MPS11 RTC
  : Hook up PWM and use it for LEDs
  : add support for Odroid XU3 Lite

- remove duplicated i2c7 for exynos5250-snow
- add JPEG codec nodes for exynos5420
- add vendor prefix for Hardkernel

* tag 'samsung-dt-4' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (33 commits)
  ARM: dts: add sysmmu nodes for exynos5420
  ARM: dts: add sysmmu nodes for exynos5250
  ARM: dts: add sysmmu nodes for exynos4415
  ARM: dts: add sysmmu nodes for exynos3250
  ARM: dts: add sysmmu nodes for exynos4
  ARM: dts: Add Odroid XU3 Lite support
  of: Add vendor prefix for Hardkernel
  ARM: dts: odroidxu3: Enable wake alarm of S2MPS11 RTC
  ARM: dts: exynos5420: add nodes for jpeg codec
  ARM: dts: s3c2416: Use labels for overriding nodes in SMDK2416
  ARM: dts: s3c2416: Add labels to S3C2416 nodes
  ARM: dts: Use labels for overriding nodes in exynos5422-odroidxu3
  ARM: dts: Use labels for overriding nodes in exynos5440 boards
  ARM: dts: Use labels for overriding nodes in exynos5420-smdk5420
  ARM: dts: Use labels for overriding nodes in exynos542x
  ARM: dts: Use labels for overriding nodes in exynos5420-arndale-octa
  ARM: dts: Remove duplicated I2C7 nodes in exynos5250-snow
  ARM: dts: Use labels for overriding nodes in exynos5250
  ARM: dts: Add labels to exynos5 nodes
  ARM: dts: exynos5422-odroidxu3: Hook up PWM and use it for LEDs
  ...
parents ecdf94da b7004516
...@@ -93,6 +93,7 @@ gumstix Gumstix, Inc. ...@@ -93,6 +93,7 @@ gumstix Gumstix, Inc.
gw Gateworks Corporation gw Gateworks Corporation
hannstar HannStar Display Corporation hannstar HannStar Display Corporation
haoyu Haoyu Microelectronic Co. Ltd. haoyu Haoyu Microelectronic Co. Ltd.
hardkernel Hardkernel Co., Ltd
himax Himax Technologies, Inc. himax Himax Technologies, Inc.
hisilicon Hisilicon Limited. hisilicon Hisilicon Limited.
hit Hitachi Ltd. hit Hitachi Ltd.
......
...@@ -121,6 +121,7 @@ dtb-$(CONFIG_ARCH_EXYNOS5) += \ ...@@ -121,6 +121,7 @@ dtb-$(CONFIG_ARCH_EXYNOS5) += \
exynos5420-peach-pit.dtb \ exynos5420-peach-pit.dtb \
exynos5420-smdk5420.dtb \ exynos5420-smdk5420.dtb \
exynos5422-odroidxu3.dtb \ exynos5422-odroidxu3.dtb \
exynos5422-odroidxu3-lite.dtb \
exynos5440-sd5v1.dtb \ exynos5440-sd5v1.dtb \
exynos5440-ssdk5440.dtb \ exynos5440-ssdk5440.dtb \
exynos5800-peach-pi.dtb exynos5800-peach-pi.dtb
......
...@@ -253,9 +253,20 @@ jpeg: codec@11830000 { ...@@ -253,9 +253,20 @@ jpeg: codec@11830000 {
assigned-clocks = <&cmu CLK_MOUT_CAM_BLK>, <&cmu CLK_SCLK_JPEG>; assigned-clocks = <&cmu CLK_MOUT_CAM_BLK>, <&cmu CLK_SCLK_JPEG>;
assigned-clock-rates = <0>, <150000000>; assigned-clock-rates = <0>, <150000000>;
assigned-clock-parents = <&cmu CLK_DIV_MPLL_PRE>; assigned-clock-parents = <&cmu CLK_DIV_MPLL_PRE>;
iommus = <&sysmmu_jpeg>;
status = "disabled"; status = "disabled";
}; };
sysmmu_jpeg: sysmmu@11A60000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x11a60000 0x1000>;
interrupts = <0 156 0>, <0 161 0>;
clock-names = "sysmmu", "master";
clocks = <&cmu CLK_SMMUJPEG>, <&cmu CLK_JPEG>;
power-domains = <&pd_cam>;
#iommu-cells = <0>;
};
fimd: fimd@11c00000 { fimd: fimd@11c00000 {
compatible = "samsung,exynos3250-fimd"; compatible = "samsung,exynos3250-fimd";
reg = <0x11c00000 0x30000>; reg = <0x11c00000 0x30000>;
...@@ -264,6 +275,7 @@ fimd: fimd@11c00000 { ...@@ -264,6 +275,7 @@ fimd: fimd@11c00000 {
clocks = <&cmu CLK_SCLK_FIMD0>, <&cmu CLK_FIMD0>; clocks = <&cmu CLK_SCLK_FIMD0>, <&cmu CLK_FIMD0>;
clock-names = "sclk_fimd", "fimd"; clock-names = "sclk_fimd", "fimd";
power-domains = <&pd_lcd0>; power-domains = <&pd_lcd0>;
iommus = <&sysmmu_fimd0>;
samsung,sysreg = <&sys_reg>; samsung,sysreg = <&sys_reg>;
status = "disabled"; status = "disabled";
}; };
...@@ -283,6 +295,16 @@ dsi_0: dsi@11C80000 { ...@@ -283,6 +295,16 @@ dsi_0: dsi@11C80000 {
status = "disabled"; status = "disabled";
}; };
sysmmu_fimd0: sysmmu@11E20000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x11e20000 0x1000>;
interrupts = <0 80 0>, <0 81 0>;
clock-names = "sysmmu", "master";
clocks = <&cmu CLK_SMMUFIMD0>, <&cmu CLK_FIMD0>;
power-domains = <&pd_lcd0>;
#iommu-cells = <0>;
};
hsotg: hsotg@12480000 { hsotg: hsotg@12480000 {
compatible = "snps,dwc2"; compatible = "snps,dwc2";
reg = <0x12480000 0x20000>; reg = <0x12480000 0x20000>;
...@@ -377,9 +399,20 @@ mfc: codec@13400000 { ...@@ -377,9 +399,20 @@ mfc: codec@13400000 {
clock-names = "mfc", "sclk_mfc"; clock-names = "mfc", "sclk_mfc";
clocks = <&cmu CLK_MFC>, <&cmu CLK_SCLK_MFC>; clocks = <&cmu CLK_MFC>, <&cmu CLK_SCLK_MFC>;
power-domains = <&pd_mfc>; power-domains = <&pd_mfc>;
iommus = <&sysmmu_mfc>;
status = "disabled"; status = "disabled";
}; };
sysmmu_mfc: sysmmu@13620000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x13620000 0x1000>;
interrupts = <0 96 0>, <0 98 0>;
clock-names = "sysmmu", "master";
clocks = <&cmu CLK_SMMUMFC_L>, <&cmu CLK_MFC>;
power-domains = <&pd_mfc>;
#iommu-cells = <0>;
};
serial_0: serial@13800000 { serial_0: serial@13800000 {
compatible = "samsung,exynos4210-uart"; compatible = "samsung,exynos4210-uart";
reg = <0x13800000 0x100>; reg = <0x13800000 0x100>;
......
...@@ -189,6 +189,7 @@ fimc_0: fimc@11800000 { ...@@ -189,6 +189,7 @@ fimc_0: fimc@11800000 {
clock-names = "fimc", "sclk_fimc"; clock-names = "fimc", "sclk_fimc";
power-domains = <&pd_cam>; power-domains = <&pd_cam>;
samsung,sysreg = <&sys_reg>; samsung,sysreg = <&sys_reg>;
iommus = <&sysmmu_fimc0>;
status = "disabled"; status = "disabled";
}; };
...@@ -200,6 +201,7 @@ fimc_1: fimc@11810000 { ...@@ -200,6 +201,7 @@ fimc_1: fimc@11810000 {
clock-names = "fimc", "sclk_fimc"; clock-names = "fimc", "sclk_fimc";
power-domains = <&pd_cam>; power-domains = <&pd_cam>;
samsung,sysreg = <&sys_reg>; samsung,sysreg = <&sys_reg>;
iommus = <&sysmmu_fimc1>;
status = "disabled"; status = "disabled";
}; };
...@@ -211,6 +213,7 @@ fimc_2: fimc@11820000 { ...@@ -211,6 +213,7 @@ fimc_2: fimc@11820000 {
clock-names = "fimc", "sclk_fimc"; clock-names = "fimc", "sclk_fimc";
power-domains = <&pd_cam>; power-domains = <&pd_cam>;
samsung,sysreg = <&sys_reg>; samsung,sysreg = <&sys_reg>;
iommus = <&sysmmu_fimc2>;
status = "disabled"; status = "disabled";
}; };
...@@ -222,6 +225,7 @@ fimc_3: fimc@11830000 { ...@@ -222,6 +225,7 @@ fimc_3: fimc@11830000 {
clock-names = "fimc", "sclk_fimc"; clock-names = "fimc", "sclk_fimc";
power-domains = <&pd_cam>; power-domains = <&pd_cam>;
samsung,sysreg = <&sys_reg>; samsung,sysreg = <&sys_reg>;
iommus = <&sysmmu_fimc3>;
status = "disabled"; status = "disabled";
}; };
...@@ -256,7 +260,7 @@ csis_1: csis@11890000 { ...@@ -256,7 +260,7 @@ csis_1: csis@11890000 {
}; };
}; };
watchdog@10060000 { watchdog: watchdog@10060000 {
compatible = "samsung,s3c2410-wdt"; compatible = "samsung,s3c2410-wdt";
reg = <0x10060000 0x100>; reg = <0x10060000 0x100>;
interrupts = <0 43 0>; interrupts = <0 43 0>;
...@@ -275,7 +279,7 @@ rtc: rtc@10070000 { ...@@ -275,7 +279,7 @@ rtc: rtc@10070000 {
status = "disabled"; status = "disabled";
}; };
keypad@100A0000 { keypad: keypad@100A0000 {
compatible = "samsung,s5pv210-keypad"; compatible = "samsung,s5pv210-keypad";
reg = <0x100A0000 0x100>; reg = <0x100A0000 0x100>;
interrupts = <0 109 0>; interrupts = <0 109 0>;
...@@ -284,7 +288,7 @@ keypad@100A0000 { ...@@ -284,7 +288,7 @@ keypad@100A0000 {
status = "disabled"; status = "disabled";
}; };
sdhci@12510000 { sdhci_0: sdhci@12510000 {
compatible = "samsung,exynos4210-sdhci"; compatible = "samsung,exynos4210-sdhci";
reg = <0x12510000 0x100>; reg = <0x12510000 0x100>;
interrupts = <0 73 0>; interrupts = <0 73 0>;
...@@ -293,7 +297,7 @@ sdhci@12510000 { ...@@ -293,7 +297,7 @@ sdhci@12510000 {
status = "disabled"; status = "disabled";
}; };
sdhci@12520000 { sdhci_1: sdhci@12520000 {
compatible = "samsung,exynos4210-sdhci"; compatible = "samsung,exynos4210-sdhci";
reg = <0x12520000 0x100>; reg = <0x12520000 0x100>;
interrupts = <0 74 0>; interrupts = <0 74 0>;
...@@ -302,7 +306,7 @@ sdhci@12520000 { ...@@ -302,7 +306,7 @@ sdhci@12520000 {
status = "disabled"; status = "disabled";
}; };
sdhci@12530000 { sdhci_2: sdhci@12530000 {
compatible = "samsung,exynos4210-sdhci"; compatible = "samsung,exynos4210-sdhci";
reg = <0x12530000 0x100>; reg = <0x12530000 0x100>;
interrupts = <0 75 0>; interrupts = <0 75 0>;
...@@ -311,7 +315,7 @@ sdhci@12530000 { ...@@ -311,7 +315,7 @@ sdhci@12530000 {
status = "disabled"; status = "disabled";
}; };
sdhci@12540000 { sdhci_3: sdhci@12540000 {
compatible = "samsung,exynos4210-sdhci"; compatible = "samsung,exynos4210-sdhci";
reg = <0x12540000 0x100>; reg = <0x12540000 0x100>;
interrupts = <0 76 0>; interrupts = <0 76 0>;
...@@ -330,7 +334,7 @@ exynos_usbphy: exynos-usbphy@125B0000 { ...@@ -330,7 +334,7 @@ exynos_usbphy: exynos-usbphy@125B0000 {
status = "disabled"; status = "disabled";
}; };
hsotg@12480000 { hsotg: hsotg@12480000 {
compatible = "samsung,s3c6400-hsotg"; compatible = "samsung,s3c6400-hsotg";
reg = <0x12480000 0x20000>; reg = <0x12480000 0x20000>;
interrupts = <0 71 0>; interrupts = <0 71 0>;
...@@ -341,7 +345,7 @@ hsotg@12480000 { ...@@ -341,7 +345,7 @@ hsotg@12480000 {
status = "disabled"; status = "disabled";
}; };
ehci@12580000 { ehci: ehci@12580000 {
compatible = "samsung,exynos4210-ehci"; compatible = "samsung,exynos4210-ehci";
reg = <0x12580000 0x100>; reg = <0x12580000 0x100>;
interrupts = <0 70 0>; interrupts = <0 70 0>;
...@@ -367,7 +371,7 @@ port@2 { ...@@ -367,7 +371,7 @@ port@2 {
}; };
}; };
ohci@12590000 { ohci: ohci@12590000 {
compatible = "samsung,exynos4210-ohci"; compatible = "samsung,exynos4210-ohci";
reg = <0x12590000 0x100>; reg = <0x12590000 0x100>;
interrupts = <0 70 0>; interrupts = <0 70 0>;
...@@ -416,6 +420,8 @@ mfc: codec@13400000 { ...@@ -416,6 +420,8 @@ mfc: codec@13400000 {
power-domains = <&pd_mfc>; power-domains = <&pd_mfc>;
clocks = <&clock CLK_MFC>, <&clock CLK_SCLK_MFC>; clocks = <&clock CLK_MFC>, <&clock CLK_SCLK_MFC>;
clock-names = "mfc", "sclk_mfc"; clock-names = "mfc", "sclk_mfc";
iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>;
iommu-names = "left", "right";
status = "disabled"; status = "disabled";
}; };
...@@ -620,7 +626,7 @@ spi_2: spi@13940000 { ...@@ -620,7 +626,7 @@ spi_2: spi@13940000 {
status = "disabled"; status = "disabled";
}; };
pwm@139D0000 { pwm: pwm@139D0000 {
compatible = "samsung,exynos4210-pwm"; compatible = "samsung,exynos4210-pwm";
reg = <0x139D0000 0x1000>; reg = <0x139D0000 0x1000>;
interrupts = <0 37 0>, <0 38 0>, <0 39 0>, <0 40 0>, <0 41 0>; interrupts = <0 37 0>, <0 38 0>, <0 39 0>, <0 40 0>, <0 41 0>;
...@@ -680,6 +686,7 @@ fimd: fimd@11c00000 { ...@@ -680,6 +686,7 @@ fimd: fimd@11c00000 {
clocks = <&clock CLK_SCLK_FIMD0>, <&clock CLK_FIMD0>; clocks = <&clock CLK_SCLK_FIMD0>, <&clock CLK_FIMD0>;
clock-names = "sclk_fimd", "fimd"; clock-names = "sclk_fimd", "fimd";
power-domains = <&pd_lcd0>; power-domains = <&pd_lcd0>;
iommus = <&sysmmu_fimd0>;
samsung,sysreg = <&sys_reg>; samsung,sysreg = <&sys_reg>;
status = "disabled"; status = "disabled";
}; };
...@@ -688,7 +695,7 @@ tmu: tmu@100C0000 { ...@@ -688,7 +695,7 @@ tmu: tmu@100C0000 {
#include "exynos4412-tmu-sensor-conf.dtsi" #include "exynos4412-tmu-sensor-conf.dtsi"
}; };
jpeg-codec@11840000 { jpeg_codec: jpeg-codec@11840000 {
compatible = "samsung,exynos4210-jpeg"; compatible = "samsung,exynos4210-jpeg";
reg = <0x11840000 0x1000>; reg = <0x11840000 0x1000>;
interrupts = <0 88 0>; interrupts = <0 88 0>;
...@@ -717,6 +724,7 @@ mixer: mixer@12C10000 { ...@@ -717,6 +724,7 @@ mixer: mixer@12C10000 {
interrupts = <0 91 0>; interrupts = <0 91 0>;
reg = <0x12C10000 0x2100>, <0x12c00000 0x300>; reg = <0x12C10000 0x2100>, <0x12c00000 0x300>;
power-domains = <&pd_tv>; power-domains = <&pd_tv>;
iommus = <&sysmmu_tv>;
status = "disabled"; status = "disabled";
}; };
...@@ -827,4 +835,114 @@ ppmu_mfc_right: ppmu_mfc_right@13670000 { ...@@ -827,4 +835,114 @@ ppmu_mfc_right: ppmu_mfc_right@13670000 {
clock-names = "ppmu"; clock-names = "ppmu";
status = "disabled"; status = "disabled";
}; };
sysmmu_mfc_l: sysmmu@13620000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x13620000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <5 5>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_MFCL>, <&clock CLK_MFC>;
power-domains = <&pd_mfc>;
#iommu-cells = <0>;
};
sysmmu_mfc_r: sysmmu@13630000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x13630000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <5 6>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_MFCR>, <&clock CLK_MFC>;
power-domains = <&pd_mfc>;
#iommu-cells = <0>;
};
sysmmu_tv: sysmmu@12E20000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x12E20000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <5 4>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_TV>, <&clock CLK_MIXER>;
power-domains = <&pd_tv>;
#iommu-cells = <0>;
};
sysmmu_fimc0: sysmmu@11A20000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x11A20000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <4 2>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_FIMC0>, <&clock CLK_FIMC0>;
power-domains = <&pd_cam>;
#iommu-cells = <0>;
};
sysmmu_fimc1: sysmmu@11A30000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x11A30000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <4 3>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_FIMC1>, <&clock CLK_FIMC1>;
power-domains = <&pd_cam>;
#iommu-cells = <0>;
};
sysmmu_fimc2: sysmmu@11A40000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x11A40000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <4 4>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_FIMC2>, <&clock CLK_FIMC2>;
power-domains = <&pd_cam>;
#iommu-cells = <0>;
};
sysmmu_fimc3: sysmmu@11A50000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x11A50000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <4 5>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_FIMC3>, <&clock CLK_FIMC3>;
power-domains = <&pd_cam>;
#iommu-cells = <0>;
};
sysmmu_jpeg: sysmmu@11A60000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x11A60000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <4 6>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_JPEG>, <&clock CLK_JPEG>;
power-domains = <&pd_cam>;
#iommu-cells = <0>;
};
sysmmu_rotator: sysmmu@12A30000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x12A30000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <5 0>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_ROTATOR>, <&clock CLK_ROTATOR>;
power-domains = <&pd_lcd0>;
#iommu-cells = <0>;
};
sysmmu_fimd0: sysmmu@11E20000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x11E20000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <5 2>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_FIMD0>, <&clock CLK_FIMD0>;
power-domains = <&pd_lcd0>;
#iommu-cells = <0>;
};
}; };
...@@ -50,61 +50,94 @@ mmc_reg: regulator@0 { ...@@ -50,61 +50,94 @@ mmc_reg: regulator@0 {
}; };
}; };
watchdog@10060000 { gpio_keys {
status = "okay"; compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
up {
label = "Up";
gpios = <&gpx2 0 1>;
linux,code = <KEY_UP>;
gpio-key,wakeup;
}; };
rtc@10070000 { down {
status = "okay"; label = "Down";
gpios = <&gpx2 1 1>;
linux,code = <KEY_DOWN>;
gpio-key,wakeup;
}; };
tmu@100C0000 { back {
status = "okay"; label = "Back";
gpios = <&gpx1 7 1>;
linux,code = <KEY_BACK>;
gpio-key,wakeup;
}; };
sdhci@12530000 { home {
bus-width = <4>; label = "Home";
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>; gpios = <&gpx1 6 1>;
pinctrl-names = "default"; linux,code = <KEY_HOME>;
vmmc-supply = <&mmc_reg>; gpio-key,wakeup;
status = "okay";
}; };
sdhci@12510000 { menu {
bus-width = <4>; label = "Menu";
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_cd>; gpios = <&gpx1 5 1>;
pinctrl-names = "default"; linux,code = <KEY_MENU>;
vmmc-supply = <&mmc_reg>; gpio-key,wakeup;
status = "okay"; };
}; };
g2d@12800000 { leds {
status = "okay"; compatible = "gpio-leds";
status {
gpios = <&gpx1 3 1>;
linux,default-trigger = "heartbeat";
};
}; };
codec@13400000 { fixed-rate-clocks {
samsung,mfc-r = <0x43000000 0x800000>; xxti {
samsung,mfc-l = <0x51000000 0x800000>; compatible = "samsung,clock-xxti";
status = "okay"; clock-frequency = <0>;
}; };
serial@13800000 { xusbxti {
status = "okay"; compatible = "samsung,clock-xusbxti";
clock-frequency = <24000000>;
};
}; };
serial@13810000 { display-timings {
status = "okay"; native-mode = <&timing0>;
timing0: timing {
clock-frequency = <47500000>;
hactive = <1024>;
vactive = <600>;
hfront-porch = <64>;
hback-porch = <16>;
hsync-len = <48>;
vback-porch = <64>;
vfront-porch = <16>;
vsync-len = <3>;
};
}; };
};
serial@13820000 { &fimd {
pinctrl-0 = <&lcd_en &lcd_clk &lcd_data24 &pwm0_out>;
pinctrl-names = "default";
status = "okay"; status = "okay";
}; };
serial@13830000 { &g2d {
status = "okay"; status = "okay";
}; };
i2c@13860000 { &i2c_0 {
status = "okay"; status = "okay";
samsung,i2c-sda-delay = <100>; samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <20000>; samsung,i2c-max-bus-freq = <20000>;
...@@ -251,87 +284,54 @@ buck7_reg: BUCK7 { ...@@ -251,87 +284,54 @@ buck7_reg: BUCK7 {
}; };
}; };
}; };
}; };
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
up { &mfc {
label = "Up"; samsung,mfc-r = <0x43000000 0x800000>;
gpios = <&gpx2 0 1>; samsung,mfc-l = <0x51000000 0x800000>;
linux,code = <KEY_UP>; status = "okay";
gpio-key,wakeup; };
};
down { &sdhci_0 {
label = "Down"; bus-width = <4>;
gpios = <&gpx2 1 1>; pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_cd>;
linux,code = <KEY_DOWN>; pinctrl-names = "default";
gpio-key,wakeup; vmmc-supply = <&mmc_reg>;
}; status = "okay";
};
back { &sdhci_2 {
label = "Back"; bus-width = <4>;
gpios = <&gpx1 7 1>; pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
linux,code = <KEY_BACK>; pinctrl-names = "default";
gpio-key,wakeup; vmmc-supply = <&mmc_reg>;
}; status = "okay";
};
home { &serial_0 {
label = "Home"; status = "okay";
gpios = <&gpx1 6 1>; };
linux,code = <KEY_HOME>;
gpio-key,wakeup;
};
menu { &serial_1 {
label = "Menu"; status = "okay";
gpios = <&gpx1 5 1>; };
linux,code = <KEY_MENU>;
gpio-key,wakeup;
};
};
leds { &serial_2 {
compatible = "gpio-leds"; status = "okay";
status { };
gpios = <&gpx1 3 1>;
linux,default-trigger = "heartbeat";
};
};
fixed-rate-clocks { &serial_3 {
xxti { status = "okay";
compatible = "samsung,clock-xxti"; };
clock-frequency = <0>;
};
xusbxti { &rtc {
compatible = "samsung,clock-xusbxti"; status = "okay";
clock-frequency = <24000000>; };
};
};
fimd@11c00000 { &tmu {
pinctrl-0 = <&lcd_en &lcd_clk &lcd_data24 &pwm0_out>;
pinctrl-names = "default";
status = "okay"; status = "okay";
}; };
display-timings { &watchdog {
native-mode = <&timing0>; status = "okay";
timing0: timing {
clock-frequency = <47500000>;
hactive = <1024>;
vactive = <600>;
hfront-porch = <64>;
hback-porch = <16>;
hsync-len = <48>;
vback-porch = <64>;
vfront-porch = <16>;
vsync-len = <3>;
};
};
}; };
...@@ -30,57 +30,42 @@ chosen { ...@@ -30,57 +30,42 @@ chosen {
stdout-path = &serial_1; stdout-path = &serial_1;
}; };
sdhci@12530000 { fixed-rate-clocks {
bus-width = <4>; xxti {
pinctrl-names = "default"; compatible = "samsung,clock-xxti";
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; clock-frequency = <12000000>;
status = "okay";
};
g2d@12800000 {
status = "okay";
};
codec@13400000 {
samsung,mfc-r = <0x43000000 0x800000>;
samsung,mfc-l = <0x51000000 0x800000>;
status = "okay";
}; };
serial@13800000 { xusbxti {
status = "okay"; compatible = "samsung,clock-xusbxti";
clock-frequency = <24000000>;
}; };
serial@13810000 {
status = "okay";
}; };
};
serial@13820000 { &g2d {
status = "okay"; status = "okay";
}; };
serial@13830000 { &i2c_0 {
#address-cells = <1>;
#size-cells = <0>;
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <100000>;
status = "okay"; status = "okay";
};
pinctrl@11000000 { eeprom@50 {
keypad_rows: keypad-rows { compatible = "samsung,24ad0xd1";
samsung,pins = "gpx2-0", "gpx2-1"; reg = <0x50>;
samsung,pin-function = <3>;
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
}; };
keypad_cols: keypad-cols { eeprom@52 {
samsung,pins = "gpx1-0", "gpx1-1", "gpx1-2", "gpx1-3", compatible = "samsung,24ad0xd1";
"gpx1-4", "gpx1-5", "gpx1-6", "gpx1-7"; reg = <0x52>;
samsung,pin-function = <3>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
}; };
};
keypad@100A0000 { &keypad {
samsung,keypad-num-rows = <2>; samsung,keypad-num-rows = <2>;
samsung,keypad-num-columns = <8>; samsung,keypad-num-columns = <8>;
linux,keypad-no-autorepeat; linux,keypad-no-autorepeat;
...@@ -148,27 +133,55 @@ key_e { ...@@ -148,27 +133,55 @@ key_e {
keypad,column = <7>; keypad,column = <7>;
linux,code = <18>; linux,code = <18>;
}; };
}; };
i2c@13860000 { &mfc {
#address-cells = <1>; samsung,mfc-r = <0x43000000 0x800000>;
#size-cells = <0>; samsung,mfc-l = <0x51000000 0x800000>;
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <100000>;
status = "okay"; status = "okay";
};
eeprom@50 { &pinctrl_1 {
compatible = "samsung,24ad0xd1"; keypad_rows: keypad-rows {
reg = <0x50>; samsung,pins = "gpx2-0", "gpx2-1";
samsung,pin-function = <3>;
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
}; };
eeprom@52 { keypad_cols: keypad-cols {
compatible = "samsung,24ad0xd1"; samsung,pins = "gpx1-0", "gpx1-1", "gpx1-2", "gpx1-3",
reg = <0x52>; "gpx1-4", "gpx1-5", "gpx1-6", "gpx1-7";
}; samsung,pin-function = <3>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
}; };
};
&sdhci_2 {
bus-width = <4>;
pinctrl-names = "default";
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
status = "okay";
};
&serial_0 {
status = "okay";
};
&serial_1 {
status = "okay";
};
&serial_2 {
status = "okay";
};
&serial_3 {
status = "okay";
};
spi_2: spi@13940000 { &spi_2 {
cs-gpios = <&gpc1 2 0>; cs-gpios = <&gpc1 2 0>;
status = "okay"; status = "okay";
...@@ -194,17 +207,4 @@ partition@40000 { ...@@ -194,17 +207,4 @@ partition@40000 {
reg = <0x40000 0xc0000>; reg = <0x40000 0xc0000>;
}; };
}; };
};
fixed-rate-clocks {
xxti {
compatible = "samsung,clock-xxti";
clock-frequency = <12000000>;
};
xusbxti {
compatible = "samsung,clock-xusbxti";
clock-frequency = <24000000>;
};
};
}; };
...@@ -89,42 +89,6 @@ vt_core_15v_reg: regulator-5 { ...@@ -89,42 +89,6 @@ vt_core_15v_reg: regulator-5 {
}; };
}; };
hsotg@12480000 {
vusb_d-supply = <&vusb_reg>;
vusb_a-supply = <&vusbdac_reg>;
dr_mode = "peripheral";
status = "okay";
};
sdhci_emmc: sdhci@12510000 {
bus-width = <8>;
non-removable;
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
pinctrl-names = "default";
vmmc-supply = <&vemmc_reg>;
status = "okay";
};
exynos-usbphy@125B0000 {
status = "okay";
};
serial@13800000 {
status = "okay";
};
serial@13810000 {
status = "okay";
};
serial@13820000 {
status = "okay";
};
serial@13830000 {
status = "okay";
};
gpio-keys { gpio-keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
...@@ -158,7 +122,145 @@ ok-key { ...@@ -158,7 +122,145 @@ ok-key {
}; };
}; };
i2c@13890000 { fixed-rate-clocks {
xxti {
compatible = "samsung,clock-xxti";
clock-frequency = <0>;
};
xusbxti {
compatible = "samsung,clock-xusbxti";
clock-frequency = <24000000>;
};
};
thermal-zones {
cpu_thermal: cpu-thermal {
cooling-maps {
map0 {
/* Corresponds to 800MHz at freq_table */
cooling-device = <&cpu0 2 2>;
};
map1 {
/* Corresponds to 200MHz at freq_table */
cooling-device = <&cpu0 4 4>;
};
};
};
};
camera {
pinctrl-names = "default";
pinctrl-0 = <>;
status = "okay";
fimc_0: fimc@11800000 {
status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC0>,
<&clock CLK_SCLK_FIMC0>;
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
assigned-clock-rates = <0>, <160000000>;
};
fimc_1: fimc@11810000 {
status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC1>,
<&clock CLK_SCLK_FIMC1>;
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
assigned-clock-rates = <0>, <160000000>;
};
fimc_2: fimc@11820000 {
status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC2>,
<&clock CLK_SCLK_FIMC2>;
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
assigned-clock-rates = <0>, <160000000>;
};
fimc_3: fimc@11830000 {
status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC3>,
<&clock CLK_SCLK_FIMC3>;
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
assigned-clock-rates = <0>, <160000000>;
};
};
};
&dsi_0 {
vddcore-supply = <&vusb_reg>;
vddio-supply = <&vmipi_reg>;
samsung,pll-clock-frequency = <24000000>;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out: endpoint {
remote-endpoint = <&dsi_in>;
samsung,burst-clock-frequency = <500000000>;
samsung,esc-clock-frequency = <20000000>;
};
};
};
panel@0 {
reg = <0>;
compatible = "samsung,s6e8aa0";
vdd3-supply = <&vcclcd_reg>;
vci-supply = <&vlcd_reg>;
reset-gpios = <&gpy4 5 0>;
power-on-delay= <50>;
reset-delay = <100>;
init-delay = <100>;
flip-horizontal;
flip-vertical;
panel-width-mm = <58>;
panel-height-mm = <103>;
display-timings {
timing-0 {
clock-frequency = <57153600>;
hactive = <720>;
vactive = <1280>;
hfront-porch = <5>;
hback-porch = <5>;
hsync-len = <5>;
vfront-porch = <13>;
vback-porch = <1>;
vsync-len = <2>;
};
};
port {
dsi_in: endpoint {
remote-endpoint = <&dsi_out>;
};
};
};
};
&exynos_usbphy {
status = "okay";
};
&fimd {
status = "okay";
};
&hsotg {
vusb_d-supply = <&vusb_reg>;
vusb_a-supply = <&vusbdac_reg>;
dr_mode = "peripheral";
status = "okay";
};
&i2c_3 {
samsung,i2c-sda-delay = <100>; samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>; samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <400000>; samsung,i2c-max-bus-freq = <400000>;
...@@ -176,9 +278,9 @@ mms114-touchscreen@48 { ...@@ -176,9 +278,9 @@ mms114-touchscreen@48 {
avdd-supply = <&tsp_reg>; avdd-supply = <&tsp_reg>;
vdd-supply = <&tsp_reg>; vdd-supply = <&tsp_reg>;
}; };
}; };
i2c@138B0000 { &i2c_5 {
samsung,i2c-sda-delay = <100>; samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>; samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <100000>; samsung,i2c-max-bus-freq = <100000>;
...@@ -351,135 +453,33 @@ safe2_sreg: ESAFEOUT2 { ...@@ -351,135 +453,33 @@ safe2_sreg: ESAFEOUT2 {
}; };
}; };
}; };
}; };
fixed-rate-clocks {
xxti {
compatible = "samsung,clock-xxti";
clock-frequency = <0>;
};
xusbxti {
compatible = "samsung,clock-xusbxti";
clock-frequency = <24000000>;
};
};
dsi_0: dsi@11C80000 {
vddcore-supply = <&vusb_reg>;
vddio-supply = <&vmipi_reg>;
samsung,pll-clock-frequency = <24000000>;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out: endpoint {
remote-endpoint = <&dsi_in>;
samsung,burst-clock-frequency = <500000000>;
samsung,esc-clock-frequency = <20000000>;
};
};
};
panel@0 {
reg = <0>;
compatible = "samsung,s6e8aa0";
vdd3-supply = <&vcclcd_reg>;
vci-supply = <&vlcd_reg>;
reset-gpios = <&gpy4 5 0>;
power-on-delay= <50>;
reset-delay = <100>;
init-delay = <100>;
flip-horizontal;
flip-vertical;
panel-width-mm = <58>;
panel-height-mm = <103>;
display-timings {
timing-0 {
clock-frequency = <57153600>;
hactive = <720>;
vactive = <1280>;
hfront-porch = <5>;
hback-porch = <5>;
hsync-len = <5>;
vfront-porch = <13>;
vback-porch = <1>;
vsync-len = <2>;
};
};
port {
dsi_in: endpoint {
remote-endpoint = <&dsi_out>;
};
};
};
};
fimd@11c00000 {
status = "okay";
};
tmu@100C0000 { &sdhci_0 {
bus-width = <8>;
non-removable;
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
pinctrl-names = "default";
vmmc-supply = <&vemmc_reg>;
status = "okay"; status = "okay";
}; };
thermal-zones {
cpu_thermal: cpu-thermal {
cooling-maps {
map0 {
/* Corresponds to 800MHz at freq_table */
cooling-device = <&cpu0 2 2>;
};
map1 {
/* Corresponds to 200MHz at freq_table */
cooling-device = <&cpu0 4 4>;
};
};
};
};
camera { &serial_0 {
pinctrl-names = "default";
pinctrl-0 = <>;
status = "okay"; status = "okay";
};
fimc_0: fimc@11800000 { &serial_1 {
status = "okay"; status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC0>, };
<&clock CLK_SCLK_FIMC0>;
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
assigned-clock-rates = <0>, <160000000>;
};
fimc_1: fimc@11810000 { &serial_2 {
status = "okay"; status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC1>, };
<&clock CLK_SCLK_FIMC1>;
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
assigned-clock-rates = <0>, <160000000>;
};
fimc_2: fimc@11820000 { &serial_3 {
status = "okay"; status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC2>, };
<&clock CLK_SCLK_FIMC2>;
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
assigned-clock-rates = <0>, <160000000>;
};
fimc_3: fimc@11830000 { &tmu {
status = "okay"; status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC3>,
<&clock CLK_SCLK_FIMC3>;
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
assigned-clock-rates = <0>, <160000000>;
};
};
}; };
...@@ -52,17 +52,7 @@ cpu@901 { ...@@ -52,17 +52,7 @@ cpu@901 {
}; };
}; };
pmu_system_controller: system-controller@10020000 { sysram: sysram@02020000 {
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@02020000 {
compatible = "mmio-sram"; compatible = "mmio-sram";
reg = <0x02020000 0x20000>; reg = <0x02020000 0x20000>;
#address-cells = <1>; #address-cells = <1>;
...@@ -95,19 +85,7 @@ l2c: l2-cache-controller@10502000 { ...@@ -95,19 +85,7 @@ l2c: l2-cache-controller@10502000 {
arm,data-latency = <2 2 1>; arm,data-latency = <2 2 1>;
}; };
gic: interrupt-controller@10490000 { mct: mct@10050000 {
cpu-offset = <0x8000>;
};
combiner: interrupt-controller@10440000 {
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@10050000 {
compatible = "samsung,exynos4210-mct"; compatible = "samsung,exynos4210-mct";
reg = <0x10050000 0x800>; reg = <0x10050000 0x800>;
interrupt-parent = <&mct_map>; interrupt-parent = <&mct_map>;
...@@ -189,12 +167,13 @@ cpu_alert2: cpu-alert-2 { ...@@ -189,12 +167,13 @@ cpu_alert2: cpu-alert-2 {
}; };
}; };
g2d@12800000 { g2d: g2d@12800000 {
compatible = "samsung,s5pv210-g2d"; compatible = "samsung,s5pv210-g2d";
reg = <0x12800000 0x1000>; reg = <0x12800000 0x1000>;
interrupts = <0 89 0>; interrupts = <0 89 0>;
clocks = <&clock CLK_SCLK_FIMG2D>, <&clock CLK_G2D>; clocks = <&clock CLK_SCLK_FIMG2D>, <&clock CLK_G2D>;
clock-names = "sclk_fimg2d", "fimg2d"; clock-names = "sclk_fimg2d", "fimg2d";
iommus = <&sysmmu_g2d>;
status = "disabled"; status = "disabled";
}; };
...@@ -244,4 +223,47 @@ ppmu_lcd1: ppmu_lcd1@12240000 { ...@@ -244,4 +223,47 @@ ppmu_lcd1: ppmu_lcd1@12240000 {
clock-names = "ppmu"; clock-names = "ppmu";
status = "disabled"; status = "disabled";
}; };
sysmmu_g2d: sysmmu@12A20000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x12A20000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <4 7>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_G2D>, <&clock CLK_G2D>;
power-domains = <&pd_lcd0>;
#iommu-cells = <0>;
};
sysmmu_fimd1: sysmmu@12220000 {
compatible = "samsung,exynos-sysmmu";
interrupt-parent = <&combiner>;
reg = <0x12220000 0x1000>;
interrupts = <5 3>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_FIMD1>, <&clock CLK_FIMD1>;
power-domains = <&pd_lcd1>;
#iommu-cells = <0>;
};
};
&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>;
}; };
...@@ -41,12 +41,12 @@ cpu@A01 { ...@@ -41,12 +41,12 @@ cpu@A01 {
reg = <0xA01>; reg = <0xA01>;
}; };
}; };
};
combiner: interrupt-controller@10440000 { &combiner {
samsung,combiner-nr = <18>; samsung,combiner-nr = <18>;
}; };
gic: interrupt-controller@10490000 { &gic {
cpu-offset = <0x8000>; cpu-offset = <0x8000>;
};
}; };
...@@ -38,16 +38,6 @@ power_key { ...@@ -38,16 +38,6 @@ power_key {
}; };
}; };
i2s0: i2s@03830000 {
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 { sound: sound {
compatible = "simple-audio-card"; compatible = "simple-audio-card";
assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>, assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
...@@ -83,106 +73,128 @@ emmc_pwrseq: pwrseq { ...@@ -83,106 +73,128 @@ emmc_pwrseq: pwrseq {
reset-gpios = <&gpk1 2 1>; reset-gpios = <&gpk1 2 1>;
}; };
mmc@12550000 { camera {
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"; status = "okay";
pinctrl-names = "default";
pinctrl-0 = <>;
};
num-slots = <1>; fixed-rate-clocks {
broken-cd; xxti {
card-detect-delay = <200>; compatible = "samsung,clock-xxti";
samsung,dw-mshc-ciu-div = <3>; clock-frequency = <0>;
samsung,dw-mshc-sdr-timing = <2 3>;
samsung,dw-mshc-ddr-timing = <1 2>;
bus-width = <8>;
cap-mmc-highspeed;
}; };
watchdog@10060000 { xusbxti {
status = "okay"; compatible = "samsung,clock-xusbxti";
clock-frequency = <24000000>;
};
}; };
rtc@10070000 { thermal-zones {
status = "okay"; cpu_thermal: cpu-thermal {
clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>; cooling-maps {
clock-names = "rtc", "rtc_src"; map0 {
/* Corresponds to 800MHz at freq_table */
cooling-device = <&cpu0 7 7>;
};
map1 {
/* Corresponds to 200MHz at freq_table */
cooling-device = <&cpu0 13 13>;
};
};
}; };
};
};
g2d@10800000 { /* RSTN signal for eMMC */
status = "okay"; &sd1_cd {
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
&pinctrl_1 {
gpio_power_key: power_key {
samsung,pins = "gpx1-3";
samsung,pin-pud = <0>;
}; };
camera { max77686_irq: max77686-irq {
samsung,pins = "gpx3-2";
samsung,pin-function = <0>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
hdmi_hpd: hdmi-hpd {
samsung,pins = "gpx3-7";
samsung,pin-pud = <1>;
};
};
&ehci {
status = "okay"; status = "okay";
pinctrl-names = "default"; };
pinctrl-0 = <>;
fimc_0: fimc@11800000 { &exynos_usbphy {
status = "okay";
};
&fimc_0 {
status = "okay"; status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC0>, assigned-clocks = <&clock CLK_MOUT_FIMC0>,
<&clock CLK_SCLK_FIMC0>; <&clock CLK_SCLK_FIMC0>;
assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
assigned-clock-rates = <0>, <176000000>; assigned-clock-rates = <0>, <176000000>;
}; };
fimc_1: fimc@11810000 { &fimc_1 {
status = "okay"; status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC1>, assigned-clocks = <&clock CLK_MOUT_FIMC1>,
<&clock CLK_SCLK_FIMC1>; <&clock CLK_SCLK_FIMC1>;
assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
assigned-clock-rates = <0>, <176000000>; assigned-clock-rates = <0>, <176000000>;
}; };
fimc_2: fimc@11820000 { &fimc_2 {
status = "okay"; status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC2>, assigned-clocks = <&clock CLK_MOUT_FIMC2>,
<&clock CLK_SCLK_FIMC2>; <&clock CLK_SCLK_FIMC2>;
assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
assigned-clock-rates = <0>, <176000000>; assigned-clock-rates = <0>, <176000000>;
}; };
fimc_3: fimc@11830000 { &fimc_3 {
status = "okay"; status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC3>, assigned-clocks = <&clock CLK_MOUT_FIMC3>,
<&clock CLK_SCLK_FIMC3>; <&clock CLK_SCLK_FIMC3>;
assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
assigned-clock-rates = <0>, <176000000>; assigned-clock-rates = <0>, <176000000>;
}; };
};
sdhci@12530000 { &g2d {
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"; status = "okay";
}; };
serial@13800000 { &hdmi {
hpd-gpio = <&gpx3 7 0>;
pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd>;
vdd-supply = <&ldo8_reg>;
vdd_osc-supply = <&ldo10_reg>;
vdd_pll-supply = <&ldo8_reg>;
ddc = <&i2c_2>;
status = "okay"; status = "okay";
}; };
serial@13810000 { &hsotg {
dr_mode = "peripheral";
status = "okay"; status = "okay";
}; vusb_d-supply = <&ldo15_reg>;
vusb_a-supply = <&ldo12_reg>;
fixed-rate-clocks { };
xxti {
compatible = "samsung,clock-xxti";
clock-frequency = <0>;
};
xusbxti {
compatible = "samsung,clock-xusbxti";
clock-frequency = <24000000>;
};
};
i2c@13860000 { &i2c_0 {
pinctrl-0 = <&i2c0_bus>; pinctrl-0 = <&i2c0_bus>;
pinctrl-names = "default"; pinctrl-names = "default";
samsung,i2c-sda-delay = <100>; samsung,i2c-sda-delay = <100>;
...@@ -405,9 +417,9 @@ buck8_reg: BUCK8 { ...@@ -405,9 +417,9 @@ buck8_reg: BUCK8 {
}; };
}; };
}; };
}; };
i2c@13870000 { &i2c_1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&i2c1_bus>; pinctrl-0 = <&i2c1_bus>;
status = "okay"; status = "okay";
...@@ -420,90 +432,78 @@ max98090: max98090@10 { ...@@ -420,90 +432,78 @@ max98090: max98090@10 {
clock-names = "mclk"; clock-names = "mclk";
#sound-dai-cells = <0>; #sound-dai-cells = <0>;
}; };
}; };
exynos-usbphy@125B0000 { &i2c_2 {
status = "okay"; status = "okay";
}; pinctrl-names = "default";
pinctrl-0 = <&i2c2_bus>;
};
hsotg@12480000 { &i2c_8 {
dr_mode = "peripheral";
status = "okay"; status = "okay";
vusb_d-supply = <&ldo15_reg>; };
vusb_a-supply = <&ldo12_reg>;
};
ehci: ehci@12580000 { &i2s0 {
pinctrl-0 = <&i2s0_bus>;
pinctrl-names = "default";
status = "okay"; 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";
};
tmu@100C0000 { &mixer {
vtmu-supply = <&ldo10_reg>;
status = "okay"; status = "okay";
}; };
thermal-zones { &mshc_0 {
cpu_thermal: cpu-thermal { pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
cooling-maps { pinctrl-names = "default";
map0 { vmmc-supply = <&ldo20_reg &buck8_reg>;
/* Corresponds to 800MHz at freq_table */ mmc-pwrseq = <&emmc_pwrseq>;
cooling-device = <&cpu0 7 7>; status = "okay";
};
map1 {
/* Corresponds to 200MHz at freq_table */
cooling-device = <&cpu0 13 13>;
};
};
};
};
mixer: mixer@12C10000 { 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;
};
&rtc {
status = "okay"; status = "okay";
}; clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
clock-names = "rtc", "rtc_src";
};
hdmi@12D00000 { &sdhci_2 {
hpd-gpio = <&gpx3 7 0>; bus-width = <4>;
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd>; vmmc-supply = <&ldo4_reg &ldo21_reg>;
vdd-supply = <&ldo8_reg>; cd-gpios = <&gpk2 2 0>;
vdd_osc-supply = <&ldo10_reg>; cd-inverted;
vdd_pll-supply = <&ldo8_reg>;
ddc = <&hdmi_ddc>;
status = "okay"; status = "okay";
}; };
hdmi_ddc: i2c@13880000 { &serial_0 {
status = "okay"; status = "okay";
pinctrl-names = "default"; };
pinctrl-0 = <&i2c2_bus>;
};
i2c@138E0000 { &serial_1 {
status = "okay"; status = "okay";
};
}; };
/* RSTN signal for eMMC */ &tmu {
&sd1_cd { vtmu-supply = <&ldo10_reg>;
samsung,pin-pud = <0>; status = "okay";
samsung,pin-drv = <0>;
}; };
&pinctrl_1 { &watchdog {
gpio_power_key: power_key { status = "okay";
samsung,pins = "gpx1-3";
samsung,pin-pud = <0>;
};
max77686_irq: max77686-irq {
samsung,pins = "gpx3-2";
samsung,pin-function = <0>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
hdmi_hpd: hdmi-hpd {
samsung,pins = "gpx3-7";
samsung,pin-pud = <1>;
};
}; };
...@@ -38,14 +38,6 @@ led2 { ...@@ -38,14 +38,6 @@ led2 {
}; };
}; };
serial@13820000 {
status = "okay";
};
serial@13830000 {
status = "okay";
};
gpio_keys { gpio_keys {
pinctrl-0 = <&gpio_power_key &gpio_home_key>; pinctrl-0 = <&gpio_power_key &gpio_home_key>;
...@@ -83,3 +75,11 @@ gpio_home_key: home_key { ...@@ -83,3 +75,11 @@ gpio_home_key: home_key {
samsung,pin-pud = <0>; samsung,pin-pud = <0>;
}; };
}; };
&serial_2 {
status = "okay";
};
&serial_3 {
status = "okay";
};
...@@ -50,115 +50,6 @@ mmc_reg: regulator@0 { ...@@ -50,115 +50,6 @@ mmc_reg: regulator@0 {
}; };
}; };
watchdog@10060000 {
status = "okay";
};
rtc@10070000 {
status = "okay";
};
pinctrl@11000000 {
keypad_rows: keypad-rows {
samsung,pins = "gpx2-0", "gpx2-1", "gpx2-2";
samsung,pin-function = <3>;
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
};
keypad_cols: keypad-cols {
samsung,pins = "gpx1-0", "gpx1-1";
samsung,pin-function = <3>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
keypad@100A0000 {
samsung,keypad-num-rows = <3>;
samsung,keypad-num-columns = <2>;
linux,keypad-no-autorepeat;
linux,keypad-wakeup;
pinctrl-0 = <&keypad_rows &keypad_cols>;
pinctrl-names = "default";
status = "okay";
key_home {
keypad,row = <0>;
keypad,column = <0>;
linux,code = <KEY_HOME>;
};
key_down {
keypad,row = <0>;
keypad,column = <1>;
linux,code = <KEY_DOWN>;
};
key_up {
keypad,row = <1>;
keypad,column = <0>;
linux,code = <KEY_UP>;
};
key_menu {
keypad,row = <1>;
keypad,column = <1>;
linux,code = <KEY_MENU>;
};
key_back {
keypad,row = <2>;
keypad,column = <0>;
linux,code = <KEY_BACK>;
};
key_enter {
keypad,row = <2>;
keypad,column = <1>;
linux,code = <KEY_ENTER>;
};
};
g2d@10800000 {
status = "okay";
};
sdhci@12530000 {
bus-width = <4>;
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
pinctrl-names = "default";
vmmc-supply = <&mmc_reg>;
status = "okay";
};
mmc@12550000 {
pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
pinctrl-names = "default";
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;
};
codec@13400000 {
samsung,mfc-r = <0x43000000 0x800000>;
samsung,mfc-l = <0x51000000 0x800000>;
status = "okay";
};
fimd@11c00000 {
pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>;
pinctrl-names = "default";
status = "okay";
};
display-timings { display-timings {
native-mode = <&timing0>; native-mode = <&timing0>;
timing0: timing { timing0: timing {
...@@ -174,23 +65,30 @@ timing0: timing { ...@@ -174,23 +65,30 @@ timing0: timing {
}; };
}; };
serial@13800000 { fixed-rate-clocks {
status = "okay"; xxti {
compatible = "samsung,clock-xxti";
clock-frequency = <0>;
}; };
serial@13810000 { xusbxti {
status = "okay"; compatible = "samsung,clock-xusbxti";
clock-frequency = <24000000>;
};
}; };
};
serial@13820000 { &fimd {
pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>;
pinctrl-names = "default";
status = "okay"; status = "okay";
}; };
serial@13830000 { &g2d {
status = "okay"; status = "okay";
}; };
i2c@13860000 { &i2c_0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
samsung,i2c-sda-delay = <100>; samsung,i2c-sda-delay = <100>;
...@@ -518,17 +416,119 @@ buck9_reg: BUCK9 { ...@@ -518,17 +416,119 @@ buck9_reg: BUCK9 {
}; };
}; };
}; };
};
&keypad {
samsung,keypad-num-rows = <3>;
samsung,keypad-num-columns = <2>;
linux,keypad-no-autorepeat;
linux,keypad-wakeup;
pinctrl-0 = <&keypad_rows &keypad_cols>;
pinctrl-names = "default";
status = "okay";
key_home {
keypad,row = <0>;
keypad,column = <0>;
linux,code = <KEY_HOME>;
}; };
fixed-rate-clocks { key_down {
xxti { keypad,row = <0>;
compatible = "samsung,clock-xxti"; keypad,column = <1>;
clock-frequency = <0>; linux,code = <KEY_DOWN>;
}; };
xusbxti { key_up {
compatible = "samsung,clock-xusbxti"; keypad,row = <1>;
clock-frequency = <24000000>; keypad,column = <0>;
linux,code = <KEY_UP>;
};
key_menu {
keypad,row = <1>;
keypad,column = <1>;
linux,code = <KEY_MENU>;
};
key_back {
keypad,row = <2>;
keypad,column = <0>;
linux,code = <KEY_BACK>;
}; };
key_enter {
keypad,row = <2>;
keypad,column = <1>;
linux,code = <KEY_ENTER>;
}; };
}; };
&mfc {
samsung,mfc-r = <0x43000000 0x800000>;
samsung,mfc-l = <0x51000000 0x800000>;
status = "okay";
};
&mshc_0 {
pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
pinctrl-names = "default";
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;
};
&pinctrl_1 {
keypad_rows: keypad-rows {
samsung,pins = "gpx2-0", "gpx2-1", "gpx2-2";
samsung,pin-function = <3>;
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
};
keypad_cols: keypad-cols {
samsung,pins = "gpx1-0", "gpx1-1";
samsung,pin-function = <3>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
&rtc {
status = "okay";
};
&sdhci_2 {
bus-width = <4>;
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
pinctrl-names = "default";
vmmc-supply = <&mmc_reg>;
status = "okay";
};
&serial_0 {
status = "okay";
};
&serial_1 {
status = "okay";
};
&serial_2 {
status = "okay";
};
&serial_3 {
status = "okay";
};
&watchdog {
status = "okay";
};
...@@ -28,28 +28,24 @@ chosen { ...@@ -28,28 +28,24 @@ chosen {
stdout-path = &serial_1; stdout-path = &serial_1;
}; };
g2d@10800000 { fixed-rate-clocks {
status = "okay"; xxti {
}; compatible = "samsung,clock-xxti";
clock-frequency = <0>;
pinctrl@11000000 {
keypad_rows: keypad-rows {
samsung,pins = "gpx2-0", "gpx2-1", "gpx2-2";
samsung,pin-function = <3>;
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
}; };
keypad_cols: keypad-cols { xusbxti {
samsung,pins = "gpx1-0", "gpx1-1", "gpx1-2", "gpx1-3", compatible = "samsung,clock-xusbxti";
"gpx1-4", "gpx1-5", "gpx1-6", "gpx1-7"; clock-frequency = <24000000>;
samsung,pin-function = <3>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
}; };
}; };
};
keypad@100A0000 { &g2d {
status = "okay";
};
&keypad {
samsung,keypad-num-rows = <3>; samsung,keypad-num-rows = <3>;
samsung,keypad-num-columns = <8>; samsung,keypad-num-columns = <8>;
linux,keypad-no-autorepeat; linux,keypad-no-autorepeat;
...@@ -117,46 +113,50 @@ key_E { ...@@ -117,46 +113,50 @@ key_E {
keypad,column = <7>; keypad,column = <7>;
linux,code = <18>; linux,code = <18>;
}; };
}; };
sdhci@12530000 {
bus-width = <4>;
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
pinctrl-names = "default";
status = "okay";
};
codec@13400000 { &mfc {
samsung,mfc-r = <0x43000000 0x800000>; samsung,mfc-r = <0x43000000 0x800000>;
samsung,mfc-l = <0x51000000 0x800000>; samsung,mfc-l = <0x51000000 0x800000>;
status = "okay"; status = "okay";
};
&pinctrl_1 {
keypad_rows: keypad-rows {
samsung,pins = "gpx2-0", "gpx2-1", "gpx2-2";
samsung,pin-function = <3>;
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
}; };
serial@13800000 { keypad_cols: keypad-cols {
status = "okay"; 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>;
}; };
};
serial@13810000 { &sdhci_2 {
bus-width = <4>;
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
pinctrl-names = "default";
status = "okay"; status = "okay";
}; };
serial@13820000 { &serial_0 {
status = "okay"; status = "okay";
}; };
serial@13830000 { &serial_1 {
status = "okay"; status = "okay";
}; };
fixed-rate-clocks { &serial_2 {
xxti { status = "okay";
compatible = "samsung,clock-xxti"; };
clock-frequency = <0>;
};
xusbxti { &serial_3 {
compatible = "samsung,clock-xusbxti"; status = "okay";
clock-frequency = <24000000>;
};
};
}; };
...@@ -56,42 +56,42 @@ led4 { ...@@ -56,42 +56,42 @@ led4 {
}; };
}; };
rtc@10070000 { fixed-rate-clocks {
status = "okay"; xxti {
compatible = "samsung,clock-xxti";
clock-frequency = <0>;
};
xusbxti {
compatible = "samsung,clock-xusbxti";
clock-frequency = <24000000>;
};
}; };
};
sdhci@12530000 { &rtc {
status = "okay";
};
&sdhci_2 {
bus-width = <4>; bus-width = <4>;
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
pinctrl-names = "default"; pinctrl-names = "default";
status = "okay"; status = "okay";
}; };
serial@13800000 { &serial_0 {
status = "okay"; status = "okay";
}; };
serial@13810000 { &serial_1 {
status = "okay"; status = "okay";
}; };
serial@13820000 { &serial_2 {
status = "okay"; status = "okay";
}; };
serial@13830000 { &serial_3 {
status = "okay"; status = "okay";
};
fixed-rate-clocks {
xxti {
compatible = "samsung,clock-xxti";
clock-frequency = <0>;
};
xusbxti {
compatible = "samsung,clock-xusbxti";
clock-frequency = <24000000>;
};
};
}; };
...@@ -131,820 +131,768 @@ key-ok { ...@@ -131,820 +131,768 @@ key-ok {
}; };
}; };
adc: adc@126C0000 { i2c_max77693: i2c-gpio-1 {
vdd-supply = <&ldo3_reg>; compatible = "i2c-gpio";
gpios = <&gpm2 0 GPIO_ACTIVE_HIGH>, <&gpm2 1 GPIO_ACTIVE_HIGH>;
i2c-gpio,delay-us = <2>;
#address-cells = <1>;
#size-cells = <0>;
status = "okay"; status = "okay";
max77693@66 {
compatible = "maxim,max77693";
interrupt-parent = <&gpx1>;
interrupts = <5 2>;
reg = <0x66>;
regulators {
esafeout1_reg: ESAFEOUT1@1 {
regulator-name = "ESAFEOUT1";
};
esafeout2_reg: ESAFEOUT2@2 {
regulator-name = "ESAFEOUT2";
};
charger_reg: CHARGER@0 {
regulator-name = "CHARGER";
regulator-min-microamp = <60000>;
regulator-max-microamp = <2580000>;
};
}; };
i2c@13890000 { max77693_haptic {
samsung,i2c-sda-delay = <100>; compatible = "maxim,max77693-haptic";
samsung,i2c-slave-addr = <0x10>; haptic-supply = <&ldo26_reg>;
samsung,i2c-max-bus-freq = <400000>; pwms = <&pwm 0 38022 0>;
pinctrl-0 = <&i2c3_bus>; };
pinctrl-names = "default";
status = "okay";
mms114-touchscreen@48 { charger {
compatible = "melfas,mms114"; compatible = "maxim,max77693-charger";
reg = <0x48>;
interrupt-parent = <&gpm2>; maxim,constant-microvolt = <4350000>;
interrupts = <3 2>; maxim,min-system-microvolt = <3600000>;
x-size = <720>; maxim,thermal-regulation-celsius = <100>;
y-size = <1280>; maxim,battery-overcurrent-microamp = <3500000>;
avdd-supply = <&ldo23_reg>; maxim,charge-input-threshold-microvolt = <4300000>;
vdd-supply = <&ldo24_reg>; };
}; };
}; };
i2c_0: i2c@13860000 { i2c_max77693_fuel: i2c-gpio-3 {
samsung,i2c-sda-delay = <100>; compatible = "i2c-gpio";
samsung,i2c-slave-addr = <0x10>; gpios = <&gpf1 5 GPIO_ACTIVE_HIGH>, <&gpf1 4 GPIO_ACTIVE_HIGH>;
samsung,i2c-max-bus-freq = <400000>; i2c-gpio,delay-us = <2>;
pinctrl-0 = <&i2c0_bus>; #address-cells = <1>;
pinctrl-names = "default"; #size-cells = <0>;
status = "okay"; status = "okay";
s5c73m3@3c { max77693-fuel-gauge@36 {
compatible = "samsung,s5c73m3"; compatible = "maxim,max17047";
reg = <0x3c>; interrupt-parent = <&gpx2>;
standby-gpios = <&gpm0 1 1>; /* ISP_STANDBY */ interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
xshutdown-gpios = <&gpf1 3 1>; /* ISP_RESET */ reg = <0x36>;
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 = <24000000>;
/* 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_ak8975: i2c-gpio-0 {
compatible = "i2c-gpio";
gpios = <&gpy2 4 0>, <&gpy2 5 0>;
i2c-gpio,delay-us = <2>;
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
ak8975@0c {
compatible = "asahi-kasei,ak8975";
reg = <0x0c>;
gpios = <&gpj0 7 0>;
}; };
}; };
i2c@138A0000 { i2c_cm36651: i2c-gpio-2 {
samsung,i2c-sda-delay = <100>; compatible = "i2c-gpio";
samsung,i2c-slave-addr = <0x10>; gpios = <&gpf0 0 1>, <&gpf0 1 1>;
samsung,i2c-max-bus-freq = <100000>; i2c-gpio,delay-us = <2>;
pinctrl-0 = <&i2c4_bus>; #address-cells = <1>;
pinctrl-names = "default"; #size-cells = <0>;
status = "okay";
wm1811: wm1811@1a { cm36651@18 {
compatible = "wlf,wm1811"; compatible = "capella,cm36651";
reg = <0x1a>; reg = <0x18>;
clocks = <&pmu_system_controller 0>; interrupt-parent = <&gpx0>;
clock-names = "MCLK1"; interrupts = <2 2>;
DCVDD-supply = <&ldo3_reg>; vled-supply = <&ps_als_reg>;
DBVDD1-supply = <&ldo3_reg>;
wlf,ldo1ena = <&gpj0 4 0>;
}; };
}; };
i2c@138D0000 { camera: camera {
samsung,i2c-sda-delay = <100>; pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>;
samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <100000>;
pinctrl-0 = <&i2c7_bus>;
pinctrl-names = "default"; pinctrl-names = "default";
status = "okay"; status = "okay";
assigned-clocks = <&clock CLK_MOUT_CAM0>,
<&clock CLK_MOUT_CAM1>;
assigned-clock-parents = <&clock CLK_XUSBXTI>,
<&clock CLK_XUSBXTI>;
max77686: 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 = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
}; };
ldo2_reg: ldo2 { sound {
regulator-compatible = "LDO2"; compatible = "samsung,trats2-audio";
regulator-name = "VM1M2_1.2V_AP"; samsung,i2s-controller = <&i2s0>;
regulator-min-microvolt = <1200000>; samsung,model = "Trats2";
regulator-max-microvolt = <1200000>; samsung,audio-codec = <&wm1811>;
regulator-always-on; samsung,audio-routing =
regulator-state-mem { "SPK", "SPKOUTLN",
regulator-on-in-suspend; "SPK", "SPKOUTLP",
}; "SPK", "SPKOUTRN",
"SPK", "SPKOUTRP";
}; };
ldo3_reg: ldo3 { thermistor-ap@0 {
regulator-compatible = "LDO3"; compatible = "ntc,ncp15wb473";
regulator-name = "VCC_1.8V_AP"; pullup-uv = <1800000>; /* VCC_1.8V_AP */
regulator-min-microvolt = <1800000>; pullup-ohm = <100000>; /* 100K */
regulator-max-microvolt = <1800000>; pulldown-ohm = <100000>; /* 100K */
regulator-always-on; io-channels = <&adc 1>; /* AP temperature */
}; };
ldo4_reg: ldo4 { thermistor-battery@1 {
regulator-compatible = "LDO4"; compatible = "ntc,ncp15wb473";
regulator-name = "VCC_2.8V_AP"; pullup-uv = <1800000>; /* VCC_1.8V_AP */
regulator-min-microvolt = <2800000>; pullup-ohm = <100000>; /* 100K */
regulator-max-microvolt = <2800000>; pulldown-ohm = <100000>; /* 100K */
regulator-always-on; io-channels = <&adc 2>; /* Battery temperature */
}; };
ldo5_reg: ldo5 { thermal-zones {
regulator-compatible = "LDO5"; cpu_thermal: cpu-thermal {
regulator-name = "VCC_1.8V_IO"; cooling-maps {
regulator-min-microvolt = <1800000>; map0 {
regulator-max-microvolt = <1800000>; /* Corresponds to 800MHz at freq_table */
regulator-always-on; cooling-device = <&cpu0 7 7>;
}; };
map1 {
ldo6_reg: ldo6 { /* Corresponds to 200MHz at freq_table */
regulator-compatible = "LDO6"; cooling-device = <&cpu0 13 13>;
regulator-name = "VMPLL_1.0V_AP";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-state-mem {
regulator-on-in-suspend;
}; };
}; };
ldo7_reg: ldo7 {
regulator-compatible = "LDO7";
regulator-name = "VPLL_1.0V_AP";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-state-mem {
regulator-on-in-suspend;
}; };
}; };
};
ldo8_reg: ldo8 { &adc {
regulator-compatible = "LDO8"; vdd-supply = <&ldo3_reg>;
regulator-name = "VMIPI_1.0V"; status = "okay";
regulator-min-microvolt = <1000000>; };
regulator-max-microvolt = <1000000>;
regulator-state-mem { &csis_0 {
regulator-off-in-suspend; status = "okay";
vddcore-supply = <&ldo8_reg>;
vddio-supply = <&ldo10_reg>;
assigned-clocks = <&clock CLK_MOUT_CSIS0>,
<&clock CLK_SCLK_CSIS0>;
assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
assigned-clock-rates = <0>, <176000000>;
/* Camera C (3) MIPI CSI-2 (CSIS0) */
port@3 {
reg = <3>;
csis0_ep: endpoint {
remote-endpoint = <&s5c73m3_ep>;
data-lanes = <1 2 3 4>;
samsung,csis-hs-settle = <12>;
}; };
}; };
};
ldo9_reg: ldo9 { &csis_1 {
regulator-compatible = "LDO9"; status = "okay";
regulator-name = "CAM_ISP_MIPI_1.2V"; vddcore-supply = <&ldo8_reg>;
regulator-min-microvolt = <1200000>; vddio-supply = <&ldo10_reg>;
regulator-max-microvolt = <1200000>; assigned-clocks = <&clock CLK_MOUT_CSIS1>,
}; <&clock CLK_SCLK_CSIS1>;
assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
ldo10_reg: ldo10 { assigned-clock-rates = <0>, <176000000>;
regulator-compatible = "LDO10";
regulator-name = "VMIPI_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo11_reg: ldo11 {
regulator-compatible = "LDO11";
regulator-name = "VABB1_1.95V";
regulator-min-microvolt = <1950000>;
regulator-max-microvolt = <1950000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo12_reg: ldo12 { /* Camera D (4) MIPI CSI-2 (CSIS1) */
regulator-compatible = "LDO12"; port@4 {
regulator-name = "VUOTG_3.0V"; reg = <4>;
regulator-min-microvolt = <3000000>; csis1_ep: endpoint {
regulator-max-microvolt = <3000000>; remote-endpoint = <&is_s5k6a3_ep>;
regulator-state-mem { data-lanes = <1>;
regulator-off-in-suspend; samsung,csis-hs-settle = <18>;
}; samsung,csis-wclk;
}; };
ldo13_reg: ldo13 {
regulator-compatible = "LDO13";
regulator-name = "NFC_AVDD_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
}; };
};
ldo14_reg: ldo14 { &dsi_0 {
regulator-compatible = "LDO14"; vddcore-supply = <&ldo8_reg>;
regulator-name = "VABB2_1.95V"; vddio-supply = <&ldo10_reg>;
regulator-min-microvolt = <1950000>; samsung,pll-clock-frequency = <24000000>;
regulator-max-microvolt = <1950000>; status = "okay";
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo15_reg: ldo15 { ports {
regulator-compatible = "LDO15"; #address-cells = <1>;
regulator-name = "VHSIC_1.0V"; #size-cells = <0>;
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-state-mem {
regulator-on-in-suspend;
};
};
ldo16_reg: ldo16 { port@1 {
regulator-compatible = "LDO16"; reg = <1>;
regulator-name = "VHSIC_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-state-mem {
regulator-on-in-suspend;
};
};
ldo17_reg: ldo17 { dsi_out: endpoint {
regulator-compatible = "LDO17"; remote-endpoint = <&dsi_in>;
regulator-name = "CAM_SENSOR_CORE_1.2V"; samsung,burst-clock-frequency = <500000000>;
regulator-min-microvolt = <1200000>; samsung,esc-clock-frequency = <20000000>;
regulator-max-microvolt = <1200000>;
}; };
ldo18_reg: ldo18 {
regulator-compatible = "LDO18";
regulator-name = "CAM_ISP_SEN_IO_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
}; };
ldo19_reg: ldo19 {
regulator-compatible = "LDO19";
regulator-name = "VT_CAM_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
}; };
ldo20_reg: ldo20 { panel@0 {
regulator-compatible = "LDO20"; compatible = "samsung,s6e8aa0";
regulator-name = "VDDQ_PRE_1.8V"; reg = <0>;
regulator-min-microvolt = <1800000>; vdd3-supply = <&lcd_vdd3_reg>;
regulator-max-microvolt = <1800000>; vci-supply = <&ldo25_reg>;
}; reset-gpios = <&gpy4 5 0>;
power-on-delay= <50>;
reset-delay = <100>;
init-delay = <100>;
flip-horizontal;
flip-vertical;
panel-width-mm = <58>;
panel-height-mm = <103>;
ldo21_reg: ldo21 { display-timings {
regulator-compatible = "LDO21"; timing-0 {
regulator-name = "VTF_2.8V"; clock-frequency = <57153600>;
regulator-min-microvolt = <2800000>; hactive = <720>;
regulator-max-microvolt = <2800000>; vactive = <1280>;
maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>; hfront-porch = <5>;
hback-porch = <5>;
hsync-len = <5>;
vfront-porch = <13>;
vback-porch = <1>;
vsync-len = <2>;
}; };
ldo22_reg: ldo22 {
regulator-compatible = "LDO22";
regulator-name = "VMEM_VDD_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
}; };
ldo23_reg: ldo23 { port {
regulator-compatible = "LDO23"; dsi_in: endpoint {
regulator-name = "TSP_AVDD_3.3V"; remote-endpoint = <&dsi_out>;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
}; };
ldo24_reg: ldo24 {
regulator-compatible = "LDO24";
regulator-name = "TSP_VDD_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
}; };
ldo25_reg: ldo25 {
regulator-compatible = "LDO25";
regulator-name = "LCD_VCC_3.3V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo26_reg: ldo26 {
regulator-compatible = "LDO26";
regulator-name = "MOTOR_VCC_3.0V";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
}; };
};
buck1_reg: buck1 { &exynos_usbphy {
regulator-compatible = "BUCK1"; status = "okay";
regulator-name = "vdd_mif"; };
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck2_reg: buck2 { &fimc_0 {
regulator-compatible = "BUCK2"; status = "okay";
regulator-name = "vdd_arm"; assigned-clocks = <&clock CLK_MOUT_FIMC0>,
regulator-min-microvolt = <850000>; <&clock CLK_SCLK_FIMC0>;
regulator-max-microvolt = <1500000>; assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
regulator-always-on; assigned-clock-rates = <0>, <176000000>;
regulator-boot-on; };
regulator-state-mem {
regulator-on-in-suspend;
};
};
buck3_reg: buck3 { &fimc_1 {
regulator-compatible = "BUCK3"; status = "okay";
regulator-name = "vdd_int"; assigned-clocks = <&clock CLK_MOUT_FIMC1>,
regulator-min-microvolt = <850000>; <&clock CLK_SCLK_FIMC1>;
regulator-max-microvolt = <1150000>; assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
regulator-always-on; assigned-clock-rates = <0>, <176000000>;
regulator-boot-on; };
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck4_reg: buck4 { &fimc_2 {
regulator-compatible = "BUCK4"; status = "okay";
regulator-name = "vdd_g3d"; assigned-clocks = <&clock CLK_MOUT_FIMC2>,
regulator-min-microvolt = <850000>; <&clock CLK_SCLK_FIMC2>;
regulator-max-microvolt = <1150000>; assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
regulator-boot-on; assigned-clock-rates = <0>, <176000000>;
regulator-state-mem { };
regulator-off-in-suspend;
};
};
buck5_reg: buck5 { &fimc_3 {
regulator-compatible = "BUCK5"; status = "okay";
regulator-name = "VMEM_1.2V_AP"; assigned-clocks = <&clock CLK_MOUT_FIMC3>,
regulator-min-microvolt = <1200000>; <&clock CLK_SCLK_FIMC3>;
regulator-max-microvolt = <1200000>; assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
regulator-always-on; assigned-clock-rates = <0>, <176000000>;
}; };
buck6_reg: buck6 { &fimc_is {
regulator-compatible = "BUCK6"; pinctrl-0 = <&fimc_is_uart>;
regulator-name = "VCC_SUB_1.35V"; pinctrl-names = "default";
regulator-min-microvolt = <1350000>; status = "okay";
regulator-max-microvolt = <1350000>;
regulator-always-on;
};
buck7_reg: buck7 { i2c1_isp: i2c-isp@12140000 {
regulator-compatible = "BUCK7"; pinctrl-0 = <&fimc_is_i2c1>;
regulator-name = "VCC_SUB_2.0V"; pinctrl-names = "default";
regulator-min-microvolt = <2000000>;
regulator-max-microvolt = <2000000>;
regulator-always-on;
};
buck8_reg: buck8 { s5k6a3@10 {
regulator-compatible = "BUCK8"; compatible = "samsung,s5k6a3";
regulator-name = "VMEM_VDDF_3.0V"; reg = <0x10>;
regulator-min-microvolt = <2850000>; svdda-supply = <&cam_io_reg>;
regulator-max-microvolt = <2850000>; svddio-supply = <&ldo19_reg>;
maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>; afvdd-supply = <&ldo19_reg>;
}; clock-frequency = <24000000>;
/* CAM_B_CLKOUT */
clocks = <&camera 1>;
clock-names = "extclk";
samsung,camclk-out = <1>;
gpios = <&gpm1 6 0>;
buck9_reg: buck9 { port {
regulator-compatible = "BUCK9"; is_s5k6a3_ep: endpoint {
regulator-name = "CAM_ISP_CORE_1.2V"; remote-endpoint = <&csis1_ep>;
regulator-min-microvolt = <1000000>; data-lanes = <1>;
regulator-max-microvolt = <1200000>;
maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
}; };
}; };
}; };
}; };
};
i2c_max77693: i2c-gpio-1 { &fimc_lite_0 {
compatible = "i2c-gpio";
gpios = <&gpm2 0 GPIO_ACTIVE_HIGH>, <&gpm2 1 GPIO_ACTIVE_HIGH>;
i2c-gpio,delay-us = <2>;
#address-cells = <1>;
#size-cells = <0>;
status = "okay"; status = "okay";
};
max77693@66 { &fimc_lite_1 {
compatible = "maxim,max77693"; status = "okay";
interrupt-parent = <&gpx1>; };
interrupts = <5 2>;
reg = <0x66>;
regulators { &fimd {
esafeout1_reg: ESAFEOUT1@1 { status = "okay";
regulator-name = "ESAFEOUT1"; };
};
esafeout2_reg: ESAFEOUT2@2 {
regulator-name = "ESAFEOUT2";
};
charger_reg: CHARGER@0 {
regulator-name = "CHARGER";
regulator-min-microamp = <60000>;
regulator-max-microamp = <2580000>;
};
};
max77693_haptic { &hsotg {
compatible = "maxim,max77693-haptic"; vusb_d-supply = <&ldo15_reg>;
haptic-supply = <&ldo26_reg>; vusb_a-supply = <&ldo12_reg>;
pwms = <&pwm 0 38022 0>; dr_mode = "peripheral";
}; status = "okay";
};
charger { &i2c_0 {
compatible = "maxim,max77693-charger"; samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <400000>;
pinctrl-0 = <&i2c0_bus>;
pinctrl-names = "default";
status = "okay";
maxim,constant-microvolt = <4350000>; s5c73m3@3c {
maxim,min-system-microvolt = <3600000>; compatible = "samsung,s5c73m3";
maxim,thermal-regulation-celsius = <100>; reg = <0x3c>;
maxim,battery-overcurrent-microamp = <3500000>; standby-gpios = <&gpm0 1 1>; /* ISP_STANDBY */
maxim,charge-input-threshold-microvolt = <4300000>; 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 = <24000000>;
/* 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_max77693_fuel: i2c-gpio-3 { &i2c_3 {
compatible = "i2c-gpio"; samsung,i2c-sda-delay = <100>;
gpios = <&gpf1 5 GPIO_ACTIVE_HIGH>, <&gpf1 4 GPIO_ACTIVE_HIGH>; samsung,i2c-slave-addr = <0x10>;
i2c-gpio,delay-us = <2>; samsung,i2c-max-bus-freq = <400000>;
#address-cells = <1>; pinctrl-0 = <&i2c3_bus>;
#size-cells = <0>; pinctrl-names = "default";
status = "okay"; status = "okay";
max77693-fuel-gauge@36 { mms114-touchscreen@48 {
compatible = "maxim,max17047"; compatible = "melfas,mms114";
interrupt-parent = <&gpx2>; reg = <0x48>;
interrupts = <3 IRQ_TYPE_EDGE_FALLING>; interrupt-parent = <&gpm2>;
reg = <0x36>; interrupts = <3 2>;
}; x-size = <720>;
y-size = <1280>;
avdd-supply = <&ldo23_reg>;
vdd-supply = <&ldo24_reg>;
}; };
};
mmc@12550000 { &i2c_4 {
num-slots = <1>; samsung,i2c-sda-delay = <100>;
broken-cd; samsung,i2c-slave-addr = <0x10>;
non-removable; samsung,i2c-max-bus-freq = <100000>;
card-detect-delay = <200>; pinctrl-0 = <&i2c4_bus>;
vmmc-supply = <&ldo22_reg>;
clock-frequency = <400000000>;
samsung,dw-mshc-ciu-div = <0>;
samsung,dw-mshc-sdr-timing = <2 3>;
samsung,dw-mshc-ddr-timing = <1 2>;
pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
pinctrl-names = "default"; pinctrl-names = "default";
status = "okay"; status = "okay";
bus-width = <8>;
cap-mmc-highspeed; 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>;
}; };
};
sdhci@12530000 { &i2c_7 {
bus-width = <4>; samsung,i2c-sda-delay = <100>;
cd-gpios = <&gpx3 4 0>; samsung,i2c-slave-addr = <0x10>;
cd-inverted; samsung,i2c-max-bus-freq = <100000>;
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>; pinctrl-0 = <&i2c7_bus>;
pinctrl-names = "default"; pinctrl-names = "default";
vmmc-supply = <&ldo21_reg>;
status = "okay"; status = "okay";
max77686: 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 = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
}; };
serial@13800000 { ldo2_reg: ldo2 {
status = "okay"; regulator-compatible = "LDO2";
regulator-name = "VM1M2_1.2V_AP";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-state-mem {
regulator-on-in-suspend;
}; };
serial@13810000 {
status = "okay";
}; };
serial@13820000 { ldo3_reg: ldo3 {
status = "okay"; regulator-compatible = "LDO3";
regulator-name = "VCC_1.8V_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
}; };
serial@13830000 { ldo4_reg: ldo4 {
status = "okay"; regulator-compatible = "LDO4";
regulator-name = "VCC_2.8V_AP";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
}; };
tmu@100C0000 { ldo5_reg: ldo5 {
vtmu-supply = <&ldo10_reg>; regulator-compatible = "LDO5";
status = "okay"; regulator-name = "VCC_1.8V_IO";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
}; };
i2c_ak8975: i2c-gpio-0 { ldo6_reg: ldo6 {
compatible = "i2c-gpio"; regulator-compatible = "LDO6";
gpios = <&gpy2 4 0>, <&gpy2 5 0>; regulator-name = "VMPLL_1.0V_AP";
i2c-gpio,delay-us = <2>; regulator-min-microvolt = <1000000>;
#address-cells = <1>; regulator-max-microvolt = <1000000>;
#size-cells = <0>; regulator-always-on;
status = "okay"; regulator-state-mem {
regulator-on-in-suspend;
ak8975@0c {
compatible = "asahi-kasei,ak8975";
reg = <0x0c>;
gpios = <&gpj0 7 0>;
}; };
}; };
i2c_cm36651: i2c-gpio-2 { ldo7_reg: ldo7 {
compatible = "i2c-gpio"; regulator-compatible = "LDO7";
gpios = <&gpf0 0 1>, <&gpf0 1 1>; regulator-name = "VPLL_1.0V_AP";
i2c-gpio,delay-us = <2>; regulator-min-microvolt = <1000000>;
#address-cells = <1>; regulator-max-microvolt = <1000000>;
#size-cells = <0>; regulator-always-on;
regulator-state-mem {
cm36651@18 { regulator-on-in-suspend;
compatible = "capella,cm36651";
reg = <0x18>;
interrupt-parent = <&gpx0>;
interrupts = <2 2>;
vled-supply = <&ps_als_reg>;
}; };
}; };
spi_1: spi@13930000 { ldo8_reg: ldo8 {
pinctrl-names = "default"; regulator-compatible = "LDO8";
pinctrl-0 = <&spi1_bus>; regulator-name = "VMIPI_1.0V";
cs-gpios = <&gpb 5 0>; regulator-min-microvolt = <1000000>;
status = "okay"; regulator-max-microvolt = <1000000>;
regulator-state-mem {
s5c73m3_spi: s5c73m3 { regulator-off-in-suspend;
compatible = "samsung,s5c73m3";
spi-max-frequency = <50000000>;
reg = <0>;
controller-data {
samsung,spi-feedback-delay = <2>;
};
}; };
}; };
pwm: pwm@139D0000 { ldo9_reg: ldo9 {
pinctrl-0 = <&pwm0_out>; regulator-compatible = "LDO9";
pinctrl-names = "default"; regulator-name = "CAM_ISP_MIPI_1.2V";
samsung,pwm-outputs = <0>; regulator-min-microvolt = <1200000>;
status = "okay"; regulator-max-microvolt = <1200000>;
}; };
dsi_0: dsi@11C80000 { ldo10_reg: ldo10 {
vddcore-supply = <&ldo8_reg>; regulator-compatible = "LDO10";
vddio-supply = <&ldo10_reg>; regulator-name = "VMIPI_1.8V";
samsung,pll-clock-frequency = <24000000>; regulator-min-microvolt = <1800000>;
status = "okay"; regulator-max-microvolt = <1800000>;
regulator-state-mem {
ports { regulator-off-in-suspend;
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out: endpoint {
remote-endpoint = <&dsi_in>;
samsung,burst-clock-frequency = <500000000>;
samsung,esc-clock-frequency = <20000000>;
};
}; };
}; };
panel@0 { ldo11_reg: ldo11 {
compatible = "samsung,s6e8aa0"; regulator-compatible = "LDO11";
reg = <0>; regulator-name = "VABB1_1.95V";
vdd3-supply = <&lcd_vdd3_reg>; regulator-min-microvolt = <1950000>;
vci-supply = <&ldo25_reg>; regulator-max-microvolt = <1950000>;
reset-gpios = <&gpy4 5 0>; regulator-always-on;
power-on-delay= <50>; regulator-state-mem {
reset-delay = <100>; regulator-off-in-suspend;
init-delay = <100>;
flip-horizontal;
flip-vertical;
panel-width-mm = <58>;
panel-height-mm = <103>;
display-timings {
timing-0 {
clock-frequency = <57153600>;
hactive = <720>;
vactive = <1280>;
hfront-porch = <5>;
hback-porch = <5>;
hsync-len = <5>;
vfront-porch = <13>;
vback-porch = <1>;
vsync-len = <2>;
}; };
}; };
port { ldo12_reg: ldo12 {
dsi_in: endpoint { regulator-compatible = "LDO12";
remote-endpoint = <&dsi_out>; regulator-name = "VUOTG_3.0V";
}; regulator-min-microvolt = <3000000>;
}; regulator-max-microvolt = <3000000>;
regulator-state-mem {
regulator-off-in-suspend;
}; };
}; };
fimd@11c00000 { ldo13_reg: ldo13 {
status = "okay"; regulator-compatible = "LDO13";
regulator-name = "NFC_AVDD_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
}; };
camera: camera { ldo14_reg: ldo14 {
pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>; regulator-compatible = "LDO14";
pinctrl-names = "default"; regulator-name = "VABB2_1.95V";
status = "okay"; regulator-min-microvolt = <1950000>;
assigned-clocks = <&clock CLK_MOUT_CAM0>, regulator-max-microvolt = <1950000>;
<&clock CLK_MOUT_CAM1>; regulator-always-on;
assigned-clock-parents = <&clock CLK_XUSBXTI>, regulator-state-mem {
<&clock CLK_XUSBXTI>; regulator-off-in-suspend;
fimc_0: fimc@11800000 {
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>, <176000000>;
}; };
fimc_1: fimc@11810000 {
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>, <176000000>;
}; };
fimc_2: fimc@11820000 { ldo15_reg: ldo15 {
status = "okay"; regulator-compatible = "LDO15";
assigned-clocks = <&clock CLK_MOUT_FIMC2>, regulator-name = "VHSIC_1.0V";
<&clock CLK_SCLK_FIMC2>; regulator-min-microvolt = <1000000>;
assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; regulator-max-microvolt = <1000000>;
assigned-clock-rates = <0>, <176000000>; regulator-state-mem {
regulator-on-in-suspend;
}; };
fimc_3: fimc@11830000 {
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>, <176000000>;
}; };
csis_0: csis@11880000 { ldo16_reg: ldo16 {
status = "okay"; regulator-compatible = "LDO16";
vddcore-supply = <&ldo8_reg>; regulator-name = "VHSIC_1.8V";
vddio-supply = <&ldo10_reg>; regulator-min-microvolt = <1800000>;
assigned-clocks = <&clock CLK_MOUT_CSIS0>, regulator-max-microvolt = <1800000>;
<&clock CLK_SCLK_CSIS0>; regulator-state-mem {
assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; regulator-on-in-suspend;
assigned-clock-rates = <0>, <176000000>;
/* Camera C (3) MIPI CSI-2 (CSIS0) */
port@3 {
reg = <3>;
csis0_ep: endpoint {
remote-endpoint = <&s5c73m3_ep>;
data-lanes = <1 2 3 4>;
samsung,csis-hs-settle = <12>;
};
}; };
}; };
csis_1: csis@11890000 { ldo17_reg: ldo17 {
status = "okay"; regulator-compatible = "LDO17";
vddcore-supply = <&ldo8_reg>; regulator-name = "CAM_SENSOR_CORE_1.2V";
vddio-supply = <&ldo10_reg>; regulator-min-microvolt = <1200000>;
assigned-clocks = <&clock CLK_MOUT_CSIS1>, regulator-max-microvolt = <1200000>;
<&clock CLK_SCLK_CSIS1>;
assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
assigned-clock-rates = <0>, <176000000>;
/* Camera D (4) MIPI CSI-2 (CSIS1) */
port@4 {
reg = <4>;
csis1_ep: endpoint {
remote-endpoint = <&is_s5k6a3_ep>;
data-lanes = <1>;
samsung,csis-hs-settle = <18>;
samsung,csis-wclk;
}; };
ldo18_reg: ldo18 {
regulator-compatible = "LDO18";
regulator-name = "CAM_ISP_SEN_IO_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
}; };
ldo19_reg: ldo19 {
regulator-compatible = "LDO19";
regulator-name = "VT_CAM_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
}; };
fimc_lite_0: fimc-lite@12390000 { ldo20_reg: ldo20 {
status = "okay"; regulator-compatible = "LDO20";
regulator-name = "VDDQ_PRE_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
}; };
fimc_lite_1: fimc-lite@123A0000 { ldo21_reg: ldo21 {
status = "okay"; regulator-compatible = "LDO21";
regulator-name = "VTF_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>;
}; };
fimc-is@12000000 { ldo22_reg: ldo22 {
pinctrl-0 = <&fimc_is_uart>; regulator-compatible = "LDO22";
pinctrl-names = "default"; regulator-name = "VMEM_VDD_2.8V";
status = "okay"; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
};
i2c1_isp: i2c-isp@12140000 { ldo23_reg: ldo23 {
pinctrl-0 = <&fimc_is_i2c1>; regulator-compatible = "LDO23";
pinctrl-names = "default"; regulator-name = "TSP_AVDD_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
s5k6a3@10 { ldo24_reg: ldo24 {
compatible = "samsung,s5k6a3"; regulator-compatible = "LDO24";
reg = <0x10>; regulator-name = "TSP_VDD_1.8V";
svdda-supply = <&cam_io_reg>; regulator-min-microvolt = <1800000>;
svddio-supply = <&ldo19_reg>; regulator-max-microvolt = <1800000>;
afvdd-supply = <&ldo19_reg>; };
clock-frequency = <24000000>;
/* CAM_B_CLKOUT */
clocks = <&camera 1>;
clock-names = "extclk";
samsung,camclk-out = <1>;
gpios = <&gpm1 6 0>;
port { ldo25_reg: ldo25 {
is_s5k6a3_ep: endpoint { regulator-compatible = "LDO25";
remote-endpoint = <&csis1_ep>; regulator-name = "LCD_VCC_3.3V";
data-lanes = <1>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
}; };
ldo26_reg: ldo26 {
regulator-compatible = "LDO26";
regulator-name = "MOTOR_VCC_3.0V";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
}; };
buck1_reg: buck1 {
regulator-compatible = "BUCK1";
regulator-name = "vdd_mif";
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
}; };
}; };
buck2_reg: buck2 {
regulator-compatible = "BUCK2";
regulator-name = "vdd_arm";
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
}; };
}; };
i2s0: i2s@03830000 { buck3_reg: buck3 {
pinctrl-0 = <&i2s0_bus>; regulator-compatible = "BUCK3";
pinctrl-names = "default"; regulator-name = "vdd_int";
status = "okay"; regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1150000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
}; };
sound {
compatible = "samsung,trats2-audio";
samsung,i2s-controller = <&i2s0>;
samsung,model = "Trats2";
samsung,audio-codec = <&wm1811>;
samsung,audio-routing =
"SPK", "SPKOUTLN",
"SPK", "SPKOUTLP",
"SPK", "SPKOUTRN",
"SPK", "SPKOUTRP";
}; };
exynos-usbphy@125B0000 { buck4_reg: buck4 {
status = "okay"; regulator-compatible = "BUCK4";
regulator-name = "vdd_g3d";
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1150000>;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
}; };
hsotg@12480000 {
vusb_d-supply = <&ldo15_reg>;
vusb_a-supply = <&ldo12_reg>;
dr_mode = "peripheral";
status = "okay";
}; };
thermistor-ap@0 { buck5_reg: buck5 {
compatible = "ntc,ncp15wb473"; regulator-compatible = "BUCK5";
pullup-uv = <1800000>; /* VCC_1.8V_AP */ regulator-name = "VMEM_1.2V_AP";
pullup-ohm = <100000>; /* 100K */ regulator-min-microvolt = <1200000>;
pulldown-ohm = <100000>; /* 100K */ regulator-max-microvolt = <1200000>;
io-channels = <&adc 1>; /* AP temperature */ regulator-always-on;
}; };
thermistor-battery@1 { buck6_reg: buck6 {
compatible = "ntc,ncp15wb473"; regulator-compatible = "BUCK6";
pullup-uv = <1800000>; /* VCC_1.8V_AP */ regulator-name = "VCC_SUB_1.35V";
pullup-ohm = <100000>; /* 100K */ regulator-min-microvolt = <1350000>;
pulldown-ohm = <100000>; /* 100K */ regulator-max-microvolt = <1350000>;
io-channels = <&adc 2>; /* Battery temperature */ regulator-always-on;
}; };
thermal-zones { buck7_reg: buck7 {
cpu_thermal: cpu-thermal { regulator-compatible = "BUCK7";
cooling-maps { regulator-name = "VCC_SUB_2.0V";
map0 { regulator-min-microvolt = <2000000>;
/* Corresponds to 800MHz at freq_table */ regulator-max-microvolt = <2000000>;
cooling-device = <&cpu0 7 7>; regulator-always-on;
}; };
map1 {
/* Corresponds to 200MHz at freq_table */ buck8_reg: buck8 {
cooling-device = <&cpu0 13 13>; regulator-compatible = "BUCK8";
regulator-name = "VMEM_VDDF_3.0V";
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
}; };
buck9_reg: buck9 {
regulator-compatible = "BUCK9";
regulator-name = "CAM_ISP_CORE_1.2V";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1200000>;
maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
}; };
}; };
}; };
}; };
&i2s0 {
pinctrl-0 = <&i2s0_bus>;
pinctrl-names = "default";
status = "okay";
};
&mshc_0 {
num-slots = <1>;
broken-cd;
non-removable;
card-detect-delay = <200>;
vmmc-supply = <&ldo22_reg>;
clock-frequency = <400000000>;
samsung,dw-mshc-ciu-div = <0>;
samsung,dw-mshc-sdr-timing = <2 3>;
samsung,dw-mshc-ddr-timing = <1 2>;
pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
pinctrl-names = "default";
status = "okay";
bus-width = <8>;
cap-mmc-highspeed;
};
&pmu_system_controller { &pmu_system_controller {
assigned-clocks = <&pmu_system_controller 0>; assigned-clocks = <&pmu_system_controller 0>;
assigned-clock-parents = <&clock CLK_XUSBXTI>; assigned-clock-parents = <&clock CLK_XUSBXTI>;
...@@ -1306,8 +1254,62 @@ sleep3: sleep-states { ...@@ -1306,8 +1254,62 @@ sleep3: sleep-states {
}; };
}; };
&pwm {
pinctrl-0 = <&pwm0_out>;
pinctrl-names = "default";
samsung,pwm-outputs = <0>;
status = "okay";
};
&rtc { &rtc {
status = "okay"; status = "okay";
clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>; clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
clock-names = "rtc", "rtc_src"; clock-names = "rtc", "rtc_src";
}; };
&sdhci_2 {
bus-width = <4>;
cd-gpios = <&gpx3 4 0>;
cd-inverted;
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
pinctrl-names = "default";
vmmc-supply = <&ldo21_reg>;
status = "okay";
};
&serial_0 {
status = "okay";
};
&serial_1 {
status = "okay";
};
&serial_2 {
status = "okay";
};
&serial_3 {
status = "okay";
};
&spi_1 {
pinctrl-names = "default";
pinctrl-0 = <&spi1_bus>;
cs-gpios = <&gpb 5 0>;
status = "okay";
s5c73m3_spi: s5c73m3 {
compatible = "samsung,s5c73m3";
spi-max-frequency = <50000000>;
reg = <0>;
controller-data {
samsung,spi-feedback-delay = <2>;
};
};
};
&tmu {
vtmu-supply = <&ldo10_reg>;
status = "okay";
};
...@@ -54,19 +54,19 @@ cpu@A03 { ...@@ -54,19 +54,19 @@ cpu@A03 {
}; };
}; };
combiner: interrupt-controller@10440000 {
samsung,combiner-nr = <20>;
};
pmu { pmu {
interrupts = <2 2>, <3 2>, <18 2>, <19 2>; interrupts = <2 2>, <3 2>, <18 2>, <19 2>;
}; };
};
gic: interrupt-controller@10490000 { &pmu_system_controller {
cpu-offset = <0x4000>;
};
pmu_system_controller: system-controller@10020000 {
compatible = "samsung,exynos4412-pmu", "syscon"; compatible = "samsung,exynos4412-pmu", "syscon";
}; };
&combiner {
samsung,combiner-nr = <20>;
};
&gic {
cpu-offset = <0x4000>;
}; };
...@@ -249,6 +249,7 @@ fimd: fimd@11C00000 { ...@@ -249,6 +249,7 @@ fimd: fimd@11C00000 {
clocks = <&cmu CLK_SCLK_FIMD0>, <&cmu CLK_FIMD0>; clocks = <&cmu CLK_SCLK_FIMD0>, <&cmu CLK_FIMD0>;
clock-names = "sclk_fimd", "fimd"; clock-names = "sclk_fimd", "fimd";
samsung,power-domain = <&pd_lcd0>; samsung,power-domain = <&pd_lcd0>;
iommus = <&sysmmu_fimd0>;
samsung,sysreg = <&sysreg_system_controller>; samsung,sysreg = <&sysreg_system_controller>;
status = "disabled"; status = "disabled";
}; };
...@@ -268,6 +269,16 @@ dsi_0: dsi@11C80000 { ...@@ -268,6 +269,16 @@ dsi_0: dsi@11C80000 {
status = "disabled"; status = "disabled";
}; };
sysmmu_fimd0: sysmmu@11E20000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x11e20000 0x1000>;
interrupts = <0 80 0>, <0 81 0>;
clock-names = "sysmmu", "master";
clocks = <&cmu CLK_SMMUFIMD0>, <&cmu CLK_FIMD0>;
power-domains = <&pd_lcd0>;
#iommu-cells = <0>;
};
hsotg: hsotg@12480000 { hsotg: hsotg@12480000 {
compatible = "samsung,s3c6400-hsotg"; compatible = "samsung,s3c6400-hsotg";
reg = <0x12480000 0x20000>; reg = <0x12480000 0x20000>;
......
...@@ -29,7 +29,7 @@ _pin { \ ...@@ -29,7 +29,7 @@ _pin { \
} }
/ { / {
pinctrl@11400000 { pinctrl_0: pinctrl@11400000 {
gpa0: gpa0 { gpa0: gpa0 {
gpio-controller; gpio-controller;
#gpio-cells = <2>; #gpio-cells = <2>;
...@@ -441,7 +441,7 @@ cam_port_a_clk_idle: cam-port-a-clk-idle { ...@@ -441,7 +441,7 @@ cam_port_a_clk_idle: cam-port-a-clk-idle {
}; };
}; };
pinctrl@11000000 { pinctrl_1: pinctrl@11000000 {
gpk0: gpk0 { gpk0: gpk0 {
gpio-controller; gpio-controller;
#gpio-cells = <2>; #gpio-cells = <2>;
...@@ -887,7 +887,7 @@ fimc_is_uart: fimc-is-uart { ...@@ -887,7 +887,7 @@ fimc_is_uart: fimc-is-uart {
}; };
}; };
pinctrl@03860000 { pinctrl_2: pinctrl@03860000 {
gpz: gpz { gpz: gpz {
gpio-controller; gpio-controller;
#gpio-cells = <2>; #gpio-cells = <2>;
...@@ -913,7 +913,7 @@ pcm0_bus: pcm0-bus { ...@@ -913,7 +913,7 @@ pcm0_bus: pcm0-bus {
}; };
}; };
pinctrl@106E0000 { pinctrl_3: pinctrl@106E0000 {
gpv0: gpv0 { gpv0: gpv0 {
gpio-controller; gpio-controller;
#gpio-cells = <2>; #gpio-cells = <2>;
......
...@@ -96,32 +96,6 @@ mct_map: mct-map { ...@@ -96,32 +96,6 @@ mct_map: mct-map {
}; };
}; };
combiner: interrupt-controller@10440000 {
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@11400000 {
compatible = "samsung,exynos4x12-pinctrl";
reg = <0x11400000 0x1000>;
interrupts = <0 47 0>;
};
pinctrl_1: pinctrl@11000000 {
compatible = "samsung,exynos4x12-pinctrl";
reg = <0x11000000 0x1000>;
interrupts = <0 46 0>;
wakup_eint: wakeup-interrupt-controller {
compatible = "samsung,exynos4210-wakeup-eint";
interrupt-parent = <&gic>;
interrupts = <0 32 0>;
};
};
adc: adc@126C0000 { adc: adc@126C0000 {
compatible = "samsung,exynos-adc-v1"; compatible = "samsung,exynos-adc-v1";
reg = <0x126C0000 0x100>; reg = <0x126C0000 0x100>;
...@@ -135,36 +109,13 @@ adc: adc@126C0000 { ...@@ -135,36 +109,13 @@ adc: adc@126C0000 {
status = "disabled"; status = "disabled";
}; };
pinctrl_2: pinctrl@03860000 { g2d: g2d@10800000 {
compatible = "samsung,exynos4x12-pinctrl";
reg = <0x03860000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <10 0>;
};
pinctrl_3: pinctrl@106E0000 {
compatible = "samsung,exynos4x12-pinctrl";
reg = <0x106E0000 0x1000>;
interrupts = <0 72 0>;
};
pmu_system_controller: system-controller@10020000 {
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@10800000 {
compatible = "samsung,exynos4212-g2d"; compatible = "samsung,exynos4212-g2d";
reg = <0x10800000 0x1000>; reg = <0x10800000 0x1000>;
interrupts = <0 89 0>; interrupts = <0 89 0>;
clocks = <&clock CLK_SCLK_FIMG2D>, <&clock CLK_G2D>; clocks = <&clock CLK_SCLK_FIMG2D>, <&clock CLK_G2D>;
clock-names = "sclk_fimg2d", "fimg2d"; clock-names = "sclk_fimg2d", "fimg2d";
iommus = <&sysmmu_g2d>;
status = "disabled"; status = "disabled";
}; };
...@@ -173,40 +124,7 @@ camera { ...@@ -173,40 +124,7 @@ camera {
<&clock CLK_PIXELASYNCM0>, <&clock CLK_PIXELASYNCM1>; <&clock CLK_PIXELASYNCM0>, <&clock CLK_PIXELASYNCM1>;
clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0", "pxl_async1"; clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0", "pxl_async1";
fimc_0: fimc@11800000 { /* fimc_[0-3] are configured outside, under phandles */
compatible = "samsung,exynos4212-fimc";
samsung,pix-limits = <4224 8192 1920 4224>;
samsung,mainscaler-ext;
samsung,isp-wb;
samsung,cam-if;
};
fimc_1: fimc@11810000 {
compatible = "samsung,exynos4212-fimc";
samsung,pix-limits = <4224 8192 1920 4224>;
samsung,mainscaler-ext;
samsung,isp-wb;
samsung,cam-if;
};
fimc_2: fimc@11820000 {
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@11830000 {
compatible = "samsung,exynos4212-fimc";
samsung,pix-limits = <1920 8192 1366 1920>;
samsung,rotators = <0>;
samsung,mainscaler-ext;
samsung,isp-wb;
samsung,lcd-wb;
};
fimc_lite_0: fimc-lite@12390000 { fimc_lite_0: fimc-lite@12390000 {
compatible = "samsung,exynos4212-fimc-lite"; compatible = "samsung,exynos4212-fimc-lite";
reg = <0x12390000 0x1000>; reg = <0x12390000 0x1000>;
...@@ -214,6 +132,7 @@ fimc_lite_0: fimc-lite@12390000 { ...@@ -214,6 +132,7 @@ fimc_lite_0: fimc-lite@12390000 {
power-domains = <&pd_isp>; power-domains = <&pd_isp>;
clocks = <&clock CLK_FIMC_LITE0>; clocks = <&clock CLK_FIMC_LITE0>;
clock-names = "flite"; clock-names = "flite";
iommus = <&sysmmu_fimc_lite0>;
status = "disabled"; status = "disabled";
}; };
...@@ -224,6 +143,7 @@ fimc_lite_1: fimc-lite@123A0000 { ...@@ -224,6 +143,7 @@ fimc_lite_1: fimc-lite@123A0000 {
power-domains = <&pd_isp>; power-domains = <&pd_isp>;
clocks = <&clock CLK_FIMC_LITE1>; clocks = <&clock CLK_FIMC_LITE1>;
clock-names = "flite"; clock-names = "flite";
iommus = <&sysmmu_fimc_lite1>;
status = "disabled"; status = "disabled";
}; };
...@@ -252,6 +172,9 @@ fimc_is: fimc-is@12000000 { ...@@ -252,6 +172,9 @@ fimc_is: fimc-is@12000000 {
"mcuispdiv1", "uart", "aclk200", "mcuispdiv1", "uart", "aclk200",
"div_aclk200", "aclk400mcuisp", "div_aclk200", "aclk400mcuisp",
"div_aclk400mcuisp"; "div_aclk400mcuisp";
iommus = <&sysmmu_fimc_isp>, <&sysmmu_fimc_drc>,
<&sysmmu_fimc_fd>, <&sysmmu_fimc_mcuctl>;
iommu-names = "isp", "drc", "fd", "mcuctl";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
ranges; ranges;
...@@ -284,33 +207,192 @@ mshc_0: mmc@12550000 { ...@@ -284,33 +207,192 @@ mshc_0: mmc@12550000 {
status = "disabled"; status = "disabled";
}; };
exynos-usbphy@125B0000 { sysmmu_g2d: sysmmu@10A40000{
compatible = "samsung,exynos4x12-usb2-phy"; compatible = "samsung,exynos-sysmmu";
samsung,sysreg-phandle = <&sys_reg>; reg = <0x10A40000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <4 7>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_G2D>, <&clock CLK_G2D>;
#iommu-cells = <0>;
}; };
tmu@100C0000 { sysmmu_fimc_isp: sysmmu@12260000 {
compatible = "samsung,exynos4412-tmu"; compatible = "samsung,exynos-sysmmu";
reg = <0x12260000 0x1000>;
interrupt-parent = <&combiner>; interrupt-parent = <&combiner>;
interrupts = <2 4>; interrupts = <16 2>;
reg = <0x100C0000 0x100>; power-domains = <&pd_isp>;
clocks = <&clock 383>; clock-names = "sysmmu";
clock-names = "tmu_apbif"; clocks = <&clock CLK_SMMU_ISP>;
status = "disabled"; #iommu-cells = <0>;
}; };
jpeg-codec@11840000 { sysmmu_fimc_drc: sysmmu@12270000 {
compatible = "samsung,exynos4212-jpeg"; compatible = "samsung,exynos-sysmmu";
reg = <0x12270000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <16 3>;
power-domains = <&pd_isp>;
clock-names = "sysmmu";
clocks = <&clock CLK_SMMU_DRC>;
#iommu-cells = <0>;
}; };
hdmi: hdmi@12D00000 { sysmmu_fimc_fd: sysmmu@122A0000 {
compatible = "samsung,exynos4212-hdmi"; compatible = "samsung,exynos-sysmmu";
reg = <0x122A0000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <16 4>;
power-domains = <&pd_isp>;
clock-names = "sysmmu";
clocks = <&clock CLK_SMMU_FD>;
#iommu-cells = <0>;
};
sysmmu_fimc_mcuctl: sysmmu@122B0000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x122B0000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <16 5>;
power-domains = <&pd_isp>;
clock-names = "sysmmu";
clocks = <&clock CLK_SMMU_ISPCX>;
#iommu-cells = <0>;
};
sysmmu_fimc_lite0: sysmmu@123B0000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x123B0000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <16 0>;
power-domains = <&pd_isp>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_LITE0>, <&clock CLK_FIMC_LITE0>;
#iommu-cells = <0>;
}; };
mixer: mixer@12C10000 { sysmmu_fimc_lite1: sysmmu@123C0000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x123C0000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <16 1>;
power-domains = <&pd_isp>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_LITE1>, <&clock CLK_FIMC_LITE1>;
#iommu-cells = <0>;
};
};
&combiner {
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>;
};
&exynos_usbphy {
compatible = "samsung,exynos4x12-usb2-phy";
samsung,sysreg-phandle = <&sys_reg>;
};
&fimc_0 {
compatible = "samsung,exynos4212-fimc";
samsung,pix-limits = <4224 8192 1920 4224>;
samsung,mainscaler-ext;
samsung,isp-wb;
samsung,cam-if;
};
&fimc_1 {
compatible = "samsung,exynos4212-fimc";
samsung,pix-limits = <4224 8192 1920 4224>;
samsung,mainscaler-ext;
samsung,isp-wb;
samsung,cam-if;
};
&fimc_2 {
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 {
compatible = "samsung,exynos4212-fimc";
samsung,pix-limits = <1920 8192 1366 1920>;
samsung,rotators = <0>;
samsung,mainscaler-ext;
samsung,isp-wb;
samsung,lcd-wb;
};
&hdmi {
compatible = "samsung,exynos4212-hdmi";
};
&jpeg_codec {
compatible = "samsung,exynos4212-jpeg";
};
&mixer {
compatible = "samsung,exynos4212-mixer"; compatible = "samsung,exynos4212-mixer";
clock-names = "mixer", "hdmi", "sclk_hdmi", "vp"; clock-names = "mixer", "hdmi", "sclk_hdmi", "vp";
clocks = <&clock CLK_MIXER>, <&clock CLK_HDMI>, clocks = <&clock CLK_MIXER>, <&clock CLK_HDMI>,
<&clock CLK_SCLK_HDMI>, <&clock CLK_VP>; <&clock CLK_SCLK_HDMI>, <&clock CLK_VP>;
};
&pinctrl_0 {
compatible = "samsung,exynos4x12-pinctrl";
reg = <0x11400000 0x1000>;
interrupts = <0 47 0>;
};
&pinctrl_1 {
compatible = "samsung,exynos4x12-pinctrl";
reg = <0x11000000 0x1000>;
interrupts = <0 46 0>;
wakup_eint: wakeup-interrupt-controller {
compatible = "samsung,exynos4210-wakeup-eint";
interrupt-parent = <&gic>;
interrupts = <0 32 0>;
}; };
}; };
&pinctrl_2 {
compatible = "samsung,exynos4x12-pinctrl";
reg = <0x03860000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <10 0>;
};
&pinctrl_3 {
compatible = "samsung,exynos4x12-pinctrl";
reg = <0x106E0000 0x1000>;
interrupts = <0 72 0>;
};
&pmu_system_controller {
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>;
};
&tmu {
compatible = "samsung,exynos4412-tmu";
interrupt-parent = <&combiner>;
interrupts = <2 4>;
reg = <0x100C0000 0x100>;
clocks = <&clock 383>;
clock-names = "tmu_apbif";
status = "disabled";
};
...@@ -81,14 +81,14 @@ serial_3: serial@12C30000 { ...@@ -81,14 +81,14 @@ serial_3: serial@12C30000 {
interrupts = <0 54 0>; interrupts = <0 54 0>;
}; };
rtc@101E0000 { rtc: rtc@101E0000 {
compatible = "samsung,s3c6410-rtc"; compatible = "samsung,s3c6410-rtc";
reg = <0x101E0000 0x100>; reg = <0x101E0000 0x100>;
interrupts = <0 43 0>, <0 44 0>; interrupts = <0 43 0>, <0 44 0>;
status = "disabled"; status = "disabled";
}; };
fimd@14400000 { fimd: fimd@14400000 {
compatible = "samsung,exynos5250-fimd"; compatible = "samsung,exynos5250-fimd";
interrupt-parent = <&combiner>; interrupt-parent = <&combiner>;
reg = <0x14400000 0x40000>; reg = <0x14400000 0x40000>;
...@@ -98,7 +98,7 @@ fimd@14400000 { ...@@ -98,7 +98,7 @@ fimd@14400000 {
status = "disabled"; status = "disabled";
}; };
dp-controller@145B0000 { dp: dp-controller@145B0000 {
compatible = "samsung,exynos5-dp"; compatible = "samsung,exynos5-dp";
reg = <0x145B0000 0x1000>; reg = <0x145B0000 0x1000>;
interrupts = <10 3>; interrupts = <10 3>;
......
...@@ -177,30 +177,6 @@ charger { ...@@ -177,30 +177,6 @@ charger {
}; };
}; };
i2c@12CD0000 {
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 { sound {
compatible = "google,snow-audio-max98095"; compatible = "google,snow-audio-max98095";
...@@ -507,6 +483,28 @@ &i2c_7 { ...@@ -507,6 +483,28 @@ &i2c_7 {
samsung,i2c-sda-delay = <100>; samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>; 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 { max98095: codec@11 {
compatible = "maxim,max98095"; compatible = "maxim,max98095";
reg = <0x11>; reg = <0x11>;
......
...@@ -230,6 +230,7 @@ g2d@10850000 { ...@@ -230,6 +230,7 @@ g2d@10850000 {
interrupts = <0 91 0>; interrupts = <0 91 0>;
clocks = <&clock CLK_G2D>; clocks = <&clock CLK_G2D>;
clock-names = "fimg2d"; clock-names = "fimg2d";
iommus = <&sysmmu_g2d>;
}; };
mfc: codec@11000000 { mfc: codec@11000000 {
...@@ -239,13 +240,8 @@ mfc: codec@11000000 { ...@@ -239,13 +240,8 @@ mfc: codec@11000000 {
power-domains = <&pd_mfc>; power-domains = <&pd_mfc>;
clocks = <&clock CLK_MFC>; clocks = <&clock CLK_MFC>;
clock-names = "mfc"; clock-names = "mfc";
}; iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>;
iommu-names = "left", "right";
rtc: rtc@101E0000 {
clocks = <&clock CLK_RTC>;
clock-names = "rtc";
interrupt-parent = <&pmu_system_controller>;
status = "disabled";
}; };
tmu: tmu@10060000 { tmu: tmu@10060000 {
...@@ -276,26 +272,6 @@ map1 { ...@@ -276,26 +272,6 @@ map1 {
}; };
}; };
serial@12C00000 {
clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
clock-names = "uart", "clk_uart_baud0";
};
serial@12C10000 {
clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
clock-names = "uart", "clk_uart_baud0";
};
serial@12C20000 {
clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
clock-names = "uart", "clk_uart_baud0";
};
serial@12C30000 {
clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
clock-names = "uart", "clk_uart_baud0";
};
sata: sata@122F0000 { sata: sata@122F0000 {
compatible = "snps,dwc-ahci"; compatible = "snps,dwc-ahci";
samsung,sata-freq = <66>; samsung,sata-freq = <66>;
...@@ -720,6 +696,7 @@ gsc_0: gsc@13e00000 { ...@@ -720,6 +696,7 @@ gsc_0: gsc@13e00000 {
power-domains = <&pd_gsc>; power-domains = <&pd_gsc>;
clocks = <&clock CLK_GSCL0>; clocks = <&clock CLK_GSCL0>;
clock-names = "gscl"; clock-names = "gscl";
iommu = <&sysmmu_gsc0>;
}; };
gsc_1: gsc@13e10000 { gsc_1: gsc@13e10000 {
...@@ -729,6 +706,7 @@ gsc_1: gsc@13e10000 { ...@@ -729,6 +706,7 @@ gsc_1: gsc@13e10000 {
power-domains = <&pd_gsc>; power-domains = <&pd_gsc>;
clocks = <&clock CLK_GSCL1>; clocks = <&clock CLK_GSCL1>;
clock-names = "gscl"; clock-names = "gscl";
iommu = <&sysmmu_gsc1>;
}; };
gsc_2: gsc@13e20000 { gsc_2: gsc@13e20000 {
...@@ -738,6 +716,7 @@ gsc_2: gsc@13e20000 { ...@@ -738,6 +716,7 @@ gsc_2: gsc@13e20000 {
power-domains = <&pd_gsc>; power-domains = <&pd_gsc>;
clocks = <&clock CLK_GSCL2>; clocks = <&clock CLK_GSCL2>;
clock-names = "gscl"; clock-names = "gscl";
iommu = <&sysmmu_gsc2>;
}; };
gsc_3: gsc@13e30000 { gsc_3: gsc@13e30000 {
...@@ -747,6 +726,7 @@ gsc_3: gsc@13e30000 { ...@@ -747,6 +726,7 @@ gsc_3: gsc@13e30000 {
power-domains = <&pd_gsc>; power-domains = <&pd_gsc>;
clocks = <&clock CLK_GSCL3>; clocks = <&clock CLK_GSCL3>;
clock-names = "gscl"; clock-names = "gscl";
iommu = <&sysmmu_gsc3>;
}; };
hdmi: hdmi { hdmi: hdmi {
...@@ -770,6 +750,7 @@ mixer { ...@@ -770,6 +750,7 @@ mixer {
clocks = <&clock CLK_MIXER>, <&clock CLK_HDMI>, clocks = <&clock CLK_MIXER>, <&clock CLK_HDMI>,
<&clock CLK_SCLK_HDMI>; <&clock CLK_SCLK_HDMI>;
clock-names = "mixer", "hdmi", "sclk_hdmi"; clock-names = "mixer", "hdmi", "sclk_hdmi";
iommus = <&sysmmu_tv>;
}; };
dp_phy: video-phy@10040720 { dp_phy: video-phy@10040720 {
...@@ -778,20 +759,6 @@ dp_phy: video-phy@10040720 { ...@@ -778,20 +759,6 @@ dp_phy: video-phy@10040720 {
#phy-cells = <0>; #phy-cells = <0>;
}; };
dp: dp-controller@145B0000 {
power-domains = <&pd_disp1>;
clocks = <&clock CLK_DP>;
clock-names = "dp";
phys = <&dp_phy>;
phy-names = "dp";
};
fimd: fimd@14400000 {
power-domains = <&pd_disp1>;
clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
clock-names = "sclk_fimd", "fimd";
};
adc: adc@12D10000 { adc: adc@12D10000 {
compatible = "samsung,exynos-adc-v1"; compatible = "samsung,exynos-adc-v1";
reg = <0x12D10000 0x100>; reg = <0x12D10000 0x100>;
...@@ -811,4 +778,287 @@ sss@10830000 { ...@@ -811,4 +778,287 @@ sss@10830000 {
clocks = <&clock CLK_SSS>; clocks = <&clock CLK_SSS>;
clock-names = "secss"; clock-names = "secss";
}; };
sysmmu_g2d: sysmmu@10A60000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x10A60000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <24 5>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_2D>, <&clock CLK_G2D>;
#iommu-cells = <0>;
};
sysmmu_mfc_r: sysmmu@11200000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x11200000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <6 2>;
power-domains = <&pd_mfc>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_MFCR>, <&clock CLK_MFC>;
#iommu-cells = <0>;
};
sysmmu_mfc_l: sysmmu@11210000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x11210000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <8 5>;
power-domains = <&pd_mfc>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_MFCL>, <&clock CLK_MFC>;
#iommu-cells = <0>;
};
sysmmu_rotator: sysmmu@11D40000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x11D40000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <4 0>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_ROTATOR>, <&clock CLK_ROTATOR>;
#iommu-cells = <0>;
};
sysmmu_jpeg: sysmmu@11F20000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x11F20000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <4 2>;
power-domains = <&pd_gsc>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_JPEG>, <&clock CLK_JPEG>;
#iommu-cells = <0>;
};
sysmmu_fimc_isp: sysmmu@13260000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x13260000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <10 6>;
clock-names = "sysmmu";
clocks = <&clock CLK_SMMU_FIMC_ISP>;
#iommu-cells = <0>;
};
sysmmu_fimc_drc: sysmmu@13270000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x13270000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <11 6>;
clock-names = "sysmmu";
clocks = <&clock CLK_SMMU_FIMC_DRC>;
#iommu-cells = <0>;
};
sysmmu_fimc_fd: sysmmu@132A0000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x132A0000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <5 0>;
clock-names = "sysmmu";
clocks = <&clock CLK_SMMU_FIMC_FD>;
#iommu-cells = <0>;
};
sysmmu_fimc_scc: sysmmu@13280000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x13280000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <5 2>;
clock-names = "sysmmu";
clocks = <&clock CLK_SMMU_FIMC_SCC>;
#iommu-cells = <0>;
};
sysmmu_fimc_scp: sysmmu@13290000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x13290000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <3 6>;
clock-names = "sysmmu";
clocks = <&clock CLK_SMMU_FIMC_SCP>;
#iommu-cells = <0>;
};
sysmmu_fimc_mcuctl: sysmmu@132B0000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x132B0000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <5 4>;
clock-names = "sysmmu";
clocks = <&clock CLK_SMMU_FIMC_MCU>;
#iommu-cells = <0>;
};
sysmmu_fimc_odc: sysmmu@132C0000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x132C0000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <11 0>;
clock-names = "sysmmu";
clocks = <&clock CLK_SMMU_FIMC_ODC>;
#iommu-cells = <0>;
};
sysmmu_fimc_dis0: sysmmu@132D0000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x132D0000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <10 4>;
clock-names = "sysmmu";
clocks = <&clock CLK_SMMU_FIMC_DIS0>;
#iommu-cells = <0>;
};
sysmmu_fimc_dis1: sysmmu@132E0000{
compatible = "samsung,exynos-sysmmu";
reg = <0x132E0000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <9 4>;
clock-names = "sysmmu";
clocks = <&clock CLK_SMMU_FIMC_DIS1>;
#iommu-cells = <0>;
};
sysmmu_fimc_3dnr: sysmmu@132F0000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x132F0000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <5 6>;
clock-names = "sysmmu";
clocks = <&clock CLK_SMMU_FIMC_3DNR>;
#iommu-cells = <0>;
};
sysmmu_fimc_lite0: sysmmu@13C40000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x13C40000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <3 4>;
power-domains = <&pd_gsc>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_FIMC_LITE0>, <&clock CLK_CAMIF_TOP>;
#iommu-cells = <0>;
};
sysmmu_fimc_lite1: sysmmu@13C50000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x13C50000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <24 1>;
power-domains = <&pd_gsc>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_FIMC_LITE1>, <&clock CLK_CAMIF_TOP>;
#iommu-cells = <0>;
};
sysmmu_gsc0: sysmmu@13E80000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x13E80000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <2 0>;
power-domains = <&pd_gsc>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_GSCL0>, <&clock CLK_GSCL0>;
#iommu-cells = <0>;
};
sysmmu_gsc1: sysmmu@13E90000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x13E90000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <2 2>;
power-domains = <&pd_gsc>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_GSCL1>, <&clock CLK_GSCL1>;
#iommu-cells = <0>;
};
sysmmu_gsc2: sysmmu@13EA0000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x13EA0000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <2 4>;
power-domains = <&pd_gsc>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_GSCL2>, <&clock CLK_GSCL2>;
#iommu-cells = <0>;
};
sysmmu_gsc3: sysmmu@13EB0000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x13EB0000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <2 6>;
power-domains = <&pd_gsc>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_GSCL3>, <&clock CLK_GSCL3>;
#iommu-cells = <0>;
};
sysmmu_fimd1: sysmmu@14640000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x14640000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <3 2>;
power-domains = <&pd_disp1>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_FIMD1>, <&clock CLK_FIMD1>;
#iommu-cells = <0>;
};
sysmmu_tv: sysmmu@14650000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x14650000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <7 4>;
power-domains = <&pd_disp1>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_TV>, <&clock CLK_MIXER>;
#iommu-cells = <0>;
};
};
&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";
iommus = <&sysmmu_fimd1>;
};
&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";
}; };
...@@ -39,40 +39,27 @@ oscclk { ...@@ -39,40 +39,27 @@ oscclk {
}; };
}; };
codec@11000000 { gpio_keys {
samsung,mfc-r = <0x43000000 0x800000>; compatible = "gpio-keys";
samsung,mfc-l = <0x51000000 0x800000>;
};
mmc@12200000 { wakeup {
status = "okay"; label = "SW-TACT1";
broken-cd; gpios = <&gpx2 7 1>;
card-detect-delay = <200>; linux,code = <KEY_WAKEUP>;
samsung,dw-mshc-ciu-div = <3>; gpio-key,wakeup;
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@12220000 {
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;
}; };
};
&usbdrd_dwc3_1 {
dr_mode = "host";
};
&cci {
status = "disabled";
};
hsi2c_4: i2c@12CA0000 { &hsi2c_4 {
status = "okay"; status = "okay";
s2mps11_pmic@66 { s2mps11_pmic@66 {
...@@ -354,26 +341,39 @@ buck10_reg: BUCK10 { ...@@ -354,26 +341,39 @@ buck10_reg: BUCK10 {
}; };
}; };
}; };
}; };
gpio_keys {
compatible = "gpio-keys";
wakeup { &mfc {
label = "SW-TACT1"; samsung,mfc-r = <0x43000000 0x800000>;
gpios = <&gpx2 7 1>; samsung,mfc-l = <0x51000000 0x800000>;
linux,code = <KEY_WAKEUP>;
gpio-key,wakeup;
};
};
}; };
&usbdrd_dwc3_1 { &mmc_0 {
dr_mode = "host"; 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;
}; };
&cci { &mmc_2 {
status = "disabled"; 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;
}; };
&pinctrl_0 { &pinctrl_0 {
......
...@@ -1027,7 +1027,7 @@ charger { ...@@ -1027,7 +1027,7 @@ charger {
}; };
}; };
&uart_3 { &serial_3 {
status = "okay"; status = "okay";
}; };
......
...@@ -64,44 +64,31 @@ spkvdd: fixed-regulator@2 { ...@@ -64,44 +64,31 @@ spkvdd: fixed-regulator@2 {
}; };
}; };
rtc@101E0000 { usb300_vbus_reg: regulator-usb300 {
status = "okay"; compatible = "regulator-fixed";
}; regulator-name = "VBUS0";
regulator-min-microvolt = <5000000>;
codec@11000000 { regulator-max-microvolt = <5000000>;
samsung,mfc-r = <0x43000000 0x800000>; gpio = <&gpg0 5 0>;
samsung,mfc-l = <0x51000000 0x800000>;
};
mmc@12200000 {
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-names = "default";
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 pinctrl-0 = <&usb300_vbus_en>;
&sd0_rclk>; enable-active-high;
bus-width = <8>;
cap-mmc-highspeed;
}; };
mmc@12220000 { usb301_vbus_reg: regulator-usb301 {
status = "okay"; compatible = "regulator-fixed";
card-detect-delay = <200>; regulator-name = "VBUS1";
samsung,dw-mshc-ciu-div = <3>; regulator-min-microvolt = <5000000>;
samsung,dw-mshc-sdr-timing = <2 3>; regulator-max-microvolt = <5000000>;
samsung,dw-mshc-ddr-timing = <1 2>; gpio = <&gpg1 4 0>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>; pinctrl-0 = <&usb301_vbus_en>;
bus-width = <4>; enable-active-high;
cap-sd-highspeed;
}; };
dp-controller@145B0000 { };
&dp {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&dp_hpd>; pinctrl-0 = <&dp_hpd>;
samsung,color-space = <0>; samsung,color-space = <0>;
...@@ -111,9 +98,9 @@ dp-controller@145B0000 { ...@@ -111,9 +98,9 @@ dp-controller@145B0000 {
samsung,link-rate = <0x0a>; samsung,link-rate = <0x0a>;
samsung,lane-count = <4>; samsung,lane-count = <4>;
status = "okay"; status = "okay";
}; };
fimd@14400000 { &fimd {
status = "okay"; status = "okay";
display-timings { display-timings {
native-mode = <&timing0>; native-mode = <&timing0>;
...@@ -129,82 +116,16 @@ timing0: timing@0 { ...@@ -129,82 +116,16 @@ timing0: timing@0 {
vsync-len = <6>; vsync-len = <6>;
}; };
}; };
}; };
pinctrl@13400000 {
hdmi_hpd_irq: hdmi-hpd-irq {
samsung,pins = "gpx3-7";
samsung,pin-function = <0>;
samsung,pin-pud = <1>;
samsung,pin-drv = <0>;
};
};
pinctrl@14000000 {
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@14530000 { &hdmi {
status = "okay"; status = "okay";
hpd-gpio = <&gpx3 7 0>; hpd-gpio = <&gpx3 7 0>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd_irq>; pinctrl-0 = <&hdmi_hpd_irq>;
}; };
usb300_vbus_reg: regulator-usb300 {
compatible = "regulator-fixed";
regulator-name = "VBUS0";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpg0 5 0>;
pinctrl-names = "default";
pinctrl-0 = <&usb300_vbus_en>;
enable-active-high;
};
usb301_vbus_reg: regulator-usb301 {
compatible = "regulator-fixed";
regulator-name = "VBUS1";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpg1 4 0>;
pinctrl-names = "default";
pinctrl-0 = <&usb301_vbus_en>;
enable-active-high;
};
phy@12100000 {
vbus-supply = <&usb300_vbus_reg>;
};
phy@12500000 {
vbus-supply = <&usb301_vbus_reg>;
};
i2c_2: i2c@12C80000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
status = "okay";
hdmiddc@50 {
compatible = "samsung,exynos4210-hdmiddc";
reg = <0x50>;
};
};
hsi2c_4: i2c@12CA0000 { &hsi2c_4 {
status = "okay"; status = "okay";
s2mps11_pmic@66 { s2mps11_pmic@66 {
...@@ -418,5 +339,85 @@ buck10_reg: BUCK10 { ...@@ -418,5 +339,85 @@ buck10_reg: BUCK10 {
}; };
}; };
}; };
};
&i2c_2 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
status = "okay";
hdmiddc@50 {
compatible = "samsung,exynos4210-hdmiddc";
reg = <0x50>;
}; };
}; };
&mfc {
samsung,mfc-r = <0x43000000 0x800000>;
samsung,mfc-l = <0x51000000 0x800000>;
};
&mmc_0 {
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_2 {
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;
};
&pinctrl_0 {
hdmi_hpd_irq: hdmi-hpd-irq {
samsung,pins = "gpx3-7";
samsung,pin-function = <0>;
samsung,pin-pud = <1>;
samsung,pin-drv = <0>;
};
};
&pinctrl_2 {
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>;
};
};
&rtc {
status = "okay";
};
&usbdrd_phy0 {
vbus-supply = <&usb300_vbus_reg>;
};
&usbdrd_phy1 {
vbus-supply = <&usb301_vbus_reg>;
};
...@@ -179,6 +179,8 @@ mfc: codec@11000000 { ...@@ -179,6 +179,8 @@ mfc: codec@11000000 {
clocks = <&clock CLK_MFC>; clocks = <&clock CLK_MFC>;
clock-names = "mfc"; clock-names = "mfc";
power-domains = <&mfc_pd>; power-domains = <&mfc_pd>;
iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>;
iommu-names = "left", "right";
}; };
mmc_0: mmc@12200000 { mmc_0: mmc@12200000 {
...@@ -323,13 +325,6 @@ pinctrl_4: pinctrl@03860000 { ...@@ -323,13 +325,6 @@ pinctrl_4: pinctrl@03860000 {
interrupts = <0 47 0>; interrupts = <0 47 0>;
}; };
rtc: rtc@101E0000 {
clocks = <&clock CLK_RTC>;
clock-names = "rtc";
interrupt-parent = <&pmu_system_controller>;
status = "disabled";
};
amba { amba {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
...@@ -500,26 +495,6 @@ spi_2: spi@12d40000 { ...@@ -500,26 +495,6 @@ spi_2: spi@12d40000 {
status = "disabled"; status = "disabled";
}; };
uart_0: serial@12C00000 {
clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
clock-names = "uart", "clk_uart_baud0";
};
uart_1: serial@12C10000 {
clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
clock-names = "uart", "clk_uart_baud0";
};
uart_2: serial@12C20000 {
clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
clock-names = "uart", "clk_uart_baud0";
};
uart_3: serial@12C30000 {
clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
clock-names = "uart", "clk_uart_baud0";
};
pwm: pwm@12dd0000 { pwm: pwm@12dd0000 {
compatible = "samsung,exynos4210-pwm"; compatible = "samsung,exynos4210-pwm";
reg = <0x12dd0000 0x100>; reg = <0x12dd0000 0x100>;
...@@ -535,14 +510,6 @@ dp_phy: video-phy@10040728 { ...@@ -535,14 +510,6 @@ dp_phy: video-phy@10040728 {
#phy-cells = <0>; #phy-cells = <0>;
}; };
dp: dp-controller@145B0000 {
clocks = <&clock CLK_DP1>;
clock-names = "dp";
phys = <&dp_phy>;
phy-names = "dp";
power-domains = <&disp_pd>;
};
mipi_phy: video-phy@10040714 { mipi_phy: video-phy@10040714 {
compatible = "samsung,s5pv210-mipi-video-phy"; compatible = "samsung,s5pv210-mipi-video-phy";
syscon = <&pmu_system_controller>; syscon = <&pmu_system_controller>;
...@@ -562,12 +529,6 @@ dsi@14500000 { ...@@ -562,12 +529,6 @@ dsi@14500000 {
status = "disabled"; status = "disabled";
}; };
fimd: fimd@14400000 {
clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
clock-names = "sclk_fimd", "fimd";
power-domains = <&disp_pd>;
};
adc: adc@12D10000 { adc: adc@12D10000 {
compatible = "samsung,exynos-adc-v2"; compatible = "samsung,exynos-adc-v2";
reg = <0x12D10000 0x100>; reg = <0x12D10000 0x100>;
...@@ -754,6 +715,7 @@ mixer: mixer@14450000 { ...@@ -754,6 +715,7 @@ mixer: mixer@14450000 {
<&clock CLK_SCLK_HDMI>; <&clock CLK_SCLK_HDMI>;
clock-names = "mixer", "hdmi", "sclk_hdmi"; clock-names = "mixer", "hdmi", "sclk_hdmi";
power-domains = <&disp_pd>; power-domains = <&disp_pd>;
iommus = <&sysmmu_tv>;
}; };
gsc_0: video-scaler@13e00000 { gsc_0: video-scaler@13e00000 {
...@@ -763,6 +725,7 @@ gsc_0: video-scaler@13e00000 { ...@@ -763,6 +725,7 @@ gsc_0: video-scaler@13e00000 {
clocks = <&clock CLK_GSCL0>; clocks = <&clock CLK_GSCL0>;
clock-names = "gscl"; clock-names = "gscl";
power-domains = <&gsc_pd>; power-domains = <&gsc_pd>;
iommus = <&sysmmu_gscl0>;
}; };
gsc_1: video-scaler@13e10000 { gsc_1: video-scaler@13e10000 {
...@@ -772,6 +735,25 @@ gsc_1: video-scaler@13e10000 { ...@@ -772,6 +735,25 @@ gsc_1: video-scaler@13e10000 {
clocks = <&clock CLK_GSCL1>; clocks = <&clock CLK_GSCL1>;
clock-names = "gscl"; clock-names = "gscl";
power-domains = <&gsc_pd>; power-domains = <&gsc_pd>;
iommus = <&sysmmu_gscl1>;
};
jpeg_0: jpeg@11F50000 {
compatible = "samsung,exynos5420-jpeg";
reg = <0x11F50000 0x1000>;
interrupts = <0 89 0>;
clock-names = "jpeg";
clocks = <&clock CLK_JPEG>;
iommus = <&sysmmu_jpeg0>;
};
jpeg_1: jpeg@11F60000 {
compatible = "samsung,exynos5420-jpeg";
reg = <0x11F60000 0x1000>;
interrupts = <0 168 0>;
clock-names = "jpeg";
clocks = <&clock CLK_JPEG2>;
iommus = <&sysmmu_jpeg1>;
}; };
pmu_system_controller: system-controller@10040000 { pmu_system_controller: system-controller@10040000 {
...@@ -966,4 +948,221 @@ usb2_phy: phy@12130000 { ...@@ -966,4 +948,221 @@ usb2_phy: phy@12130000 {
samsung,sysreg-phandle = <&sysreg_system_controller>; samsung,sysreg-phandle = <&sysreg_system_controller>;
samsung,pmureg-phandle = <&pmu_system_controller>; samsung,pmureg-phandle = <&pmu_system_controller>;
}; };
sysmmu_g2dr: sysmmu@0x10A60000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x10A60000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <24 5>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_G2D>, <&clock CLK_G2D>;
#iommu-cells = <0>;
};
sysmmu_g2dw: sysmmu@0x10A70000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x10A70000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <22 2>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_G2D>, <&clock CLK_G2D>;
#iommu-cells = <0>;
};
sysmmu_tv: sysmmu@0x14650000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x14650000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <7 4>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_MIXER>, <&clock CLK_MIXER>;
power-domains = <&disp_pd>;
#iommu-cells = <0>;
};
sysmmu_gscl0: sysmmu@0x13E80000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x13E80000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <2 0>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_GSCL0>, <&clock CLK_GSCL0>;
power-domains = <&gsc_pd>;
#iommu-cells = <0>;
};
sysmmu_gscl1: sysmmu@0x13E90000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x13E90000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <2 2>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_GSCL1>, <&clock CLK_GSCL1>;
power-domains = <&gsc_pd>;
#iommu-cells = <0>;
};
sysmmu_scaler0r: sysmmu@0x12880000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x12880000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <22 4>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_MSCL0>, <&clock CLK_MSCL0>;
#iommu-cells = <0>;
};
sysmmu_scaler1r: sysmmu@0x12890000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x12890000 0x1000>;
interrupts = <0 186 0>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_MSCL1>, <&clock CLK_MSCL1>;
#iommu-cells = <0>;
};
sysmmu_scaler2r: sysmmu@0x128A0000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x128A0000 0x1000>;
interrupts = <0 188 0>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_MSCL2>, <&clock CLK_MSCL2>;
#iommu-cells = <0>;
};
sysmmu_scaler0w: sysmmu@0x128C0000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x128C0000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <27 2>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_MSCL0>, <&clock CLK_MSCL0>;
#iommu-cells = <0>;
};
sysmmu_scaler1w: sysmmu@0x128D0000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x128D0000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <22 6>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_MSCL1>, <&clock CLK_MSCL1>;
#iommu-cells = <0>;
};
sysmmu_scaler2w: sysmmu@0x128E0000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x128E0000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <19 6>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_MSCL2>, <&clock CLK_MSCL2>;
#iommu-cells = <0>;
};
sysmmu_jpeg0: sysmmu@0x11F10000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x11F10000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <4 2>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_JPEG>, <&clock CLK_JPEG>;
#iommu-cells = <0>;
};
sysmmu_jpeg1: sysmmu@0x11F20000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x11F20000 0x1000>;
interrupts = <0 169 0>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_JPEG2>, <&clock CLK_JPEG2>;
#iommu-cells = <0>;
};
sysmmu_mfc_l: sysmmu@0x11200000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x11200000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <6 2>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_MFCL>, <&clock CLK_MFC>;
power-domains = <&mfc_pd>;
#iommu-cells = <0>;
};
sysmmu_mfc_r: sysmmu@0x11210000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x11210000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <8 5>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_MFCR>, <&clock CLK_MFC>;
power-domains = <&mfc_pd>;
#iommu-cells = <0>;
};
sysmmu_fimd1_0: sysmmu@0x14640000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x14640000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <3 2>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_FIMD1M0>, <&clock CLK_FIMD1>;
power-domains = <&disp_pd>;
#iommu-cells = <0>;
};
sysmmu_fimd1_1: sysmmu@0x14680000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x14680000 0x1000>;
interrupt-parent = <&combiner>;
interrupts = <3 0>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_FIMD1M0>, <&clock CLK_FIMD1>;
power-domains = <&disp_pd>;
#iommu-cells = <0>;
};
};
&dp {
clocks = <&clock CLK_DP1>;
clock-names = "dp";
phys = <&dp_phy>;
phy-names = "dp";
power-domains = <&disp_pd>;
};
&fimd {
clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
clock-names = "sclk_fimd", "fimd";
power-domains = <&disp_pd>;
iommus = <&sysmmu_fimd1_0>, <&sysmmu_fimd1_1>;
iommu-names = "m0", "m1";
};
&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";
}; };
/*
* Hardkernel Odroid XU3 board device tree source
*
* Copyright (c) 2014 Collabora Ltd.
* Copyright (c) 2013 Samsung Electronics Co., Ltd.
* http://www.samsung.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <dt-bindings/clock/samsung,s2mps11.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/sound/samsung-i2s.h>
#include "exynos5800.dtsi"
/ {
memory {
reg = <0x40000000 0x7EA00000>;
};
chosen {
linux,stdout-path = &serial_2;
};
firmware@02073000 {
compatible = "samsung,secure-firmware";
reg = <0x02073000 0x1000>;
};
fixed-rate-clocks {
oscclk {
compatible = "samsung,exynos5420-oscclk";
clock-frequency = <24000000>;
};
};
emmc_pwrseq: pwrseq {
pinctrl-0 = <&emmc_nrst_pin>;
pinctrl-names = "default";
compatible = "mmc-pwrseq-emmc";
reset-gpios = <&gpd1 0 1>;
};
pwmleds {
compatible = "pwm-leds";
greenled {
label = "green:mmc0";
pwms = <&pwm 1 2000000 0>;
pwm-names = "pwm1";
/*
* Green LED is much brighter than the others
* so limit its max brightness
*/
max_brightness = <127>;
linux,default-trigger = "mmc0";
};
blueled {
label = "blue:heartbeat";
pwms = <&pwm 2 2000000 0>;
pwm-names = "pwm2";
max_brightness = <255>;
linux,default-trigger = "heartbeat";
};
};
gpioleds {
compatible = "gpio-leds";
redled {
label = "red:microSD";
gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
default-state = "off";
linux,default-trigger = "mmc1";
};
};
sound: sound {
compatible = "simple-audio-card";
simple-audio-card,name = "Odroid-XU3";
simple-audio-card,widgets =
"Headphone", "Headphone Jack",
"Speakers", "Speakers";
simple-audio-card,routing =
"Headphone Jack", "HPL",
"Headphone Jack", "HPR",
"Headphone Jack", "MICBIAS",
"IN1", "Headphone Jack",
"Speakers", "SPKL",
"Speakers", "SPKR";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&link0_codec>;
simple-audio-card,frame-master = <&link0_codec>;
simple-audio-card,cpu {
sound-dai = <&i2s0 0>;
system-clock-frequency = <19200000>;
};
link0_codec: simple-audio-card,codec {
sound-dai = <&max98090>;
clocks = <&i2s0 CLK_I2S_CDCLK>;
};
};
};
&clock_audss {
assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
<&clock_audss EXYNOS_MOUT_I2S>,
<&clock_audss EXYNOS_DOUT_AUD_BUS>;
assigned-clock-parents = <&clock CLK_FIN_PLL>,
<&clock_audss EXYNOS_MOUT_AUDSS>;
assigned-clock-rates = <0>,
<0>,
<19200000>;
};
&fimd {
status = "okay";
};
&hdmi {
status = "okay";
hpd-gpio = <&gpx3 7 0>;
pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd_irq>;
vdd_osc-supply = <&ldo7_reg>;
vdd_pll-supply = <&ldo6_reg>;
vdd-supply = <&ldo6_reg>;
};
&hsi2c_4 {
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 = <&gpx0>;
interrupts = <4 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 = "vdd_ldo1";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo3_reg: LDO3 {
regulator-name = "vdd_ldo3";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo5_reg: LDO5 {
regulator-name = "vdd_ldo5";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo6_reg: LDO6 {
regulator-name = "vdd_ldo6";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo7_reg: LDO7 {
regulator-name = "vdd_ldo7";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo8_reg: LDO8 {
regulator-name = "vdd_ldo8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo9_reg: LDO9 {
regulator-name = "vdd_ldo9";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
};
ldo10_reg: LDO10 {
regulator-name = "vdd_ldo10";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo11_reg: LDO11 {
regulator-name = "vdd_ldo11";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo12_reg: LDO12 {
regulator-name = "vdd_ldo12";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo13_reg: LDO13 {
regulator-name = "vdd_ldo13";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
ldo15_reg: LDO15 {
regulator-name = "vdd_ldo15";
regulator-min-microvolt = <3100000>;
regulator-max-microvolt = <3100000>;
regulator-always-on;
};
ldo16_reg: LDO16 {
regulator-name = "vdd_ldo16";
regulator-min-microvolt = <2200000>;
regulator-max-microvolt = <2200000>;
regulator-always-on;
};
ldo17_reg: LDO17 {
regulator-name = "tsp_avdd";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
ldo19_reg: LDO19 {
regulator-name = "vdd_sd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
ldo24_reg: LDO24 {
regulator-name = "tsp_io";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
ldo26_reg: LDO26 {
regulator-name = "vdd_ldo26";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
};
buck1_reg: BUCK1 {
regulator-name = "vdd_mif";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-boot-on;
};
buck2_reg: BUCK2 {
regulator-name = "vdd_arm";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
};
buck3_reg: BUCK3 {
regulator-name = "vdd_int";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1400000>;
regulator-always-on;
regulator-boot-on;
};
buck4_reg: BUCK4 {
regulator-name = "vdd_g3d";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1400000>;
regulator-always-on;
regulator-boot-on;
};
buck5_reg: BUCK5 {
regulator-name = "vdd_mem";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1400000>;
regulator-always-on;
regulator-boot-on;
};
buck6_reg: BUCK6 {
regulator-name = "vdd_kfc";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
};
buck7_reg: BUCK7 {
regulator-name = "vdd_1.0v_ldo";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
};
buck8_reg: BUCK8 {
regulator-name = "vdd_1.8v_ldo";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
};
buck9_reg: BUCK9 {
regulator-name = "vdd_2.8v_ldo";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3750000>;
regulator-always-on;
regulator-boot-on;
};
buck10_reg: BUCK10 {
regulator-name = "vdd_vmem";
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
regulator-always-on;
regulator-boot-on;
};
};
};
};
&hsi2c_5 {
status = "okay";
max98090: max98090@10 {
compatible = "maxim,max98090";
reg = <0x10>;
interrupt-parent = <&gpx3>;
interrupts = <2 0>;
clocks = <&i2s0 CLK_I2S_CDCLK>;
clock-names = "mclk";
#sound-dai-cells = <0>;
};
};
&i2c_2 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
status = "okay";
hdmiddc@50 {
compatible = "samsung,exynos4210-hdmiddc";
reg = <0x50>;
};
};
&i2s0 {
status = "okay";
};
&mfc {
samsung,mfc-r = <0x43000000 0x800000>;
samsung,mfc-l = <0x51000000 0x800000>;
};
&mmc_0 {
status = "okay";
mmc-pwrseq = <&emmc_pwrseq>;
cd-gpios = <&gpc0 2 GPIO_ACTIVE_LOW>;
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_cd &sd0_rclk>;
bus-width = <8>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
};
&mmc_2 {
status = "okay";
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 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
bus-width = <4>;
cap-sd-highspeed;
};
&pinctrl_0 {
hdmi_hpd_irq: hdmi-hpd-irq {
samsung,pins = "gpx3-7";
samsung,pin-function = <0>;
samsung,pin-pud = <1>;
samsung,pin-drv = <0>;
};
s2mps11_irq: s2mps11-irq {
samsung,pins = "gpx0-4";
samsung,pin-function = <0xf>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
&pinctrl_1 {
emmc_nrst_pin: emmc-nrst {
samsung,pins = "gpd1-0";
samsung,pin-function = <0>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
&pwm {
/*
* PWM 0 -- fan
* PWM 1 -- Green LED
* PWM 2 -- Blue LED
* PWM 3 -- on MIPI connector for backlight
*/
pinctrl-0 = <&pwm0_out &pwm1_out &pwm2_out &pwm3_out>;
pinctrl-names = "default";
status = "okay";
};
&rtc {
status = "okay";
clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
clock-names = "rtc", "rtc_src";
};
&usbdrd_dwc3_0 {
dr_mode = "host";
};
&usbdrd_dwc3_1 {
dr_mode = "otg";
};
/*
* Hardkernel Odroid XU3-Lite board device tree source
*
* Copyright (c) 2015 Krzysztof Kozlowski
* Copyright (c) 2014 Collabora Ltd.
* Copyright (c) 2013 Samsung Electronics Co., Ltd.
* http://www.samsung.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/dts-v1/;
#include "exynos5422-odroidxu3-common.dtsi"
/ {
model = "Hardkernel Odroid XU3 Lite";
compatible = "hardkernel,odroid-xu3-lite", "samsung,exynos5800", "samsung,exynos5";
};
...@@ -11,433 +11,11 @@ ...@@ -11,433 +11,11 @@
*/ */
/dts-v1/; /dts-v1/;
#include <dt-bindings/clock/samsung,s2mps11.h> #include "exynos5422-odroidxu3-common.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/sound/samsung-i2s.h>
#include "exynos5800.dtsi"
/ { / {
model = "Hardkernel Odroid XU3"; model = "Hardkernel Odroid XU3";
compatible = "hardkernel,odroid-xu3", "samsung,exynos5800", "samsung,exynos5"; compatible = "hardkernel,odroid-xu3", "samsung,exynos5800", "samsung,exynos5";
memory {
reg = <0x40000000 0x7EA00000>;
};
chosen {
linux,stdout-path = &serial_2;
};
fimd@14400000 {
status = "okay";
};
firmware@02073000 {
compatible = "samsung,secure-firmware";
reg = <0x02073000 0x1000>;
};
fixed-rate-clocks {
oscclk {
compatible = "samsung,exynos5420-oscclk";
clock-frequency = <24000000>;
};
};
hsi2c_4: i2c@12CA0000 {
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>;
s2mps11_osc: clocks {
#clock-cells = <1>;
clock-output-names = "s2mps11_ap",
"s2mps11_cp", "s2mps11_bt";
};
regulators {
ldo1_reg: LDO1 {
regulator-name = "vdd_ldo1";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo3_reg: LDO3 {
regulator-name = "vdd_ldo3";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo5_reg: LDO5 {
regulator-name = "vdd_ldo5";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo6_reg: LDO6 {
regulator-name = "vdd_ldo6";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo7_reg: LDO7 {
regulator-name = "vdd_ldo7";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo8_reg: LDO8 {
regulator-name = "vdd_ldo8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo9_reg: LDO9 {
regulator-name = "vdd_ldo9";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
};
ldo10_reg: LDO10 {
regulator-name = "vdd_ldo10";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo11_reg: LDO11 {
regulator-name = "vdd_ldo11";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo12_reg: LDO12 {
regulator-name = "vdd_ldo12";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo13_reg: LDO13 {
regulator-name = "vdd_ldo13";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
ldo15_reg: LDO15 {
regulator-name = "vdd_ldo15";
regulator-min-microvolt = <3100000>;
regulator-max-microvolt = <3100000>;
regulator-always-on;
};
ldo16_reg: LDO16 {
regulator-name = "vdd_ldo16";
regulator-min-microvolt = <2200000>;
regulator-max-microvolt = <2200000>;
regulator-always-on;
};
ldo17_reg: LDO17 {
regulator-name = "tsp_avdd";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
ldo19_reg: LDO19 {
regulator-name = "vdd_sd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
ldo24_reg: LDO24 {
regulator-name = "tsp_io";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
ldo26_reg: LDO26 {
regulator-name = "vdd_ldo26";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
};
buck1_reg: BUCK1 {
regulator-name = "vdd_mif";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-boot-on;
};
buck2_reg: BUCK2 {
regulator-name = "vdd_arm";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
};
buck3_reg: BUCK3 {
regulator-name = "vdd_int";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1400000>;
regulator-always-on;
regulator-boot-on;
};
buck4_reg: BUCK4 {
regulator-name = "vdd_g3d";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1400000>;
regulator-always-on;
regulator-boot-on;
};
buck5_reg: BUCK5 {
regulator-name = "vdd_mem";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1400000>;
regulator-always-on;
regulator-boot-on;
};
buck6_reg: BUCK6 {
regulator-name = "vdd_kfc";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
};
buck7_reg: BUCK7 {
regulator-name = "vdd_1.0v_ldo";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
};
buck8_reg: BUCK8 {
regulator-name = "vdd_1.8v_ldo";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
};
buck9_reg: BUCK9 {
regulator-name = "vdd_2.8v_ldo";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3750000>;
regulator-always-on;
regulator-boot-on;
};
buck10_reg: BUCK10 {
regulator-name = "vdd_vmem";
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
regulator-always-on;
regulator-boot-on;
};
};
};
};
emmc_pwrseq: pwrseq {
pinctrl-0 = <&emmc_nrst_pin>;
pinctrl-names = "default";
compatible = "mmc-pwrseq-emmc";
reset-gpios = <&gpd1 0 1>;
};
i2c_2: i2c@12C80000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
status = "okay";
hdmiddc@50 {
compatible = "samsung,exynos4210-hdmiddc";
reg = <0x50>;
};
};
leds {
compatible = "gpio-leds";
heartbeat {
label = "blue:heartbeart";
gpios = <&gpb2 2 0>;
default-state = "off";
linux,default-trigger = "heartbeat";
};
eMMC {
label = "green:eMMC";
gpios = <&gpb2 1 0>;
default-state = "off";
linux,default-trigger = "mmc0";
};
microSD {
label = "red:microSD";
gpios = <&gpx2 3 0>;
default-state = "off";
linux,default-trigger = "mmc1";
};
};
sound: sound {
compatible = "simple-audio-card";
simple-audio-card,name = "Odroid-XU3";
simple-audio-card,widgets =
"Headphone", "Headphone Jack",
"Speakers", "Speakers";
simple-audio-card,routing =
"Headphone Jack", "HPL",
"Headphone Jack", "HPR",
"Headphone Jack", "MICBIAS",
"IN1", "Headphone Jack",
"Speakers", "SPKL",
"Speakers", "SPKR";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&link0_codec>;
simple-audio-card,frame-master = <&link0_codec>;
simple-audio-card,cpu {
sound-dai = <&i2s0 0>;
system-clock-frequency = <19200000>;
};
link0_codec: simple-audio-card,codec {
sound-dai = <&max98090>;
clocks = <&i2s0 CLK_I2S_CDCLK>;
};
};
};
&clock_audss {
assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
<&clock_audss EXYNOS_MOUT_I2S>,
<&clock_audss EXYNOS_DOUT_AUD_BUS>;
assigned-clock-parents = <&clock CLK_FIN_PLL>,
<&clock_audss EXYNOS_MOUT_AUDSS>;
assigned-clock-rates = <0>,
<0>,
<19200000>;
};
&hsi2c_5 {
status = "okay";
max98090: max98090@10 {
compatible = "maxim,max98090";
reg = <0x10>;
interrupt-parent = <&gpx3>;
interrupts = <2 0>;
clocks = <&i2s0 CLK_I2S_CDCLK>;
clock-names = "mclk";
#sound-dai-cells = <0>;
};
};
&i2s0 {
status = "okay";
};
&hdmi {
status = "okay";
hpd-gpio = <&gpx3 7 0>;
pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd_irq>;
vdd_osc-supply = <&ldo7_reg>;
vdd_pll-supply = <&ldo6_reg>;
vdd-supply = <&ldo6_reg>;
};
&mfc {
samsung,mfc-r = <0x43000000 0x800000>;
samsung,mfc-l = <0x51000000 0x800000>;
};
&mmc_0 {
status = "okay";
mmc-pwrseq = <&emmc_pwrseq>;
cd-gpios = <&gpc0 2 GPIO_ACTIVE_LOW>;
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_cd &sd0_rclk>;
bus-width = <8>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
};
&mmc_2 {
status = "okay";
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 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
bus-width = <4>;
cap-sd-highspeed;
};
&pinctrl_0 {
hdmi_hpd_irq: hdmi-hpd-irq {
samsung,pins = "gpx3-7";
samsung,pin-function = <0>;
samsung,pin-pud = <1>;
samsung,pin-drv = <0>;
};
};
&pinctrl_1 {
emmc_nrst_pin: emmc-nrst {
samsung,pins = "gpd1-0";
samsung,pin-function = <0>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
&usbdrd_dwc3_0 {
dr_mode = "host";
};
&usbdrd_dwc3_1 {
dr_mode = "otg";
}; };
&i2c_0 { &i2c_0 {
...@@ -471,9 +49,3 @@ ina231@45 { ...@@ -471,9 +49,3 @@ ina231@45 {
shunt-resistor = <10000>; shunt-resistor = <10000>;
}; };
}; };
&rtc {
status = "okay";
clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
clock-names = "rtc", "rtc_src";
};
...@@ -27,13 +27,13 @@ xtal { ...@@ -27,13 +27,13 @@ xtal {
}; };
}; };
gmac: ethernet@00230000 {
fixed_phy;
phy_addr = <1>;
};
spi { spi {
status = "disabled"; status = "disabled";
}; };
}; };
&gmac {
fixed_phy;
phy_addr = <1>;
};
...@@ -20,8 +20,25 @@ chosen { ...@@ -20,8 +20,25 @@ chosen {
bootargs = "root=/dev/sda2 rw rootwait ignore_loglevel earlyprintk no_console_suspend mem=2048M@0x80000000 mem=6144M@0x100000000 console=ttySAC0,115200"; bootargs = "root=/dev/sda2 rw rootwait ignore_loglevel earlyprintk no_console_suspend mem=2048M@0x80000000 mem=6144M@0x100000000 console=ttySAC0,115200";
}; };
spi_0: spi@D0000 { fixed-rate-clocks {
xtal {
compatible = "samsung,clock-xtal";
clock-frequency = <50000000>;
};
};
};
&pcie_0 {
reset-gpio = <&pin_ctrl 5 0>;
status = "okay";
};
&pcie_1 {
reset-gpio = <&pin_ctrl 22 0>;
status = "okay";
};
&spi_0 {
flash: w25q128@0 { flash: w25q128@0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
...@@ -57,22 +74,4 @@ partition@ae0000 { ...@@ -57,22 +74,4 @@ partition@ae0000 {
}; };
};
fixed-rate-clocks {
xtal {
compatible = "samsung,clock-xtal";
clock-frequency = <50000000>;
};
};
pcie@290000 {
reset-gpio = <&pin_ctrl 5 0>;
status = "okay";
};
pcie@2a0000 {
reset-gpio = <&pin_ctrl 22 0>;
status = "okay";
};
}; };
...@@ -279,7 +279,7 @@ ehci@221000 { ...@@ -279,7 +279,7 @@ ehci@221000 {
clock-names = "usbhost"; clock-names = "usbhost";
}; };
pcie@290000 { pcie_0: pcie@290000 {
compatible = "samsung,exynos5440-pcie", "snps,dw-pcie"; compatible = "samsung,exynos5440-pcie", "snps,dw-pcie";
reg = <0x290000 0x1000 reg = <0x290000 0x1000
0x270000 0x1000 0x270000 0x1000
...@@ -300,7 +300,7 @@ pcie@290000 { ...@@ -300,7 +300,7 @@ pcie@290000 {
status = "disabled"; status = "disabled";
}; };
pcie@2a0000 { pcie_1: pcie@2a0000 {
compatible = "samsung,exynos5440-pcie", "snps,dw-pcie"; compatible = "samsung,exynos5440-pcie", "snps,dw-pcie";
reg = <0x2a0000 0x1000 reg = <0x2a0000 0x1000
0x272000 0x1000 0x272000 0x1000
......
...@@ -990,7 +990,7 @@ charger { ...@@ -990,7 +990,7 @@ charger {
}; };
}; };
&uart_3 { &serial_3 {
status = "okay"; status = "okay";
}; };
......
...@@ -31,55 +31,55 @@ xti: xti { ...@@ -31,55 +31,55 @@ xti: xti {
#clock-cells = <0>; #clock-cells = <0>;
}; };
}; };
};
serial@50000000 { &rtc {
status = "okay"; status = "okay";
pinctrl-names = "default"; };
pinctrl-0 = <&uart0_data>, <&uart0_fctl>;
};
serial@50004000 { &sdhci_0 {
pinctrl-names = "default";
pinctrl-0 = <&sd1_clk>, <&sd1_cmd>,
<&sd1_bus1>, <&sd1_bus4>;
bus-width = <4>;
broken-cd;
status = "okay"; status = "okay";
};
&sdhci_1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart1_data>, <&uart1_fctl>; pinctrl-0 = <&sd0_clk>, <&sd0_cmd>,
}; <&sd0_bus1>, <&sd0_bus4>;
bus-width = <4>;
cd-gpios = <&gpf 1 0>;
cd-inverted;
status = "okay";
};
serial@50008000 { &uart_0 {
status = "okay"; status = "okay";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart2_data>; pinctrl-0 = <&uart0_data>, <&uart0_fctl>;
}; };
serial@5000C000 { &uart_1 {
status = "okay"; status = "okay";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart3_data>; pinctrl-0 = <&uart1_data>, <&uart1_fctl>;
}; };
watchdog@53000000 { &uart_2 {
status = "okay"; status = "okay";
}; pinctrl-names = "default";
pinctrl-0 = <&uart2_data>;
};
rtc@57000000 { &uart_3 {
status = "okay"; status = "okay";
};
sdhci@4AC00000 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, pinctrl-0 = <&uart3_data>;
<&sd0_bus1>, <&sd0_bus4>; };
bus-width = <4>;
cd-gpios = <&gpf 1 0>;
cd-inverted;
status = "okay";
};
sdhci@4A800000 { &watchdog {
pinctrl-names = "default";
pinctrl-0 = <&sd1_clk>, <&sd1_cmd>,
<&sd1_bus1>, <&sd1_bus4>;
bus-width = <4>;
broken-cd;
status = "okay"; status = "okay";
};
}; };
...@@ -17,7 +17,7 @@ / { ...@@ -17,7 +17,7 @@ / {
compatible = "samsung,s3c2416"; compatible = "samsung,s3c2416";
aliases { aliases {
serial3 = &uart3; serial3 = &uart_3;
}; };
cpus { cpus {
...@@ -48,7 +48,7 @@ timer@51000000 { ...@@ -48,7 +48,7 @@ timer@51000000 {
clock-names = "timers"; clock-names = "timers";
}; };
serial@50000000 { uart_0: serial@50000000 {
compatible = "samsung,s3c2440-uart"; compatible = "samsung,s3c2440-uart";
clock-names = "uart", "clk_uart_baud2", clock-names = "uart", "clk_uart_baud2",
"clk_uart_baud3"; "clk_uart_baud3";
...@@ -56,7 +56,7 @@ serial@50000000 { ...@@ -56,7 +56,7 @@ serial@50000000 {
<&clocks SCLK_UART>; <&clocks SCLK_UART>;
}; };
serial@50004000 { uart_1: serial@50004000 {
compatible = "samsung,s3c2440-uart"; compatible = "samsung,s3c2440-uart";
clock-names = "uart", "clk_uart_baud2", clock-names = "uart", "clk_uart_baud2",
"clk_uart_baud3"; "clk_uart_baud3";
...@@ -64,7 +64,7 @@ serial@50004000 { ...@@ -64,7 +64,7 @@ serial@50004000 {
<&clocks SCLK_UART>; <&clocks SCLK_UART>;
}; };
serial@50008000 { uart_2: serial@50008000 {
compatible = "samsung,s3c2440-uart"; compatible = "samsung,s3c2440-uart";
clock-names = "uart", "clk_uart_baud2", clock-names = "uart", "clk_uart_baud2",
"clk_uart_baud3"; "clk_uart_baud3";
...@@ -72,7 +72,7 @@ serial@50008000 { ...@@ -72,7 +72,7 @@ serial@50008000 {
<&clocks SCLK_UART>; <&clocks SCLK_UART>;
}; };
uart3: serial@5000C000 { uart_3: serial@5000C000 {
compatible = "samsung,s3c2440-uart"; compatible = "samsung,s3c2440-uart";
reg = <0x5000C000 0x4000>; reg = <0x5000C000 0x4000>;
interrupts = <1 18 24 4>, <1 18 25 4>; interrupts = <1 18 24 4>, <1 18 25 4>;
...@@ -83,7 +83,7 @@ uart3: serial@5000C000 { ...@@ -83,7 +83,7 @@ uart3: serial@5000C000 {
status = "disabled"; status = "disabled";
}; };
sdhci@4AC00000 { sdhci_1: sdhci@4AC00000 {
compatible = "samsung,s3c6410-sdhci"; compatible = "samsung,s3c6410-sdhci";
reg = <0x4AC00000 0x100>; reg = <0x4AC00000 0x100>;
interrupts = <0 0 21 3>; interrupts = <0 0 21 3>;
...@@ -94,7 +94,7 @@ sdhci@4AC00000 { ...@@ -94,7 +94,7 @@ sdhci@4AC00000 {
status = "disabled"; status = "disabled";
}; };
sdhci@4A800000 { sdhci_0: sdhci@4A800000 {
compatible = "samsung,s3c6410-sdhci"; compatible = "samsung,s3c6410-sdhci";
reg = <0x4A800000 0x100>; reg = <0x4A800000 0x100>;
interrupts = <0 0 20 3>; interrupts = <0 0 20 3>;
...@@ -105,13 +105,13 @@ sdhci@4A800000 { ...@@ -105,13 +105,13 @@ sdhci@4A800000 {
status = "disabled"; status = "disabled";
}; };
watchdog@53000000 { watchdog: watchdog@53000000 {
interrupts = <1 9 27 3>; interrupts = <1 9 27 3>;
clocks = <&clocks PCLK_WDT>; clocks = <&clocks PCLK_WDT>;
clock-names = "watchdog"; clock-names = "watchdog";
}; };
rtc@57000000 { rtc: rtc@57000000 {
compatible = "samsung,s3c2416-rtc"; compatible = "samsung,s3c2416-rtc";
clocks = <&clocks PCLK_RTC>; clocks = <&clocks PCLK_RTC>;
clock-names = "rtc"; clock-names = "rtc";
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment