linux/drivers/pmdomain/bcm/bcm-pmb.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Copyright (c) 2013 Broadcom
 * Copyright (C) 2020 Rafał Miłecki <[email protected]>
 */

#include <dt-bindings/soc/bcm-pmb.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pm_domain.h>
#include <linux/reset/bcm63xx_pmb.h>

#define BPCM_ID_REG
#define BPCM_CAPABILITIES
#define BPCM_CAP_NUM_ZONES
#define BPCM_CAP_SR_REG_BITS
#define BPCM_CAP_PLLTYPE
#define BPCM_CAP_UBUS
#define BPCM_CONTROL
#define BPCM_STATUS
#define BPCM_ROSC_CONTROL
#define BPCM_ROSC_THRESH_H
#define BPCM_ROSC_THRESHOLD_BCM6838
#define BPCM_ROSC_THRESH_S
#define BPCM_ROSC_COUNT_BCM6838
#define BPCM_ROSC_COUNT
#define BPCM_PWD_CONTROL_BCM6838
#define BPCM_PWD_CONTROL
#define BPCM_SR_CONTROL_BCM6838
#define BPCM_PWD_ACCUM_CONTROL
#define BPCM_SR_CONTROL
#define BPCM_GLOBAL_CONTROL
#define BPCM_MISC_CONTROL
#define BPCM_MISC_CONTROL2
#define BPCM_SGPHY_CNTL
#define BPCM_SGPHY_STATUS
#define BPCM_ZONE0
#define BPCM_ZONE_CONTROL
#define BPCM_ZONE_CONTROL_MANUAL_CLK_EN
#define BPCM_ZONE_CONTROL_MANUAL_RESET_CTL
#define BPCM_ZONE_CONTROL_FREQ_SCALE_USED
#define BPCM_ZONE_CONTROL_DPG_CAPABLE
#define BPCM_ZONE_CONTROL_MANUAL_MEM_PWR
#define BPCM_ZONE_CONTROL_MANUAL_ISO_CTL
#define BPCM_ZONE_CONTROL_MANUAL_CTL
#define BPCM_ZONE_CONTROL_DPG_CTL_EN
#define BPCM_ZONE_CONTROL_PWR_DN_REQ
#define BPCM_ZONE_CONTROL_PWR_UP_REQ
#define BPCM_ZONE_CONTROL_MEM_PWR_CTL_EN
#define BPCM_ZONE_CONTROL_BLK_RESET_ASSERT
#define BPCM_ZONE_CONTROL_MEM_STBY
#define BPCM_ZONE_CONTROL_RESERVED
#define BPCM_ZONE_CONTROL_PWR_CNTL_STATE
#define BPCM_ZONE_CONTROL_FREQ_SCALAR_DYN_SEL
#define BPCM_ZONE_CONTROL_PWR_OFF_STATE
#define BPCM_ZONE_CONTROL_PWR_ON_STATE
#define BPCM_ZONE_CONTROL_PWR_GOOD
#define BPCM_ZONE_CONTROL_DPG_PWR_STATE
#define BPCM_ZONE_CONTROL_MEM_PWR_STATE
#define BPCM_ZONE_CONTROL_ISO_STATE
#define BPCM_ZONE_CONTROL_RESET_STATE
#define BPCM_ZONE_CONFIG1
#define BPCM_ZONE_CONFIG2
#define BPCM_ZONE_FREQ_SCALAR_CONTROL
#define BPCM_ZONE_SIZE

struct bcm_pmb {};

struct bcm_pmb_pd_data {};

struct bcm_pmb_pm_domain {};

static int bcm_pmb_bpcm_read(struct bcm_pmb *pmb, int bus, u8 device,
			     int offset, u32 *val)
{}

static int bcm_pmb_bpcm_write(struct bcm_pmb *pmb, int bus, u8 device,
			      int offset, u32 val)
{}

static int bcm_pmb_power_off_zone(struct bcm_pmb *pmb, int bus, u8 device,
				  int zone)
{}

static int bcm_pmb_power_on_zone(struct bcm_pmb *pmb, int bus, u8 device,
				 int zone)
{}

static int bcm_pmb_power_off_device(struct bcm_pmb *pmb, int bus, u8 device)
{}

static int bcm_pmb_power_on_device(struct bcm_pmb *pmb, int bus, u8 device)
{}

static int bcm_pmb_power_on_sata(struct bcm_pmb *pmb, int bus, u8 device)
{}

static int bcm_pmb_power_on(struct generic_pm_domain *genpd)
{}

static int bcm_pmb_power_off(struct generic_pm_domain *genpd)
{}

static int bcm_pmb_probe(struct platform_device *pdev)
{}

static const struct bcm_pmb_pd_data bcm_pmb_bcm4908_data[] =;

static const struct bcm_pmb_pd_data bcm_pmb_bcm63138_data[] =;

static const struct of_device_id bcm_pmb_of_match[] =;

static struct platform_driver bcm_pmb_driver =;

builtin_platform_driver();