forked from Minki/linux
80f78ad8af
The audio codec on Snow board, MAX98095 is connected on I2C7 bus. Also it requires the GPX1-7 line to be pulled up. Updated Snow DTS file to incorporate above changes and added a sound node to instantiate the I2S-based sound card. Signed-off-by: Tushar Behera <tushar.behera@linaro.org> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
369 lines
7.5 KiB
Plaintext
369 lines
7.5 KiB
Plaintext
/*
|
|
* Google Snow board device tree source
|
|
*
|
|
* Copyright (c) 2012 Google, Inc
|
|
*
|
|
* 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 "exynos5250.dtsi"
|
|
#include "exynos5250-cros-common.dtsi"
|
|
|
|
/ {
|
|
model = "Google Snow";
|
|
compatible = "google,snow", "samsung,exynos5250", "samsung,exynos5";
|
|
|
|
aliases {
|
|
i2c104 = &i2c_104;
|
|
};
|
|
|
|
rtc@101E0000 {
|
|
status = "okay";
|
|
};
|
|
|
|
pinctrl@11400000 {
|
|
ec_irq: ec-irq {
|
|
samsung,pins = "gpx1-6";
|
|
samsung,pin-function = <0>;
|
|
samsung,pin-pud = <0>;
|
|
samsung,pin-drv = <0>;
|
|
};
|
|
|
|
sd3_clk: sd3-clk {
|
|
samsung,pin-drv = <0>;
|
|
};
|
|
|
|
sd3_cmd: sd3-cmd {
|
|
samsung,pin-pud = <3>;
|
|
samsung,pin-drv = <0>;
|
|
};
|
|
|
|
sd3_bus4: sd3-bus-width4 {
|
|
samsung,pin-drv = <0>;
|
|
};
|
|
|
|
max98095_en: max98095-en {
|
|
samsung,pins = "gpx1-7";
|
|
samsung,pin-function = <0>;
|
|
samsung,pin-pud = <3>;
|
|
samsung,pin-drv = <0>;
|
|
};
|
|
|
|
tps65090_irq: tps65090-irq {
|
|
samsung,pins = "gpx2-6";
|
|
samsung,pin-function = <0>;
|
|
samsung,pin-pud = <0>;
|
|
samsung,pin-drv = <0>;
|
|
};
|
|
|
|
hdmi_hpd_irq: hdmi-hpd-irq {
|
|
samsung,pins = "gpx3-7";
|
|
samsung,pin-function = <0>;
|
|
samsung,pin-pud = <1>;
|
|
samsung,pin-drv = <0>;
|
|
};
|
|
};
|
|
|
|
pinctrl@13400000 {
|
|
arb_their_claim: arb-their-claim {
|
|
samsung,pins = "gpe0-4";
|
|
samsung,pin-function = <0>;
|
|
samsung,pin-pud = <3>;
|
|
samsung,pin-drv = <0>;
|
|
};
|
|
|
|
arb_our_claim: arb-our-claim {
|
|
samsung,pins = "gpf0-3";
|
|
samsung,pin-function = <1>;
|
|
samsung,pin-pud = <0>;
|
|
samsung,pin-drv = <0>;
|
|
};
|
|
};
|
|
|
|
gpio-keys {
|
|
compatible = "gpio-keys";
|
|
|
|
lid-switch {
|
|
label = "Lid";
|
|
gpios = <&gpx3 5 1>;
|
|
linux,input-type = <5>; /* EV_SW */
|
|
linux,code = <0>; /* SW_LID */
|
|
debounce-interval = <1>;
|
|
gpio-key,wakeup;
|
|
};
|
|
};
|
|
|
|
vbat: vbat-fixed-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vbat-supply";
|
|
regulator-boot-on;
|
|
};
|
|
|
|
i2c-arbitrator {
|
|
compatible = "i2c-arb-gpio-challenge";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
i2c-parent = <&{/i2c@12CA0000}>;
|
|
|
|
our-claim-gpio = <&gpf0 3 1>;
|
|
their-claim-gpios = <&gpe0 4 1>;
|
|
slew-delay-us = <10>;
|
|
wait-retry-us = <3000>;
|
|
wait-free-us = <50000>;
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&arb_our_claim &arb_their_claim>;
|
|
|
|
/* Use ID 104 as a hint that we're on physical bus 4 */
|
|
i2c_104: i2c@0 {
|
|
reg = <0>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
battery: sbs-battery@b {
|
|
compatible = "sbs,sbs-battery";
|
|
reg = <0xb>;
|
|
sbs,poll-retry-count = <1>;
|
|
};
|
|
|
|
ec: embedded-controller {
|
|
compatible = "google,cros-ec-i2c";
|
|
reg = <0x1e>;
|
|
interrupts = <6 0>;
|
|
interrupt-parent = <&gpx1>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&ec_irq>;
|
|
wakeup-source;
|
|
|
|
keyboard-controller {
|
|
compatible = "google,cros-ec-keyb";
|
|
keypad,num-rows = <8>;
|
|
keypad,num-columns = <13>;
|
|
google,needs-ghost-filter;
|
|
linux,keymap = <0x0001007d /* L_META */
|
|
0x0002003b /* F1 */
|
|
0x00030030 /* B */
|
|
0x00040044 /* F10 */
|
|
0x00060031 /* N */
|
|
0x0008000d /* = */
|
|
0x000a0064 /* R_ALT */
|
|
|
|
0x01010001 /* ESC */
|
|
0x0102003e /* F4 */
|
|
0x01030022 /* G */
|
|
0x01040041 /* F7 */
|
|
0x01060023 /* H */
|
|
0x01080028 /* ' */
|
|
0x01090043 /* F9 */
|
|
0x010b000e /* BKSPACE */
|
|
|
|
0x0200001d /* L_CTRL */
|
|
0x0201000f /* TAB */
|
|
0x0202003d /* F3 */
|
|
0x02030014 /* T */
|
|
0x02040040 /* F6 */
|
|
0x0205001b /* ] */
|
|
0x02060015 /* Y */
|
|
0x02070056 /* 102ND */
|
|
0x0208001a /* [ */
|
|
0x02090042 /* F8 */
|
|
|
|
0x03010029 /* GRAVE */
|
|
0x0302003c /* F2 */
|
|
0x03030006 /* 5 */
|
|
0x0304003f /* F5 */
|
|
0x03060007 /* 6 */
|
|
0x0308000c /* - */
|
|
0x030b002b /* \ */
|
|
|
|
0x04000061 /* R_CTRL */
|
|
0x0401001e /* A */
|
|
0x04020020 /* D */
|
|
0x04030021 /* F */
|
|
0x0404001f /* S */
|
|
0x04050025 /* K */
|
|
0x04060024 /* J */
|
|
0x04080027 /* ; */
|
|
0x04090026 /* L */
|
|
0x040a002b /* \ */
|
|
0x040b001c /* ENTER */
|
|
|
|
0x0501002c /* Z */
|
|
0x0502002e /* C */
|
|
0x0503002f /* V */
|
|
0x0504002d /* X */
|
|
0x05050033 /* , */
|
|
0x05060032 /* M */
|
|
0x0507002a /* L_SHIFT */
|
|
0x05080035 /* / */
|
|
0x05090034 /* . */
|
|
0x050B0039 /* SPACE */
|
|
|
|
0x06010002 /* 1 */
|
|
0x06020004 /* 3 */
|
|
0x06030005 /* 4 */
|
|
0x06040003 /* 2 */
|
|
0x06050009 /* 8 */
|
|
0x06060008 /* 7 */
|
|
0x0608000b /* 0 */
|
|
0x0609000a /* 9 */
|
|
0x060a0038 /* L_ALT */
|
|
0x060b006c /* DOWN */
|
|
0x060c006a /* RIGHT */
|
|
|
|
0x07010010 /* Q */
|
|
0x07020012 /* E */
|
|
0x07030013 /* R */
|
|
0x07040011 /* W */
|
|
0x07050017 /* I */
|
|
0x07060016 /* U */
|
|
0x07070036 /* R_SHIFT */
|
|
0x07080019 /* P */
|
|
0x07090018 /* O */
|
|
0x070b0067 /* UP */
|
|
0x070c0069>; /* LEFT */
|
|
};
|
|
};
|
|
|
|
power-regulator {
|
|
compatible = "ti,tps65090";
|
|
reg = <0x48>;
|
|
|
|
/*
|
|
* Config irq to disable internal pulls
|
|
* even though we run in polling mode.
|
|
*/
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&tps65090_irq>;
|
|
|
|
vsys1-supply = <&vbat>;
|
|
vsys2-supply = <&vbat>;
|
|
vsys3-supply = <&vbat>;
|
|
infet1-supply = <&vbat>;
|
|
infet2-supply = <&vbat>;
|
|
infet3-supply = <&vbat>;
|
|
infet4-supply = <&vbat>;
|
|
infet5-supply = <&vbat>;
|
|
infet6-supply = <&vbat>;
|
|
infet7-supply = <&vbat>;
|
|
vsys-l1-supply = <&vbat>;
|
|
vsys-l2-supply = <&vbat>;
|
|
|
|
regulators {
|
|
dcdc1 {
|
|
ti,enable-ext-control;
|
|
};
|
|
dcdc2 {
|
|
ti,enable-ext-control;
|
|
};
|
|
dcdc3 {
|
|
ti,enable-ext-control;
|
|
};
|
|
fet1 {
|
|
regulator-name = "vcd_led";
|
|
ti,overcurrent-wait = <3>;
|
|
};
|
|
tps65090_fet2: fet2 {
|
|
regulator-name = "video_mid";
|
|
regulator-always-on;
|
|
ti,overcurrent-wait = <3>;
|
|
};
|
|
fet3 {
|
|
regulator-name = "wwan_r";
|
|
regulator-always-on;
|
|
ti,overcurrent-wait = <3>;
|
|
};
|
|
fet4 {
|
|
regulator-name = "sdcard";
|
|
ti,overcurrent-wait = <3>;
|
|
};
|
|
fet5 {
|
|
regulator-name = "camout";
|
|
regulator-always-on;
|
|
ti,overcurrent-wait = <3>;
|
|
};
|
|
fet6 {
|
|
regulator-name = "lcd_vdd";
|
|
ti,overcurrent-wait = <3>;
|
|
};
|
|
tps65090_fet7: fet7 {
|
|
regulator-name = "video_mid_1a";
|
|
regulator-always-on;
|
|
ti,overcurrent-wait = <3>;
|
|
};
|
|
ldo1 {
|
|
};
|
|
ldo2 {
|
|
};
|
|
};
|
|
|
|
charger {
|
|
compatible = "ti,tps65090-charger";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
mmc@12200000 {
|
|
status = "okay";
|
|
};
|
|
|
|
mmc@12220000 {
|
|
status = "okay";
|
|
};
|
|
|
|
/*
|
|
* On Snow we've got SIP WiFi and so can keep drive strengths low to
|
|
* reduce EMI.
|
|
*/
|
|
mmc@12230000 {
|
|
status = "okay";
|
|
slot@0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
|
|
};
|
|
};
|
|
|
|
i2c@12CD0000 {
|
|
max98095: codec@11 {
|
|
compatible = "maxim,max98095";
|
|
reg = <0x11>;
|
|
pinctrl-0 = <&max98095_en>;
|
|
pinctrl-names = "default";
|
|
};
|
|
};
|
|
|
|
i2s0: i2s@03830000 {
|
|
status = "okay";
|
|
};
|
|
|
|
sound {
|
|
compatible = "google,snow-audio-max98095";
|
|
|
|
samsung,i2s-controller = <&i2s0>;
|
|
samsung,audio-codec = <&max98095>;
|
|
};
|
|
|
|
usb@12110000 {
|
|
samsung,vbus-gpio = <&gpx1 1 0>;
|
|
};
|
|
|
|
fixed-rate-clocks {
|
|
xxti {
|
|
compatible = "samsung,clock-xxti";
|
|
clock-frequency = <24000000>;
|
|
};
|
|
};
|
|
|
|
hdmi {
|
|
hdmi-en-supply = <&tps65090_fet7>;
|
|
vdd-supply = <&ldo8_reg>;
|
|
vdd_osc-supply = <&ldo10_reg>;
|
|
vdd_pll-supply = <&ldo8_reg>;
|
|
};
|
|
};
|