Lines Matching +full:revision +full:- +full:id2
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * arch/arm/mach-ep93xx/core.c
19 #include <linux/dma-mapping.h>
34 #include <linux/irqchip/arm-vic.h>
40 #include <linux/platform_data/video-ep93xx.h>
41 #include <linux/platform_data/keypad-ep93xx.h>
42 #include <linux/platform_data/spi-ep93xx.h>
45 #include "gpio-ep93xx.h"
124 * ep93xx_chip_revision() - returns the EP93xx chip revision
156 .name = "gpio-ep93xx",
157 .id = -1,
199 .name = "ep93xx-rtc",
200 .id = -1,
214 ep93xx_ohci_host_clock = devm_clk_get(&pdev->dev, NULL); in ep93xx_ohci_power_on()
241 .name = "ohci-platform",
242 .id = -1,
262 .name = "physmap-flash",
272 * ep93xx_register_flash() - Register the external flash device.
283 ep93xx_flash_resource.end = start + size - 1; in ep93xx_register_flash()
302 .name = "ep93xx-eth",
303 .id = -1,
314 * ep93xx_register_eth - Register the built-in ethernet platform device.
322 memcpy_fromio(data->dev_addr, EP93XX_ETHERNET_BASE + 0x50, 6); in ep93xx_register_eth()
333 /* All EP93xx devices use the same two GPIO pins for I2C bit-banging */
335 .dev_id = "i2c-gpio.0",
347 .name = "i2c-gpio",
355 * ep93xx_register_i2c - Register the i2c platform device.
362 * FIXME: this just sets the two pins as non-opendrain, as no in ep93xx_register_i2c()
366 * be. Right now i2c-gpio emulates open drain which is not in ep93xx_register_i2c()
390 .name = "ep93xx-spi",
402 * ep93xx_register_spi() - registers spi platform device
441 .dev_id = "leds-gpio",
458 .name = "ep93xx-pwm",
469 .name = "ep93xx-pwm",
489 if (pdev->id == 0) { in ep93xx_pwm_acquire_gpio()
491 } else if (pdev->id == 1) { in ep93xx_pwm_acquire_gpio()
493 dev_name(&pdev->dev)); in ep93xx_pwm_acquire_gpio()
503 err = -ENODEV; in ep93xx_pwm_acquire_gpio()
516 if (pdev->id == 1) { in ep93xx_pwm_release_gpio()
537 .name = "ep93xx-fb",
538 .id = -1,
557 .name = "ep93xx-bl",
558 .id = -1,
564 * ep93xx_register_fb - Register the framebuffer platform device.
586 .name = "ep93xx-keypad",
587 .id = -1,
596 * ep93xx_register_keypad - Register the keypad platform device.
611 err = gpio_request(EP93XX_GPIO_LINE_C(i), dev_name(&pdev->dev)); in ep93xx_keypad_acquire_gpio()
614 err = gpio_request(EP93XX_GPIO_LINE_D(i), dev_name(&pdev->dev)); in ep93xx_keypad_acquire_gpio()
628 for (--i; i >= 0; --i) { in ep93xx_keypad_acquire_gpio()
660 .name = "ep93xx-i2s",
661 .id = -1,
667 .name = "ep93xx-pcm-audio",
668 .id = -1,
720 .name = "ep93xx-ac97",
721 .id = -1,
745 .name = "ep93xx-wdt",
746 .id = -1,
760 .name = "ep93xx-ide",
761 .id = -1,
780 err = gpio_request(EP93XX_GPIO_LINE_EGPIO2, dev_name(&pdev->dev)); in ep93xx_ide_acquire_gpio()
783 err = gpio_request(EP93XX_GPIO_LINE_EGPIO15, dev_name(&pdev->dev)); in ep93xx_ide_acquire_gpio()
787 err = gpio_request(EP93XX_GPIO_LINE_E(i), dev_name(&pdev->dev)); in ep93xx_ide_acquire_gpio()
792 err = gpio_request(EP93XX_GPIO_LINE_G(i), dev_name(&pdev->dev)); in ep93xx_ide_acquire_gpio()
797 err = gpio_request(EP93XX_GPIO_LINE_H(i), dev_name(&pdev->dev)); in ep93xx_ide_acquire_gpio()
809 for (--i; i >= 0; --i) in ep93xx_ide_acquire_gpio()
813 for (--i; i >= 4; --i) in ep93xx_ide_acquire_gpio()
817 for (--i; i >= 2; --i) in ep93xx_ide_acquire_gpio()
856 .name = "ep93xx-adc",
857 .id = -1,
900 unsigned int id, id2, id3, id4, id5; in ep93xx_get_soc_id() local
906 id2 = __raw_readl(EP93XX_SECURITY_UNIQID2); in ep93xx_get_soc_id()
911 if (id != id2) in ep93xx_get_soc_id()
915 add_device_randomness(&id2, 4); in ep93xx_get_soc_id()
921 "%08x%08x%08x%08x", id2, id3, id4, id5); in ep93xx_get_soc_id()
948 return kasprintf(GFP_KERNEL,"%s", machine_desc->name); in ep93xx_get_machine_name()
960 soc_dev_attr->machine = ep93xx_get_machine_name(); in ep93xx_init_soc()
961 soc_dev_attr->family = "Cirrus Logic EP93xx"; in ep93xx_init_soc()
962 soc_dev_attr->revision = ep93xx_get_soc_rev(); in ep93xx_init_soc()
963 soc_dev_attr->soc_id = ep93xx_get_soc_id(); in ep93xx_init_soc()
967 kfree(soc_dev_attr->machine); in ep93xx_init_soc()
1003 gpio_led_register_device(-1, &ep93xx_led_data); in ep93xx_init_devices()