Lines Matching +full:write +full:- +full:0 +full:- +full:bps

1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */
2 /* Copyright(c) 2015-17 Intel Corporation. */
31 #define SDW_ENUM_DEV_NUM 0
45 * fill hole with 0, one more dummy entry is added
60 SDW_PORT_DIRN_SINK = 0,
75 #define SDW_PORT_FLOW_MODE_ISOCH 0
76 #define SDW_PORT_FLOW_MODE_TX_CNTRL BIT(0)
78 #define SDW_PORT_FLOW_MODE_ASYNC GENMASK(1, 0)
81 #define SDW_BLOCK_PACKG_PER_PORT BIT(0)
85 * enum sdw_slave_status - Slave status
92 SDW_SLAVE_UNATTACHED = 0,
103 * @SDW_CLK_PRE_DEPREPARE: pre clock stop de-prepare
104 * @SDW_CLK_POST_DEPREPARE: post clock stop de-prepare
107 SDW_CLK_PRE_PREPARE = 0,
114 * enum sdw_command_response - Command response as defined by SDW spec
127 SDW_CMD_OK = 0,
136 SDW_BLK_GRP_CNT_1 = 0,
144 SDW_BLK_PKG_PER_PORT = 0,
158 SDW_STREAM_PCM = 0,
170 SDW_DATA_DIR_RX = 0,
182 * logic 0. The encoding will result in no signal transitions
188 SDW_PORT_DATA_MODE_NORMAL = 0,
195 * SDW properties, defined in MIPI DisCo spec v1.0
202 * enum sdw_p15_behave - Slave Port 15 behaviour when the Master attempts a
208 SDW_P15_READ_IGNORED = 0,
213 * enum sdw_dpn_type - Data port types
222 SDW_DPN_FULL = 0,
228 * enum sdw_clk_stop_mode - Clock Stop modes
231 * @SDW_CLK_STOP_MODE1: Slave may have entered a deeper power-saving mode,
235 SDW_CLK_STOP_MODE0 = 0,
240 * struct sdw_dp0_prop - DP0 properties
247 * @ch_prep_timeout: Port-specific timeout value, in milliseconds
252 * implementation-defined interrupts
274 * struct sdw_dpn_prop - Data Port DPn properties
285 * @ch_prep_timeout: Port-specific timeout value, in milliseconds
287 * implementation-defined interrupts
332 * struct sdw_slave_prop - SoundWire Slave properties
333 * @dp0_prop: Data Port 0 properties
337 * @wake_capable: Wake-up events are supported
339 * @clk_stop_mode1: Clock-Stop Mode 1 is supported
341 * @clk_stop_timeout: Worst-case latency of the Clock Stop Prepare State
343 * @ch_prep_timeout: Worst-case latency of the Channel Prepare State Machine
346 * state machine (P=1 SCSP_SM) after exit from clock-stop mode1
398 #define SDW_SLAVE_QUIRKS_INVALID_INITIAL_PARITY BIT(0)
401 * struct sdw_master_prop - Master properties
406 * @clk_stop_modes: Bitmap, bit N set when clock-stop-modeN supported
417 * @hw_disabled: if true, the Master is not functional, typically due to pin-mux
445 #define SDW_MASTER_QUIRKS_CLEAR_INITIAL_CLASH BIT(0)
465 #define SDW_IGNORED_UNIQUE_ID 0xFF
468 * struct sdw_slave_id - Slave ID
491 * Helper macros to extract the MIPI-defined IDs
496 * DevId_0 [3:0] 43:40 unique_id
498 * DevId_2 31:24 mfg_id [7:0]
500 * DevId_4 15:08 part_id [7:0]
510 #define SDW_CLASS_ID_MASK GENMASK_ULL(7, 0)
520 * struct sdw_slave_intr_status - Slave interrupt status
532 * sdw_reg_bank - SoundWire register banks
533 * @SDW_BANK0: Soundwire register bank 0
542 * struct sdw_prepare_ch: Prepare/De-prepare Data Port channel
546 * @prepare: Prepare (true) /de-prepare (false) channel
568 SDW_OPS_PORT_PRE_PREP = 0,
611 * @clk_stop: handle imp-def sequences before and after prepare and de-prepare
630 * struct sdw_slave - SoundWire Slave
641 * @dev_num: Current Device Number, values can be 0 or dev_num_sticky
642 * @dev_num_sticky: one-time static Device Number assigned by Bus
645 * on startup between device enumeration and read/write access to the
649 * @unattach_request: mask field to keep track why the Slave re-attached and
650 * was re-initialized. This is useful to deal with potential race conditions
689 * struct sdw_master_device - SoundWire 'Master Device' representation
718 SDW_SLAVE_ENTRY_EXT((_mfg_id), (_part_id), 0, 0, (_drv_data))
731 * @bps: Word length of the Port
740 unsigned int bps; member
816 * struct sdw_defer - SDW deferred message
837 * struct sdw_master_ops - Master driver ops
848 * @get_device_num: Callback for vendor-specific device_number allocation
849 * @put_device_num: Callback for vendor-specific device_number release
898 * @bps: Number of bits per audio sample
905 unsigned int bps; member
918 * @SDW_STREAM_DEPREPARED: Stream de-prepared
922 SDW_STREAM_ALLOCATED = 0,
936 * @bps: bits per channel sample
941 unsigned int bps; member
966 * struct sdw_bus - SoundWire bus
967 * @dev: Shortcut to &bus->md->dev to avoid changing the entire code.
986 * @vendor_specific_prop: pointer to non-standard properties
988 * hardware-based synchronization is required. This value is only
989 * meaningful if multi_link is set. If set to 1, hardware-based
992 * @controller_id: system-unique controller ID. If set to -1, the bus @id will be used.
993 * @link_id: Link id number, can be 0 to N, unique for each Controller
994 * @id: bus system-wide unique id
1106 return -EINVAL; in sdw_stream_add_slave()
1113 return -EINVAL; in sdw_stream_remove_slave()
1120 return -EINVAL; in sdw_read()
1126 return -EINVAL; in sdw_write()
1132 return -EINVAL; in sdw_write_no_pm()
1138 return -EINVAL; in sdw_read_no_pm()
1144 return -EINVAL; in sdw_nread()
1150 return -EINVAL; in sdw_nread_no_pm()
1156 return -EINVAL; in sdw_nwrite()
1162 return -EINVAL; in sdw_nwrite_no_pm()
1168 return -EINVAL; in sdw_update()
1174 return -EINVAL; in sdw_update_no_pm()