/linux-6.12.1/drivers/clk/baikal-t1/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 bool "Baikal-T1 Clocks Control Unit interface" 7 Clocks Control Unit is the core of Baikal-T1 SoC System Controller 13 to select Baikal-T1 CCU PLLs and Dividers drivers. 18 bool "Baikal-T1 CCU PLLs support" 22 Enable this to support the PLLs embedded into the Baikal-T1 SoC 31 bool "Baikal-T1 CCU Dividers support" 36 between AXI-bus and system devices coming from CCU PLLs of Baikal-T1 42 bool "Baikal-T1 CCU Resets support" 48 AXI-bus and some subsystems reset. These are mainly the [all …]
|
D | ccu-rst.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (C) 2021 BAIKAL ELECTRONICS, JSC 5 * Baikal-T1 CCU Resets interface driver 12 #include <linux/reset-controller.h> 17 * enum ccu_rst_type - CCU Reset types 18 * @CCU_RST_TRIG: Self-deasserted reset signal. 27 * struct ccu_rst_init_data - CCU Resets initialization data 28 * @sys_regs: Baikal-T1 System Controller registers map. 37 * struct ccu_rst - CCU Reset descriptor 39 * @sys_regs: Baikal-T1 System Controller registers map.
|
D | ccu-pll.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (C) 2020 BAIKAL ELECTRONICS, JSC 5 * Baikal-T1 CCU PLL interface driver 10 #include <linux/clk-provider.h> 23 * struct ccu_pll_init_data - CCU PLL initialization data 28 * @sys_regs: Baikal-T1 System Controller registers map. 45 * struct ccu_pll - CCU PLL descriptor 50 * @sys_regs: Baikal-T1 System Controller registers map. 51 * @lock: PLL state change spin-lock. 65 return pll ? &pll->hw : NULL; in ccu_pll_get_clk_hw()
|
D | ccu-div.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (C) 2020 BAIKAL ELECTRONICS, JSC 5 * Baikal-T1 CCU Dividers interface driver 10 #include <linux/clk-provider.h> 21 #define CCU_SYS_SATA_CLK -1 22 #define CCU_SYS_XGMAC_CLK -2 32 * @CCU_DIV_LOCK_SHIFTED: Find lock-bit at non-standard position. 42 * enum ccu_div_type - CCU Divider types 56 * struct ccu_div_init_data - CCU Divider initialization data 61 * @sys_regs: Baikal-T1 System Controller registers map. [all …]
|
D | ccu-rst.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2021 BAIKAL ELECTRONICS, JSC 8 * Baikal-T1 CCU Resets interface driver 11 #define pr_fmt(fmt) "bt1-ccu-rst: " fmt 19 #include <linux/reset-controller.h> 22 #include <dt-bindings/reset/bt1-ccu.h> 24 #include "ccu-rst.h" 66 * Each AXI-bus clock divider is equipped with the corresponding clock-consumer 67 * domain reset (it's self-deasserted reset control). 84 * SATA reference clock domain and APB-bus domain are connected with the [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/cache/ |
D | baikal,bt1-l2-ctl.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 # Copyright (C) 2020 BAIKAL ELECTRONICS, JSC 4 --- 5 $id: http://devicetree.org/schemas/cache/baikal,bt1-l2-ctl.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Baikal-T1 L2-cache Control Block 11 - Serge Semin <fancer.lancer@gmail.com> 14 By means of the System Controller Baikal-T1 SoC exposes a few settings to 16 to change the Tag, Data and Way-select RAM access latencies. Baikal-T1 17 L2-cache controller block is responsible for the tuning. Its DT node is [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/bus/ |
D | baikal,bt1-axi.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 # Copyright (C) 2020 BAIKAL ELECTRONICS, JSC 4 --- 5 $id: http://devicetree.org/schemas/bus/baikal,bt1-axi.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Baikal-T1 AXI-bus 11 - Serge Semin <fancer.lancer@gmail.com> 14 AXI3-bus is the main communication bus of Baikal-T1 SoC connecting all 15 high-speed peripheral IP-cores with RAM controller and with MIPS P5600 23 accessible by means of the Baikal-T1 System Controller. [all …]
|
D | baikal,bt1-apb.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 # Copyright (C) 2020 BAIKAL ELECTRONICS, JSC 4 --- 5 $id: http://devicetree.org/schemas/bus/baikal,bt1-apb.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Baikal-T1 APB-bus 11 - Serge Semin <fancer.lancer@gmail.com> 14 Baikal-T1 CPU or DMAC MMIO requests are handled by the AMBA 3 AXI Interconnect 15 which routes them to the AXI-APB bridge. This interface is a single master 22 - $ref: /schemas/simple-bus.yaml# [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/hwmon/ |
D | baikal,bt1-pvt.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 # Copyright (C) 2020 BAIKAL ELECTRONICS, JSC 4 --- 5 $id: http://devicetree.org/schemas/hwmon/baikal,bt1-pvt.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Baikal-T1 PVT Sensor 11 - Serge Semin <fancer.lancer@gmail.com> 14 Baikal-T1 SoC provides an embedded process, voltage and temperature 17 which may cause the system instability and even damages. The IP-block 19 control wrapper, which provides a MMIO registers-based access to the [all …]
|
/linux-6.12.1/drivers/hwmon/ |
D | bt1-pvt.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (C) 2020 BAIKAL ELECTRONICS, JSC 5 * Baikal-T1 Process, Voltage, Temperature sensor driver 17 /* Baikal-T1 PVT registers and their bitfields */ 61 * PVT sensors-related limits and default values 73 * when one is determined for Baikal-T1 SoC). 84 #define PVT_TEMP_MIN -48380L 105 * enum pvt_sensor_type - Baikal-T1 PVT sensor types (correspond to each PVT 110 * @PVT_LVT: PVT Low-Voltage threshold sensor. 111 * @PVT_HVT: PVT High-Voltage threshold sensor. [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/clock/ |
D | baikal,bt1-ccu-div.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 # Copyright (C) 2020 BAIKAL ELECTRONICS, JSC 4 --- 5 $id: http://devicetree.org/schemas/clock/baikal,bt1-ccu-div.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Baikal-T1 Clock Control Unit Dividers 11 - Serge Semin <fancer.lancer@gmail.com> 14 Clocks Control Unit is the core of Baikal-T1 SoC System Controller 18 IP-blocks or to groups of blocks (clock domains). The transformation is done 19 by means of an embedded into CCU PLLs and gateable/non-gateable dividers. The [all …]
|
D | baikal,bt1-ccu-pll.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 # Copyright (C) 2020 BAIKAL ELECTRONICS, JSC 4 --- 5 $id: http://devicetree.org/schemas/clock/baikal,bt1-ccu-pll.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Baikal-T1 Clock Control Unit PLL 11 - Serge Semin <fancer.lancer@gmail.com> 14 Clocks Control Unit is the core of Baikal-T1 SoC System Controller 18 IP-blocks or to groups of blocks (clock domains). The transformation is done 19 by means of PLLs and gateable/non-gateable dividers embedded into the CCU. [all …]
|
/linux-6.12.1/drivers/memory/ |
D | bt1-l2-ctl.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2020 BAIKAL ELECTRONICS, JSC 8 * Baikal-T1 CM2 L2-cache Control Block driver. 38 * struct l2_ctl - Baikal-T1 L2 Control block private data. 40 * @sys_regs: Baikal-T1 System Controller registers map. 49 * enum l2_ctl_stall - Baikal-T1 L2-cache-RAM stall identifier. 50 * @L2_WSSTALL: Way-select latency. 61 * struct l2_ctl_device_attribute - Baikal-T1 L2-cache device attribute. 63 * @id: L2-cache stall field identifier. 82 ret = regmap_read(l2->sys_regs, L2_CTL_REG, &data); in l2_ctl_get_latency() [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/pci/ |
D | baikal,bt1-pcie.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pci/baikal,bt1-pcie.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Baikal-T1 PCIe Root Port Controller 10 - Serge Semin <fancer.lancer@gmail.com> 13 Embedded into Baikal-T1 SoC Root Complex controller with a single port 14 activated. It's based on the DWC RC PCIe v4.60a IP-core, which is configured 18 performed by software. There four in- and four outbound iATU regions 22 - $ref: /schemas/pci/snps,dw-pcie.yaml# [all …]
|
/linux-6.12.1/drivers/mtd/maps/ |
D | physmap-bt1-rom.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2020 BAIKAL ELECTRONICS, JSC 8 * Baikal-T1 Physically Mapped Internal ROM driver 21 #include "physmap-bt1-rom.h" 24 * Baikal-T1 SoC ROMs are only accessible by the dword-aligned instructions. 25 * We have to take this into account when implementing the data read-methods. 26 * Note there is no need in bothering with endianness, since both Baikal-T1 32 void __iomem *src = map->virt + ofs; in bt1_rom_map_read() 39 data = readl_relaxed(src - shift); in bt1_rom_map_read() 47 shift = 4 - shift; in bt1_rom_map_read() [all …]
|
/linux-6.12.1/drivers/spi/ |
D | spi-dw-bt1.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 // Copyright (C) 2020 BAIKAL ELECTRONICS, JSC 9 // Baikal-T1 DW APB SPI and System Boot SPI driver 24 #include <linux/spi/spi-mem.h> 27 #include "spi-dw.h" 52 struct dw_spi_bt1 *dwsbt1 = to_dw_spi_bt1(desc->mem->spi->controller); in dw_spi_bt1_dirmap_create() 54 if (!dwsbt1->map || in dw_spi_bt1_dirmap_create() 55 !dwsbt1->dws.mem_ops.supports_op(desc->mem, &desc->info.op_tmpl)) in dw_spi_bt1_dirmap_create() 56 return -EOPNOTSUPP; in dw_spi_bt1_dirmap_create() 58 if (desc->info.op_tmpl.data.dir != SPI_MEM_DATA_IN) in dw_spi_bt1_dirmap_create() [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/ata/ |
D | baikal,bt1-ahci.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/ata/baikal,bt1-ahci.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Baikal-T1 SoC AHCI SATA controller 10 - Serge Semin <fancer.lancer@gmail.com> 13 AHCI SATA controller embedded into the Baikal-T1 SoC is based on the 14 DWC AHCI SATA v4.10a IP-core. 17 - $ref: snps,dwc-ahci-common.yaml# 21 const: baikal,bt1-ahci [all …]
|
/linux-6.12.1/drivers/bus/ |
D | bt1-axi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2020 BAIKAL ELECTRONICS, JSC 8 * Baikal-T1 AXI-bus driver 35 * struct bt1_axi - Baikal-T1 AXI-bus private data 38 * @sys_regs: Baikal-T1 System Controller registers map. 63 regmap_read(axi->sys_regs, BT1_AXI_WERRL, &low); in bt1_axi_isr() 64 regmap_read(axi->sys_regs, BT1_AXI_WERRH, &high); in bt1_axi_isr() 66 dev_crit_ratelimited(axi->dev, in bt1_axi_isr() 67 "AXI-bus fault %d: %s at 0x%x%08x\n", in bt1_axi_isr() 68 atomic_inc_return(&axi->count), in bt1_axi_isr() [all …]
|
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 37 Driver for the Broadcom Set Top Box System-on-a-chip internal bus 42 bool "Baikal-T1 APB-bus driver" 46 Baikal-T1 AXI-APB bridge is used to access the SoC subsystem CSRs. 53 errors counter. The counter and the APB-bus operations timeout can be 57 bool "Baikal-T1 AXI-bus driver" 61 AXI3-bus is the main communication bus connecting all high-speed 62 peripheral IP-cores with RAM controller and with MIPS P5600 cores on 63 Baikal-T1 SoC. Traffic arbitration is done by means of DW AMBA 3 AXI 114 cores. This bus is for per-CPU tightly coupled devices such as the [all …]
|
D | bt1-apb.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2020 BAIKAL ELECTRONICS, JSC 8 * Baikal-T1 APB-bus driver 37 * struct bt1_apb - Baikal-T1 APB EHB private data 40 * @res: No-device error injection memory region. 42 * @rate: APB-bus reference clock rate. 43 * @pclk: APB-reference clock. 74 do_div(timeout, apb->rate); in bt1_apb_n_to_timeout_us() 83 u64 n = (u64)timeout * apb->rate; in bt1_apb_timeout_to_n_us() 96 regmap_read(apb->regs, APB_EHB_ADDR, &addr); in bt1_apb_isr() [all …]
|
/linux-6.12.1/Documentation/devicetree/bindings/spi/ |
D | snps,dw-apb-ssi.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/spi/snps,dw-apb-ssi.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Mark Brown <broonie@kernel.org> 13 - $ref: spi-controller.yaml# 14 - if: 19 - mscc,ocelot-spi 20 - mscc,jaguar2-spi 25 - if: [all …]
|
/linux-6.12.1/drivers/pci/controller/dwc/ |
D | pcie-bt1.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2021 BAIKAL ELECTRONICS, JSC 9 * Baikal-T1 PCIe controller driver 26 #include "pcie-designware.h" 28 /* Baikal-T1 System CCU control registers */ 114 /* Baikal-T1 PCIe specific control registers */ 130 /* Generic Baikal-T1 PCIe interface resources */ 169 * Baikal-T1 MMIO space must be read/written by the dword-aligned 178 return -EINVAL; in bt1_pcie_read_mmio() 180 *val = readl(addr - ofs) >> ofs * BITS_PER_BYTE; in bt1_pcie_read_mmio() [all …]
|
/linux-6.12.1/include/dt-bindings/reset/ |
D | bt1-ccu.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (C) 2020 BAIKAL ELECTRONICS, JSC 5 * Baikal-T1 CCU reset indices
|
/linux-6.12.1/include/dt-bindings/clock/ |
D | bt1-ccu.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (C) 2020 BAIKAL ELECTRONICS, JSC 5 * Baikal-T1 CCU clock indices
|
/linux-6.12.1/Documentation/hwmon/ |
D | bt1-pvt.rst | 1 .. SPDX-License-Identifier: GPL-2.0-only 3 Kernel driver bt1-pvt 8 * Baikal-T1 PVT sensor (in SoC) 10 Prefix: 'bt1-pvt' 12 Addresses scanned: - 14 Datasheet: Provided by BAIKAL ELECTRONICS upon request and under NDA 21 ----------- 24 embedded into Baikal-T1 process, voltage and temperature sensors. PVT IP-core 29 compile-time configurable due to the hardware interface implementation 40 in alarm-less configuration the data conversion is performed by the driver [all …]
|