Commit b7b6be64 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'davinci-for-v4.19/dt' of...

Merge tag 'davinci-for-v4.19/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/dt

DaVinci Device-Tree updates for v4.19
-------------------------------------

* DA850 now uses clocks from device-tree
* DA850 EVM gains LCD (with backlight) and SATA support
* Lego Mindstorms gains bluetooth support
* DSP reset control support on DA850

* tag 'davinci-for-v4.19/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci

:
  ARM: dts: da850: Add power-domains to CPPI 4.1 node
  ARM: davinci: dts: add a reset control to the dsp node
  ARM: davinci: dts: make psc0 a reset provider
  ARM: dts: da850-lego-ev3: Add Bluetooth nodes
  ARM: dts: da850: Add power-domains to PWM nodes
  ARM: dts: da850: Add clocks
  dt-bindings: timer: new bindings for TI DaVinci timer
  ARM: dts: da850-evm: Enable LCD and backlight
  ARM: dts: da850-evm: Enable SATA port

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents f9228c38 3117c173
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
* Device tree bindings for Texas Instruments DaVinci timer

This document provides bindings for the 64-bit timer in the DaVinci
architecture devices. The timer can be configured as a general-purpose 64-bit
timer, dual general-purpose 32-bit timers. When configured as dual 32-bit
timers, each half can operate in conjunction (chain mode) or independently
(unchained mode) of each other.

The timer is a free running up-counter and can generate interrupts when the
counter reaches preset counter values.

Also see ../watchdog/davinci-wdt.txt for timers that are configurable as
watchdog timers.

Required properties:

- compatible : should be "ti,da830-timer".
- reg : specifies base physical address and count of the registers.
- interrupts : interrupts generated by the timer.
- interrupt-names: should be "tint12", "tint34", "cmpint0", "cmpint1",
		   "cmpint2", "cmpint3", "cmpint4", "cmpint5", "cmpint6",
		   "cmpint7" ("cmpintX" may be omitted if not present in the
		   hardware).
- clocks : the clock feeding the timer clock.

Example:

	clocksource: timer@20000 {
		compatible = "ti,da830-timer";
		reg = <0x20000 0x1000>;
		interrupts = <21>, <22>, <74>, <75>, <76>, <77>, <78>, <79>,
			     <80>, <81>;
		interrupt-names = "tint12", "tint34", "cmpint0", "cmpint1",
				  "cmpint2", "cmpint3", "cmpint4", "cmpint5",
				  "cmpint6", "cmpint7";
		clocks = <&pll0_auxclk>;
	};
+4 −0
Original line number Diff line number Diff line
@@ -35,6 +35,10 @@ eth0: ethernet@220000 {
	};
};

&ref_clk {
	clock-frequency = <24000000>;
};

