/openbmc/linux/Documentation/devicetree/bindings/i2c/ |
H A D | brcm,bcm2835-i2c.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/i2c/brcm,bcm2835-i2c.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Broadcom BCM2835 I2C controller 10 - Stephen Warren <swarren@wwwdotorg.org> 13 - $ref: /schemas/i2c/i2c-controller.yaml# 18 - enum: 19 - brcm,bcm2835-i2c 20 - items: [all …]
|
/openbmc/linux/arch/arm/boot/dts/broadcom/ |
H A D | bcm2835-common.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 4 * bcm2835, bcm2836 and bcm2837 implementations. 8 interrupt-parent = <&intc>; 11 dma: dma-controller@7e007000 { 12 compatible = "brcm,bcm2835-dma"; 25 /* dma channel 11-14 share one irq */ 32 interrupt-names = "dma0", 47 "dma-shared-all"; 48 #dma-cells = <1>; 49 brcm,dma-channel-mask = <0x7f35>; [all …]
|
H A D | bcm283x.dtsi | 1 #include <dt-bindings/pinctrl/bcm2835.h> 2 #include <dt-bindings/clock/bcm2835.h> 3 #include <dt-bindings/clock/bcm2835-aux.h> 4 #include <dt-bindings/gpio/gpio.h> 5 #include <dt-bindings/interrupt-controller/irq.h> 6 #include <dt-bindings/soc/bcm2835-pm.h> 8 /* firmware-provided startup stubs live here, where the secondary CPUs are 14 * bcm2835 and bcm2836 implementations, leaving the CPU configuration to 15 * bcm2835.dtsi and bcm2836.dtsi. 19 compatible = "brcm,bcm2835"; [all …]
|
H A D | bcm2711.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 4 #include <dt-bindings/interrupt-controller/arm-gic.h> 5 #include <dt-bindings/soc/bcm2835-pm.h> 10 #address-cells = <2>; 11 #size-cells = <1>; 13 interrupt-parent = <&gicv2>; 16 compatible = "brcm,bcm2711-vc5"; 20 clk_27MHz: clk-27M { 21 #clock-cells = <0>; 22 compatible = "fixed-clock"; [all …]
|
/openbmc/u-boot/arch/arm/dts/ |
H A D | bcm283x.dtsi | 1 #include <dt-bindings/pinctrl/bcm2835.h> 2 #include <dt-bindings/clock/bcm2835.h> 3 #include <dt-bindings/clock/bcm2835-aux.h> 4 #include <dt-bindings/gpio/gpio.h> 6 /* firmware-provided startup stubs live here, where the secondary CPUs are 12 * bcm2835 and bcm2836 implementations, leaving the CPU configuration to 13 * bcm2835.dtsi and bcm2836.dtsi. 17 compatible = "brcm,bcm2835"; 18 model = "BCM2835"; 19 interrupt-parent = <&intc>; [all …]
|
/openbmc/qemu/hw/arm/ |
H A D | bcm2835_peripherals.c | 9 * See the COPYING file in the top-level directory. 23 /* Capabilities for SD controller: no DMA, high-speed, default clocks etc. */ 27 * According to Linux driver & DTS, dma channels 0--10 have separate IRQ, 28 * while channels 11--14 share one IRQ: 33 /* All three I2C controllers share the same IRQ */ 44 memory_region_add_subregion_overlap(&ps->peri_mr, ofs, in create_unimp() 45 sysbus_mmio_get_region(SYS_BUS_DEVICE(uds), 0), -1000); in create_unimp() 54 object_initialize_child(obj, "rng", &s->rng, TYPE_BCM2835_RNG); in bcm2835_peripherals_init() 57 object_initialize_child(obj, "thermal", &s->thermal, TYPE_BCM2835_THERMAL); in bcm2835_peripherals_init() 60 object_initialize_child(obj, "gpio", &s->gpio, TYPE_BCM2835_GPIO); in bcm2835_peripherals_init() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/clock/ |
H A D | brcm,bcm2835-cprman.txt | 1 Broadcom BCM2835 CPRMAN clocks 4 Documentation/devicetree/bindings/clock/clock-bindings.txt 7 of the BCM2835. There is a level of PLLs deriving from an external 9 few PLLs, and a level of mostly-generic clock generators sourcing from 15 - compatible: should be one of the following, 16 "brcm,bcm2711-cprman" 17 "brcm,bcm2835-cprman" 18 - #clock-cells: Should be <1>. The permitted clock-specifier values can be 19 found in include/dt-bindings/clock/bcm2835.h 20 - reg: Specifies base physical address and size of the registers [all …]
|
/openbmc/linux/drivers/i2c/busses/ |
H A D | i2c-bcm2835.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * BCM2835 master mode driver 8 #include <linux/clk-provider.h> 11 #include <linux/i2c.h> 27 * 16-bit field for the number of SCL cycles to wait after rising SCL 76 writel(val, i2c_dev->regs + reg); in bcm2835_i2c_writel() 81 return readl(i2c_dev->regs + reg); in bcm2835_i2c_readl() 104 return -EINVAL; in clk_bcm2835_i2c_calc_divider() 116 if (divider == -EINVAL) in clk_bcm2835_i2c_set_rate() 117 return -EINVAL; in clk_bcm2835_i2c_set_rate() [all …]
|
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 3 # Makefile for the i2c bus drivers. 7 obj-$(CONFIG_I2C_SCMI) += i2c-scmi.o 9 # Auxiliary I2C/SMBus modules 10 obj-$(CONFIG_I2C_CCGX_UCSI) += i2c-ccgx-ucsi.o 13 obj-$(CONFIG_I2C_ALI1535) += i2c-ali1535.o 14 obj-$(CONFIG_I2C_ALI1563) += i2c-ali1563.o 15 obj-$(CONFIG_I2C_ALI15X3) += i2c-ali15x3.o 16 obj-$(CONFIG_I2C_AMD756) += i2c-amd756.o 17 obj-$(CONFIG_I2C_AMD756_S4882) += i2c-amd756-s4882.o [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 6 menu "I2C Hardware Bus support" 16 for Cypress CCGx Type-C controller. Individual bus drivers 25 controller is part of the 7101 device, which is an ACPI-compliant 29 will be called i2c-ali1535. 37 controller is part of the 7101 device, which is an ACPI-compliant 41 will be called i2c-ali1563. 48 Acer Labs Inc. (ALI) M1514 and M1543 motherboard I2C interfaces. 51 will be called i2c-ali15x3. 58 756/766/768 mainboard I2C interfaces. The driver also includes [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/display/ |
H A D | brcm,bcm2835-hdmi.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/display/brcm,bcm2835-hdmi.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Eric Anholt <eric@anholt.net> 14 const: brcm,bcm2835-hdmi 18 - description: HDMI register range 19 - description: HD register range 26 - description: The pixel clock 27 - description: The HDMI state machine clock [all …]
|
/openbmc/qemu/tests/qtest/ |
H A D | bcm2835-i2c-test.c | 6 * SPDX-License-Identifier: MIT 28 #include "libqtest-single.h" 30 #include "hw/i2c/bcm2835_i2c.h" 101 g_strdup_printf("/bcm2835/bcm2835-i2c%d/read_write", i); in main() 106 /* Run I2C tests with TMP105 slaves on all three buses */ in main() 107 qtest_start("-M raspi3b " in main() 108 "-device tmp105,address=0x50,bus=i2c-bus.0 " in main() 109 "-device tmp105,address=0x50,bus=i2c-bus.1 " in main() 110 "-device tmp105,address=0x50,bus=i2c-bus.2"); in main()
|
H A D | meson.build | 2 'ahci-test': 150, 3 'aspeed_smc-test': 360, 4 'bios-tables-test' : 910, 5 'cdrom-test' : 610, 6 'device-introspect-test' : 720, 7 'ide-test' : 120, 8 'migration-test' : 480, 9 'npcm7xx_pwm-test': 300, 10 'npcm7xx_watchdog_timer-test': 120, 11 'qmp-cmd-test' : 120, [all …]
|
/openbmc/linux/Documentation/hwmon/ |
H A D | sbrmi.rst | 1 .. SPDX-License-Identifier: GPL-2.0-or-later 8 * Sideband Remote Management Interface (SB-RMI) compliant AMD SoC 15 To instantiate this driver on an AMD CPU with SB-RMI 16 support, the i2c bus number would be the bus connected from the board 22 As mentioned in AMD's APML specification, The SB-RMI address is 27 Datasheet: The SB-RMI interface and protocol along with the Advanced 31 https://www.amd.com/en/support/tech-docs?keyword=55898 36 ----------- 39 (SB-RMI) module from the external SMBus master that can be used to report socket 40 power on AMD platforms using mailbox command and resembles a typical 8-pin remote [all …]
|
/openbmc/qemu/hw/i2c/ |
H A D | bcm2835_i2c.c | 6 * SPDX-License-Identifier: MIT 29 #include "hw/i2c/bcm2835_i2c.h" 37 if (s->c & BCM2835_I2C_C_INTR && s->s & BCM2835_I2C_S_RXR) { in bcm2835_i2c_update_interrupt() 42 if (s->c & BCM2835_I2C_C_INTT && s->s & BCM2835_I2C_S_TXW) { in bcm2835_i2c_update_interrupt() 47 if (s->c & BCM2835_I2C_C_INTD && s->s & BCM2835_I2C_S_DONE) { in bcm2835_i2c_update_interrupt() 50 qemu_set_irq(s->irq, do_interrupt); in bcm2835_i2c_update_interrupt() 55 int direction = s->c & BCM2835_I2C_C_READ; in bcm2835_i2c_begin_transfer() 56 if (i2c_start_transfer(s->bus, s->a, direction)) { in bcm2835_i2c_begin_transfer() 57 s->s |= BCM2835_I2C_S_ERR; in bcm2835_i2c_begin_transfer() 59 s->s |= BCM2835_I2C_S_TA; in bcm2835_i2c_begin_transfer() [all …]
|
/openbmc/qemu/include/hw/i2c/ |
H A D | bcm2835_i2c.h | 6 * SPDX-License-Identifier: MIT 28 #include "hw/i2c/i2c.h" 31 #define TYPE_BCM2835_I2C "bcm2835-i2c" 43 #define BCM2835_I2C_C_I2CEN BIT(15) /* I2C enable */ 49 #define BCM2835_I2C_C_READ BIT(0) /* I2C read mode */ 59 #define BCM2835_I2C_S_DONE BIT(1) /* I2C Transfer complete */ 60 #define BCM2835_I2C_S_TA BIT(0) /* I2C Transfer active */
|
/openbmc/qemu/include/hw/arm/ |
H A D | bcm2835_peripherals.h | 9 * See the COPYING file in the top-level directory. 20 #include "hw/or-irq.h" 33 #include "hw/usb/hcd-dwc2.h" 35 #include "hw/i2c/bcm2835_i2c.h" 40 #define TYPE_BCM_SOC_PERIPHERALS_BASE "bcm-soc-peripherals-base" 43 #define TYPE_BCM2835_PERIPHERALS "bcm2835-peripherals" 73 BCM2835I2CState i2c[3]; member
|
H A D | raspi_platform.h | 2 * bcm2708 aka bcm2835/2836 aka Raspberry Pi/Pi2 SoC platform defines 5 * arch/arm/mach-{bcm2708,bcm2709}/include/mach/platform.h 25 * https://github.com/hermanhermitage/videocoreiv/wiki/MMIO-Register-map 34 /* Registered machine type (matches RPi Foundation bootloader and U-Boot) */ 37 #define TYPE_RASPI_BASE_MACHINE MACHINE_TYPE_NAME("raspi-base") 73 #define MPHI_OFFSET 0x6000 /* Message-based Parallel Host Intf. */ 74 #define DMA_OFFSET 0x7000 /* DMA controller, channels 0-14 */ 92 #define BSC0_OFFSET 0x205000 /* BSC0 I2C/TWI */ 114 #define BSC1_OFFSET 0x804000 /* BSC1 I2C/TWI */ 115 #define BSC2_OFFSET 0x805000 /* BSC2 I2C/TWI */ [all …]
|
/openbmc/linux/drivers/pinctrl/bcm/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 21 tristate "Broadcom BCM2835 GPIO (with PINCONF) driver" 30 Say Y here to enable the Broadcom BCM2835 GPIO driver. 44 If compiled as module it will be called pinctrl-bcm4908. 119 The Broadcom iProc based SoCs- Cygnus, NS2, NSP and Stingray, use 124 the always-ON GPIO controller (CRMU/AON). All 3 GPIO controllers are 170 The Broadcom Northstar pins driver supports muxing multi-purpose pins 171 that can be used for various functions (e.g. SPI, I2C, UART) as well
|
/openbmc/qemu/docs/system/arm/ |
H A D | raspi.rst | 8 ARM1176JZF-S core, 512 MiB of RAM 10 Cortex-A7 (4 cores), 1 GiB of RAM 12 Cortex-A53 (4 cores), 512 MiB of RAM 14 Cortex-A53 (4 cores), 1 GiB of RAM 16 Cortex-A72 (4 cores), 2 GiB of RAM 19 ------------------- 21 * ARM1176JZF-S, Cortex-A7, Cortex-A53 or Cortex-A72 CPU 27 * Serial ports (BCM2835 AUX - 16550 based - and PL011) 38 * Broadcom Serial Controller (I2C) 41 ---------------
|
/openbmc/linux/drivers/spi/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 13 dynamic device discovery; some are even write-only or read-only. 17 chips, analog to digital (and d-to-a) converters, and more. 44 If your system has an master-capable SPI controller (which 56 by providing a high-level interface to send memory-like commands. 145 supports spi-mem interface. 164 tristate "BCM2835 SPI controller" 168 This selects a driver for the Broadcom BCM2835 SPI master. 170 The BCM2835 contains two types of SPI master controller; the 176 tristate "BCM2835 SPI auxiliary controller" [all …]
|
/openbmc/linux/drivers/mfd/ |
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 6 88pm860x-objs := 88pm860x-core.o 88pm860x-i2c.o 7 obj-$(CONFIG_MFD_88PM860X) += 88pm860x.o 8 obj-$(CONFIG_MFD_88PM800) += 88pm800.o 88pm80x.o 9 obj-$(CONFIG_MFD_88PM805) += 88pm805.o 88pm80x.o 10 obj-$(CONFIG_MFD_ACT8945A) += act8945a.o 11 obj-$(CONFIG_MFD_SM501) += sm501.o 12 obj-$(CONFIG_ARCH_BCM2835) += bcm2835-pm.o 13 obj-$(CONFIG_MFD_BCM590XX) += bcm590xx.o 14 obj-$(CONFIG_MFD_BD9571MWV) += bd9571mwv.o [all …]
|
/openbmc/linux/drivers/pwm/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 bool "Pulse-Width Modulation (PWM) Support" 5 Generic Pulse-Width Modulation (PWM) support. 7 In Pulse-Width Modulation, a variation of the width of pulses 52 will be called pwm-ab8500. 64 will be called pwm-apple. 74 will be called pwm-atmel. 82 (Atmel High-end LCD Controller). This PWM output is mainly used 86 will be called pwm-atmel-hlcdc. 99 will be called pwm-atmel-tcb. [all …]
|
/openbmc/linux/drivers/irqchip/ |
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 obj-$(CONFIG_IRQCHIP) += irqchip.o 4 obj-$(CONFIG_AL_FIC) += irq-al-fic.o 5 obj-$(CONFIG_ALPINE_MSI) += irq-alpine-msi.o 6 obj-$(CONFIG_ATH79) += irq-ath79-cpu.o 7 obj-$(CONFIG_ATH79) += irq-ath79-misc.o 8 obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2835.o 9 obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2836.o 10 obj-$(CONFIG_ARCH_ACTIONS) += irq-owl-sirq.o 11 obj-$(CONFIG_DAVINCI_CP_INTC) += irq-davinci-cp-intc.o [all …]
|
/openbmc/openbmc/meta-raspberrypi/docs/ |
H A D | extra-build-config.md | 6 <http://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html> 32 See: <https://www.raspberrypi.com/documentation/computers/config_txt.html#memory-options> 36 …erland`. Be aware that `userland` has not support for 64-bit arch. If you disable `vc4` on a 64-bi… 50 See: <https://www.raspberrypi.com/documentation/computers/config_txt.html#licence-key-and-codec-opt… 85 …b`. The "mmc" is required to load an image from the SD card, following the u-boot specification. S… 108 See: <https://www.raspberrypi.com/documentation/computers/config_txt.html#overclocking-options> 125 See: <https://www.raspberrypi.com/documentation/computers/configuration.html#hdmi-configuration> 140 This will enable the firmware to fall back to off-line compositing of Dispmanx 141 elements. Normally the compositing is done on-line, during scanout, but cannot 142 handle too many elements. With off-line enabled, an off-screen buffer is [all …]
|