devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sebastian Reichel <sre@debian.org>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	linux-media@vger.kernel.org
Cc: devicetree@vger.kernel.org, Rob Herring <rob.herring@calxeda.com>,
	Pawel Moll <pawel.moll@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Stephen Warren <swarren@wwwdotorg.org>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Sebastian Reichel <sre@debian.org>
Subject: [early RFC] Device Tree bindings for OMAP3 Camera Subsystem
Date: Sun, 3 Nov 2013 23:03:15 +0100	[thread overview]
Message-ID: <20131103220315.GA11659@earth.universe> (raw)

[-- Attachment #1: Type: text/plain, Size: 4324 bytes --]

Hi,

This is an early RFC for omap3isp DT support. For now i just created a potential DT
binding documentation based on the existing platform data:

Binding for the OMAP3 Camera subsystem with the image signal processor (ISP) feature.

omap3isp node
-------------

Required properties:

- compatible	: should be "ti,omap3isp" for OMAP3;
- reg		: physical addresses and length of the registers set;
- clocks	: list of clock specifiers, corresponding to entries in
		  clock-names property;
- clock-names	: must contain "cam_ick", "cam_mclk", "csi2_96m_fck",
		  "l3_ick" entries, matching entries in the clocks property;
- interrupts	: must contain mmu interrupt;
- ti,iommu	: phandle to isp mmu;

Optional properties:

- VDD_CSIPHY1-supply	: regulator for csi phy1
- VDD_CSIPHY2-supply	: regulator for csi phy2
- ti,isp-xclk-1		: device(s) attached to ISP's first external clock
- ti,isp-xclk-2		: device(s) attached to ISP's second external clock

device-group subnode
--------------------

Required properties:
- ti,isp-interface-type	: Integer describing the interface type, one of the following
   * 0 = ISP_INTERFACE_PARALLEL
   * 1 = ISP_INTERFACE_CSI2A_PHY2
   * 2 = ISP_INTERFACE_CCP2B_PHY1
   * 3 = ISP_INTERFACE_CCP2B_PHY2
   * 4 = ISP_INTERFACE_CSI2C_PHY1
- ti,isp-devices	: Array of phandles to devices connected via the interface
- One of the following configuration nodes (depending on ti,isp-interface-type)
 - ti,ccp2-bus-cfg	: CCP2 bus configuration (needed for ISP_INTERFACE_CCP*)
 - ti,parallel-bus-cfg	: PARALLEL bus configuration (needed for ISP_INTERFACE_PARALLEL)
 - ti,csi2-bus-cfg	: CSI bus configuration (needed for ISP_INTERFACE_CSI*)

ccp2-bus-cfg subnode
--------------------

Required properties:
- ti,video-port-clock-divisor	: integer; used for video port output clock control

Optional properties:
- ti,inverted-clock		: boolean; clock/strobe signal is inverted
- ti,enable-crc			: boolean; enable crc checking
- ti,ccp2-mode-mipi		: boolean; port is used in MIPI-CSI1 mode (default: CCP2 mode)
- ti,phy-layer-is-strobe	: boolean; use data/strobe physical layer (default: data/clock physical layer)
- ti,data-lane-configuration	: integer array with position and polarity information for lane 1 and 2
- ti,clock-lane-configuration	: integer array with position and polarity information for clock lane

parallel-bus-cfg subnode
------------------------

Required properties:
- ti,data-lane-shift				: integer; shift data lanes by this amount

Optional properties:
- ti,clock-falling-edge				: boolean; sample on falling edge (default: rising edge)
- ti,horizontal-synchronization-active-low	: boolean; default: active high
- ti,vertical-synchronization-active-low	: boolean; default: active high
- ti,data-polarity-ones-complement		: boolean; data polarity is one's complement

csi2-bus-cfg subnode
--------------------

Required properties:
- ti,video-port-clock-divisor	: integer; used for video port output clock control

Optional properties:
- ti,data-lane-configuration	: integer array with position and polarity information for lane 1 and 2
- ti,clock-lane-configuration	: integer array with position and polarity information for clock lane
- ti,enable-crc			: boolean; enable crc checking

Example for Nokia N900
----------------------

omap3isp: isp@480BC000 {
	compatible = "ti,omap3isp";
	reg = <
		/* OMAP3430+ */
		0x480BC000 0x070	/* base */
		0x480BC100 0x078	/* cbuf */
		0x480BC400 0x1F0 	/* cpp2 */
		0x480BC600 0x0A8	/* ccdc */
		0x480BCA00 0x048	/* hist */
		0x480BCC00 0x060	/* h3a  */
		0x480BCE00 0x0A0	/* prev */
		0x480BD000 0x0AC	/* resz */
		0x480BD200 0x0FC	/* sbl  */
		0x480BD400 0x070	/* mmu  */
	>;

	clocks = < &cam_ick &cam_mclk &csi2_96m_fck &l3_ick >;
	clock-names = "cam_ick", "cam_mclk", "csi2_96m_fck", "l3_ick";

	interrupts = <24>;

	ti,iommu = <&mmu_isp>;

	ti,isp-xclk-1 = <
		&et8ek8
		&smiapp_dfl
	>;

	group1: device-group@0 {
		ti,isp-interface-type = <2>;

		ti,isp-devices = <
			&et8ek8
			&ad5820
			&adp1653
		>;

		ti,ccp2-bus-cfg {
			ti,enable-crc;
			ti,phy-layer-is-strobe;
			ti,video-port-clock-divisor = <1>;
		};
	};

	group2: device-group@1 {
		ti,isp-interface-type = <2>;

		ti,isp-devices = <
			&smiapp_dfl
		>;

		ti,ccp2-bus-cfg {
			ti,enable-crc;
			ti,phy-layer-is-strobe;
			ti,video-port-clock-divisor = <1>;
		};
	};
};

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

             reply	other threads:[~2013-11-03 22:03 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-03 22:03 Sebastian Reichel [this message]
2013-11-04 19:49 ` [early RFC] Device Tree bindings for OMAP3 Camera Subsystem jean-philippe francois
2013-11-06  0:48 ` Laurent Pinchart
2013-11-15 17:18 ` Mark Rutland
2014-01-15 19:41 ` [RFCv2] Device Tree bindings for OMAP3 Camera System Sebastian Reichel
2014-01-20  4:19   ` Sakari Ailus
2014-01-20 22:16     ` Sylwester Nawrocki
2014-01-20 23:27       ` Sebastian Reichel
2014-01-22 22:27         ` Sylwester Nawrocki
2014-01-22 22:57           ` Laurent Pinchart
2014-01-23  0:11             ` Sebastian Reichel
2014-01-23 11:44               ` Laurent Pinchart
2014-02-01  9:39         ` Sakari Ailus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131103220315.GA11659@earth.universe \
    --to=sre@debian.org \
    --cc=devicetree@vger.kernel.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=pawel.moll@arm.com \
    --cc=rob.herring@calxeda.com \
    --cc=swarren@wwwdotorg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).