From: Sean Cross <xobs@kosagi.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH V5] ARM: mx6: Add support for Kosagi Novena
Date: Thu, 09 Oct 2014 13:38:05 +0800 [thread overview]
Message-ID: <54361F3D.2030706@kosagi.com> (raw)
In-Reply-To: <363b86c60cb608abdd5489644f2fd56e.mailbg@mail.bg>
Hi Nikolay,
On 08/10/2014 23:35, picmaster at mail.bg wrote:
> Hi Sean,
>
> ----- ????? ?? Sean Cross (xobs at kosagi.com), ?? 08.10.2014 ? 10:47 -----
>
>> On 08/10/2014 05:55, Nikolay Dimitrov wrote:
>>> Hi Marek,
>>>
>>> I'm marking only the critical issues that are left unfixed from
>>> previous conversations, to speed-up the process a little bit.
>>> I'll send later patches for the non-critical issues to spare you the
>>> extra work (and I'm sure my constructive criticism is already boring
>>> :D ).
>>>
>>>
>>> On 10/06/2014 07:02 PM, Marek Vasut wrote:
>>>> +#define NOVENA_USB_HUB_RESET IMX_GPIO_NR(7, 12)
>>> ...
>>>> +/*
>>>> + * USB
>>>> + */
>>>> +#ifdef CONFIG_USB_EHCI_MX6
>>>> +int board_ehci_hcd_init(int port)
>>>> +{
>>>> + /* Reset USB hub */
>>>> + if (port == 1) {
>>>> + gpio_set_value(NOVENA_USB_HUB_RESET, 0);
>>>> + mdelay(2);
>>>> + gpio_set_value(NOVENA_USB_HUB_RESET, 1);
>>>> + }
>>>> + return 0;
>>>> +}
>>>> +#endif
>>> As we previously discussed, this pin definition conflicts with
>>> NOVENA_PCIE_POWER_ON_GPIO (GPIO7_IO12 is connected to PCIE_PWRON), so
>>> by asserting it, you'll turn-off the wrong sub-system.
>>>
>>> Currently the USB hub is reset only by system reset (RESETBMCU
>>> asserted by the PMIC). I don't see how the CPU can selectively reset
>>> the USB hub via a GPIO, so it would be better to remove the reset code.
>>>
>>> @Sean - can you please confirm/reject this finding?
> @Sean: Do you have any comments on USB hub reset stuff? Should we ditch
> entirely the reset code, or should we modify it somehow to work properly?
>
>
>>>> +#define NOVENA_AUDIO_PWRON IMX_GPIO_NR(5, 17)
>>> ...
>>>> +/*
>>>> + * Audio
>>>> + */
>>>> +static iomux_v3_cfg_t audio_pads[] = {
>>>> + /* AUD_PWRON */
>>>> + MX6_PAD_DISP0_DAT23__GPIO5_IO17 | MUX_PAD_CTRL(NO_PAD_CTRL),
>>>> +};
>>> The speaker amplifiers will still be disabled, as AUDIO_PWRON is not
>>> connected to them (R30A is marked as DNP). You need to add one more
>>> GPIO to enable the speaker amplifiers, here's the fix:
>>>
>>> #define NOVENA_AUDIO_PWRON IMX_GPIO_NR(5, 17)
>>> #define NOVENA_AUDIO_SPK_AMP_ON IMX_GPIO_NR(4, 9)
>>>
>>> /*
>>> * Audio
>>> */
>>> static iomux_v3_cfg_t audio_pads[] = {
>>> /* AUD_PWRON */
>>> MX6_PAD_KEY_ROW1__GPIO5_IO17 | MUX_PAD_CTRL(NO_PAD_CTRL),
>>>
>>> /* Speakers' amplifiers #SHDWN */
>>> MX6_PAD_KEY_ROW1__GPIO4_IO09 | MUX_PAD_CTRL(NO_PAD_CTRL),
>>> };
>>>
>>> static void novena_spl_setup_iomux_audio(void)
>>> {
>>> imx_iomux_v3_setup_multiple_pads(audio_pads, ARRAY_SIZE(audio_pads));
>>>
>>> gpio_direction_output(NOVENA_AUDIO_PWRON, 1);
>>> gpio_direction_output(NOVENA_AUDIO_SPK_AMP_ON, 1);
>>> }
>>>
>>>
>>> Side comment: If someone needs to talk to the Audio Codec via I2C3 in
>>> U-Boot environment, don't be surprised if the codec doesn't respond to
>>> any I2C requests at all (I've had such issues with SGTL5000). The most
>>> probable reason is that the codec doesn't receive reference clock from
>>> imx6 GPIO0. This is not a critical issues as later the kernel muxes
>>> this GPIO0 properly, but keep this in mind if you want to hack the
>>> audio-codec at low level.
>> The audio codec ought to answer even when the reference clock isn't
>> active. I actually can't recall, but I think the digital side still
>> works.
> Well, that would be great if it works out this way. I just shared what
> happened with another audio codec, to spare some frustration to others.
>
>
>> The audio codec needs to be turned on because otherwise it will
>> pull the SCL and SCK lines low, blocking I2C3 from working at all.
> Agreed.
>
>
>> Actually, now that I'm looking at it, we just had to make an ECO to get
>> rid of SPK_AMP_ON. It is now ganged to AUDIO_PWRON, because SPK_AMP_ON
>> was accidentally dual-purposed as a GPIO for the front button on the
>> desktop / laptop. This change was made very recently (last Friday I
>> think), and we'll be switching resistors on the mainboard when they're
>> built in order to make the change.
> Well, all I have is the Novena schematic (http://bunniefoo.com/novena/pvt2_release/novena_pvt2.PDF) so all my analysis is based on this PDF. On page 14, R30A is
> DNP, and R28A is populated, this is why I suggested this modification to enable
> speaker amps. If there are schematic changes, please publish the new version
> so we can use the proper schematic and reduce spam.
>
> @Marek: According to this latest update, there's no need for my fix for
> NOVENA_AUDIO_SPK_AMP_ON, as your original code will work just fine with the
> planned schematic changes. Please disregard the fix.
I'll be sure to have Bunnie post a new schematic when he returns
tomorrow. For now, the ECO on our wiki is the authoritative source.
This is curently the only ECO for the final PVT2 board:
http://www.kosagi.com/w/index.php?title=Novena_PVT2_ECO_List#ECO22:_swap_audio_control_option
Sean
next prev parent reply other threads:[~2014-10-09 5:38 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-06 16:02 [U-Boot] [PATCH V5] ARM: mx6: Add support for Kosagi Novena Marek Vasut
2014-10-07 9:52 ` Sean Cross
2014-10-07 10:05 ` Marek Vasut
2014-10-07 21:55 ` Nikolay Dimitrov
2014-10-08 7:47 ` Sean Cross
2014-10-08 15:35 ` picmaster at mail.bg
2014-10-08 23:59 ` Marek Vasut
2014-10-09 0:13 ` Nikolay Dimitrov
2014-10-09 0:28 ` Marek Vasut
2014-10-09 1:04 ` Nikolay Dimitrov
2014-10-09 23:13 ` Marek Vasut
2014-10-09 7:31 ` Stefano Babic
2014-10-09 14:08 ` Marek Vasut
2014-10-09 5:32 ` Sean Cross
2014-10-09 5:38 ` Sean Cross [this message]
2014-10-09 11:48 ` Nikolay Dimitrov
2014-10-08 23:59 ` Marek Vasut
2014-10-09 7:36 ` Stefano Babic
2014-10-09 14:08 ` Marek Vasut
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=54361F3D.2030706@kosagi.com \
--to=xobs@kosagi.com \
--cc=u-boot@lists.denx.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.