Second set of omap device tree changes for v4.5 merge window. This series
updates the EDMA bindings based on the various fixes to split EDMA into separate independent devices. It also adds support for more devices on the CompuLab cm-t335 and LogicPD Torpedo boards, and enables the new bindings for qspi for am437x and dra7. There are also few dra7 regulator fixes, and change of gpoi-key,wakeup to wakeup-source. These depend on commitae0add740c
("dmaengine: edma: DT: Change reserved slot array from 16bit to 32bit type") already merged into mainline. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJWeGeiAAoJEBvUPslcq6VzreMQAJD+jmhslEeY5vhdHiu8qiV8 7DVb16H0grLVlUe1D+sCztOUqwtZWb8e2iHG6C+rwbnq01L4/LXVDu1USQ1wq5yN cgRyYu02UOWPPsUHADUSV4hao9lihhIG8X4+K/dFpp3Pa8V/VbAJ+lgFJ7el2gYd qNjl2f6fO4yQE6Zr5MfhYZQaaYTIdxxFeU2evgTBsEz6hnrpUJ04VQYE7jffoP0t n8xh6cGRvHTH7MGthgyQJ0QmW3e0Cl09aoHhyT2PzQ+rxgotpEdDxD+V1R4rN7x9 yj2MoZAlQnHhbBRRMRHnvTwbw/ad1gHYGTroxAjAHzCDXGHJWXukRhVusRvwqqIN OOlMOVtlu/Lkw+jXAZ8JaW+OBeuX7mVAGZMCVQsdrdyQSjujr3H/bdU6GsBYKAFC vxXFjI8/R6w9ekhan0KCVTvvW/89uni/BSiRhYQWES2PQYQdtW2hIlKFJZfbfvS0 71qj4dpv+Yii6P9MfsCwXjaUOnQ9HBFHvI2SG4gB7rn9va0mjfqhAWV32eDYXBdI I2GLZvnowifT1ALHTu01768yy4iFn1ngAtC53XW4L3+PWnNq0f8kPv2PXXaa4W5e fIzBdzY/NXOjLR/Lt56Qer6s5MGhpdJvvcOQCmAxXYheuwwMNzdMUgex04tHz0Xh B5KsQaXR3PLR+QA5WISI =+G24 -----END PGP SIGNATURE----- Merge tag 'omap-for-v4.5/dt-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Second set of omap device tree changes for v4.5 merge window. This series updates the EDMA bindings based on the various fixes to split EDMA into separate independent devices. It also adds support for more devices on the CompuLab cm-t335 and LogicPD Torpedo boards, and enables the new bindings for qspi for am437x and dra7. There are also few dra7 regulator fixes, and change of gpoi-key,wakeup to wakeup-source. These depend on commitae0add740c
("dmaengine: edma: DT: Change reserved slot array from 16bit to 32bit type") already merged into mainline. * tag 'omap-for-v4.5/dt-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: LogicPD Torpedo: Add Touchscreen Support ARM: dts: DRA7-EVM: Add regulator-allow-bypass property for ldo9 ARM: dts: DRA72-EVM: Add regulator-allow-bypass property for ldo1 and ldo2 ARM: dts: AM4372: add entry for qspi mmap region ARM: dts: DRA7: add entry for qspi mmap region ARM: OMAP2+: LogicPD Torpedo: Revert Duplicative Entries ARM: OMAP2+: LogicPD Torpedo + Wireless: Add Bluetooth ARM: OMAP2+: LogicPD Torpedo: Add LCD Type 15 Support ARM: dts: cm-t335: add support for bluetooth ARM: dts: cm-t335: add support for DVI/LCD ARM: dts: cm-t335: add support for I2C GPIO expander ARM: dts: cm-t335: add support for SBC-T335 ARM: dts: cm-t335: add support for USB0 ARM: dts: omap: replace legacy *,wakeup property with wakeup-source ARM: dts: am335x: replace gpio-key,wakeup with wakeup-source property ARM: DTS: am437x: Use the new DT bindings for the eDMA3 ARM: DTS: am33xx: Use the new DT bindings for the eDMA3 dmaengine: edma: DT: Change reserved slot array from 16bit to 32bit type dmaengine: edma: DT: Change memcpy channel array from 16bit to 32bit type Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
commit
a6dcb26264
@ -141,6 +141,9 @@ Boards:
|
||||
- AM335X CM-T335 : System On Module, built around the Sitara AM3352/4
|
||||
compatible = "compulab,cm-t335", "ti,am33xx"
|
||||
|
||||
- AM335X SBC-T335 : single board computer, built around the Sitara AM3352/4
|
||||
compatible = "compulab,sbc-t335", "compulab,cm-t335", "ti,am33xx"
|
||||
|
||||
- OMAP5 EVM : Evaluation Module
|
||||
compatible = "ti,omap5-evm", "ti,omap5"
|
||||
|
||||
|
@ -22,8 +22,7 @@ Required properties:
|
||||
Optional properties:
|
||||
- ti,hwmods: Name of the hwmods associated to the eDMA CC
|
||||
- ti,edma-memcpy-channels: List of channels allocated to be used for memcpy, iow
|
||||
these channels will be SW triggered channels. The list must
|
||||
contain 16 bits numbers, see example.
|
||||
these channels will be SW triggered channels. See example.
|
||||
- ti,edma-reserved-slot-ranges: PaRAM slot ranges which should not be used by
|
||||
the driver, they are allocated to be used by for example the
|
||||
DSP. See example.
|
||||
@ -56,10 +55,9 @@ edma: edma@49000000 {
|
||||
ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 7>, <&edma_tptc2 0>;
|
||||
|
||||
/* Channel 20 and 21 is allocated for memcpy */
|
||||
ti,edma-memcpy-channels = /bits/ 16 <20 21>;
|
||||
/* The following PaRAM slots are reserved: 35-45 and 100-110 */
|
||||
ti,edma-reserved-slot-ranges = /bits/ 16 <35 10>,
|
||||
/bits/ 16 <100 10>;
|
||||
ti,edma-memcpy-channels = <20 21>;
|
||||
/* The following PaRAM slots are reserved: 35-44 and 100-109 */
|
||||
ti,edma-reserved-slot-ranges = <35 10>, <100 10>;
|
||||
};
|
||||
|
||||
edma_tptc0: tptc@49800000 {
|
||||
|
@ -15,14 +15,32 @@ Recommended properties:
|
||||
- spi-max-frequency: Definition as per
|
||||
Documentation/devicetree/bindings/spi/spi-bus.txt
|
||||
|
||||
Optional properties:
|
||||
- syscon-chipselects: Handle to system control region contains QSPI
|
||||
chipselect register and offset of that register.
|
||||
|
||||
Example:
|
||||
|
||||
For am4372:
|
||||
qspi: qspi@4b300000 {
|
||||
compatible = "ti,dra7xxx-qspi";
|
||||
reg = <0x47900000 0x100>, <0x30000000 0x3ffffff>;
|
||||
compatible = "ti,am4372-qspi";
|
||||
reg = <0x47900000 0x100>, <0x30000000 0x4000000>;
|
||||
reg-names = "qspi_base", "qspi_mmap";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
spi-max-frequency = <25000000>;
|
||||
ti,hwmods = "qspi";
|
||||
};
|
||||
|
||||
For dra7xx:
|
||||
qspi: qspi@4b300000 {
|
||||
compatible = "ti,dra7xxx-qspi";
|
||||
reg = <0x4b300000 0x100>,
|
||||
<0x5c000000 0x4000000>,
|
||||
reg-names = "qspi_base", "qspi_mmap";
|
||||
syscon-chipselects = <&scm_conf 0x558>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
spi-max-frequency = <48000000>;
|
||||
ti,hwmods = "qspi";
|
||||
};
|
||||
|
@ -473,6 +473,7 @@ dtb-$(CONFIG_SOC_AM33XX) += \
|
||||
am335x-nano.dtb \
|
||||
am335x-pepper.dtb \
|
||||
am335x-shc.dtb \
|
||||
am335x-sbc-t335.dtb \
|
||||
am335x-sl50.dtb \
|
||||
am335x-wega-rdk.dtb
|
||||
dtb-$(CONFIG_ARCH_OMAP4) += \
|
||||
|
@ -50,7 +50,7 @@
|
||||
|
||||
&am33xx_pinmux {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <>;
|
||||
pinctrl-0 = <&bluetooth_pins>;
|
||||
|
||||
i2c0_pins: pinmux_i2c0_pins {
|
||||
pinctrl-single,pins = <
|
||||
@ -121,6 +121,19 @@
|
||||
>;
|
||||
};
|
||||
|
||||
uart1_pins: pinmux_uart1_pins {
|
||||
pinctrl-single,pins = <
|
||||
/* uart1_ctsn.uart1_ctsn */
|
||||
AM33XX_IOPAD(0x978, PIN_INPUT | MUX_MODE0)
|
||||
/* uart1_rtsn.uart1_rtsn */
|
||||
AM33XX_IOPAD(0x97C, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
|
||||
/* uart1_rxd.uart1_rxd */
|
||||
AM33XX_IOPAD(0x980, PIN_INPUT_PULLUP | MUX_MODE0)
|
||||
/* uart1_txd.uart1_txd */
|
||||
AM33XX_IOPAD(0x984, PIN_OUTPUT_PULLDOWN | MUX_MODE0)
|
||||
>;
|
||||
};
|
||||
|
||||
ecap0_pins: pinmux_ecap0_pins {
|
||||
pinctrl-single,pins = <
|
||||
/* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
|
||||
@ -209,6 +222,14 @@
|
||||
AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0)
|
||||
>;
|
||||
};
|
||||
|
||||
/* wl1271 bluetooth */
|
||||
bluetooth_pins: pinmux_bluetooth_pins {
|
||||
pinctrl-single,pins = <
|
||||
/* XDMA_EVENT_INTR0.gpio0_19 - bluetooth enable */
|
||||
AM33XX_IOPAD(0x9b0, PIN_OUTPUT_PULLUP | MUX_MODE7)
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
@ -218,6 +239,14 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* WLS1271 bluetooth */
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_pins>;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_pins>;
|
||||
@ -237,6 +266,26 @@
|
||||
};
|
||||
};
|
||||
|
||||
&usb {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_ctrl_mod {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0_phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cppi41dma {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&epwmss0 {
|
||||
status = "okay";
|
||||
|
||||
|
@ -83,14 +83,14 @@
|
||||
label = "volume-up";
|
||||
linux,code = <115>;
|
||||
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
switch@10 {
|
||||
label = "volume-down";
|
||||
linux,code = <114>;
|
||||
gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
@ -743,8 +743,8 @@
|
||||
&mmc3 {
|
||||
/* these are on the crossbar and are outlined in the
|
||||
xbar-event-map element */
|
||||
dmas = <&edma 12
|
||||
&edma 13>;
|
||||
dmas = <&edma_xbar 12 0 1
|
||||
&edma_xbar 13 0 2>;
|
||||
dma-names = "tx", "rx";
|
||||
status = "okay";
|
||||
vmmc-supply = <&wlan_en_reg>;
|
||||
@ -766,11 +766,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
ti,edma-xbar-event-map = /bits/ 16 <1 12
|
||||
2 13>;
|
||||
};
|
||||
|
||||
&sham {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -123,7 +123,7 @@
|
||||
label = "button2";
|
||||
linux,code = <0x102>;
|
||||
gpios = <&gpio0 30 GPIO_ACTIVE_HIGH>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
switch@4 {
|
||||
|
@ -339,13 +339,6 @@
|
||||
ti,non-removable;
|
||||
};
|
||||
|
||||
&edma {
|
||||
/* Map eDMA MMC2 Events from Crossbar */
|
||||
ti,edma-xbar-event-map = /bits/ 16 <1 12
|
||||
2 13>;
|
||||
};
|
||||
|
||||
|
||||
&mmc3 {
|
||||
/* Wifi & Bluetooth on MMC #3 */
|
||||
status = "okay";
|
||||
@ -354,8 +347,8 @@
|
||||
vmmmc-supply = <&v3v3c_reg>;
|
||||
bus-width = <4>;
|
||||
ti,non-removable;
|
||||
dmas = <&edma 12
|
||||
&edma 13>;
|
||||
dmas = <&edma_xbar 12 0 1
|
||||
&edma_xbar 13 0 2>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
|
||||
@ -637,21 +630,21 @@
|
||||
label = "home";
|
||||
linux,code = <KEY_HOME>;
|
||||
gpios = <&gpio1 22 GPIO_ACTIVE_LOW>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
button@1 {
|
||||
label = "menu";
|
||||
linux,code = <KEY_MENU>;
|
||||
gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
buttons@2 {
|
||||
label = "power";
|
||||
linux,code = <KEY_POWER>;
|
||||
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
|
219
arch/arm/boot/dts/am335x-sbc-t335.dts
Normal file
219
arch/arm/boot/dts/am335x-sbc-t335.dts
Normal file
@ -0,0 +1,219 @@
|
||||
/*
|
||||
* am335x-sbc-t335.dts - Device Tree file for Compulab SBC-T335
|
||||
*
|
||||
* Copyright (C) 2014 - 2015 CompuLab Ltd. - http://www.compulab.co.il/
|
||||
*
|
||||
* 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 "am335x-cm-t335.dts"
|
||||
|
||||
/ {
|
||||
model = "CompuLab CM-T335 on SB-T335";
|
||||
compatible = "compulab,sbc-t335", "compulab,cm-t335", "ti,am33xx";
|
||||
|
||||
/* DRM display driver */
|
||||
panel {
|
||||
compatible = "ti,tilcdc,panel";
|
||||
status = "okay";
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&lcd_pins_default>;
|
||||
pinctrl-1 = <&lcd_pins_sleep>;
|
||||
|
||||
panel-info {
|
||||
ac-bias = <255>;
|
||||
ac-bias-intrpt = <0>;
|
||||
dma-burst-sz = <16>;
|
||||
bpp = <32>;
|
||||
fdd = <0x80>;
|
||||
sync-edge = <0>;
|
||||
sync-ctrl = <1>;
|
||||
raster-order = <0>;
|
||||
fifo-th = <0>;
|
||||
};
|
||||
display-timings {
|
||||
/* Timing selection performed by U-Boot */
|
||||
timing0: lcd {/* 800x480p62 */
|
||||
clock-frequency = <30000000>;
|
||||
hactive = <800>;
|
||||
vactive = <480>;
|
||||
hfront-porch = <39>;
|
||||
hback-porch = <39>;
|
||||
hsync-len = <47>;
|
||||
vback-porch = <29>;
|
||||
vfront-porch = <13>;
|
||||
vsync-len = <2>;
|
||||
hsync-active = <1>;
|
||||
vsync-active = <1>;
|
||||
};
|
||||
timing1: dvi { /* 1024x768p60 */
|
||||
clock-frequency = <65000000>;
|
||||
hactive = <1024>;
|
||||
hfront-porch = <24>;
|
||||
hback-porch = <160>;
|
||||
hsync-len = <136>;
|
||||
vactive = <768>;
|
||||
vfront-porch = <3>;
|
||||
vback-porch = <29>;
|
||||
vsync-len = <6>;
|
||||
hsync-active = <0>;
|
||||
vsync-active = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&am33xx_pinmux {
|
||||
/* Display */
|
||||
lcd_pins_default: lcd_pins_default {
|
||||
pinctrl-single,pins = <
|
||||
/* gpmc_ad8.lcd_data23 */
|
||||
AM33XX_IOPAD(0x820, PIN_OUTPUT | MUX_MODE1)
|
||||
/* gpmc_ad9.lcd_data22 */
|
||||
AM33XX_IOPAD(0x824, PIN_OUTPUT | MUX_MODE1)
|
||||
/* gpmc_ad10.lcd_data21 */
|
||||
AM33XX_IOPAD(0x828, PIN_OUTPUT | MUX_MODE1)
|
||||
/* gpmc_ad11.lcd_data20 */
|
||||
AM33XX_IOPAD(0x82c, PIN_OUTPUT | MUX_MODE1)
|
||||
/* gpmc_ad12.lcd_data19 */
|
||||
AM33XX_IOPAD(0x830, PIN_OUTPUT | MUX_MODE1)
|
||||
/* gpmc_ad13.lcd_data18 */
|
||||
AM33XX_IOPAD(0x834, PIN_OUTPUT | MUX_MODE1)
|
||||
/* gpmc_ad14.lcd_data17 */
|
||||
AM33XX_IOPAD(0x838, PIN_OUTPUT | MUX_MODE1)
|
||||
/* gpmc_ad15.lcd_data16 */
|
||||
AM33XX_IOPAD(0x83c, PIN_OUTPUT | MUX_MODE1)
|
||||
/* lcd_data0.lcd_data0 */
|
||||
AM33XX_IOPAD(0x8a0, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_data1.lcd_data1 */
|
||||
AM33XX_IOPAD(0x8a4, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_data2.lcd_data2 */
|
||||
AM33XX_IOPAD(0x8a8, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_data3.lcd_data3 */
|
||||
AM33XX_IOPAD(0x8ac, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_data4.lcd_data4 */
|
||||
AM33XX_IOPAD(0x8b0, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_data5.lcd_data5 */
|
||||
AM33XX_IOPAD(0x8b4, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_data6.lcd_data6 */
|
||||
AM33XX_IOPAD(0x8b8, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_data7.lcd_data7 */
|
||||
AM33XX_IOPAD(0x8bc, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_data8.lcd_data8 */
|
||||
AM33XX_IOPAD(0x8c0, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_data9.lcd_data9 */
|
||||
AM33XX_IOPAD(0x8c4, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_data10.lcd_data10 */
|
||||
AM33XX_IOPAD(0x8c8, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_data11.lcd_data11 */
|
||||
AM33XX_IOPAD(0x8cc, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_data12.lcd_data12 */
|
||||
AM33XX_IOPAD(0x8d0, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_data13.lcd_data13 */
|
||||
AM33XX_IOPAD(0x8d4, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_data14.lcd_data14 */
|
||||
AM33XX_IOPAD(0x8d8, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_data15.lcd_data15 */
|
||||
AM33XX_IOPAD(0x8dc, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_vsync.lcd_vsync */
|
||||
AM33XX_IOPAD(0x8e0, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_hsync.lcd_hsync */
|
||||
AM33XX_IOPAD(0x8e4, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_pclk.lcd_pclk */
|
||||
AM33XX_IOPAD(0x8e8, PIN_OUTPUT | MUX_MODE0)
|
||||
/* lcd_ac_bias_en.lcd_ac_bias_en */
|
||||
AM33XX_IOPAD(0x8ec, PIN_OUTPUT | MUX_MODE0)
|
||||
>;
|
||||
};
|
||||
|
||||
lcd_pins_sleep: lcd_pins_sleep {
|
||||
pinctrl-single,pins = <
|
||||
/* gpmc_ad8.lcd_data23 */
|
||||
AM33XX_IOPAD(0x820, PIN_INPUT_PULLDOWN | MUX_MODE7)
|
||||
/* gpmc_ad9.lcd_data22 */
|
||||
AM33XX_IOPAD(0x824, PIN_INPUT_PULLDOWN | MUX_MODE7)
|
||||
/* gpmc_ad10.lcd_data21 */
|
||||
AM33XX_IOPAD(0x828, PIN_INPUT_PULLDOWN | MUX_MODE7)
|
||||
/* gpmc_ad11.lcd_data20 */
|
||||
AM33XX_IOPAD(0x82c, PIN_INPUT_PULLDOWN | MUX_MODE7)
|
||||
/* gpmc_ad12.lcd_data19 */
|
||||
AM33XX_IOPAD(0x830, PIN_INPUT_PULLDOWN | MUX_MODE7)
|
||||
/* gpmc_ad13.lcd_data18 */
|
||||
AM33XX_IOPAD(0x834, PIN_INPUT_PULLDOWN | MUX_MODE7)
|
||||
/* gpmc_ad14.lcd_data17 */
|
||||
AM33XX_IOPAD(0x838, PIN_INPUT_PULLDOWN | MUX_MODE7)
|
||||
/* gpmc_ad15.lcd_data16 */
|
||||
AM33XX_IOPAD(0x83c, PIN_INPUT_PULLDOWN | MUX_MODE7)
|
||||
/* lcd_data0.lcd_data0 */
|
||||
AM33XX_IOPAD(0x8a0, PULL_DISABLE | MUX_MODE7)
|
||||
/* lcd_data1.lcd_data1 */
|
||||
AM33XX_IOPAD(0x8a4, PULL_DISABLE | MUX_MODE7)
|
||||
/* lcd_data2.lcd_data2 */
|
||||
AM33XX_IOPAD(0x8a8, PULL_DISABLE | MUX_MODE7)
|
||||
/* lcd_data3.lcd_data3 */
|
||||
AM33XX_IOPAD(0x8ac, PULL_DISABLE | MUX_MODE7)
|
||||
/* lcd_data4.lcd_data4 */
|
||||
AM33XX_IOPAD(0x8b0, PULL_DISABLE | MUX_MODE7)
|
||||
/* lcd_data5.lcd_data5 */
|
||||
AM33XX_IOPAD(0x8b4, PULL_DISABLE | MUX_MODE7)
|
||||
/* lcd_data6.lcd_data6 */
|
||||
AM33XX_IOPAD(0x8b8, PULL_DISABLE | MUX_MODE7)
|
||||
/* lcd_data7.lcd_data7 */
|
||||
AM33XX_IOPAD(0x8bc, PULL_DISABLE | MUX_MODE7)
|
||||
/* lcd_data8.lcd_data8 */
|
||||
AM33XX_IOPAD(0x8c0, PULL_DISABLE | MUX_MODE7)
|
||||
/* lcd_data9.lcd_data9 */
|
||||
AM33XX_IOPAD(0x8c4, PULL_DISABLE | MUX_MODE7)
|
||||
/* lcd_data10.lcd_data10 */
|
||||
AM33XX_IOPAD(0x8c8, PULL_DISABLE | MUX_MODE7)
|
||||
/* lcd_data11.lcd_data11 */
|
||||
AM33XX_IOPAD(0x8cc, PULL_DISABLE | MUX_MODE7)
|
||||
/* lcd_data12.lcd_data12 */
|
||||
AM33XX_IOPAD(0x8d0, PULL_DISABLE | MUX_MODE7)
|
||||
/* lcd_data13.lcd_data13 */
|
||||
AM33XX_IOPAD(0x8d4, PULL_DISABLE | MUX_MODE7)
|
||||
/* lcd_data14.lcd_data14 */
|
||||
AM33XX_IOPAD(0x8d8, PULL_DISABLE | MUX_MODE7)
|
||||
/* lcd_data15.lcd_data15 */
|
||||
AM33XX_IOPAD(0x8dc, PULL_DISABLE | MUX_MODE7)
|
||||
/* lcd_vsync.lcd_vsync */
|
||||
AM33XX_IOPAD(0x8e0, PIN_INPUT_PULLDOWN | MUX_MODE7)
|
||||
/* lcd_hsync.lcd_hsync */
|
||||
AM33XX_IOPAD(0x8e4, PIN_INPUT_PULLDOWN | MUX_MODE7)
|
||||
/* lcd_pclk.lcd_pclk */
|
||||
AM33XX_IOPAD(0x8e8, PIN_INPUT_PULLDOWN | MUX_MODE7)
|
||||
/* lcd_ac_bias_en.lcd_ac_bias_en */
|
||||
AM33XX_IOPAD(0x8ec, PIN_INPUT_PULLDOWN | MUX_MODE7)
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
/* GPIO extender */
|
||||
gpio_ext: pca9555@26 {
|
||||
compatible = "nxp,pca9555";
|
||||
pinctrl-names = "default";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
reg = <0x26>;
|
||||
dvi_ena {
|
||||
gpio-hog;
|
||||
gpios = <13 GPIO_ACTIVE_HIGH>;
|
||||
output-high;
|
||||
line-name = "dvi-enable";
|
||||
};
|
||||
lcd_ena {
|
||||
gpio-hog;
|
||||
gpios = <11 GPIO_ACTIVE_HIGH>;
|
||||
output-high;
|
||||
line-name = "lcd-enable";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* Display */
|
||||
&lcdc {
|
||||
status = "okay";
|
||||
};
|
@ -161,6 +161,14 @@
|
||||
mboxes = <&mailbox &mbox_wkupm3>;
|
||||
};
|
||||
|
||||
edma_xbar: dma-router@f90 {
|
||||
compatible = "ti,am335x-edma-crossbar";
|
||||
reg = <0xf90 0x40>;
|
||||
#dma-cells = <3>;
|
||||
dma-requests = <32>;
|
||||
dma-masters = <&edma>;
|
||||
};
|
||||
|
||||
scm_clockdomains: clockdomains {
|
||||
};
|
||||
};
|
||||
@ -174,12 +182,44 @@
|
||||
};
|
||||
|
||||
edma: edma@49000000 {
|
||||
compatible = "ti,edma3";
|
||||
ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
|
||||
reg = <0x49000000 0x10000>,
|
||||
<0x44e10f90 0x40>;
|
||||
compatible = "ti,edma3-tpcc";
|
||||
ti,hwmods = "tpcc";
|
||||
reg = <0x49000000 0x10000>;
|
||||
reg-names = "edma3_cc";
|
||||
interrupts = <12 13 14>;
|
||||
#dma-cells = <1>;
|
||||
interrupt-names = "edma3_ccint", "emda3_mperr",
|
||||
"edma3_ccerrint";
|
||||
dma-requests = <64>;
|
||||
#dma-cells = <2>;
|
||||
|
||||
ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
|
||||
<&edma_tptc2 0>;
|
||||
|
||||
ti,edma-memcpy-channels = <20 21>;
|
||||
};
|
||||
|
||||
edma_tptc0: tptc@49800000 {
|
||||
compatible = "ti,edma3-tptc";
|
||||
ti,hwmods = "tptc0";
|
||||
reg = <0x49800000 0x100000>;
|
||||
interrupts = <112>;
|
||||
interrupt-names = "edma3_tcerrint";
|
||||
};
|
||||
|
||||
edma_tptc1: tptc@49900000 {
|
||||
compatible = "ti,edma3-tptc";
|
||||
ti,hwmods = "tptc1";
|
||||
reg = <0x49900000 0x100000>;
|
||||
interrupts = <113>;
|
||||
interrupt-names = "edma3_tcerrint";
|
||||
};
|
||||
|
||||
edma_tptc2: tptc@49a00000 {
|
||||
compatible = "ti,edma3-tptc";
|
||||
ti,hwmods = "tptc2";
|
||||
reg = <0x49a00000 0x100000>;
|
||||
interrupts = <114>;
|
||||
interrupt-names = "edma3_tcerrint";
|
||||
};
|
||||
|
||||
gpio0: gpio@44e07000 {
|
||||
@ -233,7 +273,7 @@
|
||||
reg = <0x44e09000 0x2000>;
|
||||
interrupts = <72>;
|
||||
status = "disabled";
|
||||
dmas = <&edma 26>, <&edma 27>;
|
||||
dmas = <&edma 26 0>, <&edma 27 0>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
|
||||
@ -244,7 +284,7 @@
|
||||
reg = <0x48022000 0x2000>;
|
||||
interrupts = <73>;
|
||||
status = "disabled";
|
||||
dmas = <&edma 28>, <&edma 29>;
|
||||
dmas = <&edma 28 0>, <&edma 29 0>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
|
||||
@ -255,7 +295,7 @@
|
||||
reg = <0x48024000 0x2000>;
|
||||
interrupts = <74>;
|
||||
status = "disabled";
|
||||
dmas = <&edma 30>, <&edma 31>;
|
||||
dmas = <&edma 30 0>, <&edma 31 0>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
|
||||
@ -322,8 +362,8 @@
|
||||
ti,dual-volt;
|
||||
ti,needs-special-reset;
|
||||
ti,needs-special-hs-handling;
|
||||
dmas = <&edma 24
|
||||
&edma 25>;
|
||||
dmas = <&edma_xbar 24 0 0
|
||||
&edma_xbar 25 0 0>;
|
||||
dma-names = "tx", "rx";
|
||||
interrupts = <64>;
|
||||
interrupt-parent = <&intc>;
|
||||
@ -335,8 +375,8 @@
|
||||
compatible = "ti,omap4-hsmmc";
|
||||
ti,hwmods = "mmc2";
|
||||
ti,needs-special-reset;
|
||||
dmas = <&edma 2
|
||||
&edma 3>;
|
||||
dmas = <&edma 2 0
|
||||
&edma 3 0>;
|
||||
dma-names = "tx", "rx";
|
||||
interrupts = <28>;
|
||||
interrupt-parent = <&intc>;
|
||||
@ -474,10 +514,10 @@
|
||||
interrupts = <65>;
|
||||
ti,spi-num-cs = <2>;
|
||||
ti,hwmods = "spi0";
|
||||
dmas = <&edma 16
|
||||
&edma 17
|
||||
&edma 18
|
||||
&edma 19>;
|
||||
dmas = <&edma 16 0
|
||||
&edma 17 0
|
||||
&edma 18 0
|
||||
&edma 19 0>;
|
||||
dma-names = "tx0", "rx0", "tx1", "rx1";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -490,10 +530,10 @@
|
||||
interrupts = <125>;
|
||||
ti,spi-num-cs = <2>;
|
||||
ti,hwmods = "spi1";
|
||||
dmas = <&edma 42
|
||||
&edma 43
|
||||
&edma 44
|
||||
&edma 45>;
|
||||
dmas = <&edma 42 0
|
||||
&edma 43 0
|
||||
&edma 44 0
|
||||
&edma 45 0>;
|
||||
dma-names = "tx0", "rx0", "tx1", "rx1";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -833,7 +873,7 @@
|
||||
ti,hwmods = "sham";
|
||||
reg = <0x53100000 0x200>;
|
||||
interrupts = <109>;
|
||||
dmas = <&edma 36>;
|
||||
dmas = <&edma 36 0>;
|
||||
dma-names = "rx";
|
||||
};
|
||||
|
||||
@ -842,8 +882,8 @@
|
||||
ti,hwmods = "aes";
|
||||
reg = <0x53500000 0xa0>;
|
||||
interrupts = <103>;
|
||||
dmas = <&edma 6>,
|
||||
<&edma 5>;
|
||||
dmas = <&edma 6 0>,
|
||||
<&edma 5 0>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
|
||||
@ -856,8 +896,8 @@
|
||||
interrupts = <80>, <81>;
|
||||
interrupt-names = "tx", "rx";
|
||||
status = "disabled";
|
||||
dmas = <&edma 8>,
|
||||
<&edma 9>;
|
||||
dmas = <&edma 8 2>,
|
||||
<&edma 9 2>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
|
||||
@ -870,8 +910,8 @@
|
||||
interrupts = <82>, <83>;
|
||||
interrupt-names = "tx", "rx";
|
||||
status = "disabled";
|
||||
dmas = <&edma 10>,
|
||||
<&edma 11>;
|
||||
dmas = <&edma 10 2>,
|
||||
<&edma 11 2>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
|
||||
|
@ -172,6 +172,14 @@
|
||||
mboxes = <&mailbox &mbox_wkupm3>;
|
||||
};
|
||||
|
||||
edma_xbar: dma-router@f90 {
|
||||
compatible = "ti,am335x-edma-crossbar";
|
||||
reg = <0xf90 0x40>;
|
||||
#dma-cells = <3>;
|
||||
dma-requests = <64>;
|
||||
dma-masters = <&edma>;
|
||||
};
|
||||
|
||||
scm_clockdomains: clockdomains {
|
||||
};
|
||||
};
|
||||
@ -184,14 +192,46 @@
|
||||
};
|
||||
|
||||
edma: edma@49000000 {
|
||||
compatible = "ti,edma3";
|
||||
ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
|
||||
reg = <0x49000000 0x10000>,
|
||||
<0x44e10f90 0x10>;
|
||||
compatible = "ti,edma3-tpcc";
|
||||
ti,hwmods = "tpcc";
|
||||
reg = <0x49000000 0x10000>;
|
||||
reg-names = "edma3_cc";
|
||||
interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#dma-cells = <1>;
|
||||
<GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "edma3_ccint", "emda3_mperr",
|
||||
"edma3_ccerrint";
|
||||
dma-requests = <64>;
|
||||
#dma-cells = <2>;
|
||||
|
||||
ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
|
||||
<&edma_tptc2 0>;
|
||||
|
||||
ti,edma-memcpy-channels = <32 33>;
|
||||
};
|
||||
|
||||
edma_tptc0: tptc@49800000 {
|
||||
compatible = "ti,edma3-tptc";
|
||||
ti,hwmods = "tptc0";
|
||||
reg = <0x49800000 0x100000>;
|
||||
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "edma3_tcerrint";
|
||||
};
|
||||
|
||||
edma_tptc1: tptc@49900000 {
|
||||
compatible = "ti,edma3-tptc";
|
||||
ti,hwmods = "tptc1";
|
||||
reg = <0x49900000 0x100000>;
|
||||
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "edma3_tcerrint";
|
||||
};
|
||||
|
||||
edma_tptc2: tptc@49a00000 {
|
||||
compatible = "ti,edma3-tptc";
|
||||
ti,hwmods = "tptc2";
|
||||
reg = <0x49a00000 0x100000>;
|
||||
interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "edma3_tcerrint";
|
||||
};
|
||||
|
||||
uart0: serial@44e09000 {
|
||||
@ -496,8 +536,8 @@
|
||||
ti,hwmods = "mmc1";
|
||||
ti,dual-volt;
|
||||
ti,needs-special-reset;
|
||||
dmas = <&edma 24
|
||||
&edma 25>;
|
||||
dmas = <&edma 24 0>,
|
||||
<&edma 25 0>;
|
||||
dma-names = "tx", "rx";
|
||||
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
@ -508,8 +548,8 @@
|
||||
reg = <0x481d8000 0x1000>;
|
||||
ti,hwmods = "mmc2";
|
||||
ti,needs-special-reset;
|
||||
dmas = <&edma 2
|
||||
&edma 3>;
|
||||
dmas = <&edma 2 0>,
|
||||
<&edma 3 0>;
|
||||
dma-names = "tx", "rx";
|
||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
@ -777,7 +817,7 @@
|
||||
compatible = "ti,omap5-sham";
|
||||
ti,hwmods = "sham";
|
||||
reg = <0x53100000 0x300>;
|
||||
dmas = <&edma 36>;
|
||||
dmas = <&edma 36 0>;
|
||||
dma-names = "rx";
|
||||
interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
@ -787,8 +827,8 @@
|
||||
ti,hwmods = "aes";
|
||||
reg = <0x53501000 0xa0>;
|
||||
interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&edma 6
|
||||
&edma 5>;
|
||||
dmas = <&edma 6 0>,
|
||||
<&edma 5 0>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
|
||||
@ -797,8 +837,8 @@
|
||||
ti,hwmods = "des";
|
||||
reg = <0x53701000 0xa0>;
|
||||
interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&edma 34
|
||||
&edma 33>;
|
||||
dmas = <&edma 34 0>,
|
||||
<&edma 33 0>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
|
||||
@ -811,8 +851,8 @@
|
||||
interrupts = <80>, <81>;
|
||||
interrupt-names = "tx", "rx";
|
||||
status = "disabled";
|
||||
dmas = <&edma 8>,
|
||||
<&edma 9>;
|
||||
dmas = <&edma 8 2>,
|
||||
<&edma 9 2>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
|
||||
@ -825,8 +865,8 @@
|
||||
interrupts = <82>, <83>;
|
||||
interrupt-names = "tx", "rx";
|
||||
status = "disabled";
|
||||
dmas = <&edma 10>,
|
||||
<&edma 11>;
|
||||
dmas = <&edma 10 2>,
|
||||
<&edma 11 2>;
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
|
||||
@ -966,7 +1006,9 @@
|
||||
|
||||
qspi: qspi@47900000 {
|
||||
compatible = "ti,am4372-qspi";
|
||||
reg = <0x47900000 0x100>;
|
||||
reg = <0x47900000 0x100>,
|
||||
<0x30000000 0x4000000>;
|
||||
reg-names = "qspi_base", "qspi_mmap";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
ti,hwmods = "qspi";
|
||||
|
@ -734,8 +734,8 @@
|
||||
status = "okay";
|
||||
/* these are on the crossbar and are outlined in the
|
||||
xbar-event-map element */
|
||||
dmas = <&edma 30
|
||||
&edma 31>;
|
||||
dmas = <&edma_xbar 30 0 1>,
|
||||
<&edma_xbar 31 0 2>;
|
||||
dma-names = "tx", "rx";
|
||||
vmmc-supply = <&vmmcwl_fixed>;
|
||||
bus-width = <4>;
|
||||
@ -756,11 +756,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
&edma {
|
||||
ti,edma-xbar-event-map = /bits/ 16 <1 30
|
||||
2 31>;
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
|
@ -504,6 +504,7 @@
|
||||
regulator-max-microvolt = <1050000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-allow-bypass;
|
||||
};
|
||||
|
||||
ldoln_reg: ldoln {
|
||||
|
@ -1154,8 +1154,10 @@
|
||||
|
||||
qspi: qspi@4b300000 {
|
||||
compatible = "ti,dra7xxx-qspi";
|
||||
reg = <0x4b300000 0x100>;
|
||||
reg-names = "qspi_base";
|
||||
reg = <0x4b300000 0x100>,
|
||||
<0x5c000000 0x4000000>;
|
||||
reg-names = "qspi_base", "qspi_mmap";
|
||||
syscon-chipselects = <&scm_conf 0x558>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
ti,hwmods = "qspi";
|
||||
|
@ -373,6 +373,7 @@
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-allow-bypass;
|
||||
};
|
||||
|
||||
ldo2_reg: ldo2 {
|
||||
@ -380,6 +381,7 @@
|
||||
regulator-name = "ldo2";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-allow-bypass;
|
||||
};
|
||||
|
||||
ldo3_reg: ldo3 {
|
||||
|
@ -23,28 +23,28 @@
|
||||
label = "sysboot2";
|
||||
gpios = <&gpio1 2 GPIO_ACTIVE_LOW>; /* gpio2 */
|
||||
linux,code = <BTN_0>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
sysboot5 {
|
||||
label = "sysboot5";
|
||||
gpios = <&gpio1 7 GPIO_ACTIVE_LOW>; /* gpio7 */
|
||||
linux,code = <BTN_1>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
gpio1 {
|
||||
label = "gpio1";
|
||||
gpios = <&gpio6 21 GPIO_ACTIVE_LOW>; /* gpio181 */
|
||||
linux,code = <BTN_2>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
gpio2 {
|
||||
label = "gpio2";
|
||||
gpios = <&gpio6 18 GPIO_ACTIVE_LOW>; /* gpio178 */
|
||||
linux,code = <BTN_3>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
@ -83,16 +83,6 @@
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
&vaux1 {
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
};
|
||||
|
||||
&vaux4 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
&mcbsp2 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -114,6 +104,70 @@
|
||||
};
|
||||
};
|
||||
|
||||
&vpll2 {
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
&dss {
|
||||
status = "ok";
|
||||
vdds_dsi-supply = <&vpll2>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&dss_dpi_pins1>;
|
||||
port {
|
||||
dpi_out: endpoint {
|
||||
remote-endpoint = <&lcd_in>;
|
||||
data-lines = <16>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
display0 = &lcd0;
|
||||
};
|
||||
|
||||
lcd0: display@0 {
|
||||
compatible = "panel-dpi";
|
||||
label = "15";
|
||||
status = "okay";
|
||||
/* default-on; */
|
||||
pinctrl-names = "default";
|
||||
enable-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>; /* gpio155, lcd INI */
|
||||
|
||||
port {
|
||||
lcd_in: endpoint {
|
||||
remote-endpoint = <&dpi_out>;
|
||||
};
|
||||
};
|
||||
|
||||
panel-timing {
|
||||
clock-frequency = <9000000>;
|
||||
hactive = <480>;
|
||||
vactive = <272>;
|
||||
hfront-porch = <3>;
|
||||
hback-porch = <2>;
|
||||
hsync-len = <42>;
|
||||
vback-porch = <3>;
|
||||
vfront-porch = <4>;
|
||||
vsync-len = <11>;
|
||||
hsync-active = <0>;
|
||||
vsync-active = <0>;
|
||||
de-active = <1>;
|
||||
pixelclk-active = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
bl: backlight {
|
||||
compatible = "gpio-backlight";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&backlight_pins>;
|
||||
|
||||
gpios = <&gpio2 24 GPIO_ACTIVE_HIGH>, /* gpio_56 */
|
||||
<&gpio5 26 GPIO_ACTIVE_HIGH>; /* gpio_154 */
|
||||
default-on;
|
||||
};
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
interrupts-extended = <&intc 83 &omap3_pmx_core 0x11a>;
|
||||
pinctrl-names = "default";
|
||||
@ -149,6 +203,48 @@
|
||||
OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */
|
||||
>;
|
||||
};
|
||||
|
||||
tsc2004_pins: pinmux_tsc2004_pins {
|
||||
pinctrl-single,pins = <
|
||||
OMAP3_CORE1_IOPAD(0x2186, PIN_INPUT | MUX_MODE4) /* mcbsp4_dr.gpio_153 */
|
||||
>;
|
||||
};
|
||||
|
||||
backlight_pins: pinmux_backlight_pins {
|
||||
pinctrl-single,pins = <
|
||||
OMAP3_CORE1_IOPAD(0x20B8, PIN_OUTPUT | MUX_MODE4) /* gpmc_ncs5.gpio_56 */
|
||||
OMAP3_CORE1_IOPAD(0x2188, PIN_OUTPUT | MUX_MODE4) /* mcbsp4_dx.gpio_154 */
|
||||
>;
|
||||
};
|
||||
|
||||
dss_dpi_pins1: pinmux_dss_dpi_pins1 {
|
||||
pinctrl-single,pins = <
|
||||
OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */
|
||||
OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */
|
||||
OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */
|
||||
OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */
|
||||
|
||||
OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */
|
||||
OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */
|
||||
OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */
|
||||
OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */
|
||||
OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */
|
||||
OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */
|
||||
OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */
|
||||
OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */
|
||||
OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */
|
||||
OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */
|
||||
OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */
|
||||
OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */
|
||||
|
||||
OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE3) /* dss_data18.dss_data0 */
|
||||
OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE3) /* dss_data19.dss_data1 */
|
||||
OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE3) /* dss_data20.dss_data2 */
|
||||
OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE3) /* dss_data21.dss_data3 */
|
||||
OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE3) /* dss_data22.dss_data4 */
|
||||
OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE3) /* dss_data23.dss_data5 */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
&omap3_pmx_wkup {
|
||||
@ -172,6 +268,27 @@
|
||||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
touchscreen: tsc2004@48 {
|
||||
compatible = "ti,tsc2004";
|
||||
reg = <0x48>;
|
||||
vio-supply = <&vaux1>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&tsc2004_pins>;
|
||||
interrupts-extended = <&gpio5 25 IRQ_TYPE_EDGE_RISING>; /* gpio 153 */
|
||||
|
||||
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>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
interrupts-extended = <&intc 72 &omap3_pmx_core OMAP3_UART1_RX>;
|
||||
};
|
||||
|
@ -69,7 +69,7 @@
|
||||
label = "user";
|
||||
gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
|
||||
linux,code = <0x114>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -80,7 +80,7 @@
|
||||
label = "user";
|
||||
gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
|
||||
linux,code = <0x114>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -238,7 +238,7 @@
|
||||
ti,debounce-tol = /bits/ 16 <10>;
|
||||
ti,debounce-rep = /bits/ 16 <1>;
|
||||
|
||||
linux,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -64,7 +64,7 @@
|
||||
label = "user";
|
||||
gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>;
|
||||
linux,code = <BTN_EXTRA>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -68,6 +68,6 @@
|
||||
ti,keep-vref-on = <1>;
|
||||
ti,settle-delay-usec = /bits/ 16 <150>;
|
||||
|
||||
linux,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
@ -37,7 +37,7 @@
|
||||
label = "aux";
|
||||
linux,code = <169>;
|
||||
gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -35,63 +35,63 @@
|
||||
label = "enter";
|
||||
gpios = <&gpio4 5 GPIO_ACTIVE_LOW>; /* gpio101 */
|
||||
linux,code = <KEY_ENTER>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
key_f1 {
|
||||
label = "f1";
|
||||
gpios = <&gpio4 6 GPIO_ACTIVE_LOW>; /* gpio102 */
|
||||
linux,code = <KEY_F1>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
key_f2 {
|
||||
label = "f2";
|
||||
gpios = <&gpio4 7 GPIO_ACTIVE_LOW>; /* gpio103 */
|
||||
linux,code = <KEY_F2>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
key_f3 {
|
||||
label = "f3";
|
||||
gpios = <&gpio4 8 GPIO_ACTIVE_LOW>; /* gpio104 */
|
||||
linux,code = <KEY_F3>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
key_f4 {
|
||||
label = "f4";
|
||||
gpios = <&gpio4 9 GPIO_ACTIVE_LOW>; /* gpio105 */
|
||||
linux,code = <KEY_F4>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
key_left {
|
||||
label = "left";
|
||||
gpios = <&gpio4 10 GPIO_ACTIVE_LOW>; /* gpio106 */
|
||||
linux,code = <KEY_LEFT>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
key_right {
|
||||
label = "right";
|
||||
gpios = <&gpio4 11 GPIO_ACTIVE_LOW>; /* gpio107 */
|
||||
linux,code = <KEY_RIGHT>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
key_up {
|
||||
label = "up";
|
||||
gpios = <&gpio4 12 GPIO_ACTIVE_LOW>; /* gpio108 */
|
||||
linux,code = <KEY_UP>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
key_down {
|
||||
label = "down";
|
||||
gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; /* gpio109 */
|
||||
linux,code = <KEY_DOWN>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -327,7 +327,7 @@
|
||||
ti,pressure-max = /bits/ 16 <255>;
|
||||
ti,swap-xy;
|
||||
|
||||
linux,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -67,28 +67,28 @@
|
||||
gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; /* 110 */
|
||||
linux,input-type = <5>; /* EV_SW */
|
||||
linux,code = <0x09>; /* SW_CAMERA_LENS_COVER */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
camera_focus {
|
||||
label = "Camera Focus";
|
||||
gpios = <&gpio3 4 GPIO_ACTIVE_LOW>; /* 68 */
|
||||
linux,code = <0x210>; /* KEY_CAMERA_FOCUS */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
camera_capture {
|
||||
label = "Camera Capture";
|
||||
gpios = <&gpio3 5 GPIO_ACTIVE_LOW>; /* 69 */
|
||||
linux,code = <0xd4>; /* KEY_CAMERA */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
lock_button {
|
||||
label = "Lock Button";
|
||||
gpios = <&gpio4 17 GPIO_ACTIVE_LOW>; /* 113 */
|
||||
linux,code = <0x98>; /* KEY_SCREENLOCK */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
keypad_slide {
|
||||
@ -96,7 +96,7 @@
|
||||
gpios = <&gpio3 7 GPIO_ACTIVE_LOW>; /* 71 */
|
||||
linux,input-type = <5>; /* EV_SW */
|
||||
linux,code = <0x0a>; /* SW_KEYPAD_SLIDE */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
proximity_sensor {
|
||||
|
@ -48,7 +48,7 @@
|
||||
label = "button0";
|
||||
linux,code = <BTN_0>;
|
||||
gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; /* gpio_10 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -41,13 +41,13 @@
|
||||
label = "button0";
|
||||
linux,code = <BTN_0>;
|
||||
gpios = <&gpio1 23 GPIO_ACTIVE_LOW>; /* gpio_23 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
button1@14 {
|
||||
label = "button1";
|
||||
linux,code = <BTN_1>;
|
||||
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; /* gpio_14 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -161,6 +161,6 @@
|
||||
ti,x-plate-ohms = /bits/ 16 <180>;
|
||||
ti,pressure-max = /bits/ 16 <255>;
|
||||
|
||||
linux,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
@ -172,7 +172,7 @@
|
||||
ti,x-plate-ohms = /bits/ 16 <180>;
|
||||
ti,pressure-max = /bits/ 16 <255>;
|
||||
|
||||
linux,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -41,13 +41,13 @@
|
||||
label = "button0";
|
||||
linux,code = <BTN_0>;
|
||||
gpios = <&gpio1 23 GPIO_ACTIVE_LOW>; /* gpio_23 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
button1@14 {
|
||||
label = "button1";
|
||||
linux,code = <BTN_1>;
|
||||
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; /* gpio_14 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -41,13 +41,13 @@
|
||||
label = "button0";
|
||||
linux,code = <BTN_0>;
|
||||
gpios = <&gpio1 23 GPIO_ACTIVE_LOW>; /* gpio_23 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
button1@14 {
|
||||
label = "button1";
|
||||
linux,code = <BTN_1>;
|
||||
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; /* gpio_14 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -41,13 +41,13 @@
|
||||
label = "button0";
|
||||
linux,code = <BTN_0>;
|
||||
gpios = <&gpio1 23 GPIO_ACTIVE_LOW>; /* gpio_23 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
button1@14 {
|
||||
label = "button1";
|
||||
linux,code = <BTN_1>;
|
||||
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; /* gpio_14 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -84,112 +84,112 @@
|
||||
label = "up";
|
||||
linux,code = <KEY_UP>;
|
||||
gpios = <&gpio4 14 GPIO_ACTIVE_LOW>; /* GPIO_110 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
down-button {
|
||||
label = "down";
|
||||
linux,code = <KEY_DOWN>;
|
||||
gpios = <&gpio4 7 GPIO_ACTIVE_LOW>; /* GPIO_103 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
left-button {
|
||||
label = "left";
|
||||
linux,code = <KEY_LEFT>;
|
||||
gpios = <&gpio4 0 GPIO_ACTIVE_LOW>; /* GPIO_96 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
right-button {
|
||||
label = "right";
|
||||
linux,code = <KEY_RIGHT>;
|
||||
gpios = <&gpio4 2 GPIO_ACTIVE_LOW>; /* GPIO_98 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
pageup-button {
|
||||
label = "game 1";
|
||||
linux,code = <KEY_PAGEUP>;
|
||||
gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; /* GPIO_109 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
pagedown-button {
|
||||
label = "game 3";
|
||||
linux,code = <KEY_PAGEDOWN>;
|
||||
gpios = <&gpio4 10 GPIO_ACTIVE_LOW>; /* GPIO_106 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
home-button {
|
||||
label = "game 4";
|
||||
linux,code = <KEY_HOME>;
|
||||
gpios = <&gpio4 5 GPIO_ACTIVE_LOW>; /* GPIO_101 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
end-button {
|
||||
label = "game 2";
|
||||
linux,code = <KEY_END>;
|
||||
gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* GPIO_111 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
right-shift {
|
||||
label = "l";
|
||||
linux,code = <KEY_RIGHTSHIFT>;
|
||||
gpios = <&gpio4 6 GPIO_ACTIVE_LOW>; /* GPIO_102 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
kp-plus {
|
||||
label = "l2";
|
||||
linux,code = <KEY_KPPLUS>;
|
||||
gpios = <&gpio4 1 GPIO_ACTIVE_LOW>; /* GPIO_97 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
right-ctrl {
|
||||
label = "r";
|
||||
linux,code = <KEY_RIGHTCTRL>;
|
||||
gpios = <&gpio4 9 GPIO_ACTIVE_LOW>; /* GPIO_105 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
kp-minus {
|
||||
label = "r2";
|
||||
linux,code = <KEY_KPMINUS>;
|
||||
gpios = <&gpio4 11 GPIO_ACTIVE_LOW>; /* GPIO_107 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
left-ctrl {
|
||||
label = "ctrl";
|
||||
linux,code = <KEY_LEFTCTRL>;
|
||||
gpios = <&gpio4 8 GPIO_ACTIVE_LOW>; /* GPIO_104 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
menu {
|
||||
label = "menu";
|
||||
linux,code = <KEY_MENU>;
|
||||
gpios = <&gpio4 3 GPIO_ACTIVE_LOW>; /* GPIO_99 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
hold {
|
||||
label = "hold";
|
||||
linux,code = <KEY_COFFEE>;
|
||||
gpios = <&gpio6 16 GPIO_ACTIVE_LOW>; /* GPIO_176 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
left-alt {
|
||||
label = "alt";
|
||||
linux,code = <KEY_LEFTALT>;
|
||||
gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>; /* GPIO_100 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
lid {
|
||||
@ -617,7 +617,7 @@
|
||||
ti,x-plate-ohms = /bits/ 16 <40>;
|
||||
ti,pressure-max = /bits/ 16 <255>;
|
||||
|
||||
linux,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
lcd: lcd@1 {
|
||||
|
@ -66,6 +66,6 @@
|
||||
ti,x-plate-ohms = /bits/ 16 <40>;
|
||||
ti,pressure-max = /bits/ 16 <255>;
|
||||
ti,swap-xy;
|
||||
linux,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
@ -36,7 +36,7 @@
|
||||
label = "button0";
|
||||
linux,code = <BTN_0>;
|
||||
gpios = <&gpio4 25 GPIO_ACTIVE_LOW>; /* gpio_121 */
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -41,7 +41,7 @@
|
||||
label = "user";
|
||||
gpios = <&gpio6 24 GPIO_ACTIVE_HIGH>; /* gpio 184 */
|
||||
linux,code = <BTN_EXTRA>;
|
||||
gpio-key,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -359,7 +359,7 @@
|
||||
ti,debounce-tol = /bits/ 16 <10>;
|
||||
ti,debounce-rep = /bits/ 16 <1>;
|
||||
|
||||
linux,wakeup;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -150,6 +150,21 @@ static struct platform_device wl18xx_device = {
|
||||
}
|
||||
};
|
||||
|
||||
static struct ti_st_plat_data wilink7_pdata = {
|
||||
.nshutdown_gpio = 162,
|
||||
.dev_name = "/dev/ttyO1",
|
||||
.flow_cntrl = 1,
|
||||
.baud_rate = 300000,
|
||||
};
|
||||
|
||||
static struct platform_device wl128x_device = {
|
||||
.name = "kim",
|
||||
.id = -1,
|
||||
.dev = {
|
||||
.platform_data = &wilink7_pdata,
|
||||
}
|
||||
};
|
||||
|
||||
static struct platform_device btwilink_device = {
|
||||
.name = "btwilink",
|
||||
.id = -1,
|
||||
@ -276,6 +291,13 @@ static void __init omap3_tao3530_legacy_init(void)
|
||||
hsmmc2_internal_input_clk();
|
||||
}
|
||||
|
||||
static void __init omap3_logicpd_torpedo_init(void)
|
||||
{
|
||||
omap3_gpio126_127_129();
|
||||
platform_device_register(&wl128x_device);
|
||||
platform_device_register(&btwilink_device);
|
||||
}
|
||||
|
||||
/* omap3pandora legacy devices */
|
||||
#define PANDORA_WIFI_IRQ_GPIO 21
|
||||
#define PANDORA_WIFI_NRESET_GPIO 23
|
||||
@ -503,7 +525,7 @@ static struct pdata_init pdata_quirks[] __initdata = {
|
||||
{ "nokia,omap3-n950", hsmmc2_internal_input_clk, },
|
||||
{ "isee,omap3-igep0020-rev-f", omap3_igep0020_rev_f_legacy_init, },
|
||||
{ "isee,omap3-igep0030-rev-g", omap3_igep0030_rev_g_legacy_init, },
|
||||
{ "logicpd,dm3730-torpedo-devkit", omap3_gpio126_127_129, },
|
||||
{ "logicpd,dm3730-torpedo-devkit", omap3_logicpd_torpedo_init, },
|
||||
{ "ti,omap3-evm-37xx", omap3_evm_legacy_init, },
|
||||
{ "ti,am3517-evm", am3517_evm_legacy_init, },
|
||||
{ "technexion,omap3-tao3530", omap3_tao3530_legacy_init, },
|
||||
|
@ -1752,16 +1752,14 @@ static enum dma_status edma_tx_status(struct dma_chan *chan,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static bool edma_is_memcpy_channel(int ch_num, u16 *memcpy_channels)
|
||||
static bool edma_is_memcpy_channel(int ch_num, s32 *memcpy_channels)
|
||||
{
|
||||
s16 *memcpy_ch = memcpy_channels;
|
||||
|
||||
if (!memcpy_channels)
|
||||
return false;
|
||||
while (*memcpy_ch != -1) {
|
||||
if (*memcpy_ch == ch_num)
|
||||
while (*memcpy_channels != -1) {
|
||||
if (*memcpy_channels == ch_num)
|
||||
return true;
|
||||
memcpy_ch++;
|
||||
memcpy_channels++;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@ -1775,7 +1773,7 @@ static void edma_dma_init(struct edma_cc *ecc, bool legacy_mode)
|
||||
{
|
||||
struct dma_device *s_ddev = &ecc->dma_slave;
|
||||
struct dma_device *m_ddev = NULL;
|
||||
s16 *memcpy_channels = ecc->info->memcpy_channels;
|
||||
s32 *memcpy_channels = ecc->info->memcpy_channels;
|
||||
int i, j;
|
||||
|
||||
dma_cap_zero(s_ddev->cap_mask);
|
||||
@ -1996,16 +1994,16 @@ static struct edma_soc_info *edma_setup_info_from_dt(struct device *dev,
|
||||
prop = of_find_property(dev->of_node, "ti,edma-memcpy-channels", &sz);
|
||||
if (prop) {
|
||||
const char pname[] = "ti,edma-memcpy-channels";
|
||||
size_t nelm = sz / sizeof(s16);
|
||||
s16 *memcpy_ch;
|
||||
size_t nelm = sz / sizeof(s32);
|
||||
s32 *memcpy_ch;
|
||||
|
||||
memcpy_ch = devm_kcalloc(dev, nelm + 1, sizeof(s16),
|
||||
memcpy_ch = devm_kcalloc(dev, nelm + 1, sizeof(s32),
|
||||
GFP_KERNEL);
|
||||
if (!memcpy_ch)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
ret = of_property_read_u16_array(dev->of_node, pname,
|
||||
(u16 *)memcpy_ch, nelm);
|
||||
ret = of_property_read_u32_array(dev->of_node, pname,
|
||||
(u32 *)memcpy_ch, nelm);
|
||||
if (ret)
|
||||
return ERR_PTR(ret);
|
||||
|
||||
@ -2017,31 +2015,50 @@ static struct edma_soc_info *edma_setup_info_from_dt(struct device *dev,
|
||||
&sz);
|
||||
if (prop) {
|
||||
const char pname[] = "ti,edma-reserved-slot-ranges";
|
||||
u32 (*tmp)[2];
|
||||
s16 (*rsv_slots)[2];
|
||||
size_t nelm = sz / sizeof(*rsv_slots);
|
||||
size_t nelm = sz / sizeof(*tmp);
|
||||
struct edma_rsv_info *rsv_info;
|
||||
int i;
|
||||
|
||||
if (!nelm)
|
||||
return info;
|
||||
|
||||
rsv_info = devm_kzalloc(dev, sizeof(*rsv_info), GFP_KERNEL);
|
||||
if (!rsv_info)
|
||||
tmp = kcalloc(nelm, sizeof(*tmp), GFP_KERNEL);
|
||||
if (!tmp)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
rsv_info = devm_kzalloc(dev, sizeof(*rsv_info), GFP_KERNEL);
|
||||
if (!rsv_info) {
|
||||
kfree(tmp);
|
||||
return ERR_PTR(-ENOMEM);
|
||||
}
|
||||
|
||||
rsv_slots = devm_kcalloc(dev, nelm + 1, sizeof(*rsv_slots),
|
||||
GFP_KERNEL);
|
||||
if (!rsv_slots)
|
||||
if (!rsv_slots) {
|
||||
kfree(tmp);
|
||||
return ERR_PTR(-ENOMEM);
|
||||
}
|
||||
|
||||
ret = of_property_read_u16_array(dev->of_node, pname,
|
||||
(u16 *)rsv_slots, nelm * 2);
|
||||
if (ret)
|
||||
ret = of_property_read_u32_array(dev->of_node, pname,
|
||||
(u32 *)tmp, nelm * 2);
|
||||
if (ret) {
|
||||
kfree(tmp);
|
||||
return ERR_PTR(ret);
|
||||
}
|
||||
|
||||
for (i = 0; i < nelm; i++) {
|
||||
rsv_slots[i][0] = tmp[i][0];
|
||||
rsv_slots[i][1] = tmp[i][1];
|
||||
}
|
||||
rsv_slots[nelm][0] = -1;
|
||||
rsv_slots[nelm][1] = -1;
|
||||
|
||||
info->rsv = rsv_info;
|
||||
info->rsv->rsv_slots = (const s16 (*)[2])rsv_slots;
|
||||
|
||||
kfree(tmp);
|
||||
}
|
||||
|
||||
return info;
|
||||
|
@ -72,7 +72,7 @@ struct edma_soc_info {
|
||||
struct edma_rsv_info *rsv;
|
||||
|
||||
/* List of channels allocated for memcpy, terminated with -1 */
|
||||
s16 *memcpy_channels;
|
||||
s32 *memcpy_channels;
|
||||
|
||||
s8 (*queue_priority_mapping)[2];
|
||||
const s16 (*xbar_chans)[2];
|
||||
|
Loading…
Reference in New Issue
Block a user