From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AE9F1C43334 for ; Fri, 24 Jun 2022 09:52:31 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 0D96984398; Fri, 24 Jun 2022 11:52:30 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=quarantine dis=none) header.from=toradex.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id CE0A7843A1; Fri, 24 Jun 2022 11:52:27 +0200 (CEST) Received: from de-smtp-delivery-113.mimecast.com (de-smtp-delivery-113.mimecast.com [194.104.111.113]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 74DDA84396 for ; Fri, 24 Jun 2022 11:52:25 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=toradex.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=francesco.dolcini@toradex.com Received: from CHE01-ZR0-obe.outbound.protection.outlook.com (mail-zr0che01lp2109.outbound.protection.outlook.com [104.47.22.109]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-6-S88WlUO-NB6OQvZp4aGBGw-2; Fri, 24 Jun 2022 11:52:24 +0200 X-MC-Unique: S88WlUO-NB6OQvZp4aGBGw-2 Received: from ZRAP278MB0495.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:2e::8) by ZRAP278MB0126.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:14::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.15; Fri, 24 Jun 2022 09:52:22 +0000 Received: from ZRAP278MB0495.CHEP278.PROD.OUTLOOK.COM ([fe80::f0b6:54ca:c3ff:48c1]) by ZRAP278MB0495.CHEP278.PROD.OUTLOOK.COM ([fe80::f0b6:54ca:c3ff:48c1%5]) with mapi id 15.20.5373.016; Fri, 24 Jun 2022 09:52:22 +0000 From: Francesco Dolcini To: Marcel Ziswiler , u-boot@lists.denx.de CC: Francesco Dolcini Subject: [PATCH] toradex: apalis/colibri_imx6: Fix CLKO1/CLKO2 output Date: Fri, 24 Jun 2022 11:52:19 +0200 Message-ID: <20220624095219.430622-1-francesco.dolcini@toradex.com> X-Mailer: git-send-email 2.25.1 X-ClientProxiedBy: MRXP264CA0011.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500:15::23) To ZRAP278MB0495.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:2e::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1319eb94-a20a-4165-e389-08da55c73c33 X-MS-TrafficTypeDiagnostic: ZRAP278MB0126:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0 X-Microsoft-Antispam-Message-Info: rouY3T7OXxeK0nD2kSS96kkGJdwwRur+qIwCD8OAExR4UTGwxBEOE05NFb07JaaDSpFk7uPD+cY7Ej03JilUAIsbvoMeXFrFlFQ/0HlXjEvSFNBaDFnSArIk1F0799iq+WedPH7fRDWdgwvTnHnsxWdifJPo7o7rhi9KvgVnKH1yRGl+HV47bKsrg6gTqgIP6dwU+I3XMDMxBt4+QneF6TTag3wwOMTyPOFjLQJIpBIve/BDoSwISx3i2H5arlXNbaTzZob/lv9+xWw2PMYWAYMntHVzNMkoKawMvl+ccujA8FM9RGPk9M0xNo8YVbNI2oTyTYz2B6fWRBY4og+1Wgo4Hi9BFRyxDir0UIQwkpEj4d1YiRNRXoXSO8rxjnPICSb0T4srj1OBgWo122uoNonug6wVFm8BpX1wNO/9Rc37QpisQ9bKyxZcMivC0uqUd8odWuV5lPeOvYpQXhHcw86xCaRj2W2Xr7kz2WzLhRIdA30Xunl9tB0KlQoVhxq4iCVXHQIlL5NL0DZFKOsl+/hjv89jbsaRFxqOloUzhwsBOcKIGkp817ZE9cXvDq3N5Ee4r0TUBxeDQ70HF+fIp1GCRbNDdYgWtoh6m4EM56j2ze62RpVru22mWYsi+ORRdslDe2J0pyXrfRbUjuBtXfbcKYssn8vKqgcAzGKC1Rr/b1sdlXKybBT1bTGpN8HiPNvpp5TCJzGIEUThAYf+MtfPSUnmt4KqEdbF+JIjTdKqf1i2fZZ3ezU02NvKVQKsoTZvbbjIBHgQg5gqGIRezIsi8mOqOF3SJ9HeWo0/4TA= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:ZRAP278MB0495.CHEP278.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230016)(4636009)(376002)(366004)(396003)(346002)(39850400004)(136003)(86362001)(1076003)(38350700002)(38100700002)(316002)(52116002)(107886003)(2906002)(2616005)(6506007)(41300700001)(26005)(6512007)(478600001)(83380400001)(6666004)(6486002)(66476007)(8676002)(5660300002)(4326008)(186003)(66556008)(8936002)(44832011)(66946007)(36756003); DIR:OUT; SFP:1102 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gl1jhPvpgCEfDrLb1YY9ssYZCNI2HbrR/PYuQy2nv2L7VWrtvZ9xqxrENDBH?= =?us-ascii?Q?AegjRZVa0Am17iXVP0QUl0ivMd2Ef2CZ+Pp70+Jb9+BejNSkR50OuezhodSg?= =?us-ascii?Q?JoeIYkvO6BPSSM1UPKZxDRcxGICSxPzJyh3rHLrGDwkmPuSY8EmSXHNVdyTY?= =?us-ascii?Q?eG/f0Rt+rzC5hMv8VpyxOn2guUHnyjGfKh8yv+3ptGdNZecEPBHBnhs/AiYh?= =?us-ascii?Q?ASn6Dm7ELuvtBa5vfc5zoFd3IbzQsCASpgTxLJJoG8LZvH5e3vdiSeGpshRK?= =?us-ascii?Q?QW05iVTRtkl1tCv25/Rri5p/MYf/XxhVZTFibd4eADU4YFvZYWWau+qTxXrf?= =?us-ascii?Q?El+VLR7/yVWCHoZsK/tVNyD3KQLUcd9+aMr8ZtqykQ4CGILE9Vgq13ZxRSB/?= =?us-ascii?Q?sB2k7Klhl/y5aNpRv2PeDr2d5X5KTpIKtrFUVGS4eby+389MhIFompT6qxkf?= =?us-ascii?Q?7NJFUtUJmSAk2exipGLM4lFWcia48WZMSxI87rPLqGwcgc1a70q40BJNaG7U?= =?us-ascii?Q?iWmO0EUxEGpzUFhtO4eOpw3k2iePzQXNXwxcQPCNd7mM83NyUJ4qsqV7xRXE?= =?us-ascii?Q?ZLxoSKmAY4ondErwDpl8KJchMP3/Jsqk9PVCJCTx8l7v1RfvOedyXm85wEOQ?= =?us-ascii?Q?dcSFZ136SYr7EalYuisWa4qwLj1ltJvV1kxjnnLjVjjZMi4VFtzwYWPGTj4e?= =?us-ascii?Q?sPMJLrRG7AnKBZn+Vq+/XXWKcvj8lUp+N9DhvoCxzEe1JV4RgZcaK3Q8Qm4o?= =?us-ascii?Q?78RFbWlPCJ7qOf9VzIYmRs6iNpnJlK9SbvFPO0bw5SajLQO2plAf4ekBs5/l?= =?us-ascii?Q?tFs3p0AFGiGvpXxpbeh08VNeJeOOpNF8YpWJ7G7AwopX2OzM+XuqGEFLLIWh?= =?us-ascii?Q?b+kWDY7aIO48R1Pcxg0uUHWgIWXQEHgpoyaOPxYIEYNweVozzBB1DiWENva3?= =?us-ascii?Q?n3UMhUhawcWmbKMbJi606K8Desi8a0ddaid1dVHX2GDivNNcaHE7xK4J3XAC?= =?us-ascii?Q?4i+w7OHpy+x/cH4MJegf/H09xvJKS4Jv+4zVeQPhk8iRimmWPVKrHI5/t72T?= =?us-ascii?Q?5n5lqfNF5XVotQFa/3xAynTdmHMx2wBXd/+QntJdalgb2Lwb6NmMDKE2xybl?= =?us-ascii?Q?mzFaLsckpprOgf+ymbvxYITpwpBJZnvnAzt9EQs+x8SnQN28ZwTJ+7sKBe2j?= =?us-ascii?Q?r9xZVkVRD9akFdMUAW05/P6U/1PfmTcSlCMgHMRe8q9qGsOPP56vEEGe/7aK?= =?us-ascii?Q?P7c56uoG6axIYmdKjFESjweFTnPzXeQUkwbLB0Ab1Df4E7zfs9ilzIHQzpMn?= =?us-ascii?Q?cUxl0BugsFiGbk48yKoogETlKBMlweB/kEYMD73mRE1qVsPcCsHPd2ypwS0Q?= =?us-ascii?Q?OQpT9Fo3YEnb1gwM+njHPhUotmSbhvY+4GbHZggGcauPHieBO2PClx/Fgzvv?= =?us-ascii?Q?OHPAtohDbtO/aZB9uqAYLt7MDhM7cVzJoV6zWhwE2BAazTvXPbANLPf6IW0P?= =?us-ascii?Q?shcfbasUYS/WyPOWlp3KnEVyxmTuPghGPVmnTKKFbBiCcZflmeJKtlcnAtn0?= =?us-ascii?Q?ONGP6ZzOYiwGO6xMSmWkOIYxFzW0hPaJsnHrpieZ+6S3rCxJt5KQ3QspvTui?= =?us-ascii?Q?NQ=3D=3D?= X-OriginatorOrg: toradex.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1319eb94-a20a-4165-e389-08da55c73c33 X-MS-Exchange-CrossTenant-AuthSource: ZRAP278MB0495.CHEP278.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2022 09:52:22.3857 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: d9995866-0d9b-4251-8315-093f062abab4 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: NyJ4OAOfZDbfE4+Qb8nZ018jqW7JXKPZJpxai5IvGHxmj73WCYrGRY2lgeGMPXIjczo8fxXQYZLN+LHoGVyNtw6nowDSyc5c4WHYqIJRoxE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: ZRAP278MB0126 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: toradex.com Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=WINDOWS-1252 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean Set CLK01 and CLK02 to 24MHz and enable it in CCM_CCOSR register. This clock is used by both the audio codec (CLKO1) and by the CSI camera (CLKO2) and is expected to be 24MHz. Despite the wrong 16.5MHz there was no real issue because of the wrong frequency since Linux reconfigures the clocks afterward, however this was triggering an issue with noise coming from the SGTL5000 audio codec. The problem is that the SGTL5000 does not have a reset pin and after it is configured if the input MCLK clock is disabled it produces a constant noise on its output, this was happening on software reboot. Forcing the clock to be enabled in U-Boot prevent the problem by making sure that the clock is always available, without this change as soon as Linux was changing the clock tree (setting clk_out_sel=3D1 without setting clko2_en=3D1) the noise would start till the actual clock was enabled (clko2_en=3D1) during the SGTL5000 driver probe. Signed-off-by: Francesco Dolcini --- board/toradex/apalis_imx6/apalis_imx6.c | 14 +++++++++----- board/toradex/colibri_imx6/colibri_imx6.c | 14 +++++++++----- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/board/toradex/apalis_imx6/apalis_imx6.c b/board/toradex/apalis= _imx6/apalis_imx6.c index 5604c4646cff..ea20de6b573e 100644 --- a/board/toradex/apalis_imx6/apalis_imx6.c +++ b/board/toradex/apalis_imx6/apalis_imx6.c @@ -1024,13 +1024,17 @@ static void ccgr_init(void) /* * Setup CCM_CCOSR register as follows: * - * cko1_en =3D 1=09 --> CKO1 enabled - * cko1_div =3D 111 --> divide by 8 - * cko1_sel =3D 1011 --> ahb_clk_root + * clko2_en =3D 1 --> CKO2 enabled + * clko2_div =3D 000 --> divide by 1 + * clko2_sel =3D 01110 --> osc_clk (24MHz) * - * This sets CKO1 at ahb_clk_root/8 =3D 132/8 =3D 16.5 MHz + * clk_out_sel =3D 1 --> Output CKO2 to CKO1 + * + * This sets both CLKO2/CLKO1 output to 24MHz, + * CLKO1 configuration not relevant because of clk_out_sel + * (CLKO1 set to default) */ -=09writel(0x000000FB, &ccm->ccosr); +=09writel(0x010E0101, &ccm->ccosr); } =20 static void ddr_init(int *table, int size) diff --git a/board/toradex/colibri_imx6/colibri_imx6.c b/board/toradex/coli= bri_imx6/colibri_imx6.c index 38ff637054aa..ab2ab587ffb6 100644 --- a/board/toradex/colibri_imx6/colibri_imx6.c +++ b/board/toradex/colibri_imx6/colibri_imx6.c @@ -980,13 +980,17 @@ static void ccgr_init(void) /* * Setup CCM_CCOSR register as follows: * - * cko1_en =3D 1=09 --> CKO1 enabled - * cko1_div =3D 111 --> divide by 8 - * cko1_sel =3D 1011 --> ahb_clk_root + * clko2_en =3D 1 --> CKO2 enabled + * clko2_div =3D 000 --> divide by 1 + * clko2_sel =3D 01110 --> osc_clk (24MHz) * - * This sets CKO1 at ahb_clk_root/8 =3D 132/8 =3D 16.5 MHz + * clk_out_sel =3D 1 --> Output CKO2 to CKO1 + * + * This sets both CLKO2/CLKO1 output to 24MHz, + * CLKO1 configuration not relevant because of clk_out_sel + * (CLKO1 set to default) */ -=09writel(0x000000FB, &ccm->ccosr); +=09writel(0x010E0101, &ccm->ccosr); } =20 static void ddr_init(int *table, int size) --=20 2.25.1