* Realtek video-in controller

this module contains rts_mcu, rts_isp_mfd, rts_isp, rts_zoom, rts_md,
rts_soc_camera.

1) rts_mcu

Required properties:
- compatible: Should be "realtek,rts3903-mcu"
- reg: Address and length of the register set for the device
- interrupt-parent: Phandle of the parent interrupt controller
- interrupts: Should contain the isp interrupt number
- clocks: Clock for mcu clk and hclk
- clock-names: Name of clock
- resets: List of phandle and reset specifier pairs, one pair for
each reset signal that affects the device
- reset-names: List of reset signal name strings sorted in the same order as
the resets property
- subdev: Yes or no
- fw-size: Length of MCU firmware
- use-pmu: Yes or no
- io-supply: Io power supply
- analog-supply: Analog power supply
- core-supply: Core power supply
- status: Either "ok" or "disabled"
- isp-cmd: Configuration of isp cmd

Example:
	rts_mcu: rts_mcu@18040000 {
		compatible = "realtek,rts3903-mcu";
		reg = <0x18040000 0x00010000>;
		interrupt-parent = <&vecintc>;
		interrupts = <BSP_IRQ_VIDEOIN>;
		clocks = <&clks RLX_CLK_MCU_CK>, \
				<&clks RLX_CLK_SYS_PLL3>;
		clock-names = "mcu_clk", "hclk";
		resets = <&reset FORCE_RESET_MCU_PREPARE>, \
				<&reset FORCE_RESET_MCU_DONE>, \
				<&reset FORCE_RESET_VIDEO>, \
				<&reset FORCE_RESET_ISP>, \
				<&reset FORCE_RESET_MIPI>;
		reset-names = "mcu_prepare", \
				"mcu_done", \
				"video", \
				"isp", \
				"mipi";
		subdev;
		fw-size = <262144>;
		use-pmu;
		io-supply = <&ldo3_reg>;
		analog-supply = <&ldo5_reg>;
		core-supply = <&dcdc2_reg>;
		status = "disabled";

		isp-cmd {
			#address-cells = <1>;
			#size-cells = <1>;
			read {
				reg = <0x00001100 48>;
			};
			write {
				reg = <0x00001000 16>;
			};
		};
	}

2) rts_soc_camera

Required properties:
- compatible: Should be "realtek,rts3903-videoin" or "realtek,rts3915-videoin"
- reg: Address and length of the register set for the device
- interrupt-parent: Phandle of the parent interrupt controller
- interrupts: Should contain the video-in interrupt number
- devtype: Hardware version
- hw-id: Hardware id
- is-fpga: Yes or no
- isp-buffer-config: Configuration of isp buffer
- td-config: Configuration of TD
- status: Either "ok" or "disabled"

Example:
	rts_soc_camera: rts_soc_camera@18040000 {
		compatible = "realtek,rts3903-videoin";
		reg = <0x18040000 0x00010000>;
		interrupt-parent = <&vecintc>;
		interrupts = <BSP_IRQ_VIDEOIN>;
		devtype = "rts3913";
		hw-id = <4>;
		is-fpga;
		isp-buffer-config = <&icfg0>, <&icfg1>, \
					<&icfg2>, <&icfg3>;
		td-config = <&tdcfg>;
		status = "disabled";
	};

3) rts_isp_mfd

Required properties:
- compatible: Should be "realtek,rts3915-isp-mfd"
- reg: Address and length of the register set for the device
- reg-region: Address and length of the register set for the child mfds
- interrupt-parent: Phandle of the parent interrupt controller
- interrupts: Should contain the video-in interrupt number
- clocks: Clock for isp clk
- clock-names: Name of clock
- resets: List of phandle and reset specifier pairs, one pair for
each reset signal that affects the device
- reset-names: List of reset signal name strings sorted in the same order as
the resets property
- status: Either "ok" or "disabled"

4) rts_isp

Required properties:
- compatible: Should be "realtek,rts3915-isp"
- reg: Address and length of the register set for the device
- interrupt-parent: Phandle of the parent interrupt controller
- interrupts: Should contain the isp interrupt number
- clocks: Clock for mipi rx clk, mipi tx clk and hclk
- clock-names: Name of clock
- resets: List of phandle and reset specifier pairs, one pair for
  each reset signal that affects the device
- reset-names: List of reset signal name strings sorted in the same order as
  the resets property
- pinctrl-names: List of pinctrl name strings sorted in the same order as
  the pinctrl-0/1/2 property
- pinctrl-0/1/2: List of phandle of pinctrl states
- rst-gpio: Reset gpio for sensor power configuration
- pwdn-gpio: Pwdn gpio for sensor power configuration
- video-i2c: I2C adapter for sensor configuration
- io-supply: Io power supply
- analog-supply: Analog power supply
- core-supply: Core power supply
- tnr-bit: Bit depth configuration for TNR, 8 or 12, default 12
- tnr-config: Configuration of TNR
- statis-config: Configuration of ISP statis
- status: Either "ok" or "disabled"

Example:
    rts_isp: rts_isp@18a00000 {
        compatible = "realtek,rts3915-isp";
        reg = <0x18a00000 0xe0000>;
        interrupt-parent = <&vecintc>;
        interrupts = <BSP_IRQ_VIDEOIN>;
        clock-names = "inf_clk", "mipiout_clk", \
                      "hclk";
        clocks = <&clks RLX_CLK_MIPI_CK>, \
                 <&clks RLX_CLK_MIPITX>, \
                 <&clks RLX_CLK_SSOR_HCLK>;
        reset-names = "isp_reset", "mipi_reset", \
                      "isp-sysmem-up";
        resets = <&reset FORCE_RESET_ISP>, \
                 <&reset FORCE_RESET_MIPI>, \
                 <&sysmem SYS_ISP_MEM>;
        pinctrl-names = "default", "dvp", "mipi";
        pinctrl-0 = <>;
        pinctrl-1 = <&sensor_dvp_mode>;
        pinctrl-2 = <&sensor_mipi_mode>;
        rst-gpio = <&pinctrl 8 GPIO_ACTIVE_HIGH>;
        pwdn-gpio = <&pinctrl 9 GPIO_ACTIVE_HIGH>;
        tnr-bit = <8>;
        video-i2c = <&i2c1>;
        tnr_cfg = <&tnrcfg>;
        statis_cfg = <&statiscfg>;
        status = "disabled";
    };

5) rts_zoom

Required properties:
- compatible: Should be "realtek,rts3915-zoom"
- reg: Address and length of the register set for the device
- streams: Configuration of streams
- zoom-in-enable: boolean, enable zoom in or not
- status: Either "ok" or "disabled"

Example:
    rts_zoom: rts_zoom@18a00000 {
        compatible = "realtek,rts3915-zoom";
        reg = <0x18a00000 0x12000>;
        streams = <&stream0>, <&stream1>, <&stream2>;
        zoom-in-enable;
        status = "disabled";
    };

6) rts_md

Required properties:
- compatible: Should be "realtek,rts3915-md"
- reg: Address and length of the register set for the device
- interrupt-parent: Phandle of the parent interrupt controller
- interrupts: Should contain the MD interrupt number
- md_cfg: Configuration of MD
- status: Either "ok" or "disabled"

Example:
    rts_md: rts_md@18a12000 {
        compatible = "realtek,rts3915-md";
        reg = <0x18a12000 0x1000>;
        interrupt-parent = <&vecintc>;
        interrupts = <BSP_IRQ_VIDEOIN>;
        md_cfg = <&md0cfg>, <&md1cfg>;
        status = "disabled";
    };
