|
@@ -333,3 +333,123 @@ void __init s5p_fimd0_set_platdata(struct s3c_fb_platdata *pd)
|
|
|
#ifdef CONFIG_S3C_DEV_HWMON
|
|
|
struct platform_device s3c_device_hwmon = {
|
|
|
.name = "s3c-hwmon",
|
|
|
+ .id = -1,
|
|
|
+ .dev.parent = &s3c_device_adc.dev,
|
|
|
+};
|
|
|
+
|
|
|
+void __init s3c_hwmon_set_platdata(struct s3c_hwmon_pdata *pd)
|
|
|
+{
|
|
|
+ s3c_set_platdata(pd, sizeof(struct s3c_hwmon_pdata),
|
|
|
+ &s3c_device_hwmon);
|
|
|
+}
|
|
|
+#endif /* CONFIG_S3C_DEV_HWMON */
|
|
|
+
|
|
|
+/* HSMMC */
|
|
|
+
|
|
|
+#ifdef CONFIG_S3C_DEV_HSMMC
|
|
|
+static struct resource s3c_hsmmc_resource[] = {
|
|
|
+ [0] = DEFINE_RES_MEM(S3C_PA_HSMMC0, SZ_4K),
|
|
|
+ [1] = DEFINE_RES_IRQ(IRQ_HSMMC0),
|
|
|
+};
|
|
|
+
|
|
|
+struct s3c_sdhci_platdata s3c_hsmmc0_def_platdata = {
|
|
|
+ .max_width = 4,
|
|
|
+ .host_caps = (MMC_CAP_4_BIT_DATA |
|
|
|
+ MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED),
|
|
|
+};
|
|
|
+
|
|
|
+struct platform_device s3c_device_hsmmc0 = {
|
|
|
+ .name = "s3c-sdhci",
|
|
|
+ .id = 0,
|
|
|
+ .num_resources = ARRAY_SIZE(s3c_hsmmc_resource),
|
|
|
+ .resource = s3c_hsmmc_resource,
|
|
|
+ .dev = {
|
|
|
+ .dma_mask = &samsung_device_dma_mask,
|
|
|
+ .coherent_dma_mask = DMA_BIT_MASK(32),
|
|
|
+ .platform_data = &s3c_hsmmc0_def_platdata,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+void s3c_sdhci0_set_platdata(struct s3c_sdhci_platdata *pd)
|
|
|
+{
|
|
|
+ s3c_sdhci_set_platdata(pd, &s3c_hsmmc0_def_platdata);
|
|
|
+}
|
|
|
+#endif /* CONFIG_S3C_DEV_HSMMC */
|
|
|
+
|
|
|
+#ifdef CONFIG_S3C_DEV_HSMMC1
|
|
|
+static struct resource s3c_hsmmc1_resource[] = {
|
|
|
+ [0] = DEFINE_RES_MEM(S3C_PA_HSMMC1, SZ_4K),
|
|
|
+ [1] = DEFINE_RES_IRQ(IRQ_HSMMC1),
|
|
|
+};
|
|
|
+
|
|
|
+struct s3c_sdhci_platdata s3c_hsmmc1_def_platdata = {
|
|
|
+ .max_width = 4,
|
|
|
+ .host_caps = (MMC_CAP_4_BIT_DATA |
|
|
|
+ MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED),
|
|
|
+};
|
|
|
+
|
|
|
+struct platform_device s3c_device_hsmmc1 = {
|
|
|
+ .name = "s3c-sdhci",
|
|
|
+ .id = 1,
|
|
|
+ .num_resources = ARRAY_SIZE(s3c_hsmmc1_resource),
|
|
|
+ .resource = s3c_hsmmc1_resource,
|
|
|
+ .dev = {
|
|
|
+ .dma_mask = &samsung_device_dma_mask,
|
|
|
+ .coherent_dma_mask = DMA_BIT_MASK(32),
|
|
|
+ .platform_data = &s3c_hsmmc1_def_platdata,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+void s3c_sdhci1_set_platdata(struct s3c_sdhci_platdata *pd)
|
|
|
+{
|
|
|
+ s3c_sdhci_set_platdata(pd, &s3c_hsmmc1_def_platdata);
|
|
|
+}
|
|
|
+#endif /* CONFIG_S3C_DEV_HSMMC1 */
|
|
|
+
|
|
|
+/* HSMMC2 */
|
|
|
+
|
|
|
+#ifdef CONFIG_S3C_DEV_HSMMC2
|
|
|
+static struct resource s3c_hsmmc2_resource[] = {
|
|
|
+ [0] = DEFINE_RES_MEM(S3C_PA_HSMMC2, SZ_4K),
|
|
|
+ [1] = DEFINE_RES_IRQ(IRQ_HSMMC2),
|
|
|
+};
|
|
|
+
|
|
|
+struct s3c_sdhci_platdata s3c_hsmmc2_def_platdata = {
|
|
|
+ .max_width = 4,
|
|
|
+ .host_caps = (MMC_CAP_4_BIT_DATA |
|
|
|
+ MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED),
|
|
|
+};
|
|
|
+
|
|
|
+struct platform_device s3c_device_hsmmc2 = {
|
|
|
+ .name = "s3c-sdhci",
|
|
|
+ .id = 2,
|
|
|
+ .num_resources = ARRAY_SIZE(s3c_hsmmc2_resource),
|
|
|
+ .resource = s3c_hsmmc2_resource,
|
|
|
+ .dev = {
|
|
|
+ .dma_mask = &samsung_device_dma_mask,
|
|
|
+ .coherent_dma_mask = DMA_BIT_MASK(32),
|
|
|
+ .platform_data = &s3c_hsmmc2_def_platdata,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+void s3c_sdhci2_set_platdata(struct s3c_sdhci_platdata *pd)
|
|
|
+{
|
|
|
+ s3c_sdhci_set_platdata(pd, &s3c_hsmmc2_def_platdata);
|
|
|
+}
|
|
|
+#endif /* CONFIG_S3C_DEV_HSMMC2 */
|
|
|
+
|
|
|
+#ifdef CONFIG_S3C_DEV_HSMMC3
|
|
|
+static struct resource s3c_hsmmc3_resource[] = {
|
|
|
+ [0] = DEFINE_RES_MEM(S3C_PA_HSMMC3, SZ_4K),
|
|
|
+ [1] = DEFINE_RES_IRQ(IRQ_HSMMC3),
|
|
|
+};
|
|
|
+
|
|
|
+struct s3c_sdhci_platdata s3c_hsmmc3_def_platdata = {
|
|
|
+ .max_width = 4,
|
|
|
+ .host_caps = (MMC_CAP_4_BIT_DATA |
|
|
|
+ MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED),
|
|
|
+};
|
|
|
+
|
|
|
+struct platform_device s3c_device_hsmmc3 = {
|
|
|
+ .name = "s3c-sdhci",
|
|
|
+ .id = 3,
|