On 11/05/2023 15:19, Ding, Shenghao wrote: > > On 11/05/2023 07:49, Mark Brown wrote: >>> Missing minItems, but... >> >>>> + items: >>>> + minimum: 0x38 >>>> + maximum: 0x3f >> >>> ... So these are fixed? No need to encode them in such case... >> >> I'm not sure I understand your concern here, there's up to 4 possible >> values from 0x38-0x3f which has more than 4 possible values. > > Aren't the addresses going to be incremented by one (up to 8 of devices in total)? With your style of replies, it looks like you wrote it... All the addresses of tas2781 are in range from 0x38 to 0x 3f, the order of them in the audio-slots item are up to the hardware connections. I have studied the reg item to save multiple i2c addresses for multiple pieces of tas2781 and found that "'#address-cells': maximum: 3" that means "reg" store not more than three addresses, this can't support the more than 3 pieces of tas2781, such as 4-slot TDM case or multiple dual-membrane speakers case, in such a case, one speaker will use two pieces of tas2781 to boost, usually at least 6 pieces of tas2781 will be used in a laptop or other device. > > No, the i2c address order is not always monotonic increase or decrease, sometime it would be disorder, according to the application. > Each device would have eight possible i2c address, the final address depends on the hardware connections. OK, the question about the broadcast is still there - cannot it be deduced? The reason to define this item and add it in dts is that tell tas2781 driver code to enable broadcast and its address. Removing this item means disabling broadcast. Do you want to hardcode the global address in the code? And this item only used as a flag to enable or disable? Best regards, Krzysztof