Home
last modified time | relevance | path

Searched full:cpts (Results 1 – 21 of 21) sorted by relevance

/linux/drivers/net/ethernet/ti/
H A Dcpts.c21 #include "cpts.h"
50 static int cpts_fifo_pop(struct cpts *cpts, u32 *high, u32 *low) in cpts_fifo_pop() argument
52 u32 r = cpts_read32(cpts, intstat_raw); in cpts_fifo_pop()
55 *high = cpts_read32(cpts, event_high); in cpts_fifo_pop()
56 *low = cpts_read32(cpts, event_low); in cpts_fifo_pop()
57 cpts_write32(cpts, EVENT_POP, event_pop); in cpts_fifo_pop()
63 static int cpts_purge_events(struct cpts *cpts) in cpts_purge_events() argument
69 list_for_each_safe(this, next, &cpts->events) { in cpts_purge_events()
73 list_add(&event->list, &cpts->pool); in cpts_purge_events()
79 dev_dbg(cpts->dev, "cpts: event pool cleaned up %d\n", removed); in cpts_purge_events()
[all …]
H A Dam65-cpts.c23 #include "am65-cpts.h"
206 static void am65_cpts_settime(struct am65_cpts *cpts, u64 start_tstamp) in am65_cpts_settime() argument
211 am65_cpts_write32(cpts, val, ts_load_val_hi); in am65_cpts_settime()
213 am65_cpts_write32(cpts, val, ts_load_val_lo); in am65_cpts_settime()
215 am65_cpts_write32(cpts, AM65_CPTS_TS_LOAD_EN, ts_load_en); in am65_cpts_settime()
218 static void am65_cpts_set_add_val(struct am65_cpts *cpts) in am65_cpts_set_add_val() argument
221 cpts->ts_add_val = (NSEC_PER_SEC / cpts->refclk_freq - 1) & 0x7; in am65_cpts_set_add_val()
223 am65_cpts_write32(cpts, cpts->ts_add_val, ts_add_val); in am65_cpts_set_add_val()
226 static void am65_cpts_disable(struct am65_cpts *cpts) in am65_cpts_disable() argument
228 am65_cpts_write32(cpts, 0, control); in am65_cpts_disable()
[all …]
H A Dcpts.h100 struct cpts { struct
126 void cpts_rx_timestamp(struct cpts *cpts, struct sk_buff *skb); argument
127 void cpts_tx_timestamp(struct cpts *cpts, struct sk_buff *skb);
128 int cpts_register(struct cpts *cpts);
129 void cpts_unregister(struct cpts *cpts);
130 struct cpts *cpts_create(struct device *dev, void __iomem *regs,
132 void cpts_release(struct cpts *cpts);
133 void cpts_misc_interrupt(struct cpts *cpts);
135 static inline bool cpts_can_timestamp(struct cpts *cpts, struct sk_buff *skb) in cpts_can_timestamp() argument
145 static inline void cpts_set_irqpoll(struct cpts *cpts, bool en) in cpts_set_irqpoll() argument
[all …]
H A Dam65-cpts.h2 /* TI K3 AM65 CPTS driver interface
21 void am65_cpts_release(struct am65_cpts *cpts);
24 int am65_cpts_phc_index(struct am65_cpts *cpts);
25 void am65_cpts_rx_timestamp(struct am65_cpts *cpts, struct sk_buff *skb);
26 void am65_cpts_tx_timestamp(struct am65_cpts *cpts, struct sk_buff *skb);
27 void am65_cpts_prep_tx_timestamp(struct am65_cpts *cpts, struct sk_buff *skb);
28 u64 am65_cpts_ns_gettime(struct am65_cpts *cpts);
29 int am65_cpts_estf_enable(struct am65_cpts *cpts, int idx,
31 void am65_cpts_estf_disable(struct am65_cpts *cpts, int idx);
32 void am65_cpts_suspend(struct am65_cpts *cpts);
[all …]
H A Dam65-cpsw-qos.c19 #include "am65-cpts.h"
746 struct am65_cpts *cpts = common->cpts; in am65_cpsw_timer_set() local
752 return am65_cpts_estf_enable(cpts, port->port_id - 1, &cfg); in am65_cpsw_timer_set()
758 struct am65_cpts *cpts = port->common->cpts; in am65_cpsw_timer_stop() local
760 am65_cpts_estf_disable(cpts, port->port_id - 1); in am65_cpsw_timer_stop()
768 struct am65_cpts *cpts = port->common->cpts; in am65_cpsw_timer_act() local
794 cur_time = am65_cpts_ns_gettime(cpts); in am65_cpsw_timer_act()
839 struct am65_cpts *cpts = common->cpts; in am65_cpsw_taprio_replace() local
902 cur_time = am65_cpts_ns_gettime(cpts); in am65_cpsw_taprio_replace()
H A Dnetcp_ethss.c26 #include "cpts.h"
754 struct cpts *cpts; member
2008 if (!gbe_intf || !gbe_intf->gbe_dev->cpts) in keystone_get_ts_info()
2016 info->phc_index = gbe_intf->gbe_dev->cpts->phc_index; in keystone_get_ts_info()
2534 cpts_tx_timestamp(gbe_dev->cpts, skb); in gbe_txtstamp()
2542 return cpts_can_timestamp(gbe_intf->gbe_dev->cpts, skb); in gbe_need_txtstamp()
2587 cpts_rx_timestamp(gbe_dev->cpts, p_info->skb); in gbe_rxtstamp()
2597 struct cpts *cpts = gbe_dev->cpts; in gbe_hwtstamp_get() local
2600 if (!cpts) in gbe_hwtstamp_get()
2643 struct cpts *cpts = gbe_dev->cpts; in gbe_hwtstamp_set() local
[all …]
H A Dam65-cpsw-nuss.c43 #include "am65-cpts.h"
1355 am65_cpts_rx_timestamp(common->cpts, skb); in am65_cpsw_nuss_rx_packets()
1498 am65_cpts_tx_timestamp(tx_chn->common->cpts, skb); in am65_cpsw_nuss_tx_compl_packets()
1610 am65_cpts_prep_tx_timestamp(common->cpts, skb); in am65_cpsw_nuss_ndo_slave_xmit()
2562 struct am65_cpts *cpts; in am65_cpsw_init_cpts() local
2568 node = of_get_child_by_name(dev->of_node, "cpts"); in am65_cpsw_init_cpts()
2570 dev_err(dev, "%s cpts not found\n", __func__); in am65_cpsw_init_cpts()
2575 cpts = am65_cpts_create(dev, reg_base, node); in am65_cpsw_init_cpts()
2576 if (IS_ERR(cpts)) { in am65_cpsw_init_cpts()
2577 int ret = PTR_ERR(cpts); in am65_cpsw_init_cpts()
[all …]
H A Dam65-cpsw-nuss.h180 struct am65_cpts *cpts; member
/linux/Documentation/devicetree/bindings/net/
H A Dkeystone-netcp.txt107 - cpts: sub-node time synchronization (CPTS) submodule configuration
108 -- clocks: CPTS reference clock. Should point on cpts-refclk-mux clock.
109 -- clock-names: should be "cpts"
110 -- cpts-refclk-mux: multiplexer clock definition sub-node for CPTS reference (RFTCLK) clock
112 --- clocks: list of CPTS reference (RFTCLK) clock's parents as defined in Data manual
114 --- assigned-clocks: should point on cpts-refclk-mux clock
120 Mult and shift will be calculated basing on CPTS
188 cpts {
190 clock-names = "cpts";
192 cpts_refclk_mux: cpts-refclk-mux {
[all …]
H A Dti,k3-am654-cpsw-nuss.yaml40 new version of Common Platform Time Sync (CPTS)
178 "^cpts@[0-9a-f]+":
180 $ref: ti,k3-am654-cpts.yaml#
182 CPSW Common Platform Time Sync (CPTS) module.
308 cpts@3d000 {
309 compatible = "ti,am65-cpts";
312 clock-names = "cpts";
314 interrupt-names = "cpts";
315 ti,cpts-ext-ts-inputs = <4>;
316 ti,cpts-periodic-outputs = <2>;
H A Dti,cpsw-switch.yaml121 cpts:
125 The Common Platform Time Sync (CPTS) module
130 description: CPTS reference clock
134 - const: cpts
145 Mult and shift will be calculated basing on CPTS rftclk frequency if
238 cpts {
240 clock-names = "cpts";
H A Dcpsw.txt41 Mult and shift will be calculated basing on CPTS
/linux/arch/arm/boot/dts/ti/keystone/
H A Dkeystone-k2g-netcp.dtsi101 clock-names = "ethss_clk", "cpts";
122 cpts-rftclk-sel = <0>;
123 cpts-ext-ts-inputs = <8>;
H A Dkeystone-k2l-netcp.dtsi158 cpts {
160 clock-names = "cpts";
162 cpts_refclk_mux: cpts-refclk-mux {
H A Dkeystone-k2e-netcp.dtsi159 cpts {
161 clock-names = "cpts";
163 cpts_refclk_mux: cpts-refclk-mux {
H A Dkeystone-k2hk-netcp.dtsi178 cpts {
180 clock-names = "cpts";
182 cpts_refclk_mux: cpts-refclk-mux {
H A Dkeystone-k2e-clocks.dtsi79 * (as cpts, for example) by configuring corresponding clock muxes.
H A Dkeystone-clocks.dtsi416 * (as cpts, for example) by configuring corresponding clock muxes.
/linux/arch/arm64/boot/dts/ti/
H A Dk3-am65-main.dtsi826 cpts@310d0000 {
827 compatible = "ti,am65-cpts";
829 reg-names = "cpts";
831 clock-names = "cpts";
833 interrupt-names = "cpts";
834 ti,cpts-periodic-outputs = <6>;
835 ti,cpts-ext-ts-inputs = <8>;
/linux/arch/arm/boot/dts/ti/omap/
H A Dam33xx-clocks.dtsi532 cpsw_cpts_rft_clk: clock-cpsw-cpts-rft@520 {
H A Dam43xx-clocks.dtsi564 cpsw_cpts_rft_clk: clock-cpsw-cpts-rft@4238 {