Lines Matching +full:per +full:- +full:channel

1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (c) 2011-2017, The Linux Foundation
14 /* Standard values per SLIMbus spec needed by controllers and devices */
48 /* Data channel management messages */
64 /* Clock pause values per SLIMbus spec */
74 /* Standard values per SLIMbus spec needed by controllers and devices */
82 /* Standard values per SLIMbus spec needed by controllers and devices */
86 /* Manager's logical address is set to 0xFF per spec */
91 * struct slim_framer - Represents SLIMbus framer.
94 * Manager is responsible for framer hand-over.
99 * @superfreq: Superframes per root frequency. Every frame is 6144 bits.
111 * struct slim_msg_txn - Message to be sent by the controller.
120 * (relevant for message-codes involving read operation)
172 * @m_reconf: This mutex is held until current reconfiguration (data channel
212 * enum slim_channel_state: SLIMbus channel state machine used by core.
213 * @SLIM_CH_STATE_DISCONNECTED: SLIMbus channel is disconnected
214 * @SLIM_CH_STATE_ALLOCATED: SLIMbus channel is allocated
215 * @SLIM_CH_STATE_ASSOCIATED: SLIMbus channel is associated with port
216 * @SLIM_CH_STATE_DEFINED: SLIMbus channel parameters are defined
217 * @SLIM_CH_STATE_CONTENT_DEFINED: SLIMbus channel content is defined
218 * @SLIM_CH_STATE_ACTIVE: SLIMbus channel is active and ready for data
219 * @SLIM_CH_STATE_REMOVED: SLIMbus channel is inactive and removed
232 * enum slim_ch_data_fmt: SLIMbus channel data Type identifiers according to
247 * enum slim_ch_aux_bit_fmt: SLIMbus channel Aux Field format IDs according to
260 * struct slim_channel - SLIMbus channel, used for state machine
262 * @id: ID of channel
263 * @prrate: Presense rate of channel from Table 66 of SLIMbus 2.0 Specs
265 * @data_fmt: Data format of channel.
266 * @aux_fmt: Aux format for this channel.
267 * @state: channel state machine
279 * struct slim_port - SLIMbus port
284 * @ch: channel associated with this port.
297 * channel rate flow control embedded in the data.
299 * data whose rate is equal to, or lower than the channel rate.
303 * @SLIM_PROTO_ASYNC_SMPLX: Asynchronous Protocol-Simplex
304 * @SLIM_PROTO_ASYNC_HALF_DUP: Asynchronous Protocol-Half-duplex
305 * @SLIM_PROTO_EXT_SMPLX: Extended Asynchronous Protocol-Simplex
306 * @SLIM_PROTO_EXT_HALF_DUP: Extended Asynchronous Protocol-Half-duplex
320 * struct slim_stream_runtime - SLIMbus stream runtime instance
327 * @bps: bits per sample
347 * struct slim_controller - Controls every instance of SLIMbus
350 * @id: Board-specific number identifier for this controller/bus
363 * control/status message like data channel setup, or a unicast message
372 * @wakeup: This function pointer implements controller-specific procedure
373 * to wake it up from clock-pause. Framework will call this to bring
375 * @enable_stream: This function pointer implements controller-specific procedure
377 * @disable_stream: This function pointer implements controller-specific procedure
381 * allocation, channel setup, and port associations per channel.
383 * enumeration (report-present, report-absent) of a device.
385 * channels on the bus, message-bandwidth requests made by SLIMbus devices.
387 * the bus at (in steps of 'clock-gear', 1 through 10, each clock gear
389 * Manager is also responsible for entering (and exiting) low-power-mode
393 * previous framer being powered-on.
397 * reporting information such as loss-of-synchronization, data
398 * slot-collision.