* [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* 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
* [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* 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
* [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* 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
* [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