Home
last modified time | relevance | path

Searched refs:smi (Results 1 – 25 of 61) sorted by relevance

123

/Linux-v5.10/drivers/net/dsa/
Drealtek-smi-core.c49 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()
64 gpiod_set_value(smi->mdc, 1); in realtek_smi_start()
65 realtek_smi_clk_delay(smi); in realtek_smi_start()
66 gpiod_set_value(smi->mdc, 0); in realtek_smi_start()
67 realtek_smi_clk_delay(smi); in realtek_smi_start()
[all …]
Drtl8366.c16 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()
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()
68 for (i = 0; i < smi->num_vlan_mc; i++) { in rtl8366_obtain_mc()
69 ret = smi->ops->get_vlan_mc(smi, i, vlanmc); in rtl8366_obtain_mc()
71 dev_err(smi->dev, "error searching for VLAN MC %d for VID %d\n", in rtl8366_obtain_mc()
[all …]
Drtl8366rb.c358 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
431 ret = regmap_update_bits(smi->map, RTL8366RB_INTERRUPT_MASK_REG, in rtl8366rb_unmask_irq()
435 dev_err(smi->dev, "could not unmask IRQ\n"); in rtl8366rb_unmask_irq()
[all …]
Drealtek-smi-core.h82 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,
96 int (*set_vlan_4k)(struct realtek_smi *smi,
98 int (*get_mc_index)(struct realtek_smi *smi, int port, int *val);
[all …]
DMakefile12 obj-$(CONFIG_NET_DSA_REALTEK_SMI) += realtek-smi.o
13 realtek-smi-objs := realtek-smi-core.o rtl8366.o rtl8366rb.o
/Linux-v5.10/drivers/char/ipmi/
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 …]
Dipmi_si_sm.h56 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);
90 int (*detect)(struct si_sm_data *smi);
93 void (*cleanup)(struct si_sm_data *smi);
/Linux-v5.10/Documentation/devicetree/bindings/memory-controllers/
Dmediatek,smi-common.txt12 for generation 1, the register is at smi ao base(smi always on register
13 base). Besides that, the smi async clock should be prepared and enabled for
14 SMI generation 1 to transform the smi clock into emi clock domain, but that is
19 "mediatek,mt2701-smi-common"
20 "mediatek,mt2712-smi-common"
21 "mediatek,mt6779-smi-common"
22 "mediatek,mt7623-smi-common", "mediatek,mt2701-smi-common"
23 "mediatek,mt8167-smi-common"
24 "mediatek,mt8173-smi-common"
25 "mediatek,mt8183-smi-common"
[all …]
Dmediatek,smi-larb.txt7 "mediatek,mt2701-smi-larb"
8 "mediatek,mt2712-smi-larb"
9 "mediatek,mt6779-smi-larb"
10 "mediatek,mt7623-smi-larb", "mediatek,mt2701-smi-larb"
11 "mediatek,mt8167-smi-larb"
12 "mediatek,mt8173-smi-larb"
13 "mediatek,mt8183-smi-larb"
15 - mediatek,smi : a phandle to the smi_common node.
21 - "smi" : It's the clock for transfer data and command.
31 compatible = "mediatek,mt8173-smi-larb";
[all …]
/Linux-v5.10/drivers/memory/
Dmtk-smi.c84 struct mtk_smi smi; member
92 static int mtk_smi_clk_enable(const struct mtk_smi *smi) in mtk_smi_clk_enable() argument
96 ret = clk_prepare_enable(smi->clk_apb); in mtk_smi_clk_enable()
100 ret = clk_prepare_enable(smi->clk_smi); in mtk_smi_clk_enable()
104 ret = clk_prepare_enable(smi->clk_gals0); in mtk_smi_clk_enable()
108 ret = clk_prepare_enable(smi->clk_gals1); in mtk_smi_clk_enable()
115 clk_disable_unprepare(smi->clk_gals0); in mtk_smi_clk_enable()
117 clk_disable_unprepare(smi->clk_smi); in mtk_smi_clk_enable()
119 clk_disable_unprepare(smi->clk_apb); in mtk_smi_clk_enable()
123 static void mtk_smi_clk_disable(const struct mtk_smi *smi) in mtk_smi_clk_disable() argument
[all …]
/Linux-v5.10/arch/arm/boot/dts/
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 …]
Dmt2701.dtsi190 smi_common: smi@1000c000 {
191 compatible = "mediatek,mt2701-smi-common";
196 clock-names = "apb", "smi", "async";
531 compatible = "mediatek,mt2701-smi-larb";
533 mediatek,smi = <&smi_common>;
537 clock-names = "apb", "smi";
548 compatible = "mediatek,mt2701-smi-larb";
550 mediatek,smi = <&smi_common>;
554 clock-names = "apb", "smi";
564 clock-names = "jpgdec-smi",
[all …]
Dspear600-evb.dts50 &smi {
56 st,smi-fast-mode;
Dspear1310-evb.dts63 smi-pmx {
65 st,function = "smi";
171 smi: flash@ea000000 { label
179 st,smi-fast-mode;
Dspear310-evb.dts95 smi: flash@fc000000 { label
103 st,smi-fast-mode;
Dspear320-evb.dts96 smi: flash@fc000000 { label
104 st,smi-fast-mode;
/Linux-v5.10/Documentation/devicetree/bindings/mtd/
Dspear_smi.txt4 - compatible : "st,spear600-smi"
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;
/Linux-v5.10/drivers/mmc/host/
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 …]
/Linux-v5.10/arch/arm64/boot/dts/mediatek/
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 …]
Dmt8173.dtsi1228 compatible = "mediatek,mt8173-smi-larb";
1230 mediatek,smi = <&smi_common>;
1234 clock-names = "apb", "smi";
1237 smi_common: smi@14022000 {
1238 compatible = "mediatek,mt8173-smi-common";
1243 clock-names = "apb", "smi";
1285 compatible = "mediatek,mt8173-smi-larb";
1287 mediatek,smi = <&smi_common>;
1291 clock-names = "apb", "smi";
1301 compatible = "mediatek,mt8173-smi-larb";
[all …]
/Linux-v5.10/Documentation/devicetree/bindings/media/
Dmediatek-jpeg-decoder.txt15 - clock-names: must contain "jpgdec-smi" and "jpgdec".
19 Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.txt
32 clock-names = "jpgdec-smi",
/Linux-v5.10/Documentation/devicetree/bindings/iommu/
Dmediatek,iommu.txt44 smi local arbiter and smi common. It will control whether the Multimedia
53 smi-common and m4u, and additional GALS module between smi-larb and
54 smi-common. GALS can been seen as a "asynchronous fifo" which could help
77 Refer to bindings/memory-controllers/mediatek,smi-larb.txt. It must sort
/Linux-v5.10/Documentation/devicetree/bindings/pinctrl/
Dmarvell,armada-98dx3236-pinctrl.txt18 mpp4 4 gpio, spi0(cs1), smi(mdc), dev(cs0)
45 mpp31 31 gpio, slv_smi(mdc), smi(mdc), dev(we1)
46 mpp32 32 gpio, slv_smi(mdio), smi(mdio), dev(cs1)
Dmarvell,armada-39x-pinctrl.txt22 mpp4 4 gpio, ua1(txd), ua0(rts), smi(mdc)
23 mpp5 5 gpio, ua1(rxd), ua0(cts), smi(mdio)
35 mpp17 17 gpio, ua1(rxd), spi0(sck), sata1(prsnt) [1], sata0(prsnt) [1], smi(mdio)
38 mpp20 20 gpio, sata0(prsnt) [1], ua0(rts), ua1(txd), smi(mdc)
/Linux-v5.10/Documentation/devicetree/bindings/display/
Dsm501fb.txt7 - compatible : should be "smi,sm501".
26 compatible = "smi,sm501";

123