[PATCH 11/18] ARM: am57xx: sbc-am57x: dts: add basic board support
SBC-AM57x is a single board computer designed for industrial and embedded applications. It is based on the Texas Instruments Sitara AM57x system-on-chip family. SBC-AM57x is implemented with the CL-SOM-AM57x computer-on-module providing most of the functions, and SB-SOM-AM57x carrier board providing additional peripheral functions and connectors. https://www.compulab.co.il/products/sbcs/sbc-am57x-ti-am5728-am5718-single-board-computer/ https://www.compulab.co.il/products/computer-on-modules/cl-som-am57x-ti-am5728-am5718-system-on-module/ Add basic board support, including UART3, used as a serial console. Signed-off-by: Dmitry Lifshitz Acked-by: Igor Grinberg --- .../devicetree/bindings/arm/omap/omap.txt | 3 ++ arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/am57xx-sbc-am57x.dts | 36 ++ 3 files changed, 40 insertions(+) create mode 100644 arch/arm/boot/dts/am57xx-sbc-am57x.dts diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt index dd53c90..42cdad1 100644 --- a/Documentation/devicetree/bindings/arm/omap/omap.txt +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt @@ -159,6 +159,9 @@ Boards: - AM57XX CL-SOM-AM57x compatible = "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7" +- AM57XX SBC-AM57x + compatible = "compulab,sbc-am57x", "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7" + - DRA742 EVM: Software Development Board for DRA742 compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7" diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 803a020..4c73ab9 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -479,6 +479,7 @@ dtb-$(CONFIG_SOC_OMAP5) += \ dtb-$(CONFIG_SOC_DRA7XX) += \ am57xx-beagle-x15.dtb \ am57xx-cl-som-am57x.dtb \ + am57xx-sbc-am57x.dtb \ dra7-evm.dtb \ dra72-evm.dtb dtb-$(CONFIG_ARCH_ORION5X) += \ diff --git a/arch/arm/boot/dts/am57xx-sbc-am57x.dts b/arch/arm/boot/dts/am57xx-sbc-am57x.dts new file mode 100644 index 000..804ad72 --- /dev/null +++ b/arch/arm/boot/dts/am57xx-sbc-am57x.dts @@ -0,0 +1,36 @@ +/* + * Support for CompuLab SBC-AM57x single board computer + * + * Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/ + * Author: Dmitry Lifshitz + * + * 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 "am57xx-cl-som-am57x.dts" +#include "compulab-sb-som.dtsi" + +/ { + model = "CompuLab CL-SOM-AM57x on SB-SOM-AM57x"; + compatible = "compulab,sbc-am57x", "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"; +}; + +&dra7_pmx_core { + uart3_pins_default: uart3_pins_default { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x37f8, PIN_INPUT_SLEW | MUX_MODE2) /* uart2_ctsn.uart3_rxd */ + DRA7XX_CORE_IOPAD(0x37fc, PIN_INPUT_SLEW | MUX_MODE1) /* uart2_rtsn.uart3_txd */ + >; + }; +}; + +&uart3 { + status = "okay"; + interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, + <&dra7_pmx_core 0x3f8>; + + pinctrl-names = "default"; + pinctrl-0 = <&uart3_pins_default>; +}; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 06/18] ARM: am57xx: cl-som-am57x: dts: add spi-flash support
On-board spi-flash chip is used as a main boot device. Add spi-flash chip support (over QSPI bus). Signed-off-by: Dmitry Lifshitz Acked-by: Igor Grinberg --- arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 41 +++ 1 file changed, 41 insertions(+) diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts index ed50a75..cf2328d 100644 --- a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts +++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts @@ -93,6 +93,17 @@ DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */ >; }; + + qspi1_pins: pinmux_qspi1_pins { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x3474, PIN_INPUT | MUX_MODE1) /* gpmc_a13.qspi1_rtclk */ + DRA7XX_CORE_IOPAD(0x3480, PIN_INPUT | MUX_MODE1) /* gpmc_a16.qspi1_d0 */ + DRA7XX_CORE_IOPAD(0x3484, PIN_INPUT | MUX_MODE1) /* gpmc_a17.qspi1_d1 */ + DRA7XX_CORE_IOPAD(0x3488, PIN_INPUT | MUX_MODE1) /* qpmc_a18.qspi1_sclk */ + DRA7XX_CORE_IOPAD(0x34b8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs2.qspi1_cs0 */ + DRA7XX_CORE_IOPAD(0x34bc, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs3.qspi1_cs1 */ + >; + }; }; &i2c1 { @@ -331,3 +342,33 @@ cap-mmc-dual-data-rate; }; +&qspi { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&qspi1_pins>; + + spi_flash: spi_flash@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0>; /* CS0 */ + spi-max-frequency = <2000>; + spi-tx-bus-width = <1>; + spi-rx-bus-width = <1>; + + partition@0 { + label = "uboot"; + reg = <0x0 0xc>; + }; + + partition@c { + label = "uboot environment"; + reg = <0xc 0x4>; + }; + + partition@10 { + label = "reserved"; + reg = <0x10 0x0>; + }; + }; +}; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 09/18] ARM: am57xx: cl-som-am57x: dts: add touchscreen support
Add ADS7846 touchscreen support. Signed-off-by: Dmitry Lifshitz Acked-by: Igor Grinberg --- arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 44 +++ 1 file changed, 44 insertions(+) diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts index eba12a4..1830d4f 100644 --- a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts +++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts @@ -43,6 +43,13 @@ regulator-min-microvolt = <330>; regulator-max-microvolt = <330>; }; + + ads7846reg: fixedregulator-ads7846-reg { + compatible = "regulator-fixed"; + regulator-name = "ads7846-reg"; + regulator-min-microvolt = <330>; + regulator-max-microvolt = <330>; + }; }; &dra7_pmx_core { @@ -183,6 +190,12 @@ DRA7XX_CORE_IOPAD(0x3640, PIN_INPUT | MUX_MODE15) >; }; + + ads7846_pins: pinmux_ads7846_pins { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x3464, PIN_INPUT_PULLDOWN | MUX_MODE14) /* gpmc_a9.gpio1_31 */ + >; + }; }; &i2c1 { @@ -450,6 +463,37 @@ reg = <0x10 0x0>; }; }; + + /* touch controller */ + ads7846@0 { + pinctrl-names = "default"; + pinctrl-0 = <&ads7846_pins>; + + compatible = "ti,ads7846"; + vcc-supply = <&ads7846reg>; + + reg = <1>; /* CS1 */ + spi-max-frequency = <150>; + + interrupt-parent = <&gpio1>; + interrupts = <31 0>; + pendown-gpio = <&gpio1 31 0>; + + + ti,x-min = /bits/ 16 <0x0>; + ti,x-max = /bits/ 16 <0x0fff>; + ti,y-min = /bits/ 16 <0x0>; + ti,y-max = /bits/ 16 <0x0fff>; + + ti,x-plate-ohms = /bits/ 16 <180>; + ti,pressure-max = /bits/ 16 <255>; + + ti,debounce-max = /bits/ 16 <30>; + ti,debounce-tol = /bits/ 16 <10>; + ti,debounce-rep = /bits/ 16 <1>; + + linux,wakeup; + }; }; &mac { -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 04/18] ARM: am57xx: cl-som-am57x: dts: add EEPROM support
On-board EEPROM chip is used for storing a board production info. Add module EEPROM support (over I2C4 bus). Signed-off-by: Dmitry Lifshitz --- arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 6 ++ 1 file changed, 6 insertions(+) diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts index eb9b81b..b6919a7 100644 --- a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts +++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts @@ -289,6 +289,12 @@ compatible = "emmicro,em3027"; reg = <0x56>; }; + + eeprom_module: atmel@50 { + compatible = "atmel,24c02"; + reg = <0x50>; + pagesize = <16>; + }; }; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 00/18] Add support for CL-SOM-AM57X and SBC-AM57X
This patch series adds support for CompuLab CL-SOM-AM57X and SBC-AM57X boards. CL-SOM-AM57x is a miniature System-on-Module (SoM) based on TI Sitara AM57x ARM Cortex-A15 System-on-Chip family. SBC-AM57x is a single board computer, implemented with the CL-SOM-AM57x computer-on-module providing most of the functions, and SB-SOM-AM57x carrier board providing additional peripheral functions and connectors. The SBC-AM57x has the following features: CPU:Texas Instruments Sitara AM5728 dual-core ARM Cortex-A15, 1.5GHz or Texas Instruments Sitara AM5718 single-core ARM Cortex-A15, 1.5GHz RAM:DDR3, 512MB – 4GB Storage:NAND flash, 512MB - 1GB or eMMC flash, 4GB - 32GB SPI-flash 2MB Ethernet: Up to 2x 10/100/1000Mbps Ethernet ports (MAC+PHY) WiFi/BT:802.11b/g/n WiFi interface (TI WiLink 8 WL1801 chipset) or Dual-band 2x2 802.11a/b/g/n WiFi interface (TI WiLink 8 WL1837 chipset) Analog Audio: Audio codec with stereo output, stereo input and microphone support More details can be found here: https://www.compulab.co.il/products/computer-on-modules/cl-som-am57x-ti-am5728-am5718-system-on-module/ https://www.compulab.co.il/products/sbcs/sbc-am57x-ti-am5728-am5718-single-board-computer/ This series is based on the following patch set ("Add support for sbc-t43" Nikita Kiryanov): https://www.mail-archive.com/linux-omap@vger.kernel.org/msg121614.html Dmitry Lifshitz (18): ARM: am57xx: cl-som-am57x: dts: add basic module support ARM: am57xx: cl-som-am57x: dts: add RTC support ARM: am57xx: cl-som-am57x: dts: add I2C3 support ARM: am57xx: cl-som-am57x: dts: add EEPROM support ARM: am57xx: cl-som-am57x: dts: add eMMC support ARM: am57xx: cl-som-am57x: dts: add spi-flash support ARM: am57xx: cl-som-am57x: dts: add dual EMAC support ARM: am57xx: cl-som-am57x: dts: add USB support ARM: am57xx: cl-som-am57x: dts: add touchscreen support ARM: am57xx: cl-som-am57x: dts: add analog audio support ARM: am57xx: sbc-am57x: dts: add basic board support ARM: am57xx: cl-som-am57x: dts: add MMC1 support ARM: am57xx: sbc-am57x: dts: add usb vbus pinmux ARM: am57xx: sbc-am57x: dts: add EEPROM support ARM: am57xx: sbc-am57x: dts: add GPIO extender support ARM: am57xx: sbc-am57x: dts: add LCD support ARM: am57xx: compulab-sb-som: dts: add HDMI connector ARM: am57xx: sbc-am57x: dts: add HDMI support .../devicetree/bindings/arm/omap/omap.txt | 6 + arch/arm/boot/dts/Makefile | 4 +- arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 606 + arch/arm/boot/dts/am57xx-sbc-am57x.dts | 179 ++ arch/arm/boot/dts/compulab-sb-som.dtsi | 7 + 5 files changed, 801 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/am57xx-cl-som-am57x.dts create mode 100644 arch/arm/boot/dts/am57xx-sbc-am57x.dts -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 14/18] ARM: am57xx: sbc-am57x: dts: add EEPROM support
On-board EEPROM chip is used for storing a board production info. Add carrier board EEPROM support (over I2C5 bus). Signed-off-by: Dmitry Lifshitz --- arch/arm/boot/dts/am57xx-sbc-am57x.dts | 20 1 file changed, 20 insertions(+) diff --git a/arch/arm/boot/dts/am57xx-sbc-am57x.dts b/arch/arm/boot/dts/am57xx-sbc-am57x.dts index b92650b..7b65efb 100644 --- a/arch/arm/boot/dts/am57xx-sbc-am57x.dts +++ b/arch/arm/boot/dts/am57xx-sbc-am57x.dts @@ -44,6 +44,13 @@ DRA7XX_CORE_IOPAD(0x3680, PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */ >; }; + + i2c5_pins_default: i2c5_pins_default { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x36b4, PIN_INPUT| MUX_MODE10) /* mcasp1_axr0.i2c5_sda */ + DRA7XX_CORE_IOPAD(0x36b8, PIN_INPUT| MUX_MODE10) /* mcasp1_axr1.i2c5_scl */ + >; + }; }; &uart3 { @@ -71,3 +78,16 @@ pinctrl-names = "default"; pinctrl-0 = <&usb1_pins>; }; + +&i2c5 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&i2c5_pins_default>; + clock-frequency = <40>; + + eeprom_base: atmel@50 { + compatible = "atmel,24c08"; + reg = <0x50>; + pagesize = <16>; + }; +}; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 12/18] ARM: am57xx: cl-som-am57x: dts: add MMC1 support
Add MMC1 support, used for SD/MMC card. Signed-off-by: Dmitry Lifshitz Acked-by: Igor Grinberg --- arch/arm/boot/dts/am57xx-sbc-am57x.dts | 26 ++ 1 file changed, 26 insertions(+) diff --git a/arch/arm/boot/dts/am57xx-sbc-am57x.dts b/arch/arm/boot/dts/am57xx-sbc-am57x.dts index 804ad72..67e7f4a 100644 --- a/arch/arm/boot/dts/am57xx-sbc-am57x.dts +++ b/arch/arm/boot/dts/am57xx-sbc-am57x.dts @@ -24,6 +24,20 @@ DRA7XX_CORE_IOPAD(0x37fc, PIN_INPUT_SLEW | MUX_MODE1) /* uart2_rtsn.uart3_txd */ >; }; + + mmc1_pins_default: mmc1_pins_default { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x376c, PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */ + DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */ + DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */ + DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */ + DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */ + DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */ + DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */ + DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT | MUX_MODE14) /* mmc1_sdcd.gpio6_27 */ + DRA7XX_CORE_IOPAD(0x3770, PIN_INPUT | MUX_MODE14) /* mmc1_sdwp.gpio6_28 */ + >; + }; }; &uart3 { @@ -34,3 +48,15 @@ pinctrl-names = "default"; pinctrl-0 = <&uart3_pins_default>; }; + +&mmc1 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&mmc1_pins_default>; + + vmmc-supply = <&ldo1_reg>; + bus-width = <4>; + cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; + wp-gpios = <&gpio6 28 GPIO_ACTIVE_HIGH>; +}; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 10/18] ARM: am57xx: cl-som-am57x: dts: add analog audio support
Add analog audio DT nodes: 1. simple-audio-card node 2. wm8731 codec node 3. MCASP3 pinmux Signed-off-by: Dmitry Lifshitz Acked-by: Igor Grinberg --- arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 67 +++ 1 file changed, 67 insertions(+) diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts index 1830d4f..f7bec0d 100644 --- a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts +++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts @@ -50,6 +50,33 @@ regulator-min-microvolt = <330>; regulator-max-microvolt = <330>; }; + + sound0: sound@0 { + compatible = "simple-audio-card"; + simple-audio-card,name = "CL-SOM-AM57x-Sound-Card"; + simple-audio-card,format = "i2s"; + simple-audio-card,bitclock-master = <&dailink0_master>; + simple-audio-card,frame-master = <&dailink0_master>; + simple-audio-card,widgets = + "Headphone", "Headphone Jack", + "Microphone", "Microphone Jack", + "Line", "Line Jack"; + simple-audio-card,routing = + "Headphone Jack", "RHPOUT", + "Headphone Jack", "LHPOUT", + "LLINEIN", "Line Jack", + "MICIN", "Mic Bias", + "Mic Bias", "Microphone Jack"; + + dailink0_master: simple-audio-card,cpu { + sound-dai = <&mcasp3>; + }; + + simple-audio-card,codec { + sound-dai = <&wm8731>; + system-clock-frequency = <1200>; + }; + }; }; &dra7_pmx_core { @@ -196,6 +223,24 @@ DRA7XX_CORE_IOPAD(0x3464, PIN_INPUT_PULLDOWN | MUX_MODE14) /* gpmc_a9.gpio1_31 */ >; }; + + mcasp3_pins_default: mcasp3_pins_default { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x3724, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_aclkx.mcasp3_aclkx */ + DRA7XX_CORE_IOPAD(0x3728, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_fsx.mcasp3_fsx */ + DRA7XX_CORE_IOPAD(0x372c, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr0.mcasp3_axr0 */ + DRA7XX_CORE_IOPAD(0x3730, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr1.mcasp3_axr1 */ + >; + }; + + mcasp3_pins_sleep: mcasp3_pins_sleep { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x3724, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x3728, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x372c, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x3730, PIN_INPUT | MUX_MODE15) + >; + }; }; &i2c1 { @@ -420,6 +465,13 @@ reg = <0x50>; pagesize = <16>; }; + + wm8731: wm8731@1a { + #sound-dai-cells = <0>; + compatible = "wlf,wm8731"; + reg = <0x1a>; + status = "okay"; + }; }; &mmc2 { @@ -537,3 +589,18 @@ &usb2 { dr_mode = "peripheral"; }; + +&mcasp3 { + #sound-dai-cells = <0>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&mcasp3_pins_default>; + pinctrl-1 = <&mcasp3_pins_sleep>; + status = "okay"; + + op-mode = <0>; /* MCASP_IIS_MODE */ + tdm-slots = <2>; + /* 4 serializers */ + serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */ + 1 2 0 0 + >; +}; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 05/18] ARM: am57xx: cl-som-am57x: dts: add eMMC support
CM-SOM-AM57X has two options of main storage devices - eMMC or NAND. Add eMMC chip support (over MMC2 bus). Signed-off-by: Dmitry Lifshitz Acked-by: Igor Grinberg --- arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 33 +++ 1 file changed, 33 insertions(+) diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts index b6919a7..ed50a75 100644 --- a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts +++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts @@ -36,6 +36,13 @@ default-state = "off"; }; }; + + vdd_3v3: fixedregulator-vdd_3v3 { + compatible = "regulator-fixed"; + regulator-name = "vdd_3v3"; + regulator-min-microvolt = <330>; + regulator-max-microvolt = <330>; + }; }; &dra7_pmx_core { @@ -71,6 +78,21 @@ DRA7XX_CORE_IOPAD(0x3818, PIN_INPUT_PULLUP | MUX_MODE14) /* wakeup0.gpio1_0 */ >; }; + + mmc2_pins_default: mmc2_pins_default { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */ + DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */ + DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */ + DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */ + DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */ + DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */ + DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */ + DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */ + DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */ + DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */ + >; + }; }; &i2c1 { @@ -297,4 +319,15 @@ }; }; +&mmc2 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&mmc2_pins_default>; + + vmmc-supply = <&vdd_3v3>; + bus-width = <8>; + ti,non-removable; + cap-mmc-dual-data-rate; +}; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 08/18] ARM: am57xx: cl-som-am57x: dts: add USB support
Add USB support. Signed-off-by: Dmitry Lifshitz Acked-by: Igor Grinberg --- arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 16 1 file changed, 16 insertions(+) diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts index a838ea4..eba12a4 100644 --- a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts +++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts @@ -477,3 +477,19 @@ pinctrl-0 = <&davinci_mdio_pins_default>; pinctrl-1 = <&davinci_mdio_pins_sleep>; }; + +&usb2_phy1 { + phy-supply = <&ldousb_reg>; +}; + +&usb2_phy2 { + phy-supply = <&ldousb_reg>; +}; + +&usb1 { + dr_mode = "host"; +}; + +&usb2 { + dr_mode = "peripheral"; +}; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 13/18] ARM: am57xx: sbc-am57x: dts: add usb vbus pinmux
usb1_drvvbus pin is used to Drive-VBUS enable to external charge pump/power switch. Add a pinmux for that pin. Signed-off-by: Dmitry Lifshitz Acked-by: Igor Grinberg --- arch/arm/boot/dts/am57xx-sbc-am57x.dts | 11 +++ 1 file changed, 11 insertions(+) diff --git a/arch/arm/boot/dts/am57xx-sbc-am57x.dts b/arch/arm/boot/dts/am57xx-sbc-am57x.dts index 67e7f4a..b92650b 100644 --- a/arch/arm/boot/dts/am57xx-sbc-am57x.dts +++ b/arch/arm/boot/dts/am57xx-sbc-am57x.dts @@ -38,6 +38,12 @@ DRA7XX_CORE_IOPAD(0x3770, PIN_INPUT | MUX_MODE14) /* mmc1_sdwp.gpio6_28 */ >; }; + + usb1_pins: pinmux_usb1_pins { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x3680, PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */ + >; + }; }; &uart3 { @@ -60,3 +66,8 @@ cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; wp-gpios = <&gpio6 28 GPIO_ACTIVE_HIGH>; }; + +&usb1 { + pinctrl-names = "default"; + pinctrl-0 = <&usb1_pins>; +}; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 02/18] ARM: am57xx: cl-som-am57x: dts: add RTC support
Add EM3027 RTC chip support (over I2C4 bus). Signed-off-by: Dmitry Lifshitz Acked-by: Igor Grinberg --- arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 21 + 1 file changed, 21 insertions(+) diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts index b11d7da..773e5389 100644 --- a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts +++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts @@ -52,6 +52,13 @@ >; }; + i2c4_pins_default: i2c4_pins_default { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x36ac, PIN_INPUT| MUX_MODE10) /* mcasp1_acl.i2c4_sda */ + DRA7XX_CORE_IOPAD(0x36b0, PIN_INPUT| MUX_MODE10) /* mcasp1_fsr.i2c4_scl */ + >; + }; + tps659038_pins_default: tps659038_pins_default { pinctrl-single,pins = < DRA7XX_CORE_IOPAD(0x3818, PIN_INPUT_PULLUP | MUX_MODE14) /* wakeup0.gpio1_0 */ @@ -257,3 +264,17 @@ status = "okay"; }; }; + +&i2c4 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&i2c4_pins_default>; + clock-frequency = <10>; + + rtc0: rtc@56 { + compatible = "emmicro,em3027"; + reg = <0x56>; + }; +}; + + -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 16/18] ARM: am57xx: sbc-am57x: dts: add LCD support
Startek-kd050c 800x480 LCD panel timings are described in compulab-sb-som.dtsi. Add appropriate DT endpoints to connect DPI output and LCD. Signed-off-by: Dmitry Lifshitz Acked-by: Igor Grinberg --- arch/arm/boot/dts/am57xx-sbc-am57x.dts | 38 ++ 1 file changed, 38 insertions(+) diff --git a/arch/arm/boot/dts/am57xx-sbc-am57x.dts b/arch/arm/boot/dts/am57xx-sbc-am57x.dts index 8b7c0b5..13555aa 100644 --- a/arch/arm/boot/dts/am57xx-sbc-am57x.dts +++ b/arch/arm/boot/dts/am57xx-sbc-am57x.dts @@ -15,6 +15,10 @@ / { model = "CompuLab CL-SOM-AM57x on SB-SOM-AM57x"; compatible = "compulab,sbc-am57x", "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"; + + aliases { + display0 = &lcd0; + }; }; &dra7_pmx_core { @@ -51,6 +55,12 @@ DRA7XX_CORE_IOPAD(0x36b8, PIN_INPUT| MUX_MODE10) /* mcasp1_axr1.i2c5_scl */ >; }; + + lcd_pins_default: lcd_pins_default { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x3564, PIN_OUTPUT | MUX_MODE14) /* vin2a_vsync0.gpio4_0 */ + >; + }; }; &uart3 { @@ -98,3 +108,31 @@ #gpio-cells = <2>; }; }; + +&dss { + status = "ok"; + + vdda_video-supply = <&ldoln_reg>; + + port { + dpi_lcd_out: endpoint@0 { + remote-endpoint = <&lcd_in>; + data-lines = <24>; + }; + }; +}; + +&lcd0 { + pinctrl-names = "default"; + pinctrl-0 = <&lcd_pins_default>; + + enable-gpios = <&pca9555 14 GPIO_ACTIVE_HIGH + &gpio4 0 GPIO_ACTIVE_HIGH>; + + port { + lcd_in: endpoint { + remote-endpoint = <&dpi_lcd_out>; + data-lines = <24>; + }; + }; +}; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 07/18] ARM: am57xx: cl-som-am57x: dts: add dual EMAC support
Add dual EMAC support. Signed-off-by: Dmitry Lifshitz Acked-by: Igor Grinberg --- arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 105 ++ 1 file changed, 105 insertions(+) diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts index cf2328d..a838ea4 100644 --- a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts +++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts @@ -104,6 +104,85 @@ DRA7XX_CORE_IOPAD(0x34bc, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs3.qspi1_cs1 */ >; }; + + cpsw_pins_default: cpsw_pins_default { + pinctrl-single,pins = < + /* Slave 1 */ + DRA7XX_CORE_IOPAD(0x3650, PIN_OUTPUT | MUX_MODE0) /* rgmii1_tclk */ + DRA7XX_CORE_IOPAD(0x3654, PIN_OUTPUT | MUX_MODE0) /* rgmii1_tctl */ + DRA7XX_CORE_IOPAD(0x3658, PIN_OUTPUT | MUX_MODE0) /* rgmii1_td3 */ + DRA7XX_CORE_IOPAD(0x365c, PIN_OUTPUT | MUX_MODE0) /* rgmii1_td2 */ + DRA7XX_CORE_IOPAD(0x3660, PIN_OUTPUT | MUX_MODE0) /* rgmii1_td1 */ + DRA7XX_CORE_IOPAD(0x3664, PIN_OUTPUT | MUX_MODE0) /* rgmii1_td0 */ + DRA7XX_CORE_IOPAD(0x3668, PIN_INPUT | MUX_MODE0) /* rgmii1_rclk */ + DRA7XX_CORE_IOPAD(0x366c, PIN_INPUT | MUX_MODE0) /* rgmii1_rctl */ + DRA7XX_CORE_IOPAD(0x3670, PIN_INPUT | MUX_MODE0) /* rgmii1_rd3 */ + DRA7XX_CORE_IOPAD(0x3674, PIN_INPUT | MUX_MODE0) /* rgmii1_rd2 */ + DRA7XX_CORE_IOPAD(0x3678, PIN_INPUT | MUX_MODE0) /* rgmii1_rd1 */ + DRA7XX_CORE_IOPAD(0x367c, PIN_INPUT | MUX_MODE0) /* rgmii1_rd0 */ + + /* Slave 2 */ + DRA7XX_CORE_IOPAD(0x3598, PIN_OUTPUT | MUX_MODE3) /* rgmii2_tclk */ + DRA7XX_CORE_IOPAD(0x359c, PIN_OUTPUT | MUX_MODE3) /* rgmii2_tctl */ + DRA7XX_CORE_IOPAD(0x35a0, PIN_OUTPUT | MUX_MODE3) /* rgmii2_td3 */ + DRA7XX_CORE_IOPAD(0x35a4, PIN_OUTPUT | MUX_MODE3) /* rgmii2_td2 */ + DRA7XX_CORE_IOPAD(0x35a8, PIN_OUTPUT | MUX_MODE3) /* rgmii2_td1 */ + DRA7XX_CORE_IOPAD(0x35ac, PIN_OUTPUT | MUX_MODE3) /* rgmii2_td0 */ + DRA7XX_CORE_IOPAD(0x35b0, PIN_INPUT | MUX_MODE3) /* rgmii2_rclk */ + DRA7XX_CORE_IOPAD(0x35b4, PIN_INPUT | MUX_MODE3) /* rgmii2_rctl */ + DRA7XX_CORE_IOPAD(0x35b8, PIN_INPUT | MUX_MODE3) /* rgmii2_rd3 */ + DRA7XX_CORE_IOPAD(0x35bc, PIN_INPUT | MUX_MODE3) /* rgmii2_rd2 */ + DRA7XX_CORE_IOPAD(0x35c0, PIN_INPUT | MUX_MODE3) /* rgmii2_rd1 */ + DRA7XX_CORE_IOPAD(0x35c4, PIN_INPUT | MUX_MODE3) /* rgmii2_rd0 */ + >; + }; + + cpsw_pins_sleep: cpsw_pins_sleep { + pinctrl-single,pins = < + /* Slave 1 */ + DRA7XX_CORE_IOPAD(0x3650, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x3654, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x3658, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x365c, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x3660, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x3664, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x3668, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x366c, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x3670, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x3674, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x3678, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x367c, PIN_INPUT | MUX_MODE15) + + /* Slave 2 */ + DRA7XX_CORE_IOPAD(0x3598, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x359c, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x35a0, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x35a4, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x35a8, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x35ac, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x35b0, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x35b4, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x35b8, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x35bc, PIN_INPUT | MUX_MODE15) + DRA7XX_CORE_IOPAD(0x35c0, PIN_INPUT | MUX_M
[PATCH 01/18] ARM: am57xx: cl-som-am57x: dts: add basic module support
Add support for CompuLab CM-SOM-AM57X board. CL-SOM-AM57x is a miniature System-on-Module (SoM) based on TI Sitara AM57x ARM Cortex-A15 System-on-Chip family. https://www.compulab.co.il/products/computer-on-modules/cl-som-am57x-ti-am5728-am5718-system-on-module/ Add basic DT support for standalone module (without a carrier board): * Memory configuration * Heartbeat led * I2C1 bus * PMIC * SATA Signed-off-by: Dmitry Lifshitz Acked-by: Igor Grinberg --- .../devicetree/bindings/arm/omap/omap.txt | 3 + arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 259 + 3 files changed, 264 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/am57xx-cl-som-am57x.dts diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt index da84372..dd53c90 100644 --- a/Documentation/devicetree/bindings/arm/omap/omap.txt +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt @@ -156,6 +156,9 @@ Boards: - AM437x SK EVM: AM437x StarterKit Evaluation Module compatible = "ti,am437x-sk-evm", "ti,am4372", "ti,am43" +- AM57XX CL-SOM-AM57x + compatible = "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7" + - DRA742 EVM: Software Development Board for DRA742 compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7" diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 5492a24..803a020 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -477,8 +477,9 @@ dtb-$(CONFIG_SOC_OMAP5) += \ omap5-sbc-t54.dtb \ omap5-uevm.dtb dtb-$(CONFIG_SOC_DRA7XX) += \ - dra7-evm.dtb \ am57xx-beagle-x15.dtb \ + am57xx-cl-som-am57x.dtb \ + dra7-evm.dtb \ dra72-evm.dtb dtb-$(CONFIG_ARCH_ORION5X) += \ orion5x-lacie-d2-network.dtb \ diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts new file mode 100644 index 000..b11d7da --- /dev/null +++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts @@ -0,0 +1,259 @@ +/* + * Support for CompuLab CL-SOM-AM57x System-on-Module + * + * Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/ + * Author: Dmitry Lifshitz + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published by + * the Free Software Foundation. + */ + +/dts-v1/; + +#include +#include +#include "dra74x.dtsi" + +/ { + model = "CompuLab CL-SOM-AM57x"; + compatible = "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"; + + memory { + device_type = "memory"; + reg = <0x8000 0x2000>; /* 512 MB - minimal configuration */ + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&leds_pins_default>; + + led@0 { + label = "cl-som-am57x:green"; + gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "heartbeat"; + default-state = "off"; + }; + }; +}; + +&dra7_pmx_core { + leds_pins_default: leds_pins_default { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x347c, PIN_OUTPUT | MUX_MODE14) /* gpmc_a15.gpio2_5 */ + >; + }; + + i2c1_pins_default: i2c1_pins_default { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x3800, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda.sda */ + DRA7XX_CORE_IOPAD(0x3804, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl.scl */ + >; + }; + + tps659038_pins_default: tps659038_pins_default { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x3818, PIN_INPUT_PULLUP | MUX_MODE14) /* wakeup0.gpio1_0 */ + >; + }; +}; + +&i2c1 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&i2c1_pins_default>; + clock-frequency = <40>; + + tps659038: tps659038@58 { + compatible = "ti,tps659038"; + reg = <0x58>; + interrupt-parent = <&gpio1>; + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; + + pinctrl-names = "default"; + pinctrl-0 = <&tps659038_pins_default>; + + #interrupt-cells = <2>; + interrupt-controller; + + ti,system-power-controller; + + tps659038_pmic { + compatible = "ti,tps659038-pmic"; + + regulators { + smps12_reg: smps12 { + /* VDD_MPU */ + regulator-name = "smps12"; +
[PATCH 15/18] ARM: am57xx: sbc-am57x: dts: add GPIO extender support
Add PCA9555 GPIO extender support (over I2C5 bus). Signed-off-by: Dmitry Lifshitz Acked-by: Igor Grinberg --- arch/arm/boot/dts/am57xx-sbc-am57x.dts | 7 +++ 1 file changed, 7 insertions(+) diff --git a/arch/arm/boot/dts/am57xx-sbc-am57x.dts b/arch/arm/boot/dts/am57xx-sbc-am57x.dts index 7b65efb..8b7c0b5 100644 --- a/arch/arm/boot/dts/am57xx-sbc-am57x.dts +++ b/arch/arm/boot/dts/am57xx-sbc-am57x.dts @@ -90,4 +90,11 @@ reg = <0x50>; pagesize = <16>; }; + + pca9555: pca9555@20 { + compatible = "nxp,pca9555"; + reg = <0x20>; + gpio-controller; + #gpio-cells = <2>; + }; }; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 18/18] ARM: am57xx: sbc-am57x: dts: add HDMI support
Add HDMI video output support. Signed-off-by: Dmitry Lifshitz Acked-by: Igor Grinberg --- arch/arm/boot/dts/am57xx-sbc-am57x.dts | 41 ++ 1 file changed, 41 insertions(+) diff --git a/arch/arm/boot/dts/am57xx-sbc-am57x.dts b/arch/arm/boot/dts/am57xx-sbc-am57x.dts index 13555aa..4b29223 100644 --- a/arch/arm/boot/dts/am57xx-sbc-am57x.dts +++ b/arch/arm/boot/dts/am57xx-sbc-am57x.dts @@ -18,6 +18,7 @@ aliases { display0 = &lcd0; + display1 = &hdmi; }; }; @@ -61,6 +62,19 @@ DRA7XX_CORE_IOPAD(0x3564, PIN_OUTPUT | MUX_MODE14) /* vin2a_vsync0.gpio4_0 */ >; }; + + hdmi_pins: pinmux_hdmi_pins { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x3808, PIN_INPUT | MUX_MODE1) /* i2c2_sda.hdmi1_ddc_scl */ + DRA7XX_CORE_IOPAD(0x380c, PIN_INPUT | MUX_MODE1) /* i2c2_scl.hdmi1_ddc_sda */ + >; + }; + + hdmi_conn_pins: pinmux_hdmi_conn_pins { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x37b8, PIN_INPUT | MUX_MODE14) /* spi1_cs2.gpio7_12 */ + >; + }; }; &uart3 { @@ -136,3 +150,30 @@ }; }; }; + +&hdmi { + status = "ok"; + vdda-supply = <&ldo4_reg>; + + pinctrl-names = "default"; + pinctrl-0 = <&hdmi_pins>; + + port { + hdmi_out: endpoint { + remote-endpoint = <&hdmi_connector_in>; + }; + }; +}; + +&hdmi_conn { + pinctrl-names = "default"; + pinctrl-0 = <&hdmi_conn_pins>; + + hpd-gpios = <&gpio7 12 GPIO_ACTIVE_HIGH>; + + port { + hdmi_connector_in: endpoint { + remote-endpoint = <&hdmi_out>; + }; + }; +}; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 17/18] ARM: am57xx: compulab-sb-som: dts: add HDMI connector
Add HDMI connector node without a valid input endpoint. CompuLab SB-SOM is a carrier board, hence the endpoint should be added in the board DT with a valid HDMI output. Signed-off-by: Dmitry Lifshitz Acked-by: Igor Grinberg --- arch/arm/boot/dts/compulab-sb-som.dtsi | 7 +++ 1 file changed, 7 insertions(+) diff --git a/arch/arm/boot/dts/compulab-sb-som.dtsi b/arch/arm/boot/dts/compulab-sb-som.dtsi index 402a143..93d7e23 100644 --- a/arch/arm/boot/dts/compulab-sb-som.dtsi +++ b/arch/arm/boot/dts/compulab-sb-som.dtsi @@ -39,4 +39,11 @@ pixelclk-active = <1>; }; }; + + hdmi_conn: connector@0 { + compatible = "hdmi-connector"; + label = "hdmi"; + + type = "a"; + }; }; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 03/18] ARM: am57xx: cl-som-am57x: dts: add I2C3 support
Enable I2C3 bus and add appropriate pinmux. Signed-off-by: Dmitry Lifshitz Acked-by: Igor Grinberg --- arch/arm/boot/dts/am57xx-cl-som-am57x.dts | 14 ++ 1 file changed, 14 insertions(+) diff --git a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts index 773e5389..eb9b81b 100644 --- a/arch/arm/boot/dts/am57xx-cl-som-am57x.dts +++ b/arch/arm/boot/dts/am57xx-cl-som-am57x.dts @@ -52,6 +52,13 @@ >; }; + i2c3_pins_default: i2c3_pins_default { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x36a4, PIN_INPUT| MUX_MODE10) /* mcasp1_aclkx.i2c3_sda */ + DRA7XX_CORE_IOPAD(0x36a8, PIN_INPUT| MUX_MODE10) /* mcasp1_fsx.i2c3_scl */ + >; + }; + i2c4_pins_default: i2c4_pins_default { pinctrl-single,pins = < DRA7XX_CORE_IOPAD(0x36ac, PIN_INPUT| MUX_MODE10) /* mcasp1_acl.i2c4_sda */ @@ -265,6 +272,13 @@ }; }; +&i2c3 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&i2c3_pins_default>; + clock-frequency = <40>; +}; + &i2c4 { status = "okay"; pinctrl-names = "default"; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v2 3/3] ARM: BCM5301X: remove workaround imprecise abort fault handler
On 15/10/15 03:32, Lucas Stach wrote: > This is not needed anymore. Handling a potentially pending imprecise external > abort left behind by the bootloader is now done in a slightly safer way inside > the common ARM startup code. > > Signed-off-by: Lucas Stach > Acked-by: Hauke Mehrtens Applied to soc/next, thanks! -- Florian -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [Gta04-owner] [PATCH 10/13] twl4030_charger: add software controlled linear charging mode.
On Sat, 14 Nov 2015 19:12:16 +0100 Pavel Machek wrote: > Hi! > > > > > Pavel Machek writes: > > > > > On Thu 2015-07-30 10:11:24, NeilBrown wrote: > > > > >> > > > > >> Add a 'continuous' option for usb charging which enables > > > > >> the "linear" charging mode of the twl4030. > > > > >> > > > > >> Linear charging does a good job with not-so-reliable power sources. > > > > >> Auto mode does not work well as it switches off when voltage drops > > > > >> momentarily. Care must be taken not to over-charge. > > > > > > > > > > Can you explain how the user can "care not to over-charge"? > > > > > > > > The following text reads: > > > > > > > > It was used with a bike hub dynamo since a year or so. In that case > > > > there are automatically charging stops when the cyclist needs a > > > > break. > > > > > > > > so: take a break from cycling occasionally. > > > > > > If the charger does not exceed 4.2V, I'd not call it overcharge. (Yes, > > > some clever > > > chargers actually let the battery drop below 4.2V when charge is done, > > > but...) > > > > > Yes, that is the case. Perhaps it is not to be called overcharge but > > it is said that lithium battery charging has to stop if in CV mode the > > current drops too low. In automatic mode the charger does exactly > > that. > > I would not let a battery for days at 4.2V CV.mode although a lot > > of cheap chargers > > Well, I agree that keeping battery at 4.2V constant voltage mode is > bad, but I'd not call it overcharge. If someone can fix the comment, > that would be nice. > here is my original comment ("on" was replaced by continuous "now"): twl4030_charger: add software controlled linear charging mode. adds a sysfs control node to achieve that. It can be set to auto: normal automatic charging is enabled (default) off: charging is off on: charing is on (software controlled) CC/CV mode is still automatically done, but end of charge due to low current not. Note: If linear charging mode is used there should be some method of stopping charging automatically. It is not a so time-critical, but it is the wrong setting for leaving a charger connected for several days since Lithium batteries should not be kept at 100% for longer periods. Linear charging does a good job with not so reliable power sources, since several voltage controlling is then often too intelligent. It was used with a bike hub dynamo since a year or so. In that case there are automatically charging stops when the cyclist needs a break. Signed-off-by: Andreas Kemnade > > > If the charger _does_ exceed 4.2V, then the battery will explode. Don't > > > do that. Don't > > > offer that to the user. > > > > > > On a related note... I've just killed USB charger by overloading it. They > > > are not protected. > > > > > > I believe your automatically-pull-max-power really should stick to the > > > well-known charging > > > currents (.5A, 1A, 1.7A), at the very minimum. > > > > > The main reason for the patch was to prevent switching off charging > > when Vbus drops low. The reason was not to get out extremely much > > current out of the charger. > > The electrical characteristics of a bicycle as a power source are. > > - the amount of current available changes > >- 500mA at around 17km/h > > - you cannot destroy it by electrically overloading > > > > If the current is set to e.g. 500mA and that linear charging mode is > > enabled, the battery gets the maximum current available (upto > > 500mA) regardless of the speed which is often changing. > > Yes... I guess that makes sense for you, but I wonder if we should be > doing this by default. It seems a lot of cheap chargers can be easily > destroyed if you overload them. > Hmm, I guess the twl4030_charger would not be the only one destroying such chargers. I have seen such hub dynamo-friendly behaviour on every device I had connected to it before (an ipaq h2200, openmoko gta02). I have checked all usb wall plug chargers I have seen and I found none which has a lower current then 500mA. Only one has 500mA. The rest has 1A or even 2A. But I think the non-ending cv stuff is a reason enough so that it is not the default charge method. I use it only at bootup when battery is low to have some time to fix charging issues manually and when cycling. Cycling is detected by acceleration values and I get some feedback if that charge mode is enabled or disabled. Regards. Andreas Kemnade signature.asc Description: PGP signature
Re: Clock usbhost_48m_fck didn't enable in 100000 tries and crash
Hi Do you have /sys/kernel/debug/clk/clock_summary? Michael On Tue, Nov 24, 2015 at 7:50 PM, Daniel. wrote: > Doing some printk mess I found that the usbhost_48m_fck is enabled. So > my problem should be another thing: > > clock.c:omap2_dflt_clk_enable@193: usbhost_48m_fck enable_reg value 0x01 > > 2015-11-23 18:10 GMT-02:00 Michael Trimarchi : >> Hi >> >> Can you check if you have this patch in? >> >> commit 3c82e229f09a6acc8d24dc27c5e0e60b1d7161c2 >> Author: Paul Walmsley >> Date: Fri Jul 24 19:44:06 2009 -0600 >> >> OMAP3 clock: correct module IDLEST bits: SSI; DSS; USBHOST; HSOTGUSB >> >> Fix two bugs in the OMAP3 clock tree pertaining to the SSI, DSS, >> USBHOST, and HSOTGUSB devices. These devices are both interconnect >> initiators and targets. Without this patch, clk_enable()s on clocks for >> these modules can be very high latency (potentially up to ~200 >> milliseconds) and message such as the following are generated: >> >> Clock usbhost_48m_fck didn't enable in 10 tries >> >> Two bugs are fixed by this patch. First, OMAP hardware only supports >> target CM_IDLEST register bits on ES2+ chips and beyond. ES1 chips >> should not wait for these clocks to enable. So, split the appropriate >> clocks into ES1 and ES2+ variants, so that kernels running on ES1 >> devices won't try to wait. >> >> Second, the current heuristic in omap2_clk_dflt_find_idlest() will >> fail for these clocks. It assumes that the CM_IDLEST bit to wait upon >> is the same as the CM_*CLKEN bit, which is false[1]. Fix by >> implementing custom clkops .find_idlest function pointers for the >> appropriate clocks that return the correct slave IDLEST bit shift. >> >> This was originally fixed in the linux-omap kernel during 2.6.29 in a >> slightly different manner[2][3]. >> >> >> On Mon, Nov 23, 2015 at 9:06 PM, Daniel. wrote: >>> Hi, >>> >>> Building as built-in doesn't solve my problem. The difference is that >>> when compiled as module the dump shows up when I load it, and when is >>> built-in the dump shows up at boot time. Also when built-in the >>> problem seems to ocurr when device is reseted (on ehci_omap_stop) and >>> the first stack dump is followed by much more other dumps. At the end >>> I can see something like: "Fixing recursive fault but reboot is >>> needed!" >>> >>> >>> Here is the module info: >>> root@csi:~# modinfo ehci-hcd >>> filename: /lib/modules/2.6.37+/kernel/drivers/usb/host/ehci-hcd.ko >>> author: Felipe Balbi >>> author: Texas Instruments, Inc. >>> alias: platform:omap-ehci >>> license:GPL >>> author: David Brownell >>> description:USB 2.0 'Enhanced' Host Controller (EHCI) Driver >>> srcversion: B282C11CACFB9E75921367C >>> depends: >>> vermagic: 2.6.37+ mod_unload modversions ARMv7 >>> parm: log2_irq_thresh:log2 IRQ latency, 1-64 microframes (int) >>> parm: park:park setting; 1-3 back-to-back async packets (uint) >>> parm: ignore_oc:ignore bogus hardware overcurrent indications >>> (bool) >>> parm: hird:host initiated resume duration, +1 for each 75us >>> (int) >>> root@csi:~# >>> >>> >>> Best regards, >>> >>> 2015-11-23 17:55 GMT-02:00 Michael Trimarchi : Hi On Mon, Nov 23, 2015 at 8:05 PM, Daniel. wrote: > Hi Michael, > > It's a plain linux. I'm considering upgrading kernel as last option. > Variscite doesn't > support another kernel for this SoM so this would be a really hard > work. I'm looking > for a solution on this kernel and mainly trying to understand why > usbhost_48m_fck > is not getting enabled. I'm contacting Variscite in parallel. > Can you point me to te module description? I think that the module is working if it's compiled in. Correct? Michael > Thanks for your reply, best regards! > > 2015-11-23 16:57 GMT-02:00 Michael Trimarchi > : >> Hi Daniel >> >> >> On Mon, Nov 23, 2015 at 7:45 PM, Daniel. wrote: >>> Hi every body! >>> >>> I'm running a (2.6.37) kernel based on linux-omap tree >>> (http://arago-project.org/git/projects/?p=linux-omap3.git;a=summary). >>> The board is a SoM from Variscite (var-som-am3517). >>> >>> I've compiled the ehci-hcd as a module. When I enable it I got this >>> dump: >>> http://pastebin.com/5idXXBBi >>> >> >> Do you have an android device? or it's just plain linux. >> For option 2 I suggest to move on newest kernel >> >> Michael >> >>> Googling arroud I found that this can be triggered while trying to >>> access uhh registers when usbhost_48m_fck is not enabled. This is what >>> I think is happening since the message >>> "Clock usbhost_48m_fck didn't enable in 10 tries" is aways present >>> before the crash, and since the crash happens at first read o
Re: Clock usbhost_48m_fck didn't enable in 100000 tries and crash
Doing some printk mess I found that the usbhost_48m_fck is enabled. So my problem should be another thing: clock.c:omap2_dflt_clk_enable@193: usbhost_48m_fck enable_reg value 0x01 2015-11-23 18:10 GMT-02:00 Michael Trimarchi : > Hi > > Can you check if you have this patch in? > > commit 3c82e229f09a6acc8d24dc27c5e0e60b1d7161c2 > Author: Paul Walmsley > Date: Fri Jul 24 19:44:06 2009 -0600 > > OMAP3 clock: correct module IDLEST bits: SSI; DSS; USBHOST; HSOTGUSB > > Fix two bugs in the OMAP3 clock tree pertaining to the SSI, DSS, > USBHOST, and HSOTGUSB devices. These devices are both interconnect > initiators and targets. Without this patch, clk_enable()s on clocks for > these modules can be very high latency (potentially up to ~200 > milliseconds) and message such as the following are generated: > > Clock usbhost_48m_fck didn't enable in 10 tries > > Two bugs are fixed by this patch. First, OMAP hardware only supports > target CM_IDLEST register bits on ES2+ chips and beyond. ES1 chips > should not wait for these clocks to enable. So, split the appropriate > clocks into ES1 and ES2+ variants, so that kernels running on ES1 > devices won't try to wait. > > Second, the current heuristic in omap2_clk_dflt_find_idlest() will > fail for these clocks. It assumes that the CM_IDLEST bit to wait upon > is the same as the CM_*CLKEN bit, which is false[1]. Fix by > implementing custom clkops .find_idlest function pointers for the > appropriate clocks that return the correct slave IDLEST bit shift. > > This was originally fixed in the linux-omap kernel during 2.6.29 in a > slightly different manner[2][3]. > > > On Mon, Nov 23, 2015 at 9:06 PM, Daniel. wrote: >> Hi, >> >> Building as built-in doesn't solve my problem. The difference is that >> when compiled as module the dump shows up when I load it, and when is >> built-in the dump shows up at boot time. Also when built-in the >> problem seems to ocurr when device is reseted (on ehci_omap_stop) and >> the first stack dump is followed by much more other dumps. At the end >> I can see something like: "Fixing recursive fault but reboot is >> needed!" >> >> >> Here is the module info: >> root@csi:~# modinfo ehci-hcd >> filename: /lib/modules/2.6.37+/kernel/drivers/usb/host/ehci-hcd.ko >> author: Felipe Balbi >> author: Texas Instruments, Inc. >> alias: platform:omap-ehci >> license:GPL >> author: David Brownell >> description:USB 2.0 'Enhanced' Host Controller (EHCI) Driver >> srcversion: B282C11CACFB9E75921367C >> depends: >> vermagic: 2.6.37+ mod_unload modversions ARMv7 >> parm: log2_irq_thresh:log2 IRQ latency, 1-64 microframes (int) >> parm: park:park setting; 1-3 back-to-back async packets (uint) >> parm: ignore_oc:ignore bogus hardware overcurrent indications >> (bool) >> parm: hird:host initiated resume duration, +1 for each 75us >> (int) >> root@csi:~# >> >> >> Best regards, >> >> 2015-11-23 17:55 GMT-02:00 Michael Trimarchi : >>> Hi >>> >>> On Mon, Nov 23, 2015 at 8:05 PM, Daniel. wrote: Hi Michael, It's a plain linux. I'm considering upgrading kernel as last option. Variscite doesn't support another kernel for this SoM so this would be a really hard work. I'm looking for a solution on this kernel and mainly trying to understand why usbhost_48m_fck is not getting enabled. I'm contacting Variscite in parallel. >>> >>> Can you point me to te module description? I think that the module >>> is working if it's compiled in. Correct? >>> >>> Michael >>> >>> Thanks for your reply, best regards! 2015-11-23 16:57 GMT-02:00 Michael Trimarchi : > Hi Daniel > > > On Mon, Nov 23, 2015 at 7:45 PM, Daniel. wrote: >> Hi every body! >> >> I'm running a (2.6.37) kernel based on linux-omap tree >> (http://arago-project.org/git/projects/?p=linux-omap3.git;a=summary). >> The board is a SoM from Variscite (var-som-am3517). >> >> I've compiled the ehci-hcd as a module. When I enable it I got this dump: >> http://pastebin.com/5idXXBBi >> > > Do you have an android device? or it's just plain linux. > For option 2 I suggest to move on newest kernel > > Michael > >> Googling arroud I found that this can be triggered while trying to >> access uhh registers when usbhost_48m_fck is not enabled. This is what >> I think is happening since the message >> "Clock usbhost_48m_fck didn't enable in 10 tries" is aways present >> before the crash, and since the crash happens at first read o uhh >> registers. I just can't figure out why usbhost_48m_fck is not getting >> enabled and how to check if is trully disabled. >> >> Any ideas? >> >> Thanks in advance! >> Regards, >> >> -- >> "Do or do not.
[PATCH v2 6/6] ARM: OMAP2+: dts: cm-t335: add support for PWM backlight
From: Ilya Ledvich Add pinmux configuration for ECAP0 pin. Add node for PWM backlight device. Use PWM output from ecap0 as backlight source. Signed-off-by: Ilya Ledvich Signed-off-by: Uri Mashiach Acked-by: Igor Grinberg --- v1 -> v2: integrate AM33XX_IOPAD macro in pinmux definitions arch/arm/boot/dts/am335x-cm-t335.dts | 24 1 file changed, 24 insertions(+) diff --git a/arch/arm/boot/dts/am335x-cm-t335.dts b/arch/arm/boot/dts/am335x-cm-t335.dts index 9be0bfe..4939d82 100644 --- a/arch/arm/boot/dts/am335x-cm-t335.dts +++ b/arch/arm/boot/dts/am335x-cm-t335.dts @@ -39,6 +39,13 @@ regulator-min-microvolt = <330>; regulator-max-microvolt = <330>; }; + + backlight { + compatible = "pwm-backlight"; + pwms = <&ecap0 0 5 0>; + brightness-levels = <0 51 53 56 62 75 101 152 255>; + default-brightness-level = <8>; + }; }; &am33xx_pinmux { @@ -114,6 +121,13 @@ >; }; + ecap0_pins: pinmux_ecap0_pins { + pinctrl-single,pins = < + /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */ + AM33XX_IOPAD(0x964, 0x0) + >; + }; + cpsw_default: cpsw_default { pinctrl-single,pins = < /* Slave 1 */ @@ -223,6 +237,16 @@ }; }; +&epwmss0 { + status = "okay"; + + ecap0: ecap@48300100 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&ecap0_pins>; + }; +}; + &gpmc { status = "okay"; pinctrl-names = "default"; -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v2 4/6] ARM: OMAP2+: dts: cm-t335: add support for MMC
From: Ilya Ledvich Add pinmux configuration for MMC0 pins. Add fixed regulator 'vmmc_fixed'. Enable MMC0 in 4-bit mode. Signed-off-by: Ilya Ledvich Signed-off-by: Uri Mashiach Acked-by: Igor Grinberg --- v1 -> v2: integrate AM33XX_IOPAD macro in pinmux definitions arch/arm/boot/dts/am335x-cm-t335.dts | 33 + 1 file changed, 33 insertions(+) diff --git a/arch/arm/boot/dts/am335x-cm-t335.dts b/arch/arm/boot/dts/am335x-cm-t335.dts index 431b6dd..0a20256 100644 --- a/arch/arm/boot/dts/am335x-cm-t335.dts +++ b/arch/arm/boot/dts/am335x-cm-t335.dts @@ -31,6 +31,14 @@ linux,default-trigger = "heartbeat"; }; }; + + /* regulator for mmc */ + vmmc_fixed: fixedregulator@0 { + compatible = "regulator-fixed"; + regulator-name = "vmmc_fixed"; + regulator-min-microvolt = <330>; + regulator-max-microvolt = <330>; + }; }; &am33xx_pinmux { @@ -105,6 +113,23 @@ AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0) >; }; + + mmc1_pins: pinmux_mmc1_pins { + pinctrl-single,pins = < + /* mmc0_dat3.mmc0_dat3 */ + AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) + /* mmc0_dat2.mmc0_dat2 */ + AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) + /* mmc0_dat1.mmc0_dat1 */ + AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) + /* mmc0_dat0.mmc0_dat0 */ + AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) + /* mmc0_clk.mmc0_clk */ + AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) + /* mmc0_cmd.mmc0_cmd */ + AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) + >; + }; }; &uart0 { @@ -204,3 +229,11 @@ status = "okay"; }; +&mmc1 { + status = "okay"; + vmmc-supply = <&vmmc_fixed>; + bus-width = <4>; + pinctrl-names = "default"; + pinctrl-0 = <&mmc1_pins>; +}; + -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v2 5/6] ARM: OMAP2+: dts: cm-t335: add support for network device
From: Ilya Ledvich Add pinmux configurations for RGMII1 based CPSW Ethernet pins and MDIO pins: - default configuration required for module in active state, - sleep configuration required for module in inactive state. Add mac node with single slave device. Add nodes for davinci_mdio and cpsw_emac0. Signed-off-by: Ilya Ledvich Signed-off-by: Uri Mashiach Acked-by: Igor Grinberg --- v1 -> v2: integrate AM33XX_IOPAD macro in pinmux definitions arch/arm/boot/dts/am335x-cm-t335.dts | 85 1 file changed, 85 insertions(+) diff --git a/arch/arm/boot/dts/am335x-cm-t335.dts b/arch/arm/boot/dts/am335x-cm-t335.dts index 0a20256..9be0bfe 100644 --- a/arch/arm/boot/dts/am335x-cm-t335.dts +++ b/arch/arm/boot/dts/am335x-cm-t335.dts @@ -114,6 +114,71 @@ >; }; + cpsw_default: cpsw_default { + pinctrl-single,pins = < + /* Slave 1 */ + /* mii1_tx_en.rgmii1_tctl */ + AM33XX_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE2) + /* mii1_rxdv.rgmii1_rctl */ + AM33XX_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE2) + /* mii1_txd3.rgmii1_td3 */ + AM33XX_IOPAD(0x91c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) + /* mii1_txd2.rgmii1_td2 */ + AM33XX_IOPAD(0x920, PIN_OUTPUT_PULLDOWN | MUX_MODE2) + /* mii1_txd1.rgmii1_td1 */ + AM33XX_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE2) + /* mii1_txd0.rgmii1_td0 */ + AM33XX_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE2) + /* mii1_txclk.rgmii1_tclk */ + AM33XX_IOPAD(0x92c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) + /* mii1_rxclk.rgmii1_rclk */ + AM33XX_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE2) + /* mii1_rxd3.rgmii1_rd3 */ + AM33XX_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE2) + /* mii1_rxd2.rgmii1_rd2 */ + AM33XX_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE2) + /* mii1_rxd1.rgmii1_rd1 */ + AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE2) + /* mii1_rxd0.rgmii1_rd0 */ + AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE2) + >; + }; + + cpsw_sleep: cpsw_sleep { + pinctrl-single,pins = < + /* Slave 1 reset value */ + AM33XX_IOPAD(0x914, PIN_INPUT_PULLDOWN | MUX_MODE7) + AM33XX_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE7) + AM33XX_IOPAD(0x91c, PIN_INPUT_PULLDOWN | MUX_MODE7) + AM33XX_IOPAD(0x920, PIN_INPUT_PULLDOWN | MUX_MODE7) + AM33XX_IOPAD(0x924, PIN_INPUT_PULLDOWN | MUX_MODE7) + AM33XX_IOPAD(0x928, PIN_INPUT_PULLDOWN | MUX_MODE7) + AM33XX_IOPAD(0x92c, PIN_INPUT_PULLDOWN | MUX_MODE7) + AM33XX_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE7) + AM33XX_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE7) + AM33XX_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE7) + AM33XX_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE7) + AM33XX_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE7) + >; + }; + + davinci_mdio_default: davinci_mdio_default { + pinctrl-single,pins = < + /* mdio_data.mdio_data */ + AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) + /* mdio_clk.mdio_clk */ + AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0) + >; + }; + + davinci_mdio_sleep: davinci_mdio_sleep { + pinctrl-single,pins = < + /* MDIO reset value */ + AM33XX_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7) + AM33XX_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7) + >; + }; + mmc1_pins: pinmux_mmc1_pins { pinctrl-single,pins = < /* mmc0_dat3.mmc0_dat3 */ @@ -229,6 +294,26 @@ status = "okay"; }; +&mac { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&cpsw_default>; + pinctrl-1 = <&cpsw_sleep>; + slaves = <1>; + status = "okay"; +}; + +&davinci_mdio { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&davinci_mdio_default>; + pinctrl-1 = <&davinci_mdio_sleep>; + status = "okay"; +}; + +&cpsw_emac0 { + phy_id = <&davinci_mdio>, <0>; + phy-mode = "rgmii-txid"; +}; + &mmc1 { status = "okay"; vmmc-supply = <&vmmc_fixed>; -- 2.5.0
[PATCH v2 0/6] ARM: OMAP2+: dts: cm-t335: initial support
Add basic support for CompuLab cm-t335 module based on AM335X SoC. CM-T335 is a tiny computer-on-module (CoM) / system-on-module (SoM) The module is built around the Texas Instruments Sitara AM3352/4 system-on-chip. The CPU is supplemented with up-to 512MB DDR3 and up-to 1GB of on-board NAND storage, WiFi connected to SPI, Bluetooth, Analog audio, Gigabit Ethernet, CAN bus. [v1 -> v2: integrate AM33XX_IOPAD macro in pinmux definitions ] Ilya Ledvich (6): ARM: OMAP2+: dts: cm-t335: add initial support ARM: OMAP2+: dts: cm-t335: add basic support for I2C ARM: OMAP2+: dts: cm-t335: add support for NAND flash ARM: OMAP2+: dts: cm-t335: add support for MMC ARM: OMAP2+: dts: cm-t335: add support for network device ARM: OMAP2+: dts: cm-t335: add support for PWM backlight .../devicetree/bindings/arm/omap/omap.txt | 3 + arch/arm/boot/dts/Makefile | 7 +- arch/arm/boot/dts/am335x-cm-t335.dts | 348 + 3 files changed, 355 insertions(+), 3 deletions(-) create mode 100644 arch/arm/boot/dts/am335x-cm-t335.dts -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v2 2/6] ARM: OMAP2+: dts: cm-t335: add basic support for I2C
From: Ilya Ledvich Add pinmux configuration for I2C0 and I2C1 pins. Add description for I2C0 bus, set clock frequency to 400kHz. Add child nodes for 24c02 EEPROM and em3027 RTC on I2C0 bus. Signed-off-by: Ilya Ledvich Signed-off-by: Uri Mashiach Acked-by: Igor Grinberg --- v1 -> v2: integrate AM33XX_IOPAD macro in pinmux definitions arch/arm/boot/dts/am335x-cm-t335.dts | 37 1 file changed, 37 insertions(+) diff --git a/arch/arm/boot/dts/am335x-cm-t335.dts b/arch/arm/boot/dts/am335x-cm-t335.dts index 719658e..02b6679 100644 --- a/arch/arm/boot/dts/am335x-cm-t335.dts +++ b/arch/arm/boot/dts/am335x-cm-t335.dts @@ -37,6 +37,24 @@ pinctrl-names = "default"; pinctrl-0 = <>; + i2c0_pins: pinmux_i2c0_pins { + pinctrl-single,pins = < + /* i2c0_sda.i2c0_sda */ + AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0) + /* i2c0_scl.i2c0_scl */ + AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0) + >; + }; + + i2c1_pins: pinmux_i2c1_pins { + pinctrl-single,pins = < + /* uart0_ctsn.i2c1_sda */ + AM33XX_IOPAD(0x968, PIN_INPUT_PULLUP | MUX_MODE2) + /* uart0_rtsn.i2c1_scl */ + AM33XX_IOPAD(0x96c, PIN_INPUT_PULLUP | MUX_MODE2) + >; + }; + gpio_led_pins: pinmux_gpio_led_pins { pinctrl-single,pins = < /* gpmc_csn3.gpio2_0 */ @@ -61,3 +79,22 @@ status = "okay"; }; +&i2c0 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c0_pins>; + + status = "okay"; + clock-frequency = <40>; + /* CM-T335 board EEPROM */ + eeprom: 24c02@50 { + compatible = "atmel,24c02"; + reg = <0x50>; + pagesize = <16>; + }; + /* Real Time Clock */ + ext_rtc: em3027@56 { + compatible = "emmicro,em3027"; + reg = <0x56>; + }; +}; + -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v2 3/6] ARM: OMAP2+: dts: cm-t335: add support for NAND flash
From: Ilya Ledvich Add pinmux configuration for NAND specific GPMC pins. Add description for GPMC controller. Add child node for NAND flash including CM-T335 specific partition table to GPMC node. Enable error-location module (ELM). Acked-by: Igor Grinberg Signed-off-by: Ilya Ledvich Signed-off-by: Uri Mashiach --- v1 -> v2: integrate AM33XX_IOPAD macro in pinmux definitions arch/arm/boot/dts/am335x-cm-t335.dts | 106 +++ 1 file changed, 106 insertions(+) diff --git a/arch/arm/boot/dts/am335x-cm-t335.dts b/arch/arm/boot/dts/am335x-cm-t335.dts index 02b6679..431b6dd 100644 --- a/arch/arm/boot/dts/am335x-cm-t335.dts +++ b/arch/arm/boot/dts/am335x-cm-t335.dts @@ -62,6 +62,41 @@ >; }; + nandflash_pins: pinmux_nandflash_pins { + pinctrl-single,pins = < + /* gpmc_ad0.gpmc_ad0 */ + AM33XX_IOPAD(0x800, PIN_INPUT_PULLUP | MUX_MODE0) + /* gpmc_ad1.gpmc_ad1 */ + AM33XX_IOPAD(0x804, PIN_INPUT_PULLUP | MUX_MODE0) + /* gpmc_ad2.gpmc_ad2 */ + AM33XX_IOPAD(0x808, PIN_INPUT_PULLUP | MUX_MODE0) + /* gpmc_ad3.gpmc_ad3 */ + AM33XX_IOPAD(0x80c, PIN_INPUT_PULLUP | MUX_MODE0) + /* gpmc_ad4.gpmc_ad4 */ + AM33XX_IOPAD(0x810, PIN_INPUT_PULLUP | MUX_MODE0) + /* gpmc_ad5.gpmc_ad5 */ + AM33XX_IOPAD(0x814, PIN_INPUT_PULLUP | MUX_MODE0) + /* gpmc_ad6.gpmc_ad6 */ + AM33XX_IOPAD(0x818, PIN_INPUT_PULLUP | MUX_MODE0) + /* gpmc_ad7.gpmc_ad7 */ + AM33XX_IOPAD(0x81c, PIN_INPUT_PULLUP | MUX_MODE0) + /* gpmc_wait0.gpmc_wait0 */ + AM33XX_IOPAD(0x870, PIN_INPUT_PULLUP | MUX_MODE0) + /* gpmc_wpn.gpio0_30 */ + AM33XX_IOPAD(0x874, PIN_INPUT_PULLUP | MUX_MODE7) + /* gpmc_csn0.gpmc_csn0 */ + AM33XX_IOPAD(0x87c, PIN_OUTPUT | MUX_MODE0) + /* gpmc_advn_ale.gpmc_advn_ale */ + AM33XX_IOPAD(0x890, PIN_OUTPUT | MUX_MODE0) + /* gpmc_oen_ren.gpmc_oen_ren */ + AM33XX_IOPAD(0x894, PIN_OUTPUT | MUX_MODE0) + /* gpmc_wen.gpmc_wen */ + AM33XX_IOPAD(0x898, PIN_OUTPUT | MUX_MODE0) + /* gpmc_ben0_cle.gpmc_ben0_cle */ + AM33XX_IOPAD(0x89c, PIN_OUTPUT | MUX_MODE0) + >; + }; + uart0_pins: pinmux_uart0_pins { pinctrl-single,pins = < /* uart0_rxd.uart0_rxd */ @@ -98,3 +133,74 @@ }; }; +&gpmc { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&nandflash_pins>; + ranges = <0 0 0x0800 0x1000>; /* CS0: NAND */ + nand@0,0 { + reg = <0 0 0>; /* CS0, offset 0 */ + ti,nand-ecc-opt = "bch8"; + ti,elm-id = <&elm>; + nand-bus-width = <8>; + gpmc,device-width = <1>; + gpmc,sync-clk-ps = <0>; + gpmc,cs-on-ns = <0>; + gpmc,cs-rd-off-ns = <44>; + gpmc,cs-wr-off-ns = <44>; + gpmc,adv-on-ns = <6>; + gpmc,adv-rd-off-ns = <34>; + gpmc,adv-wr-off-ns = <44>; + gpmc,we-on-ns = <0>; + gpmc,we-off-ns = <40>; + gpmc,oe-on-ns = <0>; + gpmc,oe-off-ns = <54>; + gpmc,access-ns = <64>; + gpmc,rd-cycle-ns = <82>; + gpmc,wr-cycle-ns = <82>; + gpmc,wait-on-read = "true"; + gpmc,wait-on-write = "true"; + gpmc,bus-turnaround-ns = <0>; + gpmc,cycle2cycle-delay-ns = <0>; + gpmc,clk-activation-ns = <0>; + gpmc,wait-monitoring-ns = <0>; + gpmc,wr-access-ns = <40>; + gpmc,wr-data-mux-bus-ns = <0>; + /* MTD partition table */ + #address-cells = <1>; + #size-cells = <1>; + partition@0 { + label = "spl"; + reg = <0x 0x0020>; + }; + partition@1 { + label = "uboot"; + reg = <0x0020 0x0010>; + }; + partition@2 { + label = "uboot environment"; + reg = <0x0030 0x0010>; + }; + partition@3 { + label = "dtb"; + reg = <0x0040 0x0010>; + }; + partition@4 { + label = "splash"; +
[PATCH v2 1/6] ARM: OMAP2+: dts: cm-t335: add initial support
From: Ilya Ledvich Add basic support for CompuLab cm-t335 module based on AM335X SoC. CM-T335 is a tiny computer-on-module (CoM) / system-on-module (SoM) The module is built around the Texas Instruments Sitara AM3352/4 system-on-chip. The CPU is supplemented with up-to 512MB DDR3 and up-to 1GB of on-board NAND storage, WiFi connected to SPI, Bluetooth, Analog audio, Gigabit Ethernet, CAN bus. Current patch adds support: UART0 and GPIO LED Detailed description can be found at the module site: http://www.compulab.co.il/products/computer-on-modules/cm-t335/ Signed-off-by: Ilya Ledvich [uri.mashi...@compulab.co.il: the default RAM amount reduced to 128MB to support also the minimal module configuration] Signed-off-by: Uri Mashiach Acked-by: Igor Grinberg --- v1 -> v2: integrate AM33XX_IOPAD macro in pinmux definitions .../devicetree/bindings/arm/omap/omap.txt | 3 ++ arch/arm/boot/dts/Makefile | 7 +-- arch/arm/boot/dts/am335x-cm-t335.dts | 63 ++ 3 files changed, 70 insertions(+), 3 deletions(-) create mode 100644 arch/arm/boot/dts/am335x-cm-t335.dts diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt index 9f4e513..2154f97 100644 --- a/Documentation/devicetree/bindings/arm/omap/omap.txt +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt @@ -138,6 +138,9 @@ Boards: - AM335X phyBOARD-WEGA: Single Board Computer dev kit compatible = "phytec,am335x-wega", "phytec,am335x-phycore-som", "ti,am33xx" +- AM335X CM-T335 : System On Module, built around the Sitara AM3352/4 + compatible = "compulab,cm-t335", "ti,am33xx" + - OMAP5 EVM : Evaluation Module compatible = "ti,omap5-evm", "ti,omap5" diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index bb8fa02..0e011dc 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -446,13 +446,14 @@ dtb-$(CONFIG_SOC_AM33XX) += \ am335x-base0033.dtb \ am335x-bone.dtb \ am335x-boneblack.dtb \ - am335x-sl50.dtb \ + am335x-chiliboard.dtb \ + am335x-cm-t335.dtb \ am335x-evm.dtb \ am335x-evmsk.dtb \ + am335x-lxm.dtb \ am335x-nano.dtb \ am335x-pepper.dtb \ - am335x-lxm.dtb \ - am335x-chiliboard.dtb \ + am335x-sl50.dtb \ am335x-wega-rdk.dtb dtb-$(CONFIG_ARCH_OMAP4) += \ omap4-duovero-parlor.dtb \ diff --git a/arch/arm/boot/dts/am335x-cm-t335.dts b/arch/arm/boot/dts/am335x-cm-t335.dts new file mode 100644 index 000..719658e --- /dev/null +++ b/arch/arm/boot/dts/am335x-cm-t335.dts @@ -0,0 +1,63 @@ +/* + * am335x-cm-t335.dts - Device Tree file for Compulab CM-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. + */ + +/dts-v1/; + +#include "am33xx.dtsi" + +/ { + model = "CompuLab CM-T335"; + compatible = "compulab,cm-t335", "ti,am33xx"; + + memory { + device_type = "memory"; + reg = <0x8000 0x800>; /* 128 MB */ + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&gpio_led_pins>; + led@0 { + label = "cm_t335:green"; + gpios = <&gpio2 0 GPIO_ACTIVE_LOW>; /* gpio2_0 */ + linux,default-trigger = "heartbeat"; + }; + }; +}; + +&am33xx_pinmux { + pinctrl-names = "default"; + pinctrl-0 = <>; + + gpio_led_pins: pinmux_gpio_led_pins { + pinctrl-single,pins = < + /* gpmc_csn3.gpio2_0 */ + AM33XX_IOPAD(0x888, PIN_OUTPUT | MUX_MODE7) + >; + }; + + uart0_pins: pinmux_uart0_pins { + pinctrl-single,pins = < + /* uart0_rxd.uart0_rxd */ + AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0) + /* uart0_txd.uart0_txd */ + AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0) + >; + }; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pins>; + + status = "okay"; +}; + -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: am35xx memory management issues
Hi Tony, On 13.11.2015 15:05, Markku Ahvenjärvi wrote: > Hi, > > On 12.11.2015 19:06, Tony Lindgren wrote: >> Hi, >> >> * Markku Ahvenjärvi [151112 07:26]: >>> Hello everyone, >>> >>> We have am3517 based board and are experiencing sporadic corruption of mm >>> structures. We've had this problem for months now and haven't really got >>> bottom of it. >>> >>> Our board is currently using 3.18.20, but with am3517-evm we've tried >>> pretty much everything between v3.14 and v4.2. So far we've been able to >>> reproduce it on am3517-evm, craneboard and beagleboard (rev. C3 and C4). We >>> have also tested am/dm37x-evm, am335x-evm and beagle bone black, no >>> problems seen. >>> >>> Usually kernel it panics in 'kernel BUG at mm/rmap.c:406!', but >>> occasionally there's 'BUG: Bad rss-counter state' prints followed by NULL >>> pointer deref or another BUG statement in mm/slab.c. Sometimes spinlock >>> lockup or already unlocked reported, so it is quite random. >>> >>> Reproducing can take from half hour up to few days. We are using stress-ng >>> with options: >>> stress-ng --cpu 1 --vm 3 --vm-bytes 64M --fork 4 >>> >>> In our tests we have noticed that kernel configuration affect frequency of >>> the problem. So far we haven't seen any with omap2plus_defconfig, but with >>> slimmer defconfig like the one we are using for our board we can get it in >>> few hours. We bisected our defconfig and omap2plus_defconfig, but couldn't >>> pinpoint any specific config that would cause these problems: it just got >>> less frequent until stopped occurring. To rule out any bad behaving >>> drivers, we basically disabled everything but serial and it just kept >>> crashing. >> >> Adding also LAKML to Cc. Can you check if it starts happening if you >> leave out other omaps from .config other than CONFIG_ARCH_OMAP3? >> That's to compile code only for ARMv7 and leave out ARMv6. >> >> Also please check if leaving out CONFIG_SMP_ON_UP affects things. > > Alright, will do. We've been testing omap2plus defconfig without other omaps and without CONFIG_SMP_ON_UP. So far we haven't seen any panics, but I've had only a few units testing it. Meanwhile we've been testing our custom board with a configuration that is quite close to omap2plus, including other omaps and CONFIG_SMP_ON_UP. We've had couple of panics, so it seems that these doesn't affect the problem. We had 15 units running stress-ng and it took ~8 days until we saw first panic, so if omap2plus is affected it is quite rare. Any other suggestions? Regards, Markku > >>> Someone was having quite similar problems back in 2012, but other than that >>> we've found nothing: >>> http://thread.gmane.org/gmane.linux.ports.arm.omap/78039/ >>> >>> Anyone seen this kind of issues before? Any ideas what might cause this? >> >> If it starts happening after after leaving out ARMv6 or SMP_ON_UP, >> it could be a cache bug or missing errata that's needed. > > Right. > > Regards, > > Markku > >> >> Regards, >> >> Tony >> >> >>> [0.00] Booting Linux on physical CPU 0x0 >>> [0.00] Linux version 3.18.24 (markku@thinkpad) (gcc version 4.9.3 >>> 20141031 (prerelease) (Linaro GCC 2014.11) ) #2 PREEMPT Wed Nov 4 09:51:36 >>> EET 2015 >>> [0.00] CPU: ARMv7 Processor [411fc087] revision 7 (ARMv7), >>> cr=10c5387d >>> [0.00] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing >>> instruction cache >>> [0.00] Machine model: TI AM3517 EVM (AM3517/05 TMDSEVM3517) >>> [0.00] cma: Reserved 8 MiB at 0x8f40 >>> [0.00] Memory policy: Data cache writeback >>> [0.00] On node 0 totalpages: 65280 >>> [0.00] free_area_init_node: node 0, pgdat c09be980, node_mem_map >>> cfce7000 >>> [0.00] Normal zone: 512 pages used for memmap >>> [0.00] Normal zone: 0 pages reserved >>> [0.00] Normal zone: 65280 pages, LIFO batch:15 >>> [0.00] HighMem zone: 1048574 pages exceeds freesize 0 >>> [0.00] CPU: All CPU(s) started in SVC mode. >>> [0.00] AM3517 ES1.1 (l2cache sgx neon ) >>> [0.00] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 >>> [0.00] pcpu-alloc: [0] 0 >>> [0.00] Built 1 zonelists in Zone order, mobility grouping on. >>> Total pages: 64768 >>> [0.00] Kernel command line: console=ttyO2,115200 >>> [0.00] PID hash table entries: 1024 (order: 0, 4096 bytes) >>> [0.00] Dentry cache hash table entries: 32768 (order: 5, 131072 >>> bytes) >>> [0.00] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) >>> [0.00] Memory: 239940K/261120K available (4809K kernel code, 341K >>> rwdata, 1816K rodata, 2996K init, 353K bss, 21180K reserved, 0K highmem) >>> [0.00] Virtual kernel memory layout: >>> [0.00] vector : 0x - 0x1000 ( 4 kB) >>> [0.00] fixmap : 0xffc0 - 0xffe0 (2048 kB) >>> [0.00] vmalloc : 0xd080 - 0xf
Re: Clock usbhost_48m_fck didn't enable in 100000 tries and crash
Hi Michael About this: "Two bugs are fixed by this patch. First, OMAP hardware only supports target CM_IDLEST register bits on ES2+ chips and beyond. ES1 chips should not wait for these clocks to enable. So, split the appropriate clocks into ES1 and ES2+ variants, so that kernels running on ES1 devices won't try to wait." My chip is ES1. I think that ES2+ code is running since I see these waits ocurring on code... I'll take a better look in this, thanks again! Does anyone know how to check if a clock is enabled? Regards, 2015-11-23 18:24 GMT-02:00 Daniel. : > I've already tried, it fails to apply. My tree is based on last commit from > TI linux-omap3 (4f1fb3bea4cc381c76e8e439f8af393c1a698dfc) so I *think* > that this is already applied (since come from the same tree). > > I will try to apply it by hand > Thanks! > Regards, > > 2015-11-23 18:10 GMT-02:00 Michael Trimarchi : >> Hi >> >> Can you check if you have this patch in? >> >> commit 3c82e229f09a6acc8d24dc27c5e0e60b1d7161c2 >> Author: Paul Walmsley >> Date: Fri Jul 24 19:44:06 2009 -0600 >> >> OMAP3 clock: correct module IDLEST bits: SSI; DSS; USBHOST; HSOTGUSB >> >> Fix two bugs in the OMAP3 clock tree pertaining to the SSI, DSS, >> USBHOST, and HSOTGUSB devices. These devices are both interconnect >> initiators and targets. Without this patch, clk_enable()s on clocks for >> these modules can be very high latency (potentially up to ~200 >> milliseconds) and message such as the following are generated: >> >> Clock usbhost_48m_fck didn't enable in 10 tries >> >> Two bugs are fixed by this patch. First, OMAP hardware only supports >> target CM_IDLEST register bits on ES2+ chips and beyond. ES1 chips >> should not wait for these clocks to enable. So, split the appropriate >> clocks into ES1 and ES2+ variants, so that kernels running on ES1 >> devices won't try to wait. >> >> Second, the current heuristic in omap2_clk_dflt_find_idlest() will >> fail for these clocks. It assumes that the CM_IDLEST bit to wait upon >> is the same as the CM_*CLKEN bit, which is false[1]. Fix by >> implementing custom clkops .find_idlest function pointers for the >> appropriate clocks that return the correct slave IDLEST bit shift. >> >> This was originally fixed in the linux-omap kernel during 2.6.29 in a >> slightly different manner[2][3]. >> >> >> On Mon, Nov 23, 2015 at 9:06 PM, Daniel. wrote: >>> Hi, >>> >>> Building as built-in doesn't solve my problem. The difference is that >>> when compiled as module the dump shows up when I load it, and when is >>> built-in the dump shows up at boot time. Also when built-in the >>> problem seems to ocurr when device is reseted (on ehci_omap_stop) and >>> the first stack dump is followed by much more other dumps. At the end >>> I can see something like: "Fixing recursive fault but reboot is >>> needed!" >>> >>> >>> Here is the module info: >>> root@csi:~# modinfo ehci-hcd >>> filename: /lib/modules/2.6.37+/kernel/drivers/usb/host/ehci-hcd.ko >>> author: Felipe Balbi >>> author: Texas Instruments, Inc. >>> alias: platform:omap-ehci >>> license:GPL >>> author: David Brownell >>> description:USB 2.0 'Enhanced' Host Controller (EHCI) Driver >>> srcversion: B282C11CACFB9E75921367C >>> depends: >>> vermagic: 2.6.37+ mod_unload modversions ARMv7 >>> parm: log2_irq_thresh:log2 IRQ latency, 1-64 microframes (int) >>> parm: park:park setting; 1-3 back-to-back async packets (uint) >>> parm: ignore_oc:ignore bogus hardware overcurrent indications >>> (bool) >>> parm: hird:host initiated resume duration, +1 for each 75us >>> (int) >>> root@csi:~# >>> >>> >>> Best regards, >>> >>> 2015-11-23 17:55 GMT-02:00 Michael Trimarchi : Hi On Mon, Nov 23, 2015 at 8:05 PM, Daniel. wrote: > Hi Michael, > > It's a plain linux. I'm considering upgrading kernel as last option. > Variscite doesn't > support another kernel for this SoM so this would be a really hard > work. I'm looking > for a solution on this kernel and mainly trying to understand why > usbhost_48m_fck > is not getting enabled. I'm contacting Variscite in parallel. > Can you point me to te module description? I think that the module is working if it's compiled in. Correct? Michael > Thanks for your reply, best regards! > > 2015-11-23 16:57 GMT-02:00 Michael Trimarchi > : >> Hi Daniel >> >> >> On Mon, Nov 23, 2015 at 7:45 PM, Daniel. wrote: >>> Hi every body! >>> >>> I'm running a (2.6.37) kernel based on linux-omap tree >>> (http://arago-project.org/git/projects/?p=linux-omap3.git;a=summary). >>> The board is a SoM from Variscite (var-som-am3517). >>> >>> I've compiled the ehci-hcd as a module. When I enable it I got this >
[PATCH 05/14] ARM: am437x: cm-t43: dts: add NAND support
One of the CompuLab cm-t43 configurations comes with on-board NAND flash as primary storage. It is partitioned into kernel, dtb, and rootfs partitions. Add it to the device tree. Signed-off-by: Nikita Kiryanov Cc: Tony Lindgren Cc: Igor Grinberg Cc: Dmitry Lifshitz Cc: Ian Campbell --- arch/arm/boot/dts/am437x-cm-t43.dts | 78 + 1 file changed, 78 insertions(+) diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts b/arch/arm/boot/dts/am437x-cm-t43.dts index 0761383..370e4e8 100644 --- a/arch/arm/boot/dts/am437x-cm-t43.dts +++ b/arch/arm/boot/dts/am437x-cm-t43.dts @@ -54,6 +54,80 @@ >; }; + nand_flash_x8: nand_flash_x8 { + pinctrl-single,pins = < + AM4372_IOPAD(0x800, PIN_INPUT | PULL_DISABLE | MUX_MODE0) + AM4372_IOPAD(0x804, PIN_INPUT | PULL_DISABLE | MUX_MODE0) + AM4372_IOPAD(0x808, PIN_INPUT | PULL_DISABLE | MUX_MODE0) + AM4372_IOPAD(0x80c, PIN_INPUT | PULL_DISABLE | MUX_MODE0) + AM4372_IOPAD(0x810, PIN_INPUT | PULL_DISABLE | MUX_MODE0) + AM4372_IOPAD(0x814, PIN_INPUT | PULL_DISABLE | MUX_MODE0) + AM4372_IOPAD(0x818, PIN_INPUT | PULL_DISABLE | MUX_MODE0) + AM4372_IOPAD(0x81c, PIN_INPUT | PULL_DISABLE | MUX_MODE0) + AM4372_IOPAD(0x870, PIN_INPUT_PULLUP | MUX_MODE0) + AM4372_IOPAD(0x874, PIN_OUTPUT_PULLUP | MUX_MODE0) + AM4372_IOPAD(0x87c, PIN_OUTPUT_PULLUP | MUX_MODE0) + AM4372_IOPAD(0x898, PIN_OUTPUT_PULLDOWN | MUX_MODE0) + AM4372_IOPAD(0x894, PIN_OUTPUT_PULLDOWN | MUX_MODE0) + AM4372_IOPAD(0x890, PIN_OUTPUT_PULLDOWN | MUX_MODE0) + AM4372_IOPAD(0x89c, PIN_OUTPUT_PULLDOWN | MUX_MODE0) + >; + }; +}; + +&gpmc { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&nand_flash_x8>; + ranges = <0 0 0x0800 0x100>; + nand@0,0 { + reg = <0 0 0>; + ti,nand-ecc-opt = "bch8"; + ti,elm-id = <&elm>; + + nand-bus-width = <8>; + gpmc,device-width = <1>; + gpmc,sync-clk-ps = <0>; + gpmc,cs-on-ns = <0>; + gpmc,cs-rd-off-ns = <44>; + gpmc,cs-wr-off-ns = <44>; + gpmc,adv-on-ns = <6>; + gpmc,adv-rd-off-ns = <34>; + gpmc,adv-wr-off-ns = <44>; + gpmc,we-on-ns = <0>; + gpmc,we-off-ns = <40>; + gpmc,oe-on-ns = <0>; + gpmc,oe-off-ns = <54>; + gpmc,access-ns = <64>; + gpmc,rd-cycle-ns = <82>; + gpmc,wr-cycle-ns = <82>; + gpmc,wait-on-read = "true"; + gpmc,wait-on-write = "true"; + gpmc,bus-turnaround-ns = <0>; + gpmc,cycle2cycle-delay-ns = <0>; + gpmc,clk-activation-ns = <0>; + gpmc,wait-monitoring-ns = <0>; + gpmc,wr-access-ns = <40>; + gpmc,wr-data-mux-bus-ns = <0>; + + gpmc,wait-pin = <0>; + + #address-cells = <1>; + #size-cells = <1>; + /* MTD partition table */ + partition@0 { + label = "kernel"; + reg = <0x0 0x0098>; + }; + partition@98 { + label = "dtb"; + reg = <0x0098 0x0008>; + }; + partition@a0 { + label = "rootfs"; + reg = <0x00a0 0x0>; + }; + }; }; &i2c0 { @@ -187,6 +261,10 @@ }; }; +&elm { + status = "okay"; +}; + &uart0 { status = "okay"; }; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 03/14] ARM: am437x: cm-t43: dts: add PMIC support.
Add PMIC support for CompuLab cm-t43 module. For now we keep all regulators enabled until this could be refined with power management support. Signed-off-by: Nikita Kiryanov Cc: Tony Lindgren Cc: Igor Grinberg Cc: Dmitry Lifshitz Cc: Ian Campbell --- arch/arm/boot/dts/am437x-cm-t43.dts | 64 + 1 file changed, 64 insertions(+) diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts b/arch/arm/boot/dts/am437x-cm-t43.dts index a4cd2b8..7ef3971 100644 --- a/arch/arm/boot/dts/am437x-cm-t43.dts +++ b/arch/arm/boot/dts/am437x-cm-t43.dts @@ -52,6 +52,69 @@ pinctrl-0 = <&i2c0_pins>; clock-frequency = <10>; + tps65218: tps65218@24 { + compatible = "ti,tps65218"; + reg = <0x24>; + interrupts = ; /* NMIn */ + interrupt-parent = <&gic>; + interrupt-controller; + #interrupt-cells = <2>; + + dcdc1: regulator-dcdc1 { + compatible = "ti,tps65218-dcdc1"; + regulator-name = "vdd_core"; + regulator-min-microvolt = <912000>; + regulator-max-microvolt = <1144000>; + regulator-boot-on; + regulator-always-on; + }; + + dcdc2: regulator-dcdc2 { + compatible = "ti,tps65218-dcdc2"; + regulator-name = "vdd_mpu"; + regulator-min-microvolt = <912000>; + regulator-max-microvolt = <1378000>; + regulator-boot-on; + regulator-always-on; + }; + + dcdc3: regulator-dcdc3 { + compatible = "ti,tps65218-dcdc3"; + regulator-name = "vdcdc3"; + regulator-suspend-enable; + regulator-min-microvolt = <150>; + regulator-max-microvolt = <150>; + regulator-boot-on; + regulator-always-on; + }; + + dcdc5: regulator-dcdc5 { + compatible = "ti,tps65218-dcdc5"; + regulator-name = "v1_0bat"; + regulator-min-microvolt = <100>; + regulator-max-microvolt = <100>; + regulator-boot-on; + regulator-always-on; + }; + + dcdc6: regulator-dcdc6 { + compatible = "ti,tps65218-dcdc6"; + regulator-name = "v1_8bat"; + regulator-min-microvolt = <180>; + regulator-max-microvolt = <180>; + regulator-boot-on; + regulator-always-on; + }; + + ldo1: regulator-ldo1 { + compatible = "ti,tps65218-ldo1"; + regulator-min-microvolt = <180>; + regulator-max-microvolt = <180>; + regulator-boot-on; + regulator-always-on; + }; + }; + eeprom_module: at24@50 { compatible = "atmel,24c02"; reg = <0x50>; @@ -88,6 +151,7 @@ }; &cpu { + cpu0-supply = <&dcdc2>; operating-points = <100 133>, <80 126>, <72 120>, -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 14/14] ARM: am437x: cm-t43: dts: add lcd support
Add the necessary dss configuration to drive the startek lcd on CompuLab sbc-t43 single board computer. Signed-off-by: Nikita Kiryanov Cc: Tony Lindgren Cc: Igor Grinberg Cc: Dmitry Lifshitz Cc: Ian Campbell --- arch/arm/boot/dts/am437x-sbc-t43.dts | 65 1 file changed, 65 insertions(+) diff --git a/arch/arm/boot/dts/am437x-sbc-t43.dts b/arch/arm/boot/dts/am437x-sbc-t43.dts index b2c42d9..0758094 100644 --- a/arch/arm/boot/dts/am437x-sbc-t43.dts +++ b/arch/arm/boot/dts/am437x-sbc-t43.dts @@ -12,6 +12,10 @@ / { model = "CompuLab CM-T43 on SB-SOM-T43"; compatible = "compulab,am437x-sbc-t43","compulab,am437x-cm-t43","ti,am4372","ti,am43"; + + aliases { + display0 = &lcd0; + }; }; &am43xx_pinmux { @@ -28,6 +32,41 @@ >; }; + dss_pinctrl_default: dss_pinctrl_default { + pinctrl-single,pins = < + AM4372_IOPAD(0x9b0, PIN_OUTPUT_PULLUP | MUX_MODE2) /* cam0 hd -> DSS DATA 23 */ + AM4372_IOPAD(0x9b4, PIN_OUTPUT_PULLUP | MUX_MODE2) + AM4372_IOPAD(0x9b8, PIN_OUTPUT_PULLUP | MUX_MODE2) + AM4372_IOPAD(0x9bc, PIN_OUTPUT_PULLUP | MUX_MODE2) + AM4372_IOPAD(0x9c0, PIN_OUTPUT_PULLUP | MUX_MODE2) + AM4372_IOPAD(0x9c4, PIN_OUTPUT_PULLUP | MUX_MODE2) + AM4372_IOPAD(0x9c8, PIN_OUTPUT_PULLUP | MUX_MODE2) + AM4372_IOPAD(0x9cc, PIN_OUTPUT_PULLUP | MUX_MODE2) /* cam1 data 9 -> DSS DATA 16 */ + + AM4372_IOPAD(0x8a0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 0 */ + AM4372_IOPAD(0x8a4, PIN_OUTPUT_PULLUP | MUX_MODE0) + AM4372_IOPAD(0x8a8, PIN_OUTPUT_PULLUP | MUX_MODE0) + AM4372_IOPAD(0x8ac, PIN_OUTPUT_PULLUP | MUX_MODE0) + AM4372_IOPAD(0x8b0, PIN_OUTPUT_PULLUP | MUX_MODE0) + AM4372_IOPAD(0x8b4, PIN_OUTPUT_PULLUP | MUX_MODE0) + AM4372_IOPAD(0x8b8, PIN_OUTPUT_PULLUP | MUX_MODE0) + AM4372_IOPAD(0x8bc, PIN_OUTPUT_PULLUP | MUX_MODE0) + AM4372_IOPAD(0x8c0, PIN_OUTPUT_PULLUP | MUX_MODE0) + AM4372_IOPAD(0x8c4, PIN_OUTPUT_PULLUP | MUX_MODE0) + AM4372_IOPAD(0x8c8, PIN_OUTPUT_PULLUP | MUX_MODE0) + AM4372_IOPAD(0x8cc, PIN_OUTPUT_PULLUP | MUX_MODE0) + AM4372_IOPAD(0x8d0, PIN_OUTPUT_PULLUP | MUX_MODE0) + AM4372_IOPAD(0x8d4, PIN_OUTPUT_PULLUP | MUX_MODE0) + AM4372_IOPAD(0x8d8, PIN_OUTPUT_PULLUP | MUX_MODE0) + AM4372_IOPAD(0x8dc, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 15 */ + AM4372_IOPAD(0x8e0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS VSYNC */ + AM4372_IOPAD(0x8e4, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS HSYNC */ + AM4372_IOPAD(0x8e8, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS PCLK */ + AM4372_IOPAD(0x8ec, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS AC BIAS EN */ + AM4372_IOPAD(0xa20, PIN_OUTPUT_PULLUP | MUX_MODE7) + >; + }; + uart0_pins_default: uart0_pins_default { pinctrl-single,pins = < AM4372_IOPAD(0x968, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE0) @@ -99,6 +138,20 @@ wp-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>; }; +&dss { + status = "ok"; + + pinctrl-names = "default"; + pinctrl-0 = <&dss_pinctrl_default>; + + port { + dpi_lcd_out: endpoint@0 { + remote-endpoint = <&lcd_in>; + data-lines = <24>; + }; + }; +}; + &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pins_default>; @@ -114,3 +167,15 @@ pinctrl-0 = <&usb2_phy2_default>; }; +&lcd0 { + enable-gpios = <&pca9555 14 GPIO_ACTIVE_HIGH + &gpio4 28 GPIO_ACTIVE_HIGH>; + + port { + lcd_in: endpoint { + remote-endpoint = <&dpi_lcd_out>; + data-lines = <24>; + }; + }; +}; + -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 06/14] ARM: am437x: cm-t43: dts: add dual emac support
CM-T43 comes with 2 ethernet ports connected to the cpsw subsystem, which has 2 modes of operation: switch mode and dual emac mode. Add the relevant muxing and set it up to work in dual emac mode by default. Signed-off-by: Nikita Kiryanov Cc: Tony Lindgren Cc: Igor Grinberg Cc: Dmitry Lifshitz Cc: Ian Campbell --- arch/arm/boot/dts/am437x-cm-t43.dts | 66 + 1 file changed, 66 insertions(+) diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts b/arch/arm/boot/dts/am437x-cm-t43.dts index 370e4e8..856b2ce 100644 --- a/arch/arm/boot/dts/am437x-cm-t43.dts +++ b/arch/arm/boot/dts/am437x-cm-t43.dts @@ -73,6 +73,47 @@ AM4372_IOPAD(0x89c, PIN_OUTPUT_PULLDOWN | MUX_MODE0) >; }; + + cpsw_default: cpsw_default { + pinctrl-single,pins = < + /* Slave 1 */ + AM4372_IOPAD(0x914, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_txen */ + AM4372_IOPAD(0x918, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxdv.rgmii1_rxctl */ + AM4372_IOPAD(0x91c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_txd3 */ + AM4372_IOPAD(0x920, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_txd2 */ + AM4372_IOPAD(0x924, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_txd1 */ + AM4372_IOPAD(0x928, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_txd0 */ + AM4372_IOPAD(0x92c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rmii1_tclk */ + AM4372_IOPAD(0x930, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxclk.rmii1_rclk */ + AM4372_IOPAD(0x934, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rxd3 */ + AM4372_IOPAD(0x938, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rxd2 */ + AM4372_IOPAD(0x93c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rxd1 */ + AM4372_IOPAD(0x940, PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rxd0 */ + AM4372_IOPAD(0xa74, MUX_MODE3) + /* Slave 2 */ + AM4372_IOPAD(0x840, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a0.txen */ + AM4372_IOPAD(0x844, PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a1.rxctl */ + AM4372_IOPAD(0x848, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a2.txd3 */ + AM4372_IOPAD(0x84c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a3.txd2 */ + AM4372_IOPAD(0x850, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a4.txd1 */ + AM4372_IOPAD(0x854, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a5.txd0 */ + AM4372_IOPAD(0x858, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a6.tclk */ + AM4372_IOPAD(0x85c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a7.rclk */ + AM4372_IOPAD(0x860, PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a8.rxd3 */ + AM4372_IOPAD(0x864, PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a9.rxd2 */ + AM4372_IOPAD(0x868, PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a10.rxd1 */ + AM4372_IOPAD(0x86c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a11.rxd0 */ + AM4372_IOPAD(0xa38, MUX_MODE7) + >; + }; + + davinci_mdio_default: davinci_mdio_default { + pinctrl-single,pins = < + /* MDIO */ + AM4372_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */ + AM4372_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */ + >; + }; }; &gpmc { @@ -261,6 +302,31 @@ }; }; +&mac { + pinctrl-names = "default"; + pinctrl-0 = <&cpsw_default>; + dual_emac = <1>; + status = "okay"; +}; + +&davinci_mdio { + pinctrl-names = "default"; + pinctrl-0 = <&davinci_mdio_default>; + status = "okay"; +}; + +&cpsw_emac0 { + phy_id = <&davinci_mdio>, <0>; + phy-mode = "rgmii-txid"; + dual_emac_res_vlan = <1>; +}; + +&cpsw_emac1 { + phy_id = <&davinci_mdio>, <1>; + phy-mode = "rgmii-txid"; + dual_emac_res_vlan = <2>; +}; + &elm { status = "okay"; }; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 00/14] Add support for sbc-t43
This series adds support for CompuLab sbc-t43 single baseboard computer. sbc-t43 is composed of cm-t43 (the TI am437x based core module), and sb-som baseboard. The sbc-t43 features include: CPU:Texas Instruments Sitara AM4379 ARM Cortex-A9, 1GHz, or Texas Instruments Sitara AM4376 ARM Cortex-A9, 800MHz RAM:128MB - 1GB, DDR3-800, 32-bit data bua Storage:NAND flash, 128MB - 512MB, or eMMC flash, 4GB - 32GB SPI-flash 2MB Two 1000/100/10Mbps Ethernet ports WiFi/Bluetooth/NFC Audio codec SD-Card slot, up to 3 USB ports DVI/LCD connectors This series is based over v4.4-rc2-15-gcaa9c04 and depends on the following patch: https://lkml.org/lkml/2015/11/12/955 [pinctrl: Move am4372 and dra7 macros to the the SoC header files] Cc: Igor Grinberg Cc: Dmitry Lifshitz Cc: Tony Lindgren Cc: Ian Campbell Nikita Kiryanov (14): ARM: am437x: cm-t43: dts: add basic support for sbc-t43 ARM: am437x: cm-t43: dts: add support for module eeprom ARM: am437x: cm-t43: dts: add PMIC support. ARM: am437x: cm-t43: dts: add spi-flash support ARM: am437x: cm-t43: dts: add NAND support ARM: am437x: cm-t43: dts: add dual emac support ARM: am437x: cm-t43: dts: add USB support ARM: am437x: cm-t43: dts: add eMMC support ARM: am437x: cm-t43: dts: add touchscreen support ARM: am437x: cm-t43: dts: add pca9555 support ARM: am437x: cm-t43: dts: add support for baseboard eeprom ARM: sb-som: dts: introduce SB-SOM baseboard ARM: am437x: cm-t43: dts: add support for mmc1 ARM: am437x: cm-t43: dts: add lcd support .../devicetree/bindings/arm/compulab-boards.txt| 5 + .../devicetree/bindings/arm/omap/omap.txt | 6 + .../bindings/display/panel/startek,startek-kd050c | 4 + .../devicetree/bindings/vendor-prefixes.txt| 1 + arch/arm/boot/dts/Makefile | 6 +- arch/arm/boot/dts/am437x-cm-t43.dts| 423 + arch/arm/boot/dts/am437x-sbc-t43.dts | 181 + arch/arm/boot/dts/compulab-sb-som.dtsi | 42 ++ 8 files changed, 666 insertions(+), 2 deletions(-) create mode 100644 Documentation/devicetree/bindings/arm/compulab-boards.txt create mode 100644 Documentation/devicetree/bindings/display/panel/startek,startek-kd050c create mode 100644 arch/arm/boot/dts/am437x-cm-t43.dts create mode 100644 arch/arm/boot/dts/am437x-sbc-t43.dts create mode 100644 arch/arm/boot/dts/compulab-sb-som.dtsi -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 04/14] ARM: am437x: cm-t43: dts: add spi-flash support
CM-T43 has an on-board 2MB SPI-flash which stores U-Boot and the U-Boot environment. Add it to the device tree. Signed-off-by: Nikita Kiryanov Cc: Tony Lindgren Cc: Igor Grinberg Cc: Dmitry Lifshitz Cc: Ian Campbell --- arch/arm/boot/dts/am437x-cm-t43.dts | 41 + 1 file changed, 41 insertions(+) diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts b/arch/arm/boot/dts/am437x-cm-t43.dts index 7ef3971..0761383 100644 --- a/arch/arm/boot/dts/am437x-cm-t43.dts +++ b/arch/arm/boot/dts/am437x-cm-t43.dts @@ -44,6 +44,16 @@ AM4372_IOPAD(0x98c, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_scl.i2c0_scl */ >; }; + + spi0_pins: pinmux_spi0_pins { + pinctrl-single,pins = < + AM4372_IOPAD(0x950, PIN_INPUT | MUX_MODE0) /* spi0_sclk.spi0_sclk */ + AM4372_IOPAD(0x954, PIN_INPUT | MUX_MODE0) /* spi0_d0.spi0_d0 */ + AM4372_IOPAD(0x958, PIN_OUTPUT | MUX_MODE0) /* spi0_d1.spi0_d1 */ + AM4372_IOPAD(0x95C, PIN_OUTPUT | MUX_MODE0) /* spi0_cs0.spi0_cs0 */ + >; + }; + }; &i2c0 { @@ -146,6 +156,37 @@ status = "okay"; }; +&spi0 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&spi0_pins>; + dmas = <&edma 16 + &edma 17>; + dma-names = "tx0", "rx0"; + + flash: w25q64cvzpig@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <2000>; + partition@0 { + label = "uboot"; + reg = <0x0 0xc>; + }; + + partition@c { + label = "uboot environment"; + reg = <0xc 0x4>; + }; + + partition@10 { + label = "reserved"; + reg = <0x10 0x10>; + }; + }; +}; + &uart0 { status = "okay"; }; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 08/14] ARM: am437x: cm-t43: dts: add eMMC support
One of the CompuLab cm-t43 configurations comes with on-board eMMC as primary storage, residing on the mmc2 interface. Add it to the device tree. Signed-off-by: Nikita Kiryanov Cc: Tony Lindgren Cc: Igor Grinberg Cc: Dmitry Lifshitz Cc: Ian Campbell --- arch/arm/boot/dts/am437x-cm-t43.dts | 34 ++ 1 file changed, 34 insertions(+) diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts b/arch/arm/boot/dts/am437x-cm-t43.dts index 70d5c20..5ca4160 100644 --- a/arch/arm/boot/dts/am437x-cm-t43.dts +++ b/arch/arm/boot/dts/am437x-cm-t43.dts @@ -26,6 +26,16 @@ linux,default-trigger = "heartbeat"; }; }; + + vmmc_3v3: fixedregulator-v3_3 { + compatible = "regulator-fixed"; + regulator-name = "vmmc_3v3"; + regulator-min-microvolt = <330>; + regulator-max-microvolt = <330>; + regulator-always-on; + enable-active-high; + }; + }; &am43xx_pinmux { @@ -45,6 +55,21 @@ >; }; + emmc_pins: emmc_pins { + pinctrl-single,pins = < + AM4372_IOPAD(0x820, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_ad8.mmc1_dat0 */ + AM4372_IOPAD(0x824, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_ad9.mmc1_dat1 */ + AM4372_IOPAD(0x828, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_ad10.mmc1_dat2 */ + AM4372_IOPAD(0x82c, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_ad11.mmc1_dat3 */ + AM4372_IOPAD(0x830, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_ad12.mmc1_dat4 */ + AM4372_IOPAD(0x834, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_ad13.mmc1_dat5 */ + AM4372_IOPAD(0x838, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_ad14.mmc1_dat6 */ + AM4372_IOPAD(0x83c, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_ad15.mmc1_dat7 */ + AM4372_IOPAD(0x880, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */ + AM4372_IOPAD(0x884, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */ + >; + }; + spi0_pins: pinmux_spi0_pins { pinctrl-single,pins = < AM4372_IOPAD(0x950, PIN_INPUT | MUX_MODE0) /* spi0_sclk.spi0_sclk */ @@ -271,6 +296,15 @@ status = "okay"; }; +&mmc2 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&emmc_pins>; + vmmc-supply = <&vmmc_3v3>; + bus-width = <8>; + ti,non-removable; +}; + &spi0 { status = "okay"; pinctrl-names = "default"; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 11/14] ARM: am437x: cm-t43: dts: add support for baseboard eeprom
SB-SOM baseboard comes with an on-board EEPROM. On SBC-T43 this EEPROM resides on the i2c1 bus. Add it to the device tree. Signed-off-by: Nikita Kiryanov Cc: Tony Lindgren Cc: Igor Grinberg Cc: Dmitry Lifshitz Cc: Ian Campbell --- arch/arm/boot/dts/am437x-sbc-t43.dts | 6 ++ 1 file changed, 6 insertions(+) diff --git a/arch/arm/boot/dts/am437x-sbc-t43.dts b/arch/arm/boot/dts/am437x-sbc-t43.dts index b2e3201..7394aa1 100644 --- a/arch/arm/boot/dts/am437x-sbc-t43.dts +++ b/arch/arm/boot/dts/am437x-sbc-t43.dts @@ -61,6 +61,12 @@ gpio-controller; #gpio-cells = <2>; }; + + eeprom_base: at24@50 { + compatible = "atmel,24c02"; + reg = <0x50>; + pagesize = <16>; + }; }; &i2c2 { -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 10/14] ARM: am437x: cm-t43: dts: add pca9555 support
SB-SOM comes with a PCA9555 GPIO extender. On SBC-T43 this resides on the i2c1 bus. Add it to the device tree. Signed-off-by: Nikita Kiryanov Cc: Tony Lindgren Cc: Igor Grinberg Cc: Dmitry Lifshitz Cc: Ian Campbell --- arch/arm/boot/dts/am437x-sbc-t43.dts | 7 +++ 1 file changed, 7 insertions(+) diff --git a/arch/arm/boot/dts/am437x-sbc-t43.dts b/arch/arm/boot/dts/am437x-sbc-t43.dts index 5d2919e..b2e3201 100644 --- a/arch/arm/boot/dts/am437x-sbc-t43.dts +++ b/arch/arm/boot/dts/am437x-sbc-t43.dts @@ -54,6 +54,13 @@ status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&i2c1_pins>; + + pca9555: pca9555@20 { + compatible = "nxp,pca9555"; + reg = <0x20>; + gpio-controller; + #gpio-cells = <2>; + }; }; &i2c2 { -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 12/14] ARM: sb-som: dts: introduce SB-SOM baseboard
CompuLab SB-SOM baseboard is a carrier board for multiple arm-based SoMs. It currently supports (with minor adjustments to assembly) CM-T43, CM-T54, and CM-QS600 modules. It is a building block in the SBC-T43 single board computer, which consists of cm-t43 on top of sb-som-t43. Signed-off-by: Nikita Kiryanov Cc: Tony Lindgren Cc: Igor Grinberg Cc: Dmitry Lifshitz Cc: Ian Campbell --- .../devicetree/bindings/arm/compulab-boards.txt| 5 +++ .../bindings/display/panel/startek,startek-kd050c | 4 +++ .../devicetree/bindings/vendor-prefixes.txt| 1 + arch/arm/boot/dts/compulab-sb-som.dtsi | 42 ++ 4 files changed, 52 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/compulab-boards.txt create mode 100644 Documentation/devicetree/bindings/display/panel/startek,startek-kd050c create mode 100644 arch/arm/boot/dts/compulab-sb-som.dtsi diff --git a/Documentation/devicetree/bindings/arm/compulab-boards.txt b/Documentation/devicetree/bindings/arm/compulab-boards.txt new file mode 100644 index 000..3e742a5 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/compulab-boards.txt @@ -0,0 +1,5 @@ +CompuLab SB-SOM is a multi-module baseboard capable of carrying CM-T43, CM-T54, +and QS-600 modules with minor modifications to the SB-SOM assembly. + +Required root node properties: +- compatible = should be "compulab,sb-som" diff --git a/Documentation/devicetree/bindings/display/panel/startek,startek-kd050c b/Documentation/devicetree/bindings/display/panel/startek,startek-kd050c new file mode 100644 index 000..70cd8d1 --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/startek,startek-kd050c @@ -0,0 +1,4 @@ +Startek Electronic Technology Co. KD050C 5.0" WVGA TFT LCD panel + +Required properties: +- compatible: should be "startek,startek-kd050c" diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index 55df1d4..409b134 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt @@ -218,6 +218,7 @@ sonySony Corporation spansion Spansion Inc. sprd Spreadtrum Communications Inc. st STMicroelectronics +startekStartek steST-Ericsson stericsson ST-Ericsson synology Synology, Inc. diff --git a/arch/arm/boot/dts/compulab-sb-som.dtsi b/arch/arm/boot/dts/compulab-sb-som.dtsi new file mode 100644 index 000..402a143 --- /dev/null +++ b/arch/arm/boot/dts/compulab-sb-som.dtsi @@ -0,0 +1,42 @@ +/* + * Copyright (C) 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. + */ + +/ { + model = "CompuLab SB-SOM"; + compatible = "compulab,sb-som"; + + vsb_3v3: fixedregulator-v3_3 { + compatible = "regulator-fixed"; + regulator-name = "vsb_3v3"; + regulator-min-microvolt = <330>; + regulator-max-microvolt = <330>; + regulator-always-on; + enable-active-high; + }; + + lcd0: display { + compatible = "startek,startek-kd050c", "panel-dpi"; + label = "lcd"; + + panel-timing { + clock-frequency = <3300>; + hactive = <800>; + vactive = <480>; + hfront-porch = <40>; + hback-porch = <40>; + hsync-len = <43>; + vback-porch = <29>; + vfront-porch = <13>; + vsync-len = <3>; + hsync-active = <0>; + vsync-active = <0>; + de-active = <1>; + pixelclk-active = <1>; + }; + }; +}; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 13/14] ARM: am437x: cm-t43: dts: add support for mmc1
On SBC-T43 the mmc1 interface is connected to an SD-Card slot. Add the necessary muxing and configuration to the device tree. Signed-off-by: Nikita Kiryanov Cc: Tony Lindgren Cc: Igor Grinberg Cc: Dmitry Lifshitz Cc: Ian Campbell --- arch/arm/boot/dts/am437x-sbc-t43.dts | 24 1 file changed, 24 insertions(+) diff --git a/arch/arm/boot/dts/am437x-sbc-t43.dts b/arch/arm/boot/dts/am437x-sbc-t43.dts index 7394aa1..b2c42d9 100644 --- a/arch/arm/boot/dts/am437x-sbc-t43.dts +++ b/arch/arm/boot/dts/am437x-sbc-t43.dts @@ -7,6 +7,7 @@ */ #include "am437x-cm-t43.dts" +#include "compulab-sb-som.dtsi" / { model = "CompuLab CM-T43 on SB-SOM-T43"; @@ -14,6 +15,19 @@ }; &am43xx_pinmux { + mmc1_pins: pinmux_mmc1_pins { + pinctrl-single,pins = < + AM4372_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_clk.mmc0_clk */ + AM4372_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */ + AM4372_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */ + AM4372_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */ + AM4372_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */ + AM4372_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */ + AM4372_IOPAD(0x960, PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */ + AM4372_IOPAD(0x964, PIN_INPUT | MUX_MODE7) /* ecap0_in_pwm0_out.gpio0_7 */ + >; + }; + uart0_pins_default: uart0_pins_default { pinctrl-single,pins = < AM4372_IOPAD(0x968, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE0) @@ -75,6 +89,16 @@ pinctrl-0 = <&i2c2_pins>; }; +&mmc1 { + status = "okay"; + bus-width = <4>; + pinctrl-names = "default"; + pinctrl-0 = <&mmc1_pins>; + vmmc-supply = <&vsb_3v3>; + cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; + wp-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>; +}; + &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pins_default>; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 01/14] ARM: am437x: cm-t43: dts: add basic support for sbc-t43
Add basic support for SBC-T43: a CM-T43 based single board computer. CM-T43 is an AM437x based System-on-Module designed to serve as a building block in embedded applications. SBC-T43 is composed of CM-T43 module on top of the SB-SOM-T43 baseboard. Basic support includes UART, GPIO, and I2C. Signed-off-by: Nikita Kiryanov Cc: Tony Lindgren Cc: Igor Grinberg Cc: Dmitry Lifshitz Cc: Ian Campbell --- .../devicetree/bindings/arm/omap/omap.txt | 6 ++ arch/arm/boot/dts/Makefile | 6 +- arch/arm/boot/dts/am437x-cm-t43.dts| 90 ++ arch/arm/boot/dts/am437x-sbc-t43.dts | 57 ++ 4 files changed, 157 insertions(+), 2 deletions(-) create mode 100644 arch/arm/boot/dts/am437x-cm-t43.dts create mode 100644 arch/arm/boot/dts/am437x-sbc-t43.dts diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt index 9f4e513..da84372 100644 --- a/Documentation/devicetree/bindings/arm/omap/omap.txt +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt @@ -141,6 +141,12 @@ Boards: - OMAP5 EVM : Evaluation Module compatible = "ti,omap5-evm", "ti,omap5" +- AM437x CM-T43 + compatible = "compulab,am437x-cm-t43", "ti,am4372", "ti,am43" + +- AM437x SBC-T43 + compatible = "compulab,am437x-sbc-t43","compulab,am437x-cm-t43","ti,am4372","ti,am43" + - AM43x EPOS EVM compatible = "ti,am43x-epos-evm", "ti,am4372", "ti,am43" diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 30bbc37..dc3b9af 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -478,9 +478,11 @@ dtb-$(CONFIG_ARCH_OMAP4) += \ omap4-var-stk-om44.dtb dtb-$(CONFIG_SOC_AM43XX) += \ am43x-epos-evm.dtb \ - am437x-sk-evm.dtb \ + am437x-cm-t43.dtb \ + am437x-gp-evm.dtb \ am437x-idk-evm.dtb \ - am437x-gp-evm.dtb + am437x-sbc-t43.dtb \ + am437x-sk-evm.dtb dtb-$(CONFIG_SOC_OMAP5) += \ omap5-cm-t54.dtb \ omap5-igep0050.dtb \ diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts b/arch/arm/boot/dts/am437x-cm-t43.dts new file mode 100644 index 000..69887c4 --- /dev/null +++ b/arch/arm/boot/dts/am437x-cm-t43.dts @@ -0,0 +1,90 @@ +/* + * Copyright (C) 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. + */ + +/dts-v1/; + +#include +#include +#include +#include "am4372.dtsi" + +/ { + model = "CompuLab CM-T43"; + compatible = "compulab,am437x-cm-t43","ti,am4372","ti,am43"; + + leds { + compatible = "gpio-leds"; + + ledb { + label = "cm-t43:green"; + gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "heartbeat"; + }; + }; +}; + +&am43xx_pinmux { + pinctrl-names = "default"; + pinctrl-0 = <&cm_t43_led_pins>; + + cm_t43_led_pins: cm_t43_led_pins { + pinctrl-single,pins = < + AM4372_IOPAD(0xa78, MUX_MODE7) + >; + }; + + i2c0_pins: i2c0_pins { + pinctrl-single,pins = < + AM4372_IOPAD(0x988, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */ + AM4372_IOPAD(0x98c, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_scl.i2c0_scl */ + >; + }; +}; + +&i2c0 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&i2c0_pins>; + clock-frequency = <10>; +}; + +&gpio0 { + status = "okay"; +}; + +&gpio1 { + status = "okay"; +}; + +&gpio2 { + status = "okay"; +}; + +&gpio3 { + status = "okay"; +}; + +&gpio4 { + status = "okay"; +}; + +&gpio5 { + status = "okay"; +}; + +&uart0 { + status = "okay"; +}; + +&cpu { + operating-points = <100 133>, + <80 126>, + <72 120>, + <60 110>, + <30 95>; +}; diff --git a/arch/arm/boot/dts/am437x-sbc-t43.dts b/arch/arm/boot/dts/am437x-sbc-t43.dts new file mode 100644 index 000..f3cd76b --- /dev/null +++ b/arch/arm/boot/dts/am437x-sbc-t43.dts @@ -0,0 +1,57 @@ +/* + * Copyright (C) 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 "am437x-cm-t43.dts" + +/ { + model = "CompuLab CM-T43 on SB-SOM-T43"; + compatible = "compulab,am437x-sbc-t43","compulab,am437x-cm-t43","ti,am4372","ti,am43"; +}; + +&am43xx_pinmux { + uart
[PATCH 09/14] ARM: am437x: cm-t43: dts: add touchscreen support
AM437x has an internal touchscreen controller. Add support for it on cm-t43. Signed-off-by: Nikita Kiryanov Cc: Tony Lindgren Cc: Igor Grinberg Cc: Dmitry Lifshitz Cc: Ian Campbell --- arch/arm/boot/dts/am437x-cm-t43.dts | 14 ++ 1 file changed, 14 insertions(+) diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts b/arch/arm/boot/dts/am437x-cm-t43.dts index 5ca4160..1842087 100644 --- a/arch/arm/boot/dts/am437x-cm-t43.dts +++ b/arch/arm/boot/dts/am437x-cm-t43.dts @@ -399,6 +399,20 @@ status = "okay"; }; +&tscadc { + status = "okay"; + tsc { + ti,wires = <4>; + ti,x-plate-resistance = <200>; + ti,coordiante-readouts = <5>; + ti,wire-config = <0x00 0x11 0x22 0x33>; + }; + + adc { + ti,adc-channels = <4 5 6 7>; + }; +}; + &cpu { cpu0-supply = <&dcdc2>; operating-points = <100 133>, -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 07/14] ARM: am437x: cm-t43: dts: add USB support
Add USB support for CompuLab sbc-t43 single board computer, defaulting to host mode. Signed-off-by: Nikita Kiryanov Cc: Tony Lindgren Cc: Igor Grinberg Cc: Dmitry Lifshitz Cc: Ian Campbell --- arch/arm/boot/dts/am437x-cm-t43.dts | 30 ++ arch/arm/boot/dts/am437x-sbc-t43.dts | 22 ++ 2 files changed, 52 insertions(+) diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts b/arch/arm/boot/dts/am437x-cm-t43.dts index 856b2ce..70d5c20 100644 --- a/arch/arm/boot/dts/am437x-cm-t43.dts +++ b/arch/arm/boot/dts/am437x-cm-t43.dts @@ -327,6 +327,36 @@ dual_emac_res_vlan = <2>; }; +&dwc3_1 { + status = "okay"; +}; + +&usb2_phy1 { + status = "okay"; +}; + +&usb1 { + dr_mode = "host"; + status = "okay"; +}; + +&dwc3_2 { + status = "okay"; +}; + +&usb2_phy2 { + status = "okay"; +}; + +&usb2 { + dr_mode = "host"; + status = "okay"; + interrupts = , +, +; + interrupt-names = "peripheral", "host", "otg"; +}; + &elm { status = "okay"; }; diff --git a/arch/arm/boot/dts/am437x-sbc-t43.dts b/arch/arm/boot/dts/am437x-sbc-t43.dts index f3cd76b..5d2919e 100644 --- a/arch/arm/boot/dts/am437x-sbc-t43.dts +++ b/arch/arm/boot/dts/am437x-sbc-t43.dts @@ -36,6 +36,18 @@ AM4372_IOPAD(0x97c, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE3) /* uart1_rtsn.i2c2_scl */ >; }; + + usb2_phy1_default: usb2_phy1_default { + pinctrl-single,pins = < + AM4372_IOPAD(0xac0, DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE0) + >; + }; + + usb2_phy2_default: usb2_phy2_default { + pinctrl-single,pins = < + AM4372_IOPAD(0xac4, DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE0) + >; + }; }; &i2c1 { @@ -55,3 +67,13 @@ pinctrl-0 = <&uart0_pins_default>; }; +&dwc3_1 { + pinctrl-names = "default"; + pinctrl-0 = <&usb2_phy1_default>; +}; + +&dwc3_2 { + pinctrl-names = "default"; + pinctrl-0 = <&usb2_phy2_default>; +}; + -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 02/14] ARM: am437x: cm-t43: dts: add support for module eeprom
CM-T43 has an on-board EEPROM on i2c bus 0. Add it to the device tree. Signed-off-by: Nikita Kiryanov Cc: Tony Lindgren Cc: Igor Grinberg Cc: Dmitry Lifshitz Cc: Ian Campbell --- arch/arm/boot/dts/am437x-cm-t43.dts | 6 ++ 1 file changed, 6 insertions(+) diff --git a/arch/arm/boot/dts/am437x-cm-t43.dts b/arch/arm/boot/dts/am437x-cm-t43.dts index 69887c4..a4cd2b8 100644 --- a/arch/arm/boot/dts/am437x-cm-t43.dts +++ b/arch/arm/boot/dts/am437x-cm-t43.dts @@ -51,6 +51,12 @@ pinctrl-names = "default"; pinctrl-0 = <&i2c0_pins>; clock-frequency = <10>; + + eeprom_module: at24@50 { + compatible = "atmel,24c02"; + reg = <0x50>; + pagesize = <16>; + }; }; &gpio0 { -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: PCIe regression with DRA7xx in 4.4-rc1
Hi, On Tuesday 24 November 2015 05:44 PM, Jisheng Zhang wrote: > > > On Tue, 24 Nov 2015 17:31:07 +0530 > Kishon Vijay Abraham I wrote: > >> Hi, >> >> I'm seeing a regression with ("PCI: >> designware: Make driver arch-agnostic"). >> >> Logs using a SATA PCIe card [1]. The PCIe card enumerates fine but after >> that I >> observe "ata3.00: qc timeout (cmd 0xec), ata3.00: failed to IDENTIFY (I/O >> error, err_mask=0x4)" >> >> Logs using a Ethenet PCIe card [2]. Again here the PCIe card enumerates fine >> but when I give ifconfig up, it fails. >> >> If I just revert commit , the PCIe >> cards starts to work fine again > > FYI, maybe the patch can fix the regression. > http://lists.infradead.org/pipermail/linux-arm-kernel/2015-November/387362.html yes, it fixed. Thanks Kishon > >> >> Logs using a SATA PCIe card [3]. Here the KINGSTON SSD gets detected fine. >> Logs using a Ethernet PCIe card [4]. I'm able to do ping tests now. >> >> Actually I'm not able to find any obvious problems with the patch and the irq >> number and the memory resource also looks fine. Any idea what could be the >> problem? >> >> [1] -> http://pastebin.ubuntu.com/13491456/ >> [2] -> http://pastebin.ubuntu.com/13491526/ >> >> [3] -> http://pastebin.ubuntu.com/13491658/ >> [4] -> http://pastebin.ubuntu.com/13491593/ >> >> Thanks >> Kishon >> >> ___ >> linux-arm-kernel mailing list >> linux-arm-ker...@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: PCIe regression with DRA7xx in 4.4-rc1
Hi, On Tuesday 24 November 2015 05:38 PM, Gabriele Paoloni wrote: > Hi Kishon > >> -Original Message- >> From: Kishon Vijay Abraham I [mailto:kis...@ti.com] >> Sent: 24 November 2015 12:01 >> To: linux-...@vger.kernel.org; linux-ker...@vger.kernel.org; linux- >> o...@vger.kernel.org; james.mo...@arm.com; gabriel.fernan...@st.com; >> minghuan.l...@freescale.com; Wangzhou (B); Gabriele Paoloni; a...@arndb.de; >> bhelg...@google.com; pratyush.an...@gmail.com; Nori, Sekhar; >> jingooh...@gmail.com; linux-arm-ker...@lists.infradead.org >> Subject: PCIe regression with DRA7xx in 4.4-rc1 >> >> Hi, >> >> I'm seeing a regression with ("PCI: >> designware: Make driver arch-agnostic"). >> >> Logs using a SATA PCIe card [1]. The PCIe card enumerates fine but after that >> I >> observe "ata3.00: qc timeout (cmd 0xec), ata3.00: failed to IDENTIFY (I/O >> error, err_mask=0x4)" >> > > May this be related to the bug flagged in: > > [PATCH] PCI: designware: remove wrong io_base assignment > > [...] > diff --git a/drivers/pci/host/pcie-designware.c > b/drivers/pci/host/pcie-designware.c > index 540f077c37ea..02a7452bdf23 100644 > --- a/drivers/pci/host/pcie-designware.c > +++ b/drivers/pci/host/pcie-designware.c > @@ -440,7 +440,6 @@ int dw_pcie_host_init(struct pcie_port *pp) >ret, pp->io); > continue; > } > - pp->io_base = pp->io->start; > break; > case IORESOURCE_MEM: > pp->mem = win->res; > yes, this indeed solved the bug. Thanks Kishon -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: PCIe regression with DRA7xx in 4.4-rc1
On Tue, 24 Nov 2015 17:31:07 +0530 Kishon Vijay Abraham I wrote: > Hi, > > I'm seeing a regression with ("PCI: > designware: Make driver arch-agnostic"). > > Logs using a SATA PCIe card [1]. The PCIe card enumerates fine but after that > I > observe "ata3.00: qc timeout (cmd 0xec), ata3.00: failed to IDENTIFY (I/O > error, err_mask=0x4)" > > Logs using a Ethenet PCIe card [2]. Again here the PCIe card enumerates fine > but when I give ifconfig up, it fails. > > If I just revert commit , the PCIe > cards starts to work fine again FYI, maybe the patch can fix the regression. http://lists.infradead.org/pipermail/linux-arm-kernel/2015-November/387362.html > > Logs using a SATA PCIe card [3]. Here the KINGSTON SSD gets detected fine. > Logs using a Ethernet PCIe card [4]. I'm able to do ping tests now. > > Actually I'm not able to find any obvious problems with the patch and the irq > number and the memory resource also looks fine. Any idea what could be the > problem? > > [1] -> http://pastebin.ubuntu.com/13491456/ > [2] -> http://pastebin.ubuntu.com/13491526/ > > [3] -> http://pastebin.ubuntu.com/13491658/ > [4] -> http://pastebin.ubuntu.com/13491593/ > > Thanks > Kishon > > ___ > linux-arm-kernel mailing list > linux-arm-ker...@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: PCIe regression with DRA7xx in 4.4-rc1
Hi Kishon > -Original Message- > From: Kishon Vijay Abraham I [mailto:kis...@ti.com] > Sent: 24 November 2015 12:01 > To: linux-...@vger.kernel.org; linux-ker...@vger.kernel.org; linux- > o...@vger.kernel.org; james.mo...@arm.com; gabriel.fernan...@st.com; > minghuan.l...@freescale.com; Wangzhou (B); Gabriele Paoloni; a...@arndb.de; > bhelg...@google.com; pratyush.an...@gmail.com; Nori, Sekhar; > jingooh...@gmail.com; linux-arm-ker...@lists.infradead.org > Subject: PCIe regression with DRA7xx in 4.4-rc1 > > Hi, > > I'm seeing a regression with ("PCI: > designware: Make driver arch-agnostic"). > > Logs using a SATA PCIe card [1]. The PCIe card enumerates fine but after that > I > observe "ata3.00: qc timeout (cmd 0xec), ata3.00: failed to IDENTIFY (I/O > error, err_mask=0x4)" > May this be related to the bug flagged in: [PATCH] PCI: designware: remove wrong io_base assignment [...] diff --git a/drivers/pci/host/pcie-designware.c b/drivers/pci/host/pcie-designware.c index 540f077c37ea..02a7452bdf23 100644 --- a/drivers/pci/host/pcie-designware.c +++ b/drivers/pci/host/pcie-designware.c @@ -440,7 +440,6 @@ int dw_pcie_host_init(struct pcie_port *pp) ret, pp->io); continue; } - pp->io_base = pp->io->start; break; case IORESOURCE_MEM: pp->mem = win->res; -- 1.7.9.5 [...] Can you try to see if applying the patch above solves the issue? Thanks Gab > Logs using a Ethenet PCIe card [2]. Again here the PCIe card enumerates fine > but when I give ifconfig up, it fails. > > If I just revert commit , the PCIe > cards starts to work fine again > > Logs using a SATA PCIe card [3]. Here the KINGSTON SSD gets detected fine. > Logs using a Ethernet PCIe card [4]. I'm able to do ping tests now. > > Actually I'm not able to find any obvious problems with the patch and the irq > number and the memory resource also looks fine. Any idea what could be the > problem? > > [1] -> http://pastebin.ubuntu.com/13491456/ > [2] -> http://pastebin.ubuntu.com/13491526/ > > [3] -> http://pastebin.ubuntu.com/13491658/ > [4] -> http://pastebin.ubuntu.com/13491593/ > > Thanks > Kishon
PCIe regression with DRA7xx in 4.4-rc1
Hi, I'm seeing a regression with ("PCI: designware: Make driver arch-agnostic"). Logs using a SATA PCIe card [1]. The PCIe card enumerates fine but after that I observe "ata3.00: qc timeout (cmd 0xec), ata3.00: failed to IDENTIFY (I/O error, err_mask=0x4)" Logs using a Ethenet PCIe card [2]. Again here the PCIe card enumerates fine but when I give ifconfig up, it fails. If I just revert commit , the PCIe cards starts to work fine again Logs using a SATA PCIe card [3]. Here the KINGSTON SSD gets detected fine. Logs using a Ethernet PCIe card [4]. I'm able to do ping tests now. Actually I'm not able to find any obvious problems with the patch and the irq number and the memory resource also looks fine. Any idea what could be the problem? [1] -> http://pastebin.ubuntu.com/13491456/ [2] -> http://pastebin.ubuntu.com/13491526/ [3] -> http://pastebin.ubuntu.com/13491658/ [4] -> http://pastebin.ubuntu.com/13491593/ Thanks Kishon -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 1/3] video: omapdss: delete unneeded of_node_put
On 12/10/15 23:43, Julia Lawall wrote: > Device node iterators perform an of_node_put on each iteration, so putting > an of_node_put before a continue results in a double put. > > A simplified version of the semantic match that finds this problem is as > follows (http://coccinelle.lip6.fr): > > // > @@ > expression root,e; > local idexpression child; > iterator i; > @@ > > i(..., child, ...) { >... when != of_node_get(child) > * of_node_put(child); >... > * continue; > } > // > > Signed-off-by: Julia Lawall > > --- > drivers/video/fbdev/omap2/dss/omapdss-boot-init.c |4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) Thanks, queued for 4.5. Tomi signature.asc Description: OpenPGP digital signature
Re: [PATCH] OMAPDSS: DISPC: Remove boolean comparisons
On 15/10/15 15:29, Luis de Bethencourt wrote: > Boolean tests do not need explicit comparison to true or false. > > Signed-off-by: Luis de Bethencourt > --- > drivers/video/fbdev/omap2/dss/dispc-compat.c | 6 +++--- > drivers/video/fbdev/omap2/dss/dispc.c| 6 +++--- > drivers/video/fbdev/omap2/dss/manager.c | 2 +- > 3 files changed, 7 insertions(+), 7 deletions(-) > Thanks, queued for 4.5. Tomi signature.asc Description: OpenPGP digital signature
Re: [patch] OMAPDSS: DSI: cleanup DSI_IRQ_ERROR_MASK define
On 23/11/15 20:22, Dan Carpenter wrote: > DSI_IRQ_SYNC_LOST was ORed twice so we can remove one. > > Signed-off-by: Dan Carpenter > > diff --git a/drivers/video/fbdev/omap2/dss/dsi.c > b/drivers/video/fbdev/omap2/dss/dsi.c > index b3606de..e86df6d 100644 > --- a/drivers/video/fbdev/omap2/dss/dsi.c > +++ b/drivers/video/fbdev/omap2/dss/dsi.c > @@ -144,7 +144,7 @@ struct dsi_reg { u16 module; u16 idx; }; > #define DSI_IRQ_TA_TIMEOUT (1 << 20) > #define DSI_IRQ_ERROR_MASK \ > (DSI_IRQ_HS_TX_TIMEOUT | DSI_IRQ_LP_RX_TIMEOUT | DSI_IRQ_SYNC_LOST | \ > - DSI_IRQ_TA_TIMEOUT | DSI_IRQ_SYNC_LOST) > + DSI_IRQ_TA_TIMEOUT) > #define DSI_IRQ_CHANNEL_MASK 0xf > > /* Virtual channel interrupts */ > Thanks, queued for 4.5. Tomi signature.asc Description: OpenPGP digital signature
Re: [PATCH v2 2/4] clk: ti816x: Add missing dmtimer clkdev entries
On 11/13/2015 06:29 PM, Neil Armstrong wrote: Add missing clkdev dmtimer related entries for dm816x. 32Khz and ext sources were missing. Cc: Brian Hutchinson Acked-by: Tony Lindgren Signed-off-by: Neil Armstrong Your own sign-off should be at the top of the list, fixed this locally myself. Queued for 4.4-rc-fixes, thanks. -Tero --- drivers/clk/ti/clk-816x.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/clk/ti/clk-816x.c b/drivers/clk/ti/clk-816x.c index 1dfad0c..2a5d84f 100644 --- a/drivers/clk/ti/clk-816x.c +++ b/drivers/clk/ti/clk-816x.c @@ -20,6 +20,8 @@ static struct ti_dt_clk dm816x_clks[] = { DT_CLK(NULL, "sys_clkin", "sys_clkin_ck"), DT_CLK(NULL, "timer_sys_ck", "sys_clkin_ck"), DT_CLK(NULL, "sys_32k_ck", "sys_32k_ck"), + DT_CLK(NULL, "timer_32k_ck", "sysclk18_ck"), + DT_CLK(NULL, "timer_ext_ck", "tclkin_ck"), DT_CLK(NULL, "mpu_ck", "mpu_ck"), DT_CLK(NULL, "timer1_fck", "timer1_fck"), DT_CLK(NULL, "timer2_fck", "timer2_fck"), -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[GIT PULL] clk: ti: fixes for 4.4-rc
Hi Michael, Stephen, Here are some TI clock driver fixes for 4.4-rc. -Tero The following changes since commit 8005c49d9aea74d382f474ce11afbbc7d7130bec: Linux 4.4-rc1 (2015-11-15 17:00:27 -0800) are available in the git repository at: https://github.com/t-kristo/linux-pm.git for-4.4-rc/ti-clk-fixes for you to fetch changes up to 167af5ef2cdba14ff14a13c91e5532ed479083d8: clk: ti: drop locking code from mux/divider drivers (2015-11-24 11:30:27 +0200) Grygorii Strashko (1): clk: ti: drop locking code from mux/divider drivers Neil Armstrong (1): clk: ti816x: Add missing dmtimer clkdev entries Nicolas Pitre (2): clk: ti: clkt_dpll: fix wrong do_div() usage clk: ti: fapll: fix wrong do_div() usage drivers/clk/ti/clk-816x.c |2 ++ drivers/clk/ti/clkt_dpll.c |4 ++-- drivers/clk/ti/divider.c | 16 +++- drivers/clk/ti/fapll.c |4 ++-- drivers/clk/ti/mux.c | 15 +++ 5 files changed, 12 insertions(+), 29 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] clk: ti: drop locking code from mux/divider drivers
On 10/24/2015 12:10 AM, Grygorii Strashko wrote: On 10/01/2015 10:20 PM, Grygorii Strashko wrote: TI's mux and divider clock drivers do not require locking and they do not initialize internal spinlocks. This code was occasionally copy-posted from generic mux/divider drivers. So remove it. Cc: Tony Lindgren Cc: Sekhar Nori Signed-off-by: Grygorii Strashko --- Gentle ping. Queued for 4.4-rc-fixes, thanks. -Tero drivers/clk/ti/divider.c | 16 +++- drivers/clk/ti/mux.c | 15 +++ 2 files changed, 6 insertions(+), 25 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] ti/fapll: fix wrong do_div() usage
On 11/04/2015 06:17 AM, Nicolas Pitre wrote: do_div() is meant to be used with an unsigned dividend. Signed-off-by: Nicolas Pitre Fixed Subject locally to format "clk: ti: %s". Queued for 4.4-rc-fixes, thanks. -Tero diff --git a/drivers/clk/ti/fapll.c b/drivers/clk/ti/fapll.c index f4b2e9888b..66a0d0ed8b 100644 --- a/drivers/clk/ti/fapll.c +++ b/drivers/clk/ti/fapll.c @@ -168,7 +168,7 @@ static unsigned long ti_fapll_recalc_rate(struct clk_hw *hw, { struct fapll_data *fd = to_fapll(hw); u32 fapll_n, fapll_p, v; - long long rate; + u64 rate; if (ti_fapll_clock_is_bypass(fd)) return parent_rate; @@ -314,7 +314,7 @@ static unsigned long ti_fapll_synth_recalc_rate(struct clk_hw *hw, { struct fapll_synth *synth = to_synth(hw); u32 synth_div_m; - long long rate; + u64 rate; /* The audio_pll_clk1 is hardwired to produce 32.768KiHz clock */ if (!synth->div) -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] ti/clkt_dpll: fix wrong do_div() usage
On 11/04/2015 06:09 AM, Nicolas Pitre wrote: do_div() is meant to be used with an unsigned dividend. Signed-off-by: Nicolas Pitre Fixed Subject locally to format "clk: ti: %s". Queued for 4.4-rc fixes, thanks. -Tero diff --git a/drivers/clk/ti/clkt_dpll.c b/drivers/clk/ti/clkt_dpll.c index 9023ca9caf..b5cc6f66ae 100644 --- a/drivers/clk/ti/clkt_dpll.c +++ b/drivers/clk/ti/clkt_dpll.c @@ -240,7 +240,7 @@ u8 omap2_init_dpll_parent(struct clk_hw *hw) */ unsigned long omap2_get_dpll_rate(struct clk_hw_omap *clk) { - long long dpll_clk; + u64 dpll_clk; u32 dpll_mult, dpll_div, v; struct dpll_data *dd; @@ -262,7 +262,7 @@ unsigned long omap2_get_dpll_rate(struct clk_hw_omap *clk) dpll_div = v & dd->div1_mask; dpll_div >>= __ffs(dd->div1_mask); - dpll_clk = (long long)clk_get_rate(dd->clk_ref) * dpll_mult; + dpll_clk = (u64)clk_get_rate(dd->clk_ref) * dpll_mult; do_div(dpll_clk, dpll_div + 1); return dpll_clk; -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html