Lines Matching +full:per +full:- +full:device

1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (c) 2011-2017, The Linux Foundation
9 #include <linux/device.h>
14 /* Standard values per SLIMbus spec needed by controllers and devices */
43 /* Device management messages used by this framework */
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.
92 * Every controller may have multiple framers. There is 1 active framer device
94 * Manager is responsible for framer hand-over.
95 * @dev: Driver model representation of the device.
99 * @superfreq: Superframes per root frequency. Every frame is 6144 bits.
102 struct device dev;
111 * struct slim_msg_txn - Message to be sent by the controller.
120 * (relevant for message-codes involving read operation)
121 * @la: Logical address of the device this message is going to.
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
320 * struct slim_stream_runtime - SLIMbus stream runtime instance
323 * @dev: SLIM Device instance associated with this stream
327 * @bps: bits per sample
331 * @node: list head for stream associated with slim device.
347 * struct slim_controller - Controls every instance of SLIMbus
349 * @dev: Device interface to this driver
350 * @id: Board-specific number identifier for this controller/bus
358 * @devices: Slim device list
367 * send unicast message to this device with its logical address.
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
380 * 'Manager device' is responsible for device management, bandwidth
381 * allocation, channel setup, and port associations per channel.
382 * Device management means Logical address assignment/removal based on
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.
395 * Controller here performs duties of the manager device, and 'interface
396 * device'. Interface device is responsible for monitoring the bus and
397 * reporting information such as loss-of-synchronization, data
398 * slot-collision.
401 struct device *dev;