| /kernel/linux/linux-5.10/drivers/misc/ |
| D | atmel-ssc.c | 3 * 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/ |
| D | atmel-ssc.c | 2 * 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/ |
| D | atmel_ssc_dai.c | 3 * 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 …]
|
| D | atmel_ssc_dai.h | 3 * 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 */
|
| D | atmel-pcm.h | 24 #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)
|
| D | atmel-pcm-dma.c | 20 #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()
|
| D | atmel-pcm-pdc.c | 27 #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/ |
| D | atmel_ssc_dai.c | 2 * 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 …]
|
| D | atmel_ssc_dai.h | 2 * 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 */
|
| D | atmel-pcm.h | 37 #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)
|
| D | atmel-pcm-pdc.c | 40 #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 …]
|
| D | atmel-pcm-dma.c | 33 #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/ |
| D | atmel-ssc.h | 28 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/ |
| D | atmel-ssc.h | 28 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/ |
| D | atmel-ssc.txt | 1 * 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/ |
| D | atmel-ssc.txt | 1 * 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/ |
| D | hid-saitek.c | 40 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/ |
| D | hid-saitek.c | 44 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/ |
| D | bootloader.c | 25 #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/ |
| D | at73c213.c | 3 * 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/ |
| D | at73c213.c | 2 * 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/ |
| D | probe_roms.h | 228 * 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/ |
| D | probe_roms.h | 228 * 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/ |
| D | rcar-gen3-phy-usb3.txt | 5 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/ |
| D | i2c-st.txt | 1 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";
|