Home
last modified time | relevance | path

Searched +full:sc9860 +full:- +full:spi (Results 1 – 6 of 6) sorted by relevance

/linux-6.14.4/Documentation/devicetree/bindings/spi/
Dsprd,sc9860-spi.yaml1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
3 ---
4 $id: http://devicetree.org/schemas/spi/sprd,sc9860-spi.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Spreadtrum SC9860 SPI Controller
10 - Orson Zhai <[email protected]>
11 - Baolin Wang <[email protected]>
12 - Chunyan Zhang <[email protected]>
16 const: sprd,sc9860-spi
26 - description: SPI clock
[all …]
Dsprd,spi-adi.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/spi/sprd,spi-adi.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Orson Zhai <[email protected]>
11 - Baolin Wang <[email protected]>
12 - Chunyan Zhang <[email protected]>
15 ADI is the abbreviation of Anolog-Digital interface, which is used to access
16 analog chip (such as PMIC) from digital chip. ADI controller follows the SPI
17 framework for its hardware implementation is alike to SPI bus and its timing
[all …]
/linux-6.14.4/arch/arm64/boot/dts/sprd/
Dwhale2.dtsi1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 #include <dt-bindings/clock/sprd,sc9860-clk.h>
11 interrupt-parent = <&gic>;
12 #address-cells = <2>;
13 #size-cells = <2>;
16 compatible = "simple-bus";
17 #address-cells = <2>;
18 #size-cells = <2>;
66 ap-apb@70000000 {
67 compatible = "simple-bus";
[all …]
/linux-6.14.4/drivers/clk/sprd/
Dsc9860-clk.c1 // SPDX-License-Identifier: GPL-2.0
3 // Spreatrum SC9860 clock driver
8 #include <linux/clk-provider.h>
16 #include <dt-bindings/clock/sprd,sc9860-clk.h>
25 static CLK_FIXED_FACTOR(fac_4m, "fac-4m", "ext-26m",
27 static CLK_FIXED_FACTOR(fac_2m, "fac-2m", "ext-26m",
29 static CLK_FIXED_FACTOR(fac_1m, "fac-1m", "ext-26m",
31 static CLK_FIXED_FACTOR(fac_250k, "fac-250k", "ext-26m",
33 static CLK_FIXED_FACTOR(fac_rpll0_26m, "rpll0-26m", "ext-26m",
35 static CLK_FIXED_FACTOR(fac_rpll1_26m, "rpll1-26m", "ext-26m",
[all …]
/linux-6.14.4/drivers/spi/
Dspi-sprd-adi.c4 * SPDX-License-Identifier: GPL-2.0
16 #include <linux/spi/spi.h>
36 #define REG_ADI_CHN_ADDR(id) (0x44 + (id - 2) * 4)
157 if (reg >= sadi->data->slave_addr_size) { in sprd_adi_check_addr()
158 dev_err(sadi->dev, in sprd_adi_check_addr()
161 return -EINVAL; in sprd_adi_check_addr()
173 sts = readl_relaxed(sadi->base + REG_ADI_ARM_FIFO_STS); in sprd_adi_drain_fifo()
178 } while (--timeout); in sprd_adi_drain_fifo()
181 dev_err(sadi->dev, "drain write fifo timeout\n"); in sprd_adi_drain_fifo()
182 return -EBUSY; in sprd_adi_drain_fifo()
[all …]
Dspi-sprd.c1 // SPDX-License-Identifier: GPL-2.0
6 #include <linux/dma-mapping.h>
7 #include <linux/dma/sprd-dma.h>
17 #include <linux/spi/spi.h>
177 * SPI transmission time. in sprd_spi_transfer_max_timeout()
179 u32 size = t->bits_per_word * SPRD_SPI_FIFO_SIZE; in sprd_spi_transfer_max_timeout()
180 u32 bit_time_us = DIV_ROUND_UP(USEC_PER_SEC, ss->hw_speed_hz); in sprd_spi_transfer_max_timeout()
183 * There is an interval between data and the data in our SPI hardware, in sprd_spi_transfer_max_timeout()
186 u32 interval_cycle = SPRD_SPI_FIFO_SIZE * ss->word_delay; in sprd_spi_transfer_max_timeout()
188 ss->src_clk); in sprd_spi_transfer_max_timeout()
[all …]