~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/w1/masters/w1-gpio.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 =====================
  2 Kernel driver w1-gpio
  3 =====================
  4 
  5 Author: Ville Syrjala <syrjala@sci.fi>
  6 
  7 
  8 Description
  9 -----------
 10 
 11 GPIO 1-wire bus master driver. The driver uses the GPIO API to control the
 12 wire and the GPIO pin can be specified using GPIO machine descriptor tables.
 13 It is also possible to define the master using device tree, see
 14 Documentation/devicetree/bindings/w1/w1-gpio.yaml
 15 
 16 
 17 Example (mach-at91)
 18 -------------------
 19 
 20 ::
 21 
 22   #include <linux/gpio/machine.h>
 23   #include <linux/w1-gpio.h>
 24 
 25   static struct gpiod_lookup_table foo_w1_gpiod_table = {
 26         .dev_id = "w1-gpio",
 27         .table = {
 28                 GPIO_LOOKUP_IDX("at91-gpio", AT91_PIN_PB20, NULL, 0,
 29                         GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN),
 30         },
 31   };
 32 
 33   static struct w1_gpio_platform_data foo_w1_gpio_pdata = {
 34         .ext_pullup_enable_pin  = -EINVAL,
 35   };
 36 
 37   static struct platform_device foo_w1_device = {
 38         .name                   = "w1-gpio",
 39         .id                     = -1,
 40         .dev.platform_data      = &foo_w1_gpio_pdata,
 41   };
 42 
 43   ...
 44         at91_set_GPIO_periph(foo_w1_gpio_pdata.pin, 1);
 45         at91_set_multi_drive(foo_w1_gpio_pdata.pin, 1);
 46         gpiod_add_lookup_table(&foo_w1_gpiod_table);
 47         platform_device_register(&foo_w1_device);

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php