From nobody Sun Feb 8 13:39:20 2026 Received: from codeconstruct.com.au (pi.codeconstruct.com.au [203.29.241.158]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C337E3D8E; Wed, 21 Aug 2024 04:03:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=203.29.241.158 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1724212997; cv=none; b=On5p46QhKBxIoLRu/nm5+0fBzc6CEDGPQBVLbv0OlME6ki728AdqBcfIIl7ArAKOPYamhUWbfduXQ0XACQQmz+qdaVOoykVOGNj3cW7xzrbM8srerns+6J3zmTZKufXuS9R9miJXS02MTYSMJApMrCMC08IQ3NoWYMHUaDZSGK8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1724212997; c=relaxed/simple; bh=VehB+TY+IBscTP6XprPulRtbASsZpJmpvf/Lb+BZd8w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=a9dGVhH9Z6gVmVfb9wY9jLlAbOIbCR5r33F2v1HJd6ZmHMOK1AmyQcJUVgcVEsmlGQL1VDqJWMx2ljnCydHhl/Xnt2szL45Q3/aDM28cjZhhL/QkO1GW0LMJmHdM8i27CMgfA1TuHVn/T/0ZZfHWhZqATmfzmcFWlINqJRyvvFw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=codeconstruct.com.au; spf=pass smtp.mailfrom=codeconstruct.com.au; dkim=fail (2048-bit key) header.d=codeconstruct.com.au header.i=@codeconstruct.com.au header.b=V8L90RsM reason="signature verification failed"; arc=none smtp.client-ip=203.29.241.158 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=codeconstruct.com.au Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=codeconstruct.com.au Authentication-Results: smtp.subspace.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=codeconstruct.com.au header.i=@codeconstruct.com.au header.b="V8L90RsM" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=codeconstruct.com.au; s=2022a; t=1724212991; bh=jv5hT38IlFRIQ1oXNaHWa5RXJNuNsH8ZImMaYXz6GdU=; h=From:Date:Subject:To:Cc; b=V8L90RsMAfDYv4HDQcyovOD0lyDyrckS8tyOPSpevcj9O4lCQrz/65J5ARm2VnW+z dOtTN5TEIsaDaGO+c+9EaWucYqPsuf92CKbDUowPcKXYe89hHs6rGoRS8RD32z5sgX dDMgOahaRv8GwGLUB85bROSX3h8+8gEZajazCijJHI8wTFIPNOXYifc+3c/o7WJD34 gOtnXU4w7o/3J9c02G9rEIKz06/pmWWYgbYDwdGoNsYTr/YsC6l9OosT60ufJiZ65u PYGl2tlvAPlv5TqwvMOvJL4USH7aTmzhX6Ba0bv9G6cr/dKVx53FcJiVwFNXzsYkaO YuIlmARS5Qt+g== Received: from [127.0.1.1] (ppp118-210-185-99.adl-adc-lon-bras34.tpg.internode.on.net [118.210.185.99]) by mail.codeconstruct.com.au (Postfix) with ESMTPSA id 86ECB65675; Wed, 21 Aug 2024 12:03:08 +0800 (AWST) From: Andrew Jeffery Date: Wed, 21 Aug 2024 13:31:08 +0930 Subject: [PATCH] ARM: dts: aspeed: Rework APB nodes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20240821-dt-warnings-apb-nodes-v1-1-c524923acca5@codeconstruct.com.au> X-B4-Tracking: v=1; b=H4sIAINmxWYC/x3MPQqAMAxA4atIZgO1ChavIg79iZolSiMqiHe3O H7Dew8oZSaFoXog08nKmxQ0dQVx9bIQcioGa2xnnG0wHXj5LCyLot8DypZIsQ3JtcH20bgIpd0 zzXz/33F63w9Fw3jWZwAAAA== To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Joel Stanley , Andrew Jeffery Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-aspeed@lists.ozlabs.org, linux-kernel@vger.kernel.org, Andrew Geissler , Ryan Chen , Troy Lee X-Mailer: b4 0.14.1 The way the APB nodes are currently described causes excessive output from `make dtbs_check` as demonstrated below (approximately 30KB per devicetree). This stems from nesting the apb nodes under the top-level ahb nodes, while the simple-bus binding requires that the ahb subnode names contain a unit address[1]. In the process of cleaning this up, it became apparent that both the APB descriptions in the devicetree and datasheet were pretty murky. I followed up with Troy Lee and Ryan Chen, and received the following from Ryan: > Sorry, I double confirm with designer. > AST2400/AST2500/AST2600: 1e6exxxx, 1e6fxxxx, 1e78xxxx, 1e79xxxx : APB, > others is AHB As a result, update the Aspeed DTSIs to describe one APB node per mapping listed in Ryan's response, and lift all controllers that are not in the described ranges out of the APB nodes to the AHB node. This change may impact OpenBMC userspace applications that use devicetree paths in sysfs to identify hardware components. However, these uses of sysfs were previously identified as incorrect[2][3][4]. Its expected that any affected applications will reworked so they are not sensitive to node renames. The change squashes schema warnings such as: arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-galaxy100.dtb: ahb: apb: {= 'compatible': ['simple-bus'], '#address-cells': [[1]], '#size-cells': [[1]]= , 'ranges': True, 'syscon@1e6e2000': {'compatible': ['aspeed,ast2400-scu', = 'syscon', 'simple-mfd'], 'reg': [[510533632, 424]], '#address-cells': [[1]]= , '#size-cells': [[1]], 'ranges': [[0, 510533632, 4096]], '#clock-cells': [= [1]], '#reset-cells': [[1]], 'phandle': [[2]], 'p2a-control@2c': {'reg': [[= 44, 4]], 'compatible': ['aspeed,ast2400-p2a-ctrl'], 'status': ['disabled']}= , 'silicon-id@7c': {'compatible': ['aspeed,ast2400-silicon-id', 'aspeed,sil= icon-id'], 'reg': [[124, 4]]}, 'pinctrl@80': {'reg': [[128, 24], [160, 16]]= , 'compatible': ['aspeed,ast2400-pinctrl'], 'phandle': [[7]], 'acpi_default= ': {'function': ['ACPI'], 'groups': ['ACPI']}, 'adc0_default': {'function':= ['ADC0'], 'groups': ['ADC0']}, 'adc1_default': {'function': ['ADC1'], 'gro= ups': ['ADC1']}, 'adc10_default': {'function': ['ADC10'], 'groups': ['ADC10= ']}, 'adc11_default': { 'function': ['ADC11'], 'groups': ['ADC11']}, 'adc12_default': {'function':= ['ADC12'], 'groups': ['ADC12']}, 'adc13_default': {'function': ['ADC13'], = 'groups': ['ADC13']}, 'adc14_default': {'function': ['ADC14'], 'groups': ['= ADC14']}, 'adc15_default': {'function': ['ADC15'], 'groups': ['ADC15']}, 'a= dc2_default': {'function': ['ADC2'], 'groups': ['ADC2']}, 'adc3_default': {= 'function': ['ADC3'], 'groups': ['ADC3']}, 'adc4_default': {'function': ['A= DC4'], 'groups': ['ADC4']}, 'adc5_default': {'function': ['ADC5'], 'groups'= : ['ADC5']}, 'adc6_default': {'function': ['ADC6'], 'groups': ['ADC6']}, 'a= dc7_default': {'function': ['ADC7'], 'groups': ['ADC7']}, 'adc8_default': {= 'function': ['ADC8'], 'groups': ['ADC8']}, 'adc9_default': {'function': ['A= DC9'], 'groups': ['ADC9']}, 'bmcint_default': {'function': ['BMCINT'], 'gro= ups': ['BMCINT']}, 'ddcclk_default': {'function': ['DDCCLK'], 'groups': ['D= DCCLK']}, 'ddcdat_default': {'function': ['DDCDAT'], 'groups': ['DDCDAT']},= 'extrst_default': {'fu nction': ['EXTRST'], 'groups': ['EXTRST']}, 'flack_default': {'function': = ['FLACK'], 'groups': ['FLACK']}, 'flbusy_default': {'function': ['FLBUSY'],= 'groups': ['FLBUSY']}, 'flwp_default': {'function': ['FLWP'], 'groups': ['= FLWP']}, 'gpid_default': {'function': ['GPID'], 'groups': ['GPID']}, 'gpid0= _default': {'function': ['GPID0'], 'groups': ['GPID0']}, 'gpid2_default': {= 'function': ['GPID2'], 'groups': ['GPID2']}, 'gpid4_default': {'function': = ['GPID4'], 'groups': ['GPID4']}, 'gpid6_default': {'function': ['GPID6'], '= groups': ['GPID6']}, 'gpie0_default': {'function': ['GPIE0'], 'groups': ['G= PIE0']}, 'gpie2_default': {'function': ['GPIE2'], 'groups': ['GPIE2']}, 'gp= ie4_default': {'function': ['GPIE4'], 'groups': ['GPIE4']}, 'gpie6_default'= : {'function': ['GPIE6'], 'groups': ['GPIE6']}, 'i2c10_default': {'function= ': ['I2C10'], 'groups': ['I2C10'], 'phandle': [[24]]}, 'i2c11_default': {'f= unction': ['I2C11'], 'groups': ['I2C11'], 'phandle': [[25]]}, 'i2c12_defaul= t': {'function': ['I2C1 2'], 'groups': ['I2C12'], 'phandle': [[26]]}, 'i2c13_default': {'function'= : ['I2C13'], 'groups': ['I2C13'], 'phandle': [[27]]}, 'i2c14_default': {'fu= nction': ['I2C14'], 'groups': ['I2C14'], 'phandle': [[28]]}, 'i2c3_default'= : {'function': ['I2C3'], 'groups': ['I2C3'], 'phandle': [[17]]}, 'i2c4_defa= ult': {'function': ['I2C4'], 'groups': ['I2C4'], 'phandle': [[18]]}, 'i2c5_= default': {'function': ['I2C5'], 'groups': ['I2C5'], 'phandle': [[19]]}, 'i= 2c6_default': {'function': ['I2C6'], 'groups': ['I2C6'], 'phandle': [[20]]}= , 'i2c7_default': {'function': ['I2C7'], 'groups': ['I2C7'], 'phandle': [[2= 1]]}, 'i2c8_default': {'function': ['I2C8'], 'groups': ['I2C8'], 'phandle':= [[22]]}, 'i2c9_default': {'function': ['I2C9'], 'groups': ['I2C9'], 'phand= le': [[23]]}, 'lpcpd_default': {'function': ['LPCPD'], 'groups': ['LPCPD']}= , 'lpcpme_default': {'function': ['LPCPME'], 'groups': ['LPCPME']}, 'lpcrst= _default': {'function': ['LPCRST'], 'groups': ['LPCRST']}, 'lpcsmi_default'= : {'function': ['LPCSMI '], 'groups': ['LPCSMI']}, 'mac1link_default': {'function': ['MAC1LINK'], = 'groups': ['MAC1LINK']}, 'mac2link_default': {'function': ['MAC2LINK'], 'gr= oups': ['MAC2LINK']}, 'mdio1_default': {'function': ['MDIO1'], 'groups': ['= MDIO1']}, 'mdio2_default': {'function': ['MDIO2'], 'groups': ['MDIO2'], 'ph= andle': [[4]]}, 'ncts1_default': {'function': ['NCTS1'], 'groups': ['NCTS1'= ]}, 'ncts2_default': {'function': ['NCTS2'], 'groups': ['NCTS2']}, 'ncts3_d= efault': {'function': ['NCTS3'], 'groups': ['NCTS3']}, 'ncts4_default': {'f= unction': ['NCTS4'], 'groups': ['NCTS4']}, 'ndcd1_default': {'function': ['= NDCD1'], 'groups': ['NDCD1']}, 'ndcd2_default': {'function': ['NDCD2'], 'gr= oups': ['NDCD2']}, 'ndcd3_default': {'function': ['NDCD3'], 'groups': ['NDC= D3']}, 'ndcd4_default': {'function': ['NDCD4'], 'groups': ['NDCD4']}, 'ndsr= 1_default': {'function': ['NDSR1'], 'groups': ['NDSR1']}, 'ndsr2_default': = {'function': ['NDSR2'], 'groups': ['NDSR2']}, 'ndsr3_default': {'function':= ['NDSR3'], 'groups': [ 'NDSR3']}, 'ndsr4_default': {'function': ['NDSR4'], 'groups': ['NDSR4']}, = 'ndtr1_default': {'function': ['NDTR1'], 'groups': ['NDTR1']}, 'ndtr2_defau= lt': {'function': ['NDTR2'], 'groups': ['NDTR2']}, 'ndtr3_default': {'funct= ion': ['NDTR3'], 'groups': ['NDTR3']}, 'ndtr4_default': {'function': ['NDTR= 4'], 'groups': ['NDTR4']}, 'ndts4_default': {'function': ['NDTS4'], 'groups= ': ['NDTS4'], 'phandle': [[15]]}, 'nri1_default': {'function': ['NRI1'], 'g= roups': ['NRI1']}, 'nri2_default': {'function': ['NRI2'], 'groups': ['NRI2'= ]}, 'nri3_default': {'function': ['NRI3'], 'groups': ['NRI3']}, 'nri4_defau= lt': {'function': ['NRI4'], 'groups': ['NRI4']}, 'nrts1_default': {'functio= n': ['NRTS1'], 'groups': ['NRTS1']}, 'nrts2_default': {'function': ['NRTS2'= ], 'groups': ['NRTS2']}, 'nrts3_default': {'function': ['NRTS3'], 'groups':= ['NRTS3']}, 'oscclk_default': {'function': ['OSCCLK'], 'groups': ['OSCCLK'= ]}, 'pwm0_default': {'function': ['PWM0'], 'groups': ['PWM0']}, 'pwm1_defau= lt': {'function': ['PWM 1'], 'groups': ['PWM1']}, 'pwm2_default': {'function': ['PWM2'], 'groups':= ['PWM2']}, 'pwm3_default': {'function': ['PWM3'], 'groups': ['PWM3']}, 'pw= m4_default': {'function': ['PWM4'], 'groups': ['PWM4']}, 'pwm5_default': {'= function': ['PWM5'], 'groups': ['PWM5']}, 'pwm6_default': {'function': ['PW= M6'], 'groups': ['PWM6']}, 'pwm7_default': {'function': ['PWM7'], 'groups':= ['PWM7']}, 'rgmii1_default': {'function': ['RGMII1'], 'groups': ['RGMII1']= }, 'rgmii2_default': {'function': ['RGMII2'], 'groups': ['RGMII2'], 'phandl= e': [[3]]}, 'rmii1_default': {'function': ['RMII1'], 'groups': ['RMII1']}, = 'rmii2_default': {'function': ['RMII2'], 'groups': ['RMII2']}, 'rom16_defau= lt': {'function': ['ROM16'], 'groups': ['ROM16']}, 'rom8_default': {'functi= on': ['ROM8'], 'groups': ['ROM8']}, 'romcs1_default': {'function': ['ROMCS1= '], 'groups': ['ROMCS1']}, 'romcs2_default': {'function': ['ROMCS2'], 'grou= ps': ['ROMCS2']}, 'romcs3_default': {'function': ['ROMCS3'], 'groups': ['RO= MCS3']}, 'romcs4_defaul t': {'function': ['ROMCS4'], 'groups': ['ROMCS4']}, 'rxd1_default': {'func= tion': ['RXD1'], 'groups': ['RXD1'], 'phandle': [[10]]}, 'rxd2_default': {'= function': ['RXD2'], 'groups': ['RXD2']}, 'rxd3_default': {'function': ['RX= D3'], 'groups': ['RXD3'], 'phandle': [[12]]}, 'rxd4_default': {'function': = ['RXD4'], 'groups': ['RXD4'], 'phandle': [[14]]}, 'salt1_default': {'functi= on': ['SALT1'], 'groups': ['SALT1']}, 'salt2_default': {'function': ['SALT2= '], 'groups': ['SALT2']}, 'salt3_default': {'function': ['SALT3'], 'groups'= : ['SALT3']}, 'salt4_default': {'function': ['SALT4'], 'groups': ['SALT4']}= , 'sd1_default': {'function': ['SD1'], 'groups': ['SD1']}, 'sd2_default': {= 'function': ['SD2'], 'groups': ['SD2']}, 'sgpmck_default': {'function': ['S= GPMCK'], 'groups': ['SGPMCK']}, 'sgpmi_default': {'function': ['SGPMI'], 'g= roups': ['SGPMI']}, 'sgpmld_default': {'function': ['SGPMLD'], 'groups': ['= SGPMLD']}, 'sgpmo_default': {'function': ['SGPMO'], 'groups': ['SGPMO']}, '= sgpsck_default': {'func tion': ['SGPSCK'], 'groups': ['SGPSCK']}, 'sgpsi0_default': {'function': [= 'SGPSI0'], 'groups': ['SGPSI0']}, 'sgpsi1_default': {'function': ['SGPSI1']= , 'groups': ['SGPSI1']}, 'sgpsld_default': {'function': ['SGPSLD'], 'groups= ': ['SGPSLD']}, 'sioonctrl_default': {'function': ['SIOONCTRL'], 'groups': = ['SIOONCTRL']}, 'siopbi_default': {'function': ['SIOPBI'], 'groups': ['SIOP= BI']}, 'siopbo_default': {'function': ['SIOPBO'], 'groups': ['SIOPBO']}, 's= iopwreq_default': {'function': ['SIOPWREQ'], 'groups': ['SIOPWREQ']}, 'siop= wrgd_default': {'function': ['SIOPWRGD'], 'groups': ['SIOPWRGD']}, 'sios3_d= efault': {'function': ['SIOS3'], 'groups': ['SIOS3']}, 'sios5_default': {'f= unction': ['SIOS5'], 'groups': ['SIOS5']}, 'siosci_default': {'function': [= 'SIOSCI'], 'groups': ['SIOSCI']}, 'spi1_default': {'function': ['SPI1'], 'g= roups': ['SPI1']}, 'spi1debug_default': {'function': ['SPI1DEBUG'], 'groups= ': ['SPI1DEBUG']}, 'spi1passthru_default': {'function': ['SPI1PASSTHRU'], '= groups': ['SPI1PASSTHRU ']}, 'spics1_default': {'function': ['SPICS1'], 'groups': ['SPICS1']}, 'ti= mer3_default': {'function': ['TIMER3'], 'groups': ['TIMER3']}, 'timer4_defa= ult': {'function': ['TIMER4'], 'groups': ['TIMER4']}, 'timer5_default': {'f= unction': ['TIMER5'], 'groups': ['TIMER5']}, 'timer6_default': {'function':= ['TIMER6'], 'groups': ['TIMER6']}, 'timer7_default': {'function': ['TIMER7= '], 'groups': ['TIMER7']}, 'timer8_default': {'function': ['TIMER8'], 'grou= ps': ['TIMER8']}, 'txd1_default': {'function': ['TXD1'], 'groups': ['TXD1']= , 'phandle': [[9]]}, 'txd2_default': {'function': ['TXD2'], 'groups': ['TXD= 2']}, 'txd3_default': {'function': ['TXD3'], 'groups': ['TXD3'], 'phandle':= [[11]]}, 'txd4_default': {'function': ['TXD4'], 'groups': ['TXD4'], 'phand= le': [[13]]}, 'uart6_default': {'function': ['UART6'], 'groups': ['UART6']}= , 'usbcki_default': {'function': ['USBCKI'], 'groups': ['USBCKI']}, 'usb2h_= default': {'function': ['USB2H1'], 'groups': ['USB2H1'], 'phandle': [[5]]},= 'usb2d_default': {'fun ction': ['USB2D1'], 'groups': ['USB2D1'], 'phandle': [[6]]}, 'vgabios_rom_= default': {'function': ['VGABIOS_ROM'], 'groups': ['VGABIOS_ROM']}, 'vgahs_= default': {'function': ['VGAHS'], 'groups': ['VGAHS']}, 'vgavs_default': {'= function': ['VGAVS'], 'groups': ['VGAVS']}, 'vpi18_default': {'function': [= 'VPI18'], 'groups': ['VPI18']}, 'vpi24_default': {'function': ['VPI24'], 'g= roups': ['VPI24']}, 'vpi30_default': {'function': ['VPI30'], 'groups': ['VP= I30']}, 'vpo12_default': {'function': ['VPO12'], 'groups': ['VPO12']}, 'vpo= 24_default': {'function': ['VPO24'], 'groups': ['VPO24']}, 'wdtrst1_default= ': {'function': ['WDTRST1'], 'groups': ['WDTRST1']}, 'wdtrst2_default': {'f= unction': ['WDTRST2'], 'groups': ['WDTRST2']}}}, 'hwrng@1e6e2078': {'compat= ible': ['timeriomem_rng'], 'reg': [[510533752, 4]], 'period': [[1]], 'quali= ty': [[100]]}, 'adc@1e6e9000': {'compatible': ['aspeed,ast2400-adc'], 'reg'= : [[510562304, 176]], 'clocks': [[2, 26]], 'resets': [[2, 2]], '#io-channel= -cells': [[1]], 'status ': ['okay'], 'phandle': [[29]]}, 'sram@1e720000': {'compatible': ['mmio-sr= am'], 'reg': [[510787584, 32768]]}, 'video@1e700000': {'compatible': ['aspe= ed,ast2400-video-engine'], 'reg': [[510656512, 4096]], 'clocks': [[2, 3], [= 2, 0]], 'clock-names': ['vclk', 'eclk'], 'interrupts': [[7]], 'status': ['d= isabled']}, 'sd-controller@1e740000': {'compatible': ['aspeed,ast2400-sd-co= ntroller'], 'reg': [[510918656, 256]], '#address-cells': [[1]], '#size-cell= s': [[1]], 'ranges': [[0, 510918656, 65536]], 'clocks': [[2, 22]], 'status'= : ['disabled'], 'sdhci@100': {'compatible': ['aspeed,ast2400-sdhci'], 'reg'= : [[256, 256]], 'interrupts': [[26]], 'sdhci,auto-cmd12': True, 'clocks': [= [2, 28]], 'status': ['disabled']}, 'sdhci@200': {'compatible': ['aspeed,ast= 2400-sdhci'], 'reg': [[512, 256]], 'interrupts': [[26]], 'sdhci,auto-cmd12'= : True, 'clocks': [[2, 28]], 'status': ['disabled']}}, 'gpio@1e780000': {'#= gpio-cells': [[2]], 'gpio-controller': True, 'compatible': ['aspeed,ast2400= -gpio'], 'reg': [[51118 0800, 4096]], 'interrupts': [[20]], 'gpio-ranges': [[7, 0, 0, 220]], 'cloc= ks': [[2, 26]], 'interrupt-controller': True, '#interrupt-cells': [[2]]}, '= timer@1e782000': {'compatible': ['aspeed,ast2400-timer'], 'reg': [[51118899= 2, 144]], 'interrupts': [[16], [17], [18], [35], [36], [37], [38], [39]], '= clocks': [[2, 26]], 'clock-names': ['PCLK']}, 'rtc@1e781000': {'compatible'= : ['aspeed,ast2400-rtc'], 'reg': [[511184896, 24]], 'status': ['disabled']}= , 'serial@1e783000': {'compatible': ['ns16550a'], 'reg': [[511193088, 32]],= 'reg-shift': [[2]], 'interrupts': [[9]], 'clocks': [[2, 13]], 'resets': [[= 8, 4]], 'no-loopback-test': True, 'status': ['okay'], 'pinctrl-names': ['de= fault'], 'pinctrl-0': [[9, 10]]}, 'serial@1e784000': {'compatible': ['ns165= 50a'], 'reg': [[511197184, 32]], 'reg-shift': [[2]], 'interrupts': [[10]], = 'clocks': [[2, 15]], 'no-loopback-test': True, 'status': ['okay']}, 'watchd= og@1e785000': {'compatible': ['aspeed,ast2400-wdt'], 'reg': [[511201280, 28= ]], 'clocks': [[2, 26]] , 'status': ['okay'], 'aspeed,reset-type': ['system']}, 'watchdog@1e785020= ': {'compatible': ['aspeed,ast2400-wdt'], 'reg': [[511201312, 28]], 'clocks= ': [[2, 26]], 'status': ['okay'], 'aspeed,reset-type': ['system']}, 'pwm-ta= cho-controller@1e786000': {'compatible': ['aspeed,ast2400-pwm-tacho'], '#ad= dress-cells': [[1]], '#size-cells': [[0]], 'reg': [[511205376, 4096]], 'clo= cks': [[2, 35]], 'resets': [[2, 5]], 'status': ['disabled']}, 'serial@1e787= 000': {'compatible': ['aspeed,ast2400-vuart'], 'reg': [[511209472, 64]], 'r= eg-shift': [[2]], 'interrupts': [[8]], 'clocks': [[2, 26]], 'no-loopback-te= st': True, 'status': ['disabled']}, 'lpc@1e789000': {'compatible': ['aspeed= ,ast2400-lpc-v2', 'simple-mfd', 'syscon'], 'reg': [[511217664, 4096]], 'reg= -io-width': [[4]], '#address-cells': [[1]], '#size-cells': [[1]], 'ranges':= [[0, 511217664, 4096]], 'lpc-ctrl@80': {'compatible': ['aspeed,ast2400-lpc= -ctrl'], 'reg': [[128, 16]], 'clocks': [[2, 8]], 'status': ['disabled']}, '= lpc-snoop@90': {'compat ible': ['aspeed,ast2400-lpc-snoop'], 'reg': [[144, 8]], 'interrupts': [[8]= ], 'clocks': [[2, 8]], 'status': ['disabled']}, 'lhc@a0': {'compatible': ['= aspeed,ast2400-lhc'], 'reg': [[160, 36], [200, 8]]}, 'reset-controller@98':= {'compatible': ['aspeed,ast2400-lpc-reset'], 'reg': [[152, 4]], '#reset-ce= lls': [[1]], 'phandle': [[8]]}, 'ibt@140': {'compatible': ['aspeed,ast2400-= ibt-bmc'], 'reg': [[320, 24]], 'interrupts': [[8]], 'clocks': [[2, 8]], 'st= atus': ['disabled']}, 'uart-routing@9c': {'compatible': ['aspeed,ast2400-ua= rt-routing'], 'reg': [[156, 4]], 'status': ['disabled']}}, 'peci-controller= @1e78b000': {'compatible': ['aspeed,ast2400-peci'], 'reg': [[511225856, 96]= ], 'interrupts': [[15]], 'clocks': [[2, 6]], 'resets': [[2, 6]], 'cmd-timeo= ut-ms': [[1000]], 'clock-frequency': [[1000000]], 'status': ['disabled']}, = 'serial@1e78d000': {'compatible': ['ns16550a'], 'reg': [[511234048, 32]], '= reg-shift': [[2]], 'interrupts': [[32]], 'clocks': [[2, 14]], 'resets': [[8= , 5]], 'no-loopback-tes t': True, 'status': ['disabled']}, 'serial@1e78e000': {'compatible': ['ns1= 6550a'], 'reg': [[511238144, 32]], 'reg-shift': [[2]], 'interrupts': [[33]]= , 'clocks': [[2, 20]], 'resets': [[8, 6]], 'no-loopback-test': True, 'statu= s': ['okay'], 'pinctrl-names': ['default'], 'pinctrl-0': [[11, 12]]}, 'seri= al@1e78f000': {'compatible': ['ns16550a'], 'reg': [[511242240, 32]], 'reg-s= hift': [[2]], 'interrupts': [[34]], 'clocks': [[2, 21]], 'resets': [[8, 7]]= , 'no-loopback-test': True, 'status': ['okay'], 'pinctrl-names': ['default'= ], 'pinctrl-0': [[13, 14, 15]]}, 'bus@1e78a000': {'compatible': ['simple-bu= s'], '#address-cells': [[1]], '#size-cells': [[1]], 'ranges': [[0, 51122176= 0, 4096]], 'interrupt-controller@0': {'#interrupt-cells': [[1]], 'compatibl= e': ['aspeed,ast2400-i2c-ic'], 'reg': [[0, 64]], 'interrupts': [[12]], 'int= errupt-controller': True, 'phandle': [[16]]}, 'i2c-bus@40': {'#address-cell= s': [[1]], '#size-cells': [[0]], '#interrupt-cells': [[1]], 'reg': [[64, 64= ]], 'compatible': ['asp eed,ast2400-i2c-bus'], 'clocks': [[2, 26]], 'resets': [[2, 7]], 'bus-frequ= ency': [[100000]], 'interrupts': [[0]], 'interrupt-parent': [[16]], 'status= ': ['okay']}, 'i2c-bus@80': {'#address-cells': [[1]], '#size-cells': [[0]],= '#interrupt-cells': [[1]], 'reg': [[128, 64]], 'compatible': ['aspeed,ast2= 400-i2c-bus'], 'clocks': [[2, 26]], 'resets': [[2, 7]], 'bus-frequency': [[= 100000]], 'interrupts': [[1]], 'interrupt-parent': [[16]], 'status': ['okay= ']}, 'i2c-bus@c0': {'#address-cells': [[1]], '#size-cells': [[0]], '#interr= upt-cells': [[1]], 'reg': [[192, 64]], 'compatible': ['aspeed,ast2400-i2c-b= us'], 'clocks': [[2, 26]], 'resets': [[2, 7]], 'bus-frequency': [[100000]],= 'interrupts': [[2]], 'interrupt-parent': [[16]], 'pinctrl-names': ['defaul= t'], 'pinctrl-0': [[17]], 'status': ['okay']}, 'i2c-bus@100': {'#address-ce= lls': [[1]], '#size-cells': [[0]], '#interrupt-cells': [[1]], 'reg': [[256,= 64]], 'compatible': ['aspeed,ast2400-i2c-bus'], 'clocks': [[2, 26]], 'rese= ts': [[2, 7]], 'bus-fre quency': [[100000]], 'interrupts': [[3]], 'interrupt-parent': [[16]], 'pin= ctrl-names': ['default'], 'pinctrl-0': [[18]], 'status': ['okay']}, 'i2c-bu= s@140': {'#address-cells': [[1]], '#size-cells': [[0]], '#interrupt-cells':= [[1]], 'reg': [[320, 64]], 'compatible': ['aspeed,ast2400-i2c-bus'], 'cloc= ks': [[2, 26]], 'resets': [[2, 7]], 'bus-frequency': [[100000]], 'interrupt= s': [[4]], 'interrupt-parent': [[16]], 'pinctrl-names': ['default'], 'pinct= rl-0': [[19]], 'status': ['okay']}, 'i2c-bus@180': {'#address-cells': [[1]]= , '#size-cells': [[0]], '#interrupt-cells': [[1]], 'reg': [[384, 64]], 'com= patible': ['aspeed,ast2400-i2c-bus'], 'clocks': [[2, 26]], 'resets': [[2, 7= ]], 'bus-frequency': [[100000]], 'interrupts': [[5]], 'interrupt-parent': [= [16]], 'pinctrl-names': ['default'], 'pinctrl-0': [[20]], 'status': ['okay'= ]}, 'i2c-bus@1c0': {'#address-cells': [[1]], '#size-cells': [[0]], '#interr= upt-cells': [[1]], 'reg': [[448, 64]], 'compatible': ['aspeed,ast2400-i2c-b= us'], 'clocks': [[2, 26 ]], 'resets': [[2, 7]], 'bus-frequency': [[100000]], 'interrupts': [[6]], = 'interrupt-parent': [[16]], 'pinctrl-names': ['default'], 'pinctrl-0': [[21= ]], 'status': ['okay']}, 'i2c-bus@300': {'#address-cells': [[1]], '#size-ce= lls': [[0]], '#interrupt-cells': [[1]], 'reg': [[768, 64]], 'compatible': [= 'aspeed,ast2400-i2c-bus'], 'clocks': [[2, 26]], 'resets': [[2, 7]], 'bus-fr= equency': [[100000]], 'interrupts': [[7]], 'interrupt-parent': [[16]], 'pin= ctrl-names': ['default'], 'pinctrl-0': [[22]], 'status': ['okay']}, 'i2c-bu= s@340': {'#address-cells': [[1]], '#size-cells': [[0]], '#interrupt-cells':= [[1]], 'reg': [[832, 64]], 'compatible': ['aspeed,ast2400-i2c-bus'], 'cloc= ks': [[2, 26]], 'resets': [[2, 7]], 'bus-frequency': [[100000]], 'interrupt= s': [[8]], 'interrupt-parent': [[16]], 'pinctrl-names': ['default'], 'pinct= rl-0': [[23]], 'status': ['okay']}, 'i2c-bus@380': {'#address-cells': [[1]]= , '#size-cells': [[0]], '#interrupt-cells': [[1]], 'reg': [[896, 64]], 'com= patible': ['aspeed,ast2 400-i2c-bus'], 'clocks': [[2, 26]], 'resets': [[2, 7]], 'bus-frequency': [= [100000]], 'interrupts': [[9]], 'interrupt-parent': [[16]], 'pinctrl-names'= : ['default'], 'pinctrl-0': [[24]], 'status': ['okay']}, 'i2c-bus@3c0': {'#= address-cells': [[1]], '#size-cells': [[0]], '#interrupt-cells': [[1]], 're= g': [[960, 64]], 'compatible': ['aspeed,ast2400-i2c-bus'], 'clocks': [[2, 2= 6]], 'resets': [[2, 7]], 'bus-frequency': [[100000]], 'interrupts': [[10]],= 'interrupt-parent': [[16]], 'pinctrl-names': ['default'], 'pinctrl-0': [[2= 5]], 'status': ['disabled']}, 'i2c-bus@400': {'#address-cells': [[1]], '#si= ze-cells': [[0]], '#interrupt-cells': [[1]], 'reg': [[1024, 64]], 'compatib= le': ['aspeed,ast2400-i2c-bus'], 'clocks': [[2, 26]], 'resets': [[2, 7]], '= bus-frequency': [[100000]], 'interrupts': [[11]], 'interrupt-parent': [[16]= ], 'pinctrl-names': ['default'], 'pinctrl-0': [[26]], 'status': ['okay']}, = 'i2c-bus@440': {'#address-cells': [[1]], '#size-cells': [[0]], '#interrupt-= cells': [[1]], 'reg': [ [1088, 64]], 'compatible': ['aspeed,ast2400-i2c-bus'], 'clocks': [[2, 26]]= , 'resets': [[2, 7]], 'bus-frequency': [[100000]], 'interrupts': [[12]], 'i= nterrupt-parent': [[16]], 'pinctrl-names': ['default'], 'pinctrl-0': [[27]]= , 'status': ['okay']}, 'i2c-bus@480': {'#address-cells': [[1]], '#size-cell= s': [[0]], '#interrupt-cells': [[1]], 'reg': [[1152, 64]], 'compatible': ['= aspeed,ast2400-i2c-bus'], 'clocks': [[2, 26]], 'resets': [[2, 7]], 'bus-fre= quency': [[100000]], 'interrupts': [[13]], 'interrupt-parent': [[16]], 'pin= ctrl-names': ['default'], 'pinctrl-0': [[28]], 'status': ['disabled']}}} sh= ould not be valid under {'type': 'object'} Cc: Andrew Geissler Cc: Krzysztof Kozlowski Cc: Rob Herring (Arm) Cc: Ryan Chen Cc: Troy Lee Link: https://github.com/devicetree-org/dt-schema/blob/c51125d571cac9596048= e888a856d70650e400e0/dtschema/schemas/simple-bus.yaml#L35-L36 [1] Link: https://github.com/openbmc/phosphor-state-manager/issues/27 [2] Link: https://lore.kernel.org/all/20240531193115.3814887-1-robh@kernel.org/= [3] Link: https://lore.kernel.org/all/8dabf3d1-2d23-4adc-a804-2b7aa5fe16e9@kern= el.org/ [4] Signed-off-by: Andrew Jeffery --- If there are alternative approaches then I'm interested in hearing about them, but from what I can see we're going to have a bit of turbulence for some OpenBMC userspace no matter what. --- arch/arm/boot/dts/aspeed/aspeed-g4.dtsi | 93 +++++++----- arch/arm/boot/dts/aspeed/aspeed-g5.dtsi | 109 ++++++++------ arch/arm/boot/dts/aspeed/aspeed-g6.dtsi | 249 ++++++++++++++++++----------= ---- 3 files changed, 251 insertions(+), 200 deletions(-) diff --git a/arch/arm/boot/dts/aspeed/aspeed-g4.dtsi b/arch/arm/boot/dts/as= peed/aspeed-g4.dtsi index 78c967812492..7b1982c116f1 100644 --- a/arch/arm/boot/dts/aspeed/aspeed-g4.dtsi +++ b/arch/arm/boot/dts/aspeed/aspeed-g4.dtsi @@ -179,8 +179,9 @@ vhub: usb-vhub@1e6a0000 { status =3D "disabled"; }; =20 - apb { + apb@1e6e0000 { compatible =3D "simple-bus"; + reg =3D <0x1e6e0000 0x00010000>; #address-cells =3D <1>; #size-cells =3D <1>; ranges; @@ -226,52 +227,62 @@ adc: adc@1e6e9000 { #io-channel-cells =3D <1>; status =3D "disabled"; }; + }; =20 - sram: sram@1e720000 { - compatible =3D "mmio-sram"; - reg =3D <0x1e720000 0x8000>; // 32K - ranges; - #address-cells =3D <1>; - #size-cells =3D <1>; - }; + /* There's another APB mapping at 0x1e6f0000 for 0x00010000 */ + + sram: sram@1e720000 { + compatible =3D "mmio-sram"; + reg =3D <0x1e720000 0x8000>; // 32K + ranges; + #address-cells =3D <1>; + #size-cells =3D <1>; + }; + + video: video@1e700000 { + compatible =3D "aspeed,ast2400-video-engine"; + reg =3D <0x1e700000 0x1000>; + clocks =3D <&syscon ASPEED_CLK_GATE_VCLK>, + <&syscon ASPEED_CLK_GATE_ECLK>; + clock-names =3D "vclk", "eclk"; + interrupts =3D <7>; + status =3D "disabled"; + }; + + sdmmc: sd-controller@1e740000 { + compatible =3D "aspeed,ast2400-sd-controller"; + reg =3D <0x1e740000 0x100>; + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges =3D <0 0x1e740000 0x10000>; + clocks =3D <&syscon ASPEED_CLK_GATE_SDCLK>; + status =3D "disabled"; =20 - video: video@1e700000 { - compatible =3D "aspeed,ast2400-video-engine"; - reg =3D <0x1e700000 0x1000>; - clocks =3D <&syscon ASPEED_CLK_GATE_VCLK>, - <&syscon ASPEED_CLK_GATE_ECLK>; - clock-names =3D "vclk", "eclk"; - interrupts =3D <7>; + sdhci0: sdhci@100 { + compatible =3D "aspeed,ast2400-sdhci"; + reg =3D <0x100 0x100>; + interrupts =3D <26>; + sdhci,auto-cmd12; + clocks =3D <&syscon ASPEED_CLK_SDIO>; status =3D "disabled"; }; =20 - sdmmc: sd-controller@1e740000 { - compatible =3D "aspeed,ast2400-sd-controller"; - reg =3D <0x1e740000 0x100>; - #address-cells =3D <1>; - #size-cells =3D <1>; - ranges =3D <0 0x1e740000 0x10000>; - clocks =3D <&syscon ASPEED_CLK_GATE_SDCLK>; + sdhci1: sdhci@200 { + compatible =3D "aspeed,ast2400-sdhci"; + reg =3D <0x200 0x100>; + interrupts =3D <26>; + sdhci,auto-cmd12; + clocks =3D <&syscon ASPEED_CLK_SDIO>; status =3D "disabled"; - - sdhci0: sdhci@100 { - compatible =3D "aspeed,ast2400-sdhci"; - reg =3D <0x100 0x100>; - interrupts =3D <26>; - sdhci,auto-cmd12; - clocks =3D <&syscon ASPEED_CLK_SDIO>; - status =3D "disabled"; - }; - - sdhci1: sdhci@200 { - compatible =3D "aspeed,ast2400-sdhci"; - reg =3D <0x200 0x100>; - interrupts =3D <26>; - sdhci,auto-cmd12; - clocks =3D <&syscon ASPEED_CLK_SDIO>; - status =3D "disabled"; - }; }; + }; + + apb@1e780000 { + compatible =3D "simple-bus"; + reg =3D <0x1e780000 0x00010000>; + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges; =20 gpio: gpio@1e780000 { #gpio-cells =3D <2>; @@ -454,6 +465,8 @@ i2c: bus@1e78a000 { ranges =3D <0 0x1e78a000 0x1000>; }; }; + + /* There's another APB mapping at 0x1e790000 for 0x00010000 */ }; }; =20 diff --git a/arch/arm/boot/dts/aspeed/aspeed-g5.dtsi b/arch/arm/boot/dts/as= peed/aspeed-g5.dtsi index 57a699a7c149..c4d7986cd357 100644 --- a/arch/arm/boot/dts/aspeed/aspeed-g5.dtsi +++ b/arch/arm/boot/dts/aspeed/aspeed-g5.dtsi @@ -207,8 +207,9 @@ vhub: usb-vhub@1e6a0000 { status =3D "disabled"; }; =20 - apb { + apb@1e6e0000 { compatible =3D "simple-bus"; + reg =3D <0x1e6e0000 0x00010000>; #address-cells =3D <1>; #size-cells =3D <1>; ranges; @@ -289,53 +290,63 @@ adc: adc@1e6e9000 { #io-channel-cells =3D <1>; status =3D "disabled"; }; + }; =20 - video: video@1e700000 { - compatible =3D "aspeed,ast2500-video-engine"; - reg =3D <0x1e700000 0x1000>; - clocks =3D <&syscon ASPEED_CLK_GATE_VCLK>, - <&syscon ASPEED_CLK_GATE_ECLK>; - clock-names =3D "vclk", "eclk"; - interrupts =3D <7>; - status =3D "disabled"; - }; + /* There's another APB mapping at 0x1e6f0000 for 0x00010000 */ =20 - sram: sram@1e720000 { - compatible =3D "mmio-sram"; - reg =3D <0x1e720000 0x9000>; // 36K - ranges; - #address-cells =3D <1>; - #size-cells =3D <1>; - }; + video: video@1e700000 { + compatible =3D "aspeed,ast2500-video-engine"; + reg =3D <0x1e700000 0x1000>; + clocks =3D <&syscon ASPEED_CLK_GATE_VCLK>, + <&syscon ASPEED_CLK_GATE_ECLK>; + clock-names =3D "vclk", "eclk"; + interrupts =3D <7>; + status =3D "disabled"; + }; =20 - sdmmc: sd-controller@1e740000 { - compatible =3D "aspeed,ast2500-sd-controller"; - reg =3D <0x1e740000 0x100>; - #address-cells =3D <1>; - #size-cells =3D <1>; - ranges =3D <0 0x1e740000 0x10000>; - clocks =3D <&syscon ASPEED_CLK_GATE_SDCLK>; - status =3D "disabled"; + sram: sram@1e720000 { + compatible =3D "mmio-sram"; + reg =3D <0x1e720000 0x9000>; // 36K + ranges; + #address-cells =3D <1>; + #size-cells =3D <1>; + }; =20 - sdhci0: sdhci@100 { - compatible =3D "aspeed,ast2500-sdhci"; - reg =3D <0x100 0x100>; - interrupts =3D <26>; - sdhci,auto-cmd12; - clocks =3D <&syscon ASPEED_CLK_SDIO>; - status =3D "disabled"; - }; + sdmmc: sd-controller@1e740000 { + compatible =3D "aspeed,ast2500-sd-controller"; + reg =3D <0x1e740000 0x100>; + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges =3D <0 0x1e740000 0x10000>; + clocks =3D <&syscon ASPEED_CLK_GATE_SDCLK>; + status =3D "disabled"; =20 - sdhci1: sdhci@200 { - compatible =3D "aspeed,ast2500-sdhci"; - reg =3D <0x200 0x100>; - interrupts =3D <26>; - sdhci,auto-cmd12; - clocks =3D <&syscon ASPEED_CLK_SDIO>; - status =3D "disabled"; - }; + sdhci0: sdhci@100 { + compatible =3D "aspeed,ast2500-sdhci"; + reg =3D <0x100 0x100>; + interrupts =3D <26>; + sdhci,auto-cmd12; + clocks =3D <&syscon ASPEED_CLK_SDIO>; + status =3D "disabled"; }; =20 + sdhci1: sdhci@200 { + compatible =3D "aspeed,ast2500-sdhci"; + reg =3D <0x200 0x100>; + interrupts =3D <26>; + sdhci,auto-cmd12; + clocks =3D <&syscon ASPEED_CLK_SDIO>; + status =3D "disabled"; + }; + }; + + apb@1e780000 { + compatible =3D "simple-bus"; + reg =3D <0x1e780000 0x00010000>; + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges; + gpio: gpio@1e780000 { #gpio-cells =3D <2>; gpio-controller; @@ -521,6 +532,13 @@ ibt: ibt@140 { }; }; =20 + i2c: bus@1e78a000 { + compatible =3D "simple-bus"; + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges =3D <0 0x1e78a000 0x1000>; + }; + peci0: peci-controller@1e78b000 { compatible =3D "aspeed,ast2500-peci"; reg =3D <0x1e78b000 0x60>; @@ -564,14 +582,9 @@ uart4: serial@1e78f000 { no-loopback-test; status =3D "disabled"; }; - - i2c: bus@1e78a000 { - compatible =3D "simple-bus"; - #address-cells =3D <1>; - #size-cells =3D <1>; - ranges =3D <0 0x1e78a000 0x1000>; - }; }; + + /* There's another APB mapping at 0x1e790000 for 0x00010000 */ }; }; =20 diff --git a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi b/arch/arm/boot/dts/as= peed/aspeed-g6.dtsi index 8ed715bd53aa..88e719cc19bb 100644 --- a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi +++ b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi @@ -318,20 +318,21 @@ udc: usb@1e6a2000 { status =3D "disabled"; }; =20 - apb { + hace: crypto@1e6d0000 { + compatible =3D "aspeed,ast2600-hace"; + reg =3D <0x1e6d0000 0x200>; + interrupts =3D ; + clocks =3D <&syscon ASPEED_CLK_GATE_YCLK>; + resets =3D <&syscon ASPEED_RESET_HACE>; + }; + + apb@1e6e0000 { compatible =3D "simple-bus"; + reg =3D <0x1e6e0000 0x00010000>; #address-cells =3D <1>; #size-cells =3D <1>; ranges; =20 - hace: crypto@1e6d0000 { - compatible =3D "aspeed,ast2600-hace"; - reg =3D <0x1e6d0000 0x200>; - interrupts =3D ; - clocks =3D <&syscon ASPEED_CLK_GATE_YCLK>; - resets =3D <&syscon ASPEED_RESET_HACE>; - }; - syscon: syscon@1e6e2000 { compatible =3D "aspeed,ast2600-scu", "syscon", "simple-mfd"; reg =3D <0x1e6e2000 0x1000>; @@ -409,6 +410,14 @@ adc1: adc@1e6e9100 { #io-channel-cells =3D <1>; status =3D "disabled"; }; + }; + + apb@1e6f0000 { + compatible =3D "simple-bus"; + reg =3D <0x1e6f0000 0x00010000>; + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges; =20 sbc: secure-boot-controller@1e6f2000 { compatible =3D "aspeed,ast2600-sbc"; @@ -422,17 +431,73 @@ acry: crypto@1e6fa000 { clocks =3D <&syscon ASPEED_CLK_GATE_RSACLK>; aspeed,ahbc =3D <&ahbc>; }; + }; + + video: video@1e700000 { + compatible =3D "aspeed,ast2600-video-engine"; + reg =3D <0x1e700000 0x1000>; + clocks =3D <&syscon ASPEED_CLK_GATE_VCLK>, + <&syscon ASPEED_CLK_GATE_ECLK>; + clock-names =3D "vclk", "eclk"; + interrupts =3D ; + status =3D "disabled"; + }; + + sdc: sdc@1e740000 { + compatible =3D "aspeed,ast2600-sd-controller"; + reg =3D <0x1e740000 0x100>; + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges =3D <0 0x1e740000 0x10000>; + clocks =3D <&syscon ASPEED_CLK_GATE_SDCLK>; + status =3D "disabled"; =20 - video: video@1e700000 { - compatible =3D "aspeed,ast2600-video-engine"; - reg =3D <0x1e700000 0x1000>; - clocks =3D <&syscon ASPEED_CLK_GATE_VCLK>, - <&syscon ASPEED_CLK_GATE_ECLK>; - clock-names =3D "vclk", "eclk"; - interrupts =3D ; + sdhci0: sdhci@1e740100 { + compatible =3D "aspeed,ast2600-sdhci", "sdhci"; + reg =3D <0x100 0x100>; + interrupts =3D ; + sdhci,auto-cmd12; + clocks =3D <&syscon ASPEED_CLK_SDIO>; status =3D "disabled"; }; =20 + sdhci1: sdhci@1e740200 { + compatible =3D "aspeed,ast2600-sdhci", "sdhci"; + reg =3D <0x200 0x100>; + interrupts =3D ; + sdhci,auto-cmd12; + clocks =3D <&syscon ASPEED_CLK_SDIO>; + status =3D "disabled"; + }; + }; + + emmc_controller: sdc@1e750000 { + compatible =3D "aspeed,ast2600-sd-controller"; + reg =3D <0x1e750000 0x100>; + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges =3D <0 0x1e750000 0x10000>; + clocks =3D <&syscon ASPEED_CLK_GATE_EMMCCLK>; + status =3D "disabled"; + + emmc: sdhci@1e750100 { + compatible =3D "aspeed,ast2600-sdhci"; + reg =3D <0x100 0x100>; + sdhci,auto-cmd12; + interrupts =3D ; + clocks =3D <&syscon ASPEED_CLK_EMMC>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pinctrl_emmc_default>; + }; + }; + + apb@1e780000 { + compatible =3D "simple-bus"; + reg =3D <0x1e780000 0x00010000>; + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges; + gpio0: gpio@1e780000 { #gpio-cells =3D <2>; gpio-controller; @@ -558,14 +623,43 @@ wdt4: watchdog@1e7850c0 { status =3D "disabled"; }; =20 - peci0: peci-controller@1e78b000 { - compatible =3D "aspeed,ast2600-peci"; - reg =3D <0x1e78b000 0x100>; - interrupts =3D ; - clocks =3D <&syscon ASPEED_CLK_GATE_REF0CLK>; - resets =3D <&syscon ASPEED_RESET_PECI>; - cmd-timeout-ms =3D <1000>; - clock-frequency =3D <1000000>; + vuart1: serial@1e787000 { + compatible =3D "aspeed,ast2500-vuart"; + reg =3D <0x1e787000 0x40>; + reg-shift =3D <2>; + interrupts =3D ; + clocks =3D <&syscon ASPEED_CLK_APB1>; + no-loopback-test; + status =3D "disabled"; + }; + + vuart3: serial@1e787800 { + compatible =3D "aspeed,ast2500-vuart"; + reg =3D <0x1e787800 0x40>; + reg-shift =3D <2>; + interrupts =3D ; + clocks =3D <&syscon ASPEED_CLK_APB2>; + no-loopback-test; + status =3D "disabled"; + }; + + vuart2: serial@1e788000 { + compatible =3D "aspeed,ast2500-vuart"; + reg =3D <0x1e788000 0x40>; + reg-shift =3D <2>; + interrupts =3D ; + clocks =3D <&syscon ASPEED_CLK_APB1>; + no-loopback-test; + status =3D "disabled"; + }; + + vuart4: serial@1e788800 { + compatible =3D "aspeed,ast2500-vuart"; + reg =3D <0x1e788800 0x40>; + reg-shift =3D <2>; + interrupts =3D ; + clocks =3D <&syscon ASPEED_CLK_APB2>; + no-loopback-test; status =3D "disabled"; }; =20 @@ -652,91 +746,21 @@ ibt: ibt@140 { }; }; =20 - sdc: sdc@1e740000 { - compatible =3D "aspeed,ast2600-sd-controller"; - reg =3D <0x1e740000 0x100>; - #address-cells =3D <1>; - #size-cells =3D <1>; - ranges =3D <0 0x1e740000 0x10000>; - clocks =3D <&syscon ASPEED_CLK_GATE_SDCLK>; - status =3D "disabled"; - - sdhci0: sdhci@1e740100 { - compatible =3D "aspeed,ast2600-sdhci", "sdhci"; - reg =3D <0x100 0x100>; - interrupts =3D ; - sdhci,auto-cmd12; - clocks =3D <&syscon ASPEED_CLK_SDIO>; - status =3D "disabled"; - }; - - sdhci1: sdhci@1e740200 { - compatible =3D "aspeed,ast2600-sdhci", "sdhci"; - reg =3D <0x200 0x100>; - interrupts =3D ; - sdhci,auto-cmd12; - clocks =3D <&syscon ASPEED_CLK_SDIO>; - status =3D "disabled"; - }; - }; - - emmc_controller: sdc@1e750000 { - compatible =3D "aspeed,ast2600-sd-controller"; - reg =3D <0x1e750000 0x100>; + i2c: bus@1e78a000 { + compatible =3D "simple-bus"; #address-cells =3D <1>; #size-cells =3D <1>; - ranges =3D <0 0x1e750000 0x10000>; - clocks =3D <&syscon ASPEED_CLK_GATE_EMMCCLK>; - status =3D "disabled"; - - emmc: sdhci@1e750100 { - compatible =3D "aspeed,ast2600-sdhci"; - reg =3D <0x100 0x100>; - sdhci,auto-cmd12; - interrupts =3D ; - clocks =3D <&syscon ASPEED_CLK_EMMC>; - pinctrl-names =3D "default"; - pinctrl-0 =3D <&pinctrl_emmc_default>; - }; - }; - - vuart1: serial@1e787000 { - compatible =3D "aspeed,ast2500-vuart"; - reg =3D <0x1e787000 0x40>; - reg-shift =3D <2>; - interrupts =3D ; - clocks =3D <&syscon ASPEED_CLK_APB1>; - no-loopback-test; - status =3D "disabled"; - }; - - vuart3: serial@1e787800 { - compatible =3D "aspeed,ast2500-vuart"; - reg =3D <0x1e787800 0x40>; - reg-shift =3D <2>; - interrupts =3D ; - clocks =3D <&syscon ASPEED_CLK_APB2>; - no-loopback-test; - status =3D "disabled"; - }; - - vuart2: serial@1e788000 { - compatible =3D "aspeed,ast2500-vuart"; - reg =3D <0x1e788000 0x40>; - reg-shift =3D <2>; - interrupts =3D ; - clocks =3D <&syscon ASPEED_CLK_APB1>; - no-loopback-test; - status =3D "disabled"; + ranges =3D <0 0x1e78a000 0x1000>; }; =20 - vuart4: serial@1e788800 { - compatible =3D "aspeed,ast2500-vuart"; - reg =3D <0x1e788800 0x40>; - reg-shift =3D <2>; - interrupts =3D ; - clocks =3D <&syscon ASPEED_CLK_APB2>; - no-loopback-test; + peci0: peci-controller@1e78b000 { + compatible =3D "aspeed,ast2600-peci"; + reg =3D <0x1e78b000 0x100>; + interrupts =3D ; + clocks =3D <&syscon ASPEED_CLK_GATE_REF0CLK>; + resets =3D <&syscon ASPEED_RESET_PECI>; + cmd-timeout-ms =3D <1000>; + clock-frequency =3D <1000000>; status =3D "disabled"; }; =20 @@ -781,6 +805,14 @@ uart4: serial@1e78f000 { pinctrl-0 =3D <&pinctrl_txd4_default &pinctrl_rxd4_default>; status =3D "disabled"; }; + }; + + apb@1e790000 { + compatible =3D "simple-bus"; + reg =3D <0x1e790000 0x00010000>; + #address-cells =3D <1>; + #size-cells =3D <1>; + ranges; =20 uart6: serial@1e790000 { compatible =3D "ns16550a"; @@ -838,13 +870,6 @@ uart9: serial@1e790300 { status =3D "disabled"; }; =20 - i2c: bus@1e78a000 { - compatible =3D "simple-bus"; - #address-cells =3D <1>; - #size-cells =3D <1>; - ranges =3D <0 0x1e78a000 0x1000>; - }; - fsim0: fsi@1e79b000 { #interrupt-cells =3D <1>; compatible =3D "aspeed,ast2600-fsi-master", "fsi-master"; --- base-commit: 6152cce5900f9cc70e62dabafa9c8b74db2d2e38 change-id: 20240821-dt-warnings-apb-nodes-3bd83b27c08c Best regards, --=20 Andrew Jeffery