Home
last modified time | relevance | path

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

123

/Linux-v5.4/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()
39 int rtl8366_set_vlan(struct realtek_smi *smi, int vid, u32 member, in rtl8366_set_vlan() argument
47 ret = smi->ops->get_vlan_4k(smi, vid, &vlan4k); in rtl8366_set_vlan()
54 ret = smi->ops->set_vlan_4k(smi, &vlan4k); in rtl8366_set_vlan()
59 for (i = 0; i < smi->num_vlan_mc; i++) { in rtl8366_set_vlan()
62 ret = smi->ops->get_vlan_mc(smi, i, &vlanmc); in rtl8366_set_vlan()
72 ret = smi->ops->set_vlan_mc(smi, i, &vlanmc); in rtl8366_set_vlan()
81 int rtl8366_get_pvid(struct realtek_smi *smi, int port, int *val) in rtl8366_get_pvid() argument
[all …]
Drtl8366rb.c350 static int rtl8366rb_get_mib_counter(struct realtek_smi *smi, in rtl8366rb_get_mib_counter() argument
366 ret = regmap_write(smi->map, addr, 0); /* Write whatever */ in rtl8366rb_get_mib_counter()
371 ret = regmap_read(smi->map, RTL8366RB_MIB_CTRL_REG, &val); in rtl8366rb_get_mib_counter()
384 ret = regmap_read(smi->map, addr + (i - 1), &val); in rtl8366rb_get_mib_counter()
409 struct realtek_smi *smi = irq_data_get_irq_chip_data(d); in rtl8366rb_mask_irq() local
412 ret = regmap_update_bits(smi->map, RTL8366RB_INTERRUPT_MASK_REG, in rtl8366rb_mask_irq()
415 dev_err(smi->dev, "could not mask IRQ\n"); in rtl8366rb_mask_irq()
420 struct realtek_smi *smi = irq_data_get_irq_chip_data(d); in rtl8366rb_unmask_irq() local
423 ret = regmap_update_bits(smi->map, RTL8366RB_INTERRUPT_MASK_REG, in rtl8366rb_unmask_irq()
427 dev_err(smi->dev, "could not unmask IRQ\n"); in rtl8366rb_unmask_irq()
[all …]
Drealtek-smi-core.h78 int (*detect)(struct realtek_smi *smi);
79 int (*reset_chip)(struct realtek_smi *smi);
80 int (*setup)(struct realtek_smi *smi);
81 void (*cleanup)(struct realtek_smi *smi);
82 int (*get_mib_counter)(struct realtek_smi *smi,
86 int (*get_vlan_mc)(struct realtek_smi *smi, u32 index,
88 int (*set_vlan_mc)(struct realtek_smi *smi, u32 index,
90 int (*get_vlan_4k)(struct realtek_smi *smi, u32 vid,
92 int (*set_vlan_4k)(struct realtek_smi *smi,
94 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.4/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.4/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,mt7623-smi-common", "mediatek,mt2701-smi-common"
22 "mediatek,mt8173-smi-common"
23 "mediatek,mt8183-smi-common"
27 - clock-names : must contain 3 entries for generation 1 smi HW and 2 entries
28 for generation 2 smi HW as follows:
[all …]
Dmediatek,smi-larb.txt7 "mediatek,mt2701-smi-larb"
8 "mediatek,mt2712-smi-larb"
9 "mediatek,mt7623-smi-larb", "mediatek,mt2701-smi-larb"
10 "mediatek,mt8173-smi-larb"
11 "mediatek,mt8183-smi-larb"
13 - mediatek,smi : a phandle to the smi_common node.
19 - "smi" : It's the clock for transfer data and command.
29 compatible = "mediatek,mt8173-smi-larb";
31 mediatek,smi = <&smi_common>;
35 clock-names = "apb", "smi";
[all …]
/Linux-v5.4/drivers/memory/
Dmtk-smi.c81 struct mtk_smi smi; member
89 static int mtk_smi_clk_enable(const struct mtk_smi *smi) in mtk_smi_clk_enable() argument
93 ret = clk_prepare_enable(smi->clk_apb); in mtk_smi_clk_enable()
97 ret = clk_prepare_enable(smi->clk_smi); in mtk_smi_clk_enable()
101 ret = clk_prepare_enable(smi->clk_gals0); in mtk_smi_clk_enable()
105 ret = clk_prepare_enable(smi->clk_gals1); in mtk_smi_clk_enable()
112 clk_disable_unprepare(smi->clk_gals0); in mtk_smi_clk_enable()
114 clk_disable_unprepare(smi->clk_smi); in mtk_smi_clk_enable()
116 clk_disable_unprepare(smi->clk_apb); in mtk_smi_clk_enable()
120 static void mtk_smi_clk_disable(const struct mtk_smi *smi) in mtk_smi_clk_disable() argument
[all …]
/Linux-v5.4/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.4/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.4/arch/arm64/boot/dts/mediatek/
Dmt2712e.dtsi868 compatible = "mediatek,mt2712-smi-larb";
870 mediatek,smi = <&smi_common0>;
875 clock-names = "apb", "smi";
878 smi_common0: smi@14022000 {
879 compatible = "mediatek,mt2712-smi-common";
884 clock-names = "apb", "smi";
888 compatible = "mediatek,mt2712-smi-larb";
890 mediatek,smi = <&smi_common1>;
895 clock-names = "apb", "smi";
899 compatible = "mediatek,mt2712-smi-larb";
[all …]
Dmt8173.dtsi1194 compatible = "mediatek,mt8173-smi-larb";
1196 mediatek,smi = <&smi_common>;
1200 clock-names = "apb", "smi";
1203 smi_common: smi@14022000 {
1204 compatible = "mediatek,mt8173-smi-common";
1209 clock-names = "apb", "smi";
1251 compatible = "mediatek,mt8173-smi-larb";
1253 mediatek,smi = <&smi_common>;
1257 clock-names = "apb", "smi";
1267 compatible = "mediatek,mt8173-smi-larb";
[all …]
/Linux-v5.4/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
75 Refer to bindings/memory-controllers/mediatek,smi-larb.txt. It must sort
/Linux-v5.4/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.4/arch/arm/boot/dts/
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 …]
Dmt7623.dtsi299 smi_common: smi@1000c000 {
300 compatible = "mediatek,mt7623-smi-common",
301 "mediatek,mt2701-smi-common";
306 clock-names = "apb", "smi", "async";
745 compatible = "mediatek,mt7623-smi-larb",
746 "mediatek,mt2701-smi-larb";
748 mediatek,smi = <&smi_common>;
752 clock-names = "apb", "smi";
765 compatible = "mediatek,mt7623-smi-larb",
766 "mediatek,mt2701-smi-larb";
[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.4/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.4/Documentation/devicetree/bindings/display/
Dsm501fb.txt7 - compatible : should be "smi,sm501".
26 compatible = "smi,sm501";

123