Lines Matching +full:pd +full:- +full:samsung
1 // SPDX-License-Identifier: GPL-2.0
3 // Copyright (c) 2011 Samsung Electronics Co., Ltd.
4 // http://www.samsung.com
6 // Base Samsung platform device definitions
21 #include <linux/dma-mapping.h>
30 #include <linux/platform_data/s3c-hsudc.h>
31 #include <linux/platform_data/s3c-hsotg.h>
32 #include <linux/platform_data/dma-s3c24xx.h>
43 #include "gpio-samsung.h"
44 #include "gpio-cfg.h"
47 #include "regs-s3c2443-clock.h"
52 #include <linux/soc/samsung/s3c-adc.h>
53 #include <linux/platform_data/ata-samsung_cf.h>
55 #include <linux/platform_data/fb-s3c2410.h>
56 #include <linux/platform_data/hwmon-s3c.h>
57 #include <linux/platform_data/i2c-s3c2410.h>
59 #include <linux/platform_data/mmc-s3cmci.h>
60 #include <linux/platform_data/mtd-nand-s3c2410.h>
61 #include "pwm-core.h"
63 #include <linux/platform_data/touchscreen-s3c2410.h>
64 #include <linux/platform_data/usb-s3c2410_udc.h>
65 #include <linux/platform_data/usb-ohci-s3c2410.h>
66 #include "usb-phy.h"
67 #include <linux/platform_data/asoc-s3c.h>
68 #include <linux/platform_data/spi-s3c64xx.h>
80 .name = "samsung-ac97",
81 .id = -1,
101 .name = "s3c24xx-adc",
102 .id = -1,
116 .name = "exynos-adc",
117 .id = -1,
133 .name = "s3c2440-camif",
134 .id = -1,
155 .name = "s3c-fb",
156 .id = -1,
165 void __init s3c_fb_set_platdata(struct s3c_fb_platdata *pd) in s3c_fb_set_platdata() argument
167 s3c_set_platdata(pd, sizeof(struct s3c_fb_platdata), in s3c_fb_set_platdata()
176 .name = "s3c-hwmon",
177 .id = -1,
181 void __init s3c_hwmon_set_platdata(struct s3c_hwmon_pdata *pd) in s3c_hwmon_set_platdata() argument
183 s3c_set_platdata(pd, sizeof(struct s3c_hwmon_pdata), in s3c_hwmon_set_platdata()
203 .name = "s3c-sdhci",
214 void s3c_sdhci0_set_platdata(struct s3c_sdhci_platdata *pd) in s3c_sdhci0_set_platdata() argument
216 s3c_sdhci_set_platdata(pd, &s3c_hsmmc0_def_platdata); in s3c_sdhci0_set_platdata()
233 .name = "s3c-sdhci",
244 void s3c_sdhci1_set_platdata(struct s3c_sdhci_platdata *pd) in s3c_sdhci1_set_platdata() argument
246 s3c_sdhci_set_platdata(pd, &s3c_hsmmc1_def_platdata); in s3c_sdhci1_set_platdata()
265 .name = "s3c-sdhci",
276 void s3c_sdhci2_set_platdata(struct s3c_sdhci_platdata *pd) in s3c_sdhci2_set_platdata() argument
278 s3c_sdhci_set_platdata(pd, &s3c_hsmmc2_def_platdata); in s3c_sdhci2_set_platdata()
295 .name = "s3c-sdhci",
306 void s3c_sdhci3_set_platdata(struct s3c_sdhci_platdata *pd) in s3c_sdhci3_set_platdata() argument
308 s3c_sdhci_set_platdata(pd, &s3c_hsmmc3_def_platdata); in s3c_sdhci3_set_platdata()
320 .name = "s3c2410-i2c",
333 void __init s3c_i2c0_set_platdata(struct s3c2410_platform_i2c *pd) in s3c_i2c0_set_platdata() argument
337 if (!pd) { in s3c_i2c0_set_platdata()
338 pd = &default_i2c_data; in s3c_i2c0_set_platdata()
339 pd->bus_num = 0; in s3c_i2c0_set_platdata()
342 npd = s3c_set_platdata(pd, sizeof(*npd), &s3c_device_i2c0); in s3c_i2c0_set_platdata()
344 if (!npd->cfg_gpio) in s3c_i2c0_set_platdata()
345 npd->cfg_gpio = s3c_i2c0_cfg_gpio; in s3c_i2c0_set_platdata()
355 .name = "s3c2410-i2c",
361 void __init s3c_i2c1_set_platdata(struct s3c2410_platform_i2c *pd) in s3c_i2c1_set_platdata() argument
365 if (!pd) { in s3c_i2c1_set_platdata()
366 pd = &default_i2c_data; in s3c_i2c1_set_platdata()
367 pd->bus_num = 1; in s3c_i2c1_set_platdata()
370 npd = s3c_set_platdata(pd, sizeof(*npd), &s3c_device_i2c1); in s3c_i2c1_set_platdata()
372 if (!npd->cfg_gpio) in s3c_i2c1_set_platdata()
373 npd->cfg_gpio = s3c_i2c1_cfg_gpio; in s3c_i2c1_set_platdata()
384 .name = "s3c2410-i2c",
390 void __init s3c_i2c2_set_platdata(struct s3c2410_platform_i2c *pd) in s3c_i2c2_set_platdata() argument
394 if (!pd) { in s3c_i2c2_set_platdata()
395 pd = &default_i2c_data; in s3c_i2c2_set_platdata()
396 pd->bus_num = 2; in s3c_i2c2_set_platdata()
399 npd = s3c_set_platdata(pd, sizeof(*npd), &s3c_device_i2c2); in s3c_i2c2_set_platdata()
401 if (!npd->cfg_gpio) in s3c_i2c2_set_platdata()
402 npd->cfg_gpio = s3c_i2c2_cfg_gpio; in s3c_i2c2_set_platdata()
413 .name = "s3c2440-i2c",
419 void __init s3c_i2c3_set_platdata(struct s3c2410_platform_i2c *pd) in s3c_i2c3_set_platdata() argument
423 if (!pd) { in s3c_i2c3_set_platdata()
424 pd = &default_i2c_data; in s3c_i2c3_set_platdata()
425 pd->bus_num = 3; in s3c_i2c3_set_platdata()
428 npd = s3c_set_platdata(pd, sizeof(*npd), &s3c_device_i2c3); in s3c_i2c3_set_platdata()
430 if (!npd->cfg_gpio) in s3c_i2c3_set_platdata()
431 npd->cfg_gpio = s3c_i2c3_cfg_gpio; in s3c_i2c3_set_platdata()
442 .name = "s3c2440-i2c",
448 void __init s3c_i2c4_set_platdata(struct s3c2410_platform_i2c *pd) in s3c_i2c4_set_platdata() argument
452 if (!pd) { in s3c_i2c4_set_platdata()
453 pd = &default_i2c_data; in s3c_i2c4_set_platdata()
454 pd->bus_num = 4; in s3c_i2c4_set_platdata()
457 npd = s3c_set_platdata(pd, sizeof(*npd), &s3c_device_i2c4); in s3c_i2c4_set_platdata()
459 if (!npd->cfg_gpio) in s3c_i2c4_set_platdata()
460 npd->cfg_gpio = s3c_i2c4_cfg_gpio; in s3c_i2c4_set_platdata()
471 .name = "s3c2440-i2c",
477 void __init s3c_i2c5_set_platdata(struct s3c2410_platform_i2c *pd) in s3c_i2c5_set_platdata() argument
481 if (!pd) { in s3c_i2c5_set_platdata()
482 pd = &default_i2c_data; in s3c_i2c5_set_platdata()
483 pd->bus_num = 5; in s3c_i2c5_set_platdata()
486 npd = s3c_set_platdata(pd, sizeof(*npd), &s3c_device_i2c5); in s3c_i2c5_set_platdata()
488 if (!npd->cfg_gpio) in s3c_i2c5_set_platdata()
489 npd->cfg_gpio = s3c_i2c5_cfg_gpio; in s3c_i2c5_set_platdata()
500 .name = "s3c2440-i2c",
506 void __init s3c_i2c6_set_platdata(struct s3c2410_platform_i2c *pd) in s3c_i2c6_set_platdata() argument
510 if (!pd) { in s3c_i2c6_set_platdata()
511 pd = &default_i2c_data; in s3c_i2c6_set_platdata()
512 pd->bus_num = 6; in s3c_i2c6_set_platdata()
515 npd = s3c_set_platdata(pd, sizeof(*npd), &s3c_device_i2c6); in s3c_i2c6_set_platdata()
517 if (!npd->cfg_gpio) in s3c_i2c6_set_platdata()
518 npd->cfg_gpio = s3c_i2c6_cfg_gpio; in s3c_i2c6_set_platdata()
529 .name = "s3c2440-i2c",
535 void __init s3c_i2c7_set_platdata(struct s3c2410_platform_i2c *pd) in s3c_i2c7_set_platdata() argument
539 if (!pd) { in s3c_i2c7_set_platdata()
540 pd = &default_i2c_data; in s3c_i2c7_set_platdata()
541 pd->bus_num = 7; in s3c_i2c7_set_platdata()
544 npd = s3c_set_platdata(pd, sizeof(*npd), &s3c_device_i2c7); in s3c_i2c7_set_platdata()
546 if (!npd->cfg_gpio) in s3c_i2c7_set_platdata()
547 npd->cfg_gpio = s3c_i2c7_cfg_gpio; in s3c_i2c7_set_platdata()
559 .name = "s3c24xx-iis",
560 .id = -1,
600 .name = "samsung-keypad",
601 .id = -1,
606 void __init samsung_keypad_set_platdata(struct samsung_keypad_platdata *pd) in samsung_keypad_set_platdata() argument
610 npd = s3c_set_platdata(pd, sizeof(*npd), &samsung_device_keypad); in samsung_keypad_set_platdata()
612 if (!npd->cfg_gpio) in samsung_keypad_set_platdata()
613 npd->cfg_gpio = samsung_keypad_cfg_gpio; in samsung_keypad_set_platdata()
626 .name = "s3c2410-lcd",
627 .id = -1,
636 void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *pd) in s3c24xx_fb_set_platdata() argument
640 npd = s3c_set_platdata(pd, sizeof(*npd), &s3c_device_lcd); in s3c24xx_fb_set_platdata()
642 npd->displays = kmemdup(pd->displays, in s3c24xx_fb_set_platdata()
643 sizeof(struct s3c2410fb_display) * npd->num_displays, in s3c24xx_fb_set_platdata()
645 if (!npd->displays) in s3c24xx_fb_set_platdata()
661 .name = "s3c2410-nand",
662 .id = -1,
668 * s3c_nand_copy_set() - copy nand set data
683 size = sizeof(struct mtd_partition) * set->nr_partitions; in s3c_nand_copy_set()
685 ptr = kmemdup(set->partitions, size, GFP_KERNEL); in s3c_nand_copy_set()
686 set->partitions = ptr; in s3c_nand_copy_set()
689 return -ENOMEM; in s3c_nand_copy_set()
692 if (set->nr_map && set->nr_chips) { in s3c_nand_copy_set()
693 size = sizeof(int) * set->nr_chips; in s3c_nand_copy_set()
694 ptr = kmemdup(set->nr_map, size, GFP_KERNEL); in s3c_nand_copy_set()
695 set->nr_map = ptr; in s3c_nand_copy_set()
698 return -ENOMEM; in s3c_nand_copy_set()
721 size = sizeof(struct s3c2410_nand_set) * npd->nr_sets; in s3c_nand_set_platdata()
723 struct s3c2410_nand_set *from = npd->sets; in s3c_nand_set_platdata()
728 npd->sets = to; /* set, even if we failed */ in s3c_nand_set_platdata()
735 for (i = 0; i < npd->nr_sets; i++) { in s3c_nand_set_platdata()
758 .name = "samsung-onenand",
773 .name = "samsung-onenand",
794 .name = "samsung-pwm",
795 .id = -1,
800 void __init samsung_pwm_set_platdata(struct samsung_pwm_variant *pd) in samsung_pwm_set_platdata() argument
802 samsung_device_pwm.dev.platform_data = pd; in samsung_pwm_set_platdata()
816 .name = "s3c2410-rtc",
817 .id = -1,
831 .name = "s3c64xx-rtc",
832 .id = -1,
864 /* This is currently here to avoid a number of if (host->pdata)
872 .name = "s3c2410-sdi",
873 .id = -1,
895 .name = "s3c2410-spi",
911 .name = "s3c2410-spi",
931 .name = "s3c2410-ts",
932 .id = -1,
952 void __init s3c64xx_ts_set_platdata(struct s3c2410_ts_mach_info *pd) in s3c64xx_ts_set_platdata() argument
954 if (!pd) in s3c64xx_ts_set_platdata()
955 pd = &default_ts_data; in s3c64xx_ts_set_platdata()
957 s3c_set_platdata(pd, sizeof(struct s3c2410_ts_mach_info), in s3c64xx_ts_set_platdata()
971 .name = "s3c2410-ohci",
972 .id = -1,
982 * s3c_ohci_set_platdata - initialise OHCI device platform data
1006 .name = "s3c2410-usbgadget",
1007 .id = -1,
1012 void __init s3c24xx_udc_set_platdata(struct s3c2410_udc_mach_info *pd) in s3c24xx_udc_set_platdata() argument
1014 s3c_set_platdata(pd, sizeof(*pd), &s3c_device_usbgadget); in s3c24xx_udc_set_platdata()
1027 .name = "s3c-hsotg",
1028 .id = -1,
1037 void __init dwc2_hsotg_set_platdata(struct dwc2_hsotg_plat *pd) in dwc2_hsotg_set_platdata() argument
1041 npd = s3c_set_platdata(pd, sizeof(*npd), &s3c_device_usb_hsotg); in dwc2_hsotg_set_platdata()
1043 if (!npd->phy_init) in dwc2_hsotg_set_platdata()
1044 npd->phy_init = s3c_usb_phy_init; in dwc2_hsotg_set_platdata()
1045 if (!npd->phy_exit) in dwc2_hsotg_set_platdata()
1046 npd->phy_exit = s3c_usb_phy_exit; in dwc2_hsotg_set_platdata()
1059 .name = "s3c-hsudc",
1060 .id = -1,
1069 void __init s3c24xx_hsudc_set_platdata(struct s3c24xx_hsudc_platdata *pd) in s3c24xx_hsudc_set_platdata() argument
1071 s3c_set_platdata(pd, sizeof(*pd), &s3c_device_usb_hsudc); in s3c24xx_hsudc_set_platdata()
1072 pd->phy_init = s3c_hsudc_init_phy; in s3c24xx_hsudc_set_platdata()
1073 pd->phy_uninit = s3c_hsudc_uninit_phy; in s3c24xx_hsudc_set_platdata()
1086 .name = "s3c2410-wdt",
1087 .id = -1,
1100 .name = "s3c6410-spi",
1113 struct s3c64xx_spi_info pd; in s3c64xx_spi0_set_platdata() local
1121 pd.num_cs = num_cs; in s3c64xx_spi0_set_platdata()
1122 pd.src_clk_nr = src_clk_nr; in s3c64xx_spi0_set_platdata()
1123 pd.cfg_gpio = (cfg_gpio) ? cfg_gpio : s3c64xx_spi0_cfg_gpio; in s3c64xx_spi0_set_platdata()
1125 s3c_set_platdata(&pd, sizeof(pd), &s3c64xx_device_spi0); in s3c64xx_spi0_set_platdata()
1136 .name = "s3c6410-spi",
1149 struct s3c64xx_spi_info pd; in s3c64xx_spi1_set_platdata() local
1157 pd.num_cs = num_cs; in s3c64xx_spi1_set_platdata()
1158 pd.src_clk_nr = src_clk_nr; in s3c64xx_spi1_set_platdata()
1159 pd.cfg_gpio = (cfg_gpio) ? cfg_gpio : s3c64xx_spi1_cfg_gpio; in s3c64xx_spi1_set_platdata()
1161 s3c_set_platdata(&pd, sizeof(pd), &s3c64xx_device_spi1); in s3c64xx_spi1_set_platdata()
1172 .name = "s3c6410-spi",
1185 struct s3c64xx_spi_info pd; in s3c64xx_spi2_set_platdata() local
1193 pd.num_cs = num_cs; in s3c64xx_spi2_set_platdata()
1194 pd.src_clk_nr = src_clk_nr; in s3c64xx_spi2_set_platdata()
1195 pd.cfg_gpio = (cfg_gpio) ? cfg_gpio : s3c64xx_spi2_cfg_gpio; in s3c64xx_spi2_set_platdata()
1197 s3c_set_platdata(&pd, sizeof(pd), &s3c64xx_device_spi2); in s3c64xx_spi2_set_platdata()