Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
7b27fa25
Commit
7b27fa25
authored
Oct 01, 2012
by
Olof Johansson
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'next/dt2' into HEAD
Conflicts: arch/arm/mach-exynos/clock-exynos5.c
parents
a8e1ceb7
6fd9b70e
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
644 additions
and
326 deletions
+644
-326
arch/arm/boot/dts/exynos4.dtsi
arch/arm/boot/dts/exynos4.dtsi
+248
-0
arch/arm/boot/dts/exynos4210-origen.dts
arch/arm/boot/dts/exynos4210-origen.dts
+7
-56
arch/arm/boot/dts/exynos4210-smdkv310.dts
arch/arm/boot/dts/exynos4210-smdkv310.dts
+5
-49
arch/arm/boot/dts/exynos4210-trats.dts
arch/arm/boot/dts/exynos4210-trats.dts
+237
-0
arch/arm/boot/dts/exynos4210.dtsi
arch/arm/boot/dts/exynos4210.dtsi
+5
-181
arch/arm/boot/dts/exynos5250-smdk5250.dts
arch/arm/boot/dts/exynos5250-smdk5250.dts
+58
-1
arch/arm/boot/dts/exynos5250.dtsi
arch/arm/boot/dts/exynos5250.dtsi
+32
-0
arch/arm/mach-exynos/Makefile.boot
arch/arm/mach-exynos/Makefile.boot
+1
-1
arch/arm/mach-exynos/clock-exynos5.c
arch/arm/mach-exynos/clock-exynos5.c
+16
-29
arch/arm/mach-exynos/include/mach/map.h
arch/arm/mach-exynos/include/mach/map.h
+4
-0
arch/arm/mach-exynos/mach-exynos4-dt.c
arch/arm/mach-exynos/mach-exynos4-dt.c
+23
-9
arch/arm/mach-exynos/mach-exynos5-dt.c
arch/arm/mach-exynos/mach-exynos5-dt.c
+8
-0
No files found.
arch/arm/boot/dts/exynos4.dtsi
0 → 100644
View file @
7b27fa25
/*
* Samsung's Exynos4 SoC series common device tree source
*
* Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
* http://www.samsung.com
* Copyright (c) 2010-2011 Linaro Ltd.
* www.linaro.org
*
* Samsung's Exynos4 SoC series device nodes are listed in this file. Particular
* SoCs from Exynos4 series can include this file and provide values for SoCs
* specfic bindings.
*
* Note: This file does not include device nodes for all the controllers in
* Exynos4 SoCs. As device tree coverage for Exynos4 increases, additional
* nodes can be added to this file.
*
* 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/ "skeleton.dtsi"
/ {
interrupt-parent = <&gic>;
aliases {
spi0 = &spi_0;
spi1 = &spi_1;
spi2 = &spi_2;
};
gic:interrupt-controller@10490000 {
compatible = "arm,cortex-a9-gic";
#interrupt-cells = <3>;
interrupt-controller;
reg = <0x10490000 0x1000>, <0x10480000 0x100>;
};
combiner:interrupt-controller@10440000 {
compatible = "samsung,exynos4210-combiner";
#interrupt-cells = <2>;
interrupt-controller;
reg = <0x10440000 0x1000>;
};
watchdog@10060000 {
compatible = "samsung,s3c2410-wdt";
reg = <0x10060000 0x100>;
interrupts = <0 43 0>;
status = "disabled";
};
rtc@10070000 {
compatible = "samsung,s3c6410-rtc";
reg = <0x10070000 0x100>;
interrupts = <0 44 0>, <0 45 0>;
status = "disabled";
};
keypad@100A0000 {
compatible = "samsung,s5pv210-keypad";
reg = <0x100A0000 0x100>;
interrupts = <0 109 0>;
status = "disabled";
};
sdhci@12510000 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x12510000 0x100>;
interrupts = <0 73 0>;
status = "disabled";
};
sdhci@12520000 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x12520000 0x100>;
interrupts = <0 74 0>;
status = "disabled";
};
sdhci@12530000 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x12530000 0x100>;
interrupts = <0 75 0>;
status = "disabled";
};
sdhci@12540000 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x12540000 0x100>;
interrupts = <0 76 0>;
status = "disabled";
};
serial@13800000 {
compatible = "samsung,exynos4210-uart";
reg = <0x13800000 0x100>;
interrupts = <0 52 0>;
status = "disabled";
};
serial@13810000 {
compatible = "samsung,exynos4210-uart";
reg = <0x13810000 0x100>;
interrupts = <0 53 0>;
status = "disabled";
};
serial@13820000 {
compatible = "samsung,exynos4210-uart";
reg = <0x13820000 0x100>;
interrupts = <0 54 0>;
status = "disabled";
};
serial@13830000 {
compatible = "samsung,exynos4210-uart";
reg = <0x13830000 0x100>;
interrupts = <0 55 0>;
status = "disabled";
};
i2c@13860000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
reg = <0x13860000 0x100>;
interrupts = <0 58 0>;
status = "disabled";
};
i2c@13870000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
reg = <0x13870000 0x100>;
interrupts = <0 59 0>;
status = "disabled";
};
i2c@13880000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
reg = <0x13880000 0x100>;
interrupts = <0 60 0>;
status = "disabled";
};
i2c@13890000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
reg = <0x13890000 0x100>;
interrupts = <0 61 0>;
status = "disabled";
};
i2c@138A0000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
reg = <0x138A0000 0x100>;
interrupts = <0 62 0>;
status = "disabled";
};
i2c@138B0000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
reg = <0x138B0000 0x100>;
interrupts = <0 63 0>;
status = "disabled";
};
i2c@138C0000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
reg = <0x138C0000 0x100>;
interrupts = <0 64 0>;
status = "disabled";
};
i2c@138D0000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
reg = <0x138D0000 0x100>;
interrupts = <0 65 0>;
status = "disabled";
};
spi_0: spi@13920000 {
compatible = "samsung,exynos4210-spi";
reg = <0x13920000 0x100>;
interrupts = <0 66 0>;
tx-dma-channel = <&pdma0 7>; /* preliminary */
rx-dma-channel = <&pdma0 6>; /* preliminary */
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};
spi_1: spi@13930000 {
compatible = "samsung,exynos4210-spi";
reg = <0x13930000 0x100>;
interrupts = <0 67 0>;
tx-dma-channel = <&pdma1 7>; /* preliminary */
rx-dma-channel = <&pdma1 6>; /* preliminary */
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};
spi_2: spi@13940000 {
compatible = "samsung,exynos4210-spi";
reg = <0x13940000 0x100>;
interrupts = <0 68 0>;
tx-dma-channel = <&pdma0 9>; /* preliminary */
rx-dma-channel = <&pdma0 8>; /* preliminary */
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};
amba {
#address-cells = <1>;
#size-cells = <1>;
compatible = "arm,amba-bus";
interrupt-parent = <&gic>;
ranges;
pdma0: pdma@12680000 {
compatible = "arm,pl330", "arm,primecell";
reg = <0x12680000 0x1000>;
interrupts = <0 35 0>;
};
pdma1: pdma@12690000 {
compatible = "arm,pl330", "arm,primecell";
reg = <0x12690000 0x1000>;
interrupts = <0 36 0>;
};
};
};
arch/arm/boot/dts/exynos4210-origen.dts
View file @
7b27fa25
...
...
@@ -40,6 +40,7 @@ sdhci@12530000 {
<&gpk2 4 2 3 3>,
<&gpk2 5 2 3 3>,
<&gpk2 6 2 3 3>;
status = "okay";
};
sdhci@12510000 {
...
...
@@ -53,6 +54,7 @@ sdhci@12510000 {
<&gpk0 4 2 3 3>,
<&gpk0 5 2 3 3>,
<&gpk0 6 2 3 3>;
status = "okay";
};
gpio_keys {
...
...
@@ -64,30 +66,35 @@ up {
label = "Up";
gpios = <&gpx2 0 0 0x10000 2>;
linux,code = <103>;
gpio-key,wakeup;
};
down {
label = "Down";
gpios = <&gpx2 1 0 0x10000 2>;
linux,code = <108>;
gpio-key,wakeup;
};
back {
label = "Back";
gpios = <&gpx1 7 0 0x10000 2>;
linux,code = <158>;
gpio-key,wakeup;
};
home {
label = "Home";
gpios = <&gpx1 6 0 0x10000 2>;
linux,code = <102>;
gpio-key,wakeup;
};
menu {
label = "Menu";
gpios = <&gpx1 5 0 0x10000 2>;
linux,code = <139>;
gpio-key,wakeup;
};
};
...
...
@@ -98,60 +105,4 @@ status {
linux,default-trigger = "heartbeat";
};
};
keypad@100A0000 {
status = "disabled";
};
sdhci@12520000 {
status = "disabled";
};
sdhci@12540000 {
status = "disabled";
};
i2c@13860000 {
status = "disabled";
};
i2c@13870000 {
status = "disabled";
};
i2c@13880000 {
status = "disabled";
};
i2c@13890000 {
status = "disabled";
};
i2c@138A0000 {
status = "disabled";
};
i2c@138B0000 {
status = "disabled";
};
i2c@138C0000 {
status = "disabled";
};
i2c@138D0000 {
status = "disabled";
};
spi_0: spi@13920000 {
status = "disabled";
};
spi_1: spi@13930000 {
status = "disabled";
};
spi_2: spi@13940000 {
status = "disabled";
};
};
arch/arm/boot/dts/exynos4210-smdkv310.dts
View file @
7b27fa25
...
...
@@ -26,7 +26,7 @@ memory {
};
chosen {
bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC
1
,115200 init=/linuxrc";
bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC
2
,115200 init=/linuxrc";
};
sdhci@12530000 {
...
...
@@ -40,6 +40,7 @@ sdhci@12530000 {
<&gpk2 4 2 3 3>,
<&gpk2 5 2 3 3>,
<&gpk2 6 2 3 3>;
status = "okay";
};
keypad@100A0000 {
...
...
@@ -47,6 +48,7 @@ keypad@100A0000 {
samsung,keypad-num-columns = <8>;
linux,keypad-no-autorepeat;
linux,keypad-wakeup;
status = "okay";
row-gpios = <&gpx2 0 3 3 0>,
<&gpx2 1 3 3 0>;
...
...
@@ -128,6 +130,7 @@ i2c@13860000 {
samsung,i2c-max-bus-freq = <20000>;
gpios = <&gpd1 0 2 3 0>,
<&gpd1 1 2 3 0>;
status = "okay";
eeprom@50 {
compatible = "samsung,24ad0xd1";
...
...
@@ -140,58 +143,11 @@ eeprom@52 {
};
};
sdhci@12510000 {
status = "disabled";
};
sdhci@12520000 {
status = "disabled";
};
sdhci@12540000 {
status = "disabled";
};
i2c@13870000 {
status = "disabled";
};
i2c@13880000 {
status = "disabled";
};
i2c@13890000 {
status = "disabled";
};
i2c@138A0000 {
status = "disabled";
};
i2c@138B0000 {
status = "disabled";
};
i2c@138C0000 {
status = "disabled";
};
i2c@138D0000 {
status = "disabled";
};
spi_0: spi@13920000 {
status = "disabled";
};
spi_1: spi@13930000 {
status = "disabled";
};
spi_2: spi@13940000 {
gpios = <&gpc1 1 5 3 0>,
<&gpc1 3 5 3 0>,
<&gpc1 4 5 3 0>;
status = "okay";
w25x80@0 {
#address-cells = <1>;
...
...
arch/arm/boot/dts/exynos4210-trats.dts
0 → 100644
View file @
7b27fa25
/*
*
Samsung
's Exynos4210 based Trats board device tree source
*
* Copyright (c) 2012 Samsung Electronics Co., Ltd.
* http://www.samsung.com
*
* Device tree source file for Samsung'
s
Trats
board
which
is
based
on
*
Samsung
's Exynos4210 SoC.
*
* 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/ "exynos4210.dtsi"
/ {
model = "Samsung Trats based on Exynos4210";
compatible = "samsung,trats", "samsung,exynos4210";
memory {
reg = <0x40000000 0x20000000
0x60000000 0x20000000>;
};
chosen {
bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
};
vemmc_reg: voltage-regulator@0 {
compatible = "regulator-fixed";
regulator-name = "VMEM_VDD_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
gpio = <&gpk0 2 1 0 0>;
enable-active-high;
};
sdhci_emmc: sdhci@12510000 {
bus-width = <8>;
non-removable;
broken-voltage;
gpios = <&gpk0 0 2 0 3>,
<&gpk0 1 2 0 3>,
<&gpk0 3 2 2 3>,
<&gpk0 4 2 2 3>,
<&gpk0 5 2 2 3>,
<&gpk0 6 2 2 3>,
<&gpk1 3 3 3 3>,
<&gpk1 4 3 3 3>,
<&gpk1 5 3 3 3>,
<&gpk1 6 3 3 3>;
vmmc-supply = <&vemmc_reg>;
status = "okay";
};
serial@13800000 {
status = "okay";
};
serial@13810000 {
status = "okay";
};
serial@13820000 {
status = "okay";
};
serial@13830000 {
status = "okay";
};
i2c@138B0000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <100000>;
gpios = <&gpb 6 3 3 0>,
<&gpb 7 3 3 0>;
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 1 0 0>,
<&gpx0 6 1 0 0>,
<&gpl0 0 1 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;
};
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 {
regulator-name = "VARM_1.2V_C210";
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;
};
};
};
};
};
arch/arm/boot/dts/exynos4210.dtsi
View file @
7b27fa25
...
...
@@ -19,35 +19,23 @@
* published by the Free Software Foundation.
*/
/include/ "
skeleton
.dtsi"
/include/ "
exynos4
.dtsi"
/include/ "exynos4210-pinctrl.dtsi"
/ {
compatible = "samsung,exynos4210";
interrupt-parent = <&gic>;
aliases {
spi0 = &spi_0;
spi1 = &spi_1;
spi2 = &spi_2;
pinctrl0 = &pinctrl_0;
pinctrl1 = &pinctrl_1;
pinctrl2 = &pinctrl_2;
};
gic:interrupt-controller@10490000 {
compatible = "arm,cortex-a9-gic";
#interrupt-cells = <3>;
interrupt-controller;
cpu-offset = <0x8000>;
reg = <0x10490000 0x1000>, <0x10480000 0x100>;
};
combiner:interrupt-controller@10440000 {
compatible = "samsung,exynos4210-combiner";
#interrupt-cells = <2>;
interrupt-controller;
reg = <0x10440000 0x1000>;
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>,
...
...
@@ -75,10 +63,10 @@ wakup_eint: wakeup-interrupt-controller {
interrupt-controller;
#interrupt-cells = <2>;
interrupts = <0 16 0>, <0 17 0>, <0 18 0>, <0 19 0>,
<0 20 0>, <0 21 0>, <0 22 0>, <0 23 0>,
<0 24 0>, <0 25 0>, <0 26 0>, <0 27 0>,
<0 28 0>, <0 29 0>, <0 30 0>, <0 31 0>,
<0 32 0>;
<0 20 0>, <0 21 0>, <0 22 0>, <0 23 0>,
<0 24 0>, <0 25 0>, <0 26 0>, <0 27 0>,
<0 28 0>, <0 29 0>, <0 30 0>, <0 31 0>,
<0 32 0>;
};
};
...
...
@@ -87,170 +75,6 @@ pinctrl_2: pinctrl@03860000 {
reg = <0x03860000 0x1000>;
};
watchdog@10060000 {
compatible = "samsung,s3c2410-wdt";
reg = <0x10060000 0x100>;
interrupts = <0 43 0>;
};
rtc@10070000 {
compatible = "samsung,s3c6410-rtc";
reg = <0x10070000 0x100>;
interrupts = <0 44 0>, <0 45 0>;
};
keypad@100A0000 {
compatible = "samsung,s5pv210-keypad";
reg = <0x100A0000 0x100>;
interrupts = <0 109 0>;
};
sdhci@12510000 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x12510000 0x100>;
interrupts = <0 73 0>;
};
sdhci@12520000 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x12520000 0x100>;
interrupts = <0 74 0>;
};
sdhci@12530000 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x12530000 0x100>;
interrupts = <0 75 0>;
};
sdhci@12540000 {
compatible = "samsung,exynos4210-sdhci";
reg = <0x12540000 0x100>;
interrupts = <0 76 0>;
};
serial@13800000 {
compatible = "samsung,exynos4210-uart";
reg = <0x13800000 0x100>;
interrupts = <0 52 0>;
};
serial@13810000 {
compatible = "samsung,exynos4210-uart";
reg = <0x13810000 0x100>;
interrupts = <0 53 0>;
};
serial@13820000 {
compatible = "samsung,exynos4210-uart";
reg = <0x13820000 0x100>;
interrupts = <0 54 0>;
};
serial@13830000 {
compatible = "samsung,exynos4210-uart";
reg = <0x13830000 0x100>;
interrupts = <0 55 0>;
};
i2c@13860000 {
compatible = "samsung,s3c2440-i2c";
reg = <0x13860000 0x100>;
interrupts = <0 58 0>;
};
i2c@13870000 {
compatible = "samsung,s3c2440-i2c";
reg = <0x13870000 0x100>;
interrupts = <0 59 0>;
};
i2c@13880000 {
compatible = "samsung,s3c2440-i2c";
reg = <0x13880000 0x100>;
interrupts = <0 60 0>;
};
i2c@13890000 {
compatible = "samsung,s3c2440-i2c";
reg = <0x13890000 0x100>;
interrupts = <0 61 0>;
};
i2c@138A0000 {
compatible = "samsung,s3c2440-i2c";
reg = <0x138A0000 0x100>;
interrupts = <0 62 0>;
};
i2c@138B0000 {
compatible = "samsung,s3c2440-i2c";
reg = <0x138B0000 0x100>;
interrupts = <0 63 0>;
};
i2c@138C0000 {
compatible = "samsung,s3c2440-i2c";
reg = <0x138C0000 0x100>;
interrupts = <0 64 0>;
};
i2c@138D0000 {
compatible = "samsung,s3c2440-i2c";
reg = <0x138D0000 0x100>;
interrupts = <0 65 0>;
};
spi_0: spi@13920000 {
compatible = "samsung,exynos4210-spi";
reg = <0x13920000 0x100>;
interrupts = <0 66 0>;
tx-dma-channel = <&pdma0 7>; /* preliminary */
rx-dma-channel = <&pdma0 6>; /* preliminary */
#address-cells = <1>;
#size-cells = <0>;
};
spi_1: spi@13930000 {
compatible = "samsung,exynos4210-spi";
reg = <0x13930000 0x100>;
interrupts = <0 67 0>;
tx-dma-channel = <&pdma1 7>; /* preliminary */
rx-dma-channel = <&pdma1 6>; /* preliminary */
#address-cells = <1>;
#size-cells = <0>;
};
spi_2: spi@13940000 {
compatible = "samsung,exynos4210-spi";
reg = <0x13940000 0x100>;
interrupts = <0 68 0>;
tx-dma-channel = <&pdma0 9>; /* preliminary */
rx-dma-channel = <&pdma0 8>; /* preliminary */
#address-cells = <1>;
#size-cells = <0>;
};
amba {
#address-cells = <1>;
#size-cells = <1>;
compatible = "arm,amba-bus";
interrupt-parent = <&gic>;
ranges;
pdma0: pdma@12680000 {
compatible = "arm,pl330", "arm,primecell";
reg = <0x12680000 0x1000>;
interrupts = <0 35 0>;
};
pdma1: pdma@12690000 {
compatible = "arm,pl330", "arm,primecell";
reg = <0x12690000 0x1000>;
interrupts = <0 36 0>;
};
};
gpio-controllers {
#address-cells = <1>;
#size-cells = <1>;
...
...
arch/arm/boot/dts/exynos5250-smdk5250.dts
View file @
7b27fa25
...
...
@@ -16,12 +16,19 @@ / {
model
=
"SAMSUNG SMDK5250 board based on EXYNOS5250"
;
compatible
=
"samsung,smdk5250"
,
"samsung,exynos5250"
;
aliases
{
mshc0
=
&
dwmmc_0
;
mshc1
=
&
dwmmc_1
;
mshc2
=
&
dwmmc_2
;
mshc3
=
&
dwmmc_3
;
};
memory
{
reg
=
<
0x40000000
0x80000000
>;
};
chosen
{
bootargs
=
"root=/dev/ram0 rw ramdisk=8192
console=ttySAC1,115200
"
;
bootargs
=
"root=/dev/ram0 rw ramdisk=8192
initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc
"
;
};
i2c
@
12
C60000
{
...
...
@@ -72,6 +79,56 @@ i2c@12CD0000 {
status
=
"disabled"
;
};
dwmmc_0
:
dwmmc0
@
12200000
{
num
-
slots
=
<
1
>;
supports
-
highspeed
;
broken
-
cd
;
fifo
-
depth
=
<
0x80
>;
card
-
detect
-
delay
=
<
200
>;
samsung
,
dw
-
mshc
-
ciu
-
div
=
<
3
>;
samsung
,
dw
-
mshc
-
sdr
-
timing
=
<
2
3
3
>;
samsung
,
dw
-
mshc
-
ddr
-
timing
=
<
1
2
3
>;
slot
@
0
{
reg
=
<
0
>;
bus
-
width
=
<
8
>;
gpios
=
<&
gpc0
0
2
0
3
>,
<&
gpc0
1
2
0
3
>,
<&
gpc1
0
2
3
3
>,
<&
gpc1
1
2
3
3
>,
<&
gpc1
2
2
3
3
>,
<&
gpc1
3
2
3
3
>,
<&
gpc0
3
2
3
3
>,
<&
gpc0
4
2
3
3
>,
<&
gpc0
5
2
3
3
>,
<&
gpc0
6
2
3
3
>;
};
};
dwmmc_1
:
dwmmc1
@
12210000
{
status
=
"disabled"
;
};
dwmmc_2
:
dwmmc2
@
12220000
{
num
-
slots
=
<
1
>;
supports
-
highspeed
;
fifo
-
depth
=
<
0x80
>;
card
-
detect
-
delay
=
<
200
>;
samsung
,
dw
-
mshc
-
ciu
-
div
=
<
3
>;
samsung
,
dw
-
mshc
-
sdr
-
timing
=
<
2
3
3
>;
samsung
,
dw
-
mshc
-
ddr
-
timing
=
<
1
2
3
>;
slot
@
0
{
reg
=
<
0
>;
bus
-
width
=
<
4
>;
samsung
,
cd
-
pinmux
-
gpio
=
<&
gpc3
2
2
3
3
>;
gpios
=
<&
gpc3
0
2
0
3
>,
<&
gpc3
1
2
0
3
>,
<&
gpc3
3
2
3
3
>,
<&
gpc3
4
2
3
3
>,
<&
gpc3
5
2
3
3
>,
<&
gpc3
6
2
3
3
>,
<&
gpc4
3
3
3
3
>,
<&
gpc4
3
3
3
3
>,
<&
gpc4
5
3
3
3
>,
<&
gpc4
6
3
3
3
>;
};
};
dwmmc_3
:
dwmmc3
@
12230000
{
status
=
"disabled"
;
};
spi_0
:
spi
@
12
d20000
{
status
=
"disabled"
;
};
...
...
arch/arm/boot/dts/exynos5250.dtsi
View file @
7b27fa25
...
...
@@ -186,6 +186,38 @@ spi_2: spi@12d40000 {
#size-cells = <0>;
};
dwmmc0@12200000 {
compatible = "samsung,exynos5250-dw-mshc";
reg = <0x12200000 0x1000>;
interrupts = <0 75 0>;
#address-cells = <1>;
#size-cells = <0>;
};
dwmmc1@12210000 {
compatible = "samsung,exynos5250-dw-mshc";
reg = <0x12210000 0x1000>;
interrupts = <0 76 0>;
#address-cells = <1>;
#size-cells = <0>;
};
dwmmc2@12220000 {
compatible = "samsung,exynos5250-dw-mshc";
reg = <0x12220000 0x1000>;
interrupts = <0 77 0>;
#address-cells = <1>;
#size-cells = <0>;
};
dwmmc3@12230000 {
compatible = "samsung,exynos5250-dw-mshc";
reg = <0x12230000 0x1000>;
interrupts = <0 78 0>;
#address-cells = <1>;
#size-cells = <0>;
};
amba {
#address-cells = <1>;
#size-cells = <1>;
...
...
arch/arm/mach-exynos/Makefile.boot
View file @
7b27fa25
zreladdr-y
+=
0x40008000
params_phys-y
:=
0x40000100
dtb-$(CONFIG_MACH_EXYNOS4_DT)
+=
exynos4210-origen.dtb exynos4210-smdkv310.dtb
dtb-$(CONFIG_MACH_EXYNOS4_DT)
+=
exynos4210-origen.dtb exynos4210-smdkv310.dtb
exynos4210-trats.dtb
dtb-$(CONFIG_MACH_EXYNOS5_DT)
+=
exynos5250-smdk5250.dtb
arch/arm/mach-exynos/clock-exynos5.c
View file @
7b27fa25
...
...
@@ -626,34 +626,29 @@ static struct clk exynos5_init_clocks_off[] = {
.
enable
=
exynos5_clk_ip_peris_ctrl
,
.
ctrlbit
=
(
1
<<
19
),
},
{
.
name
=
"
hsmmc"
,
.
devname
=
"
exynos4-sdhci
.0"
,
.
name
=
"
biu"
,
/* bus interface unit clock */
.
devname
=
"
dw_mmc
.0"
,
.
parent
=
&
exynos5_clk_aclk_200
.
clk
,
.
enable
=
exynos5_clk_ip_fsys_ctrl
,
.
ctrlbit
=
(
1
<<
12
),
},
{
.
name
=
"
hsmmc
"
,
.
devname
=
"
exynos4-sdhci
.1"
,
.
name
=
"
biu
"
,
.
devname
=
"
dw_mmc
.1"
,
.
parent
=
&
exynos5_clk_aclk_200
.
clk
,
.
enable
=
exynos5_clk_ip_fsys_ctrl
,
.
ctrlbit
=
(
1
<<
13
),
},
{
.
name
=
"
hsmmc
"
,
.
devname
=
"
exynos4-sdhci
.2"
,
.
name
=
"
biu
"
,
.
devname
=
"
dw_mmc
.2"
,
.
parent
=
&
exynos5_clk_aclk_200
.
clk
,
.
enable
=
exynos5_clk_ip_fsys_ctrl
,
.
ctrlbit
=
(
1
<<
14
),
},
{
.
name
=
"
hsmmc
"
,
.
devname
=
"
exynos4-sdhci
.3"
,
.
name
=
"
biu
"
,
.
devname
=
"
dw_mmc
.3"
,
.
parent
=
&
exynos5_clk_aclk_200
.
clk
,
.
enable
=
exynos5_clk_ip_fsys_ctrl
,
.
ctrlbit
=
(
1
<<
15
),
},
{
.
name
=
"dwmci"
,
.
parent
=
&
exynos5_clk_aclk_200
.
clk
,
.
enable
=
exynos5_clk_ip_fsys_ctrl
,
.
ctrlbit
=
(
1
<<
16
),
},
{
.
name
=
"sata"
,
.
devname
=
"ahci"
,
...
...
@@ -1095,8 +1090,8 @@ static struct clksrc_clk exynos5_clk_sclk_uart3 = {
static
struct
clksrc_clk
exynos5_clk_sclk_mmc0
=
{
.
clk
=
{
.
name
=
"
sclk_mmc"
,
.
devname
=
"
exynos4-sdhci
.0"
,
.
name
=
"
ciu"
,
/* card interface unit clock */
.
devname
=
"
dw_mmc
.0"
,
.
parent
=
&
exynos5_clk_dout_mmc0
.
clk
,
.
enable
=
exynos5_clksrc_mask_fsys_ctrl
,
.
ctrlbit
=
(
1
<<
0
),
...
...
@@ -1106,8 +1101,8 @@ static struct clksrc_clk exynos5_clk_sclk_mmc0 = {
static
struct
clksrc_clk
exynos5_clk_sclk_mmc1
=
{
.
clk
=
{
.
name
=
"
sclk_mmc
"
,
.
devname
=
"
exynos4-sdhci
.1"
,
.
name
=
"
ciu
"
,
.
devname
=
"
dw_mmc
.1"
,
.
parent
=
&
exynos5_clk_dout_mmc1
.
clk
,
.
enable
=
exynos5_clksrc_mask_fsys_ctrl
,
.
ctrlbit
=
(
1
<<
4
),
...
...
@@ -1117,8 +1112,8 @@ static struct clksrc_clk exynos5_clk_sclk_mmc1 = {
static
struct
clksrc_clk
exynos5_clk_sclk_mmc2
=
{
.
clk
=
{
.
name
=
"
sclk_mmc
"
,
.
devname
=
"
exynos4-sdhci
.2"
,
.
name
=
"
ciu
"
,
.
devname
=
"
dw_mmc
.2"
,
.
parent
=
&
exynos5_clk_dout_mmc2
.
clk
,
.
enable
=
exynos5_clksrc_mask_fsys_ctrl
,
.
ctrlbit
=
(
1
<<
8
),
...
...
@@ -1128,8 +1123,8 @@ static struct clksrc_clk exynos5_clk_sclk_mmc2 = {
static
struct
clksrc_clk
exynos5_clk_sclk_mmc3
=
{
.
clk
=
{
.
name
=
"
sclk_mmc
"
,
.
devname
=
"
exynos4-sdhci
.3"
,
.
name
=
"
ciu
"
,
.
devname
=
"
dw_mmc
.3"
,
.
parent
=
&
exynos5_clk_dout_mmc3
.
clk
,
.
enable
=
exynos5_clksrc_mask_fsys_ctrl
,
.
ctrlbit
=
(
1
<<
12
),
...
...
@@ -1214,14 +1209,6 @@ struct clksrc_clk exynos5_clk_sclk_fimd1 = {
static
struct
clksrc_clk
exynos5_clksrcs
[]
=
{
{
.
clk
=
{
.
name
=
"sclk_dwmci"
,
.
parent
=
&
exynos5_clk_dout_mmc4
.
clk
,
.
enable
=
exynos5_clksrc_mask_fsys_ctrl
,
.
ctrlbit
=
(
1
<<
16
),
},
.
reg_div
=
{
.
reg
=
EXYNOS5_CLKDIV_FSYS3
,
.
shift
=
8
,
.
size
=
8
},
},
{
.
clk
=
{
.
name
=
"aclk_266_gscl"
,
},
...
...
arch/arm/mach-exynos/include/mach/map.h
View file @
7b27fa25
...
...
@@ -177,6 +177,10 @@
#define EXYNOS4_PA_HSMMC(x) (0x12510000 + ((x) * 0x10000))
#define EXYNOS4_PA_DWMCI 0x12550000
#define EXYNOS5_PA_DWMCI0 0x12200000
#define EXYNOS5_PA_DWMCI1 0x12210000
#define EXYNOS5_PA_DWMCI2 0x12220000
#define EXYNOS5_PA_DWMCI3 0x12230000
#define EXYNOS4_PA_HSOTG 0x12480000
#define EXYNOS4_PA_USB_HSPHY 0x125B0000
...
...
arch/arm/mach-exynos/mach-exynos4-dt.c
View file @
7b27fa25
/*
* Samsung's E
xynos4210
flattened device tree enabled machine
* Samsung's E
XYNOS4
flattened device tree enabled machine
*
* Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
* http://www.samsung.com
...
...
@@ -36,7 +36,7 @@
* at some point, the drivers should be capable of parsing all the platform
* data from the device tree.
*/
static
const
struct
of_dev_auxdata
exynos4
210
_auxdata_lookup
[]
__initconst
=
{
static
const
struct
of_dev_auxdata
exynos4_auxdata_lookup
[]
__initconst
=
{
OF_DEV_AUXDATA
(
"samsung,exynos4210-uart"
,
EXYNOS4_PA_UART0
,
"exynos4210-uart.0"
,
NULL
),
OF_DEV_AUXDATA
(
"samsung,exynos4210-uart"
,
EXYNOS4_PA_UART1
,
...
...
@@ -55,6 +55,20 @@ static const struct of_dev_auxdata exynos4210_auxdata_lookup[] __initconst = {
"exynos4-sdhci.3"
,
NULL
),
OF_DEV_AUXDATA
(
"samsung,s3c2440-i2c"
,
EXYNOS4_PA_IIC
(
0
),
"s3c2440-i2c.0"
,
NULL
),
OF_DEV_AUXDATA
(
"samsung,s3c2440-i2c"
,
EXYNOS4_PA_IIC
(
1
),
"s3c2440-i2c.1"
,
NULL
),
OF_DEV_AUXDATA
(
"samsung,s3c2440-i2c"
,
EXYNOS4_PA_IIC
(
2
),
"s3c2440-i2c.2"
,
NULL
),
OF_DEV_AUXDATA
(
"samsung,s3c2440-i2c"
,
EXYNOS4_PA_IIC
(
3
),
"s3c2440-i2c.3"
,
NULL
),
OF_DEV_AUXDATA
(
"samsung,s3c2440-i2c"
,
EXYNOS4_PA_IIC
(
4
),
"s3c2440-i2c.4"
,
NULL
),
OF_DEV_AUXDATA
(
"samsung,s3c2440-i2c"
,
EXYNOS4_PA_IIC
(
5
),
"s3c2440-i2c.5"
,
NULL
),
OF_DEV_AUXDATA
(
"samsung,s3c2440-i2c"
,
EXYNOS4_PA_IIC
(
6
),
"s3c2440-i2c.6"
,
NULL
),
OF_DEV_AUXDATA
(
"samsung,s3c2440-i2c"
,
EXYNOS4_PA_IIC
(
7
),
"s3c2440-i2c.7"
,
NULL
),
OF_DEV_AUXDATA
(
"samsung,exynos4210-spi"
,
EXYNOS4_PA_SPI0
,
"exynos4210-spi.0"
,
NULL
),
OF_DEV_AUXDATA
(
"samsung,exynos4210-spi"
,
EXYNOS4_PA_SPI1
,
...
...
@@ -66,19 +80,19 @@ static const struct of_dev_auxdata exynos4210_auxdata_lookup[] __initconst = {
{},
};
static
void
__init
exynos4
210
_dt_map_io
(
void
)
static
void
__init
exynos4_dt_map_io
(
void
)
{
exynos_init_io
(
NULL
,
0
);
s3c24xx_init_clocks
(
24000000
);
}
static
void
__init
exynos4
210
_dt_machine_init
(
void
)
static
void
__init
exynos4_dt_machine_init
(
void
)
{
of_platform_populate
(
NULL
,
of_default_bus_match_table
,
exynos4
210
_auxdata_lookup
,
NULL
);
exynos4_auxdata_lookup
,
NULL
);
}
static
char
const
*
exynos4
210
_dt_compat
[]
__initdata
=
{
static
char
const
*
exynos4_dt_compat
[]
__initdata
=
{
"samsung,exynos4210"
,
NULL
};
...
...
@@ -86,11 +100,11 @@ static char const *exynos4210_dt_compat[] __initdata = {
DT_MACHINE_START
(
EXYNOS4210_DT
,
"Samsung Exynos4 (Flattened Device Tree)"
)
/* Maintainer: Thomas Abraham <thomas.abraham@linaro.org> */
.
init_irq
=
exynos4_init_irq
,
.
map_io
=
exynos4
210
_dt_map_io
,
.
map_io
=
exynos4_dt_map_io
,
.
handle_irq
=
gic_handle_irq
,
.
init_machine
=
exynos4
210
_dt_machine_init
,
.
init_machine
=
exynos4_dt_machine_init
,
.
init_late
=
exynos_init_late
,
.
timer
=
&
exynos4_timer
,
.
dt_compat
=
exynos4
210
_dt_compat
,
.
dt_compat
=
exynos4_dt_compat
,
.
restart
=
exynos4_restart
,
MACHINE_END
arch/arm/mach-exynos/mach-exynos5-dt.c
View file @
7b27fa25
...
...
@@ -47,6 +47,14 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
"s3c2440-i2c.0"
,
NULL
),
OF_DEV_AUXDATA
(
"samsung,s3c2440-i2c"
,
EXYNOS5_PA_IIC
(
1
),
"s3c2440-i2c.1"
,
NULL
),
OF_DEV_AUXDATA
(
"samsung,exynos5250-dw-mshc"
,
EXYNOS5_PA_DWMCI0
,
"dw_mmc.0"
,
NULL
),
OF_DEV_AUXDATA
(
"samsung,exynos5250-dw-mshc"
,
EXYNOS5_PA_DWMCI1
,
"dw_mmc.1"
,
NULL
),
OF_DEV_AUXDATA
(
"samsung,exynos5250-dw-mshc"
,
EXYNOS5_PA_DWMCI2
,
"dw_mmc.2"
,
NULL
),
OF_DEV_AUXDATA
(
"samsung,exynos5250-dw-mshc"
,
EXYNOS5_PA_DWMCI3
,
"dw_mmc.3"
,
NULL
),
OF_DEV_AUXDATA
(
"samsung,exynos4210-spi"
,
EXYNOS5_PA_SPI0
,
"exynos4210-spi.0"
,
NULL
),
OF_DEV_AUXDATA
(
"samsung,exynos4210-spi"
,
EXYNOS5_PA_SPI1
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment