/linux/drivers/pmdomain/bcm/ |
H A D | bcm2835-power.c | 1 // SPDX-License-Identifier: GPL-2.0+ 8 #include <dt-bindings/soc/bcm2835-pm.h> 12 #include <linux/mfd/bcm2835-pm.h> 16 #include <linux/reset-controller.h> 109 #define PM_READ(reg) readl(power->base + (reg)) 110 #define PM_WRITE(reg, val) writel(PM_PASSWORD | (val), power->base + (reg)) 154 void __iomem *base = power->asb; in bcm2835_asb_control() 163 if (power->rpivid_asb) in bcm2835_asb_control() 164 base = power->rpivid_asb; in bcm2835_asb_control() 180 if (ktime_get_ns() - start >= 1000) in bcm2835_asb_control() [all …]
|
/linux/drivers/clk/sifive/ |
H A D | sifive-prci.c | 1 // SPDX-License-Identifier: GPL-2.0 11 #include "sifive-prci.h" 12 #include "fu540-prci.h" 13 #include "fu740-prci.h" 20 * __prci_readl() - read from a PRCI register 21 * @pd: PRCI context 25 * address of the PRCI register target described by @pd, and return 30 * Return: the contents of the register described by @pd and @offs. 32 static u32 __prci_readl(struct __prci_data *pd, u32 offs) in __prci_readl() argument 34 return readl_relaxed(pd->va + offs); in __prci_readl() [all …]
|
/linux/drivers/regulator/ |
H A D | max8952.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * max8952.c - Voltage and current regulation for the Maxim 8952 46 int ret = i2c_smbus_read_byte_data(max8952->client, reg); in max8952_read_reg() 57 return i2c_smbus_write_byte_data(max8952->client, reg, value); in max8952_write_reg() 66 return -EINVAL; in max8952_list_voltage() 68 return (max8952->pdata->dvs_mode[selector] * 10 + 770) * 1000; in max8952_list_voltage() 76 if (max8952->vid0) in max8952_get_voltage_sel() 78 if (max8952->vid1) in max8952_get_voltage_sel() 89 if (!max8952->vid0_gpiod || !max8952->vid1_gpiod) { in max8952_set_voltage_sel() 91 return -EPERM; in max8952_set_voltage_sel() [all …]
|
/linux/Documentation/devicetree/bindings/memory-controllers/ |
H A D | rockchip,rk3399-dmc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/memory-controllers/rockchip,rk3399-dmc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Brian Norris <briannorris@chromium.org> 15 - rockchip,rk3399-dmc 17 devfreq-events: 26 clock-names: 28 - const: dmc_clk 30 operating-points-v2: true [all …]
|
/linux/Documentation/devicetree/bindings/usb/ |
H A D | willsemi,wusb3801.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: WUSB3801 Type-C port controller 10 The Will Semiconductor WUSB3801 is a USB Type-C port controller which 12 compatible with the USB Type-C Cable and Connector Specification v1.2. 15 - Samuel Holland <samuel@sholland.org> 20 - willsemi,wusb3801 30 $ref: ../connector/usb-connector.yaml# 33 The managed USB Type-C connector. Since WUSB3801 does not support [all …]
|
/linux/drivers/clk/qcom/ |
H A D | gdsc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2015, 2017-2018, 2022, The Linux Foundation. All rights reserved. 16 #include <linux/reset-controller.h> 52 #define domain_to_gdsc(domain) container_of(domain, struct gdsc, pd) 66 if (sc->flags & POLL_CFG_GDSCR) in gdsc_check_status() 67 reg = sc->gdscr + CFG_GDSCR_OFFSET; in gdsc_check_status() 68 else if (sc->gds_hw_ctrl) in gdsc_check_status() 69 reg = sc->gds_hw_ctrl; in gdsc_check_status() 71 reg = sc->gdscr; in gdsc_check_status() 73 ret = regmap_read(sc->regmap, reg, &val); in gdsc_check_status() [all …]
|
/linux/drivers/net/ethernet/smsc/ |
H A D | smsc9420.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 17 #include <linux/dma-mapping.h> 25 #define DRV_MDIONAME "smsc9420-mdio" 83 static uint debug = -1; 87 static inline u32 smsc9420_reg_read(struct smsc9420_pdata *pd, u32 offset) in smsc9420_reg_read() argument 89 return ioread32(pd->ioaddr + offset); in smsc9420_reg_read() 93 smsc9420_reg_write(struct smsc9420_pdata *pd, u32 offset, u32 value) in smsc9420_reg_write() argument 95 iowrite32(value, pd->ioaddr + offset); in smsc9420_reg_write() 98 static inline void smsc9420_pci_flush_write(struct smsc9420_pdata *pd) in smsc9420_pci_flush_write() argument 101 smsc9420_reg_read(pd, ID_REV); in smsc9420_pci_flush_write() [all …]
|
/linux/drivers/pmdomain/samsung/ |
H A D | exynos-pm-domains.c | 1 // SPDX-License-Identifier: GPL-2.0 9 // conjunction with runtime-pm. Support for both device-tree and non-device-tree 32 struct generic_pm_domain pd; member 38 struct exynos_pm_domain *pd; in exynos_pd_power() local 43 pd = container_of(domain, struct exynos_pm_domain, pd); in exynos_pd_power() 44 base = pd->base; in exynos_pd_power() 46 pwr = power_on ? pd->local_pwr_cfg : 0; in exynos_pd_power() 52 while ((readl_relaxed(base + 0x4) & pd->local_pwr_cfg) != pwr) { in exynos_pd_power() 54 op = (power_on) ? "enable" : "disable"; in exynos_pd_power() 55 pr_err("Power domain %s %s failed\n", domain->name, op); in exynos_pd_power() [all …]
|
/linux/drivers/pmdomain/imx/ |
H A D | gpc.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Copyright 2015-2017 Pengutronix, Lucas Stach <kernel@pengutronix.de> 4 * Copyright 2011-2013 Freescale Semiconductor, Inc. 62 struct imx_pm_domain *pd = to_imx_pm_domain(genpd); in imx6_pm_domain_power_off() local 67 regmap_read(pd->regmap, pd->reg_offs + GPC_PGC_PDNSCR_OFFS, &val); in imx6_pm_domain_power_off() 72 regmap_update_bits(pd->regmap, pd->reg_offs + GPC_PGC_CTRL_OFFS, in imx6_pm_domain_power_off() 76 val = BIT(pd->cntr_pdn_bit); in imx6_pm_domain_power_off() 77 regmap_update_bits(pd->regmap, GPC_CNTR, val, val); in imx6_pm_domain_power_off() 80 udelay(DIV_ROUND_UP(iso + iso2sw, pd->ipg_rate_mhz)); in imx6_pm_domain_power_off() 82 if (pd->supply) in imx6_pm_domain_power_off() [all …]
|
/linux/include/linux/usb/ |
H A D | tcpm.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 3 * Copyright 2015-2017 Google, Inc 11 #include "pd.h" 59 * struct tcpc_dev - Port configuration and callback functions 64 * and cc=Rp-def. This allows the tcpm to provide a fallback 65 * current-limi [all...] |
/linux/drivers/firmware/ |
H A D | sysfb.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 * Copyright (c) 2012-2013 David Herrmann <dh.herrmann@gmail.com> 8 * Simple-Framebuffer support 9 * Create a platform-device for any available boot framebuffer. The 10 * simple-framebuffer platform device is already available on DT systems, so 12 * platform device compatible with the "simple-framebuffer" DT object. If 14 * "vesa-framebuffer", "efi-framebuffer" or "platform-framebuffer" device and 16 * to pick these devices up without messing with simple-framebuffer drivers. 19 * If CONFIG_SYSFB_SIMPLEFB is not selected, never register "simple-framebuffer" 23 * TODO: We set the dev_id field of all platform-devices to 0. This allows [all …]
|
/linux/arch/m68k/68000/ |
H A D | dragen2.c | 1 // SPDX-License-Identifier: GPL-2.0 26 PBDATA |= 0x20; /* disable CCFL light */ in dragen2_reset() 27 PKDATA |= 0x4; /* disable LCD controller */ in dragen2_reset() 69 PDPOL &= ~PD(1); /* active high signal */ in init_dragen2() 70 PDIQEG &= ~PD(1); in init_dragen2() 71 PDIRQEN |= PD(1); /* IRQ enabled */ in init_dragen2()
|
/linux/drivers/video/fbdev/ |
H A D | sh7760fb.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * (c) 2006-2008 MSC Vertriebsges.m.b.H., 11 * Thanks to Siegfried Schaefer <s.schaefer at schaefer-edv.de> 19 #include <linux/dma-mapping.h> 34 struct sh7760fb_platdata *pd; /* display information */ member 56 /* wait_for_lps - wait until power supply has reached a certain state. */ 60 while (--i && ((ioread16(par->base + LDPMMR) & 3) != val)) in wait_for_lps() 64 return -ETIMEDOUT; in wait_for_lps() 69 /* en/disable the LCDC */ 72 struct sh7760fb_par *par = info->par; in sh7760fb_blank() [all …]
|
/linux/drivers/memory/ |
H A D | emif.c | 1 // SPDX-License-Identifier: GPL-2.0-only 33 * struct emif_data - Per device static data for driver's use 38 * to this EMIF - read from MR4 register. If there 43 * @base: base address of memory-mapped IO registers. 47 * frequencies, to avoid re-calculating them on 77 u32 type = emif->plat_data->device_info->type; in do_emif_regdump_show() 78 u32 ip_rev = emif->plat_data->ip_rev; in do_emif_regdump_show() 81 regs->freq/1000000); in do_emif_regdump_show() 83 seq_printf(s, "ref_ctrl_shdw\t: 0x%08x\n", regs->ref_ctrl_shdw); in do_emif_regdump_show() 84 seq_printf(s, "sdram_tim1_shdw\t: 0x%08x\n", regs->sdram_tim1_shdw); in do_emif_regdump_show() [all …]
|
/linux/arch/arm/mach-omap2/ |
H A D | powerdomain.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 5 * Copyright (C) 2007-2008, 2010 Texas Instruments, Inc. 6 * Copyright (C) 2007-2011 Nokia Corporation 10 * XXX This should be moved to the mach-omap2/ directory at the earliest 45 * PWRDM_HAS_HDWR_SAR - powerdomain has hardware save-and-restore support 47 * PWRDM_HAS_MPU_QUIRK - MPU pwr domain has MEM bank 0 bits in MEM 50 * PWRDM_HAS_LOWPOWERSTATECHANGE - can transition from a sleep state 58 * Number of memory banks that are power-controllable. On OMAP4430, the 77 * struct powerdomain - OMAP powerdomain 85 * @banks: Number of software-controllable memory banks in this powerdomain [all …]
|
/linux/drivers/net/dsa/sja1105/ |
H A D | sja1105_clocking.c | 1 // SPDX-License-Identifier: BSD-3-Clause 2 /* Copyright 2016-2018 NXP 3 * Copyright (c) 2018-2019, Vladimir Oltean <olteanv@gmail.com> 47 u64 pd; member 63 u64 pd; member 69 u64 pd; member 99 u64 pd; member 107 sja1105_packing(buf, &idiv->clksrc, 28, 24, size, op); in sja1105_cgu_idiv_packing() 108 sja1105_packing(buf, &idiv->autoblock, 11, 11, size, op); in sja1105_cgu_idiv_packing() 109 sja1105_packing(buf, &idiv->idiv, 5, 2, size, op); in sja1105_cgu_idiv_packing() [all …]
|
/linux/drivers/clk/davinci/ |
H A D | psc.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 11 #include <linux/clk-provider.h> 15 #define LPSC_ALWAYS_ENABLED BIT(0) /* never disable this clock */ 52 * davinci_lpsc_clk_info - LPSC module-specific clock information 57 * @pd: the power domain id 65 u32 pd; member 75 .pd = (d), \ 89 /* Device-specific data */
|
/linux/drivers/clk/renesas/ |
H A D | clk-mstp.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * R-Car MSTP clocks 12 #include <linux/clk-provider.h> 32 * struct mstp_clock_group - MSTP gating clocks group 38 * @width_8bit: registers are 8-bit, not 32-bit 51 * struct mstp_clock - MSTP gating clock 52 * @hw: handle between common and hardware-specific interfaces 67 return group->width_8bit ? readb(reg) : readl(reg); in cpg_mstp_read() 73 group->width_8bit ? writeb(val, reg) : writel(val, reg); in cpg_mstp_write() 79 struct mstp_clock_group *group = clock->group; in cpg_mstp_clock_endisable() [all …]
|
/linux/drivers/firmware/arm_scmi/ |
H A D | notify.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2020-2021 ARM Ltd. 36 * All users provided callbacks and allocated notification-chains are stored in 44 * hash-keys. 54 * pushes the event-data itself on a protocol-dedicated kfifo queue for further 59 * queued items into the proper notification-chain: notifications processing can 65 * conveyed, converted into a custom per-event report struct, as the void *data 73 #define dev_fmt(fmt) "SCMI Notifications - " fmt 74 #define pr_fmt(fmt) "SCMI Notifications - " fmt 102 #define NOTIF_UNSUPP -1 [all …]
|
/linux/drivers/usb/typec/tcpm/ |
H A D | fusb302.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Copyright 2016-2017 Google, Inc 5 * Fairchild FUSB302 Type-C Chip Driver 32 #include <linux/usb/pd.h> 40 * the BC_LVL interrupt on PD signalings, cc lvl should be handled after 41 * a delay to avoid measuring on PD activities. The delay is slightly 42 * longer than PD_T_PD_DEBPUNCE (10-20ms). 130 return chip->logbuffer_tai in fusb302_log_full() [all...] |
/linux/arch/arm/boot/dts/aspeed/ |
H A D | aspeed-bmc-facebook-bletchley.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 3 /dts-v1/; 5 #include "aspeed-g6.dtsi" 6 #include <dt-bindings/gpio/aspeed-gpio.h> 7 #include <dt-bindings/usb/pd.h> 8 #include <dt-bindings/leds/leds-pca955x.h> 9 #include <dt-bindings/interrupt-controller/irq.h> 10 #include <dt-bindings/i2c/i2c.h> 14 compatible = "facebook,bletchley-bmc", "aspeed,ast2600"; 29 iio-hwmon { [all …]
|
/linux/drivers/ptp/ |
H A D | ptp_chardev.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * PTP 1588 clock support - character device implementation. 9 #include <linux/posix-clock.h> 34 err = ops->enable(ops, &rq, 0); in ptp_disable_pinfunc() 39 err = ops->enable(ops, &rq, 0); in ptp_disable_pinfunc() 44 return -EINVAL; in ptp_disable_pinfunc() 53 struct ptp_clock_info *info = ptp->info; in ptp_set_pinfunc() 54 struct ptp_pin_desc *pin1 = NULL, *pin2 = &info->pin_config[pin]; in ptp_set_pinfunc() 58 for (i = 0; i < info->n_pins; i++) { in ptp_set_pinfunc() 59 if (info->pin_config[i].func == func && in ptp_set_pinfunc() [all …]
|
/linux/drivers/platform/x86/ |
H A D | sony-laptop.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * Copyright (C) 2004-2005 Stelian Pop <stelian@popies.net> 6 * Copyright (C) 2007-2009 Mattia Dongili <malattia@linux.it> 14 * Copyright (C) 2001-2005 Stelian Pop <stelian@popies.net> 18 * Copyright (C) 2001-2002 Alcôve <www.alcove.com> 24 * Copyright (C) 2000 Takaya Kinjo <t-kinjo@tc4.so-net.ne.jp> 51 #include <linux/sony-laptop.h> 66 #define SONY_NC_CLASS "sony-nc" 70 #define SONY_PIC_CLASS "sony-pic" 105 static int minor = -1; [all …]
|
/linux/include/linux/firmware/ |
H A D | trusted_foundations.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 10 * Tegra-based devices sold on the market are concerned). Such devices can only 27 #include <asm/hardware/cache-l2x0.h> 44 void register_trusted_foundations(struct trusted_foundations_platform_data *pd); 54 struct trusted_foundations_platform_data *pd) in register_trusted_foundations() argument 58 * but disable features that cannot be provided. in register_trusted_foundations() 74 struct device_node *np = of_find_compatible_node(NULL, NULL, "tlm,trusted-foundations"); in of_register_trusted_foundations()
|
/linux/drivers/input/keyboard/ |
H A D | jornada680_kbd.c | 1 // SPDX-License-Identifier: GPL-2.0-only 43 /* PTD1 */ KEY_CAPSLOCK, KEY_MACRO, KEY_LEFTCTRL, 0, KEY_ESC, KEY_KP5, 0, 0, /* 1 -> 8 */ 44 KEY_F1, KEY_F2, KEY_F3, KEY_F8, KEY_F7, KEY_F6, KEY_F4, KEY_F5, /* 9 -> 16 */ 45 /* PTD5 */ KEY_SLASH, KEY_APOSTROPHE, KEY_ENTER, 0, KEY_Z, 0, 0, 0, /* 17 -> 24 */ 46 KEY_X, KEY_C, KEY_V, KEY_DOT, KEY_COMMA, KEY_M, KEY_B, KEY_N, /* 25 -> 32 */ 47 /* PTD7 */ KEY_KP2, KEY_KP6, KEY_KP3, 0, 0, 0, 0, 0, /* 33 -> 40 */ 48 …KEY_F10, KEY_RO, KEY_F9, KEY_KP4, KEY_NUMLOCK, KEY_SCROLLLOCK, KEY_LEFTALT, KEY_HANJA, /* 41 -> 4… 49 /* PTE0 */ KEY_KATAKANA, KEY_KP0, KEY_GRAVE, 0, KEY_FINANCE, 0, 0, 0, /* 49 -> 56 */ 50 KEY_KPMINUS, KEY_HIRAGANA, KEY_SPACE, KEY_KPDOT, KEY_VOLUMEUP, 249, 0, 0, /* 57 -> 64 */ 51 /* PTE1 */ KEY_SEMICOLON, KEY_RIGHTBRACE, KEY_BACKSLASH, 0, KEY_A, 0, 0, 0, /* 65 -> 72 */ [all …]
|