/linux/Documentation/devicetree/bindings/i2c/ |
H A D | i2c-gpio.yaml | 20 sda-gpios: 22 gpio used for the sda signal, this should be flagged as 36 i2c-gpio,sda-output-only: 37 description: sda as output only 54 description: sda and scl gpio, alternative for {sda,scl}-gpios 56 i2c-gpio,sda-open-drain: 60 the GPIO line used for SDA into open drain mode, and that something is 70 i2c-gpio,sda-has-no-pullup: 72 description: sda is used in a non-compliant way and has no pull-up. 74 with i2c-gpio,sda-open-drain. [all …]
|
H A D | snps,designware-i2c.yaml | 46 ICPU_CFG:TWI_DELAY registers to setup the SDA hold time. 72 i2c-sda-hold-time-ns: 74 The property should contain the SDA hold time in nanoseconds. This option 84 i2c-sda-falling-time-ns: 86 The property should contain the SDA falling time in nanoseconds. 121 i2c-sda-hold-time-ns = <300>; 122 i2c-sda-falling-time-ns = <300>;
|
H A D | samsung,s3c2410-i2c.yaml | 38 The order of the GPIOs should be the following:: <SDA, SCL>. The GPIO 57 samsung,i2c-sda-delay: 60 Delay (in ns) applied to data line (SDA) edges. 121 samsung,i2c-sda-delay = <100>; 140 samsung,i2c-sda-delay = <100>; 157 samsung,i2c-sda-delay = <100>;
|
H A D | hisilicon,ascend910-i2c.yaml | 35 i2c-sda-falling-time-ns: 41 i2c-sda-hold-time-ns: 65 i2c-sda-falling-time-ns = <56>; 67 i2c-sda-hold-time-ns = <56>;
|
/linux/Documentation/i2c/ |
H A D | gpio-fault-injection.rst | 30 "sda" 33 By reading this file, you get the current state of SDA. By writing, you can 35 "echo 0 > sda" you force SDA low and thus, data cannot be transmitted. The bus 39 succeed because SDA is still pinned low until you manually release it again 40 with "echo 1 > sda". A test with an automatic release can be done with the 46 The following fault injectors create situations where SDA will be held low by a 48 there are I2C client devices which detect a stuck SDA on their side and release 50 device deglitching and monitoring the I2C bus. It could also detect a stuck SDA 61 transmitted. Because the device will ACK its presence, this results in SDA 62 being pulled low by the device while SCL is high. So, similar to the "sda" file [all …]
|
/linux/drivers/gpu/drm/amd/display/dc/dce/ |
H A D | dce_i2c_sw.c | 30 #define SDA true macro 109 write_bit_to_ddc(ddc_handle, SDA, (byte >> shift) & 1); in write_byte_sw() 123 /* The display sends ACK by preventing the SDA from going high in write_byte_sw() 125 * If the SDA goes high after that bit, it's a NACK in write_byte_sw() 130 write_bit_to_ddc(ddc_handle, SDA, true); in write_byte_sw() 141 ack = !read_bit_from_ddc(ddc_handle, SDA); in write_byte_sw() 173 if (read_bit_from_ddc(ddc_handle, SDA)) in read_byte_sw() 190 * SDA low means ACK, SDA high means NACK in read_byte_sw() 193 write_bit_to_ddc(ddc_handle, SDA, !more); in read_byte_sw() 206 write_bit_to_ddc(ddc_handle, SDA, true); in read_byte_sw() [all …]
|
/linux/drivers/staging/sm750fb/ |
H A D | ddk750_swi2c.c | 19 * a point in time where the SCL or SDA may be changed. 29 * the SDA may only be changed in section 2. and section 4. The table 38 * Tx Start SDA | | H | | L | 41 * Tx Stop SDA | | L | | H | 44 * Tx bit H SDA | | H | | | 47 * Tx bit L SDA | | L | | | 107 * value - Bit value to set to the SCL or SDA (0 = low, 1 = high) 141 * This function set/reset the SDA GPIO pin 144 * value - Bit value to set to the SCL or SDA (0 = low, 1 = high) 178 * This function read the data from the SDA GPIO pin [all …]
|
/linux/drivers/i2c/busses/ |
H A D | i2c-acorn.c | 20 #define SDA 0x01 macro 25 * SDA outputs as well (which may be different from the 32 u_int ioc_control = ioc_readb(IOC_CONTROL) & ~(SCL | SDA); in ioc_setscl() 47 u_int ioc_control = ioc_readb(IOC_CONTROL) & ~(SCL | SDA); in ioc_setsda() 51 ones |= SDA; in ioc_setsda() 53 ones &= ~SDA; in ioc_setsda() 67 return (ioc_readb(IOC_CONTROL) & SDA) != 0; in ioc_getsda() 87 force_ones = FORCE_ONES | SCL | SDA; in i2c_ioc_init()
|
H A D | i2c-gpio.c | 22 struct gpio_desc *sda; member 35 * Toggle SDA by changing the output value of the pin. This is only 43 gpiod_set_value_cansleep(priv->sda, state); in i2c_gpio_setsda_val() 63 return gpiod_get_value_cansleep(priv->sda); in i2c_gpio_getsda() 102 WIRE_ATTRIBUTE(sda); 137 /* ADDR (7 bit) + RD (1 bit) + Client ACK, keep SDA hi (1 bit) */ in fops_incomplete_addr_phase_set() 156 /* 0x00 (8 bit) + Client ACK, keep SDA hi (1 bit) */ in fops_incomplete_write_byte_set() 220 * has really started the transfer. Interrupt on falling SDA did only in fops_lose_arbitration_set() 272 debugfs_create_file_unsafe("sda", 0600, priv->adap.debugfs, priv, &fops_sda); in i2c_gpio_fault_injector_init() 290 device_property_read_bool(dev, "i2c-gpio,sda-open-drain"); in i2c_gpio_get_properties() [all …]
|
H A D | i2c-versatile.c | 21 #define SDA (1 << 1) macro 33 writel(SDA, i2c->base + (state ? I2C_CONTROLS : I2C_CONTROLC)); in i2c_versatile_setsda() 46 return !!(readl(i2c->base + I2C_CONTROL) & SDA); in i2c_versatile_getsda() 77 writel(SCL | SDA, i2c->base + I2C_CONTROLS); in i2c_versatile_probe()
|
/linux/drivers/media/usb/gspca/ |
H A D | w996Xcf.c | 178 w9968cf_write_sb(sd, 0x0011); /* SDE=1, SDA=0, SCL=1 */ in w9968cf_smbus_start() 179 w9968cf_write_sb(sd, 0x0010); /* SDE=1, SDA=0, SCL=0 */ in w9968cf_smbus_start() 184 w9968cf_write_sb(sd, 0x0010); /* SDE=1, SDA=0, SCL=0 */ in w9968cf_smbus_stop() 185 w9968cf_write_sb(sd, 0x0011); /* SDE=1, SDA=0, SCL=1 */ in w9968cf_smbus_stop() 186 w9968cf_write_sb(sd, 0x0013); /* SDE=1, SDA=1, SCL=1 */ in w9968cf_smbus_stop() 192 int sda; in w9968cf_smbus_write_byte() local 195 sda = (v & 0x80) ? 2 : 0; in w9968cf_smbus_write_byte() 197 /* SDE=1, SDA=sda, SCL=0 */ in w9968cf_smbus_write_byte() 198 w9968cf_write_sb(sd, 0x10 | sda); in w9968cf_smbus_write_byte() 199 /* SDE=1, SDA=sda, SCL=1 */ in w9968cf_smbus_write_byte() [all …]
|
/linux/drivers/hwmon/ |
H A D | max31760.c | 46 struct sensor_device_attribute sda; member 414 struct sensor_device_attribute *sda = to_sensor_dev_attr(devattr); in lut_show() local 419 ret = regmap_read(state->regmap, REG_LUT(sda->index), ®val); in lut_show() 430 struct sensor_device_attribute *sda = to_sensor_dev_attr(devattr); in lut_store() local 439 ret = regmap_write(state->regmap, REG_LUT(sda->index), pwm); in lut_store() 490 struct sensor_device_attribute *sda; in max31760_create_lut_nodes() local 495 sda = &lut->sda; in max31760_create_lut_nodes() 500 sda->dev_attr.attr.mode = 0644; in max31760_create_lut_nodes() 501 sda->index = i; in max31760_create_lut_nodes() 502 sda->dev_attr.show = lut_show; in max31760_create_lut_nodes() [all …]
|
/linux/drivers/gpu/drm/loongson/ |
H A D | lsdc_i2c.c | 76 /* set state on the li2c->sda pin */ in lsdc_gpio_i2c_set_sda() 77 return __lsdc_gpio_i2c_set(li2c, li2c->sda, state); in lsdc_gpio_i2c_set_sda() 90 /* read value from the li2c->sda pin */ in lsdc_gpio_i2c_get_sda() 91 return __lsdc_gpio_i2c_get(li2c, li2c->sda); in lsdc_gpio_i2c_get_sda() 133 li2c->sda = 0x01; /* pin 0 */ in lsdc_create_i2c_chan() 136 li2c->sda = 0x04; /* pin 2 */ in lsdc_create_i2c_chan() 174 drm_info(ddev, "%s(sda pin mask=%u, scl pin mask=%u) created\n", in lsdc_create_i2c_chan() 175 adapter->name, li2c->sda, li2c->scl); in lsdc_create_i2c_chan()
|
/linux/arch/arm/mach-sa1100/ |
H A D | assabet.c | 116 #define SDA GPIO_GPIO(15) macro 124 GPSR = SDA; in adv7171_start() 126 GPCR = SDA; in adv7171_start() 133 GPSR = SDA; in adv7171_stop() 145 GPSR = SDA; in adv7171_send() 147 GPCR = SDA; in adv7171_send() 154 GPSR = SDA; in adv7171_send() 156 GPDR &= ~SDA; in adv7171_send() 159 if (GPLR & SDA) in adv7171_send() 162 GPCR = SCK | SDA; in adv7171_send() [all …]
|
/linux/drivers/i2c/algos/ |
H A D | i2c-algo-bit.c | 117 /* assert: scl, sda are high */ in i2c_start() 185 /* read ack: SDA should be pulled down by slave, or it may in i2c_outb() 187 * Always report ACK if SDA is write-only. in i2c_outb() 189 ack = !adap->getsda || !getsda(adap); /* ack: sda is pulled low -> success */ in i2c_outb() 195 /* assert: scl is low (sda undef) */ in i2c_outb() 234 int scl, sda, ret; in test_bus() local 243 pr_info("%s: SDA is write-only, testing not possible\n", name); in test_bus() 247 sda = adap->getsda ? getsda(adap) : 1; in test_bus() 249 if (!scl || !sda) { in test_bus() 250 pr_warn("%s: bus seems to be busy (scl=%d, sda=%d)\n", name, scl, sda); in test_bus() [all …]
|
/linux/Documentation/admin-guide/device-mapper/ |
H A D | dm-ebs.rst | 42 Emulate 1 sector = 512 bytes logical block size on /dev/sda starting at 45 ebs /dev/sda 1024 1 47 Emulate 2 sector = 1KiB logical block size on /dev/sda starting at 49 This presumes 2KiB logical blocksize on /dev/sda or less to work: 51 ebs /dev/sda 128 2 4
|
/linux/arch/arm/boot/dts/st/ |
H A D | ste-dbx5x0-pinctrl.dtsi | 132 pins = "GPIO147_C15", "GPIO148_B16"; /* SDA/SCL */ 139 pins = "GPIO147_C15", "GPIO148_B16"; /* SDA/SCL */ 152 pins = "GPIO16_AD3", "GPIO17_AD4"; /* SDA/SCL */ 159 pins = "GPIO16_AD3", "GPIO17_AD4"; /* SDA/SCL */ 172 pins = "GPIO8_AD5", "GPIO9_AE4"; /* SDA/SCL */ 179 pins = "GPIO8_AD5", "GPIO9_AE4"; /* SDA/SCL */ 190 pins = "GPIO10_AF5", "GPIO11_AG4"; /* SDA/SCL */ 197 pins = "GPIO10_AF5", "GPIO11_AG4"; /* SDA/SCL */ 210 pins = "GPIO229_AG7", "GPIO230_AF7"; /* SDA/SCL */ 217 pins = "GPIO229_AG7", "GPIO230_AF7"; /* SDA/SCL */ [all …]
|
/linux/arch/arc/boot/dts/ |
H A D | abilis_tb100_dvk.dts | 37 i2c-sda-hold-time-ns = <432>; 40 i2c-sda-hold-time-ns = <432>; 43 i2c-sda-hold-time-ns = <432>; 46 i2c-sda-hold-time-ns = <432>; 49 i2c-sda-hold-time-ns = <432>;
|
H A D | abilis_tb101_dvk.dts | 37 i2c-sda-hold-time-ns = <432>; 40 i2c-sda-hold-time-ns = <432>; 43 i2c-sda-hold-time-ns = <432>; 46 i2c-sda-hold-time-ns = <432>; 49 i2c-sda-hold-time-ns = <432>;
|
/linux/include/linux/platform_data/ |
H A D | i2c-gpio.h | 15 * @sda_is_open_drain: SDA is configured as open drain, i.e. the pin 19 * @sda_is_output_only: SDA output drivers can't be turned off. 20 * This is for clients that can only read SDA/SCL. 21 * @sda_has_no_pullup: SDA is used in a non-compliant way and has no pull-up.
|
/linux/Documentation/devicetree/bindings/pinctrl/ |
H A D | marvell,armada-39x-pinctrl.txt | 21 mpp3 3 gpio, i2c0(sda) 34 mpp16 16 gpio, dram(deccerr), spi0(miso), pcie0(clkreq), i2c1(sda) 37 mpp19 19 gpio, sata1(prsnt) [1], ua0(cts), ua1(rxd), i2c2(sda) 46 mpp27 27 gpio, spi0(cs3), i2c1(sda), sd0(d7), dev(cs2), ge(txclkout) 59 mpp40 40 gpio, i2c1(sda), ua0(rts), sd0(d2), dev(ad6), ge(rxd3) 75 mpp53 53 gpio, sata1(prsnt) [1], sata0(prsnt) [1], tdm(rst) [2], audio(bclk) [2], sd0(d7), i2c3(sda) 81 mpp59 59 gpio, pcie0(rstout), i2c1(sda), spi1(cs0), sd0(d2)
|
/linux/drivers/gpu/drm/amd/pm/powerplay/hwmgr/ |
H A D | vega10_processpptables.c | 375 static void get_scl_sda_value(uint8_t line, uint8_t *scl, uint8_t *sda) in get_scl_sda_value() argument 380 *sda = Vega10_I2C_DDC1DATA; in get_scl_sda_value() 384 *sda = Vega10_I2C_DDC2DATA; in get_scl_sda_value() 388 *sda = Vega10_I2C_DDC3DATA; in get_scl_sda_value() 392 *sda = Vega10_I2C_DDC4DATA; in get_scl_sda_value() 396 *sda = Vega10_I2C_DDC5DATA; in get_scl_sda_value() 400 *sda = Vega10_I2C_DDC6DATA; in get_scl_sda_value() 404 *sda = Vega10_I2C_SDA; in get_scl_sda_value() 408 *sda = Vega10_I2C_DDCVGADATA; in get_scl_sda_value() 412 *sda = 0; in get_scl_sda_value() [all …]
|
/linux/drivers/pinctrl/sunxi/ |
H A D | pinctrl-sun20i-d1.c | 34 SUNXI_FUNCTION(0x4, "i2c2"), /* SDA */ 45 SUNXI_FUNCTION(0x4, "i2c0"), /* SDA */ 78 SUNXI_FUNCTION(0x4, "i2c1"), /* SDA */ 100 SUNXI_FUNCTION(0x4, "i2c3"), /* SDA */ 121 SUNXI_FUNCTION(0x4, "i2c2"), /* SDA */ 141 SUNXI_FUNCTION(0x4, "i2c0"), /* SDA */ 168 SUNXI_FUNCTION(0x3, "i2c2"), /* SDA */ 211 SUNXI_FUNCTION(0x5, "i2c3"), /* SDA */ 317 SUNXI_FUNCTION(0x5, "i2c0"), /* SDA */ 387 SUNXI_FUNCTION(0x3, "i2c2"), /* SDA */ [all …]
|
/linux/Documentation/admin-guide/laptops/ |
H A D | disk-shock-protection.rst | 63 /dev/sda and stop all I/O operations for five seconds:: 65 # echo 5000 > /sys/block/sda/device/unload_heads 69 # cat /sys/block/sda/device/unload_heads 101 instead of /dev/sda), then parking the heads of one drive (drive X) 118 # echo -1 > /sys/block/sda/device/unload_heads 120 will enable the feature for /dev/sda, and giving -2 instead of -1 will
|
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/i2c/ |
H A D | bit.c | 108 i2c_bitw(struct nvkm_i2c_bus *bus, int sda) in i2c_bitw() argument 110 nvkm_i2c_drive_sda(bus, sda); in i2c_bitw() 125 int sda; in i2c_bitr() local 134 sda = nvkm_i2c_sense_sda(bus); in i2c_bitr() 138 return sda; in i2c_bitr()
|