Commit efe20b42 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge branches 'samsung/exynos-dt2' and 'samsung/s3c24xx-dt2' into next/drivers



This is the merge base for samsung/common-clk-audio

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -102,6 +102,7 @@ Exynos4 SoC and this is specified where applicable.
  sclk_spi0_isp       174     Exynos4x12
  sclk_spi1_isp       175     Exynos4x12
  sclk_uart_isp       176     Exynos4x12
  sclk_fimg2d         177

	      [Peripheral Clock Gates]

@@ -129,7 +130,7 @@ Exynos4 SoC and this is specified where applicable.
  smmu_mfcl           274
  smmu_mfcr           275
  g3d                 276
  g2d                 277     Exynos4210
  g2d                 277
  rotator             278     Exynos4210
  mdma                279     Exynos4210
  smmu_g2d            280     Exynos4210
+5 −0
Original line number Diff line number Diff line
@@ -10,11 +10,16 @@ Required properties:
	  mapped region.

  - interrupts : G2D interrupt number to the CPU.
  - clocks : from common clock binding: handle to G2D clocks.
  - clock-names : from common clock binding: must contain "sclk_fimg2d" and
		  "fimg2d", corresponding to entries in the clocks property.

Example:
	g2d@12800000 {
		compatible = "samsung,s5pv210-g2d";
		reg = <0x12800000 0x1000>;
		interrupts = <0 89 0>;
		clocks = <&clock 177>, <&clock 277>;
		clock-names = "sclk_fimg2d", "fimg2d";
		status = "disabled";
	};
+5 −0
Original line number Diff line number Diff line
@@ -15,6 +15,9 @@ Required properties:
	  mapped region.

  - interrupts : MFC interrupt number to the CPU.
  - clocks : from common clock binding: handle to mfc clocks.
  - clock-names : from common clock binding: must contain "sclk_mfc" and "mfc",
		  corresponding to entries in the clocks property.

  - samsung,mfc-r : Base address of the first memory bank used by MFC
		    for DMA contiguous memory allocation and its size.
@@ -34,6 +37,8 @@ mfc: codec@13400000 {
	reg = <0x13400000 0x10000>;
	interrupts = <0 94 0>;
	samsung,power-domain = <&pd_mfc>;
	clocks = <&clock 170>, <&clock 273>;
	clock-names = "sclk_mfc", "mfc";
};

Board specific DT entry:
+42 −2
Original line number Diff line number Diff line
@@ -25,8 +25,18 @@ Required Properties:

  - gpio-controller: identifies the node as a gpio controller and pin bank.
  - #gpio-cells: number of cells in GPIO specifier. Since the generic GPIO
    binding is used, the amount of cells must be specified as 2. See generic
    GPIO binding documentation for description of particular cells.
    binding is used, the amount of cells must be specified as 2. See the below
    mentioned gpio binding representation for description of particular cells.

	Eg: <&gpx2 6 0>
	<[phandle of the gpio controller node]
	[pin number within the gpio controller]
	[flags]>

	Values for gpio specifier:
	- Pin number: is a value between 0 to 7.
	- Flags: 0 - Active High
		 1 - Active Low

- Pin mux/config groups as child nodes: The pin mux (selecting pin function
  mode) and pin config (pull up/down, driver strength) settings are represented
@@ -274,3 +284,33 @@ Example 4: Set up the default pin state for uart controller.

		pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
	}

Example 5: A display port client node that supports 'default' pinctrl state
	   and gpio binding.

	display-port-controller {
		/* ... */

		samsung,hpd-gpio = <&gpx2 6 0>;
		pinctrl-names = "default";
		pinctrl-0 = <&dp_hpd>;
	};

Example 6: Request the gpio for display port controller

	static int exynos_dp_probe(struct platform_device *pdev)
	{
		int hpd_gpio, ret;
		struct device *dev = &pdev->dev;
		struct device_node *dp_node = dev->of_node;

		/* ... */

		hpd_gpio = of_get_named_gpio(dp_node, "samsung,hpd-gpio", 0);

		/* ... */

		ret = devm_gpio_request_one(&pdev->dev, hpd_gpio, GPIOF_IN,
					    "hpd_gpio");
		/* ... */
	}
+34 −0
Original line number Diff line number Diff line
@@ -48,3 +48,37 @@ Example:
		clocks = <&clock 285>;
		clock-names = "usbhost";
	};

DWC3
Required properties:
 - compatible: should be "samsung,exynos5250-dwusb3" for USB 3.0 DWC3
	       controller.
 - #address-cells, #size-cells : should be '1' if the device has sub-nodes
				 with 'reg' property.
 - ranges: allows valid 1:1 translation between child's address space and
	   parent's address space
 - clocks: Clock IDs array as required by the controller.
 - clock-names: names of clocks correseponding to IDs in the clock property

Sub-nodes:
The dwc3 core should be added as subnode to Exynos dwc3 glue.
- dwc3 :
   The binding details of dwc3 can be found in:
   Documentation/devicetree/bindings/usb/dwc3.txt

Example:
	usb@12000000 {
		compatible = "samsung,exynos5250-dwusb3";
		clocks = <&clock 286>;
		clock-names = "usbdrd30";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		dwc3 {
			compatible = "synopsys,dwc3";
			reg = <0x12000000 0x10000>;
			interrupts = <0 72 0>;
			usb-phy = <&usb2_phy &usb3_phy>;
		};
	};
Loading