summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaewon Kim <jaewon02.kim@samsung.com>2017-10-26 20:03:11 +0900
committerJaehoon Chung <jh80.chung@samsung.com>2018-05-30 14:30:41 +0900
commitc6b2708aa3da75cbb26eadb1f90c811774159e21 (patch)
tree5b65245126ea50e3610ab2b744a5358e2c682186
parent9ce4421d5dac4b2d7e50f4e5724e98d441332782 (diff)
downloadlinux-artik7-c6b2708aa3da75cbb26eadb1f90c811774159e21.tar.gz
linux-artik7-c6b2708aa3da75cbb26eadb1f90c811774159e21.tar.bz2
linux-artik7-c6b2708aa3da75cbb26eadb1f90c811774159e21.zip
arm: dts: artik533: support new compy board
This patch adds new compy board. Compy board uses the Artik533 module and the sub board has been changed. Change-Id: Iff08606ae6a86c8bd292cd7216b2373e7474547a Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
-rw-r--r--arch/arm/boot/dts/Makefile3
-rw-r--r--arch/arm/boot/dts/s5p4418-artik533-compy.dts570
2 files changed, 572 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 40b9c1467ff7..543985f3d999 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -785,7 +785,8 @@ dtb-$(CONFIG_ARCH_S5P4418) += \
s5p4418-artik533-raptor-rev00.dtb \
s5p4418-artik305-raptor-rev00.dtb \
s5p4418-artik305-raptor-rev04.dtb \
- s5p4418-artik305-explorer.dtb
+ s5p4418-artik305-explorer.dtb \
+ s5p4418-artik533-compy.dtb
endif
dtstree := $(srctree)/$(src)
diff --git a/arch/arm/boot/dts/s5p4418-artik533-compy.dts b/arch/arm/boot/dts/s5p4418-artik533-compy.dts
new file mode 100644
index 000000000000..3c26a358bfcb
--- /dev/null
+++ b/arch/arm/boot/dts/s5p4418-artik533-compy.dts
@@ -0,0 +1,570 @@
+/*
+ * Copyright (C) 2017 Samsung Electronics.
+ * Author: Jaewon Kim <jaewon02.kim@samsung.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/dts-v1/;
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/input/input.h>
+#include "s5p4418-artik530.dtsi"
+
+#define PMIC_PDATA_INIT(_id, _rname, _minuv, \
+ _maxuv, _init_uv, _init_enable, \
+ _set_init_uV, _slp_slots) \
+ regulator-name = _rname; \
+ regulator-min-microvolt = <_minuv>; \
+ regulator-max-microvolt = <_maxuv>; \
+ nx,id = <_id>; \
+ nx,init_enable = <_init_enable>; \
+ nx,init_uV = <_init_uv>; \
+ nx,set_init_uV = <_set_init_uV>; \
+ nx,sleep_slots = <_slp_slots>;
+
+/ {
+ model = "Samsung artik530 compy board based on s5p4418";
+ compatible = "samsung,artik530-compy", "samsung,artik530",
+ "nexell,s5p4418";
+
+ memory {
+ device_type = "memory";
+ reg = <0x71000000 0x40000000>;
+ };
+
+ reserved-memory {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ secure_memory@b0000000 {
+ reg = <0xB0000000 0x1000000>;
+ no-map;
+ };
+ };
+
+ psci {
+ compatible = "arm,psci-0.2";
+ method = "smc";
+ };
+
+ aliases {
+ i2c3 = &i2c_gpio3;
+ i2c5 = &i2c_gpio5;
+ i2c6 = &i2c_gpio6;
+ i2c7 = &i2c_gpio7;
+ };
+
+ nx-v4l2 {
+ status = "okay";
+ };
+
+ soc {
+
+ clocks {
+ vip0:vip@c00c1000 { clock-frequency = <300000000>;};
+ i2c0:i2c@c00ae000 { clock-frequency = <200000000>;};
+ i2c1:i2c@c00af000 { clock-frequency = <200000000>;};
+ i2c2:i2c@c00b0000 { clock-frequency = <200000000>;};
+ pwm0:pwm0@c00ba000 {
+ clk-input = <I_PLL2>;
+ clock-frequency = <10000000>;
+ };
+ pwm1:pwm1@c00ba000 {
+ clk-input = <I_PLL2>;
+ clock-frequency = <10000000>;
+ };
+ pwm2:pwm2@c00be000 {
+ clk-input = <I_PLL2>;
+ clock-frequency = <10000000>;
+ };
+ pwm3:pwm3@c00be000 {
+ clk-input = <I_PLL2>;
+ clock-frequency = <10000000>;
+ };
+ };
+
+ timer@c0017000 {
+ clocks = <&timer0>, <&timer1>;
+ clock-names = "timer0", "timer1";
+ };
+
+ pwm:pwm@c0018000 {
+ clocks = <&pwm0>, <&pwm1>, <&pwm2>, <&pwm3>;
+ clock-names = "pwm-tclk0", "pwm-tclk1", "pwm-tclk2", "pwm-tclk3";
+ };
+
+ dynamic-freq@bb000 {
+ supply_name = "vdd_core_regulator";
+ vdd_core_regulator-supply = <&VCC_DCDC0>;
+ };
+
+ serial2:serial@c00a2000 {
+ status ="okay";
+ };
+
+ serial3:serial@c00a3000 {
+ status ="okay";
+ };
+
+ dw_mmc_0:dw_mmc@c0062000 {
+ num-slots = <1>;
+ bus-width = <4>;
+ cap-sd-highspeed;
+ clock-frequency = <100000000>;
+ card-detect-delay = <200>;
+ disable-wp;
+ cd-gpios = <&gpio_b 16 0>;
+ cd-inverted;
+ nexell,drive_dly = <0x0>;
+ nexell,drive_shift = <0x02>;
+ nexell,sample_dly = <0x00>;
+ nexell,sample_shift = <0x01>;
+ status = "okay";
+ };
+
+ nexell_usbphy: nexell-usbphy@c0012000 {
+ status = "okay";
+ };
+
+ ehci@c0030000 {
+ samsung,vbus-gpio = <&gpio_a 16 0>;
+ status = "okay";
+ port@0 {
+ status = "okay";
+ };
+ port@1 {
+ status = "okay";
+ };
+ };
+
+ ohci@c0020000 {
+ status = "okay";
+ port@0 {
+ status = "okay";
+ };
+ };
+
+ dwc2otg@c0040000 {
+ gpios = <&gpio_a 15 0>;
+ status = "okay";
+ };
+
+ pinctrl@C0010000 {
+ key_pwr:key_pwr {
+ nexell,pins = "alive-0";
+ nexell,pin-function = <0>;
+ nexell,pin-pull = <1>;
+ nexell,pin-strength = <0>;
+ };
+
+ pmic_irq:pmic_irq{
+ nexell,pins = "alive-5";
+ nexell,pin-function = <0>;
+ nexell,pin-pull = <1>;
+ nexell,pin-strength = <0>;
+ };
+ };
+
+ adc:adc@c0053000 {
+ status = "okay";
+ };
+
+ gmac0:ethernet@c0060000 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&gmac_pins>;
+
+ status = "okay";
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+
+ snps,phy-addr = <3>;
+ snps,reset-gpio = <&gpio_a 12 0>;
+ snps,reset-active-low;
+ snps,reset-delays-us = <0 10000 30000>;
+
+ mdio {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ethernet_phy: ethernet-phy@3 {
+ reg = <3>;
+ fixed-link {
+ speed = <1000>;
+ full-duplex;
+ };
+ };
+ };
+ };
+
+ watchdog@c0019000 {
+ status = "okay";
+ };
+
+ spdif_tx: spdiftx@c0059000 {
+ #sound-dai-cells = <1>;
+ pcm-bit = <16>;
+ sample_rate = <48000>;
+ status = "okay";
+ };
+
+ i2s_0:i2s@c0055000 {
+ #sound-dai-cells = <1>;
+ master-mode = <1>;
+ mclk-in = <0>;
+ trans-mode = <0>;
+ frame-bit = <32>;
+ sample-rate = <48000>;
+ pre-supply-mclk = <1>;
+ status = "okay";
+ };
+
+ i2c_0:i2c@c00a4000 {
+ status = "okay";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ rate = <400000>;
+ };
+
+ i2c_gpio3: i2c@3 {
+ compatible = "i2c-gpio";
+ gpios = <&gpio_c 16 0 /* SDA */
+ &gpio_c 15 0 /* SCL */
+ >;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ nxe1500@33 {
+ compatible = "nexell,nxe1500";
+ reg = <0x33>;
+ interrupt-parent = <&alive_0>;
+ interrupts = <0x5 IRQ_TYPE_EDGE_FALLING>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pmic_irq>;
+ };
+ };
+
+ vip_0:vip@c0063000 {
+ status = "okay";
+ };
+
+ mipi_csi:mipi_csi@c00d0000 {
+ data_lane = <2>;
+ pllval = <750>;
+ hssettle = <7>;
+ /* hssettle = <6>; */
+ status = "okay";
+ };
+
+ clipper_0:clipper0@c0063000 {
+ interface_type = <NX_CAPTURE_INTERFACE_MIPI_CSI>;
+ gpios = <&gpio_a 17 0 &gpio_a 3 0 &gpio_a 6 0>;
+ data_order = <NX_VIN_Y0CBY1CR>;
+ status = "okay";
+ sensor {
+ type = <NX_CAPTURE_SENSOR_I2C>;
+ i2c_name = "S5K4ECGA";
+ i2c_adapter = <0>;
+ addr = <0x56>;
+ };
+ power {
+ enable_seq = <
+ NX_ACTION_START NX_ACTION_TYPE_GPIO 2 1 2 NX_ACTION_END
+ NX_ACTION_START NX_ACTION_TYPE_GPIO 1 1 1 NX_ACTION_END
+ NX_ACTION_START NX_ACTION_TYPE_GPIO 0 1 1 NX_ACTION_END
+ >;
+
+ disable_seq = <
+ NX_ACTION_START NX_ACTION_TYPE_GPIO 0 0 1 NX_ACTION_END
+ NX_ACTION_START NX_ACTION_TYPE_GPIO 1 0 1 NX_ACTION_END
+ NX_ACTION_START NX_ACTION_TYPE_GPIO 2 0 2 NX_ACTION_END
+ >;
+ };
+ };
+
+ scaler@c0066000 {
+ status = "okay";
+ };
+
+ video-codec@c0080000 {
+ status = "okay";
+ sram = <0 0>;
+ };
+ }; /*** soc ***/
+
+ i2c_gpio5: i2c@5 {
+ compatible = "i2c-gpio";
+ gpios = <&gpio_d 14 0 /* sda */
+ &gpio_d 18 0 /* scl */
+ >;
+ i2c-gpio,delay-us = <10>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ usb3503: usb3503@08 {
+ compatible = "smsc,usb3503";
+ reg = <0x08>;
+ intn-gpios = <&gpio_b 23 0>;
+ connect-gpios = <&gpio_a 18 0>;
+ reset-gpios = <&gpio_a 22 0>;
+ initial-mode = <1>;
+ };
+ };
+
+ i2c_gpio6:i2c@6 {
+ compatible = "i2c-gpio";
+ gpios = <&gpio_a 5 0 /* sda */
+ &gpio_a 4 0 /* scl */
+ >;
+ i2c-gpio,delay-us = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ alc5658: alc5658@1a {
+ #sound-dai-cells = <0>;
+ compatible = "realtek,rt5658";
+ reg = <0x1a>;
+ };
+ };
+
+ i2c_gpio7:i2c@7 {
+ compatible = "i2c-gpio";
+ gpios = <&gpio_a 24 0 /* sda */
+ &gpio_a 23 0 /* scl */
+ >;
+ i2c-gpio,delay-us = <100>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "Artik530 raptor Audio";
+ simple-audio-card,mclk-fs = <256>;
+ simple-audio-card,widgets =
+ "Headphone", "Out Jack",
+ "Microphone", "In Jack";
+ simple-audio-card,routing =
+ "Out Jack", "HPOL",
+ "Out Jack", "HPOR",
+ "IN2P", "In Jack",
+ "IN2P", "In Jack";
+ status = "okay";
+
+ simple-audio-card,dai-link@0 {
+ format = "i2s";
+ cpu {
+ sound-dai = <&i2s_0 0>;
+ };
+
+ codec {
+ sound-dai = <&alc5658>;
+ };
+ };
+
+ simple-audio-card,dai-link@1 {
+ cpu {
+ sound-dai = <&spdif_tx 0>;
+ };
+
+ codec {
+ sound-dai = <&spdif_out>;
+ };
+ };
+ };
+
+ spdif_out: spdif-out {
+ #sound-dai-cells = <0>;
+ compatible = "linux,spdif-dit";
+ };
+
+ gpio_keys {
+ compatible = "gpio-keys";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&key_pwr>;
+
+ power {
+ label = "Power";
+ gpios = <&alive_0 0 1>;
+ linux,code = <KEY_POWER>;
+ gpio-key,wakeup;
+ };
+ };
+
+ regulators {
+ VCC_DCDC0:dcdc1
+ { PMIC_PDATA_INIT( 0,
+ "nxe2000_dcdc1",
+ 900000, 1500000,
+ 1250000, 1, 0, 0x4)
+ regulator-always-on;
+ regulator-boot-on;};
+ VCC_DCDC1:dcdc2
+ { PMIC_PDATA_INIT( 1,
+ "nxe2000_dcdc2",
+ 1000000, 1500000,
+ 1100000, 1, 0, 0x4)
+ regulator-always-on;
+ regulator-boot-on;};
+ VCC_DCDC2:dcdc3
+ { PMIC_PDATA_INIT( 2,
+ "nxe2000_dcdc3",
+ 1000000, 1800000,
+ 1500000, 1, 0, 0x4)
+ regulator-always-on;
+ regulator-boot-on;};
+ VCC_DCDC3:dcdc4
+ { PMIC_PDATA_INIT( 3,
+ "nxe2000_dcdc4",
+ 1000000, 1800000,
+ 1500000, 1, 0, 0xF)
+ regulator-always-on;
+ regulator-boot-on;};
+ VCC_LDO0:ldo1
+ { PMIC_PDATA_INIT( 5,
+ "nxe2000_ldo1",
+ 1000000, 3500000,
+ 3300000, 1, 1, 0x0)
+ regulator-always-on;
+ regulator-boot-on;};
+ VCC_LDO1:ldo2
+ { PMIC_PDATA_INIT( 6,
+ "nxe2000_ldo2",
+ 1000000, 3500000,
+ 1800000, 1, 1, 0x2)
+ regulator-always-on;
+ regulator-boot-on;};
+ VCC_LDO2:ldo3
+ { PMIC_PDATA_INIT( 7,
+ "nxe2000_ldo3",
+ 1000000, 3500000,
+ 3300000, 1, 1, 0x0)
+ regulator-always-on;
+ regulator-boot-on;};
+ VCC_LDO3:ldo4
+ { PMIC_PDATA_INIT( 8,
+ "nxe2000_ldo4",
+ 1000000, 3500000,
+ 1200000, 0, 1, 0x2)
+ regulator-always-on;
+ regulator-boot-on;};
+ VCC_LDO4:ldo5
+ { PMIC_PDATA_INIT( 9,
+ "nxe2000_ldo5",
+ 1000000, 3500000,
+ 3300000, 0, 1, 0x0)};
+ VCC_RTC0:ldortc1
+ { PMIC_PDATA_INIT(15,
+ "nxe2000_rtc1",
+ 1700000, 3500000,
+ 1800000, 1, 1, 0xF)
+ regulator-always-on;
+ regulator-boot-on;};
+ VCC_RTC1:ldortc2
+ { PMIC_PDATA_INIT(16,
+ "nxe2000_rtc2",
+ 1000000, 3500000,
+ 1000000, 1, 1, 0xF)
+ regulator-always-on;
+ regulator-boot-on;};
+ }; /* regulators */
+
+ nx-devfreq {
+ pll = <3>;
+ supply_name = "vdd_arm_regulator";
+ vdd_arm_regulator-supply = <&VCC_DCDC1>;
+ status = "okay";
+ };
+};
+
+&pwm {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pwm0_pin &pwm2_pin>;
+ samsung,pwm-outputs = <0>, <2>;
+ status = "okay";
+};
+
+&serial1 {
+ status = "okay";
+ pinctrl-0 = <&serial1_pin>, <&serial1_flow_cts>, <&serial1_flow_rts>;
+};
+
+&dp_drm {
+ status = "okay";
+ ports {
+ port@0 {
+ reg = <0>;
+ back_color = < 0x0 >;
+ color_key = < 0x0 >;
+ plane-names = "video", "primary", "rgb";
+ };
+ port@1 {
+ reg = <1>;
+ back_color = < 0x0 >;
+ color_key = < 0x0 >;
+ plane-names = "video", "primary";
+ };
+ };
+};
+
+&dp_drm_mipi {
+ hs_bitrate = <960>;
+ lp_bitrate = <100>;
+ status = "ok";
+
+ panel@0 {
+ compatible = "samsung,s6e8fa0";
+ reg = <0>;
+ vdd3-supply = <&VCC_LDO0>;
+ vci-supply = <&VCC_LDO1>;
+ reset-gpio = <&gpio_e 30 0>;
+ power-on-delay= <50>;
+ reset-delay = <100>;
+ init-delay = <100>;
+ display-timings {
+ timing-0 {
+ clock-frequency = <130361520>;
+ hactive = <1080>;
+ vactive = <1920>;
+ hfront-porch = <32>;
+ hback-porch = <16>;
+ hsync-len = <12>;
+ vfront-porch = <12>;
+ vback-porch = <3>;
+ vsync-len = <1>;
+ };
+ };
+ };
+
+ dp_control {
+ clk_src_lv0 = <0>;
+ clk_div_lv0 = <6>;
+ clk_src_lv1 = <7>;
+ clk_div_lv1 = <1>;
+ out_format = <3>;
+ vs_start_offset = <480>;
+ ev_start_offset = <480>;
+ vs_end_offset = <0>;
+ ev_end_offset = <0>;
+ };
+};
+
+&dp_drm_hdmi {
+ ddc-i2c-bus = <&i2c_gpio7>;
+ enable-gpios = <&gpio_a 21 0>;
+ status = "ok";
+};