More omap dts changes for v4.3 merge window:
- Add missing devices for pandora. Note that we're adding wl1251 WLAN and LCD backlight support for now using legacy pdata as that allows us to drop the legacy board file for pandora in another series of patches - Enable power button support for omap5-uevm - Add aliases for am437x UARTs - Add support for phyCORE phyBOARD-WEGA-AM335x rdk and phyCORE-AM335x SoM - Use u16 values for tsc2046 on omap3-lilly -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJVr0CtAAoJEBvUPslcq6VzLTYP/R1NItYVsfyi48ZrxjfG8sb+ y96eQ3HSaRqtiT88on/4hZvXs0JPMq+2t0IAqpNa9qe9Iua2VwQSM4pxdmt2sa56 lExkHUgu5/TrEFARRTwNCzt+oLOR6R2NwfwChGF25Qmywzy63wLmm5M5oZF+0gF1 MJdyhEUsELSxMfhrzcMmmEk+qHo2EomGUFtFkOCgkQo87BoUWzGu6QmhrfvwEh5e pRgszqUzk9WEXlFe5VnW2u5FAP7ZDgVhQICsOYQWArwgwFRerMgt4O42XW1ZnDd0 luh0Q6qeVjYbtVXoSQn4QnQ5fQeO1FtOy4xkEJ5QzBrCrTy/yKIBhvh84bu6zLSV ZLBkgVISFtykAal041IUmjARTzhPVJfR3jrFMPQe1/SCQr3BJAZVoLgFQq3PkQKd 2VAt5q9Eg+xAAn5rfcTgBRV8bvyjw5i9i6ZY0S1geppFFvl/msE9k6Ze7V801BKF ERjRYwsvvyt5upNN0b1Cm/amSbpF4GXrX+7xbVjqLT8uYMWZPsNWo9hhHIxG/610 vx8Cq46KQfqfJZMcMet0dZ6EzFVQWAV8dkIHgLa0hblfKRzAQXm2B/iBKKOgZobT hg5xbaIN24WU4dAmMbui/zBWgovkIiPglzglxIbY4a8WTXBVO+94Dq0/SLR0jJft slStVq5hDvZAD51oqspS =uvLA -----END PGP SIGNATURE----- Merge tag 'omap-for-v4.3/dt-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Merge "omap dts changes for v4.3, part2" from Tony Lindgren: More omap dts changes for v4.3 merge window: - Add missing devices for pandora. Note that we're adding wl1251 WLAN and LCD backlight support for now using legacy pdata as that allows us to drop the legacy board file for pandora in another series of patches - Enable power button support for omap5-uevm - Add aliases for am437x UARTs - Add support for phyCORE phyBOARD-WEGA-AM335x rdk and phyCORE-AM335x SoM - Use u16 values for tsc2046 on omap3-lilly * tag 'omap-for-v4.3/dt-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: omap3-pandora: add wifi support ARM: OMAP2+: omap3-pandora: add backlight support ARM: dts: omap3-pandora: add support for usb host and 32k buffer ARM: dts: omap3-pandora: miscellaneous corrections ARM: dts: omap5-uevm: Add Palmas power button support ARM: dts: am437x: add aliases for all UART instances ARM: dts: Add phyBOARD-WEGA-AM335x rdk ARM: dts: Add support for phyCORE-AM335x SoM ARM: dts: omap3: correct the format of u16 values for tsc2046 node Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
commit
9e3cffd877
|
@ -135,6 +135,9 @@ Boards:
|
|||
- AM335X OrionLXm : Substation Automation Platform
|
||||
compatible = "novatech,am335x-lxm", "ti,am33xx"
|
||||
|
||||
- AM335X phyBOARD-WEGA: Single Board Computer dev kit
|
||||
compatible = "phytec,am335x-wega", "phytec,am335x-phycore-som", "ti,am33xx"
|
||||
|
||||
- OMAP5 EVM : Evaluation Module
|
||||
compatible = "ti,omap5-evm", "ti,omap5"
|
||||
|
||||
|
|
|
@ -445,7 +445,8 @@ dtb-$(CONFIG_SOC_AM33XX) += \
|
|||
am335x-nano.dtb \
|
||||
am335x-pepper.dtb \
|
||||
am335x-lxm.dtb \
|
||||
am335x-chiliboard.dtb
|
||||
am335x-chiliboard.dtb \
|
||||
am335x-wega-rdk.dtb
|
||||
dtb-$(CONFIG_ARCH_OMAP4) += \
|
||||
omap4-duovero-parlor.dtb \
|
||||
omap4-panda.dtb \
|
||||
|
|
|
@ -0,0 +1,368 @@
|
|||
/*
|
||||
* Copyright (C) 2015 Phytec Messtechnik GmbH
|
||||
* Author: Teresa Remmet <t.remmet@phytec.de>
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#include "am33xx.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Phytec AM335x phyCORE";
|
||||
compatible = "phytec,am335x-phycore-som", "ti,am33xx";
|
||||
|
||||
aliases {
|
||||
rtc0 = &i2c_rtc;
|
||||
rtc1 = &rtc;
|
||||
};
|
||||
|
||||
cpus {
|
||||
cpu@0 {
|
||||
cpu0-supply = <&vdd1_reg>;
|
||||
};
|
||||
};
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x80000000 0x10000000>; /* 256 MB */
|
||||
};
|
||||
|
||||
vbat: fixedregulator@0 {
|
||||
compatible = "regulator-fixed";
|
||||
};
|
||||
};
|
||||
|
||||
/* Crypto Module */
|
||||
&aes {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sham {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Ethernet */
|
||||
&am33xx_pinmux {
|
||||
ethernet0_pins: pinmux_ethernet0 {
|
||||
pinctrl-single,pins = <
|
||||
0x10c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_crs.rmii1_crs_dv */
|
||||
0x110 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxerr.rmii1_rxerr */
|
||||
0x114 (PIN_OUTPUT | MUX_MODE1) /* mii1_txen.rmii1_txen */
|
||||
0x124 (PIN_OUTPUT | MUX_MODE1) /* mii1_txd1.rmii1_txd1 */
|
||||
0x128 (PIN_OUTPUT | MUX_MODE1) /* mii1_txd0.rmii1_txd0 */
|
||||
0x13c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxd1.rmii1_rxd1 */
|
||||
0x140 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxd0.rmii1_rxd0 */
|
||||
0x144 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii1_refclk.rmii1_refclk */
|
||||
>;
|
||||
};
|
||||
|
||||
mdio_pins: pinmux_mdio {
|
||||
pinctrl-single,pins = <
|
||||
/* MDIO */
|
||||
0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
|
||||
0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&cpsw_emac0 {
|
||||
phy_id = <&davinci_mdio>, <0>;
|
||||
phy-mode = "rmii";
|
||||
dual_emac_res_vlan = <1>;
|
||||
};
|
||||
|
||||
&davinci_mdio {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mdio_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mac {
|
||||
slaves = <1>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <ðernet0_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&phy_sel {
|
||||
rmii-clock-ext;
|
||||
};
|
||||
|
||||
/* I2C Busses */
|
||||
&am33xx_pinmux {
|
||||
i2c0_pins: pinmux_i2c0 {
|
||||
pinctrl-single,pins = <
|
||||
0x188 (PIN_INPUT | MUX_MODE0) /* i2c0_sda.i2c0_sda */
|
||||
0x18c (PIN_INPUT | MUX_MODE0) /* i2c0_scl.i2c0_scl */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins>;
|
||||
clock-frequency = <400000>;
|
||||
status = "okay";
|
||||
|
||||
tps: pmic@2d {
|
||||
reg = <0x2d>;
|
||||
};
|
||||
|
||||
i2c_eeprom: eeprom@52 {
|
||||
compatible = "atmel,24c32";
|
||||
pagesize = <32>;
|
||||
reg = <0x52>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c_rtc: rtc@68 {
|
||||
compatible = "rv4162";
|
||||
reg = <0x68>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
/* NAND memory */
|
||||
&am33xx_pinmux {
|
||||
nandflash_pins: pinmux_nandflash {
|
||||
pinctrl-single,pins = <
|
||||
0x0 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad0.gpmc_ad0 */
|
||||
0x4 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad1.gpmc_ad1 */
|
||||
0x8 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad2.gpmc_ad2 */
|
||||
0xc (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad3.gpmc_ad3 */
|
||||
0x10 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad4.gpmc_ad4 */
|
||||
0x14 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad5.gpmc_ad5 */
|
||||
0x18 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad6.gpmc_ad6 */
|
||||
0x1c (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad7.gpmc_ad7 */
|
||||
0x70 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_wait0.gpmc_wait0 */
|
||||
0x7c (PIN_OUTPUT | MUX_MODE0) /* gpmc_csn0.gpmc_csn0 */
|
||||
0x90 (PIN_OUTPUT | MUX_MODE0) /* gpmc_advn_ale.gpmc_advn_ale */
|
||||
0x94 (PIN_OUTPUT | MUX_MODE0) /* gpmc_oen_ren.gpmc_oen_ren */
|
||||
0x98 (PIN_OUTPUT | MUX_MODE0) /* gpmc_wen.gpmc_wen */
|
||||
0x9c (PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle.gpmc_be0n_cle */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&elm {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gpmc {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&nandflash_pins>;
|
||||
ranges = <0 0 0x08000000 0x1000000>; /* CS0: NAND */
|
||||
nandflash: nand@0,0 {
|
||||
reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
|
||||
nand-bus-width = <8>;
|
||||
ti,nand-ecc-opt = "bch8";
|
||||
gpmc,device-nand = "true";
|
||||
gpmc,device-width = <1>;
|
||||
gpmc,sync-clk-ps = <0>;
|
||||
gpmc,cs-on-ns = <0>;
|
||||
gpmc,cs-rd-off-ns = <30>;
|
||||
gpmc,cs-wr-off-ns = <30>;
|
||||
gpmc,adv-on-ns = <0>;
|
||||
gpmc,adv-rd-off-ns = <30>;
|
||||
gpmc,adv-wr-off-ns = <30>;
|
||||
gpmc,we-on-ns = <0>;
|
||||
gpmc,we-off-ns = <20>;
|
||||
gpmc,oe-on-ns = <10>;
|
||||
gpmc,oe-off-ns = <30>;
|
||||
gpmc,access-ns = <30>;
|
||||
gpmc,rd-cycle-ns = <30>;
|
||||
gpmc,wr-cycle-ns = <30>;
|
||||
gpmc,wait-on-read = "true";
|
||||
gpmc,wait-on-write = "true";
|
||||
gpmc,bus-turnaround-ns = <0>;
|
||||
gpmc,cycle2cycle-delay-ns = <50>;
|
||||
gpmc,cycle2cycle-diffcsen;
|
||||
gpmc,clk-activation-ns = <0>;
|
||||
gpmc,wait-monitoring-ns = <0>;
|
||||
gpmc,wr-access-ns = <30>;
|
||||
gpmc,wr-data-mux-bus-ns = <0>;
|
||||
|
||||
elm_id = <&elm>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "xload";
|
||||
reg = <0x0 0x20000>;
|
||||
};
|
||||
partition@1 {
|
||||
label = "xload_backup1";
|
||||
reg = <0x20000 0x20000>;
|
||||
};
|
||||
partition@2 {
|
||||
label = "xload_backup2";
|
||||
reg = <0x40000 0x20000>;
|
||||
};
|
||||
partition@3 {
|
||||
label = "xload_backup3";
|
||||
reg = <0x60000 0x20000>;
|
||||
};
|
||||
partition@4 {
|
||||
label = "barebox";
|
||||
reg = <0x80000 0x80000>;
|
||||
};
|
||||
partition@5 {
|
||||
label = "bareboxenv";
|
||||
reg = <0x100000 0x40000>;
|
||||
};
|
||||
partition@6 {
|
||||
label = "oftree";
|
||||
reg = <0x140000 0x40000>;
|
||||
};
|
||||
partition@7 {
|
||||
label = "kernel";
|
||||
reg = <0x180000 0x800000>;
|
||||
};
|
||||
partition@8 {
|
||||
label = "root";
|
||||
reg = <0x980000 0x0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* Power */
|
||||
#include "tps65910.dtsi"
|
||||
|
||||
&tps {
|
||||
vcc1-supply = <&vbat>;
|
||||
vcc2-supply = <&vbat>;
|
||||
vcc3-supply = <&vbat>;
|
||||
vcc4-supply = <&vbat>;
|
||||
vcc5-supply = <&vbat>;
|
||||
vcc6-supply = <&vbat>;
|
||||
vcc7-supply = <&vbat>;
|
||||
vccio-supply = <&vbat>;
|
||||
|
||||
regulators {
|
||||
vrtc_reg: regulator@0 {
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vio_reg: regulator@1 {
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vdd1_reg: regulator@2 {
|
||||
/* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */
|
||||
regulator-name = "vdd_mpu";
|
||||
regulator-min-microvolt = <912500>;
|
||||
regulator-max-microvolt = <1312500>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vdd2_reg: regulator@3 {
|
||||
/* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
|
||||
regulator-name = "vdd_core";
|
||||
regulator-min-microvolt = <912500>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vdd3_reg: regulator@4 {
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vdig1_reg: regulator@5 {
|
||||
regulator-name = "vdig1_1p8v";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
vdig2_reg: regulator@6 {
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vpll_reg: regulator@7 {
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vdac_reg: regulator@8 {
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vaux1_reg: regulator@9 {
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vaux2_reg: regulator@10 {
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vaux33_reg: regulator@11 {
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vmmc_reg: regulator@12 {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&vbat {
|
||||
regulator-name = "vbat";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
/* SPI Busses */
|
||||
&am33xx_pinmux {
|
||||
spi0_pins: pinmux_spi0 {
|
||||
pinctrl-single,pins = <
|
||||
0x150 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* spi0_clk.spi0_clk */
|
||||
0x154 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* spi0_d0.spi0_d0 */
|
||||
0x158 (PIN_INPUT_PULLUP | MUX_MODE0) /* spi0_d1.spi0_d1 */
|
||||
0x15c (PIN_INPUT_PULLUP | MUX_MODE0) /* spi0_cs0.spi0_cs0 */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi0_pins>;
|
||||
status = "okay";
|
||||
|
||||
serial_flash: m25p80@0 {
|
||||
compatible = "m25p80";
|
||||
spi-max-frequency = <48000000>;
|
||||
reg = <0x0>;
|
||||
m25p,fast-read;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "xload";
|
||||
reg = <0x0 0x20000>;
|
||||
};
|
||||
partition@1 {
|
||||
label = "barebox";
|
||||
reg = <0x20000 0x80000>;
|
||||
};
|
||||
partition@2 {
|
||||
label = "bareboxenv";
|
||||
reg = <0xa0000 0x20000>;
|
||||
};
|
||||
partition@3 {
|
||||
label = "oftree";
|
||||
reg = <0xc0000 0x20000>;
|
||||
};
|
||||
partition@4 {
|
||||
label = "kernel";
|
||||
reg = <0xe0000 0x0>;
|
||||
};
|
||||
};
|
||||
};
|
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
* Copyright (C) 2015 Phytec Messtechnik GmbH
|
||||
* Author: Teresa Remmet <t.remmet@phytec.de>
|
||||
*
|
||||
* 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 "am335x-phycore-som.dtsi"
|
||||
#include "am335x-wega.dtsi"
|
||||
|
||||
/* SoM */
|
||||
&i2c_eeprom {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c_rtc {
|
||||
status = "okay";
|
||||
};
|
|
@ -0,0 +1,151 @@
|
|||
/*
|
||||
* Copyright (C) 2015 Phytec Messtechnik GmbH
|
||||
* Author: Teresa Remmet <t.remmet@phytec.de>
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/ {
|
||||
model = "Phytec AM335x phyBOARD-WEGA";
|
||||
compatible = "phytec,am335x-wega", "phytec,am335x-phycore-som", "ti,am33xx";
|
||||
|
||||
};
|
||||
|
||||
/* CAN Busses */
|
||||
&am33xx_pinmux {
|
||||
dcan1_pins: pinmux_dcan1 {
|
||||
pinctrl-single,pins = <
|
||||
0x168 (PIN_OUTPUT_PULLUP | MUX_MODE2) /* uart0_ctsn.d_can1_tx */
|
||||
0x16c (PIN_INPUT_PULLUP | MUX_MODE2) /* uart0_rtsn.d_can1_rx */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&dcan1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&dcan1_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Ethernet */
|
||||
&am33xx_pinmux {
|
||||
ethernet1_pins: pinmux_ethernet1 {
|
||||
pinctrl-single,pins = <
|
||||
0x40 (PIN_OUTPUT | MUX_MODE1) /* gpmc_a0.mii2_txen */
|
||||
0x44 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* gpmc_a1.mii2_rxdv */
|
||||
0x48 (PIN_OUTPUT | MUX_MODE1) /* gpmc_a2.mii2_txd3 */
|
||||
0x4c (PIN_OUTPUT | MUX_MODE1) /* gpmc_a3.mii2_txd2 */
|
||||
0x50 (PIN_OUTPUT | MUX_MODE1) /* gpmc_a4.mii2_txd1 */
|
||||
0x54 (PIN_OUTPUT | MUX_MODE1) /* gpmc_a5.mii2_txd0 */
|
||||
0x58 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* gpmc_a6.mii2_txclk */
|
||||
0x5c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* gpmc_a7.mii2_rxclk */
|
||||
0x60 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* gpmc_a8.mii2_rxd3 */
|
||||
0x64 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* gpmc_a9.mii2_rxd2 */
|
||||
0x68 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* gpmc_a10.mii2_rxd1 */
|
||||
0x6c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* gpmc_a11.mii2_rxd0 */
|
||||
0x74 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* gpmc_wpn.mii2_rxerr */
|
||||
0x78 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* gpmc_ben1.mii2_col */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&cpsw_emac1 {
|
||||
phy_id = <&davinci_mdio>, <1>;
|
||||
phy-mode = "mii";
|
||||
dual_emac_res_vlan = <2>;
|
||||
};
|
||||
|
||||
&mac {
|
||||
slaves = <2>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <ðernet0_pins ðernet1_pins>;
|
||||
dual_emac = <1>;
|
||||
};
|
||||
|
||||
/* MMC */
|
||||
&am33xx_pinmux {
|
||||
mmc1_pins: pinmux_mmc1 {
|
||||
pinctrl-single,pins = <
|
||||
0x0F0 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */
|
||||
0x0F4 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */
|
||||
0x0F8 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */
|
||||
0x0FC (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */
|
||||
0x100 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_clk.mmc0_clk */
|
||||
0x104 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */
|
||||
0x160 (PIN_INPUT_PULLUP | MUX_MODE7) /* spi0_cs1.mmc0_sdcd */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
vmmc-supply = <&vmmc_reg>;
|
||||
bus-width = <4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pins>;
|
||||
cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* UARTs */
|
||||
&am33xx_pinmux {
|
||||
uart0_pins: pinmux_uart0 {
|
||||
pinctrl-single,pins = <
|
||||
0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
|
||||
0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
|
||||
>;
|
||||
};
|
||||
|
||||
uart1_pins: pinmux_uart1_pins {
|
||||
pinctrl-single,pins = <
|
||||
0x180 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_rxd.uart1_rxd */
|
||||
0x184 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart1_txd.uart1_txd */
|
||||
0x178 (PIN_INPUT | MUX_MODE0) /* uart1_ctsn.uart1_ctsn */
|
||||
0x17c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart1_rtsn.uart1_rtsn */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* USB */
|
||||
&cppi41dma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_ctrl_mod {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
dr_mode = "peripheral";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0_phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
dr_mode = "host";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb1_phy {
|
||||
status = "okay";
|
||||
};
|
|
@ -23,6 +23,11 @@
|
|||
i2c1 = &i2c1;
|
||||
i2c2 = &i2c2;
|
||||
serial0 = &uart0;
|
||||
serial1 = &uart1;
|
||||
serial2 = &uart2;
|
||||
serial3 = &uart3;
|
||||
serial4 = &uart4;
|
||||
serial5 = &uart5;
|
||||
ethernet0 = &cpsw_emac0;
|
||||
ethernet1 = &cpsw_emac1;
|
||||
};
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
|
||||
aliases {
|
||||
display0 = &lcd0;
|
||||
serial3 = &uart3;
|
||||
};
|
||||
|
||||
evm_v3_3d: fixedregulator-v3_3d {
|
||||
|
|
|
@ -319,12 +319,12 @@
|
|||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&tsc2048_pins>;
|
||||
|
||||
ti,x-min = <300>;
|
||||
ti,x-max = <3000>;
|
||||
ti,y-min = <600>;
|
||||
ti,y-max = <3600>;
|
||||
ti,x-plate-ohms = <80>;
|
||||
ti,pressure-max = <255>;
|
||||
ti,x-min = /bits/ 16 <300>;
|
||||
ti,x-max = /bits/ 16 <3000>;
|
||||
ti,y-min = /bits/ 16 <600>;
|
||||
ti,y-max = /bits/ 16 <3600>;
|
||||
ti,x-plate-ohms = /bits/ 16 <80>;
|
||||
ti,pressure-max = /bits/ 16 <255>;
|
||||
ti,swap-xy;
|
||||
|
||||
linux,wakeup;
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
/ {
|
||||
model = "Pandora Handheld Console 1GHz";
|
||||
|
||||
compatible = "ti,omap36xx", "ti,omap3";
|
||||
compatible = "openpandora,omap3-pandora-1ghz", "ti,omap36xx", "ti,omap3";
|
||||
};
|
||||
|
||||
&omap3_pmx_core2 {
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
/ {
|
||||
model = "Pandora Handheld Console";
|
||||
|
||||
compatible = "ti,omap3";
|
||||
compatible = "openpandora,omap3-pandora-600mhz", "ti,omap3430", "ti,omap3";
|
||||
};
|
||||
|
||||
&omap3_pmx_core2 {
|
||||
|
|
|
@ -199,6 +199,38 @@
|
|||
gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>; /* GPIO_108 */
|
||||
};
|
||||
};
|
||||
|
||||
/* HS USB Host PHY on PORT 2 */
|
||||
hsusb2_phy: hsusb2_phy {
|
||||
compatible = "usb-nop-xceiv";
|
||||
reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>; /* GPIO_16 */
|
||||
vcc-supply = <&vaux2>;
|
||||
};
|
||||
|
||||
/* HS USB Host VBUS supply
|
||||
* disabling this regulator causes current leakage, and LCD flicker
|
||||
* on earlier (CC) board revisions, so keep it always on */
|
||||
usb_host_5v: fixed-regulator-usb_host_5v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb_host_5v";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
enable-active-high;
|
||||
gpio = <&gpio6 4 0>; /* GPIO_164 */
|
||||
};
|
||||
|
||||
/* wg7210 (wifi+bt module) 32k clock buffer */
|
||||
wg7210_32k: fixed-regulator-wg7210_32k {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "wg7210_32k";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
enable-active-high;
|
||||
gpio = <&twl_gpio 13 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
&omap3_pmx_core {
|
||||
|
@ -459,13 +491,18 @@
|
|||
power = <50>;
|
||||
};
|
||||
|
||||
/*
|
||||
* Many pandora boards have been produced with defective write-protect switches
|
||||
* on either slot, so it was decided not to use this feature. If you know
|
||||
* your board has good switches, feel free to uncomment wp-gpios below.
|
||||
*/
|
||||
&mmc1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pins>;
|
||||
vmmc-supply = <&vmmc1>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&twl_gpio 0 GPIO_ACTIVE_LOW>;
|
||||
wp-gpios = <&gpio4 30 GPIO_ACTIVE_LOW>; /* GPIO_126 */
|
||||
/*wp-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;*/ /* GPIO_126 */
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
|
@ -473,8 +510,13 @@
|
|||
pinctrl-0 = <&mmc2_pins>;
|
||||
vmmc-supply = <&vmmc2>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&twl_gpio 1 GPIO_ACTIVE_HIGH>;
|
||||
wp-gpios = <&gpio4 31 GPIO_ACTIVE_LOW>; /* GPIO_127 */
|
||||
cd-gpios = <&twl_gpio 1 GPIO_ACTIVE_LOW>;
|
||||
/*wp-gpios = <&gpio4 31 GPIO_ACTIVE_HIGH>;*/ /* GPIO_127 */
|
||||
};
|
||||
|
||||
/* mmc3 is probed using pdata-quirks to pass wl1251 card data */
|
||||
&mmc3 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* bluetooth*/
|
||||
|
@ -496,6 +538,10 @@
|
|||
port2-mode = "ehci-phy";
|
||||
};
|
||||
|
||||
&usbhsehci {
|
||||
phys = <0 &hsusb2_phy>;
|
||||
};
|
||||
|
||||
&gpmc {
|
||||
ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */
|
||||
|
||||
|
@ -545,7 +591,7 @@
|
|||
reg = <0x280000 0xa00000>;
|
||||
};
|
||||
|
||||
filesystem@680000 {
|
||||
filesystem@c80000 {
|
||||
label = "rootfs";
|
||||
reg = <0xc80000 0>; /* 0 = MTDPART_SIZ_FULL */
|
||||
};
|
||||
|
|
|
@ -510,6 +510,13 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
palmas_power_button: palmas_power_button {
|
||||
compatible = "ti,palmas-pwrbutton";
|
||||
interrupt-parent = <&palmas>;
|
||||
interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
twl6040: twl@4b {
|
||||
|
|
|
@ -14,6 +14,11 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/ti_wilink_st.h>
|
||||
#include <linux/wl12xx.h>
|
||||
#include <linux/mmc/card.h>
|
||||
#include <linux/mmc/host.h>
|
||||
#include <linux/regulator/machine.h>
|
||||
#include <linux/regulator/fixed.h>
|
||||
|
||||
#include <linux/platform_data/pinctrl-single.h>
|
||||
#include <linux/platform_data/iommu-omap.h>
|
||||
|
@ -26,6 +31,7 @@
|
|||
#include "omap_device.h"
|
||||
#include "omap-secure.h"
|
||||
#include "soc.h"
|
||||
#include "hsmmc.h"
|
||||
|
||||
struct pdata_init {
|
||||
const char *compatible;
|
||||
|
@ -269,6 +275,111 @@ static void __init omap3_tao3530_legacy_init(void)
|
|||
{
|
||||
hsmmc2_internal_input_clk();
|
||||
}
|
||||
|
||||
/* omap3pandora legacy devices */
|
||||
#define PANDORA_WIFI_IRQ_GPIO 21
|
||||
#define PANDORA_WIFI_NRESET_GPIO 23
|
||||
|
||||
static struct platform_device pandora_backlight = {
|
||||
.name = "pandora-backlight",
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
static struct regulator_consumer_supply pandora_vmmc3_supply[] = {
|
||||
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.2"),
|
||||
};
|
||||
|
||||
static struct regulator_init_data pandora_vmmc3 = {
|
||||
.constraints = {
|
||||
.valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
||||
},
|
||||
.num_consumer_supplies = ARRAY_SIZE(pandora_vmmc3_supply),
|
||||
.consumer_supplies = pandora_vmmc3_supply,
|
||||
};
|
||||
|
||||
static struct fixed_voltage_config pandora_vwlan = {
|
||||
.supply_name = "vwlan",
|
||||
.microvolts = 1800000, /* 1.8V */
|
||||
.gpio = PANDORA_WIFI_NRESET_GPIO,
|
||||
.startup_delay = 50000, /* 50ms */
|
||||
.enable_high = 1,
|
||||
.init_data = &pandora_vmmc3,
|
||||
};
|
||||
|
||||
static struct platform_device pandora_vwlan_device = {
|
||||
.name = "reg-fixed-voltage",
|
||||
.id = 1,
|
||||
.dev = {
|
||||
.platform_data = &pandora_vwlan,
|
||||
},
|
||||
};
|
||||
|
||||
static void pandora_wl1251_init_card(struct mmc_card *card)
|
||||
{
|
||||
/*
|
||||
* We have TI wl1251 attached to MMC3. Pass this information to
|
||||
* SDIO core because it can't be probed by normal methods.
|
||||
*/
|
||||
if (card->type == MMC_TYPE_SDIO || card->type == MMC_TYPE_SD_COMBO) {
|
||||
card->quirks |= MMC_QUIRK_NONSTD_SDIO;
|
||||
card->cccr.wide_bus = 1;
|
||||
card->cis.vendor = 0x104c;
|
||||
card->cis.device = 0x9066;
|
||||
card->cis.blksize = 512;
|
||||
card->cis.max_dtr = 24000000;
|
||||
card->ocr = 0x80;
|
||||
}
|
||||
}
|
||||
|
||||
static struct omap2_hsmmc_info pandora_mmc3[] = {
|
||||
{
|
||||
.mmc = 3,
|
||||
.caps = MMC_CAP_4_BIT_DATA | MMC_CAP_POWER_OFF_CARD,
|
||||
.gpio_cd = -EINVAL,
|
||||
.gpio_wp = -EINVAL,
|
||||
.init_card = pandora_wl1251_init_card,
|
||||
},
|
||||
{} /* Terminator */
|
||||
};
|
||||
|
||||
static void __init pandora_wl1251_init(void)
|
||||
{
|
||||
struct wl1251_platform_data pandora_wl1251_pdata;
|
||||
int ret;
|
||||
|
||||
memset(&pandora_wl1251_pdata, 0, sizeof(pandora_wl1251_pdata));
|
||||
|
||||
pandora_wl1251_pdata.power_gpio = -1;
|
||||
|
||||
ret = gpio_request_one(PANDORA_WIFI_IRQ_GPIO, GPIOF_IN, "wl1251 irq");
|
||||
if (ret < 0)
|
||||
goto fail;
|
||||
|
||||
pandora_wl1251_pdata.irq = gpio_to_irq(PANDORA_WIFI_IRQ_GPIO);
|
||||
if (pandora_wl1251_pdata.irq < 0)
|
||||
goto fail_irq;
|
||||
|
||||
pandora_wl1251_pdata.use_eeprom = true;
|
||||
ret = wl1251_set_platform_data(&pandora_wl1251_pdata);
|
||||
if (ret < 0)
|
||||
goto fail_irq;
|
||||
|
||||
return;
|
||||
|
||||
fail_irq:
|
||||
gpio_free(PANDORA_WIFI_IRQ_GPIO);
|
||||
fail:
|
||||
pr_err("wl1251 board initialisation failed\n");
|
||||
}
|
||||
|
||||
static void __init omap3_pandora_legacy_init(void)
|
||||
{
|
||||
platform_device_register(&pandora_backlight);
|
||||
platform_device_register(&pandora_vwlan_device);
|
||||
omap_hsmmc_init(pandora_mmc3);
|
||||
omap_hsmmc_late_init(pandora_mmc3);
|
||||
pandora_wl1251_init();
|
||||
}
|
||||
#endif /* CONFIG_ARCH_OMAP3 */
|
||||
|
||||
#if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5)
|
||||
|
@ -396,6 +507,8 @@ static struct pdata_init pdata_quirks[] __initdata = {
|
|||
{ "ti,omap3-evm-37xx", omap3_evm_legacy_init, },
|
||||
{ "ti,am3517-evm", am3517_evm_legacy_init, },
|
||||
{ "technexion,omap3-tao3530", omap3_tao3530_legacy_init, },
|
||||
{ "openpandora,omap3-pandora-600mhz", omap3_pandora_legacy_init, },
|
||||
{ "openpandora,omap3-pandora-1ghz", omap3_pandora_legacy_init, },
|
||||
#endif
|
||||
#ifdef CONFIG_SOC_OMAP5
|
||||
{ "ti,omap5-uevm", omap5_uevm_legacy_init, },
|
||||
|
|
Loading…
Reference in New Issue