&edma0 {
	ti,edma-reserved-slot-ranges = <32 50>;
};
+90 −1
Original line number Diff line number Diff line
@@ -27,6 +27,65 @@ aliases {
		spi0 = &spi1;
	};

	backlight: backlight-pwm {
		pinctrl-names = "default";
		pinctrl-0 = <&ecap2_pins>;
		power-supply = <&backlight_lcd>;
		compatible = "pwm-backlight";
		/*
		 * The PWM here corresponds to production hardware. The
		 * schematic needs to be 1015171 (15 March 2010), Rev A
		 * or newer.
		 */
		pwms = <&ecap2 0 50000 0>;
		brightness-levels = <0 10 20 30 40 50 60 70 80 90 99>;
		default-brightness-level = <7>;
	};

	panel {
		compatible = "ti,tilcdc,panel";
		pinctrl-names = "default";
		pinctrl-0 = <&lcd_pins>;
		/*
		 * The vpif and the LCD are mutually exclusive.
		 * To enable VPIF, change the status below to 'disabled' then
		 * then change the status of the vpif below to 'okay'
		 */
		status = "okay";
		enable-gpios = <&gpio 40 GPIO_ACTIVE_HIGH>; /* lcd_panel_pwr */

		panel-info {
			ac-bias		= <255>;
			ac-bias-intrpt	= <0>;
			dma-burst-sz	= <16>;
			bpp		= <16>;
			fdd		= <0x80>;
			sync-edge	= <0>;
			sync-ctrl	= <1>;
			raster-order	= <0>;
			fifo-th		= <0>;
		};

		display-timings {
			native-mode = <&timing0>;
			timing0: 480x272 {
				clock-frequency = <9000000>;
				hactive = <480>;
				vactive = <272>;
				hfront-porch = <3>;
				hback-porch = <2>;
				hsync-len = <42>;
				vback-porch = <3>;
				vfront-porch = <4>;
				vsync-len = <11>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <1>;
			};
		};
	};

	vbat: fixedregulator0 {
		compatible = "regulator-fixed";
		regulator-name = "vbat";
@@ -35,6 +94,15 @@ vbat: fixedregulator0 {
		regulator-boot-on;
	};

	backlight_lcd: backlight-regulator {
		compatible = "regulator-fixed";
		regulator-name = "lcd_backlight_pwr";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&gpio 47 GPIO_ACTIVE_HIGH>; /* lcd_backlight_pwr */
		enable-active-high;
	};

	sound {
		compatible = "simple-audio-card";
		simple-audio-card,name = "DA850/OMAP-L138 EVM";
@@ -63,6 +131,14 @@ link0_codec: simple-audio-card,codec {
	};
};

&ecap2 {
	status = "okay";
};

&ref_clk {
	clock-frequency = <24000000>;
};

&pmx_core {
	status = "okay";

@@ -93,6 +169,10 @@ nand_pins: nand_pins {
	};
};

&sata {
	status = "okay";
};

&serial0 {
	status = "okay";
};
@@ -109,6 +189,10 @@ &rtc0 {
	status = "okay";
};

&lcdc {
	status = "okay";
};

&i2c0 {
	status = "okay";
	clock-frequency = <100000>;
@@ -336,5 +420,10 @@ &usb1 {
&vpif {
	pinctrl-names = "default";
	pinctrl-0 = <&vpif_capture_pins>, <&vpif_display_pins>;
	status = "okay";
	/*
	 * The vpif and the LCD are mutually exclusive.
	 * To enable VPIF, disable the ti,tilcdc,panel then
	 * change the status below to 'okay'
	 */
	status = "disabled";
};
+9 −0
Original line number Diff line number Diff line
@@ -123,6 +123,10 @@ vga_con_in: endpoint {
	};
};

&ref_clk {
	clock-frequency = <24000000>;
};

&pmx_core {
	status = "okay";

@@ -175,6 +179,11 @@ &gpio {
	status = "okay";
};

&sata_refclk {
	status = "okay";
	clock-frequency = <100000000>;
};

&sata {
	status = "okay";
};
+86 −0
Original line number Diff line number Diff line
@@ -173,6 +173,15 @@ battery {
		rechargeable-gpios = <&gpio 136 GPIO_ACTIVE_LOW>;
	};

	bt_slow_clk: bt-clock {
		pinctrl-names = "default";
		pinctrl-0 = <&ecap2_pins>, <&bt_clock_bias>;
		compatible = "pwm-clock";
		#clock-cells = <0>;
		clock-frequency = <32768>;
		pwms = <&ecap2 0 30518 0>;
	};

	/* ARM local RAM */
	memory@ffff0000 {
		compatible = "syscon", "simple-mfd";
@@ -191,6 +200,10 @@ reboot-mode {
	};
};

&ref_clk {
	clock-frequency = <24000000>;
};

&pmx_core {
	status = "okay";

@@ -212,6 +225,20 @@ disable {
			bias-disable;
		};
	};

	bt_clock_bias: bt-clock-bias-groups {
		disable {
			groups = "cp2";
			bias-disable;
		};
	};

	bt_pic_bias: bt-pic-bias-groups {
		disable {
			groups = "cp20";
			bias-disable;
		};
	};
};

/* Input port 1 */
@@ -221,6 +248,22 @@ &serial1 {
	pinctrl-0 = <&serial1_rxtx_pins>;
};

&serial2 {
	pinctrl-names = "default";
	pinctrl-0 = <&serial2_rxtx_pins>, <&serial2_rtscts_pins>, <&bt_pic_bias>;
	status = "okay";

	bluetooth {
		compatible = "ti,cc2560";
		clocks = <&bt_slow_clk>;
		clock-names = "ext_clock";
		enable-gpios = <&gpio 73 GPIO_ACTIVE_HIGH>;
		max-speed = <2000000>;
		nvmem-cells = <&bdaddr>;
		nvmem-cell-names = "bd-address";
	};
};

&rtc0 {
	status = "okay";
};
@@ -239,6 +282,12 @@ eeprom@50 {
		pagesize = <64>;
		read-only;
		reg = <0x50>;
		#address-cells = <1>;
		#size-cells = <1>;

		bdaddr: bdaddr@3f06 {
			reg = <0x3f06 0x06>;
		};
	};
};

@@ -323,6 +372,10 @@ display@0{
	};
};

&ecap2 {
	status = "okay";
};

&ehrpwm0 {
	status = "okay";
};
@@ -336,6 +389,39 @@ batt_volt_en {
		gpios = <6 GPIO_ACTIVE_HIGH>;
		output-high;
	};

	/* Don't impede Bluetooth clock signal */
	bt_clock_en {
		gpio-hog;
		gpios = <5 GPIO_ACTIVE_HIGH>;
		input;
	};

	/*
	 * There is a PIC microcontroller for interfacing with an Apple MFi
	 * chip. This interferes with normal Bluetooth operation, so we need
	 * to make sure it is turned off. Note: The publicly available
	 * schematics from LEGO don't show that these pins are connected to
	 * anything, but they are present in the source code from LEGO.
	 */

	bt_pic_en {
		gpio-hog;
		gpios = <51 GPIO_ACTIVE_HIGH>;
		output-low;
	};

	bt_pic_rst {
		gpio-hog;
		gpios = <78 GPIO_ACTIVE_HIGH>;
		output-high;
	};

	bt_pic_cts {
		gpio-hog;
		gpios = <87 GPIO_ACTIVE_HIGH>;
		input;
	};
};

&usb_phy {
Loading