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

1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (c) 2011-2017, The Linux Foundation
19 #define SLIM_MSG_MT_CORE 0x0
20 #define SLIM_MSG_MT_DEST_REFERRED_USER 0x2
21 #define SLIM_MSG_MT_SRC_REFERRED_USER 0x6
25 * BYTE 0: MT[7:5] RL[4:0]
26 * BYTE 1: RSVD[7] MC[6:0]
27 * BYTE 2: RSVD[7:6] DT[5:4] PI[3:0]
29 #define SLIM_MSG_MT_MASK GENMASK(2, 0)
31 #define SLIM_MSG_RL_MASK GENMASK(4, 0)
32 #define SLIM_MSG_RL_SHIFT 0
33 #define SLIM_MSG_MC_MASK GENMASK(6, 0)
34 #define SLIM_MSG_MC_SHIFT 0
35 #define SLIM_MSG_DT_MASK GENMASK(1, 0)
44 #define SLIM_MSG_MC_REPORT_PRESENT 0x1
45 #define SLIM_MSG_MC_ASSIGN_LOGICAL_ADDRESS 0x2
46 #define SLIM_MSG_MC_REPORT_ABSENT 0xF
49 #define SLIM_MSG_MC_CONNECT_SOURCE 0x10
50 #define SLIM_MSG_MC_CONNECT_SINK 0x11
51 #define SLIM_MSG_MC_DISCONNECT_PORT 0x14
52 #define SLIM_MSG_MC_CHANGE_CONTENT 0x18
55 #define SLIM_MSG_MC_BEGIN_RECONFIGURATION 0x40
56 #define SLIM_MSG_MC_NEXT_PAUSE_CLOCK 0x4A
57 #define SLIM_MSG_MC_NEXT_DEFINE_CHANNEL 0x50
58 #define SLIM_MSG_MC_NEXT_DEFINE_CONTENT 0x51
59 #define SLIM_MSG_MC_NEXT_ACTIVATE_CHANNEL 0x54
60 #define SLIM_MSG_MC_NEXT_DEACTIVATE_CHANNEL 0x55
61 #define SLIM_MSG_MC_NEXT_REMOVE_CHANNEL 0x58
62 #define SLIM_MSG_MC_RECONFIGURE_NOW 0x5F
65 #define SLIM_CLK_FAST 0
70 #define SLIM_MSG_DEST_LOGICALADDR 0
86 /* Manager's logical address is set to 0xFF per spec */
87 #define SLIM_LA_MANAGER 0xFF
91 * struct slim_framer - Represents SLIMbus framer.
94 * Manager is responsible for framer hand-over.
111 * struct slim_msg_txn - Message to be sent by the controller.
120 * (relevant for message-codes involving read operation)
124 * @comp: completion if read/write is synchronous, used internally
141 struct slim_msg_txn name = { rl, 0, mc, SLIM_MSG_DEST_LOGICALADDR, 0,\
142 0, la, msg, }
145 struct slim_msg_txn name = { rl, 0, mc, SLIM_MSG_DEST_BROADCAST, 0,\
146 0, la, msg, }
149 struct slim_msg_txn name = { rl, 0, mc, SLIM_MSG_DEST_ENUMADDR, 0,\
150 0, la, msg, }
190 SLIM_PORT_SINK = 0,
206 SLIM_PORT_DISCONNECTED = 0,
222 SLIM_CH_STATE_DISCONNECTED = 0,
240 SLIM_CH_DATA_FMT_NOT_DEFINED = 0,
254 SLIM_CH_AUX_FMT_NOT_APPLICABLE = 0,
256 SLIM_CH_AUX_FMT_USER_DEFINED = 0xF,
260 * struct slim_channel - SLIMbus channel, used for state machine
279 * struct slim_port - SLIMbus port
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
309 SLIM_PROTO_ISO = 0,
320 * struct slim_stream_runtime - SLIMbus stream runtime instance
327 * @bps: bits per sample
339 unsigned int bps; member
347 * struct slim_controller - Controls every instance of SLIMbus
350 * @id: Board-specific number identifier for this controller/bus
364 * like value element read/write.
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
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.