/openbmc/linux/drivers/spi/ |
H A D | spi-amlogic-spifc-a1.c | 3 * Driver for Amlogic A1 SPI flash controller (SPIFC) 113 static int amlogic_spifc_a1_request(struct amlogic_spifc_a1 *spifc, bool read) in amlogic_spifc_a1_request() argument 120 spifc->base + SPIFC_A1_USER_CTRL0_REG); in amlogic_spifc_a1_request() 122 return readl_poll_timeout(spifc->base + SPIFC_A1_USER_CTRL0_REG, in amlogic_spifc_a1_request() 127 static void amlogic_spifc_a1_drain_buffer(struct amlogic_spifc_a1 *spifc, in amlogic_spifc_a1_drain_buffer() argument 135 spifc->base + SPIFC_A1_DBUF_CTRL_REG); in amlogic_spifc_a1_drain_buffer() 136 ioread32_rep(spifc->base + SPIFC_A1_DBUF_DATA_REG, buf, count); in amlogic_spifc_a1_drain_buffer() 139 data = readl(spifc->base + SPIFC_A1_DBUF_DATA_REG); in amlogic_spifc_a1_drain_buffer() 144 static void amlogic_spifc_a1_fill_buffer(struct amlogic_spifc_a1 *spifc, in amlogic_spifc_a1_fill_buffer() argument 152 spifc->base + SPIFC_A1_DBUF_CTRL_REG); in amlogic_spifc_a1_fill_buffer() [all …]
|
H A D | spi-meson-spifc.c | 3 // Driver for Amlogic Meson SPI flash controller (SPIFC) 91 * @spifc: the Meson SPI device 94 static int meson_spifc_wait_ready(struct meson_spifc *spifc) in meson_spifc_wait_ready() argument 100 regmap_read(spifc->regmap, REG_SLAVE, &data); in meson_spifc_wait_ready() 111 * @spifc: the Meson SPI device 115 static void meson_spifc_drain_buffer(struct meson_spifc *spifc, u8 *buf, in meson_spifc_drain_buffer() argument 122 regmap_read(spifc->regmap, REG_C0 + i, &data); in meson_spifc_drain_buffer() 137 * @spifc: the Meson SPI device 141 static void meson_spifc_fill_buffer(struct meson_spifc *spifc, const u8 *buf, in meson_spifc_fill_buffer() argument 153 regmap_write(spifc->regmap, REG_C0 + i, data); in meson_spifc_fill_buffer() [all …]
|
H A D | Makefile | 20 obj-$(CONFIG_SPI_AMLOGIC_SPIFC_A1) += spi-amlogic-spifc-a1.o 80 obj-$(CONFIG_SPI_MESON_SPIFC) += spi-meson-spifc.o
|
H A D | Kconfig | 83 tristate "Amlogic A1 SPIFC controller" 86 This enables master mode support for the SPIFC (SPI flash 628 tristate "Amlogic Meson SPIFC controller" 632 This enables master mode support for the SPIFC (SPI flash
|
/openbmc/u-boot/drivers/spi/ |
H A D | meson_spifc.c | 76 * @spifc: the Meson SPI device 80 static void meson_spifc_drain_buffer(struct meson_spifc_priv *spifc, in meson_spifc_drain_buffer() argument 87 regmap_read(spifc->regmap, REG_C0 + i, &data); in meson_spifc_drain_buffer() 102 * @spifc: the Meson SPI device 106 static void meson_spifc_fill_buffer(struct meson_spifc_priv *spifc, in meson_spifc_fill_buffer() argument 118 regmap_write(spifc->regmap, REG_C0 + i, data); in meson_spifc_fill_buffer() 127 * @spifc: the Meson SPI device 136 static int meson_spifc_txrx(struct meson_spifc_priv *spifc, in meson_spifc_txrx() argument 145 meson_spifc_fill_buffer(spifc, dout + offset, len); in meson_spifc_txrx() 148 regmap_update_bits(spifc->regmap, REG_USER, USER_UC_MASK, in meson_spifc_txrx() [all …]
|
H A D | Kconfig | 139 Enable the Amlogic Meson SPI Flash Controller SPIFC) driver.
|
/openbmc/linux/Documentation/devicetree/bindings/spi/ |
H A D | amlogic,meson6-spifc.yaml | 5 $id: http://devicetree.org/schemas/spi/amlogic,meson6-spifc.yaml# 17 The Meson SPIFC is a controller optimized for communication with SPI 24 - amlogic,meson6-spifc # SPI Flash Controller on Meson6 and compatible SoCs 25 - amlogic,meson-gxbb-spifc # SPI Flash Controller on GXBB and compatible SoCs 43 compatible = "amlogic,meson6-spifc";
|
H A D | amlogic,a1-spifc.yaml | 4 $id: http://devicetree.org/schemas/spi/amlogic,a1-spifc.yaml# 18 - amlogic,a1-spifc 36 compatible = "amlogic,a1-spifc";
|
/openbmc/linux/arch/arm64/boot/dts/amlogic/ |
H A D | meson-gxl-s805x-libretech-ac.dts | 23 spi0 = &spifc; 295 &spifc {
|
H A D | meson-gxl-s905x-libretech-cc-v2.dts | 23 spi0 = &spifc; 281 &spifc {
|
H A D | meson-g12b-odroid-n2.dtsi | 274 * and change bus-width to 4 then spifc can be enabled. 277 &spifc {
|
H A D | meson-gx-libretech-pc.dtsi | 30 spi0 = &spifc; 413 &spifc {
|
H A D | meson-gxm-khadas-vim2.dts | 369 * Remove emmc_ds_pins from sd_emmc_c pinctrl-0 then spifc can be enabled 371 &spifc {
|
H A D | meson-gxbb.dtsi | 269 spifc: spi@8c80 { label 270 compatible = "amlogic,meson-gxbb-spifc"; 833 &spifc {
|
H A D | meson-sm1-odroid-hc4.dts | 125 &spifc {
|
H A D | meson-khadas-vim3.dtsi | 453 * and change bus-width to 4 then spifc can be enabled. 455 &spifc {
|
H A D | meson-gx.dtsi | 399 spifc: spi@8c80 { label 400 compatible = "amlogic,meson-gxbb-spifc";
|
/openbmc/linux/arch/arm/boot/dts/amlogic/ |
H A D | meson8-minix-neo-x8.dts | 63 &spifc {
|
H A D | meson.dtsi | 146 spifc: spi@8c80 { label 147 compatible = "amlogic,meson6-spifc";
|
/openbmc/u-boot/arch/arm/dts/ |
H A D | meson-gxbb.dtsi | 266 spifc: spi@8c80 { label 267 compatible = "amlogic,meson-gxbb-spifc"; 744 &spifc {
|
H A D | meson-gxm-khadas-vim2.dts | 393 * Remove emmc_ds_pins from sd_emmc_c pinctrl-0 then spifc can be enabled 395 &spifc {
|
H A D | meson-gx.dtsi | 292 spifc: spi@8c80 { label 293 compatible = "amlogic,meson-gx-spifc", "amlogic,meson-gxbb-spifc";
|
H A D | meson-gxl.dtsi | 745 &spifc {
|
/openbmc/linux/drivers/pmdomain/amlogic/ |
H A D | meson-secure-pwrc.c | 116 SEC_PD(SPIFC, 0),
|
/openbmc/linux/drivers/clk/meson/ |
H A D | a1-peripherals.c | 1327 static struct clk_regmap spifc = { variable 1333 .name = "spifc", 1957 [CLKID_SPIFC] = &spifc.hw, 2115 &spifc,
|