From: Kieran Bingham <kieran.bingham@ideasonboard.com>
To: Alex Riesen <alexander.riesen@cetitec.com>,
Geert Uytterhoeven <geert@linux-m68k.org>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Hans Verkuil <hverkuil-cisco@xs4all.nl>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
devel@driverdev.osuosl.org, linux-media@vger.kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
linux-renesas-soc@vger.kernel.org
Subject: Re: [PATCH v5 4/9] media: adv748x: add definitions for audio output related registers
Date: Tue, 7 Apr 2020 17:21:00 +0100 [thread overview]
Message-ID: <a0ff0a59-bd6e-044b-5669-679126c23323@ideasonboard.com> (raw)
In-Reply-To: <26573ecdb48aa816f802b9d8bbe5f74157248021.1585852001.git.alexander.riesen@cetitec.com>
Hi Alex,
On 02/04/2020 19:34, Alex Riesen wrote:
> Signed-off-by: Alexander Riesen <alexander.riesen@cetitec.com>
> ---
> drivers/media/i2c/adv748x/adv748x.h | 32 +++++++++++++++++++++++++++++
> 1 file changed, 32 insertions(+)
>
> diff --git a/drivers/media/i2c/adv748x/adv748x.h b/drivers/media/i2c/adv748x/adv748x.h
> index 0a9d78c2870b..1a1ea70086c6 100644
> --- a/drivers/media/i2c/adv748x/adv748x.h
> +++ b/drivers/media/i2c/adv748x/adv748x.h
> @@ -226,6 +226,11 @@ struct adv748x_state {
>
> #define ADV748X_IO_VID_STD 0x05
>
> +#define ADV748X_IO_PAD_CONTROLS 0x0e
> +#define ADV748X_IO_PAD_CONTROLS_TRI_AUD BIT(5)
> +#define ADV748X_IO_PAD_CONTROLS_PDN_AUD BIT(1)
> +#define ADV748X_IO_PAD_CONTROLS1 0x1d
What is CONTROLS1 (1d) referenced from here?
There's no 'field' matching for this register, and the 'bits' (0, 2, 3,
4) correspond to "pdn_spi, pdn_pix, '-', tri_spi"
Perhaps we need to define those bit fields accordingly and reference
them where they get used directly?
Perhaps calling bit 3 as:
#define ADV748X_IO_PAD_CONTROLS_BIT_3 BIT(3)
Or
#define ADV748X_IO_PAD_CONTROLS_RESVD BIT(3)
(Unless you have documentation that better describes it?)
> +
> #define ADV748X_IO_10 0x10 /* io_reg_10 */
> #define ADV748X_IO_10_CSI4_EN BIT(7)
> #define ADV748X_IO_10_CSI1_EN BIT(6)
> @@ -248,7 +253,21 @@ struct adv748x_state {
> #define ADV748X_IO_REG_FF 0xff
> #define ADV748X_IO_REG_FF_MAIN_RESET 0xff
>
> +/* DPLL Map */
> +#define ADV748X_DPLL_MCLK_FS 0xb5
> +#define ADV748X_DPLL_MCLK_FS_N_MASK GENMASK(2, 0)
> +
> /* HDMI RX Map */
> +#define ADV748X_HDMI_I2S 0x03 /* I2S mode and width */
Looks like a more appropriate name than the datasheets
"hdmi_register_03h" :-D
> +#define ADV748X_HDMI_I2SBITWIDTH_MASK GENMASK(4, 0)
> +#define ADV748X_HDMI_I2SOUTMODE_SHIFT 5
> +#define ADV748X_HDMI_I2SOUTMODE_MASK \
> + GENMASK(6, ADV748X_HDMI_I2SOUTMODE_SHIFT)
I'd be very tempted to ignore the 80char limit here and put that on the
line above ... or find a way to remove the 1 character...
In fact, given the entry there - how about just leaving this as:
#define ADV748X_HDMI_I2SOUTMODE_MASK GENMASK(6, 5)
> +#define ADV748X_I2SOUTMODE_I2S 0
> +#define ADV748X_I2SOUTMODE_RIGHT_J 1
> +#define ADV748X_I2SOUTMODE_LEFT_J 2
> +#define ADV748X_I2SOUTMODE_SPDIF 3
Can we align these value in the column with the other values?
And as much as I hate long define names, it seems a bit odd that these
suddenly lack the HDMI_ part of the define prefix...
Should we either remove the HDMI_ from
ADV748X_HDMI_I2SBITWIDTH_MASK
ADV748X_HDMI_I2SOUTMODE_SHIFT
ADV748X_HDMI_I2SOUTMODE_MASK
or add it to
ADV748X_I2SOUTMODE_I2S
ADV748X_I2SOUTMODE_RIGHT_J
ADV748X_I2SOUTMODE_LEFT_J
ADV748X_I2SOUTMODE_SPDIF
?
> +
> #define ADV748X_HDMI_LW1 0x07 /* line width_1 */
> #define ADV748X_HDMI_LW1_VERT_FILTER BIT(7)
> #define ADV748X_HDMI_LW1_DE_REGEN BIT(5)
> @@ -260,6 +279,16 @@ struct adv748x_state {
> #define ADV748X_HDMI_F1H1 0x0b /* field1 height_1 */
> #define ADV748X_HDMI_F1H1_INTERLACED BIT(5)
>
> +#define ADV748X_HDMI_MUTE_CTRL 0x1a
> +#define ADV748X_HDMI_MUTE_CTRL_MUTE_AUDIO BIT(4)
> +#define ADV748X_HDMI_MUTE_CTRL_WAIT_UNMUTE_MASK GENMASK(3, 1)
> +#define ADV748X_HDMI_MUTE_CTRL_NOT_AUTO_UNMUTE BIT(0)
> +
> +#define ADV748X_HDMI_AUDIO_MUTE_SPEED 0x0f
Can we keep the register definitions in address order please?
> +#define ADV748X_HDMI_AUDIO_MUTE_SPEED_MASK GENMASK(4, 0)
> +#define ADV748X_MAN_AUDIO_DL_BYPASS BIT(7)
> +#define ADV748X_AUDIO_DELAY_LINE_BYPASS BIT(6)
Those bits do not describe the register they are in, not sure how to
address that without exceptionally long names though.. :-(
So perhaps how you've got them might be the best option...
> +
> #define ADV748X_HDMI_HFRONT_PORCH 0x20 /* hsync_front_porch_1 */
> #define ADV748X_HDMI_HFRONT_PORCH_MASK 0x1fff
>
> @@ -281,6 +310,9 @@ struct adv748x_state {
> #define ADV748X_HDMI_TMDS_1 0x51 /* hdmi_reg_51 */
> #define ADV748X_HDMI_TMDS_2 0x52 /* hdmi_reg_52 */
>
> +#define ADV748X_HDMI_REG_6D 0x6d /* hdmi_reg_6d */
> +#define ADV748X_I2S_TDM_MODE_ENABLE BIT(7)
> +
> /* HDMI RX Repeater Map */
> #define ADV748X_REPEATER_EDID_SZ 0x70 /* primary_edid_size */
> #define ADV748X_REPEATER_EDID_SZ_SHIFT 4
>
--
Regards
--
Kieran
next prev parent reply other threads:[~2020-04-07 16:21 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-02 18:33 [PATCH v5 0/9] media: adv748x: add support for HDMI audio Alex Riesen
2020-04-02 18:34 ` [PATCH v5 1/9] media: adv748x: fix end-of-line terminators in diagnostic statements Alex Riesen
2020-04-03 10:43 ` Kieran Bingham
2020-04-03 11:01 ` Alex Riesen
2020-04-02 18:34 ` [PATCH v5 2/9] media: adv748x: include everything adv748x.h needs into the file Alex Riesen
2020-04-03 10:48 ` Kieran Bingham
2020-04-03 11:02 ` Alex Riesen
2020-04-02 18:34 ` [PATCH v5 3/9] media: adv748x: reduce amount of code for bitwise modifications of device registers Alex Riesen
2020-04-03 19:09 ` Kieran Bingham
2020-04-02 18:34 ` [PATCH v5 4/9] media: adv748x: add definitions for audio output related registers Alex Riesen
2020-04-07 16:21 ` Kieran Bingham [this message]
2020-04-07 17:13 ` Alex Riesen
2020-04-07 18:44 ` Kieran Bingham
2020-04-07 18:55 ` Alex Riesen
2020-04-02 18:34 ` [PATCH v5 5/9] media: adv748x: add support for HDMI audio Alex Riesen
2020-04-02 18:34 ` [PATCH v5 6/9] media: adv748x: prepare/enable mclk when the audio is used Alex Riesen
2020-06-18 16:23 ` Kieran Bingham
2020-06-19 8:51 ` Alex Riesen
2020-04-02 18:34 ` [PATCH v5 7/9] media: adv748x: only activate DAI if it is described in device tree Alex Riesen
2020-06-18 16:17 ` Kieran Bingham
2020-06-19 9:10 ` Alex Riesen
2020-04-02 18:35 ` [PATCH v5 8/9] dt-bindings: adv748x: add information about serial audio interface (I2S/TDM) Alex Riesen
2020-06-18 16:27 ` Kieran Bingham
2020-04-02 18:35 ` [PATCH v5 9/9] arm64: dts: renesas: salvator: add a connection from adv748x codec (HDMI input) to the R-Car SoC Alex Riesen
2020-06-18 16:32 ` Kieran Bingham
2020-06-19 9:34 ` Alex Riesen
2020-08-25 14:57 ` Kieran Bingham
2020-09-14 8:17 ` Alex Riesen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a0ff0a59-bd6e-044b-5669-679126c23323@ideasonboard.com \
--to=kieran.bingham@ideasonboard.com \
--cc=alexander.riesen@cetitec.com \
--cc=devel@driverdev.osuosl.org \
--cc=devicetree@vger.kernel.org \
--cc=geert@linux-m68k.org \
--cc=hverkuil-cisco@xs4all.nl \
--cc=kuninori.morimoto.gx@renesas.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mchehab@kernel.org \
--cc=robh+dt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®