| /* | 
 |  * 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" | 
 | #include <dt-bindings/gpio/gpio.h> | 
 |  | 
 | / { | 
 | 	model = "Samsung Trats based on Exynos4210"; | 
 | 	compatible = "samsung,trats", "samsung,exynos4210", "samsung,exynos4"; | 
 |  | 
 | 	memory@40000000 { | 
 | 		device_type = "memory"; | 
 | 		reg =  <0x40000000 0x10000000 | 
 | 			0x50000000 0x10000000 | 
 | 			0x60000000 0x10000000 | 
 | 			0x70000000 0x10000000>; | 
 | 	}; | 
 |  | 
 | 	chosen { | 
 | 		bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5"; | 
 | 		stdout-path = &serial_2; | 
 | 	}; | 
 |  | 
 | 	regulators { | 
 | 		compatible = "simple-bus"; | 
 |  | 
 | 		vemmc_reg: regulator-0 { | 
 | 			compatible = "regulator-fixed"; | 
 | 			regulator-name = "VMEM_VDD_2.8V"; | 
 | 			regulator-min-microvolt = <2800000>; | 
 | 			regulator-max-microvolt = <2800000>; | 
 | 			gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>; | 
 | 			enable-active-high; | 
 | 		}; | 
 |  | 
 | 		tsp_reg: regulator-1 { | 
 | 			compatible = "regulator-fixed"; | 
 | 			regulator-name = "TSP_FIXED_VOLTAGES"; | 
 | 			regulator-min-microvolt = <2800000>; | 
 | 			regulator-max-microvolt = <2800000>; | 
 | 			gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>; | 
 | 			enable-active-high; | 
 | 		}; | 
 |  | 
 | 		cam_af_28v_reg: regulator-2 { | 
 | 			compatible = "regulator-fixed"; | 
 | 			regulator-name = "8M_AF_2.8V_EN"; | 
 | 			regulator-min-microvolt = <2800000>; | 
 | 			regulator-max-microvolt = <2800000>; | 
 | 			gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>; | 
 | 			enable-active-high; | 
 | 		}; | 
 |  | 
 | 		cam_io_en_reg: regulator-3 { | 
 | 			compatible = "regulator-fixed"; | 
 | 			regulator-name = "CAM_IO_EN"; | 
 | 			regulator-min-microvolt = <2800000>; | 
 | 			regulator-max-microvolt = <2800000>; | 
 | 			gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>; | 
 | 			enable-active-high; | 
 | 		}; | 
 |  | 
 | 		cam_io_12v_reg: regulator-4 { | 
 | 			compatible = "regulator-fixed"; | 
 | 			regulator-name = "8M_1.2V_EN"; | 
 | 			regulator-min-microvolt = <1200000>; | 
 | 			regulator-max-microvolt = <1200000>; | 
 | 			gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>; | 
 | 			enable-active-high; | 
 | 		}; | 
 |  | 
 | 		vt_core_15v_reg: regulator-5 { | 
 | 			compatible = "regulator-fixed"; | 
 | 			regulator-name = "VT_CORE_1.5V"; | 
 | 			regulator-min-microvolt = <1500000>; | 
 | 			regulator-max-microvolt = <1500000>; | 
 | 			gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>; | 
 | 			enable-active-high; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	gpio-keys { | 
 | 		compatible = "gpio-keys"; | 
 |  | 
 | 		vol-down-key { | 
 | 			gpios = <&gpx2 1 GPIO_ACTIVE_LOW>; | 
 | 			linux,code = <114>; | 
 | 			label = "volume down"; | 
 | 			debounce-interval = <10>; | 
 | 		}; | 
 |  | 
 | 		vol-up-key { | 
 | 			gpios = <&gpx2 0 GPIO_ACTIVE_LOW>; | 
 | 			linux,code = <115>; | 
 | 			label = "volume up"; | 
 | 			debounce-interval = <10>; | 
 | 		}; | 
 |  | 
 | 		power-key { | 
 | 			gpios = <&gpx2 7 GPIO_ACTIVE_LOW>; | 
 | 			linux,code = <116>; | 
 | 			label = "power"; | 
 | 			debounce-interval = <10>; | 
 | 			wakeup-source; | 
 | 		}; | 
 |  | 
 | 		ok-key { | 
 | 			gpios = <&gpx3 5 GPIO_ACTIVE_LOW>; | 
 | 			linux,code = <352>; | 
 | 			label = "ok"; | 
 | 			debounce-interval = <10>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	fixed-rate-clocks { | 
 | 		xxti { | 
 | 			compatible = "samsung,clock-xxti"; | 
 | 			clock-frequency = <0>; | 
 | 		}; | 
 |  | 
 | 		xusbxti { | 
 | 			compatible = "samsung,clock-xusbxti"; | 
 | 			clock-frequency = <24000000>; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	thermal-zones { | 
 | 		cpu_thermal: cpu-thermal { | 
 | 			cooling-maps { | 
 | 				map0 { | 
 | 				     /* Corresponds to 800MHz at freq_table */ | 
 | 				     cooling-device = <&cpu0 2 2>; | 
 | 				}; | 
 | 				map1 { | 
 | 				     /* Corresponds to 200MHz at freq_table */ | 
 | 				     cooling-device = <&cpu0 4 4>; | 
 | 			       }; | 
 | 		       }; | 
 | 		}; | 
 | 	}; | 
 |  | 
 | 	camera { | 
 | 		pinctrl-names = "default"; | 
 | 		pinctrl-0 = <>; | 
 | 		status = "okay"; | 
 |  | 
 | 		fimc_0: fimc@11800000 { | 
 | 			status = "okay"; | 
 | 			assigned-clocks = <&clock CLK_MOUT_FIMC0>, | 
 | 					<&clock CLK_SCLK_FIMC0>; | 
 | 			assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | 
 | 			assigned-clock-rates = <0>, <160000000>; | 
 | 		}; | 
 |  | 
 | 		fimc_1: fimc@11810000 { | 
 | 			status = "okay"; | 
 | 			assigned-clocks = <&clock CLK_MOUT_FIMC1>, | 
 | 					<&clock CLK_SCLK_FIMC1>; | 
 | 			assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | 
 | 			assigned-clock-rates = <0>, <160000000>; | 
 | 		}; | 
 |  | 
 | 		fimc_2: fimc@11820000 { | 
 | 			status = "okay"; | 
 | 			assigned-clocks = <&clock CLK_MOUT_FIMC2>, | 
 | 					<&clock CLK_SCLK_FIMC2>; | 
 | 			assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | 
 | 			assigned-clock-rates = <0>, <160000000>; | 
 | 		}; | 
 |  | 
 | 		fimc_3: fimc@11830000 { | 
 | 			status = "okay"; | 
 | 			assigned-clocks = <&clock CLK_MOUT_FIMC3>, | 
 | 					<&clock CLK_SCLK_FIMC3>; | 
 | 			assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | 
 | 			assigned-clock-rates = <0>, <160000000>; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &cpu0 { | 
 | 	cpu0-supply = <&varm_breg>; | 
 | }; | 
 |  | 
 | &dsi_0 { | 
 | 	vddcore-supply = <&vusb_reg>; | 
 | 	vddio-supply = <&vmipi_reg>; | 
 | 	samsung,burst-clock-frequency = <500000000>; | 
 | 	samsung,esc-clock-frequency = <20000000>; | 
 | 	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 GPIO_ACTIVE_HIGH>; | 
 | 		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"; | 
 | 	vbus-supply = <&safe1_sreg>; | 
 | }; | 
 |  | 
 | &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>; | 
 | 		interrupt-parent = <&gpx0>; | 
 | 		interrupts = <7 0>; | 
 |  | 
 | 		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 GPIO_ACTIVE_HIGH>, | 
 | 						 <&gpx0 6 GPIO_ACTIVE_HIGH>, | 
 | 						 <&gpl0 0 GPIO_ACTIVE_HIGH>; | 
 |  | 
 | 		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"; | 
 | 			}; | 
 |  | 
 | 			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"; | 
 | }; |