Loading Documentation/devicetree/bindings/sound/ak4613.txt 0 → 100644 +17 −0 Original line number Diff line number Diff line AK4613 I2C transmitter This device supports I2C mode only. Required properties: - compatible : "asahi-kasei,ak4613" - reg : The chip select number on the I2C bus Example: &i2c { ak4613: ak4613@0x10 { compatible = "asahi-kasei,ak4613"; reg = <0x10>; }; }; Documentation/devicetree/bindings/sound/ak4642.txt +21 −1 Original line number Diff line number Diff line Loading @@ -7,7 +7,14 @@ Required properties: - compatible : "asahi-kasei,ak4642" or "asahi-kasei,ak4643" or "asahi-kasei,ak4648" - reg : The chip select number on the I2C bus Example: Optional properties: - #clock-cells : common clock binding; shall be set to 0 - clocks : common clock binding; MCKI clock - clock-frequency : common clock binding; frequency of MCKO - clock-output-names : common clock binding; MCKO clock name Example 1: &i2c { ak4648: ak4648@0x12 { Loading @@ -15,3 +22,16 @@ Example: reg = <0x12>; }; }; Example 2: &i2c { ak4643: codec@12 { compatible = "asahi-kasei,ak4643"; reg = <0x12>; #clock-cells = <0>; clocks = <&audio_clock>; clock-frequency = <12288000>; clock-output-names = "ak4643_mcko"; }; }; drivers/spi/spi-atmel.c +6 −15 Original line number Diff line number Diff line Loading @@ -871,14 +871,7 @@ static int atmel_spi_set_xfer_speed(struct atmel_spi *as, * Calculate the lowest divider that satisfies the * constraint, assuming div32/fdiv/mbz == 0. */ if (xfer->speed_hz) scbr = DIV_ROUND_UP(bus_hz, xfer->speed_hz); else /* * This can happend if max_speed is null. * In this case, we set the lowest possible speed */ scbr = 0xff; /* * If the resulting divider doesn't fit into the Loading Loading @@ -1300,7 +1293,6 @@ static int atmel_spi_one_transfer(struct spi_master *master, return -EINVAL; } if (xfer->bits_per_word) { asd = spi->controller_state; bits = (asd->csr >> 4) & 0xf; if (bits != xfer->bits_per_word - 8) { Loading @@ -1308,7 +1300,6 @@ static int atmel_spi_one_transfer(struct spi_master *master, "you can't yet change bits_per_word in transfers\n"); return -ENOPROTOOPT; } } /* * DMA map early, for performance (empties dcache ASAP) and Loading include/sound/soc.h +12 −0 Original line number Diff line number Diff line Loading @@ -226,6 +226,18 @@ .info = snd_soc_info_volsw, \ .get = xhandler_get, .put = xhandler_put, \ .private_value = SOC_SINGLE_VALUE(xreg, xshift, xmax, xinvert, 0) } #define SOC_SINGLE_RANGE_EXT_TLV(xname, xreg, xshift, xmin, xmax, xinvert, \ xhandler_get, xhandler_put, tlv_array) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname),\ .access = SNDRV_CTL_ELEM_ACCESS_TLV_READ |\ SNDRV_CTL_ELEM_ACCESS_READWRITE,\ .tlv.p = (tlv_array), \ .info = snd_soc_info_volsw_range, \ .get = xhandler_get, .put = xhandler_put, \ .private_value = (unsigned long)&(struct soc_mixer_control) \ {.reg = xreg, .rreg = xreg, .shift = xshift, \ .rshift = xshift, .min = xmin, .max = xmax, \ .platform_max = xmax, .invert = xinvert} } #define SOC_DOUBLE_EXT_TLV(xname, xreg, shift_left, shift_right, xmax, xinvert,\ xhandler_get, xhandler_put, tlv_array) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \ Loading sound/soc/atmel/atmel_wm8904.c +1 −0 Original line number Diff line number Diff line Loading @@ -176,6 +176,7 @@ static const struct of_device_id atmel_asoc_wm8904_dt_ids[] = { { .compatible = "atmel,asoc-wm8904", }, { } }; MODULE_DEVICE_TABLE(of, atmel_asoc_wm8904_dt_ids); #endif static struct platform_driver atmel_asoc_wm8904_driver = { Loading Loading
Documentation/devicetree/bindings/sound/ak4613.txt 0 → 100644 +17 −0 Original line number Diff line number Diff line AK4613 I2C transmitter This device supports I2C mode only. Required properties: - compatible : "asahi-kasei,ak4613" - reg : The chip select number on the I2C bus Example: &i2c { ak4613: ak4613@0x10 { compatible = "asahi-kasei,ak4613"; reg = <0x10>; }; };
Documentation/devicetree/bindings/sound/ak4642.txt +21 −1 Original line number Diff line number Diff line Loading @@ -7,7 +7,14 @@ Required properties: - compatible : "asahi-kasei,ak4642" or "asahi-kasei,ak4643" or "asahi-kasei,ak4648" - reg : The chip select number on the I2C bus Example: Optional properties: - #clock-cells : common clock binding; shall be set to 0 - clocks : common clock binding; MCKI clock - clock-frequency : common clock binding; frequency of MCKO - clock-output-names : common clock binding; MCKO clock name Example 1: &i2c { ak4648: ak4648@0x12 { Loading @@ -15,3 +22,16 @@ Example: reg = <0x12>; }; }; Example 2: &i2c { ak4643: codec@12 { compatible = "asahi-kasei,ak4643"; reg = <0x12>; #clock-cells = <0>; clocks = <&audio_clock>; clock-frequency = <12288000>; clock-output-names = "ak4643_mcko"; }; };
drivers/spi/spi-atmel.c +6 −15 Original line number Diff line number Diff line Loading @@ -871,14 +871,7 @@ static int atmel_spi_set_xfer_speed(struct atmel_spi *as, * Calculate the lowest divider that satisfies the * constraint, assuming div32/fdiv/mbz == 0. */ if (xfer->speed_hz) scbr = DIV_ROUND_UP(bus_hz, xfer->speed_hz); else /* * This can happend if max_speed is null. * In this case, we set the lowest possible speed */ scbr = 0xff; /* * If the resulting divider doesn't fit into the Loading Loading @@ -1300,7 +1293,6 @@ static int atmel_spi_one_transfer(struct spi_master *master, return -EINVAL; } if (xfer->bits_per_word) { asd = spi->controller_state; bits = (asd->csr >> 4) & 0xf; if (bits != xfer->bits_per_word - 8) { Loading @@ -1308,7 +1300,6 @@ static int atmel_spi_one_transfer(struct spi_master *master, "you can't yet change bits_per_word in transfers\n"); return -ENOPROTOOPT; } } /* * DMA map early, for performance (empties dcache ASAP) and Loading
include/sound/soc.h +12 −0 Original line number Diff line number Diff line Loading @@ -226,6 +226,18 @@ .info = snd_soc_info_volsw, \ .get = xhandler_get, .put = xhandler_put, \ .private_value = SOC_SINGLE_VALUE(xreg, xshift, xmax, xinvert, 0) } #define SOC_SINGLE_RANGE_EXT_TLV(xname, xreg, xshift, xmin, xmax, xinvert, \ xhandler_get, xhandler_put, tlv_array) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname),\ .access = SNDRV_CTL_ELEM_ACCESS_TLV_READ |\ SNDRV_CTL_ELEM_ACCESS_READWRITE,\ .tlv.p = (tlv_array), \ .info = snd_soc_info_volsw_range, \ .get = xhandler_get, .put = xhandler_put, \ .private_value = (unsigned long)&(struct soc_mixer_control) \ {.reg = xreg, .rreg = xreg, .shift = xshift, \ .rshift = xshift, .min = xmin, .max = xmax, \ .platform_max = xmax, .invert = xinvert} } #define SOC_DOUBLE_EXT_TLV(xname, xreg, shift_left, shift_right, xmax, xinvert,\ xhandler_get, xhandler_put, tlv_array) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \ Loading
sound/soc/atmel/atmel_wm8904.c +1 −0 Original line number Diff line number Diff line Loading @@ -176,6 +176,7 @@ static const struct of_device_id atmel_asoc_wm8904_dt_ids[] = { { .compatible = "atmel,asoc-wm8904", }, { } }; MODULE_DEVICE_TABLE(of, atmel_asoc_wm8904_dt_ids); #endif static struct platform_driver atmel_asoc_wm8904_driver = { Loading