Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec9fd9e0 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: bbif-fsm9900: Add ADC and PRI clock rate change"

parents 652c346e 8a5747dc
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/regulator/consumer.h>
#include <linux/clk.h>

#include <linux/fsm_rfic.h>

@@ -281,6 +282,29 @@ static long bbif_ioctl(struct file *file,
		}
		break;

	case BBIF_IOCTL_SET_ADC_CLK:
		{
			unsigned int rate;

			if (copy_from_user(&rate, argp, sizeof(unsigned int))) {
				pr_err("%s: Invalid rate %d\n", __func__, rate);
				return -EFAULT;
			}

			switch (rate) {
			case 1:
				mpll10_326_clk_init();
				break;
			case 2:
				mpll10_345_clk_init();
				break;
			default:
				pr_err("%s: Unknown ADC RATE\n", __func__);
				break;
			}
		}
	break;

	default:
		pr_err("%s: Invalid IOCTL\n", __func__);
		return -EINVAL;
+5 −0
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ void fsm9900_gluon_init(void);
void fsm9900_rfic_init(void);
void fsm9900_mtr_init(void);

void mpll10_326_clk_init(void);
void mpll10_345_clk_init(void);

/*
 * Device interface
@@ -149,6 +151,9 @@ struct rfic_wfm_param {
#define BBIF_IOCTL_SET_ADC_BW \
	_IOC(_IOC_WRITE, RFIC_IOCTL_MAGIC, 0x43, \
		sizeof(struct bbif_bw_param *))
#define BBIF_IOCTL_SET_ADC_CLK \
	_IOC(_IOC_WRITE, RFIC_IOCTL_MAGIC, 0x44, \
		sizeof(unsigned int *))
#define RFIC_IOCTL_SET_LDO \
	_IOC(_IOC_WRITE, RFIC_IOCTL_MAGIC, 0x50, \
		sizeof(unsigned int *))