Lines Matching +full:per +full:- +full:port +full:- +full:set

1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */
2 /* Copyright(c) 2015-17 Intel Corporation. */
62 * flow modes for SDW port. These can be isochronous, tx controlled,
70 /* sample packaging for block. It can be per port or per channel */
75 * enum sdw_slave_status - Slave status
93 * @SDW_CLK_PRE_DEPREPARE: pre clock stop de-prepare
94 * @SDW_CLK_POST_DEPREPARE: post clock stop de-prepare
104 * enum sdw_command_response - Command response as defined by SDW spec
154 * @SDW_DATA_DIR_RX: Data into Port
155 * @SDW_DATA_DIR_TX: Data out of Port
163 * enum sdw_port_data_mode: Data Port mode
173 * owned by this Port
190 * enum sdw_p15_behave - Slave Port 15 behaviour when the Master attempts a
201 * enum sdw_dpn_type - Data port types
202 * @SDW_DPN_FULL: Full Data Port is supported
203 * @SDW_DPN_SIMPLE: Simplified Data Port as defined in spec.
206 * @SDW_DPN_REDUCED: Reduced Data Port as defined in spec.
216 * enum sdw_clk_stop_mode - Clock Stop modes
219 * @SDW_CLK_STOP_MODE1: Slave may have entered a deeper power-saving mode,
228 * struct sdw_dp0_prop - DP0 properties
238 * @ch_prep_timeout: Port-specific timeout value, in milliseconds
239 * @imp_def_interrupts: If set, each bit corresponds to support for
240 * implementation-defined interrupts
258 * struct sdw_dpn_audio_mode - Audio mode properties for DPn
290 * struct sdw_dpn_prop - Data Port DPn properties
291 * @num: port number
298 * @type: Data port type. Full, Simplified or Reduced
300 * a full data port
301 * @simple_ch_prep_sm: If the port supports simplified channel prepare state
303 * @ch_prep_timeout: Port-specific timeout value, in milliseconds
304 * @imp_def_interrupts: If set, each bit corresponds to support for
305 * implementation-defined interrupts
313 * @max_async_buffer: Number of samples that this port can buffer in
315 * @block_pack_mode: Type of block port mode supported
346 * struct sdw_slave_prop - SoundWire Slave properties
348 * @wake_capable: Wake-up events are supported
350 * @clk_stop_mode1: Clock-Stop Mode 1 is supported
352 * @clk_stop_timeout: Worst-case latency of the Clock Stop Prepare State
354 * @ch_prep_timeout: Worst-case latency of the Channel Prepare State Machine
357 * state machine (P=1 SCSP_SM) after exit from clock-stop mode1
369 * @dp0_prop: Data Port 0 properties
370 * @src_dpn_prop: Source Data Port N properties
371 * @sink_dpn_prop: Sink Data Port N properties
376 * do not need to set this boolean property as the registers are required.
408 * struct sdw_master_prop - Master properties
410 * @clk_stop_modes: Bitmap, bit N set when clock-stop-modeN supported
423 * @hw_disabled: if true, the Master is not functional, typically due to pin-mux
474 * struct sdw_slave_id - Slave ID
497 * Helper macros to extract the MIPI-defined IDs
526 * struct sdw_slave_intr_status - Slave interrupt status
527 * @sdca_cascade: set if the Slave device reports an SDCA interrupt
528 * @control_port: control port status
529 * @port: data port status
534 u8 port[15]; member
538 * sdw_reg_bank - SoundWire register banks
548 * struct sdw_prepare_ch: Prepare/De-prepare Data Port channel
550 * @num: Port number
552 * @prepare: Prepare (true) /de-prepare (false) channel
566 * enum sdw_port_prep_ops: Prepare operations for Data Port
568 * @SDW_OPS_PORT_PRE_PREP: Pre prepare operation for the Port
569 * @SDW_OPS_PORT_PRE_DEPREP: Pre deprepare operation for the Port
570 * @SDW_OPS_PORT_POST_PREP: Post prepare operation for the Port
571 * @SDW_OPS_PORT_POST_DEPREP: Post deprepare operation for the Port
585 * set to !curr_bank
616 * @port_prep: Prepare the port with parameters
617 * @clk_stop: handle imp-def sequences before and after prepare and de-prepare
637 * struct sdw_slave - SoundWire Slave
646 * @port_ready: Port ready completion flag for each Slave port
647 * @m_port_map: static Master port map for each Slave port
649 * @dev_num_sticky: one-time static Device Number assigned by Bus
656 * @unattach_request: mask field to keep track why the Slave re-attached and
657 * was re-initialized. This is useful to deal with potential race conditions
694 * struct sdw_master_device - SoundWire 'Master Device' representation
734 * struct sdw_port_params: Data Port parameters
736 * @num: Port number
737 * @bps: Word length of the Port
738 * @flow_mode: Port Data flow mode
741 * This is used to program the Data Port based on Data Port stream
752 * struct sdw_transport_params: Data Port Transport Parameters
754 * @blk_grp_ctrl_valid: Port implements block group control
755 * @num: Port number
762 * @blk_pkg_mode: Block per channel or block per port
763 * @lane_ctrl: Data lane Port uses for Data transfer. Currently only single
766 * This is used to program the Data Port based on Data Port transport
784 * struct sdw_enable_ch: Enable/disable Data Port channel
786 * @num: Port number
798 * driver to set Master Data ports.
800 * @dpn_set_port_params: Set the Port parameters for the Master Port.
802 * @dpn_set_port_transport_params: Set transport parameters for the Master
803 * Port. Mandatory callback
804 * @dpn_port_prep: Port prepare operations for the Master Data Port.
805 * @dpn_port_enable_ch: Enable the channels of Master Port.
823 * struct sdw_defer - SDW deffered message
835 * struct sdw_master_ops - Master driver ops
841 * @set_bus_conf: Set the bus configuration
844 * @read_ping_status: Read status from PING frames, reported with two bits per Device.
846 * @get_device_num: Callback for vendor-specific device_number allocation
847 * @put_device_num: Callback for vendor-specific device_number release
871 * struct sdw_bus - SoundWire bus
872 * @dev: Shortcut to &bus->md->dev to avoid changing the entire code.
874 * @controller_id: system-unique controller ID. If set to -1, the bus @id will be used.
876 * @id: bus system-wide unique id
879 * Bit set implies used number, bit clear implies unused number.
884 * @port_ops: Master port callback ops
887 * @vendor_specific_prop: pointer to non-standard properties
890 * transport and port parameters
900 * hardware-based synchronization is required. This value is only
901 * meaningful if multi_link is set. If set to 1, hardware-based
945 * sdw_port_config: Master or Slave Port configuration
947 * @num: Port number
948 * @ch_mask: channels mask for port
960 * @bps: Number of bits per audio sample
980 * @SDW_STREAM_DEPREPARED: Stream de-prepared
998 * @bps: bits per channel sample
1014 * master_list can contain only one m_rt per Master instance
1083 return -EINVAL; in sdw_stream_add_slave()
1090 return -EINVAL; in sdw_stream_remove_slave()
1097 return -EINVAL; in sdw_read()
1103 return -EINVAL; in sdw_write()
1109 return -EINVAL; in sdw_write_no_pm()
1115 return -EINVAL; in sdw_read_no_pm()
1121 return -EINVAL; in sdw_nread()
1127 return -EINVAL; in sdw_nread_no_pm()
1133 return -EINVAL; in sdw_nwrite()
1139 return -EINVAL; in sdw_nwrite_no_pm()
1145 return -EINVAL; in sdw_update()
1151 return -EINVAL; in sdw_update_no_pm()