/linux-6.14.4/drivers/pwm/ |
D | pwm-meson.c | 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 3 * PWM controller driver for Amlogic Meson SoCs. 13 * Setting the duty cycle will disable and re-enable the PWM output. 19 * https://dl.khadas.com/Hardware/VIM2/Datasheet/S912_Datasheet_V0.220170314publicversion-Wesion.pdf 23 * https://dn.odroid.com/S922X/ODROID-N2/Datasheet/S922X_Public_Datasheet_V0.2.pdf 33 #include <linux/clk-provider.h> 122 struct meson_pwm *meson = to_meson_pwm(chip); in meson_pwm_request() local 123 struct meson_pwm_channel *channel = &meson->channels[pwm->hwpwm]; in meson_pwm_request() 124 struct device *dev = pwmchip_parent(chip); in meson_pwm_request() 127 err = clk_prepare_enable(channel->clk); in meson_pwm_request() [all …]
|
/linux-6.14.4/arch/arm64/boot/dts/amlogic/ |
D | meson-gxm.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 7 #include "meson-gxl.dtsi" 10 compatible = "amlogic,meson-gxm"; 13 cpu-map { 46 capacity-dmips-mhz = <1024>; 50 capacity-dmips-mhz = <1024>; 54 capacity-dmips-mhz = <1024>; 58 capacity-dmips-mhz = <1024>; 63 compatible = "arm,cortex-a53"; 65 enable-method = "psci"; [all …]
|
D | meson-gx.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 12 #include <dt-bindings/gpio/gpio.h> 13 #include <dt-bindings/interrupt-controller/irq.h> 14 #include <dt-bindings/interrupt-controller/arm-gic.h> 15 #include <dt-bindings/power/meson-gxbb-power.h> 16 #include <dt-bindings/thermal/thermal.h> 19 interrupt-parent = <&gic>; 20 #address-cells = <2>; 21 #size-cells = <2>; 29 reserved-memory { [all …]
|
D | meson-s4.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 6 #include <dt-bindings/interrupt-controller/irq.h> 7 #include <dt-bindings/interrupt-controller/arm-gic.h> 8 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/gpio/meson-s4-gpio.h> 10 #include <dt-bindings/clock/amlogic,s4-pll-clkc.h> 11 #include <dt-bindings/clock/amlogic,s4-peripherals-clkc.h> 12 #include <dt-bindings/power/meson-s4-power.h> 13 #include <dt-bindings/reset/amlogic,meson-s4-reset.h> 17 #address-cells = <2>; [all …]
|
D | meson-sm1.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 7 #include "meson-g12-common.dtsi" 8 #include <dt-bindings/clock/axg-audio-clkc.h> 9 #include <dt-bindings/power/meson-sm1-power.h> 10 #include <dt-bindings/reset/amlogic,meson-axg-audio-arb.h> 11 #include <dt-bindings/reset/amlogic,meson-g12a-audio-reset.h> 16 tdmif_a: audio-controller-0 { 17 compatible = "amlogic,axg-tdm-iface"; 18 #sound-dai-cells = <0>; 19 sound-name-prefix = "TDM_A"; [all …]
|
/linux-6.14.4/drivers/spi/ |
D | spi-meson-spifc.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 // Driver for Amlogic Meson SPI flash controller (SPIFC) 10 #include <linux/device.h> 56 #define USER_UC_MASK ((BIT(5) - 1) << 27) 71 * @regmap: regmap for device registers 72 * @clk: input clock of the built-in baud rate generator 73 * @dev: the device structure 79 struct device *dev; 90 * meson_spifc_wait_ready() - wait for the current operation to terminate 91 * @spifc: the Meson SPI device [all …]
|
/linux-6.14.4/Documentation/devicetree/bindings/power/ |
D | amlogic,meson-gx-pwrc.txt | 1 Amlogic Meson Power Controller (deprecated) 4 The Amlogic Meson SoCs embeds an internal Power domain controller. 7 ---------------- 13 power-domain.yaml 15 Device Tree Bindings: 16 --------------------- 19 - compatible: should be one of the following : 20 - "amlogic,meson-gx-pwrc-vpu" for the Meson GX SoCs 21 - "amlogic,meson-g12a-pwrc-vpu" for the Meson G12A SoCs 22 - #power-domain-cells: should be 0 [all …]
|
/linux-6.14.4/drivers/gpu/drm/ci/ |
D | test.yml | 1 .test-rules: 3 - if: '$FD_FARM == "offline" && $RUNNER_TAG =~ /^google-freedreno-/' 5 - if: '$COLLABORA_FARM == "offline" && $RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/' 7 - !reference [.no_scheduled_pipelines-rules, rules] 8 - when: on_success 10 .lava-test: 12 - .test-rules 16 - rm -rf install 17 - tar -xf artifacts/install.tar 18 - mv install/* artifacts/. [all …]
|
/linux-6.14.4/Documentation/devicetree/bindings/mtd/ |
D | amlogic,meson-nand.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mtd/amlogic,meson-nand.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - $ref: nand-controller.yaml 13 - [email protected] 18 - amlogic,meson-gxl-nfc 19 - amlogic,meson-axg-nfc 24 reg-names: 26 - const: nfc [all …]
|
/linux-6.14.4/drivers/gpu/drm/meson/ |
D | meson_drv.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 17 #include <linux/soc/amlogic/meson-canvas.h> 43 #define DRIVER_NAME "meson" 44 #define DRIVER_DESC "Amlogic Meson DRM driver" 54 * - Full reset of entire video processing HW blocks 55 * - Scaling and setup of the VPU clock 56 * - Bus clock gates 57 * - Powering up video processing HW blocks 58 * - Powering Up HDMI controller and PHY 74 struct meson_drm *priv = dev->dev_private; in meson_irq() [all …]
|
D | meson_dw_hdmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 32 #define DRIVER_NAME "meson-dw-hdmi" 33 #define DRIVER_DESC "Amlogic Meson HDMI-TX DRM driver" 40 * - A Synopsys DesignWare HDMI Controller IP 41 * - A TOP control block controlling the Clocks and PHY 42 * - A custom HDMI PHY in order convert video to TMDS signal 79 * - HPD Rise & Fall interrupt 80 * - HDMI Controller Interrupt 81 * - HDMI PHY Init for 480i to 1080p60 82 * - VENC & HDMI Clock setup for 480i to 1080p60 [all …]
|
/linux-6.14.4/drivers/reset/amlogic/ |
D | reset-meson.c | 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 3 * Amlogic Meson Reset Controller driver 5 * Copyright (c) 2016-2024 BayLibre, SAS. 16 #include <linux/reset-controller.h> 18 #include "reset-meson.h" 52 { .compatible = "amlogic,meson8b-reset", .data = &meson8b_param}, 53 { .compatible = "amlogic,meson-gxbb-reset", .data = &meson8b_param}, 54 { .compatible = "amlogic,meson-axg-reset", .data = &meson8b_param}, 55 { .compatible = "amlogic,meson-a1-reset", .data = &meson_a1_param}, 56 { .compatible = "amlogic,meson-s4-reset", .data = &meson_s4_param}, [all …]
|
D | reset-meson-common.c | 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 3 * Amlogic Meson Reset core functions 5 * Copyright (c) 2016-2024 BayLibre, SAS. 10 #include <linux/device.h> 13 #include <linux/reset-controller.h> 15 #include "reset-meson.h" 28 unsigned int stride = regmap_get_reg_stride(data->map); in meson_reset_offset_and_bit() 42 offset += data->param->reset_offset; in meson_reset_reset() 44 return regmap_write(data->map, offset, BIT(bit)); in meson_reset_reset() 55 offset += data->param->level_offset; in meson_reset_level() [all …]
|
/linux-6.14.4/Documentation/devicetree/bindings/reset/ |
D | amlogic,meson-axg-audio-arb.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/reset/amlogic,meson-axg-audio-arb.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 11 - Jerome Brunet <[email protected]> 13 description: The Amlogic Audio ARB is a simple device which enables or disables 19 - amlogic,meson-axg-audio-arb 20 - amlogic,meson-sm1-audio-arb 31 "#reset-cells": 35 - compatible [all …]
|
/linux-6.14.4/drivers/nvmem/ |
D | meson-efuse.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Amlogic Meson GX eFuse Driver 11 #include <linux/nvmem-provider.h> 15 #include <linux/firmware/meson/meson_sm.h> 42 { .compatible = "amlogic,meson-gxbb-efuse", }, 49 struct device *dev = &pdev->dev; in meson_efuse_probe() 56 of_parse_phandle(pdev->dev.of_node, "secure-monitor", 0); in meson_efuse_probe() 59 dev_err(&pdev->dev, "no secure-monitor node\n"); in meson_efuse_probe() 60 return -ENODEV; in meson_efuse_probe() 65 return -EPROBE_DEFER; in meson_efuse_probe() [all …]
|
/linux-6.14.4/drivers/pinctrl/meson/ |
D | pinctrl-meson8-pmx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * First generation of pinmux driver for Amlogic Meson SoCs 13 #include <linux/device.h> 18 #include "pinctrl-meson.h" 19 #include "pinctrl-meson8-pmx.h" 22 * meson8_pmx_disable_other_groups() - disable other groups using a given pin 24 * @pc: meson pin controller device 26 * @sel_group: index of the selected group, or -1 if none 29 * selected one. If @sel_group is -1 all groups are disabled, leaving 39 for (i = 0; i < pc->data->num_groups; i++) { in meson8_pmx_disable_other_groups() [all …]
|
D | pinctrl-meson-axg-pmx.c | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 3 * Second generation of pinmux driver for Amlogic Meson-AXG SoC. 14 * Meson-AXG SoC and later series, which use 4-width continuous 20 #include <linux/device.h> 25 #include "pinctrl-meson.h" 26 #include "pinctrl-meson-axg-pmx.h" 33 const struct meson_axg_pmx_data *pmx = pc->data->pmx_data; in meson_axg_pmx_get_bank() 35 for (i = 0; i < pmx->num_pmx_banks; i++) in meson_axg_pmx_get_bank() 36 if (pin >= pmx->pmx_banks[i].first && in meson_axg_pmx_get_bank() 37 pin <= pmx->pmx_banks[i].last) { in meson_axg_pmx_get_bank() [all …]
|
/linux-6.14.4/drivers/char/hw_random/ |
D | meson-rng.c | 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 32 struct device *dev; 40 *(u32 *)buf = readl_relaxed(data->base + RNG_DATA); in meson_rng_read() 54 return -EBUSY; in meson_rng_wait_status() 64 void __iomem *cfg_addr = data->base + RNG_S4_CFG; in meson_s4_rng_read() 71 dev_err(data->dev, "Seed isn't ready, try again\n"); in meson_s4_rng_read() 77 dev_err(data->dev, "Can't get random number, try again\n"); in meson_s4_rng_read() 81 *(u32 *)buf = readl_relaxed(data->base + RNG_S4_DATA); in meson_s4_rng_read() 88 struct device *dev = &pdev->dev; in meson_rng_probe() 95 return -ENOMEM; in meson_rng_probe() [all …]
|
/linux-6.14.4/drivers/media/cec/platform/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 18 tristate "Amlogic Meson AO CEC driver" 23 This is a driver for Amlogic Meson SoCs AO CEC interface. It uses the 28 tristate "Amlogic Meson G12A AO CEC driver" 36 This is a driver for Amlogic Meson G12A SoCs AO CEC interface. 37 This driver if for the new AO-CEC module found in G12A SoCs, 44 tristate "Generic GPIO-based CEC driver" 51 This is a generic GPIO-based CEC driver. 108 Selecting it will enable support for this device. 118 SECO Boards Consumer-IR in seco-cec driver. [all …]
|
/linux-6.14.4/drivers/net/ethernet/stmicro/stmmac/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 tristate "STMicroelectronics Multi-Gigabit Ethernet driver" 36 STi, Allwinner, Amlogic Meson, Altera SOCFPGA. 45 tristate "Support for snps,dwc-qos-ethernet.txt DT binding." 50 Support for chips using the snps,dwc-qos-ethernet.txt DT binding. 78 device driver. This driver is used on for the Ingenic SoCs 90 device driver. This driver does not use any of the hardware 92 will behave like standard non-accelerated ethernet interfaces. 114 tristate "Amlogic Meson dwmac support" 118 Support for Ethernet controller on Amlogic Meson SoCs. [all …]
|
/linux-6.14.4/drivers/watchdog/ |
D | meson_gxbb_wdt.c | 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 26 #define GXBB_WDT_CTRL_DIV_MASK (BIT(18) - 1) 28 #define GXBB_WDT_TCNT_SETUP_MASK (BIT(16) - 1) 55 writel(readl(data->reg_base + GXBB_WDT_CTRL_REG) | GXBB_WDT_CTRL_EN, in meson_gxbb_wdt_start() 56 data->reg_base + GXBB_WDT_CTRL_REG); in meson_gxbb_wdt_start() 65 writel(readl(data->reg_base + GXBB_WDT_CTRL_REG) & ~GXBB_WDT_CTRL_EN, in meson_gxbb_wdt_stop() 66 data->reg_base + GXBB_WDT_CTRL_REG); in meson_gxbb_wdt_stop() 75 writel(0, data->reg_base + GXBB_WDT_RSET_REG); in meson_gxbb_wdt_ping() 89 wdt_dev->timeout = timeout; in meson_gxbb_wdt_set_timeout() 93 writel(tcnt, data->reg_base + GXBB_WDT_TCNT_REG); in meson_gxbb_wdt_set_timeout() [all …]
|
/linux-6.14.4/drivers/media/rc/ |
D | meson-ir-tx.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * meson-ir-tx.c - Amlogic Meson IR TX driver 10 #include <linux/device.h> 20 #include <media/rc-core.h> 22 #define DEVICE_NAME "Meson IR TX" 23 #define DRIVER_NAME "meson-ir-tx" 39 #define IRB_DELAY_MASK (IRB_MAX_DELAY - 1) 51 #define IRB_MOD_COUNT(lo, hi) ((((lo) - 1) << 16) | ((hi) - 1)) 66 struct device *dev; 81 unsigned int cnt = DIV_ROUND_CLOSEST(ir->clk_rate, ir->carrier); in meson_irtx_set_mod() [all …]
|
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 15 Say Y when you have a TV or an IR device. 25 Allow attaching eBPF programs to a lirc device using the bpf(2) 80 tristate "Enable IR raw decoder for the RC-5 protocol" 84 Enable this option if you have IR with RC-5 protocol, and 96 tristate "Enable IR raw decoder for the RC-MM protocol" 98 Enable this option when you have IR with RC-MM protocol, and 100 24 and 32 bits RC-MM variants. You can enable or disable the 102 'rc-mm-12', 'rc-mm-24' and 'rc-mm-32'. 105 will be called ir-rcmm-decoder. [all …]
|
/linux-6.14.4/drivers/i2c/busses/ |
D | i2c-meson.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * I2C bus driver for Amlogic Meson SoCs 21 /* Meson I2C register map */ 68 * struct meson_i2c - Meson I2C device private data 71 * @dev: Pointer to device structure 72 * @regs: Base address of the device memory mapped registers 82 * @tokens: Sequence of tokens to be written to the device 88 struct device *dev; 116 data = readl(i2c->regs + reg); in meson_i2c_set_mask() 119 writel(data, i2c->regs + reg); in meson_i2c_set_mask() [all …]
|
/linux-6.14.4/drivers/iio/adc/ |
D | meson_saradc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Amlogic Meson Successive Approximation Register (SAR) A/D Converter 10 #include <linux/clk-provider.h> 16 #include <linux/nvmem-consumer.h> 96 (8 + (((_chan) - 2) * 3)) 153 * and u-boot source served as reference). These only seem to be relevant on 348 /* lock to protect against multiple access to the device */ 378 for (i = 0; i < indio_dev->num_channels; i++) in find_channel_by_num() 379 if (indio_dev->channels[i].channel == num) in find_channel_by_num() 380 return &indio_dev->channels[i]; in find_channel_by_num() [all …]
|