Home
last modified time | relevance | path

Searched full:smi (Results 1 – 25 of 377) sorted by relevance

12345678910>>...16

/OK3568_Linux_fs/kernel/drivers/net/dsa/
H A Drealtek-smi-core.c2 /* Realtek Simple Management Interface (SMI) driver
5 * The SMI protocol piggy-backs the MDIO MDC and MDIO signals levels
19 * RTL8370 - Also uses SMI
43 #include "realtek-smi-core.h"
49 static inline void realtek_smi_clk_delay(struct realtek_smi *smi) in realtek_smi_clk_delay() argument
51 ndelay(smi->clk_delay); in realtek_smi_clk_delay()
54 static void realtek_smi_start(struct realtek_smi *smi) in realtek_smi_start() argument
59 gpiod_direction_output(smi->mdc, 0); in realtek_smi_start()
60 gpiod_direction_output(smi->mdio, 1); in realtek_smi_start()
61 realtek_smi_clk_delay(smi); in realtek_smi_start()
[all …]
H A Drtl8366.c2 /* Realtek SMI library helpers for the RTL8366x variants
14 #include "realtek-smi-core.h"
16 int rtl8366_mc_is_used(struct realtek_smi *smi, int mc_index, int *used) in rtl8366_mc_is_used() argument
22 for (i = 0; i < smi->num_ports; i++) { in rtl8366_mc_is_used()
25 ret = smi->ops->get_mc_index(smi, i, &index); in rtl8366_mc_is_used()
41 * @smi: the Realtek SMI device instance
47 static int rtl8366_obtain_mc(struct realtek_smi *smi, int vid, in rtl8366_obtain_mc() argument
55 for (i = 0; i < smi->num_vlan_mc; i++) { in rtl8366_obtain_mc()
56 ret = smi->ops->get_vlan_mc(smi, i, vlanmc); in rtl8366_obtain_mc()
58 dev_err(smi->dev, "error searching for VLAN MC %d for VID %d\n", in rtl8366_obtain_mc()
[all …]
H A Drtl8366rb.c2 /* Realtek SMI subdriver for the Realtek RTL8366RB ethernet switch
23 #include "realtek-smi-core.h"
358 static int rtl8366rb_get_mib_counter(struct realtek_smi *smi, in rtl8366rb_get_mib_counter() argument
374 ret = regmap_write(smi->map, addr, 0); /* Write whatever */ in rtl8366rb_get_mib_counter()
379 ret = regmap_read(smi->map, RTL8366RB_MIB_CTRL_REG, &val); in rtl8366rb_get_mib_counter()
392 ret = regmap_read(smi->map, addr + (i - 1), &val); in rtl8366rb_get_mib_counter()
417 struct realtek_smi *smi = irq_data_get_irq_chip_data(d); in rtl8366rb_mask_irq() local
420 ret = regmap_update_bits(smi->map, RTL8366RB_INTERRUPT_MASK_REG, in rtl8366rb_mask_irq()
423 dev_err(smi->dev, "could not mask IRQ\n"); in rtl8366rb_mask_irq()
428 struct realtek_smi *smi = irq_data_get_irq_chip_data(d); in rtl8366rb_unmask_irq() local
[all …]
H A Drealtek-smi-core.h2 /* Realtek SMI interface driver defines
78 * struct realtek_smi_ops - vtable for the per-SMI-chiptype operations
82 int (*detect)(struct realtek_smi *smi);
83 int (*reset_chip)(struct realtek_smi *smi);
84 int (*setup)(struct realtek_smi *smi);
85 void (*cleanup)(struct realtek_smi *smi);
86 int (*get_mib_counter)(struct realtek_smi *smi,
90 int (*get_vlan_mc)(struct realtek_smi *smi, u32 index,
92 int (*set_vlan_mc)(struct realtek_smi *smi, u32 index,
94 int (*get_vlan_4k)(struct realtek_smi *smi, u32 vid,
[all …]
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/memory-controllers/
H A Dmediatek,smi-common.yaml5 $id: http://devicetree.org/schemas/memory-controllers/mediatek,smi-common.yaml#
8 title: SMI (Smart Multimedia Interface) Common
16 MediaTek SMI have two generations of HW architecture, here is the list
21 There's slight differences between the two SMI, for generation 2, the
23 for generation 1, the register is at smi ao base(smi always on register
24 base). Besides that, the smi async clock should be prepared and enabled for
25 SMI generation 1 to transform the smi clock into emi clock domain, but that is
26 not needed for SMI generation 2.
32 - mediatek,mt2701-smi-common
33 - mediatek,mt2712-smi-common
[all …]
H A Dmediatek,smi-larb.yaml5 $id: http://devicetree.org/schemas/memory-controllers/mediatek,smi-larb.yaml#
8 title: SMI (Smart Multimedia Interface) Local Arbiter
20 - mediatek,mt2701-smi-larb
21 - mediatek,mt2712-smi-larb
22 - mediatek,mt6779-smi-larb
23 - mediatek,mt8167-smi-larb
24 - mediatek,mt8173-smi-larb
25 - mediatek,mt8183-smi-larb
29 - const: mediatek,mt7623-smi-larb
30 - const: mediatek,mt2701-smi-larb
[all …]
/OK3568_Linux_fs/kernel/drivers/char/ipmi/
H A Dipmi_powernv.c38 struct ipmi_smi_powernv *smi = send_info; in ipmi_powernv_start_processing() local
40 smi->intf = intf; in ipmi_powernv_start_processing()
44 static void send_error_reply(struct ipmi_smi_powernv *smi, in send_error_reply() argument
51 ipmi_smi_msg_received(smi->intf, msg); in send_error_reply()
56 struct ipmi_smi_powernv *smi = send_info; in ipmi_powernv_send() local
74 spin_lock_irqsave(&smi->msg_lock, flags); in ipmi_powernv_send()
76 if (smi->cur_msg) { in ipmi_powernv_send()
82 opal_msg = smi->opal_msg; in ipmi_powernv_send()
93 smi->interface_id, opal_msg, size); in ipmi_powernv_send()
94 rc = opal_ipmi_send(smi->interface_id, opal_msg, size); in ipmi_powernv_send()
[all …]
H A Dipmi_si_sm.h28 /* Results of SMI events. */
44 /* Handlers for the SMI state machine. */
56 unsigned int (*init_data)(struct si_sm_data *smi,
65 int (*start_transaction)(struct si_sm_data *smi,
73 int (*get_result)(struct si_sm_data *smi,
84 enum si_sm_result (*event)(struct si_sm_data *smi, long time);
87 * Attempt to detect an SMI. Returns 0 on success or nonzero
90 int (*detect)(struct si_sm_data *smi);
93 void (*cleanup)(struct si_sm_data *smi);
95 /* Return the size of the SMI structure in bytes. */
/OK3568_Linux_fs/kernel/drivers/memory/
H A Dmtk-smi.c16 #include <soc/mediatek/smi.h>
52 /* SMI COMMON */
89 struct mtk_smi smi; member
98 static int mtk_smi_clk_enable(const struct mtk_smi *smi) in mtk_smi_clk_enable() argument
102 ret = clk_prepare_enable(smi->clk_apb); in mtk_smi_clk_enable()
106 ret = clk_prepare_enable(smi->clk_smi); in mtk_smi_clk_enable()
110 ret = clk_prepare_enable(smi->clk_gals0); in mtk_smi_clk_enable()
114 ret = clk_prepare_enable(smi->clk_gals1); in mtk_smi_clk_enable()
121 clk_disable_unprepare(smi->clk_gals0); in mtk_smi_clk_enable()
123 clk_disable_unprepare(smi->clk_smi); in mtk_smi_clk_enable()
[all …]
/OK3568_Linux_fs/kernel/drivers/watchdog/
H A DiTCO_vendor_support.c47 "0 (none), 1=SuperMicro Pent3, 911=Broken SMI BIOS");
62 * BIOS setup -> Power -> TCO Logic SMI Enable -> Within5Minutes
63 * This setting enables SMI to clear the watchdog expired flag.
64 * If BIOS or CPU fail which may cause SMI hang, then system will
66 * application has to take over the control from SMI.
81 /* Bit 13: TCO_EN -> 0 = Disables TCO logic generating an SMI# */ in supermicro_old_pre_start()
83 val32 &= 0xffffdfff; /* Turn off SMI clearing watchdog */ in supermicro_old_pre_start()
91 /* Bit 13: TCO_EN -> 1 = Enables the TCO logic to generate SMI# */ in supermicro_old_pre_stop()
93 val32 |= 0x00002000; /* Turn on SMI clearing watchdog */ in supermicro_old_pre_stop()
103 * the SMI handler clear's the TIMEOUT bit in the TC01_STS register
[all …]
/OK3568_Linux_fs/kernel/drivers/gpu/drm/i915/
H A Di915_cmd_parser.c198 #define SMI STD_MI_OPCODE_SHIFT macro
211 CMD( MI_NOOP, SMI, F, 1, S ),
212 CMD( MI_USER_INTERRUPT, SMI, F, 1, R ),
213 CMD( MI_WAIT_FOR_EVENT, SMI, F, 1, R ),
214 CMD( MI_ARB_CHECK, SMI, F, 1, S ),
215 CMD( MI_REPORT_HEAD, SMI, F, 1, S ),
216 CMD( MI_SUSPEND_FLUSH, SMI, F, 1, S ),
217 CMD( MI_SEMAPHORE_MBOX, SMI, !F, 0xFF, R ),
218 CMD( MI_STORE_DWORD_INDEX, SMI, !F, 0xFF, R ),
219 CMD( MI_LOAD_REGISTER_IMM(1), SMI, !F, 0xFF, W,
[all …]
/OK3568_Linux_fs/kernel/Documentation/driver-api/
H A Ddcdbas.rst28 management information via a system management interrupt (SMI). The SMI data
30 buffer is required for the SMI. The driver maintains the memory required for
31 the SMI and provides a way for the application to generate the SMI.
41 a SMI using this driver:
45 3) Write "1" to smi_request to generate a calling interface SMI or
46 "2" to generate a raw SMI.
57 a driver perform a SMI after the OS has finished shutting down.
71 2) Write type of SMI that driver needs to perform to host_control_smi_type.
74 (Driver will perform host control SMI when it is notified that the OS
78 Host Control SMI Type
[all …]
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/iommu/
H A Dmediatek,iommu.yaml33 SMI Common(Smart Multimedia Interface Common)
42 SMI larb0 SMI larb1 ... SoCs have several SMI local arbiter(larb).
52 As above, The Multimedia HW will go through SMI and M4U while it
53 access EMI. SMI is a bridge between m4u and the Multimedia HW. It contain
54 smi local arbiter and smi common. It will control whether the Multimedia
56 directly with EMI. And also SMI help control the power domain and clocks for
65 smi-common and m4u, and additional GALS module between smi-larb and
66 smi-common. GALS can been seen as a "asynchronous fifo" which could help
106 Refer to bindings/memory-controllers/mediatek,smi-larb.yaml. It must sort
/OK3568_Linux_fs/kernel/drivers/net/dsa/mv88e6xxx/
H A Dsmi.c3 * Marvell 88E6xxx System Management Interface (SMI) support
11 #include "smi.h"
13 /* The switch ADDR[4:1] configuration pins define the chip SMI device address
14 * (ADDR[0] is always zero, thus only even SMI addresses can be strapped).
17 * is the only device connected to the SMI master. In this mode it responds to
18 * all 32 possible SMI addresses, and thus maps directly the internal devices.
21 * multiple devices to share the SMI interface. In this mode it responds to only
22 * 2 registers, used to indirectly access the internal SMI devices.
25 * configuration, and the device responds to 16 of the 32 SMI
26 * addresses, allowing two to coexist on the same SMI interface.
[all …]
/OK3568_Linux_fs/kernel/arch/arm/boot/dts/
H A Dmt7623n.dtsi60 compatible = "mediatek,mt7623-smi-larb",
61 "mediatek,mt2701-smi-larb";
63 mediatek,smi = <&smi_common>;
67 clock-names = "apb", "smi";
72 compatible = "mediatek,mt7623-smi-larb",
73 "mediatek,mt2701-smi-larb";
75 mediatek,smi = <&smi_common>;
79 clock-names = "apb", "smi";
84 compatible = "mediatek,mt7623-smi-larb",
85 "mediatek,mt2701-smi-larb";
[all …]
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/mtd/
H A Dspear_smi.txt1 * SPEAr SMI
4 - compatible : "st,spear600-smi"
9 - clock-rate : Functional clock rate of SMI in Hz
12 - st,smi-fast-mode : Flash supports read in fast mode
16 smi: flash@fc000000 {
17 compatible = "st,spear600-smi";
26 st,smi-fast-mode;
/OK3568_Linux_fs/u-boot/drivers/mtd/
H A Dst_smi.c130 * flash_get_size - Detect the SMI flash by reading the ID.
134 * Detect the SMI flash by reading the ID. Initializes the flash_info structure
167 * smi_read_sr - Read status register of SMI
180 /* Program SMI in HW Mode */ in smi_read_sr()
223 printf("SMI controller is still in wait, timeout=%d\n", timeout); in smi_wait_till_ready()
244 /* Program SMI in H/W Mode */ in smi_write_enable()
270 * smi_init - SMI initialization routine
272 * SMI initialization routine. Sets SMI control register1.
276 /* Setting the fast mode values. SMI working at 166/4 = 41.5 MHz */ in smi_init()
325 /* Put SMI in SW mode */ in smi_sector_erase()
[all …]
/OK3568_Linux_fs/kernel/drivers/mtd/devices/
H A Dspear_smi.c2 * SMI (Serial Memory Controller) device driver for Serial NOR Flash on
5 * interface has been replaced by SMI.
40 /* SMI clock rate */
50 /* registers of smi */
51 #define SMI_CR1 0x0 /* SMI control register 1 */
52 #define SMI_CR2 0x4 /* SMI control register 2 */
53 #define SMI_SR 0x8 /* SMI status register */
54 #define SMI_TR 0xC /* SMI transmit register */
55 #define SMI_RR 0x10 /* SMI receive register */
157 * struct spear_smi - Structure for SMI Device
[all …]
/OK3568_Linux_fs/kernel/drivers/platform/x86/
H A Ddcdbas.c58 * smi_data_buf_free: free SMI data buffer
77 * smi_data_buf_realloc: grow SMI data buffer if needed
141 /* make sure SMI data buffer is at least buf_size */ in smi_data_buf_size_store()
250 /* generate SMI */ in raise_smi()
251 /* inb to force posted write through and make SMI happen now */ in raise_smi()
266 * dcdbas_smi_request: generate SMI request
280 /* SMI requires CPU 0 */ in dcdbas_smi_request()
292 * 0: zero SMI data buffer
293 * 1: generate calling interface SMI
294 * 2: generate raw SMI
[all …]
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/net/dsa/
H A Drealtek-smi.txt1 Realtek SMI-based Switches
4 The SMI "Simple Management Interface" is a two-wire protocol using
7 SMI-based Realtek devices.
37 interrupt line coming out of one of the SMI-based chips. It most
50 This defines the internal MDIO bus of the SMI device, mostly for the
56 - compatible: should be set to "realtek,smi-mdio" for all SMI devices
123 compatible = "realtek,smi-mdio", "dsa-mdio";
/OK3568_Linux_fs/kernel/arch/arm64/boot/dts/mediatek/
H A Dmt2712e.dtsi992 compatible = "mediatek,mt2712-smi-larb";
994 mediatek,smi = <&smi_common0>;
999 clock-names = "apb", "smi";
1002 smi_common0: smi@14022000 {
1003 compatible = "mediatek,mt2712-smi-common";
1008 clock-names = "apb", "smi";
1012 compatible = "mediatek,mt2712-smi-larb";
1014 mediatek,smi = <&smi_common1>;
1019 clock-names = "apb", "smi";
1023 compatible = "mediatek,mt2712-smi-larb";
[all …]
/OK3568_Linux_fs/u-boot/doc/device-tree-bindings/misc/
H A Dintel-lpc.txt9 - intel,alt-gp-smi-enable : Enable SMI sources. This cell is written to the
18 1 SMI# (if corresponding ALT_GPI_SMI_EN bit is also set)
56 * 1 SMI# (if corresponding ALT_GPI_SMI_EN bit is
62 /* Enable EC SMI source */
63 intel,alt-gp-smi-enable = <0x0100>;
/OK3568_Linux_fs/kernel/drivers/mmc/host/
H A Dcavium.c301 struct sg_mapping_iter *smi = &host->smi; in do_read() local
310 if (smi->consumed >= smi->length) { in do_read()
311 if (!sg_miter_next(smi)) in do_read()
313 smi->consumed = 0; in do_read()
321 while (smi->consumed < smi->length && shift >= 0) { in do_read()
322 ((u8 *)smi->addr)[smi->consumed] = (dat >> shift) & 0xff; in do_read()
324 smi->consumed++; in do_read()
329 sg_miter_stop(smi); in do_read()
711 sg_miter_start(&host->smi, mrq->data->sg, mrq->data->sg_len, in do_read_request()
718 struct sg_mapping_iter *smi = &host->smi; in do_write_request() local
[all …]
/OK3568_Linux_fs/kernel/drivers/cpufreq/
H A Dspeedstep-smi.c3 * Intel SpeedStep SMI driver.
29 * These parameters are got from IST-SMI BIOS call.
55 /* how often shall the SMI call be tried if it failed, e.g. because
240 pr_debug("fails in acquiring ownership of a SMI interface.\n"); in speedstep_cpu_init()
253 "by SMI call.\n"); in speedstep_cpu_init()
285 pr_debug("fails in re-acquiring ownership of a SMI interface.\n"); in speedstep_resume()
291 .name = "speedstep-smi",
341 /* Error if no IST-SMI BIOS or no PARM in speedstep_init()
386 "SMI interface.");
389 MODULE_DESCRIPTION("Speedstep driver for IST applet SMI interface.");
/OK3568_Linux_fs/kernel/drivers/net/ethernet/marvell/
H A Dmvmdio.c7 * ports, but they in fact share the same SMI interface to access
54 * SMI Timeout measurements:
71 * but also reflects SMI completion), use that to wait for
72 * SMI access completion instead of polling the SMI busy bit.
89 /* Wait for the SMI unit to be ready for another operation
125 dev_err(bus->parent, "Timeout: SMI busy for too long\n"); in orion_mdio_wait_ready()
165 dev_err(bus->parent, "SMI bus read not valid\n"); in orion_mdio_smi_read()
288 dev_err(&pdev->dev, "No SMI register address given\n"); in orion_mdio_probe()
316 dev_err(&pdev->dev, "Unable to remap SMI register\n"); in orion_mdio_probe()

12345678910>>...16