| /linux/drivers/net/ethernet/ti/ |
| H A D | cpts.c | 21 #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 D | am65-cpts.c | 23 #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 D | cpts.h | 100 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 D | am65-cpts.h | 2 /* 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 D | am65-cpsw-qos.c | 19 #include "am65-cpts.h" 769 struct am65_cpts *cpts = common->cpts; in am65_cpsw_timer_set() local 775 return am65_cpts_estf_enable(cpts, port->port_id - 1, &cfg); in am65_cpsw_timer_set() 781 struct am65_cpts *cpts = port->common->cpts; in am65_cpsw_timer_stop() local 783 am65_cpts_estf_disable(cpts, port->port_id - 1); in am65_cpsw_timer_stop() 791 struct am65_cpts *cpts = port->common->cpts; in am65_cpsw_timer_act() local 817 cur_time = am65_cpts_ns_gettime(cpts); in am65_cpsw_timer_act() 862 struct am65_cpts *cpts = common->cpts; in am65_cpsw_taprio_replace() local 925 cur_time = am65_cpts_ns_gettime(cpts); in am65_cpsw_taprio_replace()
|
| H A D | am65-cpsw-nuss.h | 180 struct am65_cpts *cpts; member
|
| /linux/Documentation/devicetree/bindings/net/ |
| H A D | keystone-netcp.txt | 107 - 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 D | ti,k3-am654-cpsw-nuss.yaml | 40 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 D | cpsw.txt | 41 Mult and shift will be calculated basing on CPTS
|
| /linux/arch/arm/boot/dts/ti/keystone/ |
| H A D | keystone-k2g-netcp.dtsi | 101 clock-names = "ethss_clk", "cpts"; 122 cpts-rftclk-sel = <0>; 123 cpts-ext-ts-inputs = <8>;
|
| H A D | keystone-k2l-netcp.dtsi | 158 cpts { 160 clock-names = "cpts"; 162 cpts_refclk_mux: cpts-refclk-mux {
|
| H A D | keystone-k2e-netcp.dtsi | 159 cpts { 161 clock-names = "cpts"; 163 cpts_refclk_mux: cpts-refclk-mux {
|
| H A D | keystone-k2hk-netcp.dtsi | 178 cpts { 180 clock-names = "cpts"; 182 cpts_refclk_mux: cpts-refclk-mux {
|
| H A D | keystone-k2e-clocks.dtsi | 79 * (as cpts, for example) by configuring corresponding clock muxes.
|
| H A D | keystone-clocks.dtsi | 416 * (as cpts, for example) by configuring corresponding clock muxes.
|
| /linux/arch/arm64/boot/dts/ti/ |
| H A D | k3-am65-mcu.dtsi | 383 cpts@3d000 { 384 compatible = "ti,am65-cpts"; 387 clock-names = "cpts"; 389 interrupt-names = "cpts"; 390 ti,cpts-ext-ts-inputs = <4>; 391 ti,cpts-periodic-outputs = <2>;
|
| H A D | k3-j721e-mcu-wakeup.dtsi | 579 cpts@3d000 { 580 compatible = "ti,am65-cpts"; 583 clock-names = "cpts"; 585 interrupt-names = "cpts"; 586 ti,cpts-ext-ts-inputs = <4>; 587 ti,cpts-periodic-outputs = <2>;
|
| H A D | k3-j7200-mcu-wakeup.dtsi | 460 cpts@3d000 { 461 compatible = "ti,am65-cpts"; 464 clock-names = "cpts"; 466 interrupt-names = "cpts"; 467 ti,cpts-ext-ts-inputs = <4>; 468 ti,cpts-periodic-outputs = <2>;
|
| H A D | k3-j721s2-mcu-wakeup.dtsi | 580 cpts@3d000 { 581 compatible = "ti,am65-cpts"; 584 clock-names = "cpts"; 588 interrupt-names = "cpts"; 589 ti,cpts-ext-ts-inputs = <4>; 590 ti,cpts-periodic-outputs = <2>;
|
| H A D | k3-am62p-j722s-common-main.dtsi | 769 cpts@3d000 { 770 compatible = "ti,j721e-cpts"; 773 clock-names = "cpts"; 775 interrupt-names = "cpts"; 776 ti,cpts-ext-ts-inputs = <4>; 777 ti,cpts-periodic-outputs = <2>;
|
| H A D | k3-am62a-main.dtsi | 792 cpts@3d000 { 793 compatible = "ti,j721e-cpts"; 796 clock-names = "cpts"; 798 interrupt-names = "cpts"; 799 ti,cpts-ext-ts-inputs = <4>; 800 ti,cpts-periodic-outputs = <2>;
|
| H A D | k3-am62-main.dtsi | 776 cpts@3d000 { 777 compatible = "ti,j721e-cpts"; 780 clock-names = "cpts"; 782 interrupt-names = "cpts"; 783 ti,cpts-ext-ts-inputs = <4>; 784 ti,cpts-periodic-outputs = <2>;
|
| H A D | k3-am65-main.dtsi | 826 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>;
|
| H A D | k3-am62d2-evm.dts | 627 cpts@3d000 {
|
| /linux/arch/arm/boot/dts/ti/omap/ |
| H A D | am33xx-l4.dtsi | 723 clock-names = "fck", "cpts"; 814 cpts { 816 clock-names = "cpts";
|