Lines Matching +full:octeon +full:- +full:3860 +full:- +full:gpio
12 #include <linux/gpio/driver.h>
15 #include <asm/octeon/octeon.h>
16 #include <asm/octeon/cvmx-gpio-defs.h>
22 * The address offset of the GPIO configuration register for a given
34 return 8 * (offset - 16) + 0x100; in bit_cfg_reg()
44 struct octeon_gpio *gpio = gpiochip_get_data(chip); in octeon_gpio_dir_in() local
46 cvmx_write_csr(gpio->register_base + bit_cfg_reg(offset), 0); in octeon_gpio_dir_in()
53 struct octeon_gpio *gpio = gpiochip_get_data(chip); in octeon_gpio_set() local
55 u64 reg = gpio->register_base + (value ? TX_SET : TX_CLEAR); in octeon_gpio_set()
64 struct octeon_gpio *gpio = gpiochip_get_data(chip); in octeon_gpio_dir_out() local
72 cvmx_write_csr(gpio->register_base + bit_cfg_reg(offset), cfgx.u64); in octeon_gpio_dir_out()
78 struct octeon_gpio *gpio = gpiochip_get_data(chip); in octeon_gpio_get() local
79 u64 read_bits = cvmx_read_csr(gpio->register_base + RX_DAT); in octeon_gpio_get()
86 struct octeon_gpio *gpio; in octeon_gpio_probe() local
91 gpio = devm_kzalloc(&pdev->dev, sizeof(*gpio), GFP_KERNEL); in octeon_gpio_probe()
92 if (!gpio) in octeon_gpio_probe()
93 return -ENOMEM; in octeon_gpio_probe()
94 chip = &gpio->chip; in octeon_gpio_probe()
100 gpio->register_base = (u64)reg_base; in octeon_gpio_probe()
101 pdev->dev.platform_data = chip; in octeon_gpio_probe()
102 chip->label = "octeon-gpio"; in octeon_gpio_probe()
103 chip->parent = &pdev->dev; in octeon_gpio_probe()
104 chip->owner = THIS_MODULE; in octeon_gpio_probe()
105 chip->base = 0; in octeon_gpio_probe()
106 chip->can_sleep = false; in octeon_gpio_probe()
107 chip->ngpio = 20; in octeon_gpio_probe()
108 chip->direction_input = octeon_gpio_dir_in; in octeon_gpio_probe()
109 chip->get = octeon_gpio_get; in octeon_gpio_probe()
110 chip->direction_output = octeon_gpio_dir_out; in octeon_gpio_probe()
111 chip->set = octeon_gpio_set; in octeon_gpio_probe()
112 err = devm_gpiochip_add_data(&pdev->dev, chip, gpio); in octeon_gpio_probe()
116 dev_info(&pdev->dev, "OCTEON GPIO driver probed.\n"); in octeon_gpio_probe()
122 .compatible = "cavium,octeon-3860-gpio",
138 MODULE_DESCRIPTION("Cavium Inc. OCTEON GPIO Driver");