[PATCH v3] ASoC: adds component driver for TAS575xM digital amplifiers
by Joerg Schambacher
Adds a minimum component driver to run the amplifier in I2S master
mode only from standard audio clocks. Therefore, it only allows
44.1, 88.2, 176.4, 48, 96 and 192ksps with 16, 20, 24 and 32 bits
sample size. Digital volume control and the -6dB and +0.8dB switches
are supported.
Signed-off-by: Joerg Schambacher <joerg(a)hifiberry.com>
---
sound/soc/codecs/Kconfig | 8 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/tas5754m.c | 700 ++++++++++++++++++++++++++++++++++++
sound/soc/codecs/tas5754m.h | 260 ++++++++++++++
4 files changed, 970 insertions(+)
create mode 100644 sound/soc/codecs/tas5754m.c
create mode 100644 sound/soc/codecs/tas5754m.h
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
index 82ee233a269d..cf0584948fcf 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -210,6 +210,7 @@ config SND_SOC_ALL_CODECS
imply SND_SOC_TAS5086
imply SND_SOC_TAS571X
imply SND_SOC_TAS5720
+ imply SND_SOC_TAS5754M
imply SND_SOC_TAS6424
imply SND_SOC_TDA7419
imply SND_SOC_TFA9879
@@ -1419,6 +1420,13 @@ config SND_SOC_TAS5720
Enable support for Texas Instruments TAS5720L/M high-efficiency mono
Class-D audio power amplifiers.
+config SND_SOC_TAS5754M
+ tristate "Texas Instruments TAS5754M Digital Input Audio amplifier"
+ depends on I2C
+ help
+ Enable support for Texas Instruments TAS5754M digital input
+ Class-D audio power amplifiers.
+
config SND_SOC_TAS6424
tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
depends on I2C
diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
index 8dcea2c4604a..39984900258a 100644
--- a/sound/soc/codecs/Makefile
+++ b/sound/soc/codecs/Makefile
@@ -227,6 +227,7 @@ snd-soc-sti-sas-objs := sti-sas.o
snd-soc-tas5086-objs := tas5086.o
snd-soc-tas571x-objs := tas571x.o
snd-soc-tas5720-objs := tas5720.o
+snd-soc-tas5754m-objs := tas5754m.o
snd-soc-tas6424-objs := tas6424.o
snd-soc-tda7419-objs := tda7419.o
snd-soc-tas2770-objs := tas2770.o
@@ -555,6 +556,7 @@ obj-$(CONFIG_SND_SOC_TAS2764) += snd-soc-tas2764.o
obj-$(CONFIG_SND_SOC_TAS5086) += snd-soc-tas5086.o
obj-$(CONFIG_SND_SOC_TAS571X) += snd-soc-tas571x.o
obj-$(CONFIG_SND_SOC_TAS5720) += snd-soc-tas5720.o
+obj-$(CONFIG_SND_SOC_TAS5754M) += snd-soc-tas5754m.o
obj-$(CONFIG_SND_SOC_TAS6424) += snd-soc-tas6424.o
obj-$(CONFIG_SND_SOC_TDA7419) += snd-soc-tda7419.o
obj-$(CONFIG_SND_SOC_TAS2770) += snd-soc-tas2770.o
diff --git a/sound/soc/codecs/tas5754m.c b/sound/soc/codecs/tas5754m.c
new file mode 100644
index 000000000000..7aab9d29c46d
--- /dev/null
+++ b/sound/soc/codecs/tas5754m.c
@@ -0,0 +1,700 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Driver for the TAS5754M Audio Amplifier
+ *
+ * Author: Joerg Schambacher <joerg(a)hifiberry.com>
+ * with fragments from Andy Liu <andy-liu(a)ti.com>
+ *
+ * The driver supports I2S master mode only with standard audio
+ * frequencies 44.1 to 192 ksps from a 24.576/22.2592MHz master
+ * clock input
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ */
+
+#include <linux/module.h>
+#include <linux/moduleparam.h>
+#include <linux/clk.h>
+#include <linux/slab.h>
+#include <linux/of.h>
+#include <linux/init.h>
+#include <linux/i2c.h>
+#include <linux/regmap.h>
+#include <linux/delay.h>
+
+#include <sound/tlv.h>
+#include <sound/soc.h>
+#include <sound/pcm.h>
+#include <sound/pcm_params.h>
+#include <sound/initval.h>
+
+#include "tas5754m.h"
+
+#define TAS5754M_RATES (SNDRV_PCM_RATE_48000 | \
+ SNDRV_PCM_RATE_96000 | \
+ SNDRV_PCM_RATE_192000 | \
+ SNDRV_PCM_RATE_44100 | \
+ SNDRV_PCM_RATE_88200 | \
+ SNDRV_PCM_RATE_176400)
+#define TAS5754M_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | \
+ SNDRV_PCM_FMTBIT_S20_LE | \
+ SNDRV_PCM_FMTBIT_S24_LE | \
+ SNDRV_PCM_FMTBIT_S32_LE)
+
+
+static const struct reg_default tas5754m_reg_defaults[] = {
+ { TAS5754M_RESET, 0x00 },
+ { TAS5754M_POWER, 0x00 },
+ { TAS5754M_MUTE, 0x00 },
+ { TAS5754M_DSP, 0x00 },
+ { TAS5754M_PLL_REF, 0x00 },
+ { TAS5754M_DAC_REF, 0x00 },
+ { TAS5754M_DAC_ROUTING, 0x11 },
+ { TAS5754M_DSP_PROGRAM, 0x01 },
+ { TAS5754M_CLKDET, 0x00 },
+ { TAS5754M_AUTO_MUTE, 0x00 },
+ { TAS5754M_ERROR_DETECT, 0x00 },
+ { TAS5754M_DIGITAL_VOLUME_1, 0x00 },
+ { TAS5754M_DIGITAL_VOLUME_2, 0x30 },
+ { TAS5754M_DIGITAL_VOLUME_3, 0x30 },
+ { TAS5754M_DIGITAL_MUTE_1, 0x22 },
+ { TAS5754M_DIGITAL_MUTE_2, 0x00 },
+ { TAS5754M_DIGITAL_MUTE_3, 0x07 },
+ { TAS5754M_OUTPUT_AMPLITUDE, 0x00 },
+ { TAS5754M_ANALOG_GAIN_CTRL, 0x00 },
+ { TAS5754M_UNDERVOLTAGE_PROT, 0x00 },
+ { TAS5754M_ANALOG_MUTE_CTRL, 0x00 },
+ { TAS5754M_ANALOG_GAIN_BOOST, 0x00 },
+ { TAS5754M_VCOM_CTRL_1, 0x00 },
+ { TAS5754M_VCOM_CTRL_2, 0x01 },
+ { TAS5754M_BCLK_LRCLK_CFG, 0x00 },
+ { TAS5754M_MASTER_MODE, 0x7c },
+ { TAS5754M_GPIO_PLLIN, 0x00 },
+ { TAS5754M_SYNCHRONIZE, 0x10 },
+ { TAS5754M_PLL_COEFF_P, 0x00 },
+ { TAS5754M_PLL_COEFF_J, 0x00 },
+ { TAS5754M_PLL_COEFF_DH, 0x00 },
+ { TAS5754M_PLL_COEFF_DL, 0x00 },
+ { TAS5754M_PLL_COEFF_R, 0x00 },
+ { TAS5754M_DSP_CLKDIV, 0x00 },
+ { TAS5754M_DAC_CLKDIV, 0x00 },
+ { TAS5754M_NCP_CLKDIV, 0x00 },
+ { TAS5754M_OSR_CLKDIV, 0x00 },
+ { TAS5754M_MASTER_SCLKDIV, 0x00 },
+ { TAS5754M_MASTER_LRCLKDIV, 0x00 },
+ { TAS5754M_FS_SPEED_MODE, 0x00 },
+ { TAS5754M_IDAC_1, 0x01 },
+ { TAS5754M_IDAC_2, 0x00 },
+};
+
+static bool tas5754m_readable(struct device *dev, unsigned int reg)
+{
+ switch (reg) {
+ case TAS5754M_RESET:
+ case TAS5754M_POWER:
+ case TAS5754M_MUTE:
+ case TAS5754M_PLL_EN:
+ case TAS5754M_DSP:
+ case TAS5754M_GPIO_EN:
+ case TAS5754M_BCLK_LRCLK_CFG:
+ case TAS5754M_DSP_GPIO_INPUT:
+ case TAS5754M_MASTER_MODE:
+ case TAS5754M_PLL_REF:
+ case TAS5754M_DAC_REF:
+ case TAS5754M_GPIO_PLLIN:
+ case TAS5754M_SYNCHRONIZE:
+ case TAS5754M_PLL_COEFF_P:
+ case TAS5754M_PLL_COEFF_J:
+ case TAS5754M_PLL_COEFF_DH:
+ case TAS5754M_PLL_COEFF_DL:
+ case TAS5754M_PLL_COEFF_R:
+ case TAS5754M_DSP_CLKDIV:
+ case TAS5754M_DAC_CLKDIV:
+ case TAS5754M_NCP_CLKDIV:
+ case TAS5754M_OSR_CLKDIV:
+ case TAS5754M_MASTER_SCLKDIV:
+ case TAS5754M_MASTER_LRCLKDIV:
+ case TAS5754M_FS_SPEED_MODE:
+ case TAS5754M_IDAC_1:
+ case TAS5754M_IDAC_2:
+ case TAS5754M_ERROR_DETECT:
+ case TAS5754M_I2S_1:
+ case TAS5754M_I2S_2:
+ case TAS5754M_DAC_ROUTING:
+ case TAS5754M_DSP_PROGRAM:
+ case TAS5754M_CLKDET:
+ case TAS5754M_AUTO_MUTE:
+ case TAS5754M_DIGITAL_VOLUME_1:
+ case TAS5754M_DIGITAL_VOLUME_2:
+ case TAS5754M_DIGITAL_VOLUME_3:
+ case TAS5754M_DIGITAL_MUTE_1:
+ case TAS5754M_DIGITAL_MUTE_2:
+ case TAS5754M_DIGITAL_MUTE_3:
+ case TAS5754M_GPIO_OUTPUT_0:
+ case TAS5754M_GPIO_OUTPUT_1:
+ case TAS5754M_GPIO_OUTPUT_2:
+ case TAS5754M_GPIO_CONTROL_1:
+ case TAS5754M_GPIO_CONTROL_2:
+ case TAS5754M_OVERFLOW:
+ case TAS5754M_RATE_DET_1:
+ case TAS5754M_RATE_DET_2:
+ case TAS5754M_RATE_DET_3:
+ case TAS5754M_RATE_DET_4:
+ case TAS5754M_CLOCK_STATUS:
+ case TAS5754M_ANALOG_MUTE_DET:
+ case TAS5754M_GPIN:
+ case TAS5754M_DIGITAL_MUTE_DET:
+ case TAS5754M_OUTPUT_AMPLITUDE:
+ case TAS5754M_ANALOG_GAIN_CTRL:
+ case TAS5754M_UNDERVOLTAGE_PROT:
+ case TAS5754M_ANALOG_MUTE_CTRL:
+ case TAS5754M_ANALOG_GAIN_BOOST:
+ case TAS5754M_VCOM_CTRL_1:
+ case TAS5754M_VCOM_CTRL_2:
+ case TAS5754M_CRAM_CTRL:
+ case TAS5754M_FLEX_A:
+ case TAS5754M_FLEX_B:
+ return true;
+ default:
+ return reg < 0x7f;
+ }
+}
+
+static bool tas5754m_volatile(struct device *dev, unsigned int reg)
+{
+ switch (reg) {
+ case TAS5754M_PLL_EN:
+ case TAS5754M_OVERFLOW:
+ case TAS5754M_RATE_DET_1:
+ case TAS5754M_RATE_DET_2:
+ case TAS5754M_RATE_DET_3:
+ case TAS5754M_RATE_DET_4:
+ case TAS5754M_CLOCK_STATUS:
+ case TAS5754M_ANALOG_MUTE_DET:
+ case TAS5754M_GPIN:
+ case TAS5754M_DIGITAL_MUTE_DET:
+ case TAS5754M_CRAM_CTRL:
+ return true;
+ default:
+ return reg < 0x7f;
+ }
+}
+
+struct tas5754m_priv {
+ struct regmap *regmap;
+ struct clk *sclk;
+ int sample_len;
+ int fmt;
+ int mode;
+};
+
+static const struct regmap_range_cfg tas5754m_range = {
+ .name = "Pages",
+ .range_min = TAS5754M_VIRT_BASE,
+ .range_max = TAS5754M_MAX_REGISTER,
+ .selector_reg = TAS5754M_PAGE,
+ .selector_mask = 0x7f,
+ .window_start = 0,
+ .window_len = 128,
+};
+
+const struct regmap_config tas5754m_regmap = {
+ .reg_bits = 8,
+ .val_bits = 8,
+
+ .ranges = &tas5754m_range,
+ .num_ranges = 1,
+ .max_register = TAS5754M_MAX_REGISTER,
+
+ .reg_defaults = tas5754m_reg_defaults,
+ .num_reg_defaults = ARRAY_SIZE(tas5754m_reg_defaults),
+ .readable_reg = tas5754m_readable,
+ .volatile_reg = tas5754m_volatile,
+
+ .cache_type = REGCACHE_RBTREE,
+};
+
+static const DECLARE_TLV_DB_SCALE(digital_tlv, -10350, 50, 1);
+static const DECLARE_TLV_DB_SCALE(analog_tlv, -600, 600, 0);
+static const DECLARE_TLV_DB_SCALE(boost_tlv, 0, 80, 0);
+
+static const struct snd_kcontrol_new tas5754m_controls[] = {
+SOC_DOUBLE_R_TLV("Digital Playback Volume", TAS5754M_DIGITAL_VOLUME_2,
+ TAS5754M_DIGITAL_VOLUME_3, 0, 255, 1, digital_tlv),
+SOC_DOUBLE_TLV("Analog Playback Volume", TAS5754M_ANALOG_GAIN_CTRL,
+ TAS5754M_LAGN_SHIFT, TAS5754M_RAGN_SHIFT, 1, 1, analog_tlv),
+SOC_DOUBLE_TLV("Analogue Playback Boost Volume", TAS5754M_ANALOG_GAIN_BOOST,
+ TAS5754M_AGBL_SHIFT, TAS5754M_AGBR_SHIFT, 1, 0, boost_tlv),
+};
+
+static int tas5754m_set_bias_level(struct snd_soc_component *component,
+ enum snd_soc_bias_level level)
+{
+ struct tas5754m_priv *tas5754m =
+ snd_soc_component_get_drvdata(component);
+ int ret;
+
+ switch (level) {
+ case SND_SOC_BIAS_ON:
+ case SND_SOC_BIAS_PREPARE:
+ break;
+
+ case SND_SOC_BIAS_STANDBY:
+ ret = regmap_update_bits(tas5754m->regmap,
+ TAS5754M_POWER, TAS5754M_RQST, 0);
+ if (ret != 0) {
+ dev_err(component->dev,
+ "Failed to remove standby: %d\n", ret);
+ return ret;
+ }
+ break;
+
+ case SND_SOC_BIAS_OFF:
+ ret = regmap_update_bits(tas5754m->regmap,
+ TAS5754M_POWER, TAS5754M_RQST, TAS5754M_RQST);
+ if (ret != 0) {
+ dev_err(component->dev,
+ "Failed to request standby: %d\n", ret);
+ return ret;
+ }
+ break;
+ }
+
+ return 0;
+}
+
+int tas5754m_set_clock_tree_master(struct snd_soc_dai *dai,
+ struct snd_pcm_hw_params *params)
+{
+ struct snd_soc_component *component = dai->component;
+ struct tas5754m_priv *tas5754m =
+ snd_soc_component_get_drvdata(component);
+ static const struct reg_sequence pll_settings[] = {
+ { TAS5754M_PLL_COEFF_P, 0x01 }, // P=2
+ { TAS5754M_PLL_COEFF_J, 0x08 }, // J=8
+ { TAS5754M_PLL_COEFF_DL, 0x00 }, // D12-8 = 0
+ { TAS5754M_PLL_COEFF_DH, 0x00 }, // D7-0 = 0
+ { TAS5754M_PLL_COEFF_R, 0x00 }, // R=1
+ };
+ int ret;
+
+ /* disable PLL before any clock tree change */
+ ret = regmap_update_bits(tas5754m->regmap, TAS5754M_PLL_EN,
+ TAS5754M_PLLE, 0);
+ if (ret != 0) {
+ dev_err(component->dev, "Failed to disable PLL: %d\n", ret);
+ return ret;
+ }
+
+ /* set DAC clock source to MCLK */
+ ret = regmap_write(tas5754m->regmap, TAS5754M_DAC_REF, 0x30);
+ if (ret != 0) {
+ dev_err(component->dev, "Failed to set DAC ref\n");
+ return ret;
+ }
+
+ /* run PLL at fixed ratio to MCLK */
+ ret = regmap_multi_reg_write(tas5754m->regmap, pll_settings,
+ ARRAY_SIZE(pll_settings));
+ if (ret != 0) {
+ dev_err(component->dev, "Failed to set PLL ratio\n");
+ return ret;
+ }
+
+ /* set DSP divider to 2 => reg 0x01 */
+ ret = regmap_write(tas5754m->regmap, TAS5754M_DSP_CLKDIV, 1);
+ if (ret != 0) {
+ dev_err(component->dev, "Failed to set DSP divider\n");
+ return ret;
+ }
+ /* set DAC divider to 4 => reg 0x03*/
+ ret = regmap_write(tas5754m->regmap, TAS5754M_DAC_CLKDIV, 3);
+ if (ret != 0) {
+ dev_err(component->dev, "Failed to set OSDACR divider\n");
+ return ret;
+ }
+ /* set OSR divider to 1 */
+ ret = regmap_write(tas5754m->regmap, TAS5754M_OSR_CLKDIV, 0);
+ if (ret != 0) {
+ dev_err(component->dev, "Failed to set OSR divider\n");
+ return ret;
+ }
+ /* set CP divider to 4 => reg 0x03*/
+ ret = regmap_write(tas5754m->regmap, TAS5754M_NCP_CLKDIV, 3);
+ if (ret != 0) {
+ dev_err(component->dev, "Failed to set CP divider\n");
+ return ret;
+ }
+ /* finally enable PLL */
+ ret = regmap_update_bits(tas5754m->regmap, TAS5754M_PLL_EN,
+ TAS5754M_PLLE, 1);
+ if (ret != 0) {
+ dev_err(component->dev, "Failed to enable PLL: %d\n", ret);
+ return ret;
+ }
+
+ return 0;
+}
+
+int tas5754m_set_dai_mode(struct snd_soc_dai *dai)
+{
+ struct snd_soc_component *component = dai->component;
+ struct tas5754m_priv *tas5754m =
+ snd_soc_component_get_drvdata(component);
+ int fmt = tas5754m->fmt;
+
+ /* only I2S MASTER mode implemented */
+ if (((fmt & SND_SOC_DAIFMT_FORMAT_MASK) != SND_SOC_DAIFMT_I2S)) {
+ dev_err(component->dev,
+ "DAI format not supported (I2S master only)\n");
+ return -EINVAL;
+ }
+ /* TAS5754/6m do not support inverted clocks in MASTER mode */
+ if (((fmt & SND_SOC_DAIFMT_CLOCK_MASK) != SND_SOC_DAIFMT_NB_NF)) {
+ dev_err(component->dev, "Inverted clocks not supported\n");
+ return -EINVAL;
+ }
+
+ switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
+ case SND_SOC_DAIFMT_CBM_CFM:
+ regmap_update_bits(tas5754m->regmap,
+ TAS5754M_BCLK_LRCLK_CFG,
+ TAS5754M_LRKO | TAS5754M_BCKO,
+ TAS5754M_LRKO | TAS5754M_BCKO);
+ /* reset CLK dividers */
+ regmap_update_bits(tas5754m->regmap,
+ TAS5754M_MASTER_MODE,
+ 0x00,
+ TAS5754M_RLRK | TAS5754M_RBCK);
+ /* ignore all clock error detection but MCLK */
+ regmap_update_bits(tas5754m->regmap,
+ TAS5754M_ERROR_DETECT,
+ TAS5754M_IPLK | TAS5754M_DCAS |
+ TAS5754M_IDCM | TAS5754M_IDSK |
+ TAS5754M_IDBK | TAS5754M_IDFS,
+ TAS5754M_IPLK | TAS5754M_DCAS |
+ TAS5754M_IDCM | TAS5754M_IDSK |
+ TAS5754M_IDBK | TAS5754M_IDFS);
+ break;
+ case SND_SOC_DAIFMT_CBS_CFS:
+ case SND_SOC_DAIFMT_CBM_CFS:
+ default:
+ return -EINVAL;
+ }
+
+ return 0;
+}
+
+int tas5754m_set_dividers_master(struct snd_soc_dai *dai,
+ struct snd_pcm_hw_params *params)
+{
+ struct snd_soc_component *component = dai->component;
+ struct tas5754m_priv *tas5754m =
+ snd_soc_component_get_drvdata(component);
+ unsigned long bclk;
+ unsigned long mclk;
+ int bclk_div;
+ int lrclk_div;
+ int osr;
+ int ret;
+
+ mclk = clk_get_rate(tas5754m->sclk);
+ bclk = tas5754m->sample_len * 2 * params_rate(params);
+ bclk_div = mclk / bclk;
+ lrclk_div = tas5754m->sample_len * 2;
+ osr = mclk / 4 / params_rate(params) / 16;
+
+ // stop LR / SCLK clocks
+ ret = regmap_update_bits(tas5754m->regmap,
+ TAS5754M_MASTER_MODE,
+ !TAS5754M_RLRK | !TAS5754M_RBCK,
+ TAS5754M_RLRK | TAS5754M_RBCK);
+ if (ret != 0) {
+ dev_err(component->dev, "Failed to stop PLL\n");
+ return ret;
+ }
+
+ // set SCLK divider
+ ret = regmap_write(tas5754m->regmap, TAS5754M_MASTER_SCLKDIV,
+ bclk_div - 1);
+ if (ret != 0) {
+ dev_err(component->dev, "Failed to set SCLK divider\n");
+ return ret;
+ }
+
+ // set LRCLK divider
+ ret = regmap_write(tas5754m->regmap, TAS5754M_MASTER_LRCLKDIV,
+ lrclk_div - 1);
+ if (ret != 0) {
+ dev_err(component->dev, "Failed to set LRCLK divider\n");
+ return ret;
+ }
+
+ ret = regmap_write(tas5754m->regmap,
+ TAS5754M_OSR_CLKDIV, osr - 1);
+ if (ret != 0) {
+ dev_err(component->dev, "Failed to set OSR divider\n");
+ return ret;
+ }
+
+ // restart LR / SCLK clocks
+ ret = regmap_update_bits(tas5754m->regmap,
+ TAS5754M_MASTER_MODE,
+ TAS5754M_RLRK | TAS5754M_RBCK,
+ TAS5754M_RLRK | TAS5754M_RBCK);
+ if (ret != 0) {
+ dev_err(component->dev, "Failed to restart PLL\n");
+ return ret;
+ }
+
+ return 0;
+}
+
+static int tas5754m_hw_params(struct snd_pcm_substream *substream,
+ struct snd_pcm_hw_params *params,
+ struct snd_soc_dai *dai)
+{
+ struct snd_soc_component *component = dai->component;
+ struct tas5754m_priv *tas5754m =
+ snd_soc_component_get_drvdata(component);
+ int alen;
+ int ret;
+
+ switch (params_width(params)) {
+ case 16:
+ tas5754m->sample_len = 16;
+ alen = TAS5754M_ALEN_16;
+ break;
+ case 20:
+ tas5754m->sample_len = 32;
+ alen = TAS5754M_ALEN_20;
+ break;
+ case 24:
+ tas5754m->sample_len = 32;
+ alen = TAS5754M_ALEN_24;
+ break;
+ case 32:
+ tas5754m->sample_len = 32;
+ alen = TAS5754M_ALEN_32;
+ break;
+ default:
+ dev_err(component->dev, "Unsupported sample size: %d\n",
+ params_width(params));
+ return -EINVAL;
+ }
+ ret = regmap_update_bits(tas5754m->regmap, TAS5754M_I2S_1, alen, alen);
+ if (ret != 0) {
+ dev_err(component->dev,
+ "Cannot set sample size: %d\n", ret);
+ return ret;
+ }
+
+ ret = tas5754m_set_dai_mode(dai);
+ if (ret != 0) {
+ dev_err(component->dev,
+ "DAI mode not supported: %d\n", ret);
+ return ret;
+ }
+
+ ret = tas5754m_set_clock_tree_master(dai, params);
+ if (ret != 0)
+ return ret;
+
+ switch (params_rate(params)) {
+ case 44100:
+ case 48000:
+ ret = regmap_write(tas5754m->regmap,
+ TAS5754M_FS_SPEED_MODE, TAS5754M_FSSP_48KHZ);
+ break;
+ case 88200:
+ case 96000:
+ ret = regmap_write(tas5754m->regmap,
+ TAS5754M_FS_SPEED_MODE, TAS5754M_FSSP_96KHZ);
+ break;
+ case 176400:
+ case 192000:
+ ret = regmap_write(tas5754m->regmap,
+ TAS5754M_FS_SPEED_MODE, TAS5754M_FSSP_192KHZ);
+ break;
+ default:
+ dev_err(component->dev, "Sample rate not supported: %d\n",
+ params_rate(params));
+ return -EINVAL;
+ }
+ if (ret != 0) {
+ dev_err(component->dev, "Failed to config PLL\n");
+ return ret;
+ }
+
+ ret = tas5754m_set_dividers_master(dai, params);
+ if (ret != 0)
+ return ret;
+
+ return 0;
+}
+
+static int tas5754m_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
+{
+ struct snd_soc_component *component = dai->component;
+ struct tas5754m_priv *tas5754m =
+ snd_soc_component_get_drvdata(component);
+
+ tas5754m->fmt = fmt;
+
+ return 0;
+}
+
+
+static const struct snd_soc_component_driver tas5754m_soc_component = {
+ .set_bias_level = tas5754m_set_bias_level,
+ .idle_bias_on = true,
+ .controls = tas5754m_controls,
+ .num_controls = ARRAY_SIZE(tas5754m_controls),
+};
+
+static int tas5754m_mute(struct snd_soc_dai *dai, int mute, int stream)
+{
+ struct snd_soc_component *component = dai->component;
+
+ if (mute) {
+ snd_soc_component_write(component, TAS5754M_MUTE, 0x11);
+ } else {
+ /* wait for stable operation before unmute */
+ usleep_range(1000, 2000);
+ snd_soc_component_write(component, TAS5754M_MUTE, 0x00);
+ }
+ return 0;
+}
+
+static const struct snd_soc_dai_ops tas5754m_dai_ops = {
+ .mute_stream = tas5754m_mute,
+ .hw_params = tas5754m_hw_params,
+ .set_fmt = tas5754m_set_fmt,
+};
+
+static struct snd_soc_dai_driver tas5754m_dai = {
+ .name = "tas5754m-amplifier",
+ .playback = {
+ .stream_name = "Playback",
+ .channels_min = 2,
+ .channels_max = 2,
+ .rates = TAS5754M_RATES,
+ .formats = TAS5754M_FORMATS,
+ },
+ .ops = &tas5754m_dai_ops,
+};
+
+static int tas5754m_probe(struct device *dev, struct regmap *regmap)
+{
+ struct tas5754m_priv *tas5754m;
+ int ret;
+
+ tas5754m = devm_kzalloc(dev, sizeof(struct tas5754m_priv), GFP_KERNEL);
+ if (!tas5754m)
+ return -ENOMEM;
+
+ dev_set_drvdata(dev, tas5754m);
+ tas5754m->regmap = regmap;
+
+ regmap_write(regmap, TAS5754M_RESET, TAS5754M_RSTR | TAS5754M_RSTM);
+
+ if (ret != 0) {
+ dev_err(dev, "Failed to initialize TAS5754M: %d\n", ret);
+ goto err;
+ }
+
+ tas5754m->sclk = devm_clk_get(dev, NULL);
+ if (PTR_ERR(tas5754m->sclk) == -EPROBE_DEFER) {
+ ret = -EPROBE_DEFER;
+ goto err;
+ }
+ if (!IS_ERR(tas5754m->sclk)) {
+ ret = clk_prepare_enable(tas5754m->sclk);
+ if (ret != 0) {
+ dev_err(dev, "Failed to enable SCLK: %d\n", ret);
+ goto err;
+ }
+ }
+
+ ret = devm_snd_soc_register_component(dev,
+ &tas5754m_soc_component, &tas5754m_dai, 1);
+ if (ret != 0) {
+ dev_err(dev, "Failed to register CODEC: %d\n", ret);
+ goto err;
+ }
+
+ return 0;
+
+err:
+ return ret;
+
+}
+
+static int tas5754m_i2c_probe(struct i2c_client *i2c, const struct i2c_device_id *id)
+{
+ struct regmap *regmap;
+ struct regmap_config config = tas5754m_regmap;
+
+ /* enable auto-increment mode */
+ config.read_flag_mask = 0x80;
+ config.write_flag_mask = 0x80;
+
+ regmap = devm_regmap_init_i2c(i2c, &config);
+ if (IS_ERR(regmap))
+ return PTR_ERR(regmap);
+
+ return tas5754m_probe(&i2c->dev, regmap);
+}
+
+static int tas5754m_remove(struct device *dev)
+{
+ snd_soc_unregister_component(dev);
+
+ return 0;
+}
+
+static int tas5754m_i2c_remove(struct i2c_client *i2c)
+{
+ tas5754m_remove(&i2c->dev);
+
+ return 0;
+}
+
+static const struct i2c_device_id tas5754m_i2c_id[] = {
+ { "tas5754m", },
+ { "tas5756m", },
+ { }
+};
+MODULE_DEVICE_TABLE(i2c, tas5754m_i2c_id);
+
+#ifdef CONFIG_OF
+static const struct of_device_id tas5754m_of_match[] = {
+ { .compatible = "ti,tas5754m", },
+ { .compatible = "ti,tas5756m", },
+ { }
+};
+MODULE_DEVICE_TABLE(of, tas5754m_of_match);
+#endif
+
+static struct i2c_driver tas5754m_i2c_driver = {
+ .probe = tas5754m_i2c_probe,
+ .remove = tas5754m_i2c_remove,
+ .id_table = tas5754m_i2c_id,
+ .driver = {
+ .name = "tas5754m",
+ .of_match_table = of_match_ptr(tas5754m_of_match),
+ },
+};
+
+module_i2c_driver(tas5754m_i2c_driver);
+
+MODULE_AUTHOR("Joerg Schambacher <joerg(a)hifiberry.com>");
+MODULE_DESCRIPTION("TAS5754M Audio Amplifier Driver - Master mode only");
+MODULE_LICENSE("GPL");
diff --git a/sound/soc/codecs/tas5754m.h b/sound/soc/codecs/tas5754m.h
new file mode 100644
index 000000000000..c6e26dba169f
--- /dev/null
+++ b/sound/soc/codecs/tas5754m.h
@@ -0,0 +1,260 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Driver for the TAS575xM DAC+amplifier combo devices
+ *
+ * Author: (copied from pcm512x.h)
+ * Mark Brown <broonie(a)kernel.org>
+ * Copyright 2014 Linaro Ltd
+ *
+ * Register names adapted and non available
+ * register definitions removed according
+ + to TAS5754M specification
+ * Joerg Schambacher <joerg(a)hifiberry.com>
+ */
+
+#ifndef _SND_SOC_TAS5754M
+#define _SND_SOC_TAS5754M
+
+#include <linux/pm.h>
+#include <linux/regmap.h>
+
+#define TAS5754M_VIRT_BASE 0x000
+#define TAS5754M_PAGE_LEN 0x80
+#define TAS5754M_PAGE_BASE(n) (TAS5754M_VIRT_BASE + (TAS5754M_PAGE_LEN * n))
+
+#define TAS5754M_PAGE 0
+
+#define TAS5754M_RESET (TAS5754M_PAGE_BASE(0) + 1)
+#define TAS5754M_POWER (TAS5754M_PAGE_BASE(0) + 2)
+#define TAS5754M_MUTE (TAS5754M_PAGE_BASE(0) + 3)
+#define TAS5754M_PLL_EN (TAS5754M_PAGE_BASE(0) + 4)
+#define TAS5754M_DSP (TAS5754M_PAGE_BASE(0) + 7)
+#define TAS5754M_GPIO_EN (TAS5754M_PAGE_BASE(0) + 8)
+#define TAS5754M_BCLK_LRCLK_CFG (TAS5754M_PAGE_BASE(0) + 9)
+#define TAS5754M_DSP_GPIO_INPUT (TAS5754M_PAGE_BASE(0) + 10)
+#define TAS5754M_MASTER_MODE (TAS5754M_PAGE_BASE(0) + 12)
+#define TAS5754M_PLL_REF (TAS5754M_PAGE_BASE(0) + 13)
+#define TAS5754M_DAC_REF (TAS5754M_PAGE_BASE(0) + 14)
+#define TAS5754M_GPIO_PLLIN (TAS5754M_PAGE_BASE(0) + 18)
+#define TAS5754M_SYNCHRONIZE (TAS5754M_PAGE_BASE(0) + 19)
+#define TAS5754M_PLL_COEFF_P (TAS5754M_PAGE_BASE(0) + 20)
+#define TAS5754M_PLL_COEFF_J (TAS5754M_PAGE_BASE(0) + 21)
+#define TAS5754M_PLL_COEFF_DH (TAS5754M_PAGE_BASE(0) + 22)
+#define TAS5754M_PLL_COEFF_DL (TAS5754M_PAGE_BASE(0) + 23)
+#define TAS5754M_PLL_COEFF_R (TAS5754M_PAGE_BASE(0) + 24)
+#define TAS5754M_DSP_CLKDIV (TAS5754M_PAGE_BASE(0) + 27)
+#define TAS5754M_DAC_CLKDIV (TAS5754M_PAGE_BASE(0) + 28)
+#define TAS5754M_NCP_CLKDIV (TAS5754M_PAGE_BASE(0) + 29)
+#define TAS5754M_OSR_CLKDIV (TAS5754M_PAGE_BASE(0) + 30)
+#define TAS5754M_MASTER_SCLKDIV (TAS5754M_PAGE_BASE(0) + 32)
+#define TAS5754M_MASTER_LRCLKDIV (TAS5754M_PAGE_BASE(0) + 33)
+#define TAS5754M_FS_SPEED_MODE (TAS5754M_PAGE_BASE(0) + 34)
+#define TAS5754M_IDAC_1 (TAS5754M_PAGE_BASE(0) + 35)
+#define TAS5754M_IDAC_2 (TAS5754M_PAGE_BASE(0) + 36)
+#define TAS5754M_ERROR_DETECT (TAS5754M_PAGE_BASE(0) + 37)
+#define TAS5754M_I2S_1 (TAS5754M_PAGE_BASE(0) + 40)
+#define TAS5754M_I2S_2 (TAS5754M_PAGE_BASE(0) + 41)
+#define TAS5754M_DAC_ROUTING (TAS5754M_PAGE_BASE(0) + 42)
+#define TAS5754M_DSP_PROGRAM (TAS5754M_PAGE_BASE(0) + 43)
+#define TAS5754M_CLKDET (TAS5754M_PAGE_BASE(0) + 44)
+#define TAS5754M_AUTO_MUTE (TAS5754M_PAGE_BASE(0) + 59)
+#define TAS5754M_DIGITAL_VOLUME_1 (TAS5754M_PAGE_BASE(0) + 60)
+#define TAS5754M_DIGITAL_VOLUME_2 (TAS5754M_PAGE_BASE(0) + 61)
+#define TAS5754M_DIGITAL_VOLUME_3 (TAS5754M_PAGE_BASE(0) + 62)
+#define TAS5754M_DIGITAL_MUTE_1 (TAS5754M_PAGE_BASE(0) + 63)
+#define TAS5754M_DIGITAL_MUTE_2 (TAS5754M_PAGE_BASE(0) + 64)
+#define TAS5754M_DIGITAL_MUTE_3 (TAS5754M_PAGE_BASE(0) + 65)
+#define TAS5754M_GPIO_OUTPUT_1 (TAS5754M_PAGE_BASE(0) + 82)
+#define TAS5754M_GPIO_OUTPUT_0 (TAS5754M_PAGE_BASE(0) + 83)
+#define TAS5754M_GPIO_OUTPUT_2 (TAS5754M_PAGE_BASE(0) + 85)
+#define TAS5754M_GPIO_CONTROL_1 (TAS5754M_PAGE_BASE(0) + 86)
+#define TAS5754M_GPIO_CONTROL_2 (TAS5754M_PAGE_BASE(0) + 87)
+#define TAS5754M_OVERFLOW (TAS5754M_PAGE_BASE(0) + 90)
+#define TAS5754M_RATE_DET_1 (TAS5754M_PAGE_BASE(0) + 91)
+#define TAS5754M_RATE_DET_2 (TAS5754M_PAGE_BASE(0) + 92)
+#define TAS5754M_RATE_DET_3 (TAS5754M_PAGE_BASE(0) + 93)
+#define TAS5754M_RATE_DET_4 (TAS5754M_PAGE_BASE(0) + 94)
+#define TAS5754M_CLOCK_STATUS (TAS5754M_PAGE_BASE(0) + 95)
+#define TAS5754M_ANALOG_MUTE_DET (TAS5754M_PAGE_BASE(0) + 108)
+#define TAS5754M_FS_MODE_MON (TAS5754M_PAGE_BASE(0) + 115)
+#define TAS5754M_GPIN (TAS5754M_PAGE_BASE(0) + 119)
+#define TAS5754M_DIGITAL_MUTE_DET (TAS5754M_PAGE_BASE(0) + 120)
+
+#define TAS5754M_OUTPUT_AMPLITUDE (TAS5754M_PAGE_BASE(1) + 1)
+#define TAS5754M_ANALOG_GAIN_CTRL (TAS5754M_PAGE_BASE(1) + 2)
+#define TAS5754M_UNDERVOLTAGE_PROT (TAS5754M_PAGE_BASE(1) + 5)
+#define TAS5754M_ANALOG_MUTE_CTRL (TAS5754M_PAGE_BASE(1) + 6)
+#define TAS5754M_ANALOG_GAIN_BOOST (TAS5754M_PAGE_BASE(1) + 7)
+#define TAS5754M_VCOM_CTRL_1 (TAS5754M_PAGE_BASE(1) + 8)
+#define TAS5754M_VCOM_CTRL_2 (TAS5754M_PAGE_BASE(1) + 9)
+
+#define TAS5754M_CRAM_CTRL (TAS5754M_PAGE_BASE(44) + 1)
+
+#define TAS5754M_FLEX_A (TAS5754M_PAGE_BASE(253) + 63)
+#define TAS5754M_FLEX_B (TAS5754M_PAGE_BASE(253) + 64)
+
+#define TAS5754M_MAX_REGISTER (TAS5754M_PAGE_BASE(253) + 64)
+
+/* Page 0, Register 1 - reset */
+#define TAS5754M_RSTR (1 << 0)
+#define TAS5754M_RSTM (1 << 4)
+
+/* Page 0, Register 2 - power */
+#define TAS5754M_RQPD (1 << 0)
+#define TAS5754M_RQPD_SHIFT 0
+#define TAS5754M_RQST (1 << 4)
+#define TAS5754M_RQST_SHIFT 4
+
+/* Page 0, Register 3 - mute */
+#define TAS5754M_RQMR (1 << 0)
+#define TAS5754M_RQMR_SHIFT 0
+#define TAS5754M_RQML (1 << 4)
+#define TAS5754M_RQML_SHIFT 4
+
+/* Page 0, Register 4 - PLL */
+#define TAS5754M_PLLE (1 << 0)
+#define TAS5754M_PLLE_SHIFT 0
+#define TAS5754M_PLCK (1 << 4)
+#define TAS5754M_PLCK_SHIFT 4
+
+/* Page 0, Register 7 - DSP */
+#define TAS5754M_SDSL (1 << 0)
+#define TAS5754M_SDSL_SHIFT 0
+#define TAS5754M_DEMP (1 << 4)
+#define TAS5754M_DEMP_SHIFT 4
+
+/* Page 0, Register 8 - GPIO output enable */
+#define TAS5754M_G1OE (1 << 0)
+#define TAS5754M_G2OE (1 << 1)
+#define TAS5754M_G3OE (1 << 2)
+#define TAS5754M_G4OE (1 << 3)
+#define TAS5754M_G5OE (1 << 4)
+#define TAS5754M_G6OE (1 << 5)
+
+/* Page 0, Register 9 - BCK, LRCLK configuration */
+#define TAS5754M_LRKO (1 << 0)
+#define TAS5754M_LRKO_SHIFT 0
+#define TAS5754M_BCKO (1 << 4)
+#define TAS5754M_BCKO_SHIFT 4
+#define TAS5754M_BCKP (1 << 5)
+#define TAS5754M_BCKP_SHIFT 5
+
+/* Page 0, Register 12 - Master mode BCK, LRCLK reset */
+#define TAS5754M_RLRK (1 << 0)
+#define TAS5754M_RLRK_SHIFT 0
+#define TAS5754M_RBCK (1 << 1)
+#define TAS5754M_RBCK_SHIFT 1
+
+/* Page 0, Register 13 - PLL reference */
+#define TAS5754M_SREF (7 << 4)
+#define TAS5754M_SREF_SHIFT 4
+#define TAS5754M_SREF_SCK (0 << 4)
+#define TAS5754M_SREF_BCK (1 << 4)
+#define TAS5754M_SREF_GPIO (3 << 4)
+
+/* Page 0, Register 14 - DAC reference */
+#define TAS5754M_SDAC (7 << 4)
+#define TAS5754M_SDAC_SHIFT 4
+#define TAS5754M_SDAC_MCK (0 << 4)
+#define TAS5754M_SDAC_PLL (1 << 4)
+#define TAS5754M_SDAC_SCK (3 << 4)
+#define TAS5754M_SDAC_BCK (4 << 4)
+#define TAS5754M_SDAC_GPIO (5 << 4)
+
+/* Page 0, Register 16, 18 - GPIO source for DAC, PLL */
+#define TAS5754M_GREF (7 << 0)
+#define TAS5754M_GREF_SHIFT 0
+#define TAS5754M_GREF_GPIO1 (0 << 0)
+#define TAS5754M_GREF_GPIO2 (1 << 0)
+#define TAS5754M_GREF_GPIO3 (2 << 0)
+#define TAS5754M_GREF_GPIO4 (3 << 0)
+#define TAS5754M_GREF_GPIO5 (4 << 0)
+#define TAS5754M_GREF_GPIO6 (5 << 0)
+
+/* Page 0, Register 19 - synchronize */
+#define TAS5754M_RQSY (1 << 0)
+#define TAS5754M_RQSY_RESUME (0 << 0)
+#define TAS5754M_RQSY_HALT (1 << 0)
+
+/* Page 0, Register 34 - fs speed mode */
+#define TAS5754M_FSSP (3 << 0)
+#define TAS5754M_FSSP_SHIFT 0
+#define TAS5754M_FSSP_48KHZ (0 << 0)
+#define TAS5754M_FSSP_96KHZ (1 << 0)
+#define TAS5754M_FSSP_192KHZ (2 << 0)
+#define TAS5754M_FSSP_384KHZ (3 << 0)
+
+/* Page 0, Register 37 - Error detection */
+#define TAS5754M_IPLK (1 << 0)
+#define TAS5754M_DCAS (1 << 1)
+#define TAS5754M_IDCM (1 << 2)
+#define TAS5754M_IDCH (1 << 3)
+#define TAS5754M_IDSK (1 << 4)
+#define TAS5754M_IDBK (1 << 5)
+#define TAS5754M_IDFS (1 << 6)
+
+/* Page 0, Register 40 - I2S configuration */
+#define TAS5754M_ALEN (3 << 0)
+#define TAS5754M_ALEN_SHIFT 0
+#define TAS5754M_ALEN_16 (0 << 0)
+#define TAS5754M_ALEN_20 (1 << 0)
+#define TAS5754M_ALEN_24 (2 << 0)
+#define TAS5754M_ALEN_32 (3 << 0)
+#define TAS5754M_AFMT (3 << 4)
+#define TAS5754M_AFMT_SHIFT 4
+#define TAS5754M_AFMT_I2S (0 << 4)
+#define TAS5754M_AFMT_DSP (1 << 4)
+#define TAS5754M_AFMT_RTJ (2 << 4)
+#define TAS5754M_AFMT_LTJ (3 << 4)
+
+/* Page 0, Register 42 - DAC routing */
+#define TAS5754M_AUPR_SHIFT 0
+#define TAS5754M_AUPL_SHIFT 4
+
+/* Page 0, Register 59 - auto mute */
+#define TAS5754M_ATMR_SHIFT 0
+#define TAS5754M_ATML_SHIFT 4
+
+/* Page 0, Register 63 - ramp rates */
+#define TAS5754M_VNDF_SHIFT 6
+#define TAS5754M_VNDS_SHIFT 4
+#define TAS5754M_VNUF_SHIFT 2
+#define TAS5754M_VNUS_SHIFT 0
+
+/* Page 0, Register 64 - emergency ramp rates */
+#define TAS5754M_VEDF_SHIFT 6
+#define TAS5754M_VEDS_SHIFT 4
+
+/* Page 0, Register 65 - Digital mute enables */
+#define TAS5754M_ACTL_SHIFT 2
+#define TAS5754M_AMLE_SHIFT 1
+#define TAS5754M_AMRE_SHIFT 0
+
+/* Page 0, Register 80-85, GPIO output selection */
+#define TAS5754M_GxSL (31 << 0)
+#define TAS5754M_GxSL_SHIFT 0
+#define TAS5754M_GxSL_OFF (0 << 0)
+#define TAS5754M_GxSL_DSP (1 << 0)
+#define TAS5754M_GxSL_REG (2 << 0)
+#define TAS5754M_GxSL_AMUTB (3 << 0)
+#define TAS5754M_GxSL_AMUTL (4 << 0)
+#define TAS5754M_GxSL_AMUTR (5 << 0)
+#define TAS5754M_GxSL_CLKI (6 << 0)
+#define TAS5754M_GxSL_SDOUT (7 << 0)
+#define TAS5754M_GxSL_ANMUL (8 << 0)
+#define TAS5754M_GxSL_ANMUR (9 << 0)
+#define TAS5754M_GxSL_PLLLK (10 << 0)
+#define TAS5754M_GxSL_CPCLK (11 << 0)
+#define TAS5754M_GxSL_UV0_7 (14 << 0)
+#define TAS5754M_GxSL_UV0_3 (15 << 0)
+#define TAS5754M_GxSL_PLLCK (16 << 0)
+
+/* Page 1, Register 2 - analog volume control */
+#define TAS5754M_RAGN_SHIFT 0
+#define TAS5754M_LAGN_SHIFT 4
+
+/* Page 1, Register 7 - analog boost control */
+#define TAS5754M_AGBR_SHIFT 0
+#define TAS5754M_AGBL_SHIFT 4
+
+#endif
--
2.25.1
8 months
net/mctp/af_mctp.c:259:6: error: unexpected token, expected comma
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 1d1df41c5a33359a00e919d54eaebfb789711fdc
commit: 99ce45d5e7dbde399997a630f45ac9f654fa4bcc mctp: Implement extended addressing
date: 3 months ago
config: mips-randconfig-r003-20220118 (https://download.01.org/0day-ci/archive/20220119/202201192005.O7wDT8RE-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 5f782d25a742302d25ef3c8b84b54f7483c2deb9)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 99ce45d5e7dbde399997a630f45ac9f654fa4bcc
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash drivers/cxl/ mm// net/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> net/mctp/af_mctp.c:259:6: error: unexpected token, expected comma
if (get_user(len, optlen))
^
arch/mips/include/asm/uaccess.h:138:33: note: expanded from macro 'get_user'
access_ok(__p, sizeof(*__p)) ? __get_user((x), __p) : \
^
arch/mips/include/asm/uaccess.h:224:23: note: expanded from macro '__get_user'
__get_data_asm((x), user_lw, __gu_ptr); \
^
<inline asm>:3:10: note: instantiated into assembly here
.set eva
^
>> net/mctp/af_mctp.c:259:6: error: invalid operand for instruction
if (get_user(len, optlen))
^
arch/mips/include/asm/uaccess.h:138:33: note: expanded from macro 'get_user'
access_ok(__p, sizeof(*__p)) ? __get_user((x), __p) : \
^
arch/mips/include/asm/uaccess.h:224:23: note: expanded from macro '__get_user'
__get_data_asm((x), user_lw, __gu_ptr); \
^
<inline asm>:4:10: note: instantiated into assembly here
lwe $2, 0($20)
^
2 errors generated.
vim +259 net/mctp/af_mctp.c
249
250 static int mctp_getsockopt(struct socket *sock, int level, int optname,
251 char __user *optval, int __user *optlen)
252 {
253 struct mctp_sock *msk = container_of(sock->sk, struct mctp_sock, sk);
254 int len, val;
255
256 if (level != SOL_MCTP)
257 return -EINVAL;
258
> 259 if (get_user(len, optlen))
260 return -EFAULT;
261
262 if (optname == MCTP_OPT_ADDR_EXT) {
263 if (len != sizeof(int))
264 return -EINVAL;
265 val = !!msk->addr_ext;
266 if (copy_to_user(optval, &val, len))
267 return -EFAULT;
268 return 0;
269 }
270
271 return -EINVAL;
272 }
273
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
[sailus-media-tree:master 15/16] drivers/media/i2c/hi847.c:2700:35: error: incompatible pointer types passing 'struct v4l2_subdev_pad_config *' to parameter of type 'struct v4l2_subdev_state *'
by kernel test robot
tree: git://linuxtv.org/sailus/media_tree.git master
head: 232068c0bf39d2e34585450343c1439a89aad66b
commit: 009f8036169f02f87f7fd5e3152f6dcd03986a81 [15/16] media: hi847: Add support for Hi-847 sensor
config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20220114/202201141739.Q7kFIE7g-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 244dd2913a43a200f5a6544d424cdc37b771028b)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git remote add sailus-media-tree git://linuxtv.org/sailus/media_tree.git
git fetch --no-tags sailus-media-tree master
git checkout 009f8036169f02f87f7fd5e3152f6dcd03986a81
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> drivers/media/i2c/hi847.c:2700:35: error: incompatible pointer types passing 'struct v4l2_subdev_pad_config *' to parameter of type 'struct v4l2_subdev_state *' [-Werror,-Wincompatible-pointer-types]
*v4l2_subdev_get_try_format(sd, cfg, fmt->pad) = fmt->format;
^~~
include/media/v4l2-subdev.h:982:33: note: passing argument to parameter 'state' here
struct v4l2_subdev_state *state,
^
drivers/media/i2c/hi847.c:2734:57: error: incompatible pointer types passing 'struct v4l2_subdev_pad_config *' to parameter of type 'struct v4l2_subdev_state *' [-Werror,-Wincompatible-pointer-types]
fmt->format = *v4l2_subdev_get_try_format(&hi847->sd, cfg,
^~~
include/media/v4l2-subdev.h:982:33: note: passing argument to parameter 'state' here
struct v4l2_subdev_state *state,
^
>> drivers/media/i2c/hi847.c:2780:40: error: no member named 'pad' in 'struct v4l2_subdev_fh'
v4l2_subdev_get_try_format(sd, fh->pad, 0));
~~ ^
>> drivers/media/i2c/hi847.c:2791:13: error: incompatible function pointer types initializing 'int (*)(struct v4l2_subdev *, struct v4l2_subdev_state *, struct v4l2_subdev_format *)' with an expression of type 'int (struct v4l2_subdev *, struct v4l2_subdev_pad_config *, struct v4l2_subdev_format *)' [-Werror,-Wincompatible-function-pointer-types]
.set_fmt = hi847_set_format,
^~~~~~~~~~~~~~~~
drivers/media/i2c/hi847.c:2792:13: error: incompatible function pointer types initializing 'int (*)(struct v4l2_subdev *, struct v4l2_subdev_state *, struct v4l2_subdev_format *)' with an expression of type 'int (struct v4l2_subdev *, struct v4l2_subdev_pad_config *, struct v4l2_subdev_format *)' [-Werror,-Wincompatible-function-pointer-types]
.get_fmt = hi847_get_format,
^~~~~~~~~~~~~~~~
>> drivers/media/i2c/hi847.c:2793:20: error: incompatible function pointer types initializing 'int (*)(struct v4l2_subdev *, struct v4l2_subdev_state *, struct v4l2_subdev_mbus_code_enum *)' with an expression of type 'int (struct v4l2_subdev *, struct v4l2_subdev_pad_config *, struct v4l2_subdev_mbus_code_enum *)' [-Werror,-Wincompatible-function-pointer-types]
.enum_mbus_code = hi847_enum_mbus_code,
^~~~~~~~~~~~~~~~~~~~
>> drivers/media/i2c/hi847.c:2794:21: error: incompatible function pointer types initializing 'int (*)(struct v4l2_subdev *, struct v4l2_subdev_state *, struct v4l2_subdev_frame_size_enum *)' with an expression of type 'int (struct v4l2_subdev *, struct v4l2_subdev_pad_config *, struct v4l2_subdev_frame_size_enum *)' [-Werror,-Wincompatible-function-pointer-types]
.enum_frame_size = hi847_enum_frame_size,
^~~~~~~~~~~~~~~~~~~~~
>> drivers/media/i2c/hi847.c:2954:8: error: implicit declaration of function 'v4l2_async_register_subdev_sensor_common' [-Werror,-Wimplicit-function-declaration]
ret = v4l2_async_register_subdev_sensor_common(&hi847->sd);
^
drivers/media/i2c/hi847.c:2954:8: note: did you mean 'v4l2_async_register_subdev_sensor'?
include/media/v4l2-async.h:305:1: note: 'v4l2_async_register_subdev_sensor' declared here
v4l2_async_register_subdev_sensor(struct v4l2_subdev *sd);
^
8 errors generated.
vim +2700 drivers/media/i2c/hi847.c
2683
2684 static int hi847_set_format(struct v4l2_subdev *sd,
2685 struct v4l2_subdev_pad_config *cfg,
2686 struct v4l2_subdev_format *fmt)
2687 {
2688 struct hi847 *hi847 = to_hi847(sd);
2689 const struct hi847_mode *mode;
2690 s32 vblank_def, h_blank;
2691
2692 mode = v4l2_find_nearest_size(supported_modes,
2693 ARRAY_SIZE(supported_modes), width,
2694 height, fmt->format.width,
2695 fmt->format.height);
2696
2697 mutex_lock(&hi847->mutex);
2698 hi847_assign_pad_format(mode, &fmt->format);
2699 if (fmt->which == V4L2_SUBDEV_FORMAT_TRY) {
> 2700 *v4l2_subdev_get_try_format(sd, cfg, fmt->pad) = fmt->format;
2701 } else {
2702 hi847->cur_mode = mode;
2703 __v4l2_ctrl_s_ctrl(hi847->link_freq, mode->link_freq_index);
2704 __v4l2_ctrl_s_ctrl_int64(hi847->pixel_rate,
2705 to_pixel_rate(mode->link_freq_index));
2706
2707 /* Update limits and set FPS to default */
2708 vblank_def = mode->fll_def - mode->height;
2709 __v4l2_ctrl_modify_range(hi847->vblank,
2710 mode->fll_min - mode->height,
2711 HI847_FLL_MAX - mode->height, 1,
2712 vblank_def);
2713 __v4l2_ctrl_s_ctrl(hi847->vblank, vblank_def);
2714
2715 h_blank = hi847->cur_mode->llp - hi847->cur_mode->width;
2716
2717 __v4l2_ctrl_modify_range(hi847->hblank, h_blank, h_blank, 1,
2718 h_blank);
2719 }
2720
2721 mutex_unlock(&hi847->mutex);
2722
2723 return 0;
2724 }
2725
2726 static int hi847_get_format(struct v4l2_subdev *sd,
2727 struct v4l2_subdev_pad_config *cfg,
2728 struct v4l2_subdev_format *fmt)
2729 {
2730 struct hi847 *hi847 = to_hi847(sd);
2731
2732 mutex_lock(&hi847->mutex);
2733 if (fmt->which == V4L2_SUBDEV_FORMAT_TRY)
> 2734 fmt->format = *v4l2_subdev_get_try_format(&hi847->sd, cfg,
2735 fmt->pad);
2736 else
2737 hi847_assign_pad_format(hi847->cur_mode, &fmt->format);
2738
2739 mutex_unlock(&hi847->mutex);
2740
2741 return 0;
2742 }
2743
2744 static int hi847_enum_mbus_code(struct v4l2_subdev *sd,
2745 struct v4l2_subdev_pad_config *cfg,
2746 struct v4l2_subdev_mbus_code_enum *code)
2747 {
2748 if (code->index > 0)
2749 return -EINVAL;
2750
2751 code->code = MEDIA_BUS_FMT_SGRBG10_1X10;
2752
2753 return 0;
2754 }
2755
2756 static int hi847_enum_frame_size(struct v4l2_subdev *sd,
2757 struct v4l2_subdev_pad_config *cfg,
2758 struct v4l2_subdev_frame_size_enum *fse)
2759 {
2760 if (fse->index >= ARRAY_SIZE(supported_modes))
2761 return -EINVAL;
2762
2763 if (fse->code != MEDIA_BUS_FMT_SGRBG10_1X10)
2764 return -EINVAL;
2765
2766 fse->min_width = supported_modes[fse->index].width;
2767 fse->max_width = fse->min_width;
2768 fse->min_height = supported_modes[fse->index].height;
2769 fse->max_height = fse->min_height;
2770
2771 return 0;
2772 }
2773
2774 static int hi847_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
2775 {
2776 struct hi847 *hi847 = to_hi847(sd);
2777
2778 mutex_lock(&hi847->mutex);
2779 hi847_assign_pad_format(&supported_modes[0],
> 2780 v4l2_subdev_get_try_format(sd, fh->pad, 0));
2781 mutex_unlock(&hi847->mutex);
2782
2783 return 0;
2784 }
2785
2786 static const struct v4l2_subdev_video_ops hi847_video_ops = {
2787 .s_stream = hi847_set_stream,
2788 };
2789
2790 static const struct v4l2_subdev_pad_ops hi847_pad_ops = {
> 2791 .set_fmt = hi847_set_format,
> 2792 .get_fmt = hi847_get_format,
> 2793 .enum_mbus_code = hi847_enum_mbus_code,
> 2794 .enum_frame_size = hi847_enum_frame_size,
2795 };
2796
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months
dtbs_check: arch/arm/boot/dts/bcm47094-linksys-panamera.dt.yaml: mdio-mux@18003000: mdio@200:reg:0:0: 512 is greater than the maximum of 31
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 112450df61b7373529b0fe4c122ad13b89d80a8a
commit: ad31ce56c434bbd792f3ee79160cedaf20f7f238 dt-bindings: net: mdio: Allow any child node name
date: 9 days ago
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
reproduce: make ARCH=arm dtbs_check
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
dtcheck warnings: (new ones prefixed by >>)
arch/arm/boot/dts/bcm47094-linksys-panamera.dt.yaml: usb@22000: port@1: 'compatible' is a required property
From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
arch/arm/boot/dts/bcm47094-linksys-panamera.dt.yaml: usb@22000: port@2: 'compatible' is a required property
From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
arch/arm/boot/dts/bcm47094-linksys-panamera.dt.yaml: usb@22000: '#address-cells', '#size-cells', '#usb-cells', 'port@1', 'port@2' do not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
arch/arm/boot/dts/bcm47094-linksys-panamera.dt.yaml: usb@23000: port@1: 'compatible' is a required property
From schema: Documentation/devicetree/bindings/usb/generic-xhci.yaml
arch/arm/boot/dts/bcm47094-linksys-panamera.dt.yaml: usb@23000: Unevaluated properties are not allowed ('#usb-cells', 'phys', 'phy-names', '#address-cells', '#size-cells', 'port@1' were unexpected)
From schema: Documentation/devicetree/bindings/usb/generic-xhci.yaml
>> arch/arm/boot/dts/bcm47094-linksys-panamera.dt.yaml: mdio-mux@18003000: mdio@200:reg:0:0: 512 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/bcm47094-linksys-panamera.dt.yaml: mdio@200: switch@0:reset-names:0: 'phy' was expected
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/bcm47094-linksys-panamera.dt.yaml: switch@0: 'resets' is a dependency of 'reset-names'
From schema: /usr/local/lib/python3.9/dist-packages/dtschema/schemas/reset/reset.yaml
arch/arm/boot/dts/bcm47094-linksys-panamera.dt.yaml: cru@100: $nodename:0: 'cru@100' does not match '^([a-z][a-z0-9\\-]+-bus|bus|soc|axi|ahb|apb)(@[0-9a-f]+)?$'
From schema: /usr/local/lib/python3.9/dist-packages/dtschema/schemas/simple-bus.yaml
arch/arm/boot/dts/bcm47094-linksys-panamera.dt.yaml:0:0: /spi@18029200/flash@0/partitions: failed to match any schema with compatible: ['brcm,bcm947xx-cfe-partitions']
arch/arm/boot/dts/bcm47094-linksys-panamera.dt.yaml: leds: 'bluebar1', 'bluebar2', 'bluebar3', 'bluebar4', 'bluebar5', 'bluebar6', 'bluebar7', 'bluebar8', 'power', 'usb2', 'usb3', 'wps' do not match any of the regexes: '(^led-[0-9a-f]$|led)', 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/leds/leds-gpio.yaml
--
'spi_lr_session_done' was expected
'spi_lr_overread' was expected
From schema: Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
arch/arm/boot/dts/bcm958522er.dt.yaml: usb@2a000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ehci.yaml
arch/arm/boot/dts/bcm958522er.dt.yaml: usb@2b000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
arch/arm/boot/dts/bcm958522er.dt.yaml:0:0: /axi@18000000/crypto@2f000: failed to match any schema with compatible: ['brcm,spum-nsp-crypto']
arch/arm/boot/dts/bcm958522er.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958522er.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
>> arch/arm/boot/dts/bcm958522er.dt.yaml: mdio-mux@32000: mdio@200:reg:0:0: 512 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/bcm958522er.dt.yaml:0:0: /axi@18000000/pinctrl@3f1c0: failed to match any schema with compatible: ['brcm,nsp-pinmux']
arch/arm/boot/dts/bcm958522er.dt.yaml: ahci@41000: $nodename:0: 'ahci@41000' does not match '^sata(@.*)?$'
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958522er.dt.yaml: ahci@41000: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'sata-port@0', 'sata-port@1' were unexpected)
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958522er.dt.yaml: pcie@18012000: msi-controller: 'oneOf' conditional failed, one must be fixed:
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[20]]} is not of type 'boolean'
True was expected
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[20]]} is not of type 'null'
--
'spi_lr_session_done' was expected
'spi_lr_overread' was expected
From schema: Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
arch/arm/boot/dts/bcm958525er.dt.yaml: usb@2a000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ehci.yaml
arch/arm/boot/dts/bcm958525er.dt.yaml: usb@2b000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
arch/arm/boot/dts/bcm958525er.dt.yaml:0:0: /axi@18000000/crypto@2f000: failed to match any schema with compatible: ['brcm,spum-nsp-crypto']
arch/arm/boot/dts/bcm958525er.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958525er.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
>> arch/arm/boot/dts/bcm958525er.dt.yaml: mdio-mux@32000: mdio@200:reg:0:0: 512 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/bcm958525er.dt.yaml:0:0: /axi@18000000/pinctrl@3f1c0: failed to match any schema with compatible: ['brcm,nsp-pinmux']
arch/arm/boot/dts/bcm958525er.dt.yaml: ahci@41000: $nodename:0: 'ahci@41000' does not match '^sata(@.*)?$'
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958525er.dt.yaml: ahci@41000: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'sata-port@0', 'sata-port@1' were unexpected)
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958525er.dt.yaml: pcie@18012000: msi-controller: 'oneOf' conditional failed, one must be fixed:
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[20]]} is not of type 'boolean'
True was expected
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[20]]} is not of type 'null'
--
'spi_lr_session_done' was expected
'spi_lr_overread' was expected
From schema: Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
arch/arm/boot/dts/bcm958525xmc.dt.yaml: usb@2a000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ehci.yaml
arch/arm/boot/dts/bcm958525xmc.dt.yaml: usb@2b000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
arch/arm/boot/dts/bcm958525xmc.dt.yaml:0:0: /axi@18000000/crypto@2f000: failed to match any schema with compatible: ['brcm,spum-nsp-crypto']
arch/arm/boot/dts/bcm958525xmc.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958525xmc.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
>> arch/arm/boot/dts/bcm958525xmc.dt.yaml: mdio-mux@32000: mdio@200:reg:0:0: 512 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/bcm958525xmc.dt.yaml:0:0: /axi@18000000/i2c@38000/rtc@68: failed to match any schema with compatible: ['st,m41t81']
arch/arm/boot/dts/bcm958525xmc.dt.yaml:0:0: /axi@18000000/pinctrl@3f1c0: failed to match any schema with compatible: ['brcm,nsp-pinmux']
arch/arm/boot/dts/bcm958525xmc.dt.yaml: ahci@41000: $nodename:0: 'ahci@41000' does not match '^sata(@.*)?$'
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958525xmc.dt.yaml: ahci@41000: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'sata-port@0', 'sata-port@1' were unexpected)
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958525xmc.dt.yaml: pcie@18012000: msi-controller: 'oneOf' conditional failed, one must be fixed:
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[20]]} is not of type 'boolean'
True was expected
--
'spi_lr_session_done' was expected
'spi_lr_overread' was expected
From schema: Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
arch/arm/boot/dts/bcm958622hr.dt.yaml: usb@2a000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ehci.yaml
arch/arm/boot/dts/bcm958622hr.dt.yaml: usb@2b000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
arch/arm/boot/dts/bcm958622hr.dt.yaml:0:0: /axi@18000000/crypto@2f000: failed to match any schema with compatible: ['brcm,spum-nsp-crypto']
arch/arm/boot/dts/bcm958622hr.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958622hr.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
>> arch/arm/boot/dts/bcm958622hr.dt.yaml: mdio-mux@32000: mdio@200:reg:0:0: 512 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/bcm958622hr.dt.yaml:0:0: /axi@18000000/pinctrl@3f1c0: failed to match any schema with compatible: ['brcm,nsp-pinmux']
arch/arm/boot/dts/bcm958622hr.dt.yaml: ahci@41000: $nodename:0: 'ahci@41000' does not match '^sata(@.*)?$'
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958622hr.dt.yaml: ahci@41000: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'sata-port@0', 'sata-port@1' were unexpected)
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958622hr.dt.yaml: pcie@18012000: msi-controller: 'oneOf' conditional failed, one must be fixed:
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[21]]} is not of type 'boolean'
True was expected
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[21]]} is not of type 'null'
--
'spi_lr_session_done' was expected
'spi_lr_overread' was expected
From schema: Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
arch/arm/boot/dts/bcm958623hr.dt.yaml: usb@2a000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ehci.yaml
arch/arm/boot/dts/bcm958623hr.dt.yaml: usb@2b000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
arch/arm/boot/dts/bcm958623hr.dt.yaml:0:0: /axi@18000000/crypto@2f000: failed to match any schema with compatible: ['brcm,spum-nsp-crypto']
arch/arm/boot/dts/bcm958623hr.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958623hr.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
>> arch/arm/boot/dts/bcm958623hr.dt.yaml: mdio-mux@32000: mdio@200:reg:0:0: 512 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/bcm958623hr.dt.yaml:0:0: /axi@18000000/pinctrl@3f1c0: failed to match any schema with compatible: ['brcm,nsp-pinmux']
arch/arm/boot/dts/bcm958623hr.dt.yaml: ahci@41000: $nodename:0: 'ahci@41000' does not match '^sata(@.*)?$'
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958623hr.dt.yaml: ahci@41000: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'sata-port@0', 'sata-port@1' were unexpected)
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958623hr.dt.yaml: pcie@18012000: msi-controller: 'oneOf' conditional failed, one must be fixed:
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[21]]} is not of type 'boolean'
True was expected
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[21]]} is not of type 'null'
--
From schema: Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64.dt.yaml: usb@2a000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ehci.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64.dt.yaml: usb@2b000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64.dt.yaml:0:0: /axi@18000000/crypto@2f000: failed to match any schema with compatible: ['brcm,spum-nsp-crypto']
arch/arm/boot/dts/bcm958625-meraki-mx64.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958625-meraki-mx64.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958625-meraki-mx64.dt.yaml: pwm@31000: #pwm-cells:0:0: 3 was expected
From schema: Documentation/devicetree/bindings/pwm/brcm,iproc-pwm.yaml
>> arch/arm/boot/dts/bcm958625-meraki-mx64.dt.yaml: mdio-mux@32000: mdio@200:reg:0:0: 512 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64.dt.yaml:0:0: /axi@18000000/pinctrl@3f1c0: failed to match any schema with compatible: ['brcm,nsp-pinmux']
arch/arm/boot/dts/bcm958625-meraki-mx64.dt.yaml: ahci@41000: $nodename:0: 'ahci@41000' does not match '^sata(@.*)?$'
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64.dt.yaml: ahci@41000: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'sata-port@0', 'sata-port@1' were unexpected)
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64.dt.yaml: pcie@18012000: msi-controller: 'oneOf' conditional failed, one must be fixed:
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[21]]} is not of type 'boolean'
True was expected
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[21]]} is not of type 'null'
--
'spi_lr_session_aborted' was expected
'spi_lr_impatient' was expected
'spi_lr_session_done' was expected
'spi_lr_overread' was expected
From schema: Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64-a0.dt.yaml:0:0: /axi@18000000/crypto@2f000: failed to match any schema with compatible: ['brcm,spum-nsp-crypto']
arch/arm/boot/dts/bcm958625-meraki-mx64-a0.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958625-meraki-mx64-a0.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958625-meraki-mx64-a0.dt.yaml: pwm@31000: #pwm-cells:0:0: 3 was expected
From schema: Documentation/devicetree/bindings/pwm/brcm,iproc-pwm.yaml
>> arch/arm/boot/dts/bcm958625-meraki-mx64-a0.dt.yaml: mdio-mux@32000: mdio@200:reg:0:0: 512 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64-a0.dt.yaml:0:0: /axi@18000000/pinctrl@3f1c0: failed to match any schema with compatible: ['brcm,nsp-pinmux']
arch/arm/boot/dts/bcm958625-meraki-mx64-a0.dt.yaml: ahci@41000: $nodename:0: 'ahci@41000' does not match '^sata(@.*)?$'
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64-a0.dt.yaml: ahci@41000: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'sata-port@0', 'sata-port@1' were unexpected)
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64-a0.dt.yaml: pcie@18012000: msi-controller: 'oneOf' conditional failed, one must be fixed:
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[21]]} is not of type 'boolean'
True was expected
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[21]]} is not of type 'null'
--
From schema: Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64w.dt.yaml: usb@2a000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ehci.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64w.dt.yaml: usb@2b000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64w.dt.yaml:0:0: /axi@18000000/crypto@2f000: failed to match any schema with compatible: ['brcm,spum-nsp-crypto']
arch/arm/boot/dts/bcm958625-meraki-mx64w.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958625-meraki-mx64w.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958625-meraki-mx64w.dt.yaml: pwm@31000: #pwm-cells:0:0: 3 was expected
From schema: Documentation/devicetree/bindings/pwm/brcm,iproc-pwm.yaml
>> arch/arm/boot/dts/bcm958625-meraki-mx64w.dt.yaml: mdio-mux@32000: mdio@200:reg:0:0: 512 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64w.dt.yaml:0:0: /axi@18000000/pinctrl@3f1c0: failed to match any schema with compatible: ['brcm,nsp-pinmux']
arch/arm/boot/dts/bcm958625-meraki-mx64w.dt.yaml: ahci@41000: $nodename:0: 'ahci@41000' does not match '^sata(@.*)?$'
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64w.dt.yaml: ahci@41000: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'sata-port@0', 'sata-port@1' were unexpected)
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64w.dt.yaml: pcie@18012000: msi-controller: 'oneOf' conditional failed, one must be fixed:
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[21]]} is not of type 'boolean'
True was expected
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[21]]} is not of type 'null'
--
'spi_lr_session_aborted' was expected
'spi_lr_impatient' was expected
'spi_lr_session_done' was expected
'spi_lr_overread' was expected
From schema: Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64w-a0.dt.yaml:0:0: /axi@18000000/crypto@2f000: failed to match any schema with compatible: ['brcm,spum-nsp-crypto']
arch/arm/boot/dts/bcm958625-meraki-mx64w-a0.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958625-meraki-mx64w-a0.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958625-meraki-mx64w-a0.dt.yaml: pwm@31000: #pwm-cells:0:0: 3 was expected
From schema: Documentation/devicetree/bindings/pwm/brcm,iproc-pwm.yaml
>> arch/arm/boot/dts/bcm958625-meraki-mx64w-a0.dt.yaml: mdio-mux@32000: mdio@200:reg:0:0: 512 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64w-a0.dt.yaml:0:0: /axi@18000000/pinctrl@3f1c0: failed to match any schema with compatible: ['brcm,nsp-pinmux']
arch/arm/boot/dts/bcm958625-meraki-mx64w-a0.dt.yaml: ahci@41000: $nodename:0: 'ahci@41000' does not match '^sata(@.*)?$'
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64w-a0.dt.yaml: ahci@41000: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'sata-port@0', 'sata-port@1' were unexpected)
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958625-meraki-mx64w-a0.dt.yaml: pcie@18012000: msi-controller: 'oneOf' conditional failed, one must be fixed:
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[21]]} is not of type 'boolean'
True was expected
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[21]]} is not of type 'null'
--
From schema: Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65.dt.yaml: usb@2a000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ehci.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65.dt.yaml: usb@2b000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65.dt.yaml:0:0: /axi@18000000/crypto@2f000: failed to match any schema with compatible: ['brcm,spum-nsp-crypto']
arch/arm/boot/dts/bcm958625-meraki-mx65.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958625-meraki-mx65.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958625-meraki-mx65.dt.yaml: pwm@31000: #pwm-cells:0:0: 3 was expected
From schema: Documentation/devicetree/bindings/pwm/brcm,iproc-pwm.yaml
>> arch/arm/boot/dts/bcm958625-meraki-mx65.dt.yaml: mdio-mux@32000: mdio@200:reg:0:0: 512 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65.dt.yaml:0:0: /axi@18000000/pinctrl@3f1c0: failed to match any schema with compatible: ['brcm,nsp-pinmux']
arch/arm/boot/dts/bcm958625-meraki-mx65.dt.yaml: ahci@41000: $nodename:0: 'ahci@41000' does not match '^sata(@.*)?$'
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65.dt.yaml: ahci@41000: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'sata-port@0', 'sata-port@1' were unexpected)
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
>> arch/arm/boot/dts/bcm958625-meraki-mx65.dt.yaml: mdio-mux@3f1c0: mdio-mii@2000:reg:0:0: 8192 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65.dt.yaml: phy@0: '#phy-cells' is a required property
From schema: /usr/local/lib/python3.9/dist-packages/dtschema/schemas/phy/phy-provider.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65.dt.yaml: phy@1: '#phy-cells' is a required property
From schema: /usr/local/lib/python3.9/dist-packages/dtschema/schemas/phy/phy-provider.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65.dt.yaml: phy@2: '#phy-cells' is a required property
From schema: /usr/local/lib/python3.9/dist-packages/dtschema/schemas/phy/phy-provider.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65.dt.yaml: phy@3: '#phy-cells' is a required property
From schema: /usr/local/lib/python3.9/dist-packages/dtschema/schemas/phy/phy-provider.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65.dt.yaml: phy@4: '#phy-cells' is a required property
--
From schema: Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65w.dt.yaml: usb@2a000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ehci.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65w.dt.yaml: usb@2b000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65w.dt.yaml:0:0: /axi@18000000/crypto@2f000: failed to match any schema with compatible: ['brcm,spum-nsp-crypto']
arch/arm/boot/dts/bcm958625-meraki-mx65w.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958625-meraki-mx65w.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958625-meraki-mx65w.dt.yaml: pwm@31000: #pwm-cells:0:0: 3 was expected
From schema: Documentation/devicetree/bindings/pwm/brcm,iproc-pwm.yaml
>> arch/arm/boot/dts/bcm958625-meraki-mx65w.dt.yaml: mdio-mux@32000: mdio@200:reg:0:0: 512 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65w.dt.yaml:0:0: /axi@18000000/pinctrl@3f1c0: failed to match any schema with compatible: ['brcm,nsp-pinmux']
arch/arm/boot/dts/bcm958625-meraki-mx65w.dt.yaml: ahci@41000: $nodename:0: 'ahci@41000' does not match '^sata(@.*)?$'
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65w.dt.yaml: ahci@41000: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'sata-port@0', 'sata-port@1' were unexpected)
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
>> arch/arm/boot/dts/bcm958625-meraki-mx65w.dt.yaml: mdio-mux@3f1c0: mdio-mii@2000:reg:0:0: 8192 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65w.dt.yaml: phy@0: '#phy-cells' is a required property
From schema: /usr/local/lib/python3.9/dist-packages/dtschema/schemas/phy/phy-provider.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65w.dt.yaml: phy@1: '#phy-cells' is a required property
From schema: /usr/local/lib/python3.9/dist-packages/dtschema/schemas/phy/phy-provider.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65w.dt.yaml: phy@2: '#phy-cells' is a required property
From schema: /usr/local/lib/python3.9/dist-packages/dtschema/schemas/phy/phy-provider.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65w.dt.yaml: phy@3: '#phy-cells' is a required property
From schema: /usr/local/lib/python3.9/dist-packages/dtschema/schemas/phy/phy-provider.yaml
arch/arm/boot/dts/bcm958625-meraki-mx65w.dt.yaml: phy@4: '#phy-cells' is a required property
--
'spi_lr_session_done' was expected
'spi_lr_overread' was expected
From schema: Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
arch/arm/boot/dts/bcm958625hr.dt.yaml: usb@2a000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ehci.yaml
arch/arm/boot/dts/bcm958625hr.dt.yaml: usb@2b000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
arch/arm/boot/dts/bcm958625hr.dt.yaml:0:0: /axi@18000000/crypto@2f000: failed to match any schema with compatible: ['brcm,spum-nsp-crypto']
arch/arm/boot/dts/bcm958625hr.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958625hr.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
>> arch/arm/boot/dts/bcm958625hr.dt.yaml: mdio-mux@32000: mdio@200:reg:0:0: 512 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/bcm958625hr.dt.yaml:0:0: /axi@18000000/pinctrl@3f1c0: failed to match any schema with compatible: ['brcm,nsp-pinmux']
arch/arm/boot/dts/bcm958625hr.dt.yaml: ahci@41000: $nodename:0: 'ahci@41000' does not match '^sata(@.*)?$'
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958625hr.dt.yaml: ahci@41000: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'sata-port@0', 'sata-port@1' were unexpected)
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958625hr.dt.yaml: pcie@18012000: msi-controller: 'oneOf' conditional failed, one must be fixed:
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[22]]} is not of type 'boolean'
True was expected
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[22]]} is not of type 'null'
--
'spi_lr_session_done' was expected
'spi_lr_overread' was expected
From schema: Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
arch/arm/boot/dts/bcm988312hr.dt.yaml: usb@2a000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ehci.yaml
arch/arm/boot/dts/bcm988312hr.dt.yaml: usb@2b000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
arch/arm/boot/dts/bcm988312hr.dt.yaml:0:0: /axi@18000000/crypto@2f000: failed to match any schema with compatible: ['brcm,spum-nsp-crypto']
arch/arm/boot/dts/bcm988312hr.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm988312hr.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
>> arch/arm/boot/dts/bcm988312hr.dt.yaml: mdio-mux@32000: mdio@200:reg:0:0: 512 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/bcm988312hr.dt.yaml:0:0: /axi@18000000/pinctrl@3f1c0: failed to match any schema with compatible: ['brcm,nsp-pinmux']
arch/arm/boot/dts/bcm988312hr.dt.yaml: ahci@41000: $nodename:0: 'ahci@41000' does not match '^sata(@.*)?$'
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm988312hr.dt.yaml: ahci@41000: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'sata-port@0', 'sata-port@1' were unexpected)
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm988312hr.dt.yaml: pcie@18012000: msi-controller: 'oneOf' conditional failed, one must be fixed:
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[21]]} is not of type 'boolean'
True was expected
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[21]]} is not of type 'null'
--
'spi_lr_session_done' was expected
'spi_lr_overread' was expected
From schema: Documentation/devicetree/bindings/spi/brcm,spi-bcm-qspi.yaml
arch/arm/boot/dts/bcm958625k.dt.yaml: usb@2a000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ehci.yaml
arch/arm/boot/dts/bcm958625k.dt.yaml: usb@2b000: 'dma-coherent' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/usb/generic-ohci.yaml
arch/arm/boot/dts/bcm958625k.dt.yaml:0:0: /axi@18000000/crypto@2f000: failed to match any schema with compatible: ['brcm,spum-nsp-crypto']
arch/arm/boot/dts/bcm958625k.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
arch/arm/boot/dts/bcm958625k.dt.yaml:0:0: /axi@18000000/gpio@30000: failed to match any schema with compatible: ['brcm,iproc-nsp-gpio', 'brcm,iproc-gpio']
>> arch/arm/boot/dts/bcm958625k.dt.yaml: mdio-mux@32000: mdio@200:reg:0:0: 512 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/bcm958625k.dt.yaml:0:0: /axi@18000000/pinctrl@3f1c0: failed to match any schema with compatible: ['brcm,nsp-pinmux']
arch/arm/boot/dts/bcm958625k.dt.yaml: ahci@41000: $nodename:0: 'ahci@41000' does not match '^sata(@.*)?$'
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958625k.dt.yaml: ahci@41000: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'sata-port@0', 'sata-port@1' were unexpected)
From schema: Documentation/devicetree/bindings/ata/brcm,sata-brcm.yaml
arch/arm/boot/dts/bcm958625k.dt.yaml: pcie@18012000: msi-controller: 'oneOf' conditional failed, one must be fixed:
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[23]]} is not of type 'boolean'
True was expected
{'compatible': ['brcm,iproc-msi'], 'msi-controller': True, 'interrupt-parent': [[1]], 'interrupts': [[0, 127, 4], [0, 128, 4], [0, 129, 4], [0, 130, 4]], 'brcm,pcie-msi-inten': True, 'phandle': [[23]]} is not of type 'null'
--
arch/arm/boot/dts/ls1021a-qds.dt.yaml: memory-controller@1080000: 'big-endian' does not match any of the regexes: 'pinctrl-[0-9]+'
From schema: Documentation/devicetree/bindings/memory-controllers/fsl/fsl,ddr.yaml
arch/arm/boot/dts/ls1021a-qds.dt.yaml:0:0: /soc/msi-controller@1570e00: failed to match any schema with compatible: ['fsl,ls1021a-msi']
arch/arm/boot/dts/ls1021a-qds.dt.yaml:0:0: /soc/msi-controller@1570e08: failed to match any schema with compatible: ['fsl,ls1021a-msi']
arch/arm/boot/dts/ls1021a-qds.dt.yaml: ifc@1530000: $nodename:0: 'ifc@1530000' does not match '^([a-z][a-z0-9\\-]+-bus|bus|soc|axi|ahb|apb)(@[0-9a-f]+)?$'
From schema: /usr/local/lib/python3.9/dist-packages/dtschema/schemas/simple-bus.yaml
arch/arm/boot/dts/ls1021a-qds.dt.yaml: ifc@1530000: 'board-control@3,0', 'nand@2,0', 'nor@0,0' do not match any of the regexes: '@(0|[1-9a-f][0-9a-f]*)$', '^[^@]+$', 'pinctrl-[0-9]+'
From schema: /usr/local/lib/python3.9/dist-packages/dtschema/schemas/simple-bus.yaml
arch/arm/boot/dts/ls1021a-qds.dt.yaml:0:0: /soc/ifc@1530000: failed to match any schema with compatible: ['fsl,ifc', 'simple-bus']
arch/arm/boot/dts/ls1021a-qds.dt.yaml:0:0: /soc/ifc@1530000/nand@2,0: failed to match any schema with compatible: ['fsl,ifc-nand']
>> arch/arm/boot/dts/ls1021a-qds.dt.yaml: mdio-mux-emi1: mdio@20:reg:0:0: 32 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/ls1021a-qds.dt.yaml: mdio-mux-emi1: mdio@40:reg:0:0: 64 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/ls1021a-qds.dt.yaml: mdio-mux-emi1: mdio@60:reg:0:0: 96 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/ls1021a-qds.dt.yaml: mdio-mux-emi1: mdio@80:reg:0:0: 128 is greater than the maximum of 31
From schema: Documentation/devicetree/bindings/net/mdio.yaml
arch/arm/boot/dts/ls1021a-qds.dt.yaml: mdio-mux-emi1: compatible: ['mdio-mux-mmioreg'] is too short
From schema: Documentation/devicetree/bindings/net/mdio-mux-mmioreg.yaml
arch/arm/boot/dts/ls1021a-qds.dt.yaml:0:0: /soc/dcfg@1ee0000: failed to match any schema with compatible: ['fsl,ls1021a-dcfg', 'syscon']
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
8 months