[PATCH V3 2/2] dt-bindings: Document the Rockchip RK1608 bindings
From: Wen Nuan
Date: Mon Mar 05 2018 - 21:00:01 EST
From: Leo Wen <leo.wen@xxxxxxxxxxxxxx>
Add DT bindings documentation for Rockchip RK1608.
Changes V3:
- Instead use the *-gpios.
- Delete the rockchip,powerdown0 and rockchip,powerdown1 GPIO.
- Delete the rockchip,reset0 and rockchip,reset1 GPIO.
Signed-off-by: Leo Wen <leo.wen@xxxxxxxxxxxxxx>
---
Documentation/devicetree/bindings/media/rk1608.txt | 87 ++++++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 88 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/rk1608.txt
diff --git a/Documentation/devicetree/bindings/media/rk1608.txt b/Documentation/devicetree/bindings/media/rk1608.txt
new file mode 100644
index 0000000..72b01da
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/rk1608.txt
@@ -0,0 +1,87 @@
+Rockchip RK1608 as a PreISP to link on Soc
+------------------------------------------
+
+Required properties:
+
+- compatible : "rockchip,rk1608";
+- reg : SPI slave address of the rk1608;
+- clocks : Must contain an entry for each entry in clock-names;
+- clock-names : Must contain "mclk" for the device's master clock;
+- reset-gpios : GPIO connected to reset pin;
+- irq-gpios : GPIO connected to irq pin;
+- sleepst-gpios : GPIO connected to sleepst pin;
+- wakeup-gpios : GPIO connected to wakeup pin;
+- powerdown-gpios : GPIO connected to powerdown pin;
+- pinctrl-names : Should contain only one value - "default";
+- pinctrl-0 : Pin control group to be used for this controller;
+
+Optional properties:
+
+- spi-max-frequency : Maximum SPI clocking speed of the device;
+
+The device node should contain one 'port' child node with one child 'endpoint'
+node, according to the bindings defined in Documentation/devicetree/bindings/
+media/video-interfaces.txt. The following are properties specific to those
+nodes.
+
+endpoint node
+-------------
+
+- data-lanes : (optional) specifies MIPI CSI-2 data lanes as covered in
+ video-interfaces.txt. If present it should be <1> - the device
+ supports only one data lane without re-mapping.
+
+Note1: Since no data is generated in RK1608ïso this is meaningful that you need
+a extra sensor (such as a camera) mounted on RK1608. You need to use endpoint@x
+to match these sensors.
+
+Note2:You must set the current value of the spi pins to be 8mA, if they are not.
+
+Example:
+&spi0 {
+ status = "okay";
+ spi_rk1608@00 {
+ compatible = "rockchip,rk1608";
+ status = "okay";
+ reg = <0>;
+ spi-max-frequency = <24000000>;
+ link-freqs = /bits/ 64 <LINK_FREQ>;
+ clocks = <&cru SCLK_SPI0>, <&cru SCLK_VIP_OUT>,
+ <&cru DCLK_VOP0>, <&cru ACLK_VIP>, <&cru HCLK_VIP>,
+ <&cru PCLK_ISP_IN>, <&cru PCLK_ISP_IN>,
+ <&cru PCLK_ISP_IN>, <&cru SCLK_MIPIDSI_24M>,
+ <&cru PCLK_MIPI_CSI>;
+ clock-names = "mclk", "mipi_clk", "pd_cif", "aclk_cif",
+ "hclk_cif", "cif0_in", "g_pclkin_cif",
+ "cif0_out", "clk_mipi_24m", "hclk_mipiphy";
+ reset-gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>;
+ irq-gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>;
+ sleepst-gpios = <&gpio6 1 GPIO_ACTIVE_HIGH>;
+ wakeup-gpios = <&gpio6 4 GPIO_ACTIVE_HIGH>;
+ powerdown-gpios = <&gpio8 0 GPIO_ACTIVE_HIGH>;
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&rk1608_irq_gpios &rk1608_wake_gpios
+ &rk1608_sleep_gpios>;
+
+ port@0 {
+ mipi_dphy_out: endpoint {
+ remote-endpoint = <&mipi_dphy_in>;
+ clock-lanes = <0>;
+ data-lanes = <1 2 3 4>;
+ clock-noncontinuous;
+ link-frequencies =
+ /bits/ 64 <LINK_FREQ>;
+ };
+ };
+ /* Example: we have two cameras */
+ port@1 {
+ sensor_in0: endpoint@0 {
+ remote-endpoint = <&sensor_out0>;
+ };
+ sensor_in1: endpoint@1 {
+ remote-endpoint = <&sensor_out1>;
+ };
+ };
+ };
+};
diff --git a/MAINTAINERS b/MAINTAINERS
index b2a98e3..04d227b 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -141,6 +141,7 @@ M: Leo Wen <leo.wen@xxxxxxxxxxxxxx>
S: Maintained
F: drivers/media/spi/rk1608.c
F: drivers/media/spi/rk1608.h
+F: Documentation/devicetree/bindings/media/rk1608.txt
3C59X NETWORK DRIVER
M: Steffen Klassert <klassert@xxxxxxxxxxxxxxxxxxxxxxxxx>
--
2.7.4