mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-14 17:55:42 +08:00
537433b624
We get a moderate number of new machines this time, and only one new SoC variant (Actions S700): Actions: S700 Soc and CubieBoard7 development board Allo.com Sparky Single-board-computer Allwinner: Orange Pi R1 development board Libre Computer Board ALL-H3-CC H3 single-board computer ASpeed ast2x00: Witherspoon: OpenPower Power9 server manufactured by IBM that uses the ASPEED ast2500 Zaius: OpenPower Power9 server manufactured by Invatech that uses the ASPEED ast2500 Q71L: Intel Xeon server manufactured by Qanta that uses the ASPEED ast2400 AT91: Axentia Nattis/Natte digital signage sama5d2 PTC-ek Evaluation board Freescale/NXP i.MX: SolidRun Humminboard2 development board Variscite DART-MX6 SoM and Carrier-board Technologic TS-4600 and TS-7970 development board Toradex Colibri iMX7D SoM board v1.5 variant of Solidrun Cubox-i and Hummingboard Freescale/NXP Layerscape: Moxa UC-8410A Series industrial computer Gemini: D-Link DNS-313 NAS enclosure OMAP: LogicPD OMAP35xx SOM-LV devkit LogicPD OMAP35xx Torpedo devkit Renesas: r8a77970 (V3M) Starter Kit board r8a7795 (M3-W) Salvator-XS board We finally managed to get the dtc warnings under control, with no more build-time warnings for bad device tree files. This includes fixes for the majority of platforms, including nomadik, samsung, lpc32xx, STi, spear, mediatek, freescale, qcom, realview, keystone, omap, kirkwood, renesas, hisilicon, and broadcom. Files get rearranged on a few platforms, in particular the Marvell Armada 7K/8K device tree files are changed in preparation for future SoC support, based on more than two of the same chips in one package, and some boards get renamed for oxnas for consistency. Finally, many existing SoCs gain descriptions for additional on-chip devices that we can now support with kernel drivers: Allwinner A83t (drm, ethernet, i2c, ...), H3/H5 (USB-OTG) Amlogic AXG family (clk, pinctrl, pwm, ...), and others (vpu, hdmi) Aspeed clk controller support Freescale LS1088A, LS1021A device support Gemini Ethernet, PCI, TVE, panel Keystone gpio, qspi, more uarts Mediatek cpufreq, regulator, clock, reset Marvell thermal, cpufreq, nand Renesas SMP, thermal, timer, PWM, sound, phy, ipmmu Rockchip Mipi, GPU, display Samsung Exynos5433 PMU, power domain, nfc Spreadtrum: sc9860 clocks Tegra TX2 PSDI, HDMI, I2C,SMMU, display, fuse, ... -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJac0fiAAoJEGCrR//JCVInGUYP/ikTcjrmtQxmMINdsy88gmN3 lPk3jGoViyRzc9Y6hGUUXn1YNdK8+IqRkqLnhtVX3cOLS5pP2HwsvSgPmSSB3eQe NOhXUNRQaTbeS/eBGZxJbxEKSowQHU+43M2kRNQOht7UQzS8NnBj/1RGaxcFyNSw gIixWDZLgVTNCSloPaSrZmiwSa7rSM2q0ncBzzeafAZiTRNeOb6IUpnqu/n0Qnot er6VoEyxp6ThFqRB7O8bCAIwgqlyB9xSGBPNR/JI0e0xXo3KVE/2AjHYDHVP/Ttx X8vtb3m+RED7tX4oCmlrHb1SAAKpNi1Vzdg4PxmKCa7yb5xPog7OEr3rnpijzCL0 y8IJLlVSPyx31yB7mIIzCjrcISrT7tOXp0ha88/NgNsGXw5Ln0GVEqTkmSrz/JWo z1G2tNwnstS64KK+chHOZfUto4Rzbrpmr9L1ziKIpSQtiNyOmiSu1c3EjHim7x4I Mfiv6+8J71faUYuKVK1oaX0gi43oSZHu4NuniQy8dg/OIpgPpHHpG1qCyAzgC6Pa r1Am2w33CXrJI78b4zG2pIDx0HghIjFUtjX9tijoFiMs1EZgbV6cJ2meep6Sy+XV RBxHXPU8obdcuBfhgjEygwLI0HSe0R78B15qPP/SNxAFeAvE950xfPrGAoZg7qo/ o6B2iQSfsYQJbD8rUHaA =qN1F -----END PGP SIGNATURE----- Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC device tree updates from Arnd Bergmann: "We get a moderate number of new machines this time, and only one new SoC variant (Actions S700): Actions: - S700 Soc and CubieBoard7 development board - Allo.com Sparky Single-board-computer Allwinner: - Orange Pi R1 development board - Libre Computer Board ALL-H3-CC H3 single-board computer ASpeed ast2x00: - Witherspoon: OpenPower Power9 server manufactured by IBM that uses the ASPEED ast2500 - Zaius: OpenPower Power9 server manufactured by Invatech that uses the ASPEED ast2500 - Q71L: Intel Xeon server manufactured by Qanta that uses the ASPEED ast2400 AT91: - Axentia Nattis/Natte digital signage - sama5d2 PTC-ek Evaluation board Freescale/NXP i.MX: - SolidRun Humminboard2 development board - Variscite DART-MX6 SoM and Carrier-board - Technologic TS-4600 and TS-7970 development board - Toradex Colibri iMX7D SoM board - v1.5 variant of Solidrun Cubox-i and Hummingboard Freescale/NXP Layerscape: - Moxa UC-8410A Series industrial computer Gemini: - D-Link DNS-313 NAS enclosure OMAP: - LogicPD OMAP35xx SOM-LV devkit - LogicPD OMAP35xx Torpedo devkit Renesas: - r8a77970 (V3M) Starter Kit board - r8a7795 (M3-W) Salvator-XS board We finally managed to get the dtc warnings under control, with no more build-time warnings for bad device tree files. This includes fixes for the majority of platforms, including nomadik, samsung, lpc32xx, STi, spear, mediatek, freescale, qcom, realview, keystone, omap, kirkwood, renesas, hisilicon, and broadcom. Files get rearranged on a few platforms, in particular the Marvell Armada 7K/8K device tree files are changed in preparation for future SoC support, based on more than two of the same chips in one package, and some boards get renamed for oxnas for consistency. Finally, many existing SoCs gain descriptions for additional on-chip devices that we can now support with kernel drivers: - Allwinner A83t (drm, ethernet, i2c, ...), H3/H5 (USB-OTG) - Amlogic AXG family (clk, pinctrl, pwm, ...), and others (vpu, hdmi) - Aspeed clk controller support - Freescale LS1088A, LS1021A device support - Gemini Ethernet, PCI, TVE, panel - Keystone gpio, qspi, more uarts - Mediatek cpufreq, regulator, clock, reset - Marvell thermal, cpufreq, nand - Renesas SMP, thermal, timer, PWM, sound, phy, ipmmu - Rockchip Mipi, GPU, display - Samsung Exynos5433 PMU, power domain, nfc - Spreadtrum: sc9860 clocks - Tegra TX2 PSDI, HDMI, I2C,SMMU, display, fuse, ..." * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (690 commits) arm64: dts: stratix10: fix SPI settings ARM: dts: socfpga: add i2c reset signals arm64: dts: stratix10: add USB ECC reset bit arm64: dts: stratix10: enable USB on the devkit ARM: dts: socfpga: disable over-current for Arria10 USB devkit ARM: dts: Nokia N9: add support for up/down keys in the dts ARM: dts: nomadik: add interrupt-parent for clcd ARM: dts: Add ethernet to a bunch of platforms ARM: dts: Add ethernet to the Gemini SoC ARM: dts: rename oxnas dts files ARM: dts: s5pv210: add interrupt-parent for ohci ARM: lpc3250: fix uda1380 gpio numbers ARM: dts: STi: Add gpio polarity for "hdmi,hpd-gpio" property ARM: dts: dra7: Reduce shut down temperature of non-cpu thermal zones ARM: dts: n900: Add aliases for lcd and tvout displays ARM: dts: Update ti-sysc data for existing users ARM: dts: Fix smartreflex compatible for omap3 shared mpu-iva instance arm64: dts: marvell: armada-80x0: Fix pinctrl compatible string arm: spear13xx: Fix spics gpio controller's warning arm: spear13xx: Fix dmas cells ...
1129 lines
28 KiB
Plaintext
1129 lines
28 KiB
Plaintext
/*
|
|
* Copyright (C) 2013 Pavel Machek <pavel@ucw.cz>
|
|
* Copyright (C) 2013-2014 Aaro Koskinen <aaro.koskinen@iki.fi>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 (or later) as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include "omap34xx.dtsi"
|
|
#include <dt-bindings/input/input.h>
|
|
|
|
/*
|
|
* Default secure signed bootloader (Nokia X-Loader) does not enable L3 firewall
|
|
* for omap AES HW crypto support. When linux kernel try to access memory of AES
|
|
* blocks then kernel receive "Unhandled fault: external abort on non-linefetch"
|
|
* and crash. Until somebody fix omap-aes.c and omap_hwmod_3xxx_data.c code (no
|
|
* crash anymore) omap AES support will be disabled for all Nokia N900 devices.
|
|
* There is "unofficial" version of bootloader which enables AES in L3 firewall
|
|
* but it is not widely used and to prevent kernel crash rather AES is disabled.
|
|
* There is also no runtime detection code if AES is disabled in L3 firewall...
|
|
*/
|
|
&aes {
|
|
status = "disabled";
|
|
};
|
|
|
|
/ {
|
|
model = "Nokia N900";
|
|
compatible = "nokia,omap3-n900", "ti,omap3430", "ti,omap3";
|
|
|
|
aliases {
|
|
i2c0;
|
|
i2c1 = &i2c1;
|
|
i2c2 = &i2c2;
|
|
i2c3 = &i2c3;
|
|
display0 = &lcd;
|
|
display1 = &tv;
|
|
};
|
|
|
|
cpus {
|
|
cpu@0 {
|
|
cpu0-supply = <&vcc>;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
heartbeat {
|
|
label = "debug::sleep";
|
|
gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>; /* 162 */
|
|
linux,default-trigger = "default-on";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&debug_leds>;
|
|
};
|
|
};
|
|
|
|
memory@80000000 {
|
|
device_type = "memory";
|
|
reg = <0x80000000 0x10000000>; /* 256 MB */
|
|
};
|
|
|
|
gpio_keys {
|
|
compatible = "gpio-keys";
|
|
|
|
camera_lens_cover {
|
|
label = "Camera Lens Cover";
|
|
gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; /* 110 */
|
|
linux,input-type = <EV_SW>;
|
|
linux,code = <SW_CAMERA_LENS_COVER>;
|
|
linux,can-disable;
|
|
};
|
|
|
|
camera_focus {
|
|
label = "Camera Focus";
|
|
gpios = <&gpio3 4 GPIO_ACTIVE_LOW>; /* 68 */
|
|
linux,code = <KEY_CAMERA_FOCUS>;
|
|
linux,can-disable;
|
|
};
|
|
|
|
camera_capture {
|
|
label = "Camera Capture";
|
|
gpios = <&gpio3 5 GPIO_ACTIVE_LOW>; /* 69 */
|
|
linux,code = <KEY_CAMERA>;
|
|
linux,can-disable;
|
|
};
|
|
|
|
lock_button {
|
|
label = "Lock Button";
|
|
gpios = <&gpio4 17 GPIO_ACTIVE_LOW>; /* 113 */
|
|
linux,code = <KEY_SCREENLOCK>;
|
|
linux,can-disable;
|
|
};
|
|
|
|
keypad_slide {
|
|
label = "Keypad Slide";
|
|
gpios = <&gpio3 7 GPIO_ACTIVE_LOW>; /* 71 */
|
|
linux,input-type = <EV_SW>;
|
|
linux,code = <SW_KEYPAD_SLIDE>;
|
|
linux,can-disable;
|
|
};
|
|
|
|
proximity_sensor {
|
|
label = "Proximity Sensor";
|
|
gpios = <&gpio3 25 GPIO_ACTIVE_HIGH>; /* 89 */
|
|
linux,input-type = <EV_SW>;
|
|
linux,code = <SW_FRONT_PROXIMITY>;
|
|
linux,can-disable;
|
|
};
|
|
};
|
|
|
|
isp1707: isp1707 {
|
|
compatible = "nxp,isp1707";
|
|
nxp,enable-gpio = <&gpio3 3 GPIO_ACTIVE_HIGH>;
|
|
usb-phy = <&usb2_phy>;
|
|
};
|
|
|
|
tv: connector {
|
|
compatible = "composite-video-connector";
|
|
label = "tv";
|
|
|
|
port {
|
|
tv_connector_in: endpoint {
|
|
remote-endpoint = <&venc_out>;
|
|
};
|
|
};
|
|
};
|
|
|
|
sound: n900-audio {
|
|
compatible = "nokia,n900-audio";
|
|
|
|
nokia,cpu-dai = <&mcbsp2>;
|
|
nokia,audio-codec = <&tlv320aic3x>, <&tlv320aic3x_aux>;
|
|
nokia,headphone-amplifier = <&tpa6130a2>;
|
|
|
|
tvout-selection-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>; /* 40 */
|
|
jack-detection-gpios = <&gpio6 17 GPIO_ACTIVE_HIGH>; /* 177 */
|
|
eci-switch-gpios = <&gpio6 22 GPIO_ACTIVE_HIGH>; /* 182 */
|
|
speaker-amplifier-gpios = <&twl_gpio 7 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
battery: n900-battery {
|
|
compatible = "nokia,n900-battery";
|
|
io-channels = <&twl_madc 0>, <&twl_madc 4>, <&twl_madc 12>;
|
|
io-channel-names = "temp", "bsi", "vbat";
|
|
};
|
|
|
|
pwm9: dmtimer-pwm {
|
|
compatible = "ti,omap-dmtimer-pwm";
|
|
#pwm-cells = <3>;
|
|
ti,timers = <&timer9>;
|
|
ti,clock-source = <0x00>; /* timer_sys_ck */
|
|
};
|
|
|
|
ir: n900-ir {
|
|
compatible = "nokia,n900-ir";
|
|
pwms = <&pwm9 0 26316 0>; /* 38000 Hz */
|
|
};
|
|
|
|
/* controlled (enabled/disabled) directly by bcm2048 and wl1251 */
|
|
vctcxo: vctcxo {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <38400000>;
|
|
};
|
|
};
|
|
|
|
&isp {
|
|
vdds_csib-supply = <&vaux2>;
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&camera_pins>;
|
|
|
|
ports {
|
|
port@1 {
|
|
reg = <1>;
|
|
|
|
csi_isp: endpoint {
|
|
remote-endpoint = <&csi_cam1>;
|
|
bus-type = <3>; /* CCP2 */
|
|
clock-lanes = <1>;
|
|
data-lanes = <0>;
|
|
lane-polarity = <0 0>;
|
|
/* Select strobe = <1> for back camera, <0> for front camera */
|
|
strobe = <1>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&omap3_pmx_core {
|
|
pinctrl-names = "default";
|
|
|
|
uart2_pins: pinmux_uart2_pins {
|
|
pinctrl-single,pins = <
|
|
OMAP3_CORE1_IOPAD(0x2174, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts */
|
|
OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE0) /* uart2_rts */
|
|
OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE0) /* uart2_tx */
|
|
OMAP3_CORE1_IOPAD(0x217a, PIN_INPUT | MUX_MODE0) /* uart2_rx */
|
|
>;
|
|
};
|
|
|
|
uart3_pins: pinmux_uart3_pins {
|
|
pinctrl-single,pins = <
|
|
OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | MUX_MODE0) /* uart3_rx */
|
|
OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx */
|
|
>;
|
|
};
|
|
|
|
ethernet_pins: pinmux_ethernet_pins {
|
|
pinctrl-single,pins = <
|
|
OMAP3_CORE1_IOPAD(0x20b4, PIN_INPUT_PULLDOWN | MUX_MODE4) /* gpmc_ncs3.gpio_54 */
|
|
OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE4) /* dss_data16.gpio_86 */
|
|
OMAP3_CORE1_IOPAD(0x219c, PIN_OUTPUT | MUX_MODE4) /* uart3_rts_sd.gpio_164 */
|
|
>;
|
|
};
|
|
|
|
gpmc_pins: pinmux_gpmc_pins {
|
|
pinctrl-single,pins = <
|
|
|
|
/* address lines */
|
|
OMAP3_CORE1_IOPAD(0x207a, PIN_OUTPUT | MUX_MODE0) /* gpmc_a1.gpmc_a1 */
|
|
OMAP3_CORE1_IOPAD(0x207c, PIN_OUTPUT | MUX_MODE0) /* gpmc_a2.gpmc_a2 */
|
|
OMAP3_CORE1_IOPAD(0x207e, PIN_OUTPUT | MUX_MODE0) /* gpmc_a3.gpmc_a3 */
|
|
|
|
/* data lines, gpmc_d0..d7 not muxable according to TRM */
|
|
OMAP3_CORE1_IOPAD(0x209e, PIN_INPUT | MUX_MODE0) /* gpmc_d8.gpmc_d8 */
|
|
OMAP3_CORE1_IOPAD(0x20a0, PIN_INPUT | MUX_MODE0) /* gpmc_d9.gpmc_d9 */
|
|
OMAP3_CORE1_IOPAD(0x20a2, PIN_INPUT | MUX_MODE0) /* gpmc_d10.gpmc_d10 */
|
|
OMAP3_CORE1_IOPAD(0x20a4, PIN_INPUT | MUX_MODE0) /* gpmc_d11.gpmc_d11 */
|
|
OMAP3_CORE1_IOPAD(0x20a6, PIN_INPUT | MUX_MODE0) /* gpmc_d12.gpmc_d12 */
|
|
OMAP3_CORE1_IOPAD(0x20a8, PIN_INPUT | MUX_MODE0) /* gpmc_d13.gpmc_d13 */
|
|
OMAP3_CORE1_IOPAD(0x20aa, PIN_INPUT | MUX_MODE0) /* gpmc_d14.gpmc_d14 */
|
|
OMAP3_CORE1_IOPAD(0x20ac, PIN_INPUT | MUX_MODE0) /* gpmc_d15.gpmc_d15 */
|
|
|
|
/*
|
|
* gpmc_ncs0, gpmc_nadv_ale, gpmc_noe, gpmc_nwe, gpmc_wait0 not muxable
|
|
* according to TRM. OneNAND seems to require PIN_INPUT on clock.
|
|
*/
|
|
OMAP3_CORE1_IOPAD(0x20b0, PIN_OUTPUT | MUX_MODE0) /* gpmc_ncs1.gpmc_ncs1 */
|
|
OMAP3_CORE1_IOPAD(0x20be, PIN_INPUT | MUX_MODE0) /* gpmc_clk.gpmc_clk */
|
|
>;
|
|
};
|
|
|
|
i2c1_pins: pinmux_i2c1_pins {
|
|
pinctrl-single,pins = <
|
|
OMAP3_CORE1_IOPAD(0x21ba, PIN_INPUT | MUX_MODE0) /* i2c1_scl */
|
|
OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT | MUX_MODE0) /* i2c1_sda */
|
|
>;
|
|
};
|
|
|
|
i2c2_pins: pinmux_i2c2_pins {
|
|
pinctrl-single,pins = <
|
|
OMAP3_CORE1_IOPAD(0x21be, PIN_INPUT | MUX_MODE0) /* i2c2_scl */
|
|
OMAP3_CORE1_IOPAD(0x21c0, PIN_INPUT | MUX_MODE0) /* i2c2_sda */
|
|
>;
|
|
};
|
|
|
|
i2c3_pins: pinmux_i2c3_pins {
|
|
pinctrl-single,pins = <
|
|
OMAP3_CORE1_IOPAD(0x21c2, PIN_INPUT | MUX_MODE0) /* i2c3_scl */
|
|
OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT | MUX_MODE0) /* i2c3_sda */
|
|
>;
|
|
};
|
|
|
|
debug_leds: pinmux_debug_led_pins {
|
|
pinctrl-single,pins = <
|
|
OMAP3_CORE1_IOPAD(0x2198, PIN_OUTPUT | MUX_MODE4) /* mcbsp1_clkx.gpio_162 */
|
|
>;
|
|
};
|
|
|
|
mcspi4_pins: pinmux_mcspi4_pins {
|
|
pinctrl-single,pins = <
|
|
OMAP3_CORE1_IOPAD(0x218c, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_clk */
|
|
OMAP3_CORE1_IOPAD(0x2192, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_somi */
|
|
OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE1) /* mcspi4_simo */
|
|
OMAP3_CORE1_IOPAD(0x2196, PIN_OUTPUT | MUX_MODE1) /* mcspi4_cs0 */
|
|
>;
|
|
};
|
|
|
|
mmc1_pins: pinmux_mmc1_pins {
|
|
pinctrl-single,pins = <
|
|
OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk */
|
|
OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd */
|
|
OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0 */
|
|
OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1 */
|
|
OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2 */
|
|
OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3 */
|
|
>;
|
|
};
|
|
|
|
mmc2_pins: pinmux_mmc2_pins {
|
|
pinctrl-single,pins = <
|
|
OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk */
|
|
OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd */
|
|
OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0 */
|
|
OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1 */
|
|
OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2 */
|
|
OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3 */
|
|
OMAP3_CORE1_IOPAD(0x2164, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat4 */
|
|
OMAP3_CORE1_IOPAD(0x2166, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat5 */
|
|
OMAP3_CORE1_IOPAD(0x2168, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat6 */
|
|
OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat7 */
|
|
>;
|
|
};
|
|
|
|
acx565akm_pins: pinmux_acx565akm_pins {
|
|
pinctrl-single,pins = <
|
|
OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE4) /* RX51_LCD_RESET_GPIO */
|
|
>;
|
|
};
|
|
|
|
dss_sdi_pins: pinmux_dss_sdi_pins {
|
|
pinctrl-single,pins = <
|
|
OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE1) /* dss_data10.sdi_dat1n */
|
|
OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE1) /* dss_data11.sdi_dat1p */
|
|
OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE1) /* dss_data12.sdi_dat2n */
|
|
OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE1) /* dss_data13.sdi_dat2p */
|
|
|
|
OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE1) /* dss_data22.sdi_clkp */
|
|
OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE1) /* dss_data23.sdi_clkn */
|
|
>;
|
|
};
|
|
|
|
wl1251_pins: pinmux_wl1251 {
|
|
pinctrl-single,pins = <
|
|
OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE4) /* gpio 87 => wl1251 enable */
|
|
OMAP3_CORE1_IOPAD(0x208a, PIN_INPUT | MUX_MODE4) /* gpio 42 => wl1251 irq */
|
|
>;
|
|
};
|
|
|
|
ssi_pins: pinmux_ssi {
|
|
pinctrl-single,pins = <
|
|
OMAP3_CORE1_IOPAD(0x2180, PIN_INPUT_PULLUP | MUX_MODE1) /* ssi1_rdy_tx */
|
|
OMAP3_CORE1_IOPAD(0x217e, PIN_OUTPUT | MUX_MODE1) /* ssi1_flag_tx */
|
|
OMAP3_CORE1_IOPAD(0x2182, PIN_INPUT | MUX_MODE4) /* ssi1_wake_tx (cawake) */
|
|
OMAP3_CORE1_IOPAD(0x217c, PIN_OUTPUT | MUX_MODE1) /* ssi1_dat_tx */
|
|
OMAP3_CORE1_IOPAD(0x2184, PIN_INPUT | MUX_MODE1) /* ssi1_dat_rx */
|
|
OMAP3_CORE1_IOPAD(0x2186, PIN_INPUT | MUX_MODE1) /* ssi1_flag_rx */
|
|
OMAP3_CORE1_IOPAD(0x2188, PIN_OUTPUT | MUX_MODE1) /* ssi1_rdy_rx */
|
|
OMAP3_CORE1_IOPAD(0x218a, PIN_OUTPUT | MUX_MODE1) /* ssi1_wake */
|
|
>;
|
|
};
|
|
|
|
modem_pins: pinmux_modem {
|
|
pinctrl-single,pins = <
|
|
OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE4) /* gpio 70 => cmt_apeslpx */
|
|
OMAP3_CORE1_IOPAD(0x20e0, PIN_INPUT | MUX_MODE4) /* gpio 72 => ape_rst_rq */
|
|
OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE4) /* gpio 73 => cmt_rst_rq */
|
|
OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE4) /* gpio 74 => cmt_en */
|
|
OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE4) /* gpio 75 => cmt_rst */
|
|
OMAP3_CORE1_IOPAD(0x218e, PIN_OUTPUT | MUX_MODE4) /* gpio 157 => cmt_bsi */
|
|
>;
|
|
};
|
|
|
|
camera_pins: pinmux_camera {
|
|
pinctrl-single,pins = <
|
|
OMAP3_CORE1_IOPAD(0x210c, PIN_OUTPUT | MUX_MODE7) /* cam_hs */
|
|
OMAP3_CORE1_IOPAD(0x210e, PIN_OUTPUT | MUX_MODE7) /* cam_vs */
|
|
OMAP3_CORE1_IOPAD(0x2110, PIN_OUTPUT | MUX_MODE0) /* cam_xclka */
|
|
OMAP3_CORE1_IOPAD(0x211e, PIN_OUTPUT | MUX_MODE7) /* cam_d4 */
|
|
OMAP3_CORE1_IOPAD(0x2122, PIN_INPUT | MUX_MODE0) /* cam_d6 */
|
|
OMAP3_CORE1_IOPAD(0x2124, PIN_INPUT | MUX_MODE0) /* cam_d7 */
|
|
OMAP3_CORE1_IOPAD(0x2126, PIN_INPUT | MUX_MODE0) /* cam_d8 */
|
|
OMAP3_CORE1_IOPAD(0x2128, PIN_INPUT | MUX_MODE0) /* cam_d9 */
|
|
OMAP3_CORE1_IOPAD(0x212a, PIN_OUTPUT | MUX_MODE7) /* cam_d10 */
|
|
OMAP3_CORE1_IOPAD(0x212e, PIN_OUTPUT | MUX_MODE7) /* cam_xclkb */
|
|
OMAP3_CORE1_IOPAD(0x2132, PIN_OUTPUT | MUX_MODE0) /* cam_strobe */
|
|
>;
|
|
};
|
|
};
|
|
|
|
&i2c1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c1_pins>;
|
|
|
|
clock-frequency = <2200000>;
|
|
|
|
twl: twl@48 {
|
|
reg = <0x48>;
|
|
interrupts = <7>; /* SYS_NIRQ cascaded to intc */
|
|
interrupt-parent = <&intc>;
|
|
};
|
|
};
|
|
|
|
#include "twl4030.dtsi"
|
|
#include "twl4030_omap3.dtsi"
|
|
|
|
&vaux1 {
|
|
regulator-name = "V28";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
|
|
regulator-always-on; /* due to battery cover sensor */
|
|
};
|
|
|
|
&vaux2 {
|
|
regulator-name = "VCSI";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
|
|
};
|
|
|
|
&vaux3 {
|
|
regulator-name = "VMMC2_30";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
|
|
};
|
|
|
|
&vaux4 {
|
|
regulator-name = "VCAM_ANA_28";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
|
|
};
|
|
|
|
&vmmc1 {
|
|
regulator-name = "VMMC1";
|
|
regulator-min-microvolt = <1850000>;
|
|
regulator-max-microvolt = <3150000>;
|
|
regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
|
|
};
|
|
|
|
&vmmc2 {
|
|
regulator-name = "V28_A";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
|
|
regulator-always-on; /* due VIO leak to AIC34 VDDs */
|
|
};
|
|
|
|
&vpll1 {
|
|
regulator-name = "VPLL";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
|
|
regulator-always-on;
|
|
};
|
|
|
|
&vpll2 {
|
|
regulator-name = "VSDI_CSI";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
|
|
regulator-always-on;
|
|
};
|
|
|
|
&vsim {
|
|
regulator-name = "VMMC2_IO_18";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-initial-mode = <0x0e>; /* RES_STATE_ACTIVE */
|
|
};
|
|
|
|
&vio {
|
|
regulator-name = "VIO";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
|
|
&vintana1 {
|
|
regulator-name = "VINTANA1";
|
|
/* fixed to 1500000 */
|
|
regulator-always-on;
|
|
};
|
|
|
|
&vintana2 {
|
|
regulator-name = "VINTANA2";
|
|
regulator-min-microvolt = <2750000>;
|
|
regulator-max-microvolt = <2750000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
&vintdig {
|
|
regulator-name = "VINTDIG";
|
|
/* fixed to 1500000 */
|
|
regulator-always-on;
|
|
};
|
|
|
|
&twl {
|
|
twl_audio: audio {
|
|
compatible = "ti,twl4030-audio";
|
|
ti,enable-vibra = <1>;
|
|
};
|
|
|
|
twl_power: power {
|
|
compatible = "ti,twl4030-power-n900", "ti,twl4030-power-idle-osc-off";
|
|
ti,use_poweroff;
|
|
};
|
|
};
|
|
|
|
&twl_keypad {
|
|
linux,keymap = < MATRIX_KEY(0x00, 0x00, KEY_Q)
|
|
MATRIX_KEY(0x00, 0x01, KEY_O)
|
|
MATRIX_KEY(0x00, 0x02, KEY_P)
|
|
MATRIX_KEY(0x00, 0x03, KEY_COMMA)
|
|
MATRIX_KEY(0x00, 0x04, KEY_BACKSPACE)
|
|
MATRIX_KEY(0x00, 0x06, KEY_A)
|
|
MATRIX_KEY(0x00, 0x07, KEY_S)
|
|
|
|
MATRIX_KEY(0x01, 0x00, KEY_W)
|
|
MATRIX_KEY(0x01, 0x01, KEY_D)
|
|
MATRIX_KEY(0x01, 0x02, KEY_F)
|
|
MATRIX_KEY(0x01, 0x03, KEY_G)
|
|
MATRIX_KEY(0x01, 0x04, KEY_H)
|
|
MATRIX_KEY(0x01, 0x05, KEY_J)
|
|
MATRIX_KEY(0x01, 0x06, KEY_K)
|
|
MATRIX_KEY(0x01, 0x07, KEY_L)
|
|
|
|
MATRIX_KEY(0x02, 0x00, KEY_E)
|
|
MATRIX_KEY(0x02, 0x01, KEY_DOT)
|
|
MATRIX_KEY(0x02, 0x02, KEY_UP)
|
|
MATRIX_KEY(0x02, 0x03, KEY_ENTER)
|
|
MATRIX_KEY(0x02, 0x05, KEY_Z)
|
|
MATRIX_KEY(0x02, 0x06, KEY_X)
|
|
MATRIX_KEY(0x02, 0x07, KEY_C)
|
|
MATRIX_KEY(0x02, 0x08, KEY_F9)
|
|
|
|
MATRIX_KEY(0x03, 0x00, KEY_R)
|
|
MATRIX_KEY(0x03, 0x01, KEY_V)
|
|
MATRIX_KEY(0x03, 0x02, KEY_B)
|
|
MATRIX_KEY(0x03, 0x03, KEY_N)
|
|
MATRIX_KEY(0x03, 0x04, KEY_M)
|
|
MATRIX_KEY(0x03, 0x05, KEY_SPACE)
|
|
MATRIX_KEY(0x03, 0x06, KEY_SPACE)
|
|
MATRIX_KEY(0x03, 0x07, KEY_LEFT)
|
|
|
|
MATRIX_KEY(0x04, 0x00, KEY_T)
|
|
MATRIX_KEY(0x04, 0x01, KEY_DOWN)
|
|
MATRIX_KEY(0x04, 0x02, KEY_RIGHT)
|
|
MATRIX_KEY(0x04, 0x04, KEY_LEFTCTRL)
|
|
MATRIX_KEY(0x04, 0x05, KEY_RIGHTALT)
|
|
MATRIX_KEY(0x04, 0x06, KEY_LEFTSHIFT)
|
|
MATRIX_KEY(0x04, 0x08, KEY_F10)
|
|
|
|
MATRIX_KEY(0x05, 0x00, KEY_Y)
|
|
MATRIX_KEY(0x05, 0x08, KEY_F11)
|
|
|
|
MATRIX_KEY(0x06, 0x00, KEY_U)
|
|
|
|
MATRIX_KEY(0x07, 0x00, KEY_I)
|
|
MATRIX_KEY(0x07, 0x01, KEY_F7)
|
|
MATRIX_KEY(0x07, 0x02, KEY_F8)
|
|
>;
|
|
};
|
|
|
|
&twl_gpio {
|
|
ti,pullups = <0x0>;
|
|
ti,pulldowns = <0x03ff3f>; /* BIT(0..5) | BIT(8..17) */
|
|
};
|
|
|
|
&i2c2 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c2_pins>;
|
|
|
|
clock-frequency = <100000>;
|
|
|
|
tlv320aic3x: tlv320aic3x@18 {
|
|
compatible = "ti,tlv320aic3x";
|
|
reg = <0x18>;
|
|
reset-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; /* 60 */
|
|
ai3x-gpio-func = <
|
|
0 /* AIC3X_GPIO1_FUNC_DISABLED */
|
|
5 /* AIC3X_GPIO2_FUNC_DIGITAL_MIC_INPUT */
|
|
>;
|
|
|
|
AVDD-supply = <&vmmc2>;
|
|
DRVDD-supply = <&vmmc2>;
|
|
IOVDD-supply = <&vio>;
|
|
DVDD-supply = <&vio>;
|
|
|
|
ai3x-micbias-vg = <1>;
|
|
};
|
|
|
|
tlv320aic3x_aux: tlv320aic3x@19 {
|
|
compatible = "ti,tlv320aic3x";
|
|
reg = <0x19>;
|
|
reset-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; /* 60 */
|
|
|
|
AVDD-supply = <&vmmc2>;
|
|
DRVDD-supply = <&vmmc2>;
|
|
IOVDD-supply = <&vio>;
|
|
DVDD-supply = <&vio>;
|
|
|
|
ai3x-micbias-vg = <2>;
|
|
};
|
|
|
|
tsl2563: tsl2563@29 {
|
|
compatible = "amstaos,tsl2563";
|
|
reg = <0x29>;
|
|
|
|
amstaos,cover-comp-gain = <16>;
|
|
};
|
|
|
|
adp1653: led-controller@30 {
|
|
compatible = "adi,adp1653";
|
|
reg = <0x30>;
|
|
enable-gpios = <&gpio3 24 GPIO_ACTIVE_HIGH>; /* 88 */
|
|
|
|
flash {
|
|
flash-timeout-us = <500000>;
|
|
flash-max-microamp = <320000>;
|
|
led-max-microamp = <50000>;
|
|
};
|
|
indicator {
|
|
led-max-microamp = <17500>;
|
|
};
|
|
};
|
|
|
|
lp5523: lp5523@32 {
|
|
compatible = "national,lp5523";
|
|
reg = <0x32>;
|
|
clock-mode = /bits/ 8 <0>; /* LP55XX_CLOCK_AUTO */
|
|
enable-gpio = <&gpio2 9 GPIO_ACTIVE_HIGH>; /* 41 */
|
|
|
|
chan0 {
|
|
chan-name = "lp5523:kb1";
|
|
led-cur = /bits/ 8 <50>;
|
|
max-cur = /bits/ 8 <100>;
|
|
};
|
|
|
|
chan1 {
|
|
chan-name = "lp5523:kb2";
|
|
led-cur = /bits/ 8 <50>;
|
|
max-cur = /bits/ 8 <100>;
|
|
};
|
|
|
|
chan2 {
|
|
chan-name = "lp5523:kb3";
|
|
led-cur = /bits/ 8 <50>;
|
|
max-cur = /bits/ 8 <100>;
|
|
};
|
|
|
|
chan3 {
|
|
chan-name = "lp5523:kb4";
|
|
led-cur = /bits/ 8 <50>;
|
|
max-cur = /bits/ 8 <100>;
|
|
};
|
|
|
|
chan4 {
|
|
chan-name = "lp5523:b";
|
|
led-cur = /bits/ 8 <50>;
|
|
max-cur = /bits/ 8 <100>;
|
|
};
|
|
|
|
chan5 {
|
|
chan-name = "lp5523:g";
|
|
led-cur = /bits/ 8 <50>;
|
|
max-cur = /bits/ 8 <100>;
|
|
};
|
|
|
|
chan6 {
|
|
chan-name = "lp5523:r";
|
|
led-cur = /bits/ 8 <50>;
|
|
max-cur = /bits/ 8 <100>;
|
|
};
|
|
|
|
chan7 {
|
|
chan-name = "lp5523:kb5";
|
|
led-cur = /bits/ 8 <50>;
|
|
max-cur = /bits/ 8 <100>;
|
|
};
|
|
|
|
chan8 {
|
|
chan-name = "lp5523:kb6";
|
|
led-cur = /bits/ 8 <50>;
|
|
max-cur = /bits/ 8 <100>;
|
|
};
|
|
};
|
|
|
|
bq27200: bq27200@55 {
|
|
compatible = "ti,bq27200";
|
|
reg = <0x55>;
|
|
};
|
|
|
|
/* Stereo headphone amplifier */
|
|
tpa6130a2: tpa6130a2@60 {
|
|
compatible = "ti,tpa6130a2";
|
|
reg = <0x60>;
|
|
|
|
Vdd-supply = <&vmmc2>;
|
|
|
|
power-gpio = <&gpio4 2 GPIO_ACTIVE_HIGH>; /* 98 */
|
|
};
|
|
|
|
si4713: si4713@63 {
|
|
compatible = "silabs,si4713";
|
|
reg = <0x63>;
|
|
|
|
interrupts-extended = <&gpio2 21 IRQ_TYPE_EDGE_FALLING>; /* 53 */
|
|
reset-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; /* 163 */
|
|
vio-supply = <&vio>;
|
|
vdd-supply = <&vaux1>;
|
|
};
|
|
|
|
bq24150a: bq24150a@6b {
|
|
compatible = "ti,bq24150a";
|
|
reg = <0x6b>;
|
|
|
|
ti,current-limit = <100>;
|
|
ti,weak-battery-voltage = <3400>;
|
|
ti,battery-regulation-voltage = <4200>;
|
|
ti,charge-current = <650>;
|
|
ti,termination-current = <100>;
|
|
ti,resistor-sense = <68>;
|
|
|
|
ti,usb-charger-detection = <&isp1707>;
|
|
};
|
|
};
|
|
|
|
&i2c3 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c3_pins>;
|
|
|
|
clock-frequency = <400000>;
|
|
|
|
lis302dl: lis3lv02d@1d {
|
|
compatible = "st,lis3lv02d";
|
|
reg = <0x1d>;
|
|
|
|
Vdd-supply = <&vaux1>;
|
|
Vdd_IO-supply = <&vio>;
|
|
|
|
interrupt-parent = <&gpio6>;
|
|
interrupts = <21 20>; /* 181 and 180 */
|
|
|
|
/* click flags */
|
|
st,click-single-x;
|
|
st,click-single-y;
|
|
st,click-single-z;
|
|
|
|
/* Limits are 0.5g * value */
|
|
st,click-threshold-x = <8>;
|
|
st,click-threshold-y = <8>;
|
|
st,click-threshold-z = <10>;
|
|
|
|
/* Click must be longer than time limit */
|
|
st,click-time-limit = <9>;
|
|
|
|
/* Kind of debounce filter */
|
|
st,click-latency = <50>;
|
|
|
|
/* Interrupt line 2 for click detection */
|
|
st,irq2-click;
|
|
|
|
st,wakeup-x-hi;
|
|
st,wakeup-y-hi;
|
|
st,wakeup-threshold = <(800/18)>; /* millig-value / 18 to get HW values */
|
|
|
|
st,wakeup2-z-hi;
|
|
st,wakeup2-threshold = <(900/18)>; /* millig-value / 18 to get HW values */
|
|
|
|
st,hipass1-disable;
|
|
st,hipass2-disable;
|
|
|
|
st,axis-x = <1>; /* LIS3_DEV_X */
|
|
st,axis-y = <(-2)>; /* LIS3_INV_DEV_Y */
|
|
st,axis-z = <(-3)>; /* LIS3_INV_DEV_Z */
|
|
|
|
st,min-limit-x = <(-32)>;
|
|
st,min-limit-y = <3>;
|
|
st,min-limit-z = <3>;
|
|
|
|
st,max-limit-x = <(-3)>;
|
|
st,max-limit-y = <32>;
|
|
st,max-limit-z = <32>;
|
|
};
|
|
|
|
cam1: camera@3e {
|
|
compatible = "toshiba,et8ek8";
|
|
reg = <0x3e>;
|
|
|
|
vana-supply = <&vaux4>;
|
|
|
|
clocks = <&isp 0>;
|
|
clock-names = "extclk";
|
|
clock-frequency = <9600000>;
|
|
|
|
reset-gpio = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 */
|
|
|
|
port {
|
|
csi_cam1: endpoint {
|
|
bus-type = <3>; /* CCP2 */
|
|
strobe = <1>;
|
|
clock-inv = <0>;
|
|
crc = <1>;
|
|
|
|
remote-endpoint = <&csi_isp>;
|
|
};
|
|
};
|
|
};
|
|
|
|
/* D/A converter for auto-focus */
|
|
ad5820: dac@c {
|
|
compatible = "adi,ad5820";
|
|
reg = <0x0c>;
|
|
|
|
VANA-supply = <&vaux4>;
|
|
|
|
#io-channel-cells = <0>;
|
|
};
|
|
};
|
|
|
|
&mmc1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&mmc1_pins>;
|
|
vmmc-supply = <&vmmc1>;
|
|
bus-width = <4>;
|
|
/* For debugging, it is often good idea to remove this GPIO.
|
|
It means you can remove back cover (to reboot by removing
|
|
battery) and still use the MMC card. */
|
|
cd-gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>; /* 160 */
|
|
};
|
|
|
|
/* most boards use vaux3, only some old versions use vmmc2 instead */
|
|
&mmc2 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&mmc2_pins>;
|
|
vmmc-supply = <&vaux3>;
|
|
vqmmc-supply = <&vsim>;
|
|
bus-width = <8>;
|
|
non-removable;
|
|
no-sdio;
|
|
no-sd;
|
|
};
|
|
|
|
&mmc3 {
|
|
status = "disabled";
|
|
};
|
|
|
|
&gpmc {
|
|
ranges = <0 0 0x01000000 0x01000000>, /* 16 MB for OneNAND */
|
|
<1 0 0x02000000 0x01000000>; /* 16 MB for smc91c96 */
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&gpmc_pins>;
|
|
|
|
/* sys_ndmareq1 could be used by the driver, not as gpio65 though */
|
|
onenand@0,0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "ti,omap2-onenand";
|
|
reg = <0 0 0x20000>; /* CS0, offset 0, IO size 128K */
|
|
|
|
gpmc,sync-read;
|
|
gpmc,sync-write;
|
|
gpmc,burst-length = <16>;
|
|
gpmc,burst-read;
|
|
gpmc,burst-wrap;
|
|
gpmc,burst-write;
|
|
gpmc,device-width = <2>; /* GPMC_DEVWIDTH_16BIT */
|
|
gpmc,mux-add-data = <2>; /* GPMC_MUX_AD */
|
|
gpmc,cs-on-ns = <0>;
|
|
gpmc,cs-rd-off-ns = <87>;
|
|
gpmc,cs-wr-off-ns = <87>;
|
|
gpmc,adv-on-ns = <0>;
|
|
gpmc,adv-rd-off-ns = <10>;
|
|
gpmc,adv-wr-off-ns = <10>;
|
|
gpmc,oe-on-ns = <15>;
|
|
gpmc,oe-off-ns = <87>;
|
|
gpmc,we-on-ns = <0>;
|
|
gpmc,we-off-ns = <87>;
|
|
gpmc,rd-cycle-ns = <112>;
|
|
gpmc,wr-cycle-ns = <112>;
|
|
gpmc,access-ns = <81>;
|
|
gpmc,page-burst-access-ns = <15>;
|
|
gpmc,bus-turnaround-ns = <0>;
|
|
gpmc,cycle2cycle-delay-ns = <0>;
|
|
gpmc,wait-monitoring-ns = <0>;
|
|
gpmc,clk-activation-ns = <5>;
|
|
gpmc,wr-data-mux-bus-ns = <30>;
|
|
gpmc,wr-access-ns = <81>;
|
|
gpmc,sync-clk-ps = <15000>;
|
|
|
|
/*
|
|
* MTD partition table corresponding to Nokia's
|
|
* Maemo 5 (Fremantle) release.
|
|
*/
|
|
partition@0 {
|
|
label = "bootloader";
|
|
reg = <0x00000000 0x00020000>;
|
|
read-only;
|
|
};
|
|
partition@1 {
|
|
label = "config";
|
|
reg = <0x00020000 0x00060000>;
|
|
};
|
|
partition@2 {
|
|
label = "log";
|
|
reg = <0x00080000 0x00040000>;
|
|
};
|
|
partition@3 {
|
|
label = "kernel";
|
|
reg = <0x000c0000 0x00200000>;
|
|
};
|
|
partition@4 {
|
|
label = "initfs";
|
|
reg = <0x002c0000 0x00200000>;
|
|
};
|
|
partition@5 {
|
|
label = "rootfs";
|
|
reg = <0x004c0000 0x0fb40000>;
|
|
};
|
|
};
|
|
|
|
/* Ethernet is on some early development boards and qemu */
|
|
ethernet@gpmc {
|
|
compatible = "smsc,lan91c94";
|
|
interrupt-parent = <&gpio2>;
|
|
interrupts = <22 IRQ_TYPE_LEVEL_HIGH>; /* gpio54 */
|
|
reg = <1 0 0xf>; /* 16 byte IO range */
|
|
bank-width = <2>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <ðernet_pins>;
|
|
power-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>; /* gpio86 */
|
|
reset-gpios = <&gpio6 4 GPIO_ACTIVE_HIGH>; /* gpio164 */
|
|
gpmc,device-width = <2>;
|
|
gpmc,sync-clk-ps = <0>;
|
|
gpmc,cs-on-ns = <0>;
|
|
gpmc,cs-rd-off-ns = <48>;
|
|
gpmc,cs-wr-off-ns = <24>;
|
|
gpmc,adv-on-ns = <0>;
|
|
gpmc,adv-rd-off-ns = <0>;
|
|
gpmc,adv-wr-off-ns = <0>;
|
|
gpmc,we-on-ns = <12>;
|
|
gpmc,we-off-ns = <18>;
|
|
gpmc,oe-on-ns = <12>;
|
|
gpmc,oe-off-ns = <48>;
|
|
gpmc,page-burst-access-ns = <0>;
|
|
gpmc,access-ns = <42>;
|
|
gpmc,rd-cycle-ns = <180>;
|
|
gpmc,wr-cycle-ns = <180>;
|
|
gpmc,bus-turnaround-ns = <0>;
|
|
gpmc,cycle2cycle-delay-ns = <0>;
|
|
gpmc,wait-monitoring-ns = <0>;
|
|
gpmc,clk-activation-ns = <0>;
|
|
gpmc,wr-access-ns = <0>;
|
|
gpmc,wr-data-mux-bus-ns = <12>;
|
|
};
|
|
};
|
|
|
|
&mcspi1 {
|
|
/*
|
|
* For some reason, touchscreen is necessary for screen to work at
|
|
* all on real hw. It works well without it on emulator.
|
|
*
|
|
* Also... order in the device tree actually matters here.
|
|
*/
|
|
tsc2005@0 {
|
|
compatible = "ti,tsc2005";
|
|
spi-max-frequency = <6000000>;
|
|
reg = <0>;
|
|
|
|
vio-supply = <&vio>;
|
|
|
|
reset-gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */
|
|
interrupts-extended = <&gpio4 4 IRQ_TYPE_EDGE_RISING>; /* 100 */
|
|
|
|
touchscreen-fuzz-x = <4>;
|
|
touchscreen-fuzz-y = <7>;
|
|
touchscreen-fuzz-pressure = <2>;
|
|
touchscreen-size-x = <4096>;
|
|
touchscreen-size-y = <4096>;
|
|
touchscreen-max-pressure = <2048>;
|
|
|
|
ti,x-plate-ohms = <280>;
|
|
ti,esd-recovery-timeout-ms = <8000>;
|
|
};
|
|
|
|
lcd: acx565akm@2 {
|
|
compatible = "sony,acx565akm";
|
|
spi-max-frequency = <6000000>;
|
|
reg = <2>;
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&acx565akm_pins>;
|
|
|
|
label = "lcd";
|
|
reset-gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>; /* 90 */
|
|
|
|
port {
|
|
lcd_in: endpoint {
|
|
remote-endpoint = <&sdi_out>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&mcspi4 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&mcspi4_pins>;
|
|
|
|
wl1251@0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&wl1251_pins>;
|
|
|
|
vio-supply = <&vio>;
|
|
|
|
compatible = "ti,wl1251";
|
|
reg = <0>;
|
|
spi-max-frequency = <48000000>;
|
|
|
|
spi-cpol;
|
|
spi-cpha;
|
|
|
|
ti,power-gpio = <&gpio3 23 GPIO_ACTIVE_HIGH>; /* 87 */
|
|
|
|
interrupt-parent = <&gpio2>;
|
|
interrupts = <10 IRQ_TYPE_NONE>; /* gpio line 42 */
|
|
|
|
clocks = <&vctcxo>;
|
|
};
|
|
};
|
|
|
|
&usb_otg_hs {
|
|
interface-type = <0>;
|
|
usb-phy = <&usb2_phy>;
|
|
phys = <&usb2_phy>;
|
|
phy-names = "usb2-phy";
|
|
mode = <2>;
|
|
power = <50>;
|
|
};
|
|
|
|
&uart1 {
|
|
status = "disabled";
|
|
};
|
|
|
|
&uart2 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart2_pins>;
|
|
|
|
bcm2048: bluetooth {
|
|
compatible = "brcm,bcm2048-nokia", "nokia,h4p-bluetooth";
|
|
reset-gpios = <&gpio3 27 GPIO_ACTIVE_LOW>; /* 91 */
|
|
host-wakeup-gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; /* 101 */
|
|
bluetooth-wakeup-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; /* 37 */
|
|
clocks = <&vctcxo>;
|
|
clock-names = "sysclk";
|
|
};
|
|
};
|
|
|
|
&uart3 {
|
|
interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart3_pins>;
|
|
};
|
|
|
|
&dss {
|
|
status = "ok";
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&dss_sdi_pins>;
|
|
|
|
vdds_sdi-supply = <&vaux1>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
|
|
sdi_out: endpoint {
|
|
remote-endpoint = <&lcd_in>;
|
|
datapairs = <2>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&venc {
|
|
status = "ok";
|
|
|
|
vdda-supply = <&vdac>;
|
|
|
|
port {
|
|
venc_out: endpoint {
|
|
remote-endpoint = <&tv_connector_in>;
|
|
ti,channels = <1>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&mcbsp2 {
|
|
status = "ok";
|
|
};
|
|
|
|
&ssi_port1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&ssi_pins>;
|
|
|
|
ti,ssi-cawake-gpio = <&gpio5 23 GPIO_ACTIVE_HIGH>; /* 151 */
|
|
|
|
modem: hsi-client {
|
|
compatible = "nokia,n900-modem";
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&modem_pins>;
|
|
|
|
hsi-channel-ids = <0>, <1>, <2>, <3>;
|
|
hsi-channel-names = "mcsaab-control",
|
|
"speech-control",
|
|
"speech-data",
|
|
"mcsaab-data";
|
|
hsi-speed-kbps = <55000>;
|
|
hsi-mode = "frame";
|
|
hsi-flow = "synchronized";
|
|
hsi-arb-mode = "round-robin";
|
|
|
|
interrupts-extended = <&gpio3 8 IRQ_TYPE_EDGE_FALLING>; /* 72 */
|
|
|
|
gpios = <&gpio3 6 GPIO_ACTIVE_HIGH>, /* 70 */
|
|
<&gpio3 9 GPIO_ACTIVE_HIGH>, /* 73 */
|
|
<&gpio3 10 GPIO_ACTIVE_HIGH>, /* 74 */
|
|
<&gpio3 11 GPIO_ACTIVE_HIGH>, /* 75 */
|
|
<&gpio5 29 GPIO_ACTIVE_HIGH>; /* 157 */
|
|
gpio-names = "cmt_apeslpx",
|
|
"cmt_rst_rq",
|
|
"cmt_en",
|
|
"cmt_rst",
|
|
"cmt_bsi";
|
|
};
|
|
};
|
|
|
|
&ssi_port2 {
|
|
status = "disabled";
|
|
};
|