1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * FriendlyARM's Exynos4412 based TINY4412 board device tree source 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (c) 2013 Alex Ling <kasimling@gmail.com> 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * Device tree source file for FriendlyARM's TINY4412 board which is based on 8*4882a593Smuzhiyun * Samsung's Exynos4412 SoC. 9*4882a593Smuzhiyun */ 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun/dts-v1/; 12*4882a593Smuzhiyun#include "exynos4412.dtsi" 13*4882a593Smuzhiyun#include <dt-bindings/gpio/gpio.h> 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun/ { 16*4882a593Smuzhiyun model = "FriendlyARM TINY4412 board based on Exynos4412"; 17*4882a593Smuzhiyun compatible = "friendlyarm,tiny4412", "samsung,exynos4412", "samsung,exynos4"; 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun chosen { 20*4882a593Smuzhiyun stdout-path = &serial_0; 21*4882a593Smuzhiyun }; 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun memory@40000000 { 24*4882a593Smuzhiyun device_type = "memory"; 25*4882a593Smuzhiyun reg = <0x40000000 0x40000000>; 26*4882a593Smuzhiyun }; 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun leds { 29*4882a593Smuzhiyun compatible = "gpio-leds"; 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun led1 { 32*4882a593Smuzhiyun label = "led1"; 33*4882a593Smuzhiyun gpios = <&gpm4 0 GPIO_ACTIVE_LOW>; 34*4882a593Smuzhiyun default-state = "off"; 35*4882a593Smuzhiyun linux,default-trigger = "heartbeat"; 36*4882a593Smuzhiyun }; 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun led2 { 39*4882a593Smuzhiyun label = "led2"; 40*4882a593Smuzhiyun gpios = <&gpm4 1 GPIO_ACTIVE_LOW>; 41*4882a593Smuzhiyun default-state = "off"; 42*4882a593Smuzhiyun }; 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun led3 { 45*4882a593Smuzhiyun label = "led3"; 46*4882a593Smuzhiyun gpios = <&gpm4 2 GPIO_ACTIVE_LOW>; 47*4882a593Smuzhiyun default-state = "off"; 48*4882a593Smuzhiyun }; 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun led4 { 51*4882a593Smuzhiyun label = "led4"; 52*4882a593Smuzhiyun gpios = <&gpm4 3 GPIO_ACTIVE_LOW>; 53*4882a593Smuzhiyun default-state = "off"; 54*4882a593Smuzhiyun linux,default-trigger = "mmc0"; 55*4882a593Smuzhiyun }; 56*4882a593Smuzhiyun }; 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun fixed-rate-clocks { 59*4882a593Smuzhiyun xxti { 60*4882a593Smuzhiyun compatible = "samsung,clock-xxti"; 61*4882a593Smuzhiyun clock-frequency = <0>; 62*4882a593Smuzhiyun }; 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun xusbxti { 65*4882a593Smuzhiyun compatible = "samsung,clock-xusbxti"; 66*4882a593Smuzhiyun clock-frequency = <24000000>; 67*4882a593Smuzhiyun }; 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun pmic_ap_clk: pmic-ap-clk { 70*4882a593Smuzhiyun /* Workaround for missing clock on PMIC */ 71*4882a593Smuzhiyun compatible = "fixed-clock"; 72*4882a593Smuzhiyun #clock-cells = <0>; 73*4882a593Smuzhiyun clock-frequency = <32768>; 74*4882a593Smuzhiyun }; 75*4882a593Smuzhiyun }; 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun panel { 78*4882a593Smuzhiyun compatible = "innolux,at070tn92"; 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun port { 81*4882a593Smuzhiyun panel_input: endpoint { 82*4882a593Smuzhiyun remote-endpoint = <&lcdc_output>; 83*4882a593Smuzhiyun }; 84*4882a593Smuzhiyun }; 85*4882a593Smuzhiyun }; 86*4882a593Smuzhiyun}; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun&cpu_thermal { 89*4882a593Smuzhiyun cooling-maps { 90*4882a593Smuzhiyun cooling_map0: map0 { 91*4882a593Smuzhiyun /* Corresponds to 800MHz at freq_table */ 92*4882a593Smuzhiyun cooling-device = <&cpu0 7 7>, <&cpu1 7 7>, 93*4882a593Smuzhiyun <&cpu2 7 7>, <&cpu3 7 7>; 94*4882a593Smuzhiyun }; 95*4882a593Smuzhiyun cooling_map1: map1 { 96*4882a593Smuzhiyun /* Corresponds to 200MHz at freq_table */ 97*4882a593Smuzhiyun cooling-device = <&cpu0 13 13>, <&cpu1 13 13>, 98*4882a593Smuzhiyun <&cpu2 13 13>, <&cpu3 13 13>; 99*4882a593Smuzhiyun }; 100*4882a593Smuzhiyun }; 101*4882a593Smuzhiyun}; 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun&fimd { 104*4882a593Smuzhiyun pinctrl-0 = <&lcd_clk>, <&lcd_data24>; 105*4882a593Smuzhiyun pinctrl-names = "default"; 106*4882a593Smuzhiyun #address-cells = <1>; 107*4882a593Smuzhiyun #size-cells = <0>; 108*4882a593Smuzhiyun status = "okay"; 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun port@3 { 111*4882a593Smuzhiyun reg = <3>; 112*4882a593Smuzhiyun lcdc_output: endpoint { 113*4882a593Smuzhiyun remote-endpoint = <&panel_input>; 114*4882a593Smuzhiyun }; 115*4882a593Smuzhiyun }; 116*4882a593Smuzhiyun}; 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun&rtc { 119*4882a593Smuzhiyun status = "okay"; 120*4882a593Smuzhiyun clocks = <&clock CLK_RTC>, <&pmic_ap_clk>; 121*4882a593Smuzhiyun clock-names = "rtc", "rtc_src"; 122*4882a593Smuzhiyun}; 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun&sdhci_2 { 125*4882a593Smuzhiyun bus-width = <4>; 126*4882a593Smuzhiyun pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; 127*4882a593Smuzhiyun pinctrl-names = "default"; 128*4882a593Smuzhiyun status = "okay"; 129*4882a593Smuzhiyun}; 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun&serial_0 { 132*4882a593Smuzhiyun status = "okay"; 133*4882a593Smuzhiyun}; 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun&serial_1 { 136*4882a593Smuzhiyun status = "okay"; 137*4882a593Smuzhiyun}; 138*4882a593Smuzhiyun 139*4882a593Smuzhiyun&serial_2 { 140*4882a593Smuzhiyun status = "okay"; 141*4882a593Smuzhiyun}; 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun&serial_3 { 144*4882a593Smuzhiyun status = "okay"; 145*4882a593Smuzhiyun}; 146