Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3bbef1b9 authored by Sylwester Nawrocki's avatar Sylwester Nawrocki Committed by Kukjin Kim
Browse files

ARM: S5P: Add platform support for MIPI CSIS devices



There may be up to two MIPI CSI slave interfaces depending on the SoC version.

Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent 7db8cb2a
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -56,3 +56,13 @@ config S5P_DEV_ONENAND
	bool
	help
	  Compile in platform device definition for OneNAND controller

config S5P_DEV_CSIS0
	bool
	help
	  Compile in platform device definitions for MIPI-CSIS channel 0

config S5P_DEV_CSIS1
	bool
	help
	  Compile in platform device definitions for MIPI-CSIS channel 1
+2 −0
Original line number Diff line number Diff line
@@ -28,3 +28,5 @@ obj-$(CONFIG_S5P_DEV_FIMC0) += dev-fimc0.o
obj-$(CONFIG_S5P_DEV_FIMC1)	+= dev-fimc1.o
obj-$(CONFIG_S5P_DEV_FIMC2)	+= dev-fimc2.o
obj-$(CONFIG_S5P_DEV_ONENAND)	+= dev-onenand.o
obj-$(CONFIG_S5P_DEV_CSIS0)	+= dev-csis0.o
obj-$(CONFIG_S5P_DEV_CSIS1)	+= dev-csis1.o
+34 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2010 Samsung Electronics
 *
 * S5P series device definition for MIPI-CSIS channel 0
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
*/

#include <linux/kernel.h>
#include <linux/interrupt.h>
#include <linux/platform_device.h>
#include <mach/map.h>

static struct resource s5p_mipi_csis0_resource[] = {
	[0] = {
		.start = S5P_PA_MIPI_CSIS0,
		.end   = S5P_PA_MIPI_CSIS0 + SZ_4K - 1,
		.flags = IORESOURCE_MEM,
	},
	[1] = {
		.start = IRQ_MIPI_CSIS0,
		.end   = IRQ_MIPI_CSIS0,
		.flags = IORESOURCE_IRQ,
	}
};

struct platform_device s5p_device_mipi_csis0 = {
	.name		  = "s5p-mipi-csis",
	.id		  = 0,
	.num_resources	  = ARRAY_SIZE(s5p_mipi_csis0_resource),
	.resource	  = s5p_mipi_csis0_resource,
};
+34 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2010 Samsung Electronics
 *
 * S5P series device definition for MIPI-CSIS channel 1
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
*/

#include <linux/kernel.h>
#include <linux/interrupt.h>
#include <linux/platform_device.h>
#include <mach/map.h>

static struct resource s5p_mipi_csis1_resource[] = {
	[0] = {
		.start = S5P_PA_MIPI_CSIS1,
		.end   = S5P_PA_MIPI_CSIS1 + SZ_4K - 1,
		.flags = IORESOURCE_MEM,
	},
	[1] = {
		.start = IRQ_MIPI_CSIS1,
		.end   = IRQ_MIPI_CSIS1,
		.flags = IORESOURCE_IRQ,
	},
};

struct platform_device s5p_device_mipi_csis1 = {
	.name		  = "s5p-mipi-csis",
	.id		  = 1,
	.num_resources	  = ARRAY_SIZE(s5p_mipi_csis1_resource),
	.resource	  = s5p_mipi_csis1_resource,
};
+28 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2010 Samsung Electronics
 *
 * S5P series MIPI CSI slave device support
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#ifndef PLAT_S5P_CSIS_H_
#define PLAT_S5P_CSIS_H_ __FILE__

/**
 * struct s5p_platform_mipi_csis - platform data for MIPI-CSIS
 * @clk_rate: bus clock frequency
 * @lanes: number of data lanes used
 * @alignment: data alignment in bits
 * @hs_settle: HS-RX settle time
 */
struct s5p_platform_mipi_csis {
	unsigned long clk_rate;
	u8 lanes;
	u8 alignment;
	u8 hs_settle;
};

#endif /* PLAT_S5P_CSIS_H_ */
Loading