msm: msmb: ISP interface driver and ISP driver implementation

(1) ISP interface(ISPIF) sits between sensor(CSID) and ISP.
    It's responsible to mux sensor's output path to
    ISP input path. ISPIF driver contains two parts, i.e.,
    user space driver and kernel driver. The kernel driver is
    mainly for register write and read.

(2) Image signal processing(ISP) driver's responsiblity is to
    processed the sensor's raw image to generate the YUV image
    for rending/video encoding and snapshot. ISP driver has
    following main functional blcoks:
    - Image bus(AXI) management and configuration
    - ISP processing pipeline configuration and run time update
    - ISP input interface(CAMIF) configuration
    - Image buffer management
    - ISP interrupt handling
    - ISP kernel event notification to user space
    - ISP hardware start/stop state machine.
    This patch implemented the ISP kernel driver.

Change-Id: I5f222c6a2df8b4c26b0948ef3fb2e36e859d0964
Signed-off-by: Kevin Chan <ktchan@codeaurora.org>
26 files changed