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,209 +50,6 @@ mmc_reg: regulator@0 { ...@@ -50,209 +50,6 @@ mmc_reg: regulator@0 {
}; };
}; };
watchdog@10060000 {
status = "okay";
};
rtc@10070000 {
status = "okay";
};
tmu@100C0000 {
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";
};
sdhci@12510000 {
bus-width = <4>;
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_cd>;
pinctrl-names = "default";
vmmc-supply = <&mmc_reg>;
status = "okay";
};
g2d@12800000 {
status = "okay";
};
codec@13400000 {
samsung,mfc-r = <0x43000000 0x800000>;
samsung,mfc-l = <0x51000000 0x800000>;
status = "okay";
};
serial@13800000 {
status = "okay";
};
serial@13810000 {
status = "okay";
};
serial@13820000 {
status = "okay";
};
serial@13830000 {
status = "okay";
};
i2c@13860000 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <20000>;
pinctrl-0 = <&i2c0_bus>;
pinctrl-names = "default";
max8997_pmic@66 {
compatible = "maxim,max8997-pmic";
reg = <0x66>;
interrupt-parent = <&gpx0>;
interrupts = <4 0>, <3 0>;
max8997,pmic-buck1-dvs-voltage = <1350000>;
max8997,pmic-buck2-dvs-voltage = <1100000>;
max8997,pmic-buck5-dvs-voltage = <1200000>;
regulators {
ldo1_reg: LDO1 {
regulator-name = "VDD_ABB_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
ldo2_reg: LDO2 {
regulator-name = "VDD_ALIVE_1.1V";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
};
ldo3_reg: LDO3 {
regulator-name = "VMIPI_1.1V";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
};
ldo4_reg: LDO4 {
regulator-name = "VDD_RTC_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo6_reg: LDO6 {
regulator-name = "VMIPI_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo7_reg: LDO7 {
regulator-name = "VDD_AUD_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo8_reg: LDO8 {
regulator-name = "VADC_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
ldo9_reg: LDO9 {
regulator-name = "DVDD_SWB_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
ldo10_reg: LDO10 {
regulator-name = "VDD_PLL_1.1V";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
};
ldo11_reg: LDO11 {
regulator-name = "VDD_AUD_3V";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
};
ldo14_reg: LDO14 {
regulator-name = "AVDD18_SWB_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo17_reg: LDO17 {
regulator-name = "VDD_SWB_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
ldo21_reg: LDO21 {
regulator-name = "VDD_MIF_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
buck1_reg: BUCK1 {
/*
* HACK: The real name is VDD_ARM_1.2V,
* but exynos-cpufreq does not support
* DT-based regulator lookup yet.
*/
regulator-name = "vdd_arm";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1350000>;
regulator-always-on;
regulator-boot-on;
};
buck2_reg: BUCK2 {
regulator-name = "VDD_INT_1.1V";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
regulator-boot-on;
};
buck3_reg: BUCK3 {
regulator-name = "VDD_G3D_1.1V";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1100000>;
};
buck5_reg: BUCK5 {
regulator-name = "VDDQ_M1M2_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
buck7_reg: BUCK7 {
regulator-name = "VDD_LCD_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
};
};
};
gpio_keys { gpio_keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
#address-cells = <1>; #address-cells = <1>;
...@@ -314,12 +111,6 @@ xusbxti { ...@@ -314,12 +111,6 @@ xusbxti {
}; };
}; };
fimd@11c00000 {
pinctrl-0 = <&lcd_en &lcd_clk &lcd_data24 &pwm0_out>;
pinctrl-names = "default";
status = "okay";
};
display-timings { display-timings {
native-mode = <&timing0>; native-mode = <&timing0>;
timing0: timing { timing0: timing {
...@@ -335,3 +126,212 @@ timing0: timing { ...@@ -335,3 +126,212 @@ timing0: timing {
}; };
}; };
}; };
&fimd {
pinctrl-0 = <&lcd_en &lcd_clk &lcd_data24 &pwm0_out>;
pinctrl-names = "default";
status = "okay";
};
&g2d {
status = "okay";
};
&i2c_0 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <20000>;
pinctrl-0 = <&i2c0_bus>;
pinctrl-names = "default";
max8997_pmic@66 {
compatible = "maxim,max8997-pmic";
reg = <0x66>;
interrupt-parent = <&gpx0>;
interrupts = <4 0>, <3 0>;
max8997,pmic-buck1-dvs-voltage = <1350000>;
max8997,pmic-buck2-dvs-voltage = <1100000>;
max8997,pmic-buck5-dvs-voltage = <1200000>;
regulators {
ldo1_reg: LDO1 {
regulator-name = "VDD_ABB_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
ldo2_reg: LDO2 {
regulator-name = "VDD_ALIVE_1.1V";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
};
ldo3_reg: LDO3 {
regulator-name = "VMIPI_1.1V";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
};
ldo4_reg: LDO4 {
regulator-name = "VDD_RTC_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo6_reg: LDO6 {
regulator-name = "VMIPI_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo7_reg: LDO7 {
regulator-name = "VDD_AUD_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo8_reg: LDO8 {
regulator-name = "VADC_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
ldo9_reg: LDO9 {
regulator-name = "DVDD_SWB_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
ldo10_reg: LDO10 {
regulator-name = "VDD_PLL_1.1V";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
};
ldo11_reg: LDO11 {
regulator-name = "VDD_AUD_3V";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
};
ldo14_reg: LDO14 {
regulator-name = "AVDD18_SWB_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo17_reg: LDO17 {
regulator-name = "VDD_SWB_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
ldo21_reg: LDO21 {
regulator-name = "VDD_MIF_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
buck1_reg: BUCK1 {
/*
* HACK: The real name is VDD_ARM_1.2V,
* but exynos-cpufreq does not support
* DT-based regulator lookup yet.
*/
regulator-name = "vdd_arm";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1350000>;
regulator-always-on;
regulator-boot-on;
};
buck2_reg: BUCK2 {
regulator-name = "VDD_INT_1.1V";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
regulator-boot-on;
};
buck3_reg: BUCK3 {
regulator-name = "VDD_G3D_1.1V";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1100000>;
};
buck5_reg: BUCK5 {
regulator-name = "VDDQ_M1M2_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
buck7_reg: BUCK7 {
regulator-name = "VDD_LCD_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
};
};
};
};
&mfc {
samsung,mfc-r = <0x43000000 0x800000>;
samsung,mfc-l = <0x51000000 0x800000>;
status = "okay";
};
&sdhci_0 {
bus-width = <4>;
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_cd>;
pinctrl-names = "default";
vmmc-supply = <&mmc_reg>;
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";
};
&rtc {
status = "okay";
};
&tmu {
status = "okay";
};
&watchdog {
status = "okay";
};
...@@ -30,181 +30,181 @@ chosen { ...@@ -30,181 +30,181 @@ 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 { xusbxti {
status = "okay"; compatible = "samsung,clock-xusbxti";
clock-frequency = <24000000>;
};
}; };
};
codec@13400000 { &g2d {
samsung,mfc-r = <0x43000000 0x800000>; status = "okay";
samsung,mfc-l = <0x51000000 0x800000>; };
status = "okay";
};
serial@13800000 { &i2c_0 {
status = "okay"; #address-cells = <1>;
}; #size-cells = <0>;
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <100000>;
status = "okay";
serial@13810000 { eeprom@50 {
status = "okay"; compatible = "samsung,24ad0xd1";
reg = <0x50>;
}; };
serial@13820000 { eeprom@52 {
status = "okay"; compatible = "samsung,24ad0xd1";
reg = <0x52>;
}; };
};
serial@13830000 { &keypad {
status = "okay"; samsung,keypad-num-rows = <2>;
samsung,keypad-num-columns = <8>;
linux,keypad-no-autorepeat;
linux,keypad-wakeup;
pinctrl-names = "default";
pinctrl-0 = <&keypad_rows &keypad_cols>;
status = "okay";
key_1 {
keypad,row = <0>;
keypad,column = <3>;
linux,code = <2>;
}; };
pinctrl@11000000 { key_2 {
keypad_rows: keypad-rows { keypad,row = <0>;
samsung,pins = "gpx2-0", "gpx2-1"; keypad,column = <4>;
samsung,pin-function = <3>; linux,code = <3>;
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
};
keypad_cols: keypad-cols {
samsung,pins = "gpx1-0", "gpx1-1", "gpx1-2", "gpx1-3",
"gpx1-4", "gpx1-5", "gpx1-6", "gpx1-7";
samsung,pin-function = <3>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
}; };
keypad@100A0000 { key_3 {
samsung,keypad-num-rows = <2>; keypad,row = <0>;
samsung,keypad-num-columns = <8>; keypad,column = <5>;
linux,keypad-no-autorepeat; linux,code = <4>;
linux,keypad-wakeup; };
pinctrl-names = "default";
pinctrl-0 = <&keypad_rows &keypad_cols>;
status = "okay";
key_1 { key_4 {
keypad,row = <0>; keypad,row = <0>;
keypad,column = <3>; keypad,column = <6>;
linux,code = <2>; linux,code = <5>;
}; };
key_2 { key_5 {
keypad,row = <0>; keypad,row = <0>;
keypad,column = <4>; keypad,column = <7>;
linux,code = <3>; linux,code = <6>;
}; };
key_3 { key_a {
keypad,row = <0>; keypad,row = <1>;
keypad,column = <5>; keypad,column = <3>;
linux,code = <4>; linux,code = <30>;
}; };
key_4 { key_b {
keypad,row = <0>; keypad,row = <1>;
keypad,column = <6>; keypad,column = <4>;
linux,code = <5>; linux,code = <48>;
}; };
key_5 { key_c {
keypad,row = <0>; keypad,row = <1>;
keypad,column = <7>; keypad,column = <5>;
linux,code = <6>; linux,code = <46>;
}; };
key_a { key_d {
keypad,row = <1>; keypad,row = <1>;
keypad,column = <3>; keypad,column = <6>;
linux,code = <30>; linux,code = <32>;
}; };
key_b { key_e {
keypad,row = <1>; keypad,row = <1>;
keypad,column = <4>; keypad,column = <7>;
linux,code = <48>; linux,code = <18>;
}; };
};
key_c { &mfc {
keypad,row = <1>; samsung,mfc-r = <0x43000000 0x800000>;
keypad,column = <5>; samsung,mfc-l = <0x51000000 0x800000>;
linux,code = <46>; status = "okay";
}; };
key_d { &pinctrl_1 {
keypad,row = <1>; keypad_rows: keypad-rows {
keypad,column = <6>; samsung,pins = "gpx2-0", "gpx2-1";
linux,code = <32>; samsung,pin-function = <3>;
}; samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
};
key_e { keypad_cols: keypad-cols {
keypad,row = <1>; samsung,pins = "gpx1-0", "gpx1-1", "gpx1-2", "gpx1-3",
keypad,column = <7>; "gpx1-4", "gpx1-5", "gpx1-6", "gpx1-7";
linux,code = <18>; samsung,pin-function = <3>;
}; samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
}; };
};
i2c@13860000 { &sdhci_2 {
#address-cells = <1>; bus-width = <4>;
#size-cells = <0>; pinctrl-names = "default";
samsung,i2c-sda-delay = <100>; pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
samsung,i2c-max-bus-freq = <100000>; status = "okay";
status = "okay"; };
eeprom@50 {
compatible = "samsung,24ad0xd1";
reg = <0x50>;
};
eeprom@52 { &serial_0 {
compatible = "samsung,24ad0xd1"; status = "okay";
reg = <0x52>; };
};
};
spi_2: spi@13940000 { &serial_1 {
cs-gpios = <&gpc1 2 0>; status = "okay";
status = "okay"; };
w25x80@0 { &serial_2 {
#address-cells = <1>; status = "okay";
#size-cells = <1>; };
compatible = "w25x80";
reg = <0>;
spi-max-frequency = <1000000>;
controller-data { &serial_3 {
samsung,spi-feedback-delay = <0>; status = "okay";
}; };
partition@0 { &spi_2 {
label = "U-Boot"; cs-gpios = <&gpc1 2 0>;
reg = <0x0 0x40000>; status = "okay";
read-only;
};
partition@40000 { w25x80@0 {
label = "Kernel"; #address-cells = <1>;
reg = <0x40000 0xc0000>; #size-cells = <1>;
}; compatible = "w25x80";
reg = <0>;
spi-max-frequency = <1000000>;
controller-data {
samsung,spi-feedback-delay = <0>;
}; };
};
fixed-rate-clocks { partition@0 {
xxti { label = "U-Boot";
compatible = "samsung,clock-xxti"; reg = <0x0 0x40000>;
clock-frequency = <12000000>; read-only;
}; };
xusbxti { partition@40000 {
compatible = "samsung,clock-xusbxti"; label = "Kernel";
clock-frequency = <24000000>; reg = <0x40000 0xc0000>;
}; };
}; };
}; };
...@@ -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,201 +122,6 @@ ok-key { ...@@ -158,201 +122,6 @@ ok-key {
}; };
}; };
i2c@13890000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <400000>;
pinctrl-0 = <&i2c3_bus>;
pinctrl-names = "default";
status = "okay";
mms114-touchscreen@48 {
compatible = "melfas,mms114";
reg = <0x48>;
interrupt-parent = <&gpx0>;
interrupts = <4 2>;
x-size = <720>;
y-size = <1280>;
avdd-supply = <&tsp_reg>;
vdd-supply = <&tsp_reg>;
};
};
i2c@138B0000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <100000>;
pinctrl-0 = <&i2c5_bus>;
pinctrl-names = "default";
status = "okay";
max8997_pmic@66 {
compatible = "maxim,max8997-pmic";
reg = <0x66>;
max8997,pmic-buck1-uses-gpio-dvs;
max8997,pmic-buck2-uses-gpio-dvs;
max8997,pmic-buck5-uses-gpio-dvs;
max8997,pmic-ignore-gpiodvs-side-effect;
max8997,pmic-buck125-default-dvs-idx = <0>;
max8997,pmic-buck125-dvs-gpios = <&gpx0 5 0>,
<&gpx0 6 0>,
<&gpl0 0 0>;
max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
<1250000>, <1200000>,
<1150000>, <1100000>,
<1000000>, <950000>;
max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
<950000>, <900000>,
<1100000>, <1000000>,
<950000>, <900000>;
max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
<1200000>, <1200000>,
<1200000>, <1200000>,
<1200000>, <1200000>;
regulators {
valive_reg: LDO2 {
regulator-name = "VALIVE_1.1V_C210";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
};
vusb_reg: LDO3 {
regulator-name = "VUSB_1.1V_C210";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
};
vmipi_reg: LDO4 {
regulator-name = "VMIPI_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
vpda_reg: LDO6 {
regulator-name = "VCC_1.8V_PDA";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
vcam_reg: LDO7 {
regulator-name = "CAM_ISP_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
vusbdac_reg: LDO8 {
regulator-name = "VUSB/VDAC_3.3V_C210";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
vccpda_reg: LDO9 {
regulator-name = "VCC_2.8V_PDA";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
vpll_reg: LDO10 {
regulator-name = "VPLL_1.1V_C210";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
};
vtcam_reg: LDO12 {
regulator-name = "VT_CAM_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
vcclcd_reg: LDO13 {
regulator-name = "VCC_3.3V_LCD";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
vlcd_reg: LDO15 {
regulator-name = "VLCD_2.2V";
regulator-min-microvolt = <2200000>;
regulator-max-microvolt = <2200000>;
};
camsensor_reg: LDO16 {
regulator-name = "CAM_SENSOR_IO_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
vddq_reg: LDO21 {
regulator-name = "VDDQ_M1M2_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
varm_breg: BUCK1 {
/*
* HACK: The real name is VARM_1.2V_C210,
* but exynos-cpufreq does not support
* DT-based regulator lookup yet.
*/
regulator-name = "vdd_arm";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1350000>;
regulator-always-on;
};
vint_breg: BUCK2 {
regulator-name = "VINT_1.1V_C210";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
};
camisp_breg: BUCK4 {
regulator-name = "CAM_ISP_CORE_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
vmem_breg: BUCK5 {
regulator-name = "VMEM_1.2V_C210";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
vccsub_breg: BUCK7 {
regulator-name = "VCC_SUB_2.0V";
regulator-min-microvolt = <2000000>;
regulator-max-microvolt = <2000000>;
regulator-always-on;
};
safe1_sreg: ESAFEOUT1 {
regulator-name = "SAFEOUT1";
regulator-always-on;
};
safe2_sreg: ESAFEOUT2 {
regulator-name = "SAFEOUT2";
regulator-boot-on;
};
};
};
};
fixed-rate-clocks { fixed-rate-clocks {
xxti { xxti {
compatible = "samsung,clock-xxti"; compatible = "samsung,clock-xxti";
...@@ -365,71 +134,6 @@ xusbxti { ...@@ -365,71 +134,6 @@ xusbxti {
}; };
}; };
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 {
status = "okay";
};
thermal-zones { thermal-zones {
cpu_thermal: cpu-thermal { cpu_thermal: cpu-thermal {
cooling-maps { cooling-maps {
...@@ -483,3 +187,299 @@ fimc_3: fimc@11830000 { ...@@ -483,3 +187,299 @@ fimc_3: fimc@11830000 {
}; };
}; };
}; };
&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-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <400000>;
pinctrl-0 = <&i2c3_bus>;
pinctrl-names = "default";
status = "okay";
mms114-touchscreen@48 {
compatible = "melfas,mms114";
reg = <0x48>;
interrupt-parent = <&gpx0>;
interrupts = <4 2>;
x-size = <720>;
y-size = <1280>;
avdd-supply = <&tsp_reg>;
vdd-supply = <&tsp_reg>;
};
};
&i2c_5 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <100000>;
pinctrl-0 = <&i2c5_bus>;
pinctrl-names = "default";
status = "okay";
max8997_pmic@66 {
compatible = "maxim,max8997-pmic";
reg = <0x66>;
max8997,pmic-buck1-uses-gpio-dvs;
max8997,pmic-buck2-uses-gpio-dvs;
max8997,pmic-buck5-uses-gpio-dvs;
max8997,pmic-ignore-gpiodvs-side-effect;
max8997,pmic-buck125-default-dvs-idx = <0>;
max8997,pmic-buck125-dvs-gpios = <&gpx0 5 0>,
<&gpx0 6 0>,
<&gpl0 0 0>;
max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
<1250000>, <1200000>,
<1150000>, <1100000>,
<1000000>, <950000>;
max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
<950000>, <900000>,
<1100000>, <1000000>,
<950000>, <900000>;
max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
<1200000>, <1200000>,
<1200000>, <1200000>,
<1200000>, <1200000>;
regulators {
valive_reg: LDO2 {
regulator-name = "VALIVE_1.1V_C210";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
};
vusb_reg: LDO3 {
regulator-name = "VUSB_1.1V_C210";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
};
vmipi_reg: LDO4 {
regulator-name = "VMIPI_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
vpda_reg: LDO6 {
regulator-name = "VCC_1.8V_PDA";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
vcam_reg: LDO7 {
regulator-name = "CAM_ISP_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
vusbdac_reg: LDO8 {
regulator-name = "VUSB/VDAC_3.3V_C210";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
vccpda_reg: LDO9 {
regulator-name = "VCC_2.8V_PDA";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
vpll_reg: LDO10 {
regulator-name = "VPLL_1.1V_C210";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
};
vtcam_reg: LDO12 {
regulator-name = "VT_CAM_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
vcclcd_reg: LDO13 {
regulator-name = "VCC_3.3V_LCD";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
vlcd_reg: LDO15 {
regulator-name = "VLCD_2.2V";
regulator-min-microvolt = <2200000>;
regulator-max-microvolt = <2200000>;
};
camsensor_reg: LDO16 {
regulator-name = "CAM_SENSOR_IO_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
vddq_reg: LDO21 {
regulator-name = "VDDQ_M1M2_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
varm_breg: BUCK1 {
/*
* HACK: The real name is VARM_1.2V_C210,
* but exynos-cpufreq does not support
* DT-based regulator lookup yet.
*/
regulator-name = "vdd_arm";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1350000>;
regulator-always-on;
};
vint_breg: BUCK2 {
regulator-name = "VINT_1.1V_C210";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
};
camisp_breg: BUCK4 {
regulator-name = "CAM_ISP_CORE_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
vmem_breg: BUCK5 {
regulator-name = "VMEM_1.2V_C210";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
vccsub_breg: BUCK7 {
regulator-name = "VCC_SUB_2.0V";
regulator-min-microvolt = <2000000>;
regulator-max-microvolt = <2000000>;
regulator-always-on;
};
safe1_sreg: ESAFEOUT1 {
regulator-name = "SAFEOUT1";
regulator-always-on;
};
safe2_sreg: ESAFEOUT2 {
regulator-name = "SAFEOUT2";
regulator-boot-on;
};
};
};
};
&sdhci_0 {
bus-width = <8>;
non-removable;
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
pinctrl-names = "default";
vmmc-supply = <&vemmc_reg>;
status = "okay";
};
&serial_0 {
status = "okay";
};
&serial_1 {
status = "okay";
};
&serial_2 {
status = "okay";
};
&serial_3 {
status = "okay";
};
&tmu {
status = "okay";
};
...@@ -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,427 +73,437 @@ emmc_pwrseq: pwrseq { ...@@ -83,427 +73,437 @@ emmc_pwrseq: pwrseq {
reset-gpios = <&gpk1 2 1>; reset-gpios = <&gpk1 2 1>;
}; };
mmc@12550000 {
pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
pinctrl-names = "default";
vmmc-supply = <&ldo20_reg &buck8_reg>;
mmc-pwrseq = <&emmc_pwrseq>;
status = "okay";
num-slots = <1>;
broken-cd;
card-detect-delay = <200>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <2 3>;
samsung,dw-mshc-ddr-timing = <1 2>;
bus-width = <8>;
cap-mmc-highspeed;
};
watchdog@10060000 {
status = "okay";
};
rtc@10070000 {
status = "okay";
clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
clock-names = "rtc", "rtc_src";
};
g2d@10800000 {
status = "okay";
};
camera { camera {
status = "okay"; status = "okay";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <>; pinctrl-0 = <>;
};
fimc_0: fimc@11800000 { fixed-rate-clocks {
status = "okay"; xxti {
assigned-clocks = <&clock CLK_MOUT_FIMC0>, compatible = "samsung,clock-xxti";
<&clock CLK_SCLK_FIMC0>; clock-frequency = <0>;
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 { xusbxti {
status = "okay"; compatible = "samsung,clock-xusbxti";
assigned-clocks = <&clock CLK_MOUT_FIMC2>, clock-frequency = <24000000>;
<&clock CLK_SCLK_FIMC2>;
assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
assigned-clock-rates = <0>, <176000000>;
}; };
};
fimc_3: fimc@11830000 { thermal-zones {
status = "okay"; cpu_thermal: cpu-thermal {
assigned-clocks = <&clock CLK_MOUT_FIMC3>, cooling-maps {
<&clock CLK_SCLK_FIMC3>; map0 {
assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; /* Corresponds to 800MHz at freq_table */
assigned-clock-rates = <0>, <176000000>; cooling-device = <&cpu0 7 7>;
};
map1 {
/* Corresponds to 200MHz at freq_table */
cooling-device = <&cpu0 13 13>;
};
};
}; };
}; };
};
sdhci@12530000 { /* RSTN signal for eMMC */
bus-width = <4>; &sd1_cd {
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; samsung,pin-pud = <0>;
pinctrl-names = "default"; samsung,pin-drv = <0>;
vmmc-supply = <&ldo4_reg &ldo21_reg>; };
cd-gpios = <&gpk2 2 0>;
cd-inverted;
status = "okay";
};
serial@13800000 { &pinctrl_1 {
status = "okay"; gpio_power_key: power_key {
samsung,pins = "gpx1-3";
samsung,pin-pud = <0>;
}; };
serial@13810000 { max77686_irq: max77686-irq {
status = "okay"; samsung,pins = "gpx3-2";
samsung,pin-function = <0>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
}; };
fixed-rate-clocks { hdmi_hpd: hdmi-hpd {
xxti { samsung,pins = "gpx3-7";
compatible = "samsung,clock-xxti"; samsung,pin-pud = <1>;
clock-frequency = <0>;
};
xusbxti {
compatible = "samsung,clock-xusbxti";
clock-frequency = <24000000>;
};
}; };
};
i2c@13860000 { &ehci {
pinctrl-0 = <&i2c0_bus>; status = "okay";
pinctrl-names = "default"; };
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <400000>;
status = "okay";
usb3503: usb3503@08 { &exynos_usbphy {
compatible = "smsc,usb3503"; status = "okay";
reg = <0x08>; };
intn-gpios = <&gpx3 0 0>; &fimc_0 {
connect-gpios = <&gpx3 4 0>; status = "okay";
reset-gpios = <&gpx3 5 0>; assigned-clocks = <&clock CLK_MOUT_FIMC0>,
initial-mode = <1>; <&clock CLK_SCLK_FIMC0>;
}; assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
assigned-clock-rates = <0>, <176000000>;
};
max77686: pmic@09 { &fimc_1 {
compatible = "maxim,max77686"; status = "okay";
interrupt-parent = <&gpx3>; assigned-clocks = <&clock CLK_MOUT_FIMC1>,
interrupts = <2 0>; <&clock CLK_SCLK_FIMC1>;
pinctrl-names = "default"; assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
pinctrl-0 = <&max77686_irq>; assigned-clock-rates = <0>, <176000000>;
reg = <0x09>; };
#clock-cells = <1>;
voltage-regulators {
ldo1_reg: LDO1 {
regulator-name = "VDD_ALIVE_1.0V";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo2_reg: LDO2 { &fimc_2 {
regulator-name = "VDDQ_M1_2_1.8V"; status = "okay";
regulator-min-microvolt = <1800000>; assigned-clocks = <&clock CLK_MOUT_FIMC2>,
regulator-max-microvolt = <1800000>; <&clock CLK_SCLK_FIMC2>;
regulator-always-on; assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
}; assigned-clock-rates = <0>, <176000000>;
};
ldo3_reg: LDO3 { &fimc_3 {
regulator-name = "VDDQ_EXT_1.8V"; status = "okay";
regulator-min-microvolt = <1800000>; assigned-clocks = <&clock CLK_MOUT_FIMC3>,
regulator-max-microvolt = <1800000>; <&clock CLK_SCLK_FIMC3>;
regulator-always-on; assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
}; assigned-clock-rates = <0>, <176000000>;
};
ldo4_reg: LDO4 { &g2d {
regulator-name = "VDDQ_MMC2_2.8V"; status = "okay";
regulator-min-microvolt = <2800000>; };
regulator-max-microvolt = <2800000>;
regulator-always-on;
regulator-boot-on;
};
ldo5_reg: LDO5 { &hdmi {
regulator-name = "VDDQ_MMC1_3_1.8V"; hpd-gpio = <&gpx3 7 0>;
regulator-min-microvolt = <1800000>; pinctrl-names = "default";
regulator-max-microvolt = <1800000>; pinctrl-0 = <&hdmi_hpd>;
regulator-always-on; vdd-supply = <&ldo8_reg>;
regulator-boot-on; vdd_osc-supply = <&ldo10_reg>;
}; vdd_pll-supply = <&ldo8_reg>;
ddc = <&i2c_2>;
status = "okay";
};
ldo6_reg: LDO6 { &hsotg {
regulator-name = "VDD10_MPLL_1.0V"; dr_mode = "peripheral";
regulator-min-microvolt = <1000000>; status = "okay";
regulator-max-microvolt = <1000000>; vusb_d-supply = <&ldo15_reg>;
regulator-always-on; vusb_a-supply = <&ldo12_reg>;
}; };
ldo7_reg: LDO7 { &i2c_0 {
regulator-name = "VDD10_XPLL_1.0V"; pinctrl-0 = <&i2c0_bus>;
regulator-min-microvolt = <1000000>; pinctrl-names = "default";
regulator-max-microvolt = <1000000>; samsung,i2c-sda-delay = <100>;
regulator-always-on; samsung,i2c-max-bus-freq = <400000>;
}; status = "okay";
usb3503: usb3503@08 {
compatible = "smsc,usb3503";
reg = <0x08>;
intn-gpios = <&gpx3 0 0>;
connect-gpios = <&gpx3 4 0>;
reset-gpios = <&gpx3 5 0>;
initial-mode = <1>;
};
ldo8_reg: ldo@8 { max77686: pmic@09 {
regulator-compatible = "LDO8"; compatible = "maxim,max77686";
regulator-name = "VDD10_HDMI_1.0V"; interrupt-parent = <&gpx3>;
regulator-min-microvolt = <1000000>; interrupts = <2 0>;
regulator-max-microvolt = <1000000>; pinctrl-names = "default";
}; pinctrl-0 = <&max77686_irq>;
reg = <0x09>;
#clock-cells = <1>;
voltage-regulators {
ldo1_reg: LDO1 {
regulator-name = "VDD_ALIVE_1.0V";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo10_reg: ldo@10 { ldo2_reg: LDO2 {
regulator-compatible = "LDO10"; regulator-name = "VDDQ_M1_2_1.8V";
regulator-name = "VDDQ_MIPIHSI_1.8V"; regulator-min-microvolt = <1800000>;
regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-always-on;
}; };
ldo11_reg: LDO11 { ldo3_reg: LDO3 {
regulator-name = "VDD18_ABB1_1.8V"; regulator-name = "VDDQ_EXT_1.8V";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
regulator-always-on; regulator-always-on;
}; };
ldo12_reg: LDO12 { ldo4_reg: LDO4 {
regulator-name = "VDD33_USB_3.3V"; regulator-name = "VDDQ_MMC2_2.8V";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <2800000>;
regulator-always-on; regulator-always-on;
regulator-boot-on; regulator-boot-on;
}; };
ldo13_reg: LDO13 { ldo5_reg: LDO5 {
regulator-name = "VDDQ_C2C_W_1.8V"; regulator-name = "VDDQ_MMC1_3_1.8V";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
regulator-always-on; regulator-always-on;
regulator-boot-on; regulator-boot-on;
}; };
ldo14_reg: LDO14 { ldo6_reg: LDO6 {
regulator-name = "VDD18_ABB0_2_1.8V"; regulator-name = "VDD10_MPLL_1.0V";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1000000>;
regulator-always-on; regulator-always-on;
regulator-boot-on; };
};
ldo15_reg: LDO15 { ldo7_reg: LDO7 {
regulator-name = "VDD10_HSIC_1.0V"; regulator-name = "VDD10_XPLL_1.0V";
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>; regulator-max-microvolt = <1000000>;
regulator-always-on; regulator-always-on;
regulator-boot-on; };
};
ldo16_reg: LDO16 { ldo8_reg: ldo@8 {
regulator-name = "VDD18_HSIC_1.8V"; regulator-compatible = "LDO8";
regulator-min-microvolt = <1800000>; regulator-name = "VDD10_HDMI_1.0V";
regulator-max-microvolt = <1800000>; regulator-min-microvolt = <1000000>;
regulator-always-on; regulator-max-microvolt = <1000000>;
regulator-boot-on; };
};
ldo20_reg: LDO20 { ldo10_reg: ldo@10 {
regulator-name = "LDO20_1.8V"; regulator-compatible = "LDO10";
regulator-min-microvolt = <1800000>; regulator-name = "VDDQ_MIPIHSI_1.8V";
regulator-max-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-boot-on; regulator-max-microvolt = <1800000>;
}; };
ldo21_reg: LDO21 { ldo11_reg: LDO11 {
regulator-name = "LDO21_3.3V"; regulator-name = "VDD18_ABB1_1.8V";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <1800000>;
regulator-always-on; regulator-always-on;
regulator-boot-on; };
};
ldo25_reg: LDO25 { ldo12_reg: LDO12 {
regulator-name = "VDDQ_LCD_1.8V"; regulator-name = "VDD33_USB_3.3V";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <3300000>;
regulator-always-on; regulator-always-on;
regulator-boot-on; regulator-boot-on;
}; };
buck1_reg: BUCK1 { ldo13_reg: LDO13 {
regulator-name = "vdd_mif"; regulator-name = "VDDQ_C2C_W_1.8V";
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1000000>; regulator-max-microvolt = <1800000>;
regulator-always-on; regulator-always-on;
regulator-boot-on; regulator-boot-on;
}; };
buck2_reg: BUCK2 { ldo14_reg: LDO14 {
regulator-name = "vdd_arm"; regulator-name = "VDD18_ABB0_2_1.8V";
regulator-min-microvolt = <900000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1350000>; regulator-max-microvolt = <1800000>;
regulator-always-on; regulator-always-on;
regulator-boot-on; regulator-boot-on;
}; };
buck3_reg: BUCK3 { ldo15_reg: LDO15 {
regulator-name = "vdd_int"; regulator-name = "VDD10_HSIC_1.0V";
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>; regulator-max-microvolt = <1000000>;
regulator-always-on; regulator-always-on;
regulator-boot-on; regulator-boot-on;
}; };
buck4_reg: BUCK4 { ldo16_reg: LDO16 {
regulator-name = "vdd_g3d"; regulator-name = "VDD18_HSIC_1.8V";
regulator-min-microvolt = <900000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1100000>; regulator-max-microvolt = <1800000>;
regulator-microvolt-offset = <50000>; regulator-always-on;
}; regulator-boot-on;
};
buck5_reg: BUCK5 { ldo20_reg: LDO20 {
regulator-name = "VDDQ_CKEM1_2_1.2V"; regulator-name = "LDO20_1.8V";
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1200000>; regulator-max-microvolt = <1800000>;
regulator-always-on; regulator-boot-on;
regulator-boot-on; };
};
buck6_reg: BUCK6 { ldo21_reg: LDO21 {
regulator-name = "BUCK6_1.35V"; regulator-name = "LDO21_3.3V";
regulator-min-microvolt = <1350000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <1350000>; regulator-max-microvolt = <3300000>;
regulator-always-on; regulator-always-on;
regulator-boot-on; regulator-boot-on;
}; };
buck7_reg: BUCK7 { ldo25_reg: LDO25 {
regulator-name = "BUCK7_2.0V"; regulator-name = "VDDQ_LCD_1.8V";
regulator-min-microvolt = <2000000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2000000>; regulator-max-microvolt = <1800000>;
regulator-always-on; regulator-always-on;
}; regulator-boot-on;
};
buck8_reg: BUCK8 { buck1_reg: BUCK1 {
regulator-name = "BUCK8_2.8V"; regulator-name = "vdd_mif";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <1000000>;
}; regulator-always-on;
regulator-boot-on;
}; };
};
};
i2c@13870000 { buck2_reg: BUCK2 {
pinctrl-names = "default"; regulator-name = "vdd_arm";
pinctrl-0 = <&i2c1_bus>; regulator-min-microvolt = <900000>;
status = "okay"; regulator-max-microvolt = <1350000>;
max98090: max98090@10 { regulator-always-on;
compatible = "maxim,max98090"; regulator-boot-on;
reg = <0x10>; };
interrupt-parent = <&gpx0>;
interrupts = <0 0>;
clocks = <&i2s0 CLK_I2S_CDCLK>;
clock-names = "mclk";
#sound-dai-cells = <0>;
};
};
exynos-usbphy@125B0000 { buck3_reg: BUCK3 {
status = "okay"; regulator-name = "vdd_int";
}; regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-boot-on;
};
hsotg@12480000 { buck4_reg: BUCK4 {
dr_mode = "peripheral"; regulator-name = "vdd_g3d";
status = "okay"; regulator-min-microvolt = <900000>;
vusb_d-supply = <&ldo15_reg>; regulator-max-microvolt = <1100000>;
vusb_a-supply = <&ldo12_reg>; regulator-microvolt-offset = <50000>;
}; };
ehci: ehci@12580000 { buck5_reg: BUCK5 {
status = "okay"; regulator-name = "VDDQ_CKEM1_2_1.2V";
}; regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-boot-on;
};
tmu@100C0000 { buck6_reg: BUCK6 {
vtmu-supply = <&ldo10_reg>; regulator-name = "BUCK6_1.35V";
status = "okay"; regulator-min-microvolt = <1350000>;
}; regulator-max-microvolt = <1350000>;
regulator-always-on;
regulator-boot-on;
};
thermal-zones { buck7_reg: BUCK7 {
cpu_thermal: cpu-thermal { regulator-name = "BUCK7_2.0V";
cooling-maps { regulator-min-microvolt = <2000000>;
map0 { regulator-max-microvolt = <2000000>;
/* Corresponds to 800MHz at freq_table */ regulator-always-on;
cooling-device = <&cpu0 7 7>; };
};
map1 { buck8_reg: BUCK8 {
/* Corresponds to 200MHz at freq_table */ regulator-name = "BUCK8_2.8V";
cooling-device = <&cpu0 13 13>; regulator-min-microvolt = <2800000>;
}; regulator-max-microvolt = <2800000>;
}; };
}; };
}; };
};
mixer: mixer@12C10000 { &i2c_1 {
status = "okay"; pinctrl-names = "default";
pinctrl-0 = <&i2c1_bus>;
status = "okay";
max98090: max98090@10 {
compatible = "maxim,max98090";
reg = <0x10>;
interrupt-parent = <&gpx0>;
interrupts = <0 0>;
clocks = <&i2s0 CLK_I2S_CDCLK>;
clock-names = "mclk";
#sound-dai-cells = <0>;
}; };
};
hdmi@12D00000 { &i2c_2 {
hpd-gpio = <&gpx3 7 0>; status = "okay";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd>; pinctrl-0 = <&i2c2_bus>;
vdd-supply = <&ldo8_reg>; };
vdd_osc-supply = <&ldo10_reg>;
vdd_pll-supply = <&ldo8_reg>;
ddc = <&hdmi_ddc>;
status = "okay";
};
hdmi_ddc: i2c@13880000 { &i2c_8 {
status = "okay"; status = "okay";
pinctrl-names = "default"; };
pinctrl-0 = <&i2c2_bus>;
};
i2c@138E0000 { &i2s0 {
status = "okay"; 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";
}; };
/* RSTN signal for eMMC */ &mixer {
&sd1_cd { status = "okay";
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
}; };
&pinctrl_1 { &mshc_0 {
gpio_power_key: power_key { pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
samsung,pins = "gpx1-3"; pinctrl-names = "default";
samsung,pin-pud = <0>; vmmc-supply = <&ldo20_reg &buck8_reg>;
}; mmc-pwrseq = <&emmc_pwrseq>;
status = "okay";
num-slots = <1>;
broken-cd;
card-detect-delay = <200>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <2 3>;
samsung,dw-mshc-ddr-timing = <1 2>;
bus-width = <8>;
cap-mmc-highspeed;
};
max77686_irq: max77686-irq { &rtc {
samsung,pins = "gpx3-2"; status = "okay";
samsung,pin-function = <0>; clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
samsung,pin-pud = <0>; clock-names = "rtc", "rtc_src";
samsung,pin-drv = <0>; };
};
hdmi_hpd: hdmi-hpd { &sdhci_2 {
samsung,pins = "gpx3-7"; bus-width = <4>;
samsung,pin-pud = <1>; 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";
};
&serial_0 {
status = "okay";
};
&serial_1 {
status = "okay";
};
&tmu {
vtmu-supply = <&ldo10_reg>;
status = "okay";
};
&watchdog {
status = "okay";
}; };
...@@ -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,485 +50,485 @@ mmc_reg: regulator@0 { ...@@ -50,485 +50,485 @@ mmc_reg: regulator@0 {
}; };
}; };
watchdog@10060000 { display-timings {
status = "okay"; native-mode = <&timing0>;
}; timing0: timing {
clock-frequency = <47500000>;
rtc@10070000 { hactive = <1024>;
status = "okay"; vactive = <600>;
hfront-porch = <64>;
hback-porch = <16>;
hsync-len = <48>;
vback-porch = <64>;
vfront-porch = <16>;
vsync-len = <3>;
};
}; };
pinctrl@11000000 { fixed-rate-clocks {
keypad_rows: keypad-rows { xxti {
samsung,pins = "gpx2-0", "gpx2-1", "gpx2-2"; compatible = "samsung,clock-xxti";
samsung,pin-function = <3>; clock-frequency = <0>;
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
}; };
keypad_cols: keypad-cols { xusbxti {
samsung,pins = "gpx1-0", "gpx1-1"; compatible = "samsung,clock-xusbxti";
samsung,pin-function = <3>; clock-frequency = <24000000>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
}; };
}; };
};
keypad@100A0000 { &fimd {
samsung,keypad-num-rows = <3>; pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>;
samsung,keypad-num-columns = <2>; pinctrl-names = "default";
linux,keypad-no-autorepeat; status = "okay";
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 { &g2d {
keypad,row = <0>; status = "okay";
keypad,column = <1>; };
linux,code = <KEY_DOWN>;
};
key_up { &i2c_0 {
keypad,row = <1>; #address-cells = <1>;
keypad,column = <0>; #size-cells = <0>;
linux,code = <KEY_UP>; samsung,i2c-sda-delay = <100>;
}; samsung,i2c-max-bus-freq = <20000>;
pinctrl-0 = <&i2c0_bus>;
pinctrl-names = "default";
status = "okay";
s5m8767_pmic@66 {
compatible = "samsung,s5m8767-pmic";
reg = <0x66>;
s5m8767,pmic-buck-default-dvs-idx = <3>;
s5m8767,pmic-buck-dvs-gpios = <&gpx2 3 0>,
<&gpx2 4 0>,
<&gpx2 5 0>;
s5m8767,pmic-buck-ds-gpios = <&gpm3 5 0>,
<&gpm3 6 0>,
<&gpm3 7 0>;
s5m8767,pmic-buck2-dvs-voltage = <1250000>, <1200000>,
<1200000>, <1200000>,
<1200000>, <1200000>,
<1200000>, <1200000>;
s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>,
<1100000>, <1100000>,
<1100000>, <1100000>,
<1100000>, <1100000>;
s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>,
<1200000>, <1200000>,
<1200000>, <1200000>,
<1200000>, <1200000>;
regulators {
ldo1_reg: LDO1 {
regulator-name = "VDD_ALIVE";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>; /* Normal Mode */
};
key_menu { ldo2_reg: LDO2 {
keypad,row = <1>; regulator-name = "VDDQ_M12";
keypad,column = <1>; regulator-min-microvolt = <1200000>;
linux,code = <KEY_MENU>; regulator-max-microvolt = <1200000>;
}; regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
key_back { ldo3_reg: LDO3 {
keypad,row = <2>; regulator-name = "VDDIOAP_18";
keypad,column = <0>; regulator-min-microvolt = <1800000>;
linux,code = <KEY_BACK>; regulator-max-microvolt = <1800000>;
}; regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo4_reg: LDO4 {
regulator-name = "VDDQ_PRE";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo5_reg: LDO5 {
regulator-name = "VDD18_2M";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo6_reg: LDO6 {
regulator-name = "VDD10_MPLL";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo7_reg: LDO7 {
regulator-name = "VDD10_XPLL";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo8_reg: LDO8 {
regulator-name = "VDD10_MIPI";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo9_reg: LDO9 {
regulator-name = "VDD33_LCD";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo10_reg: LDO10 {
regulator-name = "VDD18_MIPI";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo11_reg: LDO11 {
regulator-name = "VDD18_ABB1";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo12_reg: LDO12 {
regulator-name = "VDD33_UOTG";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo13_reg: LDO13 {
regulator-name = "VDDIOPERI_18";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo14_reg: LDO14 {
regulator-name = "VDD18_ABB02";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo15_reg: LDO15 {
regulator-name = "VDD10_USH";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo16_reg: LDO16 {
regulator-name = "VDD18_HSIC";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo17_reg: LDO17 {
regulator-name = "VDDIOAP_MMC012_28";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo18_reg: LDO18 {
regulator-name = "VDDIOPERI_28";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo19_reg: LDO19 {
regulator-name = "DVDD25";
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <2500000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo20_reg: LDO20 {
regulator-name = "VDD28_CAM";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo21_reg: LDO21 {
regulator-name = "VDD28_AF";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo22_reg: LDO22 {
regulator-name = "VDDA28_2M";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
key_enter { ldo23_reg: LDO23 {
keypad,row = <2>; regulator-name = "VDD28_TF";
keypad,column = <1>; regulator-min-microvolt = <2800000>;
linux,code = <KEY_ENTER>; regulator-max-microvolt = <2800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo24_reg: LDO24 {
regulator-name = "VDD33_A31";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo25_reg: LDO25 {
regulator-name = "VDD18_CAM";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo26_reg: LDO26 {
regulator-name = "VDD18_A31";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo27_reg: LDO27 {
regulator-name = "GPS_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo28_reg: LDO28 {
regulator-name = "DVDD12";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
buck1_reg: BUCK1 {
regulator-name = "vdd_mif";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>; /* Normal Mode */
};
buck2_reg: BUCK2 {
regulator-name = "vdd_arm";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1350000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>; /* Normal Mode */
};
buck3_reg: BUCK3 {
regulator-name = "vdd_int";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>; /* Normal Mode */
};
buck4_reg: BUCK4 {
regulator-name = "vdd_g3d";
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>; /* Normal Mode */
};
buck5_reg: BUCK5 {
regulator-name = "vdd_m12";
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>; /* Normal Mode */
};
buck6_reg: BUCK6 {
regulator-name = "vdd12_5m";
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>; /* Normal Mode */
};
buck9_reg: BUCK9 {
regulator-name = "vddf28_emmc";
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>; /* Normal Mode */
};
}; };
}; };
};
g2d@10800000 { &keypad {
status = "okay"; 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>;
}; };
sdhci@12530000 { key_down {
bus-width = <4>; keypad,row = <0>;
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>; keypad,column = <1>;
pinctrl-names = "default"; linux,code = <KEY_DOWN>;
vmmc-supply = <&mmc_reg>;
status = "okay";
}; };
mmc@12550000 { key_up {
pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; keypad,row = <1>;
pinctrl-names = "default"; keypad,column = <0>;
status = "okay"; linux,code = <KEY_UP>;
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 { key_menu {
samsung,mfc-r = <0x43000000 0x800000>; keypad,row = <1>;
samsung,mfc-l = <0x51000000 0x800000>; keypad,column = <1>;
status = "okay"; linux,code = <KEY_MENU>;
}; };
fimd@11c00000 { key_back {
pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>; keypad,row = <2>;
pinctrl-names = "default"; keypad,column = <0>;
status = "okay"; linux,code = <KEY_BACK>;
}; };
display-timings { key_enter {
native-mode = <&timing0>; keypad,row = <2>;
timing0: timing { keypad,column = <1>;
clock-frequency = <47500000>; linux,code = <KEY_ENTER>;
hactive = <1024>;
vactive = <600>;
hfront-porch = <64>;
hback-porch = <16>;
hsync-len = <48>;
vback-porch = <64>;
vfront-porch = <16>;
vsync-len = <3>;
};
}; };
};
serial@13800000 { &mfc {
status = "okay"; samsung,mfc-r = <0x43000000 0x800000>;
}; samsung,mfc-l = <0x51000000 0x800000>;
status = "okay";
};
serial@13810000 { &mshc_0 {
status = "okay"; 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;
};
serial@13820000 { &pinctrl_1 {
status = "okay"; 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@13830000 { keypad_cols: keypad-cols {
status = "okay"; samsung,pins = "gpx1-0", "gpx1-1";
samsung,pin-function = <3>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
}; };
};
i2c@13860000 { &rtc {
#address-cells = <1>; status = "okay";
#size-cells = <0>; };
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <20000>;
pinctrl-0 = <&i2c0_bus>;
pinctrl-names = "default";
status = "okay";
s5m8767_pmic@66 {
compatible = "samsung,s5m8767-pmic";
reg = <0x66>;
s5m8767,pmic-buck-default-dvs-idx = <3>;
s5m8767,pmic-buck-dvs-gpios = <&gpx2 3 0>,
<&gpx2 4 0>,
<&gpx2 5 0>;
s5m8767,pmic-buck-ds-gpios = <&gpm3 5 0>,
<&gpm3 6 0>,
<&gpm3 7 0>;
s5m8767,pmic-buck2-dvs-voltage = <1250000>, <1200000>,
<1200000>, <1200000>,
<1200000>, <1200000>,
<1200000>, <1200000>;
s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>,
<1100000>, <1100000>,
<1100000>, <1100000>,
<1100000>, <1100000>;
s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>,
<1200000>, <1200000>,
<1200000>, <1200000>,
<1200000>, <1200000>;
regulators {
ldo1_reg: LDO1 {
regulator-name = "VDD_ALIVE";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>; /* Normal Mode */
};
ldo2_reg: LDO2 {
regulator-name = "VDDQ_M12";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo3_reg: LDO3 {
regulator-name = "VDDIOAP_18";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo4_reg: LDO4 {
regulator-name = "VDDQ_PRE";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo5_reg: LDO5 {
regulator-name = "VDD18_2M";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo6_reg: LDO6 {
regulator-name = "VDD10_MPLL";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo7_reg: LDO7 {
regulator-name = "VDD10_XPLL";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo8_reg: LDO8 {
regulator-name = "VDD10_MIPI";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo9_reg: LDO9 {
regulator-name = "VDD33_LCD";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo10_reg: LDO10 {
regulator-name = "VDD18_MIPI";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo11_reg: LDO11 {
regulator-name = "VDD18_ABB1";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo12_reg: LDO12 {
regulator-name = "VDD33_UOTG";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo13_reg: LDO13 {
regulator-name = "VDDIOPERI_18";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo14_reg: LDO14 {
regulator-name = "VDD18_ABB02";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo15_reg: LDO15 {
regulator-name = "VDD10_USH";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo16_reg: LDO16 {
regulator-name = "VDD18_HSIC";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo17_reg: LDO17 {
regulator-name = "VDDIOAP_MMC012_28";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo18_reg: LDO18 {
regulator-name = "VDDIOPERI_28";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo19_reg: LDO19 {
regulator-name = "DVDD25";
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <2500000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo20_reg: LDO20 {
regulator-name = "VDD28_CAM";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo21_reg: LDO21 {
regulator-name = "VDD28_AF";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo22_reg: LDO22 {
regulator-name = "VDDA28_2M";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo23_reg: LDO23 {
regulator-name = "VDD28_TF";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo24_reg: LDO24 {
regulator-name = "VDD33_A31";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo25_reg: LDO25 {
regulator-name = "VDD18_CAM";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo26_reg: LDO26 {
regulator-name = "VDD18_A31";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo27_reg: LDO27 {
regulator-name = "GPS_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
ldo28_reg: LDO28 {
regulator-name = "DVDD12";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
op_mode = <1>; /* Normal Mode */
};
buck1_reg: BUCK1 {
regulator-name = "vdd_mif";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>; /* Normal Mode */
};
buck2_reg: BUCK2 {
regulator-name = "vdd_arm";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1350000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>; /* Normal Mode */
};
buck3_reg: BUCK3 {
regulator-name = "vdd_int";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>; /* Normal Mode */
};
buck4_reg: BUCK4 {
regulator-name = "vdd_g3d";
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>; /* Normal Mode */
};
buck5_reg: BUCK5 {
regulator-name = "vdd_m12";
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>; /* Normal Mode */
};
buck6_reg: BUCK6 {
regulator-name = "vdd12_5m";
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>; /* Normal Mode */
};
buck9_reg: BUCK9 {
regulator-name = "vddf28_emmc";
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>; /* Normal Mode */
};
};
};
};
fixed-rate-clocks { &sdhci_2 {
xxti { bus-width = <4>;
compatible = "samsung,clock-xxti"; pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
clock-frequency = <0>; pinctrl-names = "default";
}; vmmc-supply = <&mmc_reg>;
status = "okay";
};
xusbxti { &serial_0 {
compatible = "samsung,clock-xusbxti"; status = "okay";
clock-frequency = <24000000>; };
};
}; &serial_1 {
status = "okay";
};
&serial_2 {
status = "okay";
};
&serial_3 {
status = "okay";
};
&watchdog {
status = "okay";
}; };
...@@ -28,135 +28,135 @@ chosen { ...@@ -28,135 +28,135 @@ 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 {
samsung,keypad-num-rows = <3>; status = "okay";
samsung,keypad-num-columns = <8>; };
linux,keypad-no-autorepeat;
linux,keypad-wakeup;
pinctrl-0 = <&keypad_rows &keypad_cols>;
pinctrl-names = "default";
status = "okay";
key_1 {
keypad,row = <1>;
keypad,column = <3>;
linux,code = <2>;
};
key_2 {
keypad,row = <1>;
keypad,column = <4>;
linux,code = <3>;
};
key_3 {
keypad,row = <1>;
keypad,column = <5>;
linux,code = <4>;
};
key_4 {
keypad,row = <1>;
keypad,column = <6>;
linux,code = <5>;
};
key_5 { &keypad {
keypad,row = <1>; samsung,keypad-num-rows = <3>;
keypad,column = <7>; samsung,keypad-num-columns = <8>;
linux,code = <6>; linux,keypad-no-autorepeat;
}; linux,keypad-wakeup;
pinctrl-0 = <&keypad_rows &keypad_cols>;
pinctrl-names = "default";
status = "okay";
key_1 {
keypad,row = <1>;
keypad,column = <3>;
linux,code = <2>;
};
key_A { key_2 {
keypad,row = <2>; keypad,row = <1>;
keypad,column = <6>; keypad,column = <4>;
linux,code = <30>; linux,code = <3>;
}; };
key_B { key_3 {
keypad,row = <2>; keypad,row = <1>;
keypad,column = <7>; keypad,column = <5>;
linux,code = <48>; linux,code = <4>;
}; };
key_C { key_4 {
keypad,row = <0>; keypad,row = <1>;
keypad,column = <5>; keypad,column = <6>;
linux,code = <46>; linux,code = <5>;
}; };
key_D { key_5 {
keypad,row = <2>; keypad,row = <1>;
keypad,column = <5>; keypad,column = <7>;
linux,code = <32>; linux,code = <6>;
}; };
key_E { key_A {
keypad,row = <0>; keypad,row = <2>;
keypad,column = <7>; keypad,column = <6>;
linux,code = <18>; linux,code = <30>;
};
}; };
sdhci@12530000 { key_B {
bus-width = <4>; keypad,row = <2>;
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>; keypad,column = <7>;
pinctrl-names = "default"; linux,code = <48>;
status = "okay";
}; };
codec@13400000 { key_C {
samsung,mfc-r = <0x43000000 0x800000>; keypad,row = <0>;
samsung,mfc-l = <0x51000000 0x800000>; keypad,column = <5>;
status = "okay"; linux,code = <46>;
}; };
serial@13800000 { key_D {
status = "okay"; keypad,row = <2>;
keypad,column = <5>;
linux,code = <32>;
}; };
serial@13810000 { key_E {
status = "okay"; keypad,row = <0>;
keypad,column = <7>;
linux,code = <18>;
}; };
};
&mfc {
samsung,mfc-r = <0x43000000 0x800000>;
samsung,mfc-l = <0x51000000 0x800000>;
status = "okay";
};
serial@13820000 { &pinctrl_1 {
status = "okay"; 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@13830000 { 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>;
}; };
};
fixed-rate-clocks { &sdhci_2 {
xxti { bus-width = <4>;
compatible = "samsung,clock-xxti"; pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
clock-frequency = <0>; pinctrl-names = "default";
}; status = "okay";
};
xusbxti { &serial_0 {
compatible = "samsung,clock-xusbxti"; status = "okay";
clock-frequency = <24000000>; };
};
}; &serial_1 {
status = "okay";
};
&serial_2 {
status = "okay";
};
&serial_3 {
status = "okay";
}; };
...@@ -56,33 +56,6 @@ led4 { ...@@ -56,33 +56,6 @@ led4 {
}; };
}; };
rtc@10070000 {
status = "okay";
};
sdhci@12530000 {
bus-width = <4>;
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
pinctrl-names = "default";
status = "okay";
};
serial@13800000 {
status = "okay";
};
serial@13810000 {
status = "okay";
};
serial@13820000 {
status = "okay";
};
serial@13830000 {
status = "okay";
};
fixed-rate-clocks { fixed-rate-clocks {
xxti { xxti {
compatible = "samsung,clock-xxti"; compatible = "samsung,clock-xxti";
...@@ -95,3 +68,30 @@ xusbxti { ...@@ -95,3 +68,30 @@ xusbxti {
}; };
}; };
}; };
&rtc {
status = "okay";
};
&sdhci_2 {
bus-width = <4>;
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
pinctrl-names = "default";
status = "okay";
};
&serial_0 {
status = "okay";
};
&serial_1 {
status = "okay";
};
&serial_2 {
status = "okay";
};
&serial_3 {
status = "okay";
};
...@@ -131,411 +131,6 @@ key-ok { ...@@ -131,411 +131,6 @@ key-ok {
}; };
}; };
adc: adc@126C0000 {
vdd-supply = <&ldo3_reg>;
status = "okay";
};
i2c@13890000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <400000>;
pinctrl-0 = <&i2c3_bus>;
pinctrl-names = "default";
status = "okay";
mms114-touchscreen@48 {
compatible = "melfas,mms114";
reg = <0x48>;
interrupt-parent = <&gpm2>;
interrupts = <3 2>;
x-size = <720>;
y-size = <1280>;
avdd-supply = <&ldo23_reg>;
vdd-supply = <&ldo24_reg>;
};
};
i2c_0: i2c@13860000 {
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";
s5c73m3@3c {
compatible = "samsung,s5c73m3";
reg = <0x3c>;
standby-gpios = <&gpm0 1 1>; /* ISP_STANDBY */
xshutdown-gpios = <&gpf1 3 1>; /* ISP_RESET */
vdd-int-supply = <&buck9_reg>;
vddio-cis-supply = <&ldo9_reg>;
vdda-supply = <&ldo17_reg>;
vddio-host-supply = <&ldo18_reg>;
vdd-af-supply = <&cam_af_reg>;
vdd-reg-supply = <&cam_io_reg>;
clock-frequency = <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@138A0000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <100000>;
pinctrl-0 = <&i2c4_bus>;
pinctrl-names = "default";
status = "okay";
wm1811: wm1811@1a {
compatible = "wlf,wm1811";
reg = <0x1a>;
clocks = <&pmu_system_controller 0>;
clock-names = "MCLK1";
DCVDD-supply = <&ldo3_reg>;
DBVDD1-supply = <&ldo3_reg>;
wlf,ldo1ena = <&gpj0 4 0>;
};
};
i2c@138D0000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <100000>;
pinctrl-0 = <&i2c7_bus>;
pinctrl-names = "default";
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;
};
ldo2_reg: ldo2 {
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;
};
};
ldo3_reg: ldo3 {
regulator-compatible = "LDO3";
regulator-name = "VCC_1.8V_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo4_reg: ldo4 {
regulator-compatible = "LDO4";
regulator-name = "VCC_2.8V_AP";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
ldo5_reg: ldo5 {
regulator-compatible = "LDO5";
regulator-name = "VCC_1.8V_IO";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo6_reg: ldo6 {
regulator-compatible = "LDO6";
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 {
regulator-compatible = "LDO8";
regulator-name = "VMIPI_1.0V";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo9_reg: ldo9 {
regulator-compatible = "LDO9";
regulator-name = "CAM_ISP_MIPI_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
ldo10_reg: ldo10 {
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 {
regulator-compatible = "LDO12";
regulator-name = "VUOTG_3.0V";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo13_reg: ldo13 {
regulator-compatible = "LDO13";
regulator-name = "NFC_AVDD_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo14_reg: ldo14 {
regulator-compatible = "LDO14";
regulator-name = "VABB2_1.95V";
regulator-min-microvolt = <1950000>;
regulator-max-microvolt = <1950000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo15_reg: ldo15 {
regulator-compatible = "LDO15";
regulator-name = "VHSIC_1.0V";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-state-mem {
regulator-on-in-suspend;
};
};
ldo16_reg: ldo16 {
regulator-compatible = "LDO16";
regulator-name = "VHSIC_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-state-mem {
regulator-on-in-suspend;
};
};
ldo17_reg: ldo17 {
regulator-compatible = "LDO17";
regulator-name = "CAM_SENSOR_CORE_1.2V";
regulator-min-microvolt = <1200000>;
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 {
regulator-compatible = "LDO20";
regulator-name = "VDDQ_PRE_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo21_reg: ldo21 {
regulator-compatible = "LDO21";
regulator-name = "VTF_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>;
};
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 {
regulator-compatible = "LDO23";
regulator-name = "TSP_AVDD_3.3V";
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 {
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;
};
};
buck3_reg: buck3 {
regulator-compatible = "BUCK3";
regulator-name = "vdd_int";
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1150000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck4_reg: buck4 {
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;
};
};
buck5_reg: buck5 {
regulator-compatible = "BUCK5";
regulator-name = "VMEM_1.2V_AP";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
buck6_reg: buck6 {
regulator-compatible = "BUCK6";
regulator-name = "VCC_SUB_1.35V";
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <1350000>;
regulator-always-on;
};
buck7_reg: buck7 {
regulator-compatible = "BUCK7";
regulator-name = "VCC_SUB_2.0V";
regulator-min-microvolt = <2000000>;
regulator-max-microvolt = <2000000>;
regulator-always-on;
};
buck8_reg: buck8 {
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>;
};
};
};
};
i2c_max77693: i2c-gpio-1 { i2c_max77693: i2c-gpio-1 {
compatible = "i2c-gpio"; compatible = "i2c-gpio";
gpios = <&gpm2 0 GPIO_ACTIVE_HIGH>, <&gpm2 1 GPIO_ACTIVE_HIGH>; gpios = <&gpm2 0 GPIO_ACTIVE_HIGH>, <&gpm2 1 GPIO_ACTIVE_HIGH>;
...@@ -598,54 +193,6 @@ max77693-fuel-gauge@36 { ...@@ -598,54 +193,6 @@ max77693-fuel-gauge@36 {
}; };
}; };
mmc@12550000 {
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;
};
sdhci@12530000 {
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@13800000 {
status = "okay";
};
serial@13810000 {
status = "okay";
};
serial@13820000 {
status = "okay";
};
serial@13830000 {
status = "okay";
};
tmu@100C0000 {
vtmu-supply = <&ldo10_reg>;
status = "okay";
};
i2c_ak8975: i2c-gpio-0 { i2c_ak8975: i2c-gpio-0 {
compatible = "i2c-gpio"; compatible = "i2c-gpio";
gpios = <&gpy2 4 0>, <&gpy2 5 0>; gpios = <&gpy2 4 0>, <&gpy2 5 0>;
...@@ -677,90 +224,6 @@ cm36651@18 { ...@@ -677,90 +224,6 @@ cm36651@18 {
}; };
}; };
spi_1: spi@13930000 {
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>;
};
};
};
pwm: pwm@139D0000 {
pinctrl-0 = <&pwm0_out>;
pinctrl-names = "default";
samsung,pwm-outputs = <0>;
status = "okay";
};
dsi_0: dsi@11C80000 {
vddcore-supply = <&ldo8_reg>;
vddio-supply = <&ldo10_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 {
compatible = "samsung,s6e8aa0";
reg = <0>;
vdd3-supply = <&lcd_vdd3_reg>;
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>;
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";
};
camera: camera { camera: camera {
pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>; pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>;
pinctrl-names = "default"; pinctrl-names = "default";
...@@ -770,124 +233,7 @@ camera: camera { ...@@ -770,124 +233,7 @@ camera: camera {
assigned-clock-parents = <&clock CLK_XUSBXTI>, assigned-clock-parents = <&clock CLK_XUSBXTI>,
<&clock CLK_XUSBXTI>; <&clock CLK_XUSBXTI>;
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 {
status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC2>,
<&clock CLK_SCLK_FIMC2>;
assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
assigned-clock-rates = <0>, <176000000>;
};
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 {
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>;
};
};
};
csis_1: csis@11890000 {
status = "okay";
vddcore-supply = <&ldo8_reg>;
vddio-supply = <&ldo10_reg>;
assigned-clocks = <&clock CLK_MOUT_CSIS1>,
<&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;
};
};
};
fimc_lite_0: fimc-lite@12390000 {
status = "okay";
};
fimc_lite_1: fimc-lite@123A0000 {
status = "okay";
};
fimc-is@12000000 {
pinctrl-0 = <&fimc_is_uart>;
pinctrl-names = "default";
status = "okay";
i2c1_isp: i2c-isp@12140000 {
pinctrl-0 = <&fimc_is_i2c1>;
pinctrl-names = "default";
s5k6a3@10 {
compatible = "samsung,s5k6a3";
reg = <0x10>;
svdda-supply = <&cam_io_reg>;
svddio-supply = <&ldo19_reg>;
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 {
is_s5k6a3_ep: endpoint {
remote-endpoint = <&csis1_ep>;
data-lanes = <1>;
};
};
};
};
};
};
i2s0: i2s@03830000 {
pinctrl-0 = <&i2s0_bus>;
pinctrl-names = "default";
status = "okay";
}; };
sound { sound {
...@@ -902,17 +248,6 @@ sound { ...@@ -902,17 +248,6 @@ sound {
"SPK", "SPKOUTRP"; "SPK", "SPKOUTRP";
}; };
exynos-usbphy@125B0000 {
status = "okay";
};
hsotg@12480000 {
vusb_d-supply = <&ldo15_reg>;
vusb_a-supply = <&ldo12_reg>;
dr_mode = "peripheral";
status = "okay";
};
thermistor-ap@0 { thermistor-ap@0 {
compatible = "ntc,ncp15wb473"; compatible = "ntc,ncp15wb473";
pullup-uv = <1800000>; /* VCC_1.8V_AP */ pullup-uv = <1800000>; /* VCC_1.8V_AP */
...@@ -945,6 +280,619 @@ map1 { ...@@ -945,6 +280,619 @@ map1 {
}; };
}; };
&adc {
vdd-supply = <&ldo3_reg>;
status = "okay";
};
&csis_0 {
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>;
};
};
};
&csis_1 {
status = "okay";
vddcore-supply = <&ldo8_reg>;
vddio-supply = <&ldo10_reg>;
assigned-clocks = <&clock CLK_MOUT_CSIS1>,
<&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;
};
};
};
&dsi_0 {
vddcore-supply = <&ldo8_reg>;
vddio-supply = <&ldo10_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 {
compatible = "samsung,s6e8aa0";
reg = <0>;
vdd3-supply = <&lcd_vdd3_reg>;
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>;
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";
};
&fimc_0 {
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 {
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 {
status = "okay";
assigned-clocks = <&clock CLK_MOUT_FIMC2>,
<&clock CLK_SCLK_FIMC2>;
assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
assigned-clock-rates = <0>, <176000000>;
};
&fimc_3 {
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>;
};
&fimc_is {
pinctrl-0 = <&fimc_is_uart>;
pinctrl-names = "default";
status = "okay";
i2c1_isp: i2c-isp@12140000 {
pinctrl-0 = <&fimc_is_i2c1>;
pinctrl-names = "default";
s5k6a3@10 {
compatible = "samsung,s5k6a3";
reg = <0x10>;
svdda-supply = <&cam_io_reg>;
svddio-supply = <&ldo19_reg>;
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 {
is_s5k6a3_ep: endpoint {
remote-endpoint = <&csis1_ep>;
data-lanes = <1>;
};
};
};
};
};
&fimc_lite_0 {
status = "okay";
};
&fimc_lite_1 {
status = "okay";
};
&fimd {
status = "okay";
};
&hsotg {
vusb_d-supply = <&ldo15_reg>;
vusb_a-supply = <&ldo12_reg>;
dr_mode = "peripheral";
status = "okay";
};
&i2c_0 {
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";
s5c73m3@3c {
compatible = "samsung,s5c73m3";
reg = <0x3c>;
standby-gpios = <&gpm0 1 1>; /* ISP_STANDBY */
xshutdown-gpios = <&gpf1 3 1>; /* ISP_RESET */
vdd-int-supply = <&buck9_reg>;
vddio-cis-supply = <&ldo9_reg>;
vdda-supply = <&ldo17_reg>;
vddio-host-supply = <&ldo18_reg>;
vdd-af-supply = <&cam_af_reg>;
vdd-reg-supply = <&cam_io_reg>;
clock-frequency = <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_3 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <400000>;
pinctrl-0 = <&i2c3_bus>;
pinctrl-names = "default";
status = "okay";
mms114-touchscreen@48 {
compatible = "melfas,mms114";
reg = <0x48>;
interrupt-parent = <&gpm2>;
interrupts = <3 2>;
x-size = <720>;
y-size = <1280>;
avdd-supply = <&ldo23_reg>;
vdd-supply = <&ldo24_reg>;
};
};
&i2c_4 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <100000>;
pinctrl-0 = <&i2c4_bus>;
pinctrl-names = "default";
status = "okay";
wm1811: wm1811@1a {
compatible = "wlf,wm1811";
reg = <0x1a>;
clocks = <&pmu_system_controller 0>;
clock-names = "MCLK1";
DCVDD-supply = <&ldo3_reg>;
DBVDD1-supply = <&ldo3_reg>;
wlf,ldo1ena = <&gpj0 4 0>;
};
};
&i2c_7 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <100000>;
pinctrl-0 = <&i2c7_bus>;
pinctrl-names = "default";
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;
};
ldo2_reg: ldo2 {
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;
};
};
ldo3_reg: ldo3 {
regulator-compatible = "LDO3";
regulator-name = "VCC_1.8V_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo4_reg: ldo4 {
regulator-compatible = "LDO4";
regulator-name = "VCC_2.8V_AP";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
ldo5_reg: ldo5 {
regulator-compatible = "LDO5";
regulator-name = "VCC_1.8V_IO";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo6_reg: ldo6 {
regulator-compatible = "LDO6";
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 {
regulator-compatible = "LDO8";
regulator-name = "VMIPI_1.0V";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo9_reg: ldo9 {
regulator-compatible = "LDO9";
regulator-name = "CAM_ISP_MIPI_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
ldo10_reg: ldo10 {
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 {
regulator-compatible = "LDO12";
regulator-name = "VUOTG_3.0V";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo13_reg: ldo13 {
regulator-compatible = "LDO13";
regulator-name = "NFC_AVDD_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo14_reg: ldo14 {
regulator-compatible = "LDO14";
regulator-name = "VABB2_1.95V";
regulator-min-microvolt = <1950000>;
regulator-max-microvolt = <1950000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo15_reg: ldo15 {
regulator-compatible = "LDO15";
regulator-name = "VHSIC_1.0V";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-state-mem {
regulator-on-in-suspend;
};
};
ldo16_reg: ldo16 {
regulator-compatible = "LDO16";
regulator-name = "VHSIC_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-state-mem {
regulator-on-in-suspend;
};
};
ldo17_reg: ldo17 {
regulator-compatible = "LDO17";
regulator-name = "CAM_SENSOR_CORE_1.2V";
regulator-min-microvolt = <1200000>;
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 {
regulator-compatible = "LDO20";
regulator-name = "VDDQ_PRE_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo21_reg: ldo21 {
regulator-compatible = "LDO21";
regulator-name = "VTF_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>;
};
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 {
regulator-compatible = "LDO23";
regulator-name = "TSP_AVDD_3.3V";
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 {
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;
};
};
buck3_reg: buck3 {
regulator-compatible = "BUCK3";
regulator-name = "vdd_int";
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1150000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck4_reg: buck4 {
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;
};
};
buck5_reg: buck5 {
regulator-compatible = "BUCK5";
regulator-name = "VMEM_1.2V_AP";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
buck6_reg: buck6 {
regulator-compatible = "BUCK6";
regulator-name = "VCC_SUB_1.35V";
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <1350000>;
regulator-always-on;
};
buck7_reg: buck7 {
regulator-compatible = "BUCK7";
regulator-name = "VCC_SUB_2.0V";
regulator-min-microvolt = <2000000>;
regulator-max-microvolt = <2000000>;
regulator-always-on;
};
buck8_reg: buck8 {
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>; compatible = "samsung,exynos4412-pmu", "syscon";
}; };
pmu_system_controller: system-controller@10020000 { &combiner {
compatible = "samsung,exynos4412-pmu", "syscon"; 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>;
};
sysmmu_fimc_fd: sysmmu@122A0000 {
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>;
}; };
hdmi: hdmi@12D00000 { sysmmu_fimc_mcuctl: sysmmu@122B0000 {
compatible = "samsung,exynos4212-hdmi"; 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>;
}; };
mixer: mixer@12C10000 { sysmmu_fimc_lite0: sysmmu@123B0000 {
compatible = "samsung,exynos4212-mixer"; compatible = "samsung,exynos-sysmmu";
clock-names = "mixer", "hdmi", "sclk_hdmi", "vp"; reg = <0x123B0000 0x1000>;
clocks = <&clock CLK_MIXER>, <&clock CLK_HDMI>, interrupt-parent = <&combiner>;
<&clock CLK_SCLK_HDMI>, <&clock CLK_VP>; interrupts = <16 0>;
power-domains = <&pd_isp>;
clock-names = "sysmmu", "master";
clocks = <&clock CLK_SMMU_LITE0>, <&clock CLK_FIMC_LITE0>;
#iommu-cells = <0>;
}; };
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";
clock-names = "mixer", "hdmi", "sclk_hdmi", "vp";
clocks = <&clock CLK_MIXER>, <&clock CLK_HDMI>,
<&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,323 +39,6 @@ oscclk { ...@@ -39,323 +39,6 @@ oscclk {
}; };
}; };
codec@11000000 {
samsung,mfc-r = <0x43000000 0x800000>;
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>;
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;
};
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>;
interrupt-parent = <&gpx3>;
interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
pinctrl-names = "default";
pinctrl-0 = <&s2mps11_irq>;
s2mps11_osc: clocks {
#clock-cells = <1>;
clock-output-names = "s2mps11_ap",
"s2mps11_cp", "s2mps11_bt";
};
regulators {
ldo1_reg: LDO1 {
regulator-name = "PVDD_ALIVE_1V0";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo2_reg: LDO2 {
regulator-name = "PVDD_APIO_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo3_reg: LDO3 {
regulator-name = "PVDD_APIO_MMCON_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo4_reg: LDO4 {
regulator-name = "PVDD_ADC_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo5_reg: LDO5 {
regulator-name = "PVDD_PLL_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo6_reg: LDO6 {
regulator-name = "PVDD_ANAIP_1V0";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
};
ldo7_reg: LDO7 {
regulator-name = "PVDD_ANAIP_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo8_reg: LDO8 {
regulator-name = "PVDD_ABB_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo9_reg: LDO9 {
regulator-name = "PVDD_USB_3V3";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
};
ldo10_reg: LDO10 {
regulator-name = "PVDD_PRE_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo11_reg: LDO11 {
regulator-name = "PVDD_USB_1V0";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo12_reg: LDO12 {
regulator-name = "PVDD_HSIC_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo13_reg: LDO13 {
regulator-name = "PVDD_APIO_MMCOFF_2V8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo15_reg: LDO15 {
regulator-name = "PVDD_PERI_2V8";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
ldo16_reg: LDO16 {
regulator-name = "PVDD_PERI_3V3";
regulator-min-microvolt = <2200000>;
regulator-max-microvolt = <2200000>;
};
ldo18_reg: LDO18 {
regulator-name = "PVDD_EMMC_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo19_reg: LDO19 {
regulator-name = "PVDD_TFLASH_2V8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo20_reg: LDO20 {
regulator-name = "PVDD_BTWIFI_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo21_reg: LDO21 {
regulator-name = "PVDD_CAM1IO_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo23_reg: LDO23 {
regulator-name = "PVDD_MIFS_1V1";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
ldo24_reg: LDO24 {
regulator-name = "PVDD_CAM1_AVDD_2V8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo26_reg: LDO26 {
regulator-name = "PVDD_CAM0_AF_2V8";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
};
ldo27_reg: LDO27 {
regulator-name = "PVDD_G3DS_1V0";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
ldo28_reg: LDO28 {
regulator-name = "PVDD_TSP_3V3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
ldo29_reg: LDO29 {
regulator-name = "PVDD_AUDIO_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo31_reg: LDO31 {
regulator-name = "PVDD_PERI_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo32_reg: LDO32 {
regulator-name = "PVDD_LCD_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo33_reg: LDO33 {
regulator-name = "PVDD_CAM0IO_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo35_reg: LDO35 {
regulator-name = "PVDD_CAM0_DVDD_1V2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
ldo38_reg: LDO38 {
regulator-name = "PVDD_CAM0_AVDD_2V8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
buck1_reg: BUCK1 {
regulator-name = "PVDD_MIF_1V1";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
};
buck2_reg: BUCK2 {
regulator-name = "vdd_arm";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
buck3_reg: BUCK3 {
regulator-name = "PVDD_INT_1V0";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
buck4_reg: BUCK4 {
regulator-name = "PVDD_G3D_1V0";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1000000>;
};
buck5_reg: BUCK5 {
regulator-name = "PVDD_LPDDR3_1V2";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
buck6_reg: BUCK6 {
regulator-name = "PVDD_KFC_1V0";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
buck7_reg: BUCK7 {
regulator-name = "VIN_LLDO_1V4";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1400000>;
regulator-always-on;
};
buck8_reg: BUCK8 {
regulator-name = "VIN_MLDO_2V0";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2000000>;
regulator-always-on;
};
buck9_reg: BUCK9 {
regulator-name = "VIN_HLDO_3V5";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3500000>;
regulator-always-on;
};
buck10_reg: BUCK10 {
regulator-name = "PVDD_EMMCF_2V8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
};
};
};
gpio_keys { gpio_keys {
compatible = "gpio-keys"; compatible = "gpio-keys";
...@@ -376,6 +59,323 @@ &cci { ...@@ -376,6 +59,323 @@ &cci {
status = "disabled"; status = "disabled";
}; };
&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 = <&gpx3>;
interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
pinctrl-names = "default";
pinctrl-0 = <&s2mps11_irq>;
s2mps11_osc: clocks {
#clock-cells = <1>;
clock-output-names = "s2mps11_ap",
"s2mps11_cp", "s2mps11_bt";
};
regulators {
ldo1_reg: LDO1 {
regulator-name = "PVDD_ALIVE_1V0";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo2_reg: LDO2 {
regulator-name = "PVDD_APIO_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo3_reg: LDO3 {
regulator-name = "PVDD_APIO_MMCON_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo4_reg: LDO4 {
regulator-name = "PVDD_ADC_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo5_reg: LDO5 {
regulator-name = "PVDD_PLL_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo6_reg: LDO6 {
regulator-name = "PVDD_ANAIP_1V0";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
};
ldo7_reg: LDO7 {
regulator-name = "PVDD_ANAIP_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo8_reg: LDO8 {
regulator-name = "PVDD_ABB_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo9_reg: LDO9 {
regulator-name = "PVDD_USB_3V3";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
};
ldo10_reg: LDO10 {
regulator-name = "PVDD_PRE_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo11_reg: LDO11 {
regulator-name = "PVDD_USB_1V0";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo12_reg: LDO12 {
regulator-name = "PVDD_HSIC_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo13_reg: LDO13 {
regulator-name = "PVDD_APIO_MMCOFF_2V8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo15_reg: LDO15 {
regulator-name = "PVDD_PERI_2V8";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
ldo16_reg: LDO16 {
regulator-name = "PVDD_PERI_3V3";
regulator-min-microvolt = <2200000>;
regulator-max-microvolt = <2200000>;
};
ldo18_reg: LDO18 {
regulator-name = "PVDD_EMMC_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo19_reg: LDO19 {
regulator-name = "PVDD_TFLASH_2V8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo20_reg: LDO20 {
regulator-name = "PVDD_BTWIFI_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo21_reg: LDO21 {
regulator-name = "PVDD_CAM1IO_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo23_reg: LDO23 {
regulator-name = "PVDD_MIFS_1V1";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
ldo24_reg: LDO24 {
regulator-name = "PVDD_CAM1_AVDD_2V8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo26_reg: LDO26 {
regulator-name = "PVDD_CAM0_AF_2V8";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
};
ldo27_reg: LDO27 {
regulator-name = "PVDD_G3DS_1V0";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
ldo28_reg: LDO28 {
regulator-name = "PVDD_TSP_3V3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
ldo29_reg: LDO29 {
regulator-name = "PVDD_AUDIO_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo31_reg: LDO31 {
regulator-name = "PVDD_PERI_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo32_reg: LDO32 {
regulator-name = "PVDD_LCD_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo33_reg: LDO33 {
regulator-name = "PVDD_CAM0IO_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo35_reg: LDO35 {
regulator-name = "PVDD_CAM0_DVDD_1V2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
ldo38_reg: LDO38 {
regulator-name = "PVDD_CAM0_AVDD_2V8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
buck1_reg: BUCK1 {
regulator-name = "PVDD_MIF_1V1";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
};
buck2_reg: BUCK2 {
regulator-name = "vdd_arm";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
buck3_reg: BUCK3 {
regulator-name = "PVDD_INT_1V0";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
buck4_reg: BUCK4 {
regulator-name = "PVDD_G3D_1V0";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1000000>;
};
buck5_reg: BUCK5 {
regulator-name = "PVDD_LPDDR3_1V2";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
buck6_reg: BUCK6 {
regulator-name = "PVDD_KFC_1V0";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
buck7_reg: BUCK7 {
regulator-name = "VIN_LLDO_1V4";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1400000>;
regulator-always-on;
};
buck8_reg: BUCK8 {
regulator-name = "VIN_MLDO_2V0";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2000000>;
regulator-always-on;
};
buck9_reg: BUCK9 {
regulator-name = "VIN_HLDO_3V5";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3500000>;
regulator-always-on;
};
buck10_reg: BUCK10 {
regulator-name = "PVDD_EMMCF_2V8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
};
};
};
&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>;
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_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>;
vmmc-supply = <&ldo19_reg>;
vqmmc-supply = <&ldo13_reg>;
bus-width = <4>;
cap-sd-highspeed;
};
&pinctrl_0 { &pinctrl_0 {
s2mps11_irq: s2mps11-irq { s2mps11_irq: s2mps11-irq {
samsung,pins = "gpx3-2"; samsung,pins = "gpx3-2";
......
...@@ -1027,7 +1027,7 @@ charger { ...@@ -1027,7 +1027,7 @@ charger {
}; };
}; };
&uart_3 { &serial_3 {
status = "okay"; status = "okay";
}; };
......
...@@ -64,105 +64,6 @@ spkvdd: fixed-regulator@2 { ...@@ -64,105 +64,6 @@ spkvdd: fixed-regulator@2 {
}; };
}; };
rtc@101E0000 {
status = "okay";
};
codec@11000000 {
samsung,mfc-r = <0x43000000 0x800000>;
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-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8
&sd0_rclk>;
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>;
bus-width = <4>;
cap-sd-highspeed;
};
dp-controller@145B0000 {
pinctrl-names = "default";
pinctrl-0 = <&dp_hpd>;
samsung,color-space = <0>;
samsung,dynamic-range = <0>;
samsung,ycbcr-coeff = <0>;
samsung,color-depth = <1>;
samsung,link-rate = <0x0a>;
samsung,lane-count = <4>;
status = "okay";
};
fimd@14400000 {
status = "okay";
display-timings {
native-mode = <&timing0>;
timing0: timing@0 {
clock-frequency = <50000>;
hactive = <2560>;
vactive = <1600>;
hfront-porch = <48>;
hback-porch = <80>;
hsync-len = <32>;
vback-porch = <16>;
vfront-porch = <8>;
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 {
status = "okay";
hpd-gpio = <&gpx3 7 0>;
pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd_irq>;
};
usb300_vbus_reg: regulator-usb300 { usb300_vbus_reg: regulator-usb300 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "VBUS0"; regulator-name = "VBUS0";
...@@ -185,238 +86,338 @@ usb301_vbus_reg: regulator-usb301 { ...@@ -185,238 +86,338 @@ usb301_vbus_reg: regulator-usb301 {
enable-active-high; enable-active-high;
}; };
phy@12100000 { };
vbus-supply = <&usb300_vbus_reg>;
};
phy@12500000 { &dp {
vbus-supply = <&usb301_vbus_reg>; pinctrl-names = "default";
pinctrl-0 = <&dp_hpd>;
samsung,color-space = <0>;
samsung,dynamic-range = <0>;
samsung,ycbcr-coeff = <0>;
samsung,color-depth = <1>;
samsung,link-rate = <0x0a>;
samsung,lane-count = <4>;
status = "okay";
};
&fimd {
status = "okay";
display-timings {
native-mode = <&timing0>;
timing0: timing@0 {
clock-frequency = <50000>;
hactive = <2560>;
vactive = <1600>;
hfront-porch = <48>;
hback-porch = <80>;
hsync-len = <32>;
vback-porch = <16>;
vfront-porch = <8>;
vsync-len = <6>;
};
}; };
};
i2c_2: i2c@12C80000 { &hdmi {
samsung,i2c-sda-delay = <100>; status = "okay";
samsung,i2c-max-bus-freq = <66000>; hpd-gpio = <&gpx3 7 0>;
status = "okay"; pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd_irq>;
};
hdmiddc@50 { &hsi2c_4 {
compatible = "samsung,exynos4210-hdmiddc"; status = "okay";
reg = <0x50>;
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";
}; };
};
hsi2c_4: i2c@12CA0000 { regulators {
status = "okay"; ldo1_reg: LDO1 {
regulator-name = "vdd_ldo1";
s2mps11_pmic@66 { regulator-min-microvolt = <1000000>;
compatible = "samsung,s2mps11-pmic"; regulator-max-microvolt = <1000000>;
reg = <0x66>; regulator-always-on;
s2mps11,buck2-ramp-delay = <12>; };
s2mps11,buck34-ramp-delay = <12>;
s2mps11,buck16-ramp-delay = <12>; ldo3_reg: LDO3 {
s2mps11,buck6-ramp-enable = <1>; regulator-name = "vdd_ldo3";
s2mps11,buck2-ramp-enable = <1>; regulator-min-microvolt = <1800000>;
s2mps11,buck3-ramp-enable = <1>; regulator-max-microvolt = <1800000>;
s2mps11,buck4-ramp-enable = <1>; regulator-always-on;
};
s2mps11_osc: clocks {
#clock-cells = <1>; ldo5_reg: LDO5 {
clock-output-names = "s2mps11_ap", regulator-name = "vdd_ldo5";
"s2mps11_cp", "s2mps11_bt"; 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;
}; };
regulators { ldo13_reg: LDO13 {
ldo1_reg: LDO1 { regulator-name = "vdd_ldo13";
regulator-name = "vdd_ldo1"; regulator-min-microvolt = <2800000>;
regulator-min-microvolt = <1000000>; regulator-max-microvolt = <2800000>;
regulator-max-microvolt = <1000000>; regulator-always-on;
regulator-always-on; };
};
ldo15_reg: LDO15 {
ldo3_reg: LDO3 { regulator-name = "vdd_ldo15";
regulator-name = "vdd_ldo3"; regulator-min-microvolt = <3100000>;
regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3100000>;
regulator-max-microvolt = <1800000>; regulator-always-on;
regulator-always-on; };
};
ldo16_reg: LDO16 {
ldo5_reg: LDO5 { regulator-name = "vdd_ldo16";
regulator-name = "vdd_ldo5"; regulator-min-microvolt = <2200000>;
regulator-min-microvolt = <1800000>; regulator-max-microvolt = <2200000>;
regulator-max-microvolt = <1800000>; regulator-always-on;
regulator-always-on; };
};
ldo17_reg: LDO17 {
ldo6_reg: LDO6 { regulator-name = "tsp_avdd";
regulator-name = "vdd_ldo6"; regulator-min-microvolt = <3300000>;
regulator-min-microvolt = <1000000>; regulator-max-microvolt = <3300000>;
regulator-max-microvolt = <1000000>; regulator-always-on;
regulator-always-on; };
};
ldo19_reg: LDO19 {
ldo7_reg: LDO7 { regulator-name = "vdd_sd";
regulator-name = "vdd_ldo7"; regulator-min-microvolt = <2800000>;
regulator-min-microvolt = <1800000>; regulator-max-microvolt = <2800000>;
regulator-max-microvolt = <1800000>; regulator-always-on;
regulator-always-on; };
};
ldo24_reg: LDO24 {
ldo8_reg: LDO8 { regulator-name = "tsp_io";
regulator-name = "vdd_ldo8"; regulator-min-microvolt = <2800000>;
regulator-min-microvolt = <1800000>; regulator-max-microvolt = <2800000>;
regulator-max-microvolt = <1800000>; regulator-always-on;
regulator-always-on; };
};
buck1_reg: BUCK1 {
ldo9_reg: LDO9 { regulator-name = "vdd_mif";
regulator-name = "vdd_ldo9"; regulator-min-microvolt = <800000>;
regulator-min-microvolt = <3000000>; regulator-max-microvolt = <1300000>;
regulator-max-microvolt = <3000000>; regulator-always-on;
regulator-always-on; regulator-boot-on;
}; };
ldo10_reg: LDO10 { buck2_reg: BUCK2 {
regulator-name = "vdd_ldo10"; regulator-name = "vdd_arm";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1500000>;
regulator-always-on; regulator-always-on;
}; regulator-boot-on;
};
ldo11_reg: LDO11 {
regulator-name = "vdd_ldo11"; buck3_reg: BUCK3 {
regulator-min-microvolt = <1000000>; regulator-name = "vdd_int";
regulator-max-microvolt = <1000000>; regulator-min-microvolt = <800000>;
regulator-always-on; regulator-max-microvolt = <1400000>;
}; regulator-always-on;
regulator-boot-on;
ldo12_reg: LDO12 { };
regulator-name = "vdd_ldo12";
regulator-min-microvolt = <1800000>; buck4_reg: BUCK4 {
regulator-max-microvolt = <1800000>; regulator-name = "vdd_g3d";
regulator-always-on; regulator-min-microvolt = <800000>;
}; regulator-max-microvolt = <1400000>;
regulator-always-on;
ldo13_reg: LDO13 { regulator-boot-on;
regulator-name = "vdd_ldo13"; };
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; buck5_reg: BUCK5 {
regulator-always-on; regulator-name = "vdd_mem";
}; regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1400000>;
ldo15_reg: LDO15 { regulator-always-on;
regulator-name = "vdd_ldo15"; regulator-boot-on;
regulator-min-microvolt = <3100000>; };
regulator-max-microvolt = <3100000>;
regulator-always-on; buck6_reg: BUCK6 {
}; regulator-name = "vdd_kfc";
regulator-min-microvolt = <800000>;
ldo16_reg: LDO16 { regulator-max-microvolt = <1500000>;
regulator-name = "vdd_ldo16"; regulator-always-on;
regulator-min-microvolt = <2200000>; regulator-boot-on;
regulator-max-microvolt = <2200000>; };
regulator-always-on;
}; buck7_reg: BUCK7 {
regulator-name = "vdd_1.0v_ldo";
ldo17_reg: LDO17 { regulator-min-microvolt = <800000>;
regulator-name = "tsp_avdd"; regulator-max-microvolt = <1500000>;
regulator-min-microvolt = <3300000>; regulator-always-on;
regulator-max-microvolt = <3300000>; regulator-boot-on;
regulator-always-on; };
};
buck8_reg: BUCK8 {
ldo19_reg: LDO19 { regulator-name = "vdd_1.8v_ldo";
regulator-name = "vdd_sd"; regulator-min-microvolt = <800000>;
regulator-min-microvolt = <2800000>; regulator-max-microvolt = <1500000>;
regulator-max-microvolt = <2800000>; regulator-always-on;
regulator-always-on; regulator-boot-on;
}; };
ldo24_reg: LDO24 { buck9_reg: BUCK9 {
regulator-name = "tsp_io"; regulator-name = "vdd_2.8v_ldo";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <3750000>;
regulator-always-on; regulator-always-on;
}; regulator-boot-on;
};
buck1_reg: BUCK1 {
regulator-name = "vdd_mif"; buck10_reg: BUCK10 {
regulator-min-microvolt = <800000>; regulator-name = "vdd_vmem";
regulator-max-microvolt = <1300000>; regulator-min-microvolt = <2850000>;
regulator-always-on; regulator-max-microvolt = <2850000>;
regulator-boot-on; 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;
};
}; };
}; };
}; };
}; };
&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,59 +20,58 @@ chosen { ...@@ -20,59 +20,58 @@ 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 {
flash: w25q128@0 { compatible = "samsung,clock-xtal";
#address-cells = <1>; clock-frequency = <50000000>;
#size-cells = <1>; };
compatible = "winbond,w25q128"; };
spi-max-frequency = <15625000>; };
reg = <0>;
controller-data {
samsung,spi-feedback-delay = <0>;
};
partition@00000 { &pcie_0 {
label = "BootLoader"; reset-gpio = <&pin_ctrl 5 0>;
reg = <0x60000 0x80000>; status = "okay";
read-only; };
};
partition@e0000 { &pcie_1 {
label = "Recovery-Kernel"; reset-gpio = <&pin_ctrl 22 0>;
reg = <0xe0000 0x300000>; status = "okay";
read-only; };
};
partition@3e0000 { &spi_0 {
label = "CRAM-FS"; flash: w25q128@0 {
reg = <0x3e0000 0x700000>; #address-cells = <1>;
read-only; #size-cells = <1>;
}; compatible = "winbond,w25q128";
spi-max-frequency = <15625000>;
reg = <0>;
controller-data {
samsung,spi-feedback-delay = <0>;
};
partition@ae0000 { partition@00000 {
label = "User-Data"; label = "BootLoader";
reg = <0xae0000 0x520000>; reg = <0x60000 0x80000>;
}; read-only;
};
partition@e0000 {
label = "Recovery-Kernel";
reg = <0xe0000 0x300000>;
read-only;
}; };
}; partition@3e0000 {
label = "CRAM-FS";
reg = <0x3e0000 0x700000>;
read-only;
};
fixed-rate-clocks { partition@ae0000 {
xtal { label = "User-Data";
compatible = "samsung,clock-xtal"; reg = <0xae0000 0x520000>;
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 {
status = "okay"; pinctrl-names = "default";
pinctrl-names = "default"; pinctrl-0 = <&sd1_clk>, <&sd1_cmd>,
pinctrl-0 = <&uart1_data>, <&uart1_fctl>; <&sd1_bus1>, <&sd1_bus4>;
}; bus-width = <4>;
broken-cd;
status = "okay";
};
serial@50008000 { &sdhci_1 {
status = "okay"; pinctrl-names = "default";
pinctrl-names = "default"; pinctrl-0 = <&sd0_clk>, <&sd0_cmd>,
pinctrl-0 = <&uart2_data>; <&sd0_bus1>, <&sd0_bus4>;
}; bus-width = <4>;
cd-gpios = <&gpf 1 0>;
cd-inverted;
status = "okay";
};
serial@5000C000 { &uart_0 {
status = "okay"; status = "okay";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart3_data>; pinctrl-0 = <&uart0_data>, <&uart0_fctl>;
}; };
watchdog@53000000 { &uart_1 {
status = "okay"; status = "okay";
}; pinctrl-names = "default";
pinctrl-0 = <&uart1_data>, <&uart1_fctl>;
};
rtc@57000000 { &uart_2 {
status = "okay"; status = "okay";
}; pinctrl-names = "default";
pinctrl-0 = <&uart2_data>;
};
sdhci@4AC00000 { &uart_3 {
pinctrl-names = "default"; status = "okay";
pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, pinctrl-names = "default";
<&sd0_bus1>, <&sd0_bus4>; pinctrl-0 = <&uart3_data>;
bus-width = <4>; };
cd-gpios = <&gpf 1 0>;
cd-inverted;
status = "okay";
};
sdhci@4A800000 { &watchdog {
pinctrl-names = "default"; status = "okay";
pinctrl-0 = <&sd1_clk>, <&sd1_cmd>,
<&sd1_bus1>, <&sd1_bus4>;
bus-width = <4>;
broken-cd;
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