Home
last modified time | relevance | path

Searched full:ssc (Results 1 – 25 of 253) sorted by relevance

1234567891011

/kernel/linux/linux-5.10/drivers/misc/
Datmel-ssc.c3 * Atmel SSC driver
14 #include <linux/atmel-ssc.h>
29 struct ssc_device *ssc; in ssc_request() local
32 list_for_each_entry(ssc, &ssc_list, list) { in ssc_request()
33 if (ssc->pdev->dev.of_node) { in ssc_request()
34 if (of_alias_get_id(ssc->pdev->dev.of_node, "ssc") in ssc_request()
36 ssc->pdev->id = ssc_num; in ssc_request()
40 } else if (ssc->pdev->id == ssc_num) { in ssc_request()
48 pr_err("ssc: ssc%d platform device is missing\n", ssc_num); in ssc_request()
52 if (ssc->user) { in ssc_request()
[all …]
/kernel/linux/linux-4.19/drivers/misc/
Datmel-ssc.c2 * Atmel SSC driver
17 #include <linux/atmel-ssc.h>
32 struct ssc_device *ssc; in ssc_request() local
35 list_for_each_entry(ssc, &ssc_list, list) { in ssc_request()
36 if (ssc->pdev->dev.of_node) { in ssc_request()
37 if (of_alias_get_id(ssc->pdev->dev.of_node, "ssc") in ssc_request()
39 ssc->pdev->id = ssc_num; in ssc_request()
43 } else if (ssc->pdev->id == ssc_num) { in ssc_request()
51 pr_err("ssc: ssc%d platform device is missing\n", ssc_num); in ssc_request()
55 if (ssc->user) { in ssc_request()
[all …]
/kernel/linux/linux-5.10/sound/soc/atmel/
Datmel_ssc_dai.c3 * atmel_ssc_dai.c -- ALSA SoC ATMEL SSC Audio Layer Platform driver
11 * Based on at91-ssc.c by
25 #include <linux/atmel-ssc.h>
39 * SSC PDC registers required by the PCM DMA engine.
56 * SSC & PDC status bits for transmit and receive.
136 * SSC interrupt handler. Passes PDC interrupts to the DMA
147 ssc_sr = (unsigned long)ssc_readl(ssc_p->ssc->regs, SR) in atmel_ssc_interrupt()
148 & (unsigned long)ssc_readl(ssc_p->ssc->regs, IMR); in atmel_ssc_interrupt()
151 * Loop through the substreams attached to this SSC. If in atmel_ssc_interrupt()
176 * Serial Clock Ratio Considerations section from the SSC documentation:
[all …]
Datmel_ssc_dai.h3 * atmel_ssc_dai.h - ALSA SSC interface for the Atmel SoC
11 * Based on at91-ssc.c by
21 #include <linux/atmel-ssc.h>
25 /* SSC system clock ids */
26 #define ATMEL_SYSCLK_MCK 0 /* SSC uses AT91 MCK as system clock */
28 /* SSC divider ids */
33 * SSC direction masks
40 * SSC register values that Atmel left out of <linux/atmel-ssc.h>. These
95 struct ssc_device *ssc; member
97 unsigned short initialized; /* true if SSC has been initialized */
Datmel-pcm.h24 #include <linux/atmel-ssc.h>
40 u32 ssc_enable; /* SSC recv/trans enable */
41 u32 ssc_disable; /* SSC recv/trans disable */
42 u32 ssc_error; /* SSC error conditions */
43 u32 ssc_endx; /* SSC ENDTX or ENDRX */
44 u32 ssc_endbuf; /* SSC TXBUFE or RXBUFF */
54 * driver and called by the interface SSC interrupt handler if it is
60 struct ssc_device *ssc; /* SSC device for stream */ member
62 struct atmel_ssc_mask *mask; /* SSC & PDC status bits */
68 * SSC register access (since ssc_writel() / ssc_readl() require literal name)
Datmel-pcm-dma.c20 #include <linux/atmel-ssc.h>
47 * atmel_pcm_dma_irq: SSC interrupt handler for DMAENGINE enabled SSC
49 * We use DMAENGINE to send/receive data to/from SSC so this ISR is only to
68 ssc_writex(prtd->ssc->regs, SSC_CR, prtd->mask->ssc_disable); in atmel_pcm_dma_irq()
72 ssc_readx(prtd->ssc->regs, SSC_RHR); in atmel_pcm_dma_irq()
73 ssc_readx(prtd->ssc->regs, SSC_SR); in atmel_pcm_dma_irq()
82 struct ssc_device *ssc; in atmel_pcm_configure_dma() local
86 ssc = prtd->ssc; in atmel_pcm_configure_dma()
94 slave_config->dst_addr = ssc->phybase + SSC_THR; in atmel_pcm_configure_dma()
97 slave_config->src_addr = ssc->phybase + SSC_RHR; in atmel_pcm_configure_dma()
Datmel-pcm-pdc.c27 #include <linux/atmel-ssc.h>
169 ssc_writex(params->ssc->regs, ATMEL_PDC_PTCR, in atmel_pcm_dma_irq()
175 ssc_writex(params->ssc->regs, params->pdc->xpr, in atmel_pcm_dma_irq()
177 ssc_writex(params->ssc->regs, params->pdc->xcr, in atmel_pcm_dma_irq()
179 ssc_writex(params->ssc->regs, ATMEL_PDC_PTCR, in atmel_pcm_dma_irq()
189 ssc_writex(params->ssc->regs, params->pdc->xnpr, in atmel_pcm_dma_irq()
191 ssc_writex(params->ssc->regs, params->pdc->xncr, in atmel_pcm_dma_irq()
239 ssc_writex(params->ssc->regs, SSC_PDC_PTCR, in atmel_pcm_hw_free()
253 ssc_writex(params->ssc->regs, SSC_IDR, in atmel_pcm_prepare()
255 ssc_writex(params->ssc->regs, ATMEL_PDC_PTCR, in atmel_pcm_prepare()
[all …]
/kernel/linux/linux-4.19/sound/soc/atmel/
Datmel_ssc_dai.c2 * atmel_ssc_dai.c -- ALSA SoC ATMEL SSC Audio Layer Platform driver
10 * Based on at91-ssc.c by
38 #include <linux/atmel-ssc.h>
52 * SSC PDC registers required by the PCM DMA engine.
69 * SSC & PDC status bits for transmit and receive.
152 * SSC interrupt handler. Passes PDC interrupts to the DMA
163 ssc_sr = (unsigned long)ssc_readl(ssc_p->ssc->regs, SR) in atmel_ssc_interrupt()
164 & (unsigned long)ssc_readl(ssc_p->ssc->regs, IMR); in atmel_ssc_interrupt()
167 * Loop through the substreams attached to this SSC. If in atmel_ssc_interrupt()
192 * Serial Clock Ratio Considerations section from the SSC documentation:
[all …]
Datmel_ssc_dai.h2 * atmel_ssc_dai.h - ALSA SSC interface for the Atmel SoC
10 * Based on at91-ssc.c by
34 #include <linux/atmel-ssc.h>
38 /* SSC system clock ids */
39 #define ATMEL_SYSCLK_MCK 0 /* SSC uses AT91 MCK as system clock */
41 /* SSC divider ids */
46 * SSC direction masks
53 * SSC register values that Atmel left out of <linux/atmel-ssc.h>. These
108 struct ssc_device *ssc; member
111 unsigned short initialized; /* true if SSC has been initialized */
Datmel-pcm.h37 #include <linux/atmel-ssc.h>
53 u32 ssc_enable; /* SSC recv/trans enable */
54 u32 ssc_disable; /* SSC recv/trans disable */
55 u32 ssc_error; /* SSC error conditions */
56 u32 ssc_endx; /* SSC ENDTX or ENDRX */
57 u32 ssc_endbuf; /* SSC TXBUFE or RXBUFF */
67 * driver and called by the interface SSC interrupt handler if it is
73 struct ssc_device *ssc; /* SSC device for stream */ member
75 struct atmel_ssc_mask *mask; /* SSC & PDC status bits */
81 * SSC register access (since ssc_writel() / ssc_readl() require literal name)
Datmel-pcm-pdc.c40 #include <linux/atmel-ssc.h>
179 ssc_writex(params->ssc->regs, ATMEL_PDC_PTCR, in atmel_pcm_dma_irq()
185 ssc_writex(params->ssc->regs, params->pdc->xpr, in atmel_pcm_dma_irq()
187 ssc_writex(params->ssc->regs, params->pdc->xcr, in atmel_pcm_dma_irq()
189 ssc_writex(params->ssc->regs, ATMEL_PDC_PTCR, in atmel_pcm_dma_irq()
199 ssc_writex(params->ssc->regs, params->pdc->xnpr, in atmel_pcm_dma_irq()
201 ssc_writex(params->ssc->regs, params->pdc->xncr, in atmel_pcm_dma_irq()
247 ssc_writex(params->ssc->regs, SSC_PDC_PTCR, in atmel_pcm_hw_free()
260 ssc_writex(params->ssc->regs, SSC_IDR, in atmel_pcm_prepare()
262 ssc_writex(params->ssc->regs, ATMEL_PDC_PTCR, in atmel_pcm_prepare()
[all …]
Datmel-pcm-dma.c33 #include <linux/atmel-ssc.h>
61 * atmel_pcm_dma_irq: SSC interrupt handler for DMAENGINE enabled SSC
63 * We use DMAENGINE to send/receive data to/from SSC so this ISR is only to
82 ssc_writex(prtd->ssc->regs, SSC_CR, prtd->mask->ssc_disable); in atmel_pcm_dma_irq()
86 ssc_readx(prtd->ssc->regs, SSC_RHR); in atmel_pcm_dma_irq()
87 ssc_readx(prtd->ssc->regs, SSC_SR); in atmel_pcm_dma_irq()
96 struct ssc_device *ssc; in atmel_pcm_configure_dma() local
100 ssc = prtd->ssc; in atmel_pcm_configure_dma()
108 slave_config->dst_addr = ssc->phybase + SSC_THR; in atmel_pcm_configure_dma()
111 slave_config->src_addr = ssc->phybase + SSC_RHR; in atmel_pcm_configure_dma()
/kernel/linux/linux-4.19/include/linux/
Datmel-ssc.h28 void ssc_free(struct ssc_device *ssc);
30 /* SSC register offsets */
32 /* SSC Control Register */
45 /* SSC Clock Mode Register */
50 /* SSC Receive Clock Mode Register */
69 /* SSC Receive Frame Mode Register */
92 /* SSC Transmit Clock Mode Register */
109 /* SSC Transmit Frame Mode Register */
134 /* SSC Receive Hold Register */
139 /* SSC Transmit Hold Register */
[all …]
/kernel/linux/linux-5.10/include/linux/
Datmel-ssc.h28 void ssc_free(struct ssc_device *ssc);
30 /* SSC register offsets */
32 /* SSC Control Register */
45 /* SSC Clock Mode Register */
50 /* SSC Receive Clock Mode Register */
69 /* SSC Receive Frame Mode Register */
92 /* SSC Transmit Clock Mode Register */
109 /* SSC Transmit Frame Mode Register */
134 /* SSC Receive Hold Register */
139 /* SSC Transmit Hold Register */
[all …]
/kernel/linux/linux-4.19/Documentation/devicetree/bindings/misc/
Datmel-ssc.txt1 * Atmel SSC driver.
4 - compatible: "atmel,at91rm9200-ssc" or "atmel,at91sam9g45-ssc"
5 - atmel,at91rm9200-ssc: support pdc transfer
6 - atmel,at91sam9g45-ssc: support dma transfer
7 - reg: Should contain SSC registers location and length
8 - interrupts: Should contain SSC interrupt
14 Required properties for devices compatible with "atmel,at91sam9g45-ssc":
16 the memory interface and SSC DMA channel ID (for tx and rx).
22 - When SSC works in slave mode, according to the hardware design, the
28 - This property makes the SSC into an automatically registered DAI.
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/misc/
Datmel-ssc.txt1 * Atmel SSC driver.
4 - compatible: "atmel,at91rm9200-ssc" or "atmel,at91sam9g45-ssc"
5 - atmel,at91rm9200-ssc: support pdc transfer
6 - atmel,at91sam9g45-ssc: support dma transfer
7 - reg: Should contain SSC registers location and length
8 - interrupts: Should contain SSC interrupt
14 Required properties for devices compatible with "atmel,at91sam9g45-ssc":
16 the memory interface and SSC DMA channel ID (for tx and rx).
22 - When SSC works in slave mode, according to the hardware design, the
28 - This property makes the SSC into an automatically registered DAI.
[all …]
/kernel/linux/linux-5.10/drivers/hid/
Dhid-saitek.c40 struct saitek_sc *ssc; in saitek_probe() local
43 ssc = devm_kzalloc(&hdev->dev, sizeof(*ssc), GFP_KERNEL); in saitek_probe()
44 if (ssc == NULL) { in saitek_probe()
49 ssc->quirks = quirks; in saitek_probe()
50 ssc->mode = -1; in saitek_probe()
52 hid_set_drvdata(hdev, ssc); in saitek_probe()
72 struct saitek_sc *ssc = hid_get_drvdata(hdev); in saitek_report_fixup() local
74 if ((ssc->quirks & SAITEK_FIX_PS1000) && *rsize == 137 && in saitek_report_fixup()
96 struct saitek_sc *ssc = hid_get_drvdata(hdev); in saitek_raw_event() local
98 if (ssc->quirks & SAITEK_RELEASE_MODE_RAT7 && size == 7) { in saitek_raw_event()
[all …]
/kernel/linux/linux-4.19/drivers/hid/
Dhid-saitek.c44 struct saitek_sc *ssc; in saitek_probe() local
47 ssc = devm_kzalloc(&hdev->dev, sizeof(*ssc), GFP_KERNEL); in saitek_probe()
48 if (ssc == NULL) { in saitek_probe()
53 ssc->quirks = quirks; in saitek_probe()
54 ssc->mode = -1; in saitek_probe()
56 hid_set_drvdata(hdev, ssc); in saitek_probe()
76 struct saitek_sc *ssc = hid_get_drvdata(hdev); in saitek_report_fixup() local
78 if ((ssc->quirks & SAITEK_FIX_PS1000) && *rsize == 137 && in saitek_report_fixup()
100 struct saitek_sc *ssc = hid_get_drvdata(hdev); in saitek_raw_event() local
102 if (ssc->quirks & SAITEK_RELEASE_MODE_RAT7 && size == 7) { in saitek_raw_event()
[all …]
/kernel/linux/linux-4.19/arch/ia64/hp/sim/boot/
Dbootloader.c25 #include "ssc.h"
47 ssc(ch, 0, 0, 0, SSC_PUTCHAR); in cons_write()
49 ssc('\r', 0, 0, 0, SSC_PUTCHAR); in cons_write()
71 ssc(0, 0, 0, 0, SSC_CONSOLE_INIT); in start_bootloader()
82 arglen = ssc((long) buffer, 0, 0, 0, SSC_GET_ARGS); in start_bootloader()
99 fd = ssc((long) kpath, 1, 0, 0, SSC_OPEN); in start_bootloader()
111 ssc(fd, 1, (long) &req, off, SSC_READ); in start_bootloader()
112 ssc((long) &stat, 0, 0, 0, SSC_WAIT_COMPLETION); in start_bootloader()
139 ssc(fd, 1, (long) &req, e_phoff, SSC_READ); in start_bootloader()
140 ssc((long) &stat, 0, 0, 0, SSC_WAIT_COMPLETION); in start_bootloader()
[all …]
/kernel/linux/linux-5.10/sound/spi/
Dat73c213.c3 * Driver for AT73C213 16-bit stereo DAC connected to Atmel SSC
27 #include <linux/atmel-ssc.h>
69 struct ssc_device *ssc; member
75 /* Protect SSC registers against concurrent access. */
131 unsigned long ssc_rate = clk_get_rate(chip->ssc->clk); in snd_at73c213_set_bitrate()
146 /* SSC clock / (bitrate * stereo * 16-bit). */ in snd_at73c213_set_bitrate()
166 /* SSC clock / (ssc divider * 16-bit * stereo). */ in snd_at73c213_set_bitrate()
192 /* Set divider in SSC device. */ in snd_at73c213_set_bitrate()
193 ssc_writel(chip->ssc->regs, CMR, ssc_div/2); in snd_at73c213_set_bitrate()
195 /* SSC clock / (ssc divider * 16-bit * stereo). */ in snd_at73c213_set_bitrate()
[all …]
/kernel/linux/linux-4.19/sound/spi/
Dat73c213.c2 * Driver for AT73C213 16-bit stereo DAC connected to Atmel SSC
30 #include <linux/atmel-ssc.h>
72 struct ssc_device *ssc; member
78 /* Protect SSC registers against concurrent access. */
134 unsigned long ssc_rate = clk_get_rate(chip->ssc->clk); in snd_at73c213_set_bitrate()
149 /* SSC clock / (bitrate * stereo * 16-bit). */ in snd_at73c213_set_bitrate()
169 /* SSC clock / (ssc divider * 16-bit * stereo). */ in snd_at73c213_set_bitrate()
195 /* Set divider in SSC device. */ in snd_at73c213_set_bitrate()
196 ssc_writel(chip->ssc->regs, CMR, ssc_div/2); in snd_at73c213_set_bitrate()
198 /* SSC clock / (ssc divider * 16-bit * stereo). */ in snd_at73c213_set_bitrate()
[all …]
/kernel/linux/linux-5.10/drivers/scsi/isci/
Dprobe_roms.h228 * Spread Spectrum Clocking (SSC) settings for SATA and SAS.
229 * NOTE: Default SSC Modulation Frequency is 31.5KHz.
235 * Down-spreading SSC (only method allowed for SATA):
236 * SATA SSC Tx Disabled = 0x0
237 * SATA SSC Tx at +0 / -1419 PPM Spread = 0x2
238 * SATA SSC Tx at +0 / -2129 PPM Spread = 0x3
239 * SATA SSC Tx at +0 / -4257 PPM Spread = 0x6
240 * SATA SSC Tx at +0 / -4967 PPM Spread = 0x7
244 * SAS SSC Tx Disabled = 0x0
248 * Down-spreading SSC:
[all …]
/kernel/linux/linux-4.19/drivers/scsi/isci/
Dprobe_roms.h228 * Spread Spectrum Clocking (SSC) settings for SATA and SAS.
229 * NOTE: Default SSC Modulation Frequency is 31.5KHz.
235 * Down-spreading SSC (only method allowed for SATA):
236 * SATA SSC Tx Disabled = 0x0
237 * SATA SSC Tx at +0 / -1419 PPM Spread = 0x2
238 * SATA SSC Tx at +0 / -2129 PPM Spread = 0x3
239 * SATA SSC Tx at +0 / -4257 PPM Spread = 0x6
240 * SATA SSC Tx at +0 / -4967 PPM Spread = 0x7
244 * SAS SSC Tx Disabled = 0x0
248 * Down-spreading SSC:
[all …]
/kernel/linux/linux-4.19/Documentation/devicetree/bindings/phy/
Drcar-gen3-phy-usb3.txt5 If you want to enable spread spectrum clock (ssc), you should use USB_EXTAL
28 - The usb2's external clock must be "usb_extal". If you want to use the ssc,
33 - renesas,ssc-range: Enable/disable spread spectrum clock (ssc) by using
35 - 0 (or the property doesn't exist): disable the ssc
36 - 4980: enable the ssc as -4980 ppm
37 - 4492: enable the ssc as -4492 ppm
38 - 4003: enable the ssc as -4003 ppm
/kernel/linux/linux-4.19/Documentation/devicetree/bindings/i2c/
Di2c-st.txt1 ST SSC binding, for I2C mode operation
4 - compatible : Must be "st,comms-ssc-i2c" or "st,comms-ssc4-i2c"
7 - clock-names: Must contain "ssc".
35 clock-names = "ssc";

1234567891011