Lines Matching defs:target
55 * - 0: Is not a virtual target.
56 * - 1: Is a virtual target.
111 * 0 - Is not a virtual target.
112 * 1 - Is a virtual target.
571 * @param target Pointer to target device descriptor.
576 struct i3c_device_desc *target);
586 * @param target Pointer to target device descriptor.
592 struct i3c_device_desc *target,
603 * @param target Pointer to target device descriptor.
608 struct i3c_device_desc *target);
618 * @param target Pointer to target device descriptor.
623 struct i3c_i2c_device_desc *target);
633 * @param target Pointer to target device descriptor.
638 struct i3c_i2c_device_desc *target);
674 * @param target Pointer to target device descriptor.
681 struct i3c_device_desc *target,
686 * Find a registered I3C target device.
730 * Enable receiving IBI from a target.
737 * @param target Pointer to target device descriptor.
742 struct i3c_device_desc *target);
745 * Disable receiving IBI from a target.
752 * @param target Pointer to target device descriptor.
757 struct i3c_device_desc *target);
760 * Register config as target device of a controller.
762 * This tells the controller to act as a target device
770 * @param cfg I3C target device configuration
778 * Unregister config as target device of a controller.
780 * This tells the controller to stop acting as a target device
788 * @param cfg I3C target device configuration
798 * This writes to the target tx fifo
817 * This will tell the target to ACK or NACK controller handoffs
874 * @brief Structure describing a I3C target device.
878 * - i3c_device_register() to tell the controller of a target device.
880 * target device.
883 * implements the target device behavior prior to passing the object reference
884 * to I3C controller device APIs. #static_addr can be zero if target device does
892 /** I3C bus to which this target device is attached */
902 * Static address for this target device.
905 * address is used. This means that the target device must
909 * cannot be used to set dynamic address on the target
910 * device (as both are to tell target device to use static
935 * Dynamic Address for this target device used for communication.
951 * Group address for this target device. Set during:
1138 * - Quick way to find out if a target address is
1237 * @brief Find a I3C target device descriptor by ID.
1239 * This finds the I3C target device descriptor in the device list
1245 * @return Pointer to the I3C target device descriptor, or
1252 * @brief Find a I3C target device descriptor by dynamic address.
1254 * This finds the I3C target device descriptor in the attached
1260 * @return Pointer to the I3C target device descriptor, or
1267 * @brief Find a I3C target device descriptor by static address.
1269 * This finds the I3C target device descriptor in the attached
1275 * @return Pointer to the I3C target device descriptor, or
1282 * @brief Find a I2C target device descriptor by address.
1284 * This finds the I2C target device descriptor in the attached
1290 * @return Pointer to the I2C target device descriptor, or
1334 * address already assigned to the target
1336 * @param[out] target Store the pointer of the device descriptor
1338 * @param[out] addr Address to be assigned to target device.
1351 struct i3c_device_desc **target,
1402 * @brief Get the target device configuration for an I3C device.
1405 * I3C target device. It is a type-safe wrapper around @ref i3c_config_get
1477 * @brief Get the target device configuration for an I3C device.
1480 * I3C target device. It is a type-safe wrapper around @ref i3c_config_get
1532 * @param target Pointer to the target device descriptor
1538 int i3c_attach_i3c_device(struct i3c_device_desc *target);
1557 * @param target Pointer to the target device descriptor
1558 * @param old_dyn_addr The old dynamic address of target device, 0 if
1564 int i3c_reattach_i3c_device(struct i3c_device_desc *target, uint8_t old_dyn_addr);
1580 * @param target Pointer to the target device descriptor
1585 int i3c_detach_i3c_device(struct i3c_device_desc *target);
1599 * @param target Pointer to the target device descriptor
1605 int i3c_attach_i2c_device(struct i3c_i2c_device_desc *target);
1619 * @param target Pointer to the target device descriptor
1624 int i3c_detach_i2c_device(struct i3c_i2c_device_desc *target);
1643 * @retval -ENODEV If a provisioned ID does not match to any target devices
1645 * @retval -ENOSPC No more free addresses can be assigned to target.
1696 * @brief Perform data transfer from the controller to a I3C target device.
1699 * to a target device synchronously. Use i3c_read()/i3c_write()
1713 * @param target I3C target device descriptor.
1721 __syscall int i3c_transfer(struct i3c_device_desc *target,
1724 static inline int z_impl_i3c_transfer(struct i3c_device_desc *target,
1728 (const struct i3c_driver_api *)target->bus->api;
1730 return api->i3c_xfers(target->bus, target, msgs, num_msgs);
1736 * Find a registered I3C target device.
1818 * @brief Enable IBI of a target device.
1820 * This enables IBI of a target device where the IBI has already been
1823 * @param target I3C target device descriptor.
1831 static inline int i3c_ibi_enable(struct i3c_device_desc *target)
1834 (const struct i3c_driver_api *)target->bus->api;
1840 return api->ibi_enable(target->bus, target);
1844 * @brief Disable IBI of a target device.
1846 * This enables IBI of a target device where the IBI has already been
1849 * @param target I3C target device descriptor.
1853 * @retval -ENODEV If IBI is not previously enabled for @p target.
1855 static inline int i3c_ibi_disable(struct i3c_device_desc *target)
1858 (const struct i3c_driver_api *)target->bus->api;
1864 return api->ibi_disable(target->bus, target);
1868 * @brief Check if target's IBI has payload.
1878 static inline int i3c_ibi_has_payload(struct i3c_device_desc *target)
1880 return (target->bcr & I3C_BCR_IBI_PAYLOAD_HAS_DATA_BYTE)
1895 static inline int i3c_device_is_ibi_capable(struct i3c_device_desc *target)
1897 return (target->bcr & I3C_BCR_IBI_REQUEST_CAPABLE)
1902 * @brief Check if the target is controller capable
1905 * whether the target is controller capable
1910 * @return True if target is controller capable, false otherwise.
1912 static inline int i3c_device_is_controller_capable(struct i3c_device_desc *target)
1914 return I3C_BCR_DEVICE_ROLE(target->bcr)
1926 * @brief Write a set amount of data to an I3C target device.
1930 * @param target I3C target device descriptor.
1938 static inline int i3c_write(struct i3c_device_desc *target,
1949 return i3c_transfer(target, &msg, 1);
1953 * @brief Read a set amount of data from an I3C target device.
1957 * @param target I3C target device descriptor.
1965 static inline int i3c_read(struct i3c_device_desc *target,
1976 return i3c_transfer(target, &msg, 1);
1980 * @brief Write then read data from an I3C target device.
1986 * @param target I3C target device descriptor.
1996 static inline int i3c_write_read(struct i3c_device_desc *target,
2014 return i3c_transfer(target, msg, 2);
2018 * @brief Read multiple bytes from an internal address of an I3C target device.
2021 * I3C target device synchronously.
2025 * @param target I3C target device descriptor,
2034 static inline int i3c_burst_read(struct i3c_device_desc *target,
2039 return i3c_write_read(target,
2045 * @brief Write multiple bytes to an internal address of an I3C target device.
2048 * I3C target device synchronously.
2055 * @param target I3C target device descriptor.
2064 static inline int i3c_burst_write(struct i3c_device_desc *target,
2083 return i3c_transfer(target, msg, 2);
2087 * @brief Read internal register of an I3C target device.
2089 * This routine reads the value of an 8-bit internal register of an I3C target
2092 * @param target I3C target device descriptor.
2100 static inline int i3c_reg_read_byte(struct i3c_device_desc *target,
2103 return i3c_write_read(target,
2109 * @brief Write internal register of an I3C target device.
2111 * This routine writes a value to an 8-bit internal register of an I3C target
2117 * @param target I3C target device descriptor.
2125 static inline int i3c_reg_write_byte(struct i3c_device_desc *target,
2130 return i3c_write(target, tx_buf, 2);
2134 * @brief Update internal register of an I3C target device.
2137 * register of an I3C target device synchronously.
2142 * @param target I3C target device descriptor.
2151 static inline int i3c_reg_update_byte(struct i3c_device_desc *target,
2158 rc = i3c_reg_read_byte(target, reg_addr, &old_value);
2168 return i3c_reg_write_byte(target, reg_addr, new_value);
2193 * @param target I3C target device descriptor.
2196 uint8_t num_msgs, struct i3c_device_desc *target);
2209 * @retval -ENODEV If a provisioned ID does not match to any target devices
2211 * @retval -ENOSPC No more free addresses can be assigned to target.
2230 * @param[in,out] target I3C target device descriptor.
2235 int i3c_device_basic_info_get(struct i3c_device_desc *target);
2254 * @param[in,out] target I3C target device descriptor.
2259 int i3c_device_adv_info_get(struct i3c_device_desc *target);
2277 * @param[in,out] target I3C target device descriptor.
2282 static inline int i3c_device_info_get(struct i3c_device_desc *target)
2286 rc = i3c_device_basic_info_get(target);
2291 return i3c_device_adv_info_get(target);
2324 * @param p The 7b target dynamic address
2336 * @param target I3C target device descriptor.
2337 * @param requested True if the target requested the Handoff, False if
2344 int i3c_device_controller_handoff(const struct i3c_device_desc *target, bool requested);
2525 * @param iodev RTIO IODev to target for the submissions