* [PATCH 0/6] ARM: add omap3 INCOstartec board support
@ 2014-01-21 19:47 Christoph Fritz
2014-01-21 19:47 ` [PATCH 1/6] ARM: dts: Add CPU OPP table for omap37xx100 Christoph Fritz
` (5 more replies)
0 siblings, 6 replies; 12+ messages in thread
From: Christoph Fritz @ 2014-01-21 19:47 UTC (permalink / raw)
To: Tony Lindgren, Tomi Valkeinen, Mark Rutland, Ian Campbell,
bcousson-rdvid1DuHRBWk0Htik3J/w, Archit Taneja,
Javier Martinez Canillas, Daniel Mack, Hans J. Koch
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-omap-u79uwXL29TY76Z2rM5mHXA
This set of patches adds board support for an omap3 system from INCOstartec.
It's based on next-20140115.
Christoph Fritz (6):
ARM: dts: Add CPU OPP table for omap37xx100
ARM: dts: omap3: Add support for INCOstartec a83x module
ARM: dts: omap3: Add support for INCOstartec DBB056 baseboard
ARM: OMAP2+: add legacy display for omap3 DBB056
ARM: OMAP2+: Add pdata quirk for sys_clkout2 for omap3 DBB056
[RFC] omapdss: remove FEAT_DPI_USES_VDDS_DSI from omap3
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/omap3-lilly-a83x.dtsi | 441 ++++++++++++++++++++++++++++++
arch/arm/boot/dts/omap3-lilly-dbb056.dts | 160 +++++++++++
arch/arm/boot/dts/omap37xx100.dtsi | 44 +++
arch/arm/mach-omap2/dss-common.c | 49 ++++
arch/arm/mach-omap2/dss-common.h | 1 +
arch/arm/mach-omap2/pdata-quirks.c | 45 ++-
drivers/video/omap2/dss/dss_features.c | 1 -
8 files changed, 740 insertions(+), 2 deletions(-)
create mode 100644 arch/arm/boot/dts/omap3-lilly-a83x.dtsi
create mode 100644 arch/arm/boot/dts/omap3-lilly-dbb056.dts
create mode 100644 arch/arm/boot/dts/omap37xx100.dtsi
--
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/6] ARM: dts: Add CPU OPP table for omap37xx100
2014-01-21 19:47 [PATCH 0/6] ARM: add omap3 INCOstartec board support Christoph Fritz
@ 2014-01-21 19:47 ` Christoph Fritz
2014-01-21 19:58 ` Nishanth Menon
2014-01-21 19:47 ` [PATCH 2/6] ARM: dts: omap3: Add support for INCOstartec a83x module Christoph Fritz
` (4 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Christoph Fritz @ 2014-01-21 19:47 UTC (permalink / raw)
To: Tony Lindgren, Tomi Valkeinen, Mark Rutland, Ian Campbell,
bcousson, Archit Taneja, Javier Martinez Canillas, Daniel Mack,
Hans J. Koch
Cc: devicetree, linux-omap
This patch adds file omap37xx100.dtsi which includs a SoC specific table
for CPU OPP.
Please keep in mind that am/dm37xx100 variants differ from am/dm37xx
SoCs without nomenclature marker prefix "100". This marker indicates
the maximum cpu frequency. 100 stands for 1 GHz-Cortex-A8, blank means
maximum 800 MHz.
For more info, see Datasheet http://www.ti.com/lit/ds/sprs685d/sprs685d.pdf
section 7.2.1 "Device and Development-Support Tool Nomenclature".
Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
---
arch/arm/boot/dts/omap37xx100.dtsi | 44 ++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
create mode 100644 arch/arm/boot/dts/omap37xx100.dtsi
diff --git a/arch/arm/boot/dts/omap37xx100.dtsi b/arch/arm/boot/dts/omap37xx100.dtsi
new file mode 100644
index 0000000..064661e
--- /dev/null
+++ b/arch/arm/boot/dts/omap37xx100.dtsi
@@ -0,0 +1,44 @@
+/*
+ * Device Tree Source for OMAP37x SoC
+ *
+ * This file is licensed under the terms of the GNU General Public License
+ * version 2. This program is licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#include "omap3.dtsi"
+
+/ {
+ aliases {
+ serial3 = &uart4;
+ };
+
+ cpus {
+ /* AM/DM37xx */
+ cpu@0 {
+ operating-points = <
+ /* kHz uV */
+ 125000 975000
+ 250000 1075000
+ 500000 1100000
+ 600000 1140000
+ 800000 1270000
+ 1000000 1380000
+ >;
+ clock-latency = <300000>; /* From legacy driver */
+ };
+ };
+
+ ocp {
+ /* uart4 is only available on CBP and CBC packages */
+ uart4: serial@49042000 {
+ compatible = "ti,omap3-uart";
+ reg = <0x49042000 0x400>;
+ interrupts = <80>;
+ dmas = <&sdma 81 &sdma 82>;
+ dma-names = "tx", "rx";
+ ti,hwmods = "uart4";
+ clock-frequency = <48000000>;
+ };
+ };
+};
--
1.7.10.4
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/6] ARM: dts: omap3: Add support for INCOstartec a83x module
2014-01-21 19:47 [PATCH 0/6] ARM: add omap3 INCOstartec board support Christoph Fritz
2014-01-21 19:47 ` [PATCH 1/6] ARM: dts: Add CPU OPP table for omap37xx100 Christoph Fritz
@ 2014-01-21 19:47 ` Christoph Fritz
2014-01-21 19:47 ` [PATCH 3/6] ARM: dts: omap3: Add support for INCOstartec DBB056 baseboard Christoph Fritz
` (3 subsequent siblings)
5 siblings, 0 replies; 12+ messages in thread
From: Christoph Fritz @ 2014-01-21 19:47 UTC (permalink / raw)
To: Tony Lindgren, Tomi Valkeinen, Mark Rutland, Ian Campbell,
bcousson, Archit Taneja, Javier Martinez Canillas, Daniel Mack,
Hans J. Koch
Cc: devicetree, linux-omap
INCOstartec LILLY-A83X module is a TI DM3730xx100 (OMAP3) SoC
computer-on-module.
This patch adds device-tree support for most of its features.
Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
---
arch/arm/boot/dts/omap3-lilly-a83x.dtsi | 441 +++++++++++++++++++++++++++++++
1 file changed, 441 insertions(+)
create mode 100644 arch/arm/boot/dts/omap3-lilly-a83x.dtsi
diff --git a/arch/arm/boot/dts/omap3-lilly-a83x.dtsi b/arch/arm/boot/dts/omap3-lilly-a83x.dtsi
new file mode 100644
index 0000000..ae3c00f
--- /dev/null
+++ b/arch/arm/boot/dts/omap3-lilly-a83x.dtsi
@@ -0,0 +1,441 @@
+/*
+ * Copyright (C) 2014 Christoph Fritz <chf.fritzc@googlemail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+#include "omap37xx100.dtsi"
+
+/ {
+ model = "INCOstartec LILLY-A83X module (DM3730)";
+ compatible = "incostartec,omap3-lilly-a83x", "ti,omap3";
+
+ chosen {
+ bootargs = "console=ttyO0,115200n8 vt.global_cursor_default=0 consoleblank=0";
+ };
+
+ memory {
+ device_type = "memory";
+ reg = <0x80000000 0x8000000>; /* 128 MB */
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ heartbeat1 {
+ label = "lilly-a83x::led1";
+ gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ };
+
+ };
+
+ sound {
+ compatible = "ti,omap-twl4030";
+ ti,model = "lilly-a83x";
+
+ ti,mcbsp = <&mcbsp2>;
+ ti,codec = <&twl_audio>;
+ };
+
+ regulators {
+ compatible = "simple-bus";
+ reg_vcc3: vcc3 {
+ compatible = "regulator-fixed";
+ regulator-name = "VCC3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+ };
+
+ hsusb1_phy: hsusb1_phy {
+ compatible = "usb-nop-xceiv";
+ vcc-supply = <®_vcc3>;
+ };
+};
+
+&omap3_pmx_wkup {
+ pinctrl-names = "default";
+
+ lan9221_pins: pinmux_lan9221_pins {
+ pinctrl-single,pins = <
+ 0x5A (PIN_INPUT | MUX_MODE4) /* gpio_129 */
+ >;
+ };
+
+ tsc2048_pins: pinmux_tsc2048_pins {
+ pinctrl-single,pins = <
+ 0x16 (PIN_INPUT_PULLUP | MUX_MODE4) /* gpio_8 */
+ >;
+ };
+
+ mmc1cd_pins: pinmux_mmc1cd_pins {
+ pinctrl-single,pins = <
+ 0x56 (PIN_INPUT | MUX_MODE4) /* gpio_126 */
+ >;
+ };
+};
+
+&omap3_pmx_core {
+ pinctrl-names = "default";
+
+ gpio1_pins: pinmux_gpio1_pins {
+ pinctrl-single,pins = <
+ 0x5ca (PIN_OUTPUT_PULLDOWN | MUX_MODE4) /* gpio_29 */
+ >;
+ };
+
+ uart1_pins: pinmux_uart1_pins {
+ pinctrl-single,pins = <
+ 0x14c (PIN_OUTPUT | MUX_MODE0) /* uart1_tx.uart1_tx */
+ 0x14e (PIN_OUTPUT | MUX_MODE0) /* uart1_rts.uart1_rts */
+ 0x150 (PIN_INPUT | MUX_MODE0) /* uart1_cts.uart1_cts */
+ 0x152 (PIN_INPUT | MUX_MODE0) /* uart1_rx.uart1_rx */
+ >;
+ };
+
+ uart2_pins: pinmux_uart2_pins {
+ pinctrl-single,pins = <
+ 0x140 (PIN_OUTPUT | MUX_MODE1) /* mcbsp3_clkx.uart2_tx */
+ 0x142 (PIN_INPUT | MUX_MODE1) /* mcbsp3_fsx.uart2_rx */
+ >;
+ };
+
+ uart3_pins: pinmux_uart3_pins {
+ pinctrl-single,pins = <
+ 0x16e (PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
+ 0x170 (PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */
+ >;
+ };
+
+ i2c1_pins: pinmux_i2c1_pins {
+ pinctrl-single,pins = <
+ 0x18a (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
+ 0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
+ >;
+ };
+
+ i2c2_pins: pinmux_i2c2_pins {
+ pinctrl-single,pins = <
+ 0x18e (PIN_INPUT | MUX_MODE0) /* i2c2_scl.i2c2_scl */
+ 0x190 (PIN_INPUT | MUX_MODE0) /* i2c2_sda.i2c2_sda */
+ >;
+ };
+
+ i2c3_pins: pinmux_i2c3_pins {
+ pinctrl-single,pins = <
+ 0x192 (PIN_INPUT | MUX_MODE0) /* i2c3_scl.i2c3_scl */
+ 0x194 (PIN_INPUT | MUX_MODE0) /* i2c3_sda.i2c3_sda */
+ >;
+ };
+
+ hsusb1_pins: pinmux_hsusb1_pins {
+ pinctrl-single,pins = <
+ 0x5a8 (PIN_OUTPUT | MUX_MODE3) /* etk_clk.hsusb1_stp */
+ 0x5aa (PIN_INPUT | MUX_MODE3) /* etk_ctl.hsusb1_clk */
+ 0x5ac (PIN_INPUT | MUX_MODE3) /* etk_d0.hsusb1_data0 */
+ 0x5ae (PIN_INPUT | MUX_MODE3) /* etk_d1.hsusb1_data1 */
+ 0x5b0 (PIN_INPUT | MUX_MODE3) /* etk_d2.hsusb1_data2 */
+ 0x5b2 (PIN_INPUT | MUX_MODE3) /* etk_d3.hsusb1_data7 */
+ 0x5b4 (PIN_INPUT | MUX_MODE3) /* etk_d4.hsusb1_data4 */
+ 0x5b6 (PIN_INPUT | MUX_MODE3) /* etk_d5.hsusb1_data5 */
+ 0x5b8 (PIN_INPUT | MUX_MODE3) /* etk_d6.hsusb1_data6 */
+ 0x5ba (PIN_INPUT | MUX_MODE3) /* etk_d7.hsusb1_data3 */
+ 0x5bc (PIN_INPUT | MUX_MODE3) /* etk_d8.hsusb1_dir */
+ 0x5be (PIN_INPUT | MUX_MODE3) /* etk_d9.hsusb1_nxt */
+
+ /* GPIO 128 controls USB-Hub reset. But USB-Phy its
+ * reset can't be controlled. So we clamp this GPIO to
+ * high (PIN_OFF_OUTPUT_HIGH) to always enable USB-Hub.
+ */
+
+ 0x1ae (PIN_OUTPUT_PULLUP | PIN_OFF_OUTPUT_HIGH | MUX_MODE4) /* gpio_182 */
+ >;
+ };
+
+ hsusb_otg_pins: pinmux_hsusb_otg_pins {
+ pinctrl-single,pins = <
+ 0x172 (PIN_INPUT | MUX_MODE0) /* hsusb0_clk.hsusb0_clk */
+ 0x174 (PIN_OUTPUT | MUX_MODE0) /* hsusb0_stp.hsusb0_stp */
+ 0x176 (PIN_INPUT | MUX_MODE0) /* hsusb0_dir.hsusb0_dir */
+ 0x178 (PIN_INPUT | MUX_MODE0) /* hsusb0_nxt.hsusb0_nxt */
+ 0x17a (PIN_INPUT | MUX_MODE0) /* hsusb0_data0.hsusb0_data0 */
+ 0x17c (PIN_INPUT | MUX_MODE0) /* hsusb0_data1.hsusb0_data1 */
+ 0x17e (PIN_INPUT | MUX_MODE0) /* hsusb0_data2.hsusb0_data2 */
+ 0x180 (PIN_INPUT | MUX_MODE0) /* hsusb0_data3.hsusb0_data3 */
+ 0x182 (PIN_INPUT | MUX_MODE0) /* hsusb0_data4.hsusb0_data4 */
+ 0x184 (PIN_INPUT | MUX_MODE0) /* hsusb0_data5.hsusb0_data5 */
+ 0x186 (PIN_INPUT | MUX_MODE0) /* hsusb0_data6.hsusb0_data6 */
+ 0x188 (PIN_INPUT | MUX_MODE0) /* hsusb0_data7.hsusb0_data7 */
+ >;
+ };
+
+ mmc1_pins: pinmux_mmc1_pins {
+ pinctrl-single,pins = <
+ 0x114 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */
+ 0x116 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */
+ 0x118 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */
+ 0x11a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */
+ 0x11c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */
+ 0x11e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */
+ >;
+ };
+
+ spi2_pins: pinmux_spi2_pins {
+ pinctrl-single,pins = <
+ 0x1a6 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcspi2_clk.mcspi2_clk */
+ 0x1a8 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcspi2_simo.mcspi2_simo */
+ 0x1aa (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcspi2_somi.mcspi2_somi */
+ 0x1ac (PIN_OUTPUT | MUX_MODE0) /* mcspi2_cs0.mcspi2_cs0 */
+ >;
+ };
+};
+
+&gpio1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpio1_pins>;
+};
+
+&i2c1 {
+ clock-frequency = <2600000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c1_pins>;
+
+ twl: twl@48 {
+ reg = <0x48>;
+ interrupts = <7>; /* SYS_NIRQ cascaded to intc */
+ interrupt-parent = <&intc>;
+
+ twl_audio: audio {
+ compatible = "ti,twl4030-audio";
+ codec {
+ };
+ };
+ };
+};
+
+#include "twl4030.dtsi"
+#include "twl4030_omap3.dtsi"
+
+&twl {
+ vmmc1: regulator-vmmc1 {
+ regulator-always-on;
+ };
+
+ vdd1: regulator-vdd1 {
+ regulator-always-on;
+ };
+
+ vdd2: regulator-vdd2 {
+ regulator-always-on;
+ };
+};
+
+&i2c2 {
+ clock-frequency = <2600000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c2_pins>;
+};
+
+&i2c3 {
+ clock-frequency = <2600000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c3_pins>;
+ gpiom1: gpio@20 {
+ compatible = "mcp,mcp23017";
+ gpio-controller;
+ #gpio-cells = <2>;
+ reg = <0x20>;
+ };
+};
+
+&uart1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart1_pins>;
+};
+
+&uart2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart2_pins>;
+};
+
+&uart3 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart3_pins>;
+};
+
+&mmc1 {
+ reg = <0x4809c000 0x400>;
+ cd-gpios = <&gpio4 30 IRQ_TYPE_LEVEL_LOW>;
+ cd-inverted;
+ vmmc-supply = <&vmmc1>;
+ bus-width = <4>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc1_pins &mmc1cd_pins>;
+ cap-sdio-irq;
+ cap-sd-highspeed;
+ cap-mmc-highspeed;
+};
+
+&mmc2 {
+ status = "disabled";
+};
+
+&mmc3 {
+ status = "disabled";
+};
+
+&mcspi2 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi2_pins>;
+
+ tsc2046@0 {
+ reg = <0>; /* CS0 */
+ compatible = "ti,tsc2046";
+ interrupt-parent = <&gpio1>;
+ interrupts = <8 0>; /* boot6 / gpio_8 */
+ spi-max-frequency = <1000000>;
+ pendown-gpio = <&gpio1 8 0>;
+ vcc-supply = <®_vcc3>;
+ 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,swap-xy;
+
+ linux,wakeup;
+ };
+};
+
+&usbhsehci {
+ phys = <&hsusb1_phy>;
+};
+
+&usbhshost {
+ pinctrl-names = "default";
+ pinctrl-0 = <&hsusb1_pins>;
+ num-ports = <2>;
+ port1-mode = "ehci-phy";
+};
+
+&usb_otg_hs {
+ pinctrl-names = "default";
+ pinctrl-0 = <&hsusb_otg_pins>;
+ interface-type = <0>;
+ usb-phy = <&usb2_phy>;
+ phys = <&usb2_phy>;
+ phy-names = "usb2-phy";
+ mode = <3>;
+ power = <50>;
+};
+
+&gpmc {
+ ranges = <0 0 0x30000000 0x1000000>,
+ <7 0 0x15000000 0x01000000>;
+
+ nand@0,0 {
+ reg = <0 0 0x1000000>;
+ nand-bus-width = <16>;
+ ti,nand-ecc-opt = "bch8";
+ /* no elm on omap3 */
+
+ gpmc,mux-add-data = <0>;
+ gpmc,device-nand;
+ gpmc,device-width = <2>;
+ gpmc,wait-pin = <0>;
+ gpmc,wait-monitoring-ns = <0>;
+ gpmc,burst-length= <4>;
+ gpmc,cs-on-ns = <0>;
+ gpmc,cs-rd-off-ns = <100>;
+ gpmc,cs-wr-off-ns = <100>;
+ gpmc,adv-on-ns = <0>;
+ gpmc,adv-rd-off-ns = <100>;
+ gpmc,adv-wr-off-ns = <100>;
+ gpmc,oe-on-ns = <5>;
+ gpmc,oe-off-ns = <75>;
+ gpmc,we-on-ns = <5>;
+ gpmc,we-off-ns = <75>;
+ gpmc,rd-cycle-ns = <100>;
+ gpmc,wr-cycle-ns = <100>;
+ gpmc,access-ns = <60>;
+ gpmc,page-burst-access-ns = <5>;
+ gpmc,bus-turnaround-ns = <0>;
+ gpmc,cycle2cycle-samecsen;
+ gpmc,cycle2cycle-delay-ns = <50>;
+ gpmc,wr-data-mux-bus-ns = <75>;
+ gpmc,wr-access-ns = <155>;
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "MLO";
+ reg = <0 0x80000>;
+ };
+
+ partition@0x80000 {
+ label = "u-boot";
+ reg = <0x80000 0x1e0000>;
+ };
+
+ partition@0x260000 {
+ label = "u-boot-environment";
+ reg = <0x260000 0x20000>;
+ };
+
+ partition@0x280000 {
+ label = "kernel";
+ reg = <0x280000 0x500000>;
+ };
+
+ partition@0x780000 {
+ label = "filesystem";
+ reg = <0x780000 0xf880000>;
+ };
+ };
+
+ ethernet@7,0 {
+ compatible = "smsc,lan9221", "smsc,lan9115";
+ bank-width = <2>;
+ gpmc,mux-add-data = <2>;
+ gpmc,cs-on-ns = <10>;
+ gpmc,cs-rd-off-ns = <60>;
+ gpmc,cs-wr-off-ns = <60>;
+ gpmc,adv-on-ns = <0>;
+ gpmc,adv-rd-off-ns = <10>;
+ gpmc,adv-wr-off-ns = <10>;
+ gpmc,oe-on-ns = <10>;
+ gpmc,oe-off-ns = <60>;
+ gpmc,we-on-ns = <10>;
+ gpmc,we-off-ns = <60>;
+ gpmc,rd-cycle-ns = <100>;
+ gpmc,wr-cycle-ns = <100>;
+ gpmc,access-ns = <50>;
+ gpmc,page-burst-access-ns = <5>;
+ gpmc,bus-turnaround-ns = <0>;
+ gpmc,cycle2cycle-delay-ns = <75>;
+ gpmc,wr-data-mux-bus-ns = <15>;
+ gpmc,wr-access-ns = <75>;
+ gpmc,cycle2cycle-samecsen;
+ gpmc,cycle2cycle-diffcsen;
+ vddvario-supply = <®_vcc3>;
+ vdd33a-supply = <®_vcc3>;
+ reg-io-width = <4>;
+ interrupt-parent = <&gpio5>;
+ interrupts = <1 0x2>;
+ reg = <7 0 0xff>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&lan9221_pins>;
+ phy-mode = "mii";
+ };
+};
--
1.7.10.4
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 3/6] ARM: dts: omap3: Add support for INCOstartec DBB056 baseboard
2014-01-21 19:47 [PATCH 0/6] ARM: add omap3 INCOstartec board support Christoph Fritz
2014-01-21 19:47 ` [PATCH 1/6] ARM: dts: Add CPU OPP table for omap37xx100 Christoph Fritz
2014-01-21 19:47 ` [PATCH 2/6] ARM: dts: omap3: Add support for INCOstartec a83x module Christoph Fritz
@ 2014-01-21 19:47 ` Christoph Fritz
2014-01-21 19:47 ` [PATCH 4/6] ARM: OMAP2+: add legacy display for omap3 DBB056 Christoph Fritz
` (2 subsequent siblings)
5 siblings, 0 replies; 12+ messages in thread
From: Christoph Fritz @ 2014-01-21 19:47 UTC (permalink / raw)
To: Tony Lindgren, Tomi Valkeinen, Mark Rutland, Ian Campbell,
bcousson, Archit Taneja, Javier Martinez Canillas, Daniel Mack,
Hans J. Koch
Cc: devicetree, linux-omap
INCOstartec LILLY-DBB056 is a carrier board (baseboard) for
computer-on-module LILLY-A83X.
This patch adds device-tree support for most of its features.
Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
---
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/omap3-lilly-dbb056.dts | 160 ++++++++++++++++++++++++++++++
2 files changed, 161 insertions(+)
create mode 100644 arch/arm/boot/dts/omap3-lilly-dbb056.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index d57c1a6..e0adfa9 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -186,6 +186,7 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \
omap3-gta04.dtb \
omap3-igep0020.dtb \
omap3-igep0030.dtb \
+ omap3-lilly-dbb056.dtb \
omap3-zoom3.dtb \
omap4-panda.dtb \
omap4-panda-a4.dtb \
diff --git a/arch/arm/boot/dts/omap3-lilly-dbb056.dts b/arch/arm/boot/dts/omap3-lilly-dbb056.dts
new file mode 100644
index 0000000..b063b72
--- /dev/null
+++ b/arch/arm/boot/dts/omap3-lilly-dbb056.dts
@@ -0,0 +1,160 @@
+/*
+ * Copyright (C) 2014 Christoph Fritz <chf.fritzc@googlemail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+/dts-v1/;
+
+#include "omap3-lilly-a83x.dtsi"
+
+/ {
+ model = "INCOstartec LILLY-DBB056 (DM3730)";
+ compatible = "incostartec,omap3-lilly-dbb056", "incostartec,omap3-lilly-a83x", "ti,omap3";
+};
+
+&twl {
+ vaux2: regulator-vaux2 {
+ compatible = "ti,twl4030-vaux2";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-always-on;
+ };
+};
+
+&omap3_pmx_core {
+ pinctrl-names = "default";
+ pinctrl-0 = <&lcd_pins>;
+
+ lan9117_pins: pinmux_lan9117_pins {
+ pinctrl-single,pins = <
+ 0xe4 (PIN_INPUT | MUX_MODE4) /* gpio_98 */
+ >;
+ };
+
+ gpio4_pins: pinmux_gpio4_pins {
+ pinctrl-single,pins = <
+ 0xfe (PIN_INPUT | MUX_MODE4) /* gpio_111 -> sja1000 IRQ */
+ >;
+ };
+
+ lcd_pins: pinmux_lcd_pins {
+ pinctrl-single,pins = <
+ 0x0a4 (PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */
+ 0x0a6 (PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */
+ 0x0a8 (PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */
+ 0x0aa (PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */
+ 0x0ac (PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */
+ 0x0ae (PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */
+ 0x0b0 (PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */
+ 0x0b2 (PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */
+ 0x0b4 (PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */
+ 0x0b6 (PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */
+ 0x0b8 (PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */
+ 0x0ba (PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */
+ 0x0bc (PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */
+ 0x0be (PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */
+ 0x0c0 (PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */
+ 0x0c2 (PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */
+ 0x0c4 (PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */
+ 0x0c6 (PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */
+ 0x0c8 (PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */
+ 0x0ca (PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */
+ 0x0cc (PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */
+ 0x0ce (PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */
+ 0x15c (PIN_OUTPUT | MUX_MODE4) /* gpio_156 -> enable DSS */
+ >;
+ };
+
+ mmc2_pins: pinmux_mmc2_pins {
+ pinctrl-single,pins = <
+ 0x128 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk.sdmmc2_clk */
+ 0x12a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd.sdmmc2_cmd */
+ 0x12c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0.sdmmc2_dat0 */
+ 0x12e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1.sdmmc2_dat1 */
+ 0x130 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2.sdmmc2_dat2 */
+ 0x132 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3.sdmmc2_dat3 */
+ 0x134 (PIN_OUTPUT | MUX_MODE1) /* sdmmc2_dat4.sdmmc2_dir_dat0 */
+ 0x136 (PIN_OUTPUT | MUX_MODE1) /* sdmmc2_dat5.sdmmc2_dir_dat1 */
+ 0x138 (PIN_OUTPUT | MUX_MODE1) /* sdmmc2_dat6.sdmmc2_dir_cmd */
+ 0x13a (PIN_INPUT | MUX_MODE1) /* sdmmc2_dat7.sdmmc2_clkin */
+ 0x16a (PIN_INPUT_PULLUP | MUX_MODE4) /* gpio_163 -> wp */
+ 0x16c (PIN_INPUT_PULLUP | MUX_MODE4) /* gpio_164 -> cd */
+ >;
+ };
+
+ spi1_pins: pinmux_spi1_pins {
+ pinctrl-single,pins = <
+ 0x198 (PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */
+ 0x19a (PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */
+ 0x19c (PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */
+ 0x19e (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */
+ >;
+ };
+};
+
+&gpio4 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&gpio4_pins>;
+};
+
+&mmc2 {
+ status = "okay";
+ bus-width = <4>;
+ vmmc-supply = <&vmmc1>;
+ cd-gpios = <&gpio6 4 0>; /* gpio_164 */
+ wp-gpios = <&gpio6 3 0>; /* gpio_163 */
+ pinctrl-names = "default";
+ pinctrl-0 = <&mmc2_pins>;
+ ti,dual-volt;
+};
+
+&mcspi1 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&spi1_pins>;
+};
+
+&gpmc {
+ ranges = <0 0 0x30000000 0x1000000>, /* nand assigned by COM a83x */
+ <4 0 0x20000000 0x01000000>,
+ <7 0 0x15000000 0x01000000>; /* eth assigend by COM a83x */
+
+ ethernet@4,0 {
+ compatible = "smsc,lan9117", "smsc,lan9115";
+ bank-width = <2>;
+ gpmc,mux-add-data = <2>;
+ gpmc,cs-on-ns = <10>;
+ gpmc,cs-rd-off-ns = <65>;
+ gpmc,cs-wr-off-ns = <65>;
+ gpmc,adv-on-ns = <0>;
+ gpmc,adv-rd-off-ns = <10>;
+ gpmc,adv-wr-off-ns = <10>;
+ gpmc,oe-on-ns = <10>;
+ gpmc,oe-off-ns = <65>;
+ gpmc,we-on-ns = <10>;
+ gpmc,we-off-ns = <65>;
+ gpmc,rd-cycle-ns = <100>;
+ gpmc,wr-cycle-ns = <100>;
+ gpmc,access-ns = <60>;
+ gpmc,page-burst-access-ns = <5>;
+ gpmc,bus-turnaround-ns = <0>;
+ gpmc,cycle2cycle-delay-ns = <75>;
+ gpmc,wr-data-mux-bus-ns = <15>;
+ gpmc,wr-access-ns = <75>;
+ gpmc,cycle2cycle-samecsen;
+ gpmc,cycle2cycle-diffcsen;
+ vddvario-supply = <®_vcc3>;
+ vdd33a-supply = <®_vcc3>;
+ reg-io-width = <4>;
+ interrupt-parent = <&gpio4>;
+ interrupts = <2 0x2>;
+ reg = <4 0 0xff>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&lan9117_pins>;
+ phy-mode = "mii";
+ smsc,force-internal-phy;
+ };
+};
--
1.7.10.4
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 4/6] ARM: OMAP2+: add legacy display for omap3 DBB056
2014-01-21 19:47 [PATCH 0/6] ARM: add omap3 INCOstartec board support Christoph Fritz
` (2 preceding siblings ...)
2014-01-21 19:47 ` [PATCH 3/6] ARM: dts: omap3: Add support for INCOstartec DBB056 baseboard Christoph Fritz
@ 2014-01-21 19:47 ` Christoph Fritz
2014-01-22 0:10 ` Javier Martinez Canillas
2014-01-21 19:47 ` [PATCH 5/6] ARM: OMAP2+: Add pdata quirk for sys_clkout2 " Christoph Fritz
2014-01-21 19:47 ` [PATCH 6/6] [RFC] omapdss: remove FEAT_DPI_USES_VDDS_DSI from omap3 Christoph Fritz
5 siblings, 1 reply; 12+ messages in thread
From: Christoph Fritz @ 2014-01-21 19:47 UTC (permalink / raw)
To: Tony Lindgren, Tomi Valkeinen, Mark Rutland, Ian Campbell,
bcousson, Archit Taneja, Javier Martinez Canillas, Daniel Mack,
Hans J. Koch
Cc: devicetree, linux-omap
Full device tree support for omapdss is not yet accomplished. Until
then, init display by legacy platform code.
Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
---
arch/arm/mach-omap2/dss-common.c | 49 ++++++++++++++++++++++++++++++++++++
arch/arm/mach-omap2/dss-common.h | 1 +
arch/arm/mach-omap2/pdata-quirks.c | 8 +++++-
3 files changed, 57 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-omap2/dss-common.c b/arch/arm/mach-omap2/dss-common.c
index dadccc9..b8b4e39 100644
--- a/arch/arm/mach-omap2/dss-common.c
+++ b/arch/arm/mach-omap2/dss-common.c
@@ -257,3 +257,52 @@ void __init omap3_igep2_display_init_of(void)
platform_device_register(&omap3_igep2_tfp410_device);
platform_device_register(&omap3_igep2_dvi_connector_device);
}
+
+/* OMAP3 dbb056 data */
+
+#define DBB056_DISPLAY_ENABLE_GPIO 156
+
+static const struct display_timing dbb056_lcd_videomode = {
+ .pixelclock = { 0, 19200000, 0 },
+
+ .hactive = { 0, 640, 0 },
+ .hfront_porch = { 0, 104, 0 },
+ .hback_porch = { 0, 8, 0 },
+ .hsync_len = { 0, 8, 0 },
+
+ .vactive = { 0, 480, 0 },
+ .vfront_porch = { 0, 104, 0 },
+ .vback_porch = { 0, 8, 0 },
+ .vsync_len = { 0, 8, 0 },
+
+ .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+ DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_NEGEDGE,
+};
+
+static struct panel_dpi_platform_data dbb056_lcd_pdata = {
+ .name = "lcd",
+ .source = "dpi.0",
+
+ .data_lines = 18,
+
+ .display_timing = &dbb056_lcd_videomode,
+
+ .enable_gpio = DBB056_DISPLAY_ENABLE_GPIO,
+ .backlight_gpio = -1,
+};
+
+static struct platform_device dbb056_lcd_device = {
+ .name = "panel-dpi",
+ .id = 0,
+ .dev.platform_data = &dbb056_lcd_pdata,
+};
+
+static struct omap_dss_board_info omap_dbb056_dss_data = {
+ .default_display_name = "lcd",
+};
+
+void __init omap3_dbb056_display_init_of(void)
+{
+ platform_device_register(&dbb056_lcd_device);
+ omap_display_init(&omap_dbb056_dss_data);
+}
diff --git a/arch/arm/mach-omap2/dss-common.h b/arch/arm/mach-omap2/dss-common.h
index a9becf0..a125b55 100644
--- a/arch/arm/mach-omap2/dss-common.h
+++ b/arch/arm/mach-omap2/dss-common.h
@@ -9,5 +9,6 @@
void __init omap4_panda_display_init_of(void);
void __init omap_4430sdp_display_init_of(void);
void __init omap3_igep2_display_init_of(void);
+void __init omap3_dbb056_display_init_of(void);
#endif
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
index 39f020c..bce8020 100644
--- a/arch/arm/mach-omap2/pdata-quirks.c
+++ b/arch/arm/mach-omap2/pdata-quirks.c
@@ -92,6 +92,11 @@ static void __init omap3_zoom_legacy_init(void)
{
legacy_init_wl12xx(WL12XX_REFCLOCK_26, 0, 162);
}
+
+static void __init omap3_dbb056_legacy_init(void)
+{
+ omap3_dbb056_display_init_of();
+}
#endif /* CONFIG_ARCH_OMAP3 */
#ifdef CONFIG_ARCH_OMAP4
@@ -139,10 +144,11 @@ struct of_dev_auxdata omap_auxdata_lookup[] __initdata = {
static struct pdata_init pdata_quirks[] __initdata = {
#ifdef CONFIG_ARCH_OMAP3
+ { "incostartec,omap3-lilly-dbb056", omap3_dbb056_legacy_init, },
+ { "isee,omap3-igep0020", omap3_igep0020_legacy_init, },
{ "nokia,omap3-n900", hsmmc2_internal_input_clk, },
{ "nokia,omap3-n9", hsmmc2_internal_input_clk, },
{ "nokia,omap3-n950", hsmmc2_internal_input_clk, },
- { "isee,omap3-igep0020", omap3_igep0020_legacy_init, },
{ "ti,omap3-evm-37xx", omap3_evm_legacy_init, },
{ "ti,omap3-zoom3", omap3_zoom_legacy_init, },
#endif
--
1.7.10.4
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 5/6] ARM: OMAP2+: Add pdata quirk for sys_clkout2 for omap3 DBB056
2014-01-21 19:47 [PATCH 0/6] ARM: add omap3 INCOstartec board support Christoph Fritz
` (3 preceding siblings ...)
2014-01-21 19:47 ` [PATCH 4/6] ARM: OMAP2+: add legacy display for omap3 DBB056 Christoph Fritz
@ 2014-01-21 19:47 ` Christoph Fritz
2014-01-21 21:18 ` Nishanth Menon
2014-01-21 19:47 ` [PATCH 6/6] [RFC] omapdss: remove FEAT_DPI_USES_VDDS_DSI from omap3 Christoph Fritz
5 siblings, 1 reply; 12+ messages in thread
From: Christoph Fritz @ 2014-01-21 19:47 UTC (permalink / raw)
To: Tony Lindgren, Tomi Valkeinen, Mark Rutland, Ian Campbell,
bcousson, Archit Taneja, Javier Martinez Canillas, Daniel Mack,
Hans J. Koch
Cc: devicetree, linux-omap
Full device tree support for clock control is not yet accomplished. Until
then, configure the 24Mhz of sys_clkout2 to feed an USB-Hub here.
Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
---
arch/arm/mach-omap2/pdata-quirks.c | 37 ++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
index bce8020..07d05f6 100644
--- a/arch/arm/mach-omap2/pdata-quirks.c
+++ b/arch/arm/mach-omap2/pdata-quirks.c
@@ -95,6 +95,43 @@ static void __init omap3_zoom_legacy_init(void)
static void __init omap3_dbb056_legacy_init(void)
{
+ struct clk *clkout2;
+ struct clk *cm96fck;
+
+ /* Reparent clkout2 to 96M_FCK */
+ pr_info("a83x-quirk: Late Reparent clkout2 to 96M_FCK\n");
+ clkout2 = clk_get(NULL, "clkout2_src_ck");
+ if(clkout2 < 0) {
+ pr_err("a83x-quirk: couldn't get clkout2_src_ck\n");
+ return;
+ }
+ cm96fck = clk_get(NULL, "cm_96m_fck");
+ if(cm96fck < 0) {
+ pr_err("a83x-quirk: couldn't get cm_96m_fck\n");
+ return;
+ }
+ if(clk_set_parent(clkout2, cm96fck) < 0) {
+ pr_err("a83x-quirk: couldn't reparent clkout2_src_ck\n");
+ return;
+ }
+
+ /* Set clkout2 to 24MHz for internal usb hub*/
+ pr_info("a83x-quirk: Set clkout2 to 24MHz for internal usb hub\n");
+ clkout2 = clk_get(NULL, "sys_clkout2");
+ if(clkout2 < 0) {
+ pr_err("a83x-quirk: couldn't get sys_clkout2\n");
+ return;
+ }
+ if(clk_set_rate(clkout2, 24000000) < 0) {
+ printk(KERN_ERR "board-omap3evm: couldn't set sys_clkout2 rate\n");
+ return;
+ }
+ if(clk_prepare_enable(clkout2) < 0) {
+ pr_err("a83x-quirk: couldn't enable sys_clkout2\n");
+ return;
+ }
+
+ /* Initialize display */
omap3_dbb056_display_init_of();
}
#endif /* CONFIG_ARCH_OMAP3 */
--
1.7.10.4
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 6/6] [RFC] omapdss: remove FEAT_DPI_USES_VDDS_DSI from omap3
2014-01-21 19:47 [PATCH 0/6] ARM: add omap3 INCOstartec board support Christoph Fritz
` (4 preceding siblings ...)
2014-01-21 19:47 ` [PATCH 5/6] ARM: OMAP2+: Add pdata quirk for sys_clkout2 " Christoph Fritz
@ 2014-01-21 19:47 ` Christoph Fritz
5 siblings, 0 replies; 12+ messages in thread
From: Christoph Fritz @ 2014-01-21 19:47 UTC (permalink / raw)
To: Tony Lindgren, Tomi Valkeinen, Mark Rutland, Ian Campbell,
bcousson, Archit Taneja, Javier Martinez Canillas, Daniel Mack,
Hans J. Koch
Cc: devicetree, linux-omap
DBB056 doesn't use DSI for its display, but omap3 forces this erroneously:
| OMAP DSS rev 2.0
| omapdss DPI error: can't get VDDS_DSI regulator
| omapfb omapfb: failed to connect default display
| omapfb omapfb: failed to init overlay connections
| omapfb omapfb: failed to setup omapfb
| platform omapfb: Driver omapfb requests probe deferral
So this patch just disables it for omap3. Consider this as a hack!
Is there a proper fix for this issue?
---
drivers/video/omap2/dss/dss_features.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/video/omap2/dss/dss_features.c b/drivers/video/omap2/dss/dss_features.c
index f8fd6db..0ae8a84 100644
--- a/drivers/video/omap2/dss/dss_features.c
+++ b/drivers/video/omap2/dss/dss_features.c
@@ -536,7 +536,6 @@ static const enum dss_feat_id omap3630_dss_feat_list[] = {
FEAT_ALPHA_FIXED_ZORDER,
FEAT_FIFO_MERGE,
FEAT_OMAP3_DSI_FIFO_BUG,
- FEAT_DPI_USES_VDDS_DSI,
};
static const enum dss_feat_id omap4430_es1_0_dss_feat_list[] = {
--
1.7.10.4
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 1/6] ARM: dts: Add CPU OPP table for omap37xx100
2014-01-21 19:47 ` [PATCH 1/6] ARM: dts: Add CPU OPP table for omap37xx100 Christoph Fritz
@ 2014-01-21 19:58 ` Nishanth Menon
0 siblings, 0 replies; 12+ messages in thread
From: Nishanth Menon @ 2014-01-21 19:58 UTC (permalink / raw)
To: Christoph Fritz, Tony Lindgren, Tomi Valkeinen, Mark Rutland,
Ian Campbell, bcousson, Archit Taneja, Javier Martinez Canillas,
Daniel Mack, Hans J. Koch
Cc: devicetree, linux-omap
On 01/21/2014 01:47 PM, Christoph Fritz wrote:
> This patch adds file omap37xx100.dtsi which includs a SoC specific table
> for CPU OPP.
>
> Please keep in mind that am/dm37xx100 variants differ from am/dm37xx
> SoCs without nomenclature marker prefix "100". This marker indicates
> the maximum cpu frequency. 100 stands for 1 GHz-Cortex-A8, blank means
> maximum 800 MHz.
>
> For more info, see Datasheet http://www.ti.com/lit/ds/sprs685d/sprs685d.pdf
> section 7.2.1 "Device and Development-Support Tool Nomenclature".
>
> Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
> ---
> arch/arm/boot/dts/omap37xx100.dtsi | 44 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 44 insertions(+)
> create mode 100644 arch/arm/boot/dts/omap37xx100.dtsi
>
> diff --git a/arch/arm/boot/dts/omap37xx100.dtsi b/arch/arm/boot/dts/omap37xx100.dtsi
> new file mode 100644
> index 0000000..064661e
> --- /dev/null
> +++ b/arch/arm/boot/dts/omap37xx100.dtsi
> @@ -0,0 +1,44 @@
> +/*
> + * Device Tree Source for OMAP37x SoC
> + *
> + * This file is licensed under the terms of the GNU General Public License
> + * version 2. This program is licensed "as is" without any warranty of any
> + * kind, whether express or implied.
> + */
> +
> +#include "omap3.dtsi"
> +
> +/ {
> + aliases {
> + serial3 = &uart4;
> + };
> +
> + cpus {
> + /* AM/DM37xx */
> + cpu@0 {
> + operating-points = <
> + /* kHz uV */
> + 125000 975000
> + 250000 1075000
> + 500000 1100000
> + 600000 1140000
> + 800000 1270000
> + 1000000 1380000
This is valid even for 3630/DM3730 as well -> unfortunately - you
cannot enable 1GHz without enabling ABB and AVS 1.5.
There is a bunch of internal discussion with respect to lack of this
information available.. but as it stands right now, I dont think this
is valid.
> + >;
> + clock-latency = <300000>; /* From legacy driver */
> + };
> + };
> +
> + ocp {
> + /* uart4 is only available on CBP and CBC packages */
> + uart4: serial@49042000 {
> + compatible = "ti,omap3-uart";
> + reg = <0x49042000 0x400>;
> + interrupts = <80>;
> + dmas = <&sdma 81 &sdma 82>;
> + dma-names = "tx", "rx";
> + ti,hwmods = "uart4";
> + clock-frequency = <48000000>;
> + };
> + };
> +};
>
Further, we should be able to reuse 3630.dtsi for this.
--
Regards,
Nishanth Menon
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 5/6] ARM: OMAP2+: Add pdata quirk for sys_clkout2 for omap3 DBB056
2014-01-21 19:47 ` [PATCH 5/6] ARM: OMAP2+: Add pdata quirk for sys_clkout2 " Christoph Fritz
@ 2014-01-21 21:18 ` Nishanth Menon
0 siblings, 0 replies; 12+ messages in thread
From: Nishanth Menon @ 2014-01-21 21:18 UTC (permalink / raw)
To: Christoph Fritz, Tony Lindgren, Tomi Valkeinen, Mark Rutland,
Ian Campbell, bcousson, Archit Taneja, Javier Martinez Canillas,
Daniel Mack, Hans J. Koch
Cc: devicetree, linux-omap
On 01/21/2014 01:47 PM, Christoph Fritz wrote:
> Full device tree support for clock control is not yet accomplished. Until
> then, configure the 24Mhz of sys_clkout2 to feed an USB-Hub here.
you may want to look at next-20140120 or later next tag for your
development.
>
> Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
> ---
> arch/arm/mach-omap2/pdata-quirks.c | 37 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 37 insertions(+)
>
> diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
> index bce8020..07d05f6 100644
> --- a/arch/arm/mach-omap2/pdata-quirks.c
> +++ b/arch/arm/mach-omap2/pdata-quirks.c
> @@ -95,6 +95,43 @@ static void __init omap3_zoom_legacy_init(void)
>
> static void __init omap3_dbb056_legacy_init(void)
> {
> + struct clk *clkout2;
> + struct clk *cm96fck;
> +
> + /* Reparent clkout2 to 96M_FCK */
> + pr_info("a83x-quirk: Late Reparent clkout2 to 96M_FCK\n");
> + clkout2 = clk_get(NULL, "clkout2_src_ck");
> + if(clkout2 < 0) {
> + pr_err("a83x-quirk: couldn't get clkout2_src_ck\n");
> + return;
> + }
> + cm96fck = clk_get(NULL, "cm_96m_fck");
> + if(cm96fck < 0) {
> + pr_err("a83x-quirk: couldn't get cm_96m_fck\n");
> + return;
> + }
> + if(clk_set_parent(clkout2, cm96fck) < 0) {
> + pr_err("a83x-quirk: couldn't reparent clkout2_src_ck\n");
> + return;
> + }
> +
> + /* Set clkout2 to 24MHz for internal usb hub*/
> + pr_info("a83x-quirk: Set clkout2 to 24MHz for internal usb hub\n");
> + clkout2 = clk_get(NULL, "sys_clkout2");
> + if(clkout2 < 0) {
> + pr_err("a83x-quirk: couldn't get sys_clkout2\n");
> + return;
> + }
> + if(clk_set_rate(clkout2, 24000000) < 0) {
> + printk(KERN_ERR "board-omap3evm: couldn't set sys_clkout2 rate\n");
> + return;
> + }
> + if(clk_prepare_enable(clkout2) < 0) {
> + pr_err("a83x-quirk: couldn't enable sys_clkout2\n");
> + return;
> + }
> +
> + /* Initialize display */
> omap3_dbb056_display_init_of();
> }
> #endif /* CONFIG_ARCH_OMAP3 */
>
--
Regards,
Nishanth Menon
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 4/6] ARM: OMAP2+: add legacy display for omap3 DBB056
2014-01-21 19:47 ` [PATCH 4/6] ARM: OMAP2+: add legacy display for omap3 DBB056 Christoph Fritz
@ 2014-01-22 0:10 ` Javier Martinez Canillas
2014-01-22 0:24 ` Sebastian Reichel
0 siblings, 1 reply; 12+ messages in thread
From: Javier Martinez Canillas @ 2014-01-22 0:10 UTC (permalink / raw)
To: Christoph Fritz
Cc: Tony Lindgren, Tomi Valkeinen, Mark Rutland, Ian Campbell,
Benoit Cousson, Archit Taneja, Javier Martinez Canillas,
Daniel Mack, Hans J. Koch, devicetree@vger.kernel.org,
linux-omap@vger.kernel.org
Hello Christoph,
On Tue, Jan 21, 2014 at 4:47 PM, Christoph Fritz
<chf.fritz@googlemail.com> wrote:
> Full device tree support for omapdss is not yet accomplished. Until
> then, init display by legacy platform code.
>
> Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
> ---
> arch/arm/mach-omap2/dss-common.c | 49 ++++++++++++++++++++++++++++++++++++
> arch/arm/mach-omap2/dss-common.h | 1 +
> arch/arm/mach-omap2/pdata-quirks.c | 8 +++++-
> 3 files changed, 57 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-omap2/dss-common.c b/arch/arm/mach-omap2/dss-common.c
> index dadccc9..b8b4e39 100644
> --- a/arch/arm/mach-omap2/dss-common.c
> +++ b/arch/arm/mach-omap2/dss-common.c
> @@ -257,3 +257,52 @@ void __init omap3_igep2_display_init_of(void)
> platform_device_register(&omap3_igep2_tfp410_device);
> platform_device_register(&omap3_igep2_dvi_connector_device);
> }
> +
> +/* OMAP3 dbb056 data */
> +
> +#define DBB056_DISPLAY_ENABLE_GPIO 156
> +
> +static const struct display_timing dbb056_lcd_videomode = {
> + .pixelclock = { 0, 19200000, 0 },
> +
> + .hactive = { 0, 640, 0 },
> + .hfront_porch = { 0, 104, 0 },
> + .hback_porch = { 0, 8, 0 },
> + .hsync_len = { 0, 8, 0 },
> +
> + .vactive = { 0, 480, 0 },
> + .vfront_porch = { 0, 104, 0 },
> + .vback_porch = { 0, 8, 0 },
> + .vsync_len = { 0, 8, 0 },
> +
> + .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
> + DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_NEGEDGE,
> +};
> +
> +static struct panel_dpi_platform_data dbb056_lcd_pdata = {
> + .name = "lcd",
> + .source = "dpi.0",
> +
> + .data_lines = 18,
> +
> + .display_timing = &dbb056_lcd_videomode,
> +
> + .enable_gpio = DBB056_DISPLAY_ENABLE_GPIO,
> + .backlight_gpio = -1,
> +};
> +
> +static struct platform_device dbb056_lcd_device = {
> + .name = "panel-dpi",
> + .id = 0,
> + .dev.platform_data = &dbb056_lcd_pdata,
> +};
> +
> +static struct omap_dss_board_info omap_dbb056_dss_data = {
> + .default_display_name = "lcd",
> +};
> +
> +void __init omap3_dbb056_display_init_of(void)
> +{
> + platform_device_register(&dbb056_lcd_device);
> + omap_display_init(&omap_dbb056_dss_data);
> +}
> diff --git a/arch/arm/mach-omap2/dss-common.h b/arch/arm/mach-omap2/dss-common.h
> index a9becf0..a125b55 100644
> --- a/arch/arm/mach-omap2/dss-common.h
> +++ b/arch/arm/mach-omap2/dss-common.h
> @@ -9,5 +9,6 @@
> void __init omap4_panda_display_init_of(void);
> void __init omap_4430sdp_display_init_of(void);
> void __init omap3_igep2_display_init_of(void);
> +void __init omap3_dbb056_display_init_of(void);
>
> #endif
> diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
> index 39f020c..bce8020 100644
> --- a/arch/arm/mach-omap2/pdata-quirks.c
> +++ b/arch/arm/mach-omap2/pdata-quirks.c
> @@ -92,6 +92,11 @@ static void __init omap3_zoom_legacy_init(void)
> {
> legacy_init_wl12xx(WL12XX_REFCLOCK_26, 0, 162);
> }
> +
> +static void __init omap3_dbb056_legacy_init(void)
> +{
> + omap3_dbb056_display_init_of();
> +}
> #endif /* CONFIG_ARCH_OMAP3 */
>
> #ifdef CONFIG_ARCH_OMAP4
> @@ -139,10 +144,11 @@ struct of_dev_auxdata omap_auxdata_lookup[] __initdata = {
>
> static struct pdata_init pdata_quirks[] __initdata = {
> #ifdef CONFIG_ARCH_OMAP3
> + { "incostartec,omap3-lilly-dbb056", omap3_dbb056_legacy_init, },
> + { "isee,omap3-igep0020", omap3_igep0020_legacy_init, },
> { "nokia,omap3-n900", hsmmc2_internal_input_clk, },
> { "nokia,omap3-n9", hsmmc2_internal_input_clk, },
> { "nokia,omap3-n950", hsmmc2_internal_input_clk, },
> - { "isee,omap3-igep0020", omap3_igep0020_legacy_init, },
> { "ti,omap3-evm-37xx", omap3_evm_legacy_init, },
> { "ti,omap3-zoom3", omap3_zoom_legacy_init, },
> #endif
> --
> 1.7.10.4
>
I don't think that makes sense to add more legacy display support
right now since Tomi has sent a v3 of his OMAPDSS DT support which
hopefully will be merged in v3.14.
Thanks a lot and best regards,
Javier
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 4/6] ARM: OMAP2+: add legacy display for omap3 DBB056
2014-01-22 0:10 ` Javier Martinez Canillas
@ 2014-01-22 0:24 ` Sebastian Reichel
[not found] ` <20140122002435.GA7943-SfvFxonMDyemK9LvCR3Hrw@public.gmane.org>
0 siblings, 1 reply; 12+ messages in thread
From: Sebastian Reichel @ 2014-01-22 0:24 UTC (permalink / raw)
To: Javier Martinez Canillas
Cc: Christoph Fritz, Tony Lindgren, Tomi Valkeinen, Mark Rutland,
Ian Campbell, Benoit Cousson, Archit Taneja,
Javier Martinez Canillas, Daniel Mack, Hans J. Koch,
devicetree@vger.kernel.org, linux-omap@vger.kernel.org
[-- Attachment #1: Type: text/plain, Size: 470 bytes --]
Hi,
On Tue, Jan 21, 2014 at 09:10:52PM -0300, Javier Martinez Canillas wrote:
> On Tue, Jan 21, 2014 at 4:47 PM, Christoph Fritz wrote:
> > [PATCH]
>
> I don't think that makes sense to add more legacy display support
> right now since Tomi has sent a v3 of his OMAPDSS DT support,
> which hopefully will be merged in v3.14.
Tomi wrote, that the series will miss 3.14 merge window:
http://www.spinics.net/lists/linux-omap/msg102149.html
-- Sebastian
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 4/6] ARM: OMAP2+: add legacy display for omap3 DBB056
[not found] ` <20140122002435.GA7943-SfvFxonMDyemK9LvCR3Hrw@public.gmane.org>
@ 2014-01-22 0:26 ` Javier Martinez Canillas
0 siblings, 0 replies; 12+ messages in thread
From: Javier Martinez Canillas @ 2014-01-22 0:26 UTC (permalink / raw)
To: Sebastian Reichel
Cc: Christoph Fritz, Tony Lindgren, Tomi Valkeinen, Mark Rutland,
Ian Campbell, Benoit Cousson, Archit Taneja,
Javier Martinez Canillas, Daniel Mack, Hans J. Koch,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Hi Sebastian,
On Tue, Jan 21, 2014 at 9:24 PM, Sebastian Reichel <sre-GFxCN5SEZAc@public.gmane.org> wrote:
> Hi,
>
> On Tue, Jan 21, 2014 at 09:10:52PM -0300, Javier Martinez Canillas wrote:
>> On Tue, Jan 21, 2014 at 4:47 PM, Christoph Fritz wrote:
>> > [PATCH]
>>
>> I don't think that makes sense to add more legacy display support
>> right now since Tomi has sent a v3 of his OMAPDSS DT support,
>> which hopefully will be merged in v3.14.
>
> Tomi wrote, that the series will miss 3.14 merge window:
>
> http://www.spinics.net/lists/linux-omap/msg102149.html
>
> -- Sebastian
I see, missed that email from Tomi. Thanks for the clarification and
sorry for the noise then.
Best regards,
Javier
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2014-01-22 0:26 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-21 19:47 [PATCH 0/6] ARM: add omap3 INCOstartec board support Christoph Fritz
2014-01-21 19:47 ` [PATCH 1/6] ARM: dts: Add CPU OPP table for omap37xx100 Christoph Fritz
2014-01-21 19:58 ` Nishanth Menon
2014-01-21 19:47 ` [PATCH 2/6] ARM: dts: omap3: Add support for INCOstartec a83x module Christoph Fritz
2014-01-21 19:47 ` [PATCH 3/6] ARM: dts: omap3: Add support for INCOstartec DBB056 baseboard Christoph Fritz
2014-01-21 19:47 ` [PATCH 4/6] ARM: OMAP2+: add legacy display for omap3 DBB056 Christoph Fritz
2014-01-22 0:10 ` Javier Martinez Canillas
2014-01-22 0:24 ` Sebastian Reichel
[not found] ` <20140122002435.GA7943-SfvFxonMDyemK9LvCR3Hrw@public.gmane.org>
2014-01-22 0:26 ` Javier Martinez Canillas
2014-01-21 19:47 ` [PATCH 5/6] ARM: OMAP2+: Add pdata quirk for sys_clkout2 " Christoph Fritz
2014-01-21 21:18 ` Nishanth Menon
2014-01-21 19:47 ` [PATCH 6/6] [RFC] omapdss: remove FEAT_DPI_USES_VDDS_DSI from omap3 Christoph Fritz
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